From 1571007161889fa6a803c8e7df9226f1889b1bb4 Mon Sep 17 00:00:00 2001 From: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com> Date: Thu, 9 May 2024 15:02:05 +0100 Subject: [PATCH 001/178] Fix bed mesh algorithm for 3 point bicubic algorightm (#5296) * Fix bed mesh algorithm for 3 point bicubic algorightm * Corrected + to * * Amended algo to mirror KAMP * Updated from feedbacl --- src/libslic3r/GCode.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index fc368eeca55..f65fabe5aad 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2352,11 +2352,17 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato auto probe_dist_y = std::max(1., m_config.bed_mesh_probe_distance.value.y()); int probe_count_x = std::max(3, (int) std::ceil(mesh_bbox.size().x() / probe_dist_x)); int probe_count_y = std::max(3, (int) std::ceil(mesh_bbox.size().y() / probe_dist_y)); - this->placeholder_parser().set("bed_mesh_probe_count", new ConfigOptionInts({probe_count_x, probe_count_y})); auto bed_mesh_algo = "bicubic"; - if (probe_count_x < 4 || probe_count_y < 4) { + if (probe_count_x * probe_count_y <= 6) { // lagrange needs up to a total of 6 mesh points bed_mesh_algo = "lagrange"; } + else + if(print.config().gcode_flavor == gcfKlipper){ + // bicubic needs 4 probe points per axis + probe_count_x = std::max(probe_count_x,4); + probe_count_y = std::max(probe_count_y,4); + } + this->placeholder_parser().set("bed_mesh_probe_count", new ConfigOptionInts({probe_count_x, probe_count_y})); this->placeholder_parser().set("bed_mesh_algo", bed_mesh_algo); // get center without wipe tower BoundingBoxf bbox_wo_wt; // bounding box without wipe tower From 8376fee0fa87a2a82ccd6900c10d657bf09d6342 Mon Sep 17 00:00:00 2001 From: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com> Date: Thu, 9 May 2024 16:21:06 +0100 Subject: [PATCH 002/178] SEMM: Introduced parameter to control the maximum speed used for purging in the purge tower (#5304) * Max wipe tower purge print speed for SEMM * Max wipe tower purge print speed for SEMM * Merge branch 'dev-branch' of https://github.com/igiannakas/OrcaSlicer into dev-branch * Updated float calculation * Updated float calculation * Updated tooltip * Updated label --- src/libslic3r/GCode/WipeTower2.cpp | 5 +++-- src/libslic3r/GCode/WipeTower2.hpp | 1 + src/libslic3r/Preset.cpp | 2 +- src/libslic3r/Print.cpp | 1 + src/libslic3r/PrintConfig.cpp | 12 ++++++++++++ src/libslic3r/PrintConfig.hpp | 1 + src/slic3r/GUI/ConfigManipulation.cpp | 2 +- src/slic3r/GUI/Plater.cpp | 2 +- src/slic3r/GUI/Tab.cpp | 1 + 9 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/libslic3r/GCode/WipeTower2.cpp b/src/libslic3r/GCode/WipeTower2.cpp index 5dd5fa0f636..0013cb99ccf 100644 --- a/src/libslic3r/GCode/WipeTower2.cpp +++ b/src/libslic3r/GCode/WipeTower2.cpp @@ -550,7 +550,8 @@ WipeTower2::WipeTower2(const PrintConfig& config, const PrintRegionConfig& defau m_infill_speed(default_region_config.sparse_infill_speed), m_perimeter_speed(default_region_config.inner_wall_speed), m_current_tool(initial_tool), - wipe_volumes(wiping_matrix) + wipe_volumes(wiping_matrix), + m_wipe_tower_max_purge_speed(float(config.wipe_tower_max_purge_speed)) { // Read absolute value of first layer speed, if given as percentage, // it is taken over following default. Speeds from config are not @@ -1099,7 +1100,7 @@ void WipeTower2::toolchange_Wipe( // All the calculations in all other places take the spacing into account for all the layers. // If spare layers are excluded->if 1 or less toolchange has been done, it must be sill the first layer, too.So slow down. - const float target_speed = is_first_layer() || (m_num_tool_changes <= 1 && m_no_sparse_layers) ? m_first_layer_speed * 60.f : std::min(5400.f, m_infill_speed * 60.f); + const float target_speed = is_first_layer() || (m_num_tool_changes <= 1 && m_no_sparse_layers) ? m_first_layer_speed * 60.f : std::min(m_wipe_tower_max_purge_speed * 60.f, m_infill_speed * 60.f); float wipe_speed = 0.33f * target_speed; // if there is less than 2.5*m_perimeter_width to the edge, advance straightaway (there is likely a blob anyway) diff --git a/src/libslic3r/GCode/WipeTower2.hpp b/src/libslic3r/GCode/WipeTower2.hpp index 8fd5d5de319..cb1c11b4e97 100644 --- a/src/libslic3r/GCode/WipeTower2.hpp +++ b/src/libslic3r/GCode/WipeTower2.hpp @@ -189,6 +189,7 @@ private: int m_old_temperature = -1; // To keep track of what was the last temp that we set (so we don't issue the command when not neccessary) float m_travel_speed = 0.f; float m_infill_speed = 0.f; + float m_wipe_tower_max_purge_speed = 90.f; float m_perimeter_speed = 0.f; float m_first_layer_speed = 0.f; size_t m_first_layer_idx = size_t(-1); diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index a5f4a2f4f51..f6426739dec 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -816,7 +816,7 @@ static std::vector s_Preset_print_options { "tree_support_brim_width", "gcode_comments", "gcode_label_objects", "initial_layer_travel_speed", "exclude_object", "slow_down_layers", "infill_anchor", "infill_anchor_max","initial_layer_min_bead_width", "make_overhang_printable", "make_overhang_printable_angle", "make_overhang_printable_hole_size" ,"notes", - "wipe_tower_cone_angle", "wipe_tower_extra_spacing", "wipe_tower_extruder", "wiping_volumes_extruders","wipe_tower_bridging", "single_extruder_multi_material_priming", + "wipe_tower_cone_angle", "wipe_tower_extra_spacing","wipe_tower_max_purge_speed", "wipe_tower_extruder", "wiping_volumes_extruders","wipe_tower_bridging", "single_extruder_multi_material_priming", "wipe_tower_rotation_angle", "tree_support_branch_distance_organic", "tree_support_branch_diameter_organic", "tree_support_branch_angle_organic", "hole_to_polyhole", "hole_to_polyhole_threshold", "hole_to_polyhole_twisted", "mmu_segmented_region_max_width", "mmu_segmented_region_interlocking_depth", "small_area_infill_flow_compensation", "small_area_infill_flow_compensation_model", diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 9dfe1f96596..93bbc7c94ba 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -304,6 +304,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n || opt_key == "slow_down_layers" || opt_key == "wipe_tower_cone_angle" || opt_key == "wipe_tower_extra_spacing" + || opt_key == "wipe_tower_max_purge_speed" || opt_key == "wipe_tower_extruder" || opt_key == "wiping_volumes_extruders" || opt_key == "enable_filament_ramming" diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 8f5e000ed0d..07b461e60cb 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -4757,6 +4757,18 @@ def = this->add("filament_loading_speed", coFloats); def->min = 100.; def->max = 300.; def->set_default_value(new ConfigOptionPercent(100.)); + + def = this->add("wipe_tower_max_purge_speed", coFloat); + def->label = L("Maximum print speed when purging"); + def->tooltip = L("The maximum print speed when purging in the wipe tower. If the sparse infill speed " + "or calculated speed from the filament max volumetric speed is lower, the lowest speed will be used instead.\n" + "Increasing this speed may affect the tower's stability, as purging can be performed over " + "sparse layers. Before increasing this parameter beyond the default of 90mm/sec, make sure your printer can reliably " + "bridge at the increased speeds."); + def->sidetext = L("mm/s"); + def->mode = comAdvanced; + def->min = 10; + def->set_default_value(new ConfigOptionFloat(90.)); def = this->add("wipe_tower_extruder", coInt); def->label = L("Wipe tower extruder"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 7630cbe598d..74d630004d6 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -1240,6 +1240,7 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE( // Orca: mmu support ((ConfigOptionFloat, wipe_tower_cone_angle)) ((ConfigOptionPercent, wipe_tower_extra_spacing)) + ((ConfigOptionFloat, wipe_tower_max_purge_speed)) ((ConfigOptionInt, wipe_tower_extruder)) ((ConfigOptionFloats, wiping_volumes_extruders)) diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index d871e7cbcf2..db020324519 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -678,7 +678,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co 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", "wipe_tower_extra_spacing", "wipe_tower_bridging", "wipe_tower_no_sparse_layers"}) + for (auto el : {"wipe_tower_rotation_angle", "wipe_tower_cone_angle", "wipe_tower_extra_spacing", "wipe_tower_max_purge_speed", "wipe_tower_bridging", "wipe_tower_no_sparse_layers"}) toggle_line(el, have_prime_tower && purge_in_primetower); toggle_line("prime_volume",have_prime_tower && !purge_in_primetower); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index cdeae514fc4..f812ae2b069 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2706,7 +2706,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) "brim_width", "wall_loops", "wall_filament", "sparse_infill_density", "sparse_infill_filament", "top_shell_layers", "enable_support", "support_filament", "support_interface_filament", "support_top_z_distance", "support_bottom_z_distance", "raft_layers", - "wipe_tower_rotation_angle", "wipe_tower_cone_angle", "wipe_tower_extra_spacing", "wipe_tower_extruder", + "wipe_tower_rotation_angle", "wipe_tower_cone_angle", "wipe_tower_extra_spacing","wipe_tower_max_purge_speed", "wipe_tower_extruder", "best_object_pos" })) , sidebar(new Sidebar(q)) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index c0f2c02d3cc..01f7c8adaca 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2283,6 +2283,7 @@ void TabPrint::build() optgroup->append_single_option_line("wipe_tower_bridging"); optgroup->append_single_option_line("wipe_tower_cone_angle"); optgroup->append_single_option_line("wipe_tower_extra_spacing"); + optgroup->append_single_option_line("wipe_tower_max_purge_speed"); optgroup->append_single_option_line("wipe_tower_no_sparse_layers"); // optgroup->append_single_option_line("single_extruder_multi_material_priming"); From 5a32897e6a92f8ad720883f5daee644fb316260b Mon Sep 17 00:00:00 2001 From: Stevetm2 <124851405+Stevetm2@users.noreply.github.com> Date: Thu, 9 May 2024 08:23:39 -0700 Subject: [PATCH 003/178] Creality Sermoon V1 - added generic filaments and machine settings (#5301) * Add Sermoon V1 to Creality Generic PLA.json * Add Sermoon V1 to Creality Generic ABS.json * Add Sermoon V1 to Creality Generic PETG.json * Add Sermoon V1 to Creality Generic TPU.json * Add Generic TPU to Creality Sermoon V1.json * Update Creality Sermoon V1 0.4 nozzle.json Update nozzle_type and small 64x64 thumbnail size in Creality Sermoon V1 0.4 nozzle.json * Set initial extruder_clearance values Creality Sermoon V1 0.4 nozzle.json --- .../profiles/Creality/filament/Creality Generic ABS.json | 1 + .../profiles/Creality/filament/Creality Generic PETG.json | 1 + .../profiles/Creality/filament/Creality Generic PLA.json | 1 + .../profiles/Creality/filament/Creality Generic TPU.json | 1 + .../Creality/machine/Creality Sermoon V1 0.4 nozzle.json | 7 +++++-- .../profiles/Creality/machine/Creality Sermoon V1.json | 2 +- 6 files changed, 10 insertions(+), 3 deletions(-) diff --git a/resources/profiles/Creality/filament/Creality Generic ABS.json b/resources/profiles/Creality/filament/Creality Generic ABS.json index d78b37cc4b8..288cb5dbada 100644 --- a/resources/profiles/Creality/filament/Creality Generic ABS.json +++ b/resources/profiles/Creality/filament/Creality Generic ABS.json @@ -19,6 +19,7 @@ "Creality CR-6 Max 0.4 nozzle", "Creality CR-6 Max 0.6 nozzle", "Creality CR-6 Max 0.8 nozzle", + "Creality Sermoon V1 0.4 nozzle", "Creality Ender-3 0.2 nozzle", "Creality Ender-3 0.4 nozzle", "Creality Ender-3 0.6 nozzle", diff --git a/resources/profiles/Creality/filament/Creality Generic PETG.json b/resources/profiles/Creality/filament/Creality Generic PETG.json index a1850db60ac..fc48c8a1041 100644 --- a/resources/profiles/Creality/filament/Creality Generic PETG.json +++ b/resources/profiles/Creality/filament/Creality Generic PETG.json @@ -29,6 +29,7 @@ "Creality CR-6 Max 0.4 nozzle", "Creality CR-6 Max 0.6 nozzle", "Creality CR-6 Max 0.8 nozzle", + "Creality Sermoon V1 0.4 nozzle", "Creality Ender-3 0.2 nozzle", "Creality Ender-3 0.4 nozzle", "Creality Ender-3 0.6 nozzle", diff --git a/resources/profiles/Creality/filament/Creality Generic PLA.json b/resources/profiles/Creality/filament/Creality Generic PLA.json index 8f0fe91ad40..e0383bfc989 100644 --- a/resources/profiles/Creality/filament/Creality Generic PLA.json +++ b/resources/profiles/Creality/filament/Creality Generic PLA.json @@ -20,6 +20,7 @@ "Creality CR-6 Max 0.4 nozzle", "Creality CR-6 Max 0.6 nozzle", "Creality CR-6 Max 0.8 nozzle", + "Creality Sermoon V1 0.4 nozzle", "Creality Ender-3 0.2 nozzle", "Creality Ender-3 0.4 nozzle", "Creality Ender-3 0.6 nozzle", diff --git a/resources/profiles/Creality/filament/Creality Generic TPU.json b/resources/profiles/Creality/filament/Creality Generic TPU.json index 1e828955bdb..ac48f2d0320 100644 --- a/resources/profiles/Creality/filament/Creality Generic TPU.json +++ b/resources/profiles/Creality/filament/Creality Generic TPU.json @@ -16,6 +16,7 @@ "Creality K1 Max (0.4 nozzle)", "Creality K1 Max (0.6 nozzle)", "Creality K1 Max (0.8 nozzle)", + "Creality Sermoon V1 0.4 nozzle", "Creality CR-10 SE 0.2 nozzle", "Creality CR-10 SE 0.4 nozzle", "Creality CR-10 SE 0.6 nozzle", diff --git a/resources/profiles/Creality/machine/Creality Sermoon V1 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Sermoon V1 0.4 nozzle.json index bff01e50879..c819c9847ff 100644 --- a/resources/profiles/Creality/machine/Creality Sermoon V1 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Sermoon V1 0.4 nozzle.json @@ -60,11 +60,14 @@ "print_host_webui": "10.0.0.51", "gcode_flavor": "marlin", "thumbnails": [ - "32x32", + "64x64", "400x400" ], + "extruder_clearance_height_to_lid": "125", + "extruder_clearance_height_to_rod": "40", + "extruder_clearance_radius": "50", "printable_height": "165", "change_filament_gcode": "; S1 Pause For Filament change\nM125", - "nozzle_type": "undefine", + "nozzle_type": "brass", "auxiliary_fan": "1" } diff --git a/resources/profiles/Creality/machine/Creality Sermoon V1.json b/resources/profiles/Creality/machine/Creality Sermoon V1.json index 93bcb4bd854..b09dff72c2f 100644 --- a/resources/profiles/Creality/machine/Creality Sermoon V1.json +++ b/resources/profiles/Creality/machine/Creality Sermoon V1.json @@ -11,5 +11,5 @@ "Spiral Lift" ], "hotend_model": "", - "default_materials": "Creality Generic PLA;Creality Generic PETG;Creality Generic ABS" + "default_materials": "Creality Generic PLA;Creality Generic PETG;Creality Generic ABS;Creality Generic TPU" } From 317e9e36701ed67cb7a535413d750444c970c7cc Mon Sep 17 00:00:00 2001 From: yw4z Date: Thu, 9 May 2024 18:26:01 +0300 Subject: [PATCH 004/178] Hide revert and delete preset buttons while search box focused (#5253) --- src/slic3r/GUI/Tab.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 01f7c8adaca..4adc314d3b9 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -319,6 +319,8 @@ void Tab::create_preset_tab() if (m_presets_choice) m_presets_choice->Show(); m_btn_save_preset->Show(); + m_btn_delete_preset->Show(); // ORCA: fixes delete preset button visible while search box focused + m_undo_btn->Show(); // ORCA: fixes revert preset button visible while search box focused m_btn_search->Show(); m_search_item->Hide(); @@ -347,6 +349,8 @@ void Tab::create_preset_tab() m_presets_choice->Hide(); m_btn_save_preset->Hide(); + m_btn_delete_preset->Hide(); // ORCA: fixes delete preset button visible while search box focused + m_undo_btn->Hide(); // ORCA: fixes revert preset button visible while search box focused m_btn_search->Hide(); m_search_item->Show(); From 790f3e5bce84bedbd49e4a0ce2cf17d50c93e850 Mon Sep 17 00:00:00 2001 From: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com> Date: Thu, 9 May 2024 16:36:30 +0100 Subject: [PATCH 005/178] Adjustable infill wall overlap for top and bottom surfaces (#4832) * Adjustable infill wall overlap for top and bottom surfaces * Compile error and tool tip updates --- src/libslic3r/Layer.cpp | 1 + src/libslic3r/PerimeterGenerator.cpp | 23 ++++++++++++++++++----- src/libslic3r/Preset.cpp | 2 +- src/libslic3r/PrintConfig.cpp | 11 ++++++++++- src/libslic3r/PrintConfig.hpp | 1 + src/libslic3r/PrintObject.cpp | 1 + src/slic3r/GUI/GUI_Factories.cpp | 2 +- src/slic3r/GUI/Tab.cpp | 3 ++- 8 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/libslic3r/Layer.cpp b/src/libslic3r/Layer.cpp index e92eb0a2ba9..ddb608901fa 100644 --- a/src/libslic3r/Layer.cpp +++ b/src/libslic3r/Layer.cpp @@ -181,6 +181,7 @@ void Layer::make_perimeters() && config.opt_serialize("outer_wall_line_width") == other_config.opt_serialize("outer_wall_line_width") && config.detect_thin_wall == other_config.detect_thin_wall && config.infill_wall_overlap == other_config.infill_wall_overlap + && config.top_bottom_infill_wall_overlap == other_config.top_bottom_infill_wall_overlap && config.fuzzy_skin == other_config.fuzzy_skin && config.fuzzy_skin_thickness == other_config.fuzzy_skin_thickness && config.fuzzy_skin_point_distance == other_config.fuzzy_skin_point_distance diff --git a/src/libslic3r/PerimeterGenerator.cpp b/src/libslic3r/PerimeterGenerator.cpp index 86f9f5ceac1..8cdf36238d0 100644 --- a/src/libslic3r/PerimeterGenerator.cpp +++ b/src/libslic3r/PerimeterGenerator.cpp @@ -2138,10 +2138,17 @@ void PerimeterGenerator::process_classic() ext_perimeter_spacing / 2 : // two or more loops? perimeter_spacing / 2; + // only apply infill overlap if we actually have one perimeter coord_t infill_peri_overlap = 0; + coord_t top_infill_peri_overlap = 0; if (inset > 0) { - infill_peri_overlap = coord_t(scale_(this->config->infill_wall_overlap.get_abs_value(unscale(inset + solid_infill_spacing / 2)))); + if(this->layer_id == 0 || this->upper_slices == nullptr){ + infill_peri_overlap = coord_t(scale_(this->config->top_bottom_infill_wall_overlap.get_abs_value(unscale(inset + solid_infill_spacing / 2)))); + }else{ + infill_peri_overlap = coord_t(scale_(this->config->infill_wall_overlap.get_abs_value(unscale(inset + solid_infill_spacing / 2)))); + top_infill_peri_overlap = coord_t(scale_(this->config->top_bottom_infill_wall_overlap.get_abs_value(unscale(inset + solid_infill_spacing / 2)))); + } inset -= infill_peri_overlap; } // simplify infill contours according to resolution @@ -2160,7 +2167,7 @@ void PerimeterGenerator::process_classic() //if any top_fills, grow them by ext_perimeter_spacing/2 to have the real un-anchored fill ExPolygons top_infill_exp = intersection_ex(fill_clip, offset_ex(top_fills, double(ext_perimeter_spacing / 2))); if (!top_fills.empty()) { - infill_exp = union_ex(infill_exp, offset_ex(top_infill_exp, double(infill_peri_overlap))); + infill_exp = union_ex(infill_exp, offset_ex(top_infill_exp, double(top_infill_peri_overlap))); } this->fill_surfaces->append(infill_exp, stInternal); @@ -2866,8 +2873,14 @@ ExPolygons infill_contour = union_ex(wallToolPaths.getInnerContour()); ext_perimeter_spacing : // two or more loops? perimeter_spacing; - - inset = coord_t(scale_(this->config->infill_wall_overlap.get_abs_value(unscale(inset)))); + coord_t top_inset = inset; + + top_inset = coord_t(scale_(this->config->top_bottom_infill_wall_overlap.get_abs_value(unscale(inset)))); + if(is_topmost_layer || is_bottom_layer) + inset = coord_t(scale_(this->config->top_bottom_infill_wall_overlap.get_abs_value(unscale(inset)))); + else + inset = coord_t(scale_(this->config->infill_wall_overlap.get_abs_value(unscale(inset)))); + // simplify infill contours according to resolution Polygons pp; for (ExPolygon& ex : infill_contour) @@ -2882,7 +2895,7 @@ ExPolygons infill_contour = union_ex(wallToolPaths.getInnerContour()); float(inset + min_perimeter_infill_spacing / 2.)); // append infill areas to fill_surfaces if (!top_fills.empty()) { - infill_exp = union_ex(infill_exp, offset_ex(top_fills, double(inset))); + infill_exp = union_ex(infill_exp, offset_ex(top_fills, double(top_inset))); } this->fill_surfaces->append(infill_exp, stInternal); diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index f6426739dec..826358f0b13 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -793,7 +793,7 @@ static std::vector s_Preset_print_options { "sparse_infill_filament", "solid_infill_filament", "support_filament", "support_interface_filament","support_interface_not_for_body", "ooze_prevention", "standby_temperature_delta", "interface_shells", "line_width", "initial_layer_line_width", "inner_wall_line_width", "outer_wall_line_width", "sparse_infill_line_width", "internal_solid_infill_line_width", - "top_surface_line_width", "support_line_width", "infill_wall_overlap", "bridge_flow", "internal_bridge_flow", + "top_surface_line_width", "support_line_width", "infill_wall_overlap","top_bottom_infill_wall_overlap", "bridge_flow", "internal_bridge_flow", "elefant_foot_compensation", "elefant_foot_compensation_layers", "xy_contour_compensation", "xy_hole_compensation", "resolution", "enable_prime_tower", "prime_tower_width", "prime_tower_brim_width", "prime_volume", "wipe_tower_no_sparse_layers", "compatible_printers", "compatible_printers_condition", "inherits", diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 07b461e60cb..b74fadbf987 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -2680,11 +2680,20 @@ def = this->add("filament_loading_speed", coFloats); def = this->add("infill_wall_overlap", coPercent); def->label = L("Infill/Wall overlap"); def->category = L("Strength"); - def->tooltip = L("Infill area is enlarged slightly to overlap with wall for better bonding. The percentage value is relative to line width of sparse infill"); + def->tooltip = L("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."); def->sidetext = L("%"); def->ratio_over = "inner_wall_line_width"; def->mode = comAdvanced; def->set_default_value(new ConfigOptionPercent(15)); + + def = this->add("top_bottom_infill_wall_overlap", coPercent); + def->label = L("Top/Bottom solid infill/wall overlap"); + def->category = L("Strength"); + def->tooltip = L("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, minimising the appearance of pinholes. The percentage value is relative to line width of sparse infill"); + def->sidetext = L("%"); + def->ratio_over = "inner_wall_line_width"; + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionPercent(25)); def = this->add("sparse_infill_speed", coFloat); def->label = L("Sparse infill"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 74d630004d6..9d6c88a2b82 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -894,6 +894,7 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionInt, sparse_infill_filament)) ((ConfigOptionFloatOrPercent, sparse_infill_line_width)) ((ConfigOptionPercent, infill_wall_overlap)) + ((ConfigOptionPercent, top_bottom_infill_wall_overlap)) ((ConfigOptionFloat, sparse_infill_speed)) //BBS ((ConfigOptionBool, infill_combination)) diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 1cce64d9f8d..78f3e69fa56 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -926,6 +926,7 @@ bool PrintObject::invalidate_state_by_config_options( || opt_key == "initial_layer_line_width" || opt_key == "inner_wall_line_width" || opt_key == "infill_wall_overlap" + || opt_key == "top_bottom_infill_wall_overlap" || opt_key == "seam_gap" || opt_key == "role_based_wipe_speed" || opt_key == "wipe_on_loops" diff --git a/src/slic3r/GUI/GUI_Factories.cpp b/src/slic3r/GUI/GUI_Factories.cpp index d228e16b040..30bbbd85944 100644 --- a/src/slic3r/GUI/GUI_Factories.cpp +++ b/src/slic3r/GUI/GUI_Factories.cpp @@ -110,7 +110,7 @@ std::map> SettingsFactory::PART_CAT { L("Strength"), {{"wall_loops", "",1},{"top_shell_layers", L("Top Solid Layers"),1},{"top_shell_thickness", L("Top Minimum Shell Thickness"),1}, {"bottom_shell_layers", L("Bottom Solid Layers"),1}, {"bottom_shell_thickness", L("Bottom Minimum Shell Thickness"),1}, {"sparse_infill_density", "",1},{"sparse_infill_pattern", "",1},{"infill_anchor", "",1},{"infill_anchor_max", "",1},{"top_surface_pattern", "",1},{"bottom_surface_pattern", "",1}, {"internal_solid_infill_pattern", "",1}, - {"infill_combination", "",1}, {"infill_wall_overlap", "",1}, {"solid_infill_direction", "",1}, {"rotate_solid_infill_direction", "",1}, {"infill_direction", "",1}, {"bridge_angle", "",1}, {"minimum_sparse_infill_area", "",1} + {"infill_combination", "",1}, {"infill_wall_overlap", "",1},{"top_bottom_infill_wall_overlap", "",1}, {"solid_infill_direction", "",1}, {"rotate_solid_infill_direction", "",1}, {"infill_direction", "",1}, {"bridge_angle", "",1}, {"minimum_sparse_infill_area", "",1} }}, { L("Speed"), {{"outer_wall_speed", "",1},{"inner_wall_speed", "",2},{"sparse_infill_speed", "",3},{"top_surface_speed", "",4}, {"internal_solid_infill_speed", "",5}, {"enable_overhang_speed", "",6}, {"overhang_speed_classic", "",6}, {"overhang_1_4_speed", "",7}, {"overhang_2_4_speed", "",8}, {"overhang_3_4_speed", "",9}, {"overhang_4_4_speed", "",10}, diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 4adc314d3b9..2bd2f1ea551 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2120,6 +2120,7 @@ void TabPrint::build() optgroup->append_single_option_line("bottom_surface_pattern", "fill-patterns#Infill of the top surface and bottom surface"); optgroup->append_single_option_line("bottom_shell_layers"); optgroup->append_single_option_line("bottom_shell_thickness"); + optgroup->append_single_option_line("top_bottom_infill_wall_overlap"); optgroup = page->new_optgroup(L("Infill"), L"param_infill"); optgroup->append_single_option_line("sparse_infill_density"); @@ -2129,9 +2130,9 @@ void TabPrint::build() optgroup->append_single_option_line("internal_solid_infill_pattern"); optgroup->append_single_option_line("gap_fill_target"); optgroup->append_single_option_line("filter_out_gap_fill"); + optgroup->append_single_option_line("infill_wall_overlap"); optgroup = page->new_optgroup(L("Advanced"), L"param_advanced"); - optgroup->append_single_option_line("infill_wall_overlap"); optgroup->append_single_option_line("infill_direction"); optgroup->append_single_option_line("solid_infill_direction"); optgroup->append_single_option_line("rotate_solid_infill_direction"); From 861fc1b7b856cae241a7c3e7d87d4530f8a510e1 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Fri, 10 May 2024 21:50:29 +0800 Subject: [PATCH 006/178] disable eigen for OpenCV (#5311) --- deps/OpenCV/OpenCV.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/OpenCV/OpenCV.cmake b/deps/OpenCV/OpenCV.cmake index f19569e86e0..5a4090919b5 100644 --- a/deps/OpenCV/OpenCV.cmake +++ b/deps/OpenCV/OpenCV.cmake @@ -26,7 +26,7 @@ orcaslicer_add_cmake_project(OpenCV -DBUILD_ZLIB=OFF -DWITH_1394=OFF -DWITH_CUDA=OFF - -DWITH_EIGEN=ON + -DWITH_EIGEN=OFF ${_use_IPP} -DWITH_ITT=OFF -DWITH_FFMPEG=OFF From b24d1a4161f5f03ba4a070602f95f0cadca70ced Mon Sep 17 00:00:00 2001 From: SoftFever Date: Fri, 10 May 2024 23:42:28 +0800 Subject: [PATCH 007/178] Support larger printer sizes by using 64-bit. SuperSlicer is referenced for some changes. Co-authored-by: Merill --- sandboxes/aabb-evaluation/aabb-evaluation.cpp | 2 +- .../its_neighbor_index/ItsNeighborIndex.cpp | 26 ++++---- .../its_neighbor_index/ItsNeighborIndex.hpp | 6 +- sandboxes/opencsg/Engine.cpp | 2 +- sandboxes/opencsg/Engine.hpp | 6 +- src/admesh/connect.cpp | 8 +-- src/clipper/clipper.hpp | 2 +- src/libslic3r/AABBMesh.cpp | 4 +- src/libslic3r/AABBMesh.hpp | 8 +-- src/libslic3r/AABBTreeIndirect.hpp | 2 +- src/libslic3r/Arachne/utils/linearAlg2D.hpp | 2 +- src/libslic3r/CutSurface.cpp | 18 +++--- src/libslic3r/Emboss.cpp | 12 ++-- src/libslic3r/Fill/Fill.cpp | 3 +- src/libslic3r/Format/3mf.cpp | 8 +-- src/libslic3r/Format/AMF.cpp | 8 +-- src/libslic3r/Format/SL1.cpp | 2 +- src/libslic3r/Format/SL1.hpp | 4 +- src/libslic3r/Format/bbs_3mf.cpp | 10 +-- src/libslic3r/GCode/SeamPlacer.cpp | 8 +-- src/libslic3r/Geometry.hpp | 26 +++++--- src/libslic3r/Geometry/MedialAxis.cpp | 14 ++-- src/libslic3r/Geometry/VoronoiUtils.cpp | 9 +-- src/libslic3r/Measure.cpp | 4 +- src/libslic3r/MeshBoolean.cpp | 6 +- src/libslic3r/MeshSplitImpl.hpp | 16 ++--- src/libslic3r/NormalUtils.cpp | 10 +-- src/libslic3r/NormalUtils.hpp | 2 +- src/libslic3r/OpenVDBUtils.hpp | 2 +- src/libslic3r/Point.cpp | 6 +- src/libslic3r/Point.hpp | 17 +++-- src/libslic3r/Print.cpp | 4 +- src/libslic3r/PrintConfig.cpp | 2 +- src/libslic3r/QuadricEdgeCollapse.cpp | 12 ++-- src/libslic3r/SLA/Hollowing.cpp | 6 +- src/libslic3r/SLA/IndexedMesh.cpp | 8 +-- src/libslic3r/SLA/IndexedMesh.hpp | 4 +- src/libslic3r/SLA/RasterToPolygons.cpp | 2 +- src/libslic3r/SLA/RasterToPolygons.hpp | 2 +- src/libslic3r/SLA/SupportPointGenerator.cpp | 14 ++-- src/libslic3r/SLA/SupportPointGenerator.hpp | 12 ++-- src/libslic3r/SLAPrintSteps.cpp | 6 +- src/libslic3r/ShortEdgeCollapse.cpp | 10 +-- src/libslic3r/Support/SupportMaterial.cpp | 16 ++--- src/libslic3r/Support/TreeSupport.cpp | 5 +- src/libslic3r/Support/TreeSupportCommon.cpp | 2 +- src/libslic3r/SupportMaterial.cpp | 16 ++--- src/libslic3r/SupportSpotsGenerator.cpp | 12 ++-- src/libslic3r/SurfaceMesh.hpp | 4 +- src/libslic3r/TriangleMesh.cpp | 48 +++++++------- src/libslic3r/TriangleMesh.hpp | 28 ++++---- src/libslic3r/TriangleMeshSlicer.cpp | 38 +++++------ src/libslic3r/TriangleSelector.cpp | 64 +++++++++---------- src/libslic3r/TriangleSelector.hpp | 32 +++++----- src/libslic3r/TriangulateWall.cpp | 6 +- src/libslic3r/TriangulateWall.hpp | 8 +-- src/libslic3r/Triangulation.cpp | 6 +- src/libslic3r/Triangulation.hpp | 2 +- src/libslic3r/libslic3r.h | 2 +- src/slic3r/GUI/BedShapeDialog.cpp | 6 +- src/slic3r/GUI/CameraUtils.cpp | 6 +- src/slic3r/GUI/GLCanvas3D.cpp | 2 +- src/slic3r/GUI/Gizmos/GLGizmoCut.cpp | 2 +- src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp | 10 +-- src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp | 4 +- src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp | 2 +- src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp | 10 +-- src/slic3r/GUI/Gizmos/GLGizmoPainterBase.hpp | 2 +- src/slic3r/GUI/Gizmos/GLGizmoText.cpp | 2 +- src/slic3r/GUI/Gizmos/GLGizmosManager.cpp | 2 +- src/slic3r/GUI/ImGuiWrapper.cpp | 6 +- .../GUI/Jobs/CreateFontNameImageJob.hpp | 4 +- src/slic3r/GUI/Jobs/EmbossJob.cpp | 11 ++-- src/slic3r/GUI/Jobs/SLAImportDialog.hpp | 2 +- src/slic3r/GUI/Jobs/SLAImportJob.cpp | 2 +- src/slic3r/GUI/Jobs/SLAImportJob.hpp | 2 +- src/slic3r/GUI/MeshUtils.cpp | 5 +- src/slic3r/GUI/SurfaceDrag.cpp | 4 +- src/slic3r/GUI/TextLines.cpp | 4 +- src/slic3r/Utils/CalibUtils.cpp | 2 +- src/slic3r/Utils/EmbossStyleManager.cpp | 2 +- src/slic3r/Utils/EmbossStyleManager.hpp | 4 +- src/slic3r/Utils/RaycastManager.cpp | 2 +- tests/fff_print/test_trianglemesh.cpp | 4 +- tests/libslic3r/test_indexed_triangle_set.cpp | 6 +- tests/libslic3r/test_marchingsquares.cpp | 6 +- xs/xsp/TriangleMesh.xsp | 4 +- 87 files changed, 380 insertions(+), 362 deletions(-) diff --git a/sandboxes/aabb-evaluation/aabb-evaluation.cpp b/sandboxes/aabb-evaluation/aabb-evaluation.cpp index 1019ecf28b1..86b672ca05e 100644 --- a/sandboxes/aabb-evaluation/aabb-evaluation.cpp +++ b/sandboxes/aabb-evaluation/aabb-evaluation.cpp @@ -95,7 +95,7 @@ void profile(const TriangleMesh &mesh) Eigen::MatrixXd occlusion_output1; { std::vector vertices; - std::vector triangles; + std::vector triangles; for (int i = 0; i < V.rows(); ++ i) vertices.emplace_back(V.row(i).transpose()); for (int i = 0; i < F.rows(); ++ i) diff --git a/sandboxes/its_neighbor_index/ItsNeighborIndex.cpp b/sandboxes/its_neighbor_index/ItsNeighborIndex.cpp index 84ada72adcb..8e97c87ddea 100644 --- a/sandboxes/its_neighbor_index/ItsNeighborIndex.cpp +++ b/sandboxes/its_neighbor_index/ItsNeighborIndex.cpp @@ -45,7 +45,7 @@ FaceNeighborIndex its_create_neighbors_index_1(const indexed_triangle_set &its) // Go through all edges of all facets and mark the facets touching each edge for (size_t face_id = 0; face_id < its.indices.size(); ++face_id) { - const Vec3i &face = its.indices[face_id]; + const Vec3i32 &face = its.indices[face_id]; EdgeID e1 = hash(face(0), face(1)), e2 = hash(face(1), face(2)), e3 = hash(face(2), face(0)); @@ -59,7 +59,7 @@ FaceNeighborIndex its_create_neighbors_index_1(const indexed_triangle_set &its) // Now collect the neighbors for each facet into the final index for (size_t face_id = 0; face_id < its.indices.size(); ++face_id) { - const Vec3i &face = its.indices[face_id]; + const Vec3i32 &face = its.indices[face_id]; EdgeID e1 = hash(face(0), face(1)), e2 = hash(face(1), face(2)), e3 = hash(face(2), face(0)); @@ -77,9 +77,9 @@ FaceNeighborIndex its_create_neighbors_index_1(const indexed_triangle_set &its) return index; } -std::vector its_create_neighbors_index_2(const indexed_triangle_set &its) +std::vector its_create_neighbors_index_2(const indexed_triangle_set &its) { - std::vector out(its.indices.size(), Vec3i(-1, -1, -1)); + std::vector out(its.indices.size(), Vec3i32(-1, -1, -1)); // Create a mapping from triangle edge into face. struct EdgeToFace { @@ -157,9 +157,9 @@ std::vector its_create_neighbors_index_2(const indexed_triangle_set &its) return out; } -std::vector its_create_neighbors_index_3(const indexed_triangle_set &its) +std::vector its_create_neighbors_index_3(const indexed_triangle_set &its) { - std::vector out(its.indices.size(), Vec3i(-1, -1, -1)); + std::vector out(its.indices.size(), Vec3i32(-1, -1, -1)); // Create a mapping from triangle edge into face. struct EdgeToFace { @@ -288,7 +288,7 @@ FaceNeighborIndex its_create_neighbors_index_4(const indexed_triangle_set &its) // Go through all edges of all facets and mark the facets touching each edge for (size_t face_id = 0; face_id < its.indices.size(); ++face_id) { - const Vec3i &face = its.indices[face_id]; + const Vec3i32 &face = its.indices[face_id]; EdgeID e1 = hash(face(0), face(1)), e2 = hash(face(1), face(2)), e3 = hash(face(2), face(0)); @@ -302,7 +302,7 @@ FaceNeighborIndex its_create_neighbors_index_4(const indexed_triangle_set &its) // Now collect the neighbors for each facet into the final index for (size_t face_id = 0; face_id < its.indices.size(); ++face_id) { - const Vec3i &face = its.indices[face_id]; + const Vec3i32 &face = its.indices[face_id]; EdgeID e1 = hash(face(0), face(1)), e2 = hash(face(1), face(2)), e3 = hash(face(2), face(0)); @@ -443,7 +443,7 @@ std::vector> its_create_neighbors_index_6(const indexed_tr // Go through all edges of all facets and mark the facets touching each edge for (size_t face_id = 0; face_id < facenum; ++face_id) { - const Vec3i &face = its.indices[face_id]; + const Vec3i32 &face = its.indices[face_id]; edge_map[face_id * 3] = {hash(face(0), face(1)), face_id}; edge_map[face_id * 3 + 1] = {hash(face(1), face(2)), face_id}; @@ -503,7 +503,7 @@ std::vector> its_create_neighbors_index_7(const indexed_tr // Go through all edges of all facets and mark the facets touching each edge for (size_t face_id = 0; face_id < facenum; ++face_id) { - const Vec3i &face = its.indices[face_id]; + const Vec3i32 &face = its.indices[face_id]; edge_map[face_id * 3] = {hash(face(0), face(1)), face_id}; edge_map[face_id * 3 + 1] = {hash(face(1), face(2)), face_id}; @@ -568,7 +568,7 @@ FaceNeighborIndex its_create_neighbors_index_8(const indexed_triangle_set &its) // Go through all edges of all facets and mark the facets touching each edge for (size_t face_id = 0; face_id < its.indices.size(); ++face_id) { - const Vec3i &face = its.indices[face_id]; + const Vec3i32 &face = its.indices[face_id]; EdgeID e1 = hash(face(0), face(1)), e2 = hash(face(1), face(2)), e3 = hash(face(2), face(0)); @@ -582,7 +582,7 @@ FaceNeighborIndex its_create_neighbors_index_8(const indexed_triangle_set &its) // Now collect the neighbors for each facet into the final index for (size_t face_id = 0; face_id < its.indices.size(); ++face_id) { - const Vec3i &face = its.indices[face_id]; + const Vec3i32 &face = its.indices[face_id]; EdgeID e1 = hash(face(0), face(1)), e2 = hash(face(1), face(2)), e3 = hash(face(2), face(0)); @@ -605,7 +605,7 @@ std::vector its_create_neighbors_index_9(const indexed_triangle_set &it return create_face_neighbors_index(ex_seq, its); } -std::vector its_create_neighbors_index_10(const indexed_triangle_set &its) +std::vector its_create_neighbors_index_10(const indexed_triangle_set &its) { return create_face_neighbors_index(ex_tbb, its); } diff --git a/sandboxes/its_neighbor_index/ItsNeighborIndex.hpp b/sandboxes/its_neighbor_index/ItsNeighborIndex.hpp index 66f2b234850..305e4453456 100644 --- a/sandboxes/its_neighbor_index/ItsNeighborIndex.hpp +++ b/sandboxes/its_neighbor_index/ItsNeighborIndex.hpp @@ -4,8 +4,8 @@ namespace Slic3r { using FaceNeighborIndex = std::vector>; FaceNeighborIndex its_create_neighbors_index_1(const indexed_triangle_set &its); -std::vector its_create_neighbors_index_2(const indexed_triangle_set &its); -std::vector its_create_neighbors_index_3(const indexed_triangle_set &its); +std::vector its_create_neighbors_index_2(const indexed_triangle_set &its); +std::vector its_create_neighbors_index_3(const indexed_triangle_set &its); FaceNeighborIndex its_create_neighbors_index_4(const indexed_triangle_set &its); //FaceNeighborIndex its_create_neighbors_index_4(const indexed_triangle_set &its); std::vector its_create_neighbors_index_5(const indexed_triangle_set &its); @@ -13,7 +13,7 @@ std::vector> its_create_neighbors_index_6(const indexed_tr std::vector> its_create_neighbors_index_7(const indexed_triangle_set &its); FaceNeighborIndex its_create_neighbors_index_8(const indexed_triangle_set &its); std::vector its_create_neighbors_index_9(const indexed_triangle_set &its); -std::vector its_create_neighbors_index_10(const indexed_triangle_set &its); +std::vector its_create_neighbors_index_10(const indexed_triangle_set &its); std::vector> create_vertex_faces_index(const indexed_triangle_set &its); } diff --git a/sandboxes/opencsg/Engine.cpp b/sandboxes/opencsg/Engine.cpp index e64a471326c..0562d8620f2 100644 --- a/sandboxes/opencsg/Engine.cpp +++ b/sandboxes/opencsg/Engine.cpp @@ -364,7 +364,7 @@ void Controller::on_scroll(long v, long d, MouseInput::WheelAxis /*wa*/) void Controller::on_moved_to(long x, long y) { if (m_left_btn) { - call_cameras(&Camera::rotate, (Vec2i{x, y} - m_mouse_pos).cast()); + call_cameras(&Camera::rotate, (Vec2i32{x, y} - m_mouse_pos).cast()); call(&Display::repaint, m_displays); } diff --git a/sandboxes/opencsg/Engine.hpp b/sandboxes/opencsg/Engine.hpp index 114268ddc97..c0b1c629765 100644 --- a/sandboxes/opencsg/Engine.hpp +++ b/sandboxes/opencsg/Engine.hpp @@ -358,7 +358,7 @@ private: class Display : public Scene::Listener { protected: - Vec2i m_size; + Vec2i32 m_size; bool m_initialized = false; std::shared_ptr m_camera; @@ -379,7 +379,7 @@ public: virtual void swap_buffers() = 0; virtual void set_active(long width, long height); virtual void set_screen_size(long width, long height); - Vec2i get_screen_size() const { return m_size; } + Vec2i32 get_screen_size() const { return m_size; } virtual void repaint(); @@ -438,7 +438,7 @@ class Controller : public std::enable_shared_from_this, public Scene::Listener { long m_wheel_pos = 0; - Vec2i m_mouse_pos, m_mouse_pos_rprev, m_mouse_pos_lprev; + Vec2i32 m_mouse_pos, m_mouse_pos_rprev, m_mouse_pos_lprev; bool m_left_btn = false, m_right_btn = false; std::shared_ptr m_scene; diff --git a/src/admesh/connect.cpp b/src/admesh/connect.cpp index 8a4f5090db0..30a199120d1 100644 --- a/src/admesh/connect.cpp +++ b/src/admesh/connect.cpp @@ -87,10 +87,10 @@ struct HashEdge { bool load_nearby(const stl_file *stl, const stl_vertex &a, const stl_vertex &b, float tolerance) { // Index of a grid cell spaced by tolerance. - typedef Eigen::Matrix Vec3i; - Vec3i vertex1 = ((a - stl->stats.min) / tolerance).cast(); - Vec3i vertex2 = ((b - stl->stats.min) / tolerance).cast(); - static_assert(sizeof(Vec3i) == 12, "size of Vec3i incorrect"); + typedef Eigen::Matrix Vec3i32; + Vec3i32 vertex1 = ((a - stl->stats.min) / tolerance).cast(); + Vec3i32 vertex2 = ((b - stl->stats.min) / tolerance).cast(); + static_assert(sizeof(Vec3i32) == 12, "size of Vec3i32 incorrect"); if (vertex1 == vertex2) // Both vertices hash to the same value diff --git a/src/clipper/clipper.hpp b/src/clipper/clipper.hpp index ea7ded26e83..aee1a02f8fe 100644 --- a/src/clipper/clipper.hpp +++ b/src/clipper/clipper.hpp @@ -80,7 +80,7 @@ enum PolyFillType { pftEvenOdd, pftNonZero, pftPositive, pftNegative }; // If defined, Clipper will work with 32bit signed int coordinates to reduce memory // consumption and to speed up exact orientation predicate calculation. // In that case, coordinates and their differences (vectors of the coordinates) have to fit int32_t. -#define CLIPPERLIB_INT32 +// #define CLIPPERLIB_INT32 // Point coordinate type #ifdef CLIPPERLIB_INT32 diff --git a/src/libslic3r/AABBMesh.cpp b/src/libslic3r/AABBMesh.cpp index ca7042c6012..3159667f097 100644 --- a/src/libslic3r/AABBMesh.cpp +++ b/src/libslic3r/AABBMesh.cpp @@ -122,7 +122,7 @@ const std::vector& AABBMesh::vertices() const -const std::vector& AABBMesh::indices() const +const std::vector& AABBMesh::indices() const { return m_tm->indices; } @@ -136,7 +136,7 @@ const Vec3f& AABBMesh::vertices(size_t idx) const -const Vec3i& AABBMesh::indices(size_t idx) const +const Vec3i32& AABBMesh::indices(size_t idx) const { return m_tm->indices[idx]; } diff --git a/src/libslic3r/AABBMesh.hpp b/src/libslic3r/AABBMesh.hpp index 3ef25977b42..9998f504b5c 100644 --- a/src/libslic3r/AABBMesh.hpp +++ b/src/libslic3r/AABBMesh.hpp @@ -31,7 +31,7 @@ class AABBMesh { std::unique_ptr m_aabb; VertexFaceIndex m_vfidx; // vertex-face index - std::vector m_fnidx; // face-neighbor index + std::vector m_fnidx; // face-neighbor index #ifdef SLIC3R_HOLE_RAYCASTER // This holds a copy of holes in the mesh. Initialized externally @@ -57,9 +57,9 @@ public: ~AABBMesh(); const std::vector& vertices() const; - const std::vector& indices() const; + const std::vector& indices() const; const Vec3f& vertices(size_t idx) const; - const Vec3i& indices(size_t idx) const; + const Vec3i32& indices(size_t idx) const; // Result of a raycast class hit_result { @@ -133,7 +133,7 @@ public: const indexed_triangle_set * get_triangle_mesh() const { return m_tm; } const VertexFaceIndex &vertex_face_index() const { return m_vfidx; } - const std::vector &face_neighbor_index() const { return m_fnidx; } + const std::vector &face_neighbor_index() const { return m_fnidx; } }; diff --git a/src/libslic3r/AABBTreeIndirect.hpp b/src/libslic3r/AABBTreeIndirect.hpp index 6d6479508ff..94c2425380b 100644 --- a/src/libslic3r/AABBTreeIndirect.hpp +++ b/src/libslic3r/AABBTreeIndirect.hpp @@ -229,7 +229,7 @@ public: m_bbox(bbox.min - Point(SCALED_EPSILON, SCALED_EPSILON), bbox.max + Point(SCALED_EPSILON, SCALED_EPSILON)) {} size_t idx() const { return m_idx; } const BoundingBox& bbox() const { return m_bbox; } - Point centroid() const { return ((m_bbox.min().cast() + m_bbox.max().cast()) / 2).cast(); } + Point centroid() const { return (m_bbox.min() + m_bbox.max() / 2); } private: size_t m_idx; BoundingBox m_bbox; diff --git a/src/libslic3r/Arachne/utils/linearAlg2D.hpp b/src/libslic3r/Arachne/utils/linearAlg2D.hpp index 797bae0b97c..1db85c268b1 100644 --- a/src/libslic3r/Arachne/utils/linearAlg2D.hpp +++ b/src/libslic3r/Arachne/utils/linearAlg2D.hpp @@ -32,7 +32,7 @@ inline static bool isInsideCorner(const Point &a, const Point &b, const Point &c // auto normal = [](const Point &p0, coord_t len) -> Point { - int64_t _len = p0.cast().norm(); + int64_t _len = p0.norm(); if (_len < 1) return {len, 0}; return (p0.cast() * int64_t(len) / _len).cast(); diff --git a/src/libslic3r/CutSurface.cpp b/src/libslic3r/CutSurface.cpp index 060bed62e11..2fe23ead095 100644 --- a/src/libslic3r/CutSurface.cpp +++ b/src/libslic3r/CutSurface.cpp @@ -706,7 +706,7 @@ using IsOnSides = std::vector>; /// Triangle /// Flag is vertex index out of plane /// True when triangle is out of one of plane -bool is_all_on_one_side(const Vec3i &t, const IsOnSides& is_on_sides); +bool is_all_on_one_side(const Vec3i32 &t, const IsOnSides& is_on_sides); } // namespace priv @@ -718,7 +718,7 @@ bool priv::is_out_of(const Vec3d &v, const PointNormal &point_normal) return signed_distance > 1e-5; }; -bool priv::is_all_on_one_side(const Vec3i &t, const IsOnSides& is_on_sides) { +bool priv::is_all_on_one_side(const Vec3i32 &t, const IsOnSides& is_on_sides) { for (size_t side = 0; side < 4; side++) { bool result = true; for (auto vi : t) { @@ -1891,7 +1891,7 @@ uint32_t priv::get_closest_point_index(const SearchData &sd, const Polygon &poly = (id.polygon_index == 0) ? shape.contour : shape.holes[id.polygon_index - 1]; - Vec2i p_ = p.cast(); + auto p_ = p.cast(); return p_ == poly[id.point_index]; }; @@ -3559,7 +3559,7 @@ SurfaceCut priv::patch2cut(SurfacePatch &patch) assert(mesh.next(mesh.next(mesh.next(hi))) == hi); // triangle indicies - Vec3i ti; + Vec3i32 ti; size_t i = 0; for (VI vi : { mesh.source(hi), mesh.target(hi), @@ -3742,7 +3742,7 @@ indexed_triangle_set priv::create_indexed_triangle_set( HI hi_end = hi; int ti = 0; - Vec3i t; + Vec3i32 t; do { VI vi = mesh.source(hi); @@ -3802,8 +3802,8 @@ void priv::store(const CutAOIs &aois, const CutMesh &mesh, const std::string &di size_t bi2 = its.vertices.size(); its.vertices.push_back(b + dir); - its.indices.push_back(Vec3i(ai, ai2, bi)); - its.indices.push_back(Vec3i(ai2, bi2, bi)); + its.indices.push_back(Vec3i32(ai, ai2, bi)); + its.indices.push_back(Vec3i32(ai2, bi2, bi)); } return its; }; @@ -4002,8 +4002,8 @@ indexed_triangle_set priv::create_contour_its( size_t bi2 = result.vertices.size(); result.vertices.push_back(b + dir); - result.indices.push_back(Vec3i(ai, bi, ai2)); - result.indices.push_back(Vec3i(ai2, bi, bi2)); + result.indices.push_back(Vec3i32(ai, bi, ai2)); + result.indices.push_back(Vec3i32(ai2, bi, bi2)); prev_vi = vi; } return result; diff --git a/src/libslic3r/Emboss.cpp b/src/libslic3r/Emboss.cpp index 6af848f465c..a7bb8c56783 100644 --- a/src/libslic3r/Emboss.cpp +++ b/src/libslic3r/Emboss.cpp @@ -1504,7 +1504,7 @@ indexed_triangle_set polygons2model_unique( const Points &points) { // CW order of triangle indices - std::vector shape_triangles=Triangulation::triangulate(shape2d, points); + std::vector shape_triangles=Triangulation::triangulate(shape2d, points); uint32_t count_point = points.size(); indexed_triangle_set result; @@ -1525,10 +1525,10 @@ indexed_triangle_set polygons2model_unique( std::make_move_iterator(back_points.end())); result.indices.reserve(shape_triangles.size() * 2 + points.size() * 2); // top triangles - change to CCW - for (const Vec3i &t : shape_triangles) + for (const Vec3i32 &t : shape_triangles) result.indices.emplace_back(t.x(), t.z(), t.y()); // bottom triangles - use CW - for (const Vec3i &t : shape_triangles) + for (const Vec3i32 &t : shape_triangles) result.indices.emplace_back(t.x() + count_point, t.y() + count_point, t.z() + count_point); @@ -1564,7 +1564,7 @@ indexed_triangle_set polygons2model_duplicit( { // CW order of triangle indices std::vector changes = Triangulation::create_changes(points, duplicits); - std::vector shape_triangles = Triangulation::triangulate(shape2d, points, changes); + std::vector shape_triangles = Triangulation::triangulate(shape2d, points, changes); uint32_t count_point = *std::max_element(changes.begin(), changes.end()) + 1; indexed_triangle_set result; @@ -1596,10 +1596,10 @@ indexed_triangle_set polygons2model_duplicit( result.indices.reserve(shape_triangles.size() * 2 + points.size() * 2); // top triangles - change to CCW - for (const Vec3i &t : shape_triangles) + for (const Vec3i32 &t : shape_triangles) result.indices.emplace_back(t.x(), t.z(), t.y()); // bottom triangles - use CW - for (const Vec3i &t : shape_triangles) + for (const Vec3i32 &t : shape_triangles) result.indices.emplace_back(t.x() + count_point, t.y() + count_point, t.z() + count_point); diff --git a/src/libslic3r/Fill/Fill.cpp b/src/libslic3r/Fill/Fill.cpp index e216853adbd..96f81541516 100644 --- a/src/libslic3r/Fill/Fill.cpp +++ b/src/libslic3r/Fill/Fill.cpp @@ -24,6 +24,7 @@ #include "FillLightning.hpp" #include "FillConcentricInternal.hpp" #include "FillConcentric.hpp" +#include "libslic3r.h" namespace Slic3r { @@ -336,7 +337,7 @@ void split_solid_surface(size_t layer_id, const SurfaceFill &fill, ExPolygons &n squared_distance_limit_reconnection) { traced_poly.lows.push_back(candidates_begin->a); } else { - traced_poly.lows.push_back(traced_poly.lows.back() + Point{scaled_spacing / 2, 0}); + traced_poly.lows.push_back(traced_poly.lows.back() + Point{scaled_spacing / 2, coord_t(0)}); traced_poly.lows.push_back(candidates_begin->a - Point{scaled_spacing / 2, 0}); traced_poly.lows.push_back(candidates_begin->a); } diff --git a/src/libslic3r/Format/3mf.cpp b/src/libslic3r/Format/3mf.cpp index 7feed1c724b..894de0549b5 100644 --- a/src/libslic3r/Format/3mf.cpp +++ b/src/libslic3r/Format/3mf.cpp @@ -413,7 +413,7 @@ ModelVolumeType type_from_string(const std::string &s) struct Geometry { std::vector vertices; - std::vector triangles; + std::vector triangles; std::vector custom_supports; std::vector custom_seam; std::vector mmu_segmentation; @@ -2107,7 +2107,7 @@ ModelVolumeType type_from_string(const std::string &s) { int min_id = its.indices.front()[0]; int max_id = min_id; - for (const Vec3i& face : its.indices) { + for (const Vec3i32& face : its.indices) { for (const int tri_id : face) { if (tri_id < 0 || tri_id >= int(geometry.vertices.size())) { add_error("Found invalid vertex id"); @@ -2120,7 +2120,7 @@ ModelVolumeType type_from_string(const std::string &s) its.vertices.assign(geometry.vertices.begin() + min_id, geometry.vertices.begin() + max_id + 1); // rebase indices to the current vertices list - for (Vec3i& face : its.indices) + for (Vec3i32& face : its.indices) for (int& tri_id : face) tri_id -= min_id; } @@ -2786,7 +2786,7 @@ ModelVolumeType type_from_string(const std::string &s) for (int i = 0; i < int(its.indices.size()); ++ i) { { - const Vec3i &idx = its.indices[i]; + const Vec3i32 &idx = its.indices[i]; char *ptr = buf; boost::spirit::karma::generate(ptr, boost::spirit::lit(" <") << TRIANGLE_TAG << " v1=\"" << boost::spirit::int_ << diff --git a/src/libslic3r/Format/AMF.cpp b/src/libslic3r/Format/AMF.cpp index 1e0b6687d9c..d13faa7a1f3 100644 --- a/src/libslic3r/Format/AMF.cpp +++ b/src/libslic3r/Format/AMF.cpp @@ -248,7 +248,7 @@ struct AMFParserContext // Current volume allocated for an amf/object/mesh/volume subtree. ModelVolume *m_volume { nullptr }; // Faces collected for the current m_volume. - std::vector m_volume_facets; + std::vector m_volume_facets; // Transformation matrix of a volume mesh from its coordinate system to Object's coordinate system. Transform3d m_volume_transform; // Current material allocated for an amf/metadata subtree. @@ -632,7 +632,7 @@ void AMFParserContext::endElement(const char * /* name */) // Verify validity of face indices, find the vertex span. int min_id = m_volume_facets.front()[0]; int max_id = min_id; - for (const Vec3i& face : m_volume_facets) { + for (const Vec3i32& face : m_volume_facets) { for (const int tri_id : face) { if (tri_id < 0 || tri_id >= int(m_object_vertices.size())) { this->stop("Found a malformed triangle mesh"); @@ -644,8 +644,8 @@ void AMFParserContext::endElement(const char * /* name */) } // rebase indices to the current vertices list - for (Vec3i &face : m_volume_facets) - face -= Vec3i(min_id, min_id, min_id); + for (Vec3i32 &face : m_volume_facets) + face -= Vec3i32(min_id, min_id, min_id); indexed_triangle_set its { std::move(m_volume_facets), { m_object_vertices.begin() + min_id, m_object_vertices.begin() + max_id + 1 } }; its_compactify_vertices(its); diff --git a/src/libslic3r/Format/SL1.cpp b/src/libslic3r/Format/SL1.cpp index 91aa7bbfcc9..88fa038dccd 100644 --- a/src/libslic3r/Format/SL1.cpp +++ b/src/libslic3r/Format/SL1.cpp @@ -303,7 +303,7 @@ ConfigSubstitutions import_sla_archive(const std::string &zipfname, DynamicPrint // function return if the archive did not contain any profile. ConfigSubstitutions import_sla_archive( const std::string & zipfname, - Vec2i windowsize, + Vec2i32 windowsize, indexed_triangle_set & out, DynamicPrintConfig & profile_out, std::function progr) diff --git a/src/libslic3r/Format/SL1.hpp b/src/libslic3r/Format/SL1.hpp index 46a82e1b85f..6fb4405c90e 100644 --- a/src/libslic3r/Format/SL1.hpp +++ b/src/libslic3r/Format/SL1.hpp @@ -42,14 +42,14 @@ ConfigSubstitutions import_sla_archive(const std::string &zipfname, DynamicPrint ConfigSubstitutions import_sla_archive( const std::string & zipfname, - Vec2i windowsize, + Vec2i32 windowsize, indexed_triangle_set & out, DynamicPrintConfig & profile, std::function progr = [](int) { return true; }); inline ConfigSubstitutions import_sla_archive( const std::string & zipfname, - Vec2i windowsize, + Vec2i32 windowsize, indexed_triangle_set & out, std::function progr = [](int) { return true; }) { diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp index e723c9e8af9..e8d2fac2f5d 100644 --- a/src/libslic3r/Format/bbs_3mf.cpp +++ b/src/libslic3r/Format/bbs_3mf.cpp @@ -658,7 +658,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) struct Geometry { std::vector vertices; - std::vector triangles; + std::vector triangles; std::vector custom_supports; std::vector custom_seam; std::vector mmu_segmentation; @@ -4608,7 +4608,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) // add_error("found no trianges in the object " + std::to_string(sub_object->id)); // return false; //} - for (const Vec3i& face : its.indices) { + for (const Vec3i32& face : its.indices) { for (const int tri_id : face) { if (tri_id < 0 || tri_id >= int(sub_object->geometry.vertices.size())) { add_error("invalid vertex id in object " + std::to_string(sub_object->id)); @@ -4783,7 +4783,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) { int min_id = its.indices.front()[0]; int max_id = min_id; - for (const Vec3i& face : its.indices) { + for (const Vec3i32& face : its.indices) { for (const int tri_id : face) { if (tri_id < 0 || tri_id >= int(geometry.vertices.size())) { add_error("Found invalid vertex id"); @@ -4803,7 +4803,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) } // rebase indices to the current vertices list - for (Vec3i& face : its.indices) + for (Vec3i32& face : its.indices) for (int& tri_id : face) tri_id -= min_id; } @@ -6850,7 +6850,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) for (int i = 0; i < int(its.indices.size()); ++ i) { { - const Vec3i &idx = its.indices[i]; + const Vec3i32 &idx = its.indices[i]; char *ptr = buf; boost::spirit::karma::generate(ptr, boost::spirit::lit(" <") << TRIANGLE_TAG << " v1=\"" << boost::spirit::int_ << diff --git a/src/libslic3r/GCode/SeamPlacer.cpp b/src/libslic3r/GCode/SeamPlacer.cpp index 301759d29b0..e442db5701a 100644 --- a/src/libslic3r/GCode/SeamPlacer.cpp +++ b/src/libslic3r/GCode/SeamPlacer.cpp @@ -856,7 +856,7 @@ void debug_export_points(const std::vector &lay float max_weight = min_weight; for (const SeamCandidate &point : layers[layer_idx].points) { - Vec3i color = value_to_rgbi(-PI, PI, point.local_ccw_angle); + Vec3i32 color = value_to_rgbi(-PI, PI, point.local_ccw_angle); std::string fill = "rgb(" + std::to_string(color.x()) + "," + std::to_string(color.y()) + "," + std::to_string(color.z()) + ")"; angles_svg.draw(scaled(Vec2f(point.position.head<2>())), fill); @@ -879,19 +879,19 @@ void debug_export_points(const std::vector &lay SVG overhangs_svg { overhangs_file_name, bounding_box }; for (const SeamCandidate &point : layers[layer_idx].points) { - Vec3i color = value_to_rgbi(min_vis, max_vis, point.visibility); + Vec3i32 color = value_to_rgbi(min_vis, max_vis, point.visibility); std::string visibility_fill = "rgb(" + std::to_string(color.x()) + "," + std::to_string(color.y()) + "," + std::to_string(color.z()) + ")"; visibility_svg.draw(scaled(Vec2f(point.position.head<2>())), visibility_fill); - Vec3i weight_color = value_to_rgbi(min_weight, max_weight, + Vec3i32 weight_color = value_to_rgbi(min_weight, max_weight, -compute_angle_penalty(point.local_ccw_angle)); std::string weight_fill = "rgb(" + std::to_string(weight_color.x()) + "," + std::to_string(weight_color.y()) + "," + std::to_string(weight_color.z()) + ")"; weight_svg.draw(scaled(Vec2f(point.position.head<2>())), weight_fill); - Vec3i overhang_color = value_to_rgbi(-0.5, 0.5, std::clamp(point.overhang, -0.5f, 0.5f)); + Vec3i32 overhang_color = value_to_rgbi(-0.5, 0.5, std::clamp(point.overhang, -0.5f, 0.5f)); std::string overhang_fill = "rgb(" + std::to_string(overhang_color.x()) + "," + std::to_string(overhang_color.y()) + "," diff --git a/src/libslic3r/Geometry.hpp b/src/libslic3r/Geometry.hpp index 616fb56495b..cac5b968686 100644 --- a/src/libslic3r/Geometry.hpp +++ b/src/libslic3r/Geometry.hpp @@ -48,14 +48,24 @@ enum Orientation // As the points are limited to 30 bits + signum, // the temporaries u, v, w are limited to 61 bits + signum, // and d is limited to 63 bits + signum and we are good. -static inline Orientation orient(const Point &a, const Point &b, const Point &c) -{ - static_assert(sizeof(coord_t) * 2 == sizeof(int64_t), "orient works with 32 bit coordinates"); - int64_t u = int64_t(b.x()) * int64_t(c.y()) - int64_t(b.y()) * int64_t(c.x()); - int64_t v = int64_t(a.x()) * int64_t(c.y()) - int64_t(a.y()) * int64_t(c.x()); - int64_t w = int64_t(a.x()) * int64_t(b.y()) - int64_t(a.y()) * int64_t(b.x()); - int64_t d = u - v + w; - return (d > 0) ? ORIENTATION_CCW : ((d == 0) ? ORIENTATION_COLINEAR : ORIENTATION_CW); +//note: now coord_t is int64_t, so the algorithm is now adjusted to fallback to double is too big. +static inline Orientation orient(const Point &a, const Point &b, const Point &c) { + //static_assert(sizeof(coord_t) * 2 == sizeof(int64_t), "orient works with 32 bit coordinates"); + // BOOST_STATIC_ASSERT(sizeof(coord_t) == sizeof(int64_t)); + if (a.x() <= 0xffffffff && b.x() <= 0xffffffff && c.x() <= 0xffffffff && + a.y() <= 0xffffffff && b.y() <= 0xffffffff && c.y() <= 0xffffffff) { + int64_t u = int64_t(b(0)) * int64_t(c(1)) - int64_t(b(1)) * int64_t(c(0)); + int64_t v = int64_t(a(0)) * int64_t(c(1)) - int64_t(a(1)) * int64_t(c(0)); + int64_t w = int64_t(a(0)) * int64_t(b(1)) - int64_t(a(1)) * int64_t(b(0)); + int64_t d = u - v + w; + return (d > 0) ? ORIENTATION_CCW : ((d == 0) ? ORIENTATION_COLINEAR : ORIENTATION_CW); + } else { + double u = double(b(0)) * double(c(1)) - double(b(1)) * double(c(0)); + double v = double(a(0)) * double(c(1)) - double(a(1)) * double(c(0)); + double w = double(a(0)) * double(b(1)) - double(a(1)) * double(b(0)); + double d = u - v + w; + return (d > 0) ? ORIENTATION_CCW : ((d == 0) ? ORIENTATION_COLINEAR : ORIENTATION_CW); + } } // Return orientation of the polygon by checking orientation of the left bottom corner of the polygon diff --git a/src/libslic3r/Geometry/MedialAxis.cpp b/src/libslic3r/Geometry/MedialAxis.cpp index 44eccd98515..2a27db1d8ad 100644 --- a/src/libslic3r/Geometry/MedialAxis.cpp +++ b/src/libslic3r/Geometry/MedialAxis.cpp @@ -594,13 +594,13 @@ bool MedialAxis::validate_edge(const VD::edge_type* edge) }; // prevent overflows and detect almost-infinite edges -#ifndef CLIPPERLIB_INT32 - if (std::abs(edge->vertex0()->x()) > double(CLIPPER_MAX_COORD_UNSCALED) || - std::abs(edge->vertex0()->y()) > double(CLIPPER_MAX_COORD_UNSCALED) || - std::abs(edge->vertex1()->x()) > double(CLIPPER_MAX_COORD_UNSCALED) || - std::abs(edge->vertex1()->y()) > double(CLIPPER_MAX_COORD_UNSCALED)) - return false; -#endif // CLIPPERLIB_INT32 +// #ifndef CLIPPERLIB_INT32 +// if (std::abs(edge->vertex0()->x()) > double(CLIPPER_MAX_COORD_UNSCALED) || +// std::abs(edge->vertex0()->y()) > double(CLIPPER_MAX_COORD_UNSCALED) || +// std::abs(edge->vertex1()->x()) > double(CLIPPER_MAX_COORD_UNSCALED) || +// std::abs(edge->vertex1()->y()) > double(CLIPPER_MAX_COORD_UNSCALED)) +// return false; +// #endif // CLIPPERLIB_INT32 // construct the line representing this edge of the Voronoi diagram const Line line({ edge->vertex0()->x(), edge->vertex0()->y() }, diff --git a/src/libslic3r/Geometry/VoronoiUtils.cpp b/src/libslic3r/Geometry/VoronoiUtils.cpp index 1e9436325fe..f126258d280 100644 --- a/src/libslic3r/Geometry/VoronoiUtils.cpp +++ b/src/libslic3r/Geometry/VoronoiUtils.cpp @@ -4,6 +4,7 @@ #include #include "VoronoiUtils.hpp" +#include "libslic3r.h" namespace Slic3r::Geometry { @@ -123,7 +124,7 @@ VoronoiUtils::discretize_parabola(const Point &source_point, const Segment &sour Point pxx; Line(a, b).distance_to_infinite_squared(source_point, &pxx); const Point ppxx = pxx - source_point; - const coord_t d = ppxx.cast().norm(); + const coord_t d = ppxx.norm(); const Vec2d rot = perp(ppxx).cast().normalized(); const double rot_cos_theta = rot.x(); @@ -136,8 +137,8 @@ VoronoiUtils::discretize_parabola(const Point &source_point, const Segment &sour } const double marking_bound = atan(transitioning_angle * 0.5); - int64_t msx = -marking_bound * int64_t(d); // projected marking_start - int64_t mex = marking_bound * int64_t(d); // projected marking_end + int64_t msx = -marking_bound * d; // projected marking_start + int64_t mex = marking_bound * d; // projected marking_end const coord_t marking_start_end_h = msx * msx / (2 * d) + d / 2; Point marking_start = Point(coord_t(msx), marking_start_end_h).rotated(rot_cos_theta, rot_sin_theta) + pxx; @@ -151,7 +152,7 @@ VoronoiUtils::discretize_parabola(const Point &source_point, const Segment &sour bool add_marking_start = msx * int64_t(dir) > int64_t(sx - px) * int64_t(dir) && msx * int64_t(dir) < int64_t(ex - px) * int64_t(dir); bool add_marking_end = mex * int64_t(dir) > int64_t(sx - px) * int64_t(dir) && mex * int64_t(dir) < int64_t(ex - px) * int64_t(dir); - const Point apex = Point(0, d / 2).rotated(rot_cos_theta, rot_sin_theta) + pxx; + const Point apex = Point(coord_t(0), coord_t(d / 2)).rotated(rot_cos_theta, rot_sin_theta) + pxx; bool add_apex = int64_t(sx - px) * int64_t(dir) < 0 && int64_t(ex - px) * int64_t(dir) > 0; assert(!add_marking_start || !add_marking_end || add_apex); diff --git a/src/libslic3r/Measure.cpp b/src/libslic3r/Measure.cpp index 2e6156a88e3..59cd9e99fb5 100644 --- a/src/libslic3r/Measure.cpp +++ b/src/libslic3r/Measure.cpp @@ -114,7 +114,7 @@ void MeasuringImpl::update_planes() const size_t num_of_facets = m_its.indices.size(); m_face_to_plane.resize(num_of_facets, size_t(-1)); const std::vector face_normals = its_face_normals(m_its); - const std::vector face_neighbors = its_face_neighbors(m_its); + const std::vector face_neighbors = its_face_neighbors(m_its); std::vector facet_queue(num_of_facets, 0); int facet_queue_cnt = 0; const stl_normal* normal_ptr = nullptr; @@ -149,7 +149,7 @@ void MeasuringImpl::update_planes() int facet_idx = facet_queue[-- facet_queue_cnt]; const stl_normal& this_normal = face_normals[facet_idx]; if (is_same_normal(this_normal, *normal_ptr)) { -// const Vec3i& face = m_its.indices[facet_idx]; +// const Vec3i32& face = m_its.indices[facet_idx]; m_face_to_plane[facet_idx] = m_planes.size() - 1; m_planes.back().facets.emplace_back(facet_idx); diff --git a/src/libslic3r/MeshBoolean.cpp b/src/libslic3r/MeshBoolean.cpp index f6dd46e9ee9..e246c16d494 100644 --- a/src/libslic3r/MeshBoolean.cpp +++ b/src/libslic3r/MeshBoolean.cpp @@ -210,7 +210,7 @@ indexed_triangle_set cgal_to_indexed_triangle_set(const _Mesh &cgalmesh) auto vtc = cgalmesh.vertices_around_face(cgalmesh.halfedge(face)); int i = 0; - Vec3i facet; + Vec3i32 facet; for (auto v : vtc) { int iv = v; if (i > 2 || iv < 0 || iv >= vsize) { i = 0; break; } @@ -550,7 +550,7 @@ TriangleMesh mcut_to_triangle_mesh(const McutMesh &mcutmesh) int faceVertexOffsetBase = 0; // for each face in CC - std::vector faces(ccFaceCount); + std::vector faces(ccFaceCount); for (uint32_t f = 0; f < ccFaceCount; ++f) { int faceSize = faceSizes.at(f); @@ -730,7 +730,7 @@ bool do_boolean_single(McutMesh &srcMesh, const McutMesh &cutMesh, const std::st int faceVertexOffsetBase = 0; // for each face in CC - std::vector faces(ccFaceCount); + std::vector faces(ccFaceCount); for (uint32_t f = 0; f < ccFaceCount; ++f) { bool reverseWindingOrder = (fragmentLocation == MC_FRAGMENT_LOCATION_BELOW) && (patchLocation == MC_PATCH_LOCATION_OUTSIDE); int faceSize = faceSizes.at(f); diff --git a/src/libslic3r/MeshSplitImpl.hpp b/src/libslic3r/MeshSplitImpl.hpp index 711923ce115..9fa87d2a9e1 100644 --- a/src/libslic3r/MeshSplitImpl.hpp +++ b/src/libslic3r/MeshSplitImpl.hpp @@ -14,7 +14,7 @@ namespace Slic3r { template -std::vector create_face_neighbors_index(ExPolicy &&ex, const indexed_triangle_set &its); +std::vector create_face_neighbors_index(ExPolicy &&ex, const indexed_triangle_set &its); namespace meshsplit_detail { @@ -26,7 +26,7 @@ template struct ItsWithNeighborsIndex_ { // Define a default neighbors index for indexed_triangle_set template<> struct ItsWithNeighborsIndex_ { - using Index = std::vector; + using Index = std::vector; static const indexed_triangle_set &get_its(const indexed_triangle_set &its) noexcept { return its; } static Index get_index(const indexed_triangle_set &its) noexcept { @@ -161,7 +161,7 @@ void its_split(const Its &m, OutputIt out_it) // Assign the facets to the new mesh. for (size_t face_id : facets) { const auto &face = its.indices[face_id]; - Vec3i new_face; + Vec3i32 new_face; for (size_t v = 0; v < 3; ++v) { auto vi = face(v); @@ -221,7 +221,7 @@ size_t its_number_of_patches(const Its &m) } template -std::vector create_face_neighbors_index(ExPolicy &&ex, const indexed_triangle_set &its) +std::vector create_face_neighbors_index(ExPolicy &&ex, const indexed_triangle_set &its) { const std::vector &indices = its.indices; @@ -231,14 +231,14 @@ std::vector create_face_neighbors_index(ExPolicy &&ex, const indexed_tria auto vertex_triangles = VertexFaceIndex{its}; static constexpr int no_value = -1; - std::vector neighbors(indices.size(), - Vec3i(no_value, no_value, no_value)); + std::vector neighbors(indices.size(), + Vec3i32(no_value, no_value, no_value)); //for (int face_idx = 0; face_idx < indices.size(); face_idx++) { execution::for_each(ex, size_t(0), indices.size(), [&neighbors, &indices, &vertex_triangles] (size_t face_idx) { - Vec3i& neighbor = neighbors[face_idx]; + Vec3i32& neighbor = neighbors[face_idx]; const stl_triangle_vertex_indices & triangle_indices = indices[face_idx]; for (int edge_index = 0; edge_index < 3; ++edge_index) { // check if done @@ -246,7 +246,7 @@ std::vector create_face_neighbors_index(ExPolicy &&ex, const indexed_tria if (neighbor_edge != no_value) // This edge already has a neighbor assigned. continue; - Vec2i edge_indices = its_triangle_edge(triangle_indices, edge_index); + Vec2i32 edge_indices = its_triangle_edge(triangle_indices, edge_index); // IMPROVE: use same vector for 2 sides of triangle for (const size_t other_face : vertex_triangles[edge_indices[0]]) { if (other_face <= face_idx) continue; diff --git a/src/libslic3r/NormalUtils.cpp b/src/libslic3r/NormalUtils.cpp index dc945156565..8619b749a22 100644 --- a/src/libslic3r/NormalUtils.cpp +++ b/src/libslic3r/NormalUtils.cpp @@ -19,7 +19,7 @@ std::vector NormalUtils::create_triangle_normals( { std::vector normals; normals.reserve(its.indices.size()); - for (const Vec3crd &index : its.indices) { + for (const auto &index : its.indices) { normals.push_back(create_triangle_normal(index, its.vertices)); } return normals; @@ -31,7 +31,7 @@ NormalUtils::Normals NormalUtils::create_normals_average_neighbor( size_t count_vertices = its.vertices.size(); std::vector normals(count_vertices, Vec3f(.0f, .0f, .0f)); std::vector count(count_vertices, 0); - for (const Vec3crd &indice : its.indices) { + for (const auto &indice : its.indices) { Vec3f normal = create_triangle_normal(indice, its.vertices); for (int i = 0; i < 3; ++i) { normals[indice[i]] += normal; @@ -48,7 +48,7 @@ NormalUtils::Normals NormalUtils::create_normals_average_neighbor( // calc triangle angle of vertex defined by index to triangle indices float NormalUtils::indice_angle(int i, - const Vec3crd & indice, + const Vec3i32 & indice, const std::vector &vertices) { int i1 = (i == 0) ? 2 : (i - 1); @@ -74,7 +74,7 @@ NormalUtils::Normals NormalUtils::create_normals_angle_weighted( size_t count_vertices = its.vertices.size(); std::vector normals(count_vertices, Vec3f(.0f, .0f, .0f)); std::vector count(count_vertices, 0.f); - for (const Vec3crd &indice : its.indices) { + for (const auto &indice : its.indices) { Vec3f normal = create_triangle_normal(indice, its.vertices); Vec3f angles(indice_angle(0, indice, its.vertices), indice_angle(1, indice, its.vertices), 0.f); @@ -100,7 +100,7 @@ NormalUtils::Normals NormalUtils::create_normals_nelson_weighted( std::vector normals(count_vertices, Vec3f(.0f, .0f, .0f)); std::vector count(count_vertices, 0.f); const std::vector &vertices = its.vertices; - for (const Vec3crd &indice : its.indices) { + for (const auto &indice : its.indices) { Vec3f normal = create_triangle_normal(indice, vertices); const stl_vertex &v0 = vertices[indice[0]]; diff --git a/src/libslic3r/NormalUtils.hpp b/src/libslic3r/NormalUtils.hpp index 60ec57f7244..8dcd0c0290f 100644 --- a/src/libslic3r/NormalUtils.hpp +++ b/src/libslic3r/NormalUtils.hpp @@ -61,7 +61,7 @@ public: /// vertices data /// Angle [in radian] static float indice_angle(int i, - const Vec3crd & indice, + const Vec3i32 & indice, const std::vector &vertices); }; diff --git a/src/libslic3r/OpenVDBUtils.hpp b/src/libslic3r/OpenVDBUtils.hpp index 490b3e22281..f4441ba9648 100644 --- a/src/libslic3r/OpenVDBUtils.hpp +++ b/src/libslic3r/OpenVDBUtils.hpp @@ -17,7 +17,7 @@ namespace Slic3r { inline Vec3f to_vec3f(const openvdb::Vec3s &v) { return Vec3f{v.x(), v.y(), v.z()}; } inline Vec3d to_vec3d(const openvdb::Vec3s &v) { return to_vec3f(v).cast(); } -inline Vec3i to_vec3i(const openvdb::Vec3I &v) { return Vec3i{int(v[0]), int(v[1]), int(v[2])}; } +inline Vec3i32 to_vec3i(const openvdb::Vec3I &v) { return Vec3i32{int(v[0]), int(v[1]), int(v[2])}; } // Here voxel_scale defines the scaling of voxels which affects the voxel count. // 1.0 value means a voxel for every unit cube. 2 means the model is scaled to diff --git a/src/libslic3r/Point.cpp b/src/libslic3r/Point.cpp index 38c813d0980..d0cea481bee 100644 --- a/src/libslic3r/Point.cpp +++ b/src/libslic3r/Point.cpp @@ -76,9 +76,9 @@ void Point::rotate(double angle, const Point ¢er) */ double Point::ccw(const Point &p1, const Point &p2) const { - static_assert(sizeof(coord_t) == 4, "Point::ccw() requires a 32 bit coord_t"); - return cross2((p2 - p1).cast(), (*this - p1).cast()); -// return cross2((p2 - p1).cast(), (*this - p1).cast()); + // static_assert(sizeof(coord_t) == 4, "Point::ccw() requires a 32 bit coord_t"); + // return cross2((p2 - p1).cast(), (*this - p1).cast()); + return cross2((p2 - p1).cast(), (*this - p1).cast()); } double Point::ccw(const Line &line) const diff --git a/src/libslic3r/Point.hpp b/src/libslic3r/Point.hpp index b3498e308da..8181da42687 100644 --- a/src/libslic3r/Point.hpp +++ b/src/libslic3r/Point.hpp @@ -42,13 +42,14 @@ template using Vec = Mat; // Vector types with a fixed point coordinate base type. using Vec2crd = Eigen::Matrix; using Vec3crd = Eigen::Matrix; -using Vec2i = Eigen::Matrix; -using Vec3i = Eigen::Matrix; -using Vec4i = Eigen::Matrix; +// using Vec2i = Eigen::Matrix; +// using Vec3i = Eigen::Matrix; +// using Vec4i = Eigen::Matrix; using Vec2i32 = Eigen::Matrix; using Vec2i64 = Eigen::Matrix; using Vec3i32 = Eigen::Matrix; using Vec3i64 = Eigen::Matrix; +using Vec4i32 = Eigen::Matrix; // Vector types with a double coordinate base type. using Vec2f = Eigen::Matrix; @@ -185,6 +186,8 @@ public: Point() : Vec2crd(0, 0) {} Point(int32_t x, int32_t y) : Vec2crd(coord_t(x), coord_t(y)) {} Point(int64_t x, int64_t y) : Vec2crd(coord_t(x), coord_t(y)) {} + Point(int64_t x, int32_t y) : Vec2crd(coord_t(x), coord_t(y)) {} + Point(int32_t x, int64_t y) : Vec2crd(coord_t(x), coord_t(y)) {} Point(double x, double y) : Vec2crd(coord_t(std::round(x)), coord_t(std::round(y))) {} Point(const Point &rhs) { *this = rhs; } explicit Point(const Vec2d& rhs) : Vec2crd(coord_t(std::round(rhs.x())), coord_t(std::round(rhs.y()))) {} @@ -652,10 +655,10 @@ namespace boost { namespace polygon { namespace cereal { // template void serialize(Archive& archive, Slic3r::Vec2crd &v) { archive(v.x(), v.y()); } // template void serialize(Archive& archive, Slic3r::Vec3crd &v) { archive(v.x(), v.y(), v.z()); } - template void serialize(Archive& archive, Slic3r::Vec2i &v) { archive(v.x(), v.y()); } - template void serialize(Archive& archive, Slic3r::Vec3i &v) { archive(v.x(), v.y(), v.z()); } -// template void serialize(Archive& archive, Slic3r::Vec2i64 &v) { archive(v.x(), v.y()); } -// template void serialize(Archive& archive, Slic3r::Vec3i64 &v) { archive(v.x(), v.y(), v.z()); } + template void serialize(Archive& archive, Slic3r::Vec2i32 &v) { archive(v.x(), v.y()); } + template void serialize(Archive& archive, Slic3r::Vec3i32 &v) { archive(v.x(), v.y(), v.z()); } + template void serialize(Archive& archive, Slic3r::Vec2i64 &v) { archive(v.x(), v.y()); } + template void serialize(Archive& archive, Slic3r::Vec3i64 &v) { archive(v.x(), v.y(), v.z()); } template void serialize(Archive& archive, Slic3r::Vec2f &v) { archive(v.x(), v.y()); } template void serialize(Archive& archive, Slic3r::Vec3f &v) { archive(v.x(), v.y(), v.z()); } template void serialize(Archive& archive, Slic3r::Vec2d &v) { archive(v.x(), v.y()); } diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 93bbc7c94ba..2522926f1e5 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -692,12 +692,12 @@ StringObjectException Print::sequential_print_clearance_valid(const Print &print float unsafe_dist = scale_(print_config.extruder_clearance_max_radius.value - print_config.extruder_clearance_radius.value); struct VecHash { - size_t operator()(const Vec2i &n1) const + size_t operator()(const Vec2i32 &n1) const { return std::hash()(int(n1(0) * 100 + 100)) + std::hash()(int(n1(1) * 100 + 100)) * 101; } }; - std::unordered_set left_right_pair; // pairs in this vector must strictly obey the left-right order + std::unordered_set left_right_pair; // pairs in this vector must strictly obey the left-right order for (size_t i = 0; i < print_instance_with_bounding_box.size();i++) { auto &inst = print_instance_with_bounding_box[i]; inst.index = i; diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index b74fadbf987..03aac8f29c6 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -523,7 +523,7 @@ void PrintConfigDef::init_common_params() def->tooltip = L("Maximum printable height which is limited by mechanism of printer"); def->sidetext = L("mm"); def->min = 0; - def->max = 2000; + def->max = 214700; def->mode = comSimple; def->set_default_value(new ConfigOptionFloat(100.0)); diff --git a/src/libslic3r/QuadricEdgeCollapse.cpp b/src/libslic3r/QuadricEdgeCollapse.cpp index 48a72e6d84f..5d0e3c17e89 100644 --- a/src/libslic3r/QuadricEdgeCollapse.cpp +++ b/src/libslic3r/QuadricEdgeCollapse.cpp @@ -263,13 +263,13 @@ void Slic3r::its_quadric_edge_collapse( is_flipped(new_vertex0, ti0, ti1, v_info1, t_infos, e_infos, its)) { // try other triangle's edge Vec3d errors = calculate_3errors(t0, its.vertices, v_infos); - Vec3i ord = (errors[0] < errors[1]) ? + Vec3i32 ord = (errors[0] < errors[1]) ? ((errors[0] < errors[2])? - ((errors[1] < errors[2]) ? Vec3i(0, 1, 2) : Vec3i(0, 2, 1)) : - Vec3i(2, 0, 1)): + ((errors[1] < errors[2]) ? Vec3i32(0, 1, 2) : Vec3i32(0, 2, 1)) : + Vec3i32(2, 0, 1)): ((errors[1] < errors[2])? - ((errors[0] < errors[2]) ? Vec3i(1, 0, 2) : Vec3i(1, 2, 0)) : - Vec3i(2, 1, 0)); + ((errors[0] < errors[2]) ? Vec3i32(1, 0, 2) : Vec3i32(1, 2, 0)) : + Vec3i32(2, 1, 0)); if (t_info0.min_index == ord[0]) { t_info0.min_index = ord[1]; e.value = errors[t_info0.min_index]; @@ -880,7 +880,7 @@ void QuadricEdgeCollapse::store_surround(const char *obj_filename, triangles.insert(ti); if (item.second == 0) continue; - const Vec3i &t = its.indices[ti]; + const Vec3i32 &t = its.indices[ti]; for (size_t i = 0; i < 3; ++i) { const auto &v_info = v_infos[t[i]]; for (size_t d = 0; d < v_info.count; ++d) { diff --git a/src/libslic3r/SLA/Hollowing.cpp b/src/libslic3r/SLA/Hollowing.cpp index b0d33a0cad2..df621277703 100644 --- a/src/libslic3r/SLA/Hollowing.cpp +++ b/src/libslic3r/SLA/Hollowing.cpp @@ -365,7 +365,7 @@ double get_distance(const Vec3f &p, const Interior &interior) // part of that mesh and the vertices it consists of. enum { NEW_FACE = -1}; struct DivFace { - Vec3i indx; + Vec3i32 indx; std::array verts; long faceid = NEW_FACE; long parent = NEW_FACE; @@ -511,7 +511,7 @@ void remove_inside_triangles(TriangleMesh &mesh, const Interior &interior, interior.reset_accessor(); exec_policy::for_each(size_t(0), faces.size(), [&] (size_t face_idx) { - const Vec3i &face = faces[face_idx]; + const Vec3i32 &face = faces[face_idx]; // If the triangle is excluded, we need to keep it. if (is_excluded(face_idx)) @@ -532,7 +532,7 @@ void remove_inside_triangles(TriangleMesh &mesh, const Interior &interior, }, exec_policy::max_concurreny()); - auto new_faces = reserve_vector(faces.size() + + auto new_faces = reserve_vector(faces.size() + mesh_mods.new_triangles.size()); for (size_t face_idx = 0; face_idx < faces.size(); ++face_idx) { diff --git a/src/libslic3r/SLA/IndexedMesh.cpp b/src/libslic3r/SLA/IndexedMesh.cpp index cd1c28278d6..60255195bbf 100644 --- a/src/libslic3r/SLA/IndexedMesh.cpp +++ b/src/libslic3r/SLA/IndexedMesh.cpp @@ -116,7 +116,7 @@ const std::vector& IndexedMesh::vertices() const -const std::vector& IndexedMesh::indices() const +const std::vector& IndexedMesh::indices() const { return m_tm->indices; } @@ -130,7 +130,7 @@ const Vec3f& IndexedMesh::vertices(size_t idx) const -const Vec3i& IndexedMesh::indices(size_t idx) const +const Vec3i32& IndexedMesh::indices(size_t idx) const { return m_tm->indices[idx]; } @@ -394,7 +394,7 @@ PointSet normals(const PointSet& points, if (ic >= 0) { // The point is right on a vertex of the triangle for (size_t n = 0; n < mesh.indices().size(); ++n) { thr(); - Vec3i ni = mesh.indices(n); + Vec3i32 ni = mesh.indices(n); if ((ni(X) == ic || ni(Y) == ic || ni(Z) == ic)) neigh.emplace_back(n); } @@ -402,7 +402,7 @@ PointSet normals(const PointSet& points, // now get all the neigboring triangles for (size_t n = 0; n < mesh.indices().size(); ++n) { thr(); - Vec3i ni = mesh.indices(n); + Vec3i32 ni = mesh.indices(n); if ((ni(X) == ia || ni(Y) == ia || ni(Z) == ia) && (ni(X) == ib || ni(Y) == ib || ni(Z) == ib)) neigh.emplace_back(n); diff --git a/src/libslic3r/SLA/IndexedMesh.hpp b/src/libslic3r/SLA/IndexedMesh.hpp index 9348a97c9bd..bb2dee034c5 100644 --- a/src/libslic3r/SLA/IndexedMesh.hpp +++ b/src/libslic3r/SLA/IndexedMesh.hpp @@ -64,9 +64,9 @@ public: inline double ground_level_offset() const { return m_gnd_offset; } const std::vector& vertices() const; - const std::vector& indices() const; + const std::vector& indices() const; const Vec3f& vertices(size_t idx) const; - const Vec3i& indices(size_t idx) const; + const Vec3i32& indices(size_t idx) const; // Result of a raycast class hit_result { diff --git a/src/libslic3r/SLA/RasterToPolygons.cpp b/src/libslic3r/SLA/RasterToPolygons.cpp index cd84a3cb4a0..79c21fe726c 100644 --- a/src/libslic3r/SLA/RasterToPolygons.cpp +++ b/src/libslic3r/SLA/RasterToPolygons.cpp @@ -33,7 +33,7 @@ template void foreach_vertex(ExPolygon &poly, Fn &&fn) for (auto &p : h.points) fn(p); } -ExPolygons raster_to_polygons(const RasterGrayscaleAA &rst, Vec2i windowsize) +ExPolygons raster_to_polygons(const RasterGrayscaleAA &rst, Vec2i32 windowsize) { size_t rows = rst.resolution().height_px, cols = rst.resolution().width_px; diff --git a/src/libslic3r/SLA/RasterToPolygons.hpp b/src/libslic3r/SLA/RasterToPolygons.hpp index c0e1f41145c..e7e554fbb73 100644 --- a/src/libslic3r/SLA/RasterToPolygons.hpp +++ b/src/libslic3r/SLA/RasterToPolygons.hpp @@ -8,7 +8,7 @@ namespace sla { class RasterGrayscaleAA; -ExPolygons raster_to_polygons(const RasterGrayscaleAA &rst, Vec2i windowsize = {2, 2}); +ExPolygons raster_to_polygons(const RasterGrayscaleAA &rst, Vec2i32 windowsize = {2, 2}); }} // namespace Slic3r::sla diff --git a/src/libslic3r/SLA/SupportPointGenerator.cpp b/src/libslic3r/SLA/SupportPointGenerator.cpp index c7a1b65c6b0..7c6c8d1f6b9 100644 --- a/src/libslic3r/SLA/SupportPointGenerator.cpp +++ b/src/libslic3r/SLA/SupportPointGenerator.cpp @@ -439,8 +439,8 @@ static inline std::vector poisson_disk_from_samples(const std::vector(raw_samples.size()); @@ -464,7 +464,7 @@ static inline std::vector poisson_disk_from_samples(const std::vector()(cell_id.x()) ^ std::hash()(cell_id.y() * 593); } }; @@ -472,11 +472,11 @@ static inline std::vector poisson_disk_from_samples(const std::vector Cells; + typedef std::unordered_map Cells; Cells cells; { typename Cells::iterator last_cell_id_it; - Vec2i last_cell_id(-1, -1); + Vec2i32 last_cell_id(-1, -1); for (size_t i = 0; i < raw_samples_sorted.size(); ++ i) { const RawSample &sample = raw_samples_sorted[i]; if (sample.cell_id == last_cell_id) { @@ -500,7 +500,7 @@ static inline std::vector poisson_disk_from_samples(const std::vector poisson_disk_from_samples(const std::vectorsecond; for (int i_sample = 0; i_sample < neighbor.num_poisson_samples; ++ i_sample) diff --git a/src/libslic3r/SLA/SupportPointGenerator.hpp b/src/libslic3r/SLA/SupportPointGenerator.hpp index 441b82de1f2..17daed9f307 100644 --- a/src/libslic3r/SLA/SupportPointGenerator.hpp +++ b/src/libslic3r/SLA/SupportPointGenerator.hpp @@ -139,17 +139,17 @@ public: struct PointGrid3D { struct GridHash { - std::size_t operator()(const Vec3i &cell_id) const { + std::size_t operator()(const Vec3i32 &cell_id) const { return std::hash()(cell_id.x()) ^ std::hash()(cell_id.y() * 593) ^ std::hash()(cell_id.z() * 7919); } }; - typedef std::unordered_multimap Grid; + typedef std::unordered_multimap Grid; Vec3f cell_size; Grid grid; - Vec3i cell_id(const Vec3f &pos) { - return Vec3i(int(floor(pos.x() / cell_size.x())), + Vec3i32 cell_id(const Vec3f &pos) { + return Vec3i32(int(floor(pos.x() / cell_size.x())), int(floor(pos.y() / cell_size.y())), int(floor(pos.z() / cell_size.z()))); } @@ -163,7 +163,7 @@ public: bool collides_with(const Vec2f &pos, float print_z, float radius) { Vec3f pos3d(pos.x(), pos.y(), print_z); - Vec3i cell = cell_id(pos3d); + Vec3i32 cell = cell_id(pos3d); std::pair it_pair = grid.equal_range(cell); if (collides_with(pos3d, radius, it_pair.first, it_pair.second)) return true; @@ -172,7 +172,7 @@ public: for (int k = -1; k < 1; ++ k) { if (i == 0 && j == 0 && k == 0) continue; - it_pair = grid.equal_range(cell + Vec3i(i, j, k)); + it_pair = grid.equal_range(cell + Vec3i32(i, j, k)); if (collides_with(pos3d, radius, it_pair.first, it_pair.second)) return true; } diff --git a/src/libslic3r/SLAPrintSteps.cpp b/src/libslic3r/SLAPrintSteps.cpp index 4de75edc42c..12eb2226e81 100644 --- a/src/libslic3r/SLAPrintSteps.cpp +++ b/src/libslic3r/SLAPrintSteps.cpp @@ -183,7 +183,7 @@ struct FaceHash { return ret; } - static std::string facekey(const Vec3i &face, const std::vector &vertices) + static std::string facekey(const Vec3i32 &face, const std::vector &vertices) { // Scale to integer to avoid floating points std::array, 3> pts = { @@ -204,7 +204,7 @@ struct FaceHash { FaceHash (const indexed_triangle_set &its): facehash(its.indices.size()) { - for (const Vec3i &face : its.indices) + for (const Vec3i32 &face : its.indices) facehash.insert(facekey(face, its.vertices)); } @@ -231,7 +231,7 @@ static std::vector create_exclude_mask( VertexFaceIndex neighbor_index{its}; - auto exclude_neighbors = [&neighbor_index, &exclude_mask](const Vec3i &face) + auto exclude_neighbors = [&neighbor_index, &exclude_mask](const Vec3i32 &face) { for (int i = 0; i < 3; ++i) { const auto &neighbors_range = neighbor_index[face(i)]; diff --git a/src/libslic3r/ShortEdgeCollapse.cpp b/src/libslic3r/ShortEdgeCollapse.cpp index 0c940cb4750..3397daf55cb 100644 --- a/src/libslic3r/ShortEdgeCollapse.cpp +++ b/src/libslic3r/ShortEdgeCollapse.cpp @@ -33,7 +33,7 @@ void its_short_edge_collpase(indexed_triangle_set &mesh, size_t target_triangle_ // if face is removed, mark it here std::vector face_removal_flags(mesh.indices.size(), false); - std::vector triangles_neighbors = its_face_neighbors_par(mesh); + std::vector triangles_neighbors = its_face_neighbors_par(mesh); // now compute vertices dot product - this is used during edge collapse, // to determine which vertex to remove and which to keep; We try to keep the one with larger angle, because it defines the shape "more". @@ -46,7 +46,7 @@ void its_short_edge_collpase(indexed_triangle_set &mesh, size_t target_triangle_ std::vector vertex_normals = NormalUtils::create_normals(mesh); for (size_t face_idx = 0; face_idx < mesh.indices.size(); ++face_idx) { - Vec3i t = mesh.indices[face_idx]; + Vec3i32 t = mesh.indices[face_idx]; Vec3f n = face_normals[face_idx]; min_vertex_dot_product[t[0]] = std::min(min_vertex_dot_product[t[0]], n.dot(vertex_normals[t[0]])); min_vertex_dot_product[t[1]] = std::min(min_vertex_dot_product[t[1]], n.dot(vertex_normals[t[1]])); @@ -60,7 +60,7 @@ void its_short_edge_collpase(indexed_triangle_set &mesh, size_t target_triangle_ return; } face_removal_flags[face_idx] = true; - Vec3i neighbors = triangles_neighbors[face_idx]; + Vec3i32 neighbors = triangles_neighbors[face_idx]; int n_a = neighbors[0] != other_face_idx ? neighbors[0] : neighbors[1]; int n_b = neighbors[2] != other_face_idx ? neighbors[2] : neighbors[1]; if (n_a > 0) @@ -157,10 +157,10 @@ void its_short_edge_collpase(indexed_triangle_set &mesh, size_t target_triangle_ //Extract the result mesh std::unordered_map final_vertices_mapping; std::vector final_vertices; - std::vector final_indices; + std::vector final_indices; final_indices.reserve(face_indices.size()); for (size_t idx : face_indices) { - Vec3i final_face; + Vec3i32 final_face; for (size_t i = 0; i < 3; ++i) { final_face[i] = get_final_index(mesh.indices[idx][i]); } diff --git a/src/libslic3r/Support/SupportMaterial.cpp b/src/libslic3r/Support/SupportMaterial.cpp index 7e1e98c193e..bc84af8deb5 100644 --- a/src/libslic3r/Support/SupportMaterial.cpp +++ b/src/libslic3r/Support/SupportMaterial.cpp @@ -72,7 +72,7 @@ namespace Slic3r { #define SUPPORT_SURFACES_OFFSET_PARAMETERS ClipperLib::jtSquare, 0. #ifdef SUPPORT_USE_AGG_RASTERIZER -static std::vector rasterize_polygons(const Vec2i &grid_size, const double pixel_size, const Point &left_bottom, const Polygons &polygons) +static std::vector rasterize_polygons(const Vec2i32 &grid_size, const double pixel_size, const Point &left_bottom, const Polygons &polygons) { std::vector data(grid_size.x() * grid_size.y()); agg::rendering_buffer rendering_buffer(data.data(), unsigned(grid_size.x()), unsigned(grid_size.y()), grid_size.x()); @@ -106,7 +106,7 @@ static std::vector rasterize_polygons(const Vec2i &grid_size, con return data; } // Grid has to have the boundary pixels unset. -static Polygons contours_simplified(const Vec2i &grid_size, const double pixel_size, Point left_bottom, const std::vector &grid, coord_t offset, bool fill_holes) +static Polygons contours_simplified(const Vec2i32 &grid_size, const double pixel_size, Point left_bottom, const std::vector &grid, coord_t offset, bool fill_holes) { assert(std::abs(2 * offset) < pixel_size - 10); @@ -542,13 +542,13 @@ public: // Add one empty column / row boundaries. m_bbox.offset(m_pixel_size); // Grid size fitting the support polygons plus one pixel boundary around the polygons. - Vec2i grid_size_raw(int(ceil((m_bbox.max.x() - m_bbox.min.x()) / m_pixel_size)), + Vec2i32 grid_size_raw(int(ceil((m_bbox.max.x() - m_bbox.min.x()) / m_pixel_size)), int(ceil((m_bbox.max.y() - m_bbox.min.y()) / m_pixel_size))); // Overlay macro blocks of (oversampling x oversampling) over the grid. - Vec2i grid_blocks((grid_size_raw.x() + oversampling - 1 - 2) / oversampling, + Vec2i32 grid_blocks((grid_size_raw.x() + oversampling - 1 - 2) / oversampling, (grid_size_raw.y() + oversampling - 1 - 2) / oversampling); // and resize the grid to fit the macro blocks + one pixel boundary. - m_grid_size = grid_blocks * oversampling + Vec2i(2, 2); + m_grid_size = grid_blocks * oversampling + Vec2i32(2, 2); assert(m_grid_size.x() >= grid_size_raw.x()); assert(m_grid_size.y() >= grid_size_raw.y()); m_grid2 = rasterize_polygons(m_grid_size, m_pixel_size, m_bbox.min, *m_support_polygons); @@ -837,7 +837,7 @@ private: #ifdef SUPPORT_USE_AGG_RASTERIZER // Dilate the trimming region (unmask the boundary pixels). - static std::vector dilate_trimming_region(const std::vector &trimming, const Vec2i &grid_size) + static std::vector dilate_trimming_region(const std::vector &trimming, const Vec2i32 &grid_size) { std::vector dilated(trimming.size(), 0); for (int r = 1; r + 1 < grid_size.y(); ++ r) @@ -858,7 +858,7 @@ private: } // Seed fill each of the (oversampling x oversampling) block up to the dilated trimming region. - static void seed_fill_block(std::vector &grid, Vec2i grid_size, const std::vector &trimming,const Vec2i &grid_blocks, int oversampling) + static void seed_fill_block(std::vector &grid, Vec2i32 grid_size, const std::vector &trimming,const Vec2i32 &grid_blocks, int oversampling) { int size = oversampling; int stride = grid_size.x(); @@ -968,7 +968,7 @@ private: coordf_t m_support_material_closing_radius; #ifdef SUPPORT_USE_AGG_RASTERIZER - Vec2i m_grid_size; + Vec2i32 m_grid_size; double m_pixel_size; BoundingBox m_bbox; std::vector m_grid2; diff --git a/src/libslic3r/Support/TreeSupport.cpp b/src/libslic3r/Support/TreeSupport.cpp index 24970e13475..cbde8ba00b3 100644 --- a/src/libslic3r/Support/TreeSupport.cpp +++ b/src/libslic3r/Support/TreeSupport.cpp @@ -26,6 +26,7 @@ #include "../Polygon.hpp" #include "../Polyline.hpp" #include "../MutablePolygon.hpp" +#include "libslic3r.h" #include #include @@ -771,7 +772,7 @@ static std::optional> polyline_sample_next_point_at_dis Polygons collision_trimmed_buffer; auto collision_trimmed = [&collision_trimmed_buffer, &collision, &ret, distance]() -> const Polygons& { if (collision_trimmed_buffer.empty() && ! collision.empty()) - collision_trimmed_buffer = ClipperUtils::clip_clipper_polygons_with_subject_bbox(collision, get_extents(ret).inflated(std::max(0, distance) + SCALED_EPSILON)); + collision_trimmed_buffer = ClipperUtils::clip_clipper_polygons_with_subject_bbox(collision, get_extents(ret).inflated(std::max((coord_t)0, distance) + SCALED_EPSILON)); return collision_trimmed_buffer; }; @@ -970,7 +971,7 @@ private: std::vector &move_bounds; // Temps - static constexpr const auto m_base_radius = scaled(0.01); + static constexpr const auto m_base_radius = scaled(0.01); const Polygon m_base_circle { make_circle(m_base_radius, SUPPORT_TREE_CIRCLE_RESOLUTION) }; // Mutexes, guards diff --git a/src/libslic3r/Support/TreeSupportCommon.cpp b/src/libslic3r/Support/TreeSupportCommon.cpp index 34928a9182a..bd441340183 100644 --- a/src/libslic3r/Support/TreeSupportCommon.cpp +++ b/src/libslic3r/Support/TreeSupportCommon.cpp @@ -78,7 +78,7 @@ TreeSupportMeshGroupSettings::TreeSupportMeshGroupSettings(const PrintObject &pr this->support_tree_branch_diameter_angle = std::clamp(config.tree_support_branch_diameter_angle * M_PI / 180., 0., 0.5 * M_PI - EPSILON); this->support_tree_top_rate = config.tree_support_top_rate.value; // percent // this->support_tree_tip_diameter = this->support_line_width; - this->support_tree_tip_diameter = std::clamp(scaled(config.tree_support_tip_diameter.value), 0, this->support_tree_branch_diameter); + this->support_tree_tip_diameter = std::clamp(scaled(config.tree_support_tip_diameter.value), (coord_t)0, this->support_tree_branch_diameter); std::cout << "\n---------------\n" << "layer_height: " << layer_height << "\nresolution: " << resolution << "\nmin_feature_size: " << min_feature_size diff --git a/src/libslic3r/SupportMaterial.cpp b/src/libslic3r/SupportMaterial.cpp index 762a7ecf04e..b022607bf75 100644 --- a/src/libslic3r/SupportMaterial.cpp +++ b/src/libslic3r/SupportMaterial.cpp @@ -167,7 +167,7 @@ void export_print_z_polygons_and_extrusions_to_svg( #endif /* SLIC3R_DEBUG */ #ifdef SUPPORT_USE_AGG_RASTERIZER -static std::vector rasterize_polygons(const Vec2i &grid_size, const double pixel_size, const Point &left_bottom, const Polygons &polygons) +static std::vector rasterize_polygons(const Vec2i32 &grid_size, const double pixel_size, const Point &left_bottom, const Polygons &polygons) { std::vector data(grid_size.x() * grid_size.y()); agg::rendering_buffer rendering_buffer(data.data(), unsigned(grid_size.x()), unsigned(grid_size.y()), grid_size.x()); @@ -201,7 +201,7 @@ static std::vector rasterize_polygons(const Vec2i &grid_size, con return data; } // Grid has to have the boundary pixels unset. -static Polygons contours_simplified(const Vec2i &grid_size, const double pixel_size, Point left_bottom, const std::vector &grid, coord_t offset, bool fill_holes) +static Polygons contours_simplified(const Vec2i32 &grid_size, const double pixel_size, Point left_bottom, const std::vector &grid, coord_t offset, bool fill_holes) { assert(std::abs(2 * offset) < pixel_size - 10); @@ -862,13 +862,13 @@ public: // Add one empty column / row boundaries. m_bbox.offset(m_pixel_size); // Grid size fitting the support polygons plus one pixel boundary around the polygons. - Vec2i grid_size_raw(int(ceil((m_bbox.max.x() - m_bbox.min.x()) / m_pixel_size)), + Vec2i32 grid_size_raw(int(ceil((m_bbox.max.x() - m_bbox.min.x()) / m_pixel_size)), int(ceil((m_bbox.max.y() - m_bbox.min.y()) / m_pixel_size))); // Overlay macro blocks of (oversampling x oversampling) over the grid. - Vec2i grid_blocks((grid_size_raw.x() + oversampling - 1 - 2) / oversampling, + Vec2i32 grid_blocks((grid_size_raw.x() + oversampling - 1 - 2) / oversampling, (grid_size_raw.y() + oversampling - 1 - 2) / oversampling); // and resize the grid to fit the macro blocks + one pixel boundary. - m_grid_size = grid_blocks * oversampling + Vec2i(2, 2); + m_grid_size = grid_blocks * oversampling + Vec2i32(2, 2); assert(m_grid_size.x() >= grid_size_raw.x()); assert(m_grid_size.y() >= grid_size_raw.y()); m_grid2 = rasterize_polygons(m_grid_size, m_pixel_size, m_bbox.min, *m_support_polygons); @@ -1150,7 +1150,7 @@ private: #ifdef SUPPORT_USE_AGG_RASTERIZER // Dilate the trimming region (unmask the boundary pixels). - static std::vector dilate_trimming_region(const std::vector &trimming, const Vec2i &grid_size) + static std::vector dilate_trimming_region(const std::vector &trimming, const Vec2i32 &grid_size) { std::vector dilated(trimming.size(), 0); for (int r = 1; r + 1 < grid_size.y(); ++ r) @@ -1171,7 +1171,7 @@ private: } // Seed fill each of the (oversampling x oversampling) block up to the dilated trimming region. - static void seed_fill_block(std::vector &grid, Vec2i grid_size, const std::vector &trimming,const Vec2i &grid_blocks, int oversampling) + static void seed_fill_block(std::vector &grid, Vec2i32 grid_size, const std::vector &trimming,const Vec2i32 &grid_blocks, int oversampling) { int size = oversampling; int stride = grid_size.x(); @@ -1281,7 +1281,7 @@ private: coordf_t m_support_material_closing_radius; #ifdef SUPPORT_USE_AGG_RASTERIZER - Vec2i m_grid_size; + Vec2i32 m_grid_size; double m_pixel_size; BoundingBox m_bbox; std::vector m_grid2; diff --git a/src/libslic3r/SupportSpotsGenerator.cpp b/src/libslic3r/SupportSpotsGenerator.cpp index c7c205fc454..057a64b0f8f 100644 --- a/src/libslic3r/SupportSpotsGenerator.cpp +++ b/src/libslic3r/SupportSpotsGenerator.cpp @@ -224,7 +224,7 @@ private: Vec3f cell_size; Vec3f origin; Vec3f size; - Vec3i cell_count; + Vec3i32 cell_count; std::unordered_set taken_cells{}; @@ -239,16 +239,16 @@ public: origin = min; size = max - min; - cell_count = size.cwiseQuotient(cell_size).cast() + Vec3i::Ones(); + cell_count = size.cwiseQuotient(cell_size).cast() + Vec3i32::Ones(); } - Vec3i to_cell_coords(const Vec3f &position) const + Vec3i32 to_cell_coords(const Vec3f &position) const { - Vec3i cell_coords = (position - this->origin).cwiseQuotient(this->cell_size).cast(); + Vec3i32 cell_coords = (position - this->origin).cwiseQuotient(this->cell_size).cast(); return cell_coords; } - size_t to_cell_index(const Vec3i &cell_coords) const + size_t to_cell_index(const Vec3i32 &cell_coords) const { #ifdef DETAILED_DEBUG_LOGS assert(cell_coords.x() >= 0); @@ -261,7 +261,7 @@ public: return cell_coords.z() * cell_count.x() * cell_count.y() + cell_coords.y() * cell_count.x() + cell_coords.x(); } - Vec3f get_cell_center(const Vec3i &cell_coords) const + Vec3f get_cell_center(const Vec3i32 &cell_coords) const { return origin + cell_coords.cast().cwiseProduct(this->cell_size) + this->cell_size.cwiseQuotient(Vec3f(2.0f, 2.0f, 2.0f)); } diff --git a/src/libslic3r/SurfaceMesh.hpp b/src/libslic3r/SurfaceMesh.hpp index 976387c21f6..6e52a77e203 100644 --- a/src/libslic3r/SurfaceMesh.hpp +++ b/src/libslic3r/SurfaceMesh.hpp @@ -153,12 +153,12 @@ public: bool is_border(Halfedge_index h) const { return m_face_neighbors[h.m_face][h.m_side] == -1; } bool is_same_vertex(const Vertex_index& a, const Vertex_index& b) const { return m_its.indices[a.m_face][a.m_vertex_idx] == m_its.indices[b.m_face][b.m_vertex_idx]; } - Vec3i get_face_neighbors(Face_index face_id) const { assert(int(face_id) < int(m_face_neighbors.size())); return m_face_neighbors[face_id]; } + Vec3i32 get_face_neighbors(Face_index face_id) const { assert(int(face_id) < int(m_face_neighbors.size())); return m_face_neighbors[face_id]; } private: - const std::vector m_face_neighbors; + const std::vector m_face_neighbors; const indexed_triangle_set& m_its; }; diff --git a/src/libslic3r/TriangleMesh.cpp b/src/libslic3r/TriangleMesh.cpp index 1ad9c03bd8f..b2ab0adb5dd 100644 --- a/src/libslic3r/TriangleMesh.cpp +++ b/src/libslic3r/TriangleMesh.cpp @@ -63,17 +63,17 @@ static void fill_initial_stats(const indexed_triangle_set &its, TriangleMeshStat out.volume = its_volume(its); update_bounding_box(its, out); - const std::vector face_neighbors = its_face_neighbors(its); + const std::vector face_neighbors = its_face_neighbors(its); out.number_of_parts = its_number_of_patches(its, face_neighbors); out.open_edges = its_num_open_edges(face_neighbors); } -TriangleMesh::TriangleMesh(const std::vector &vertices, const std::vector &faces) : its { faces, vertices } +TriangleMesh::TriangleMesh(const std::vector &vertices, const std::vector &faces) : its { faces, vertices } { fill_initial_stats(this->its, m_stats); } -TriangleMesh::TriangleMesh(std::vector &&vertices, const std::vector &&faces) : its { std::move(faces), std::move(vertices) } +TriangleMesh::TriangleMesh(std::vector &&vertices, const std::vector &&faces) : its { std::move(faces), std::move(vertices) } { fill_initial_stats(this->its, m_stats); } @@ -578,9 +578,9 @@ static std::vector create_edge_map( // Map from a face edge to a unique edge identifier or -1 if no neighbor exists. // Two neighbor faces share a unique edge identifier even if they are flipped. template -static inline std::vector its_face_edge_ids_impl(const indexed_triangle_set &its, FaceFilter face_filter, ThrowOnCancelCallback throw_on_cancel) +static inline std::vector its_face_edge_ids_impl(const indexed_triangle_set &its, FaceFilter face_filter, ThrowOnCancelCallback throw_on_cancel) { - std::vector out(its.indices.size(), Vec3i(-1, -1, -1)); + std::vector out(its.indices.size(), Vec3i32(-1, -1, -1)); std::vector edges_map = create_edge_map(its, face_filter, throw_on_cancel); @@ -628,36 +628,36 @@ static inline std::vector its_face_edge_ids_impl(const indexed_triangle_s return out; } -std::vector its_face_edge_ids(const indexed_triangle_set &its) +std::vector its_face_edge_ids(const indexed_triangle_set &its) { return its_face_edge_ids_impl(its, [](const uint32_t){ return true; }, [](){}); } -std::vector its_face_edge_ids(const indexed_triangle_set &its, std::function throw_on_cancel_callback) +std::vector its_face_edge_ids(const indexed_triangle_set &its, std::function throw_on_cancel_callback) { return its_face_edge_ids_impl(its, [](const uint32_t){ return true; }, throw_on_cancel_callback); } -std::vector its_face_edge_ids(const indexed_triangle_set &its, const std::vector &face_mask) +std::vector its_face_edge_ids(const indexed_triangle_set &its, const std::vector &face_mask) { return its_face_edge_ids_impl(its, [&face_mask](const uint32_t idx){ return face_mask[idx]; }, [](){}); } // Having the face neighbors available, assign unique edge IDs to face edges for chaining of polygons over slices. -std::vector its_face_edge_ids(const indexed_triangle_set &its, std::vector &face_neighbors, bool assign_unbound_edges, int *num_edges) +std::vector its_face_edge_ids(const indexed_triangle_set &its, std::vector &face_neighbors, bool assign_unbound_edges, int *num_edges) { // out elements are not initialized! - std::vector out(face_neighbors.size()); + std::vector out(face_neighbors.size()); int last_edge_id = 0; for (int i = 0; i < int(face_neighbors.size()); ++ i) { const stl_triangle_vertex_indices &triangle = its.indices[i]; - const Vec3i &neighbors = face_neighbors[i]; + const Vec3i32 &neighbors = face_neighbors[i]; for (int j = 0; j < 3; ++ j) { int n = neighbors[j]; if (n > i) { const stl_triangle_vertex_indices &triangle2 = its.indices[n]; int edge_id = last_edge_id ++; - Vec2i edge = its_triangle_edge(triangle, j); + Vec2i32 edge = its_triangle_edge(triangle, j); // First find an edge with opposite orientation. std::swap(edge(0), edge(1)); int k = its_triangle_edge_index(triangle2, edge); @@ -804,7 +804,7 @@ bool its_store_triangle(const indexed_triangle_set &its, size_t triangle_index) { if (its.indices.size() <= triangle_index) return false; - Vec3i t = its.indices[triangle_index]; + Vec3i32 t = its.indices[triangle_index]; indexed_triangle_set its2; its2.indices = {{0, 1, 2}}; its2.vertices = {its.vertices[t[0]], its.vertices[t[1]], @@ -822,8 +822,8 @@ bool its_store_triangles(const indexed_triangle_set &its, std::map vertex_map; for (auto ti : triangles) { if (its.indices.size() <= ti) return false; - Vec3i t = its.indices[ti]; - Vec3i new_t; + Vec3i32 t = its.indices[ti]; + Vec3i32 new_t; for (size_t i = 0; i < 3; ++i) { size_t vi = t[i]; auto it = vertex_map.find(vi); @@ -1301,7 +1301,7 @@ indexed_triangle_set its_make_snap(double r, double h, float space_proportion, f indexed_triangle_set its_convex_hull(const std::vector &pts) { std::vector dst_vertices; - std::vector dst_facets; + std::vector dst_facets; if (! pts.empty()) { // The qhull call: @@ -1337,7 +1337,7 @@ indexed_triangle_set its_convex_hull(const std::vector &pts) #endif // NDEBUG for (const orgQhull::QhullFacet &facet : qhull.facetList()) { // Collect face vertices first, allocate unique vertices in dst_vertices based on QHull's vertex ID. - Vec3i indices; + Vec3i32 indices; int cnt = 0; for (const orgQhull::QhullVertex vertex : facet.vertices()) { int id = vertex.id(); @@ -1397,7 +1397,7 @@ void its_merge(indexed_triangle_set &A, const indexed_triangle_set &B) A.indices.insert(A.indices.end(), B.indices.begin(), B.indices.end()); for(size_t n = N_f; n < A.indices.size(); n++) - A.indices[n] += Vec3i{N, N, N}; + A.indices[n] += Vec3i32{N, N, N}; } void its_merge(indexed_triangle_set &A, const std::vector &triangles) @@ -1466,7 +1466,7 @@ size_t its_number_of_patches(const indexed_triangle_set &its) { return its_number_of_patches<>(its); } -size_t its_number_of_patches(const indexed_triangle_set &its, const std::vector &face_neighbors) +size_t its_number_of_patches(const indexed_triangle_set &its, const std::vector &face_neighbors) { return its_number_of_patches<>(ItsNeighborsWrapper{ its, face_neighbors }); } @@ -1476,15 +1476,15 @@ bool its_is_splittable(const indexed_triangle_set &its) { return its_is_splittable<>(its); } -bool its_is_splittable(const indexed_triangle_set &its, const std::vector &face_neighbors) +bool its_is_splittable(const indexed_triangle_set &its, const std::vector &face_neighbors) { return its_is_splittable<>(ItsNeighborsWrapper{ its, face_neighbors }); } -size_t its_num_open_edges(const std::vector &face_neighbors) +size_t its_num_open_edges(const std::vector &face_neighbors) { size_t num_open_edges = 0; - for (Vec3i neighbors : face_neighbors) + for (Vec3i32 neighbors : face_neighbors) for (int n : neighbors) if (n < 0) ++ num_open_edges; @@ -1521,12 +1521,12 @@ void VertexFaceIndex::create(const indexed_triangle_set &its) m_vertex_to_face_start.front() = 0; } -std::vector its_face_neighbors(const indexed_triangle_set &its) +std::vector its_face_neighbors(const indexed_triangle_set &its) { return create_face_neighbors_index(ex_seq, its); } -std::vector its_face_neighbors_par(const indexed_triangle_set &its) +std::vector its_face_neighbors_par(const indexed_triangle_set &its) { return create_face_neighbors_index(ex_tbb, its); } diff --git a/src/libslic3r/TriangleMesh.hpp b/src/libslic3r/TriangleMesh.hpp index 54b2d45f883..15054246ac5 100644 --- a/src/libslic3r/TriangleMesh.hpp +++ b/src/libslic3r/TriangleMesh.hpp @@ -99,8 +99,8 @@ class TriangleMesh { public: TriangleMesh() = default; - TriangleMesh(const std::vector &vertices, const std::vector &faces); - TriangleMesh(std::vector &&vertices, const std::vector &&faces); + TriangleMesh(const std::vector &vertices, const std::vector &faces); + TriangleMesh(std::vector &&vertices, const std::vector &&faces); explicit TriangleMesh(const indexed_triangle_set &M); explicit TriangleMesh(indexed_triangle_set &&M, const RepairedMeshErrors& repaired_errors = RepairedMeshErrors()); void clear() { this->its.clear(); this->m_stats.clear(); } @@ -201,15 +201,15 @@ private: // Map from a face edge to a unique edge identifier or -1 if no neighbor exists. // Two neighbor faces share a unique edge identifier even if they are flipped. // Used for chaining slice lines into polygons. -std::vector its_face_edge_ids(const indexed_triangle_set &its); -std::vector its_face_edge_ids(const indexed_triangle_set &its, std::function throw_on_cancel_callback); -std::vector its_face_edge_ids(const indexed_triangle_set &its, const std::vector &face_mask); +std::vector its_face_edge_ids(const indexed_triangle_set &its); +std::vector its_face_edge_ids(const indexed_triangle_set &its, std::function throw_on_cancel_callback); +std::vector its_face_edge_ids(const indexed_triangle_set &its, const std::vector &face_mask); // Having the face neighbors available, assign unique edge IDs to face edges for chaining of polygons over slices. -std::vector its_face_edge_ids(const indexed_triangle_set &its, std::vector &face_neighbors, bool assign_unbound_edges = false, int *num_edges = nullptr); +std::vector its_face_edge_ids(const indexed_triangle_set &its, std::vector &face_neighbors, bool assign_unbound_edges = false, int *num_edges = nullptr); // Create index that gives neighbor faces for each face. Ignores face orientations. -std::vector its_face_neighbors(const indexed_triangle_set &its); -std::vector its_face_neighbors_par(const indexed_triangle_set &its); +std::vector its_face_neighbors(const indexed_triangle_set &its); +std::vector its_face_neighbors_par(const indexed_triangle_set &its); // After applying a transformation with negative determinant, flip the faces to keep the transformed mesh volume positive. void its_flip_triangles(indexed_triangle_set &its); @@ -230,18 +230,18 @@ bool its_store_triangle(const indexed_triangle_set &its, const char *obj_filenam bool its_store_triangles(const indexed_triangle_set &its, const char *obj_filename, const std::vector& triangles); std::vector its_split(const indexed_triangle_set &its); -std::vector its_split(const indexed_triangle_set &its, std::vector &face_neighbors); +std::vector its_split(const indexed_triangle_set &its, std::vector &face_neighbors); // Number of disconnected patches (faces are connected if they share an edge, shared edge defined with 2 shared vertex indices). size_t its_number_of_patches(const indexed_triangle_set &its); -size_t its_number_of_patches(const indexed_triangle_set &its, const std::vector &face_neighbors); +size_t its_number_of_patches(const indexed_triangle_set &its, const std::vector &face_neighbors); // Same as its_number_of_patches(its) > 1, but faster. bool its_is_splittable(const indexed_triangle_set &its); -bool its_is_splittable(const indexed_triangle_set &its, const std::vector &face_neighbors); +bool its_is_splittable(const indexed_triangle_set &its, const std::vector &face_neighbors); // Calculate number of unconnected face edges. There should be no unconnected edge in a manifold mesh. size_t its_num_open_edges(const indexed_triangle_set &its); -size_t its_num_open_edges(const std::vector &face_neighbors); +size_t its_num_open_edges(const std::vector &face_neighbors); // Shrink the vectors of its.vertices and its.faces to a minimum size by reallocating the two vectors. void its_shrink_to_fit(indexed_triangle_set &its); @@ -262,14 +262,14 @@ inline int its_triangle_vertex_index(const stl_triangle_vertex_indices &triangle vertex_idx == triangle_indices[2] ? 2 : -1; } -inline Vec2i its_triangle_edge(const stl_triangle_vertex_indices &triangle_indices, int edge_idx) +inline Vec2i32 its_triangle_edge(const stl_triangle_vertex_indices &triangle_indices, int edge_idx) { int next_edge_idx = (edge_idx == 2) ? 0 : edge_idx + 1; return { triangle_indices[edge_idx], triangle_indices[next_edge_idx] }; } // Index of an edge inside triangle. -inline int its_triangle_edge_index(const stl_triangle_vertex_indices &triangle_indices, const Vec2i &triangle_edge) +inline int its_triangle_edge_index(const stl_triangle_vertex_indices &triangle_indices, const Vec2i32 &triangle_edge) { return triangle_edge(0) == triangle_indices[0] && triangle_edge(1) == triangle_indices[1] ? 0 : triangle_edge(0) == triangle_indices[1] && triangle_edge(1) == triangle_indices[2] ? 1 : diff --git a/src/libslic3r/TriangleMeshSlicer.cpp b/src/libslic3r/TriangleMeshSlicer.cpp index ac01d0e0c97..acd36d78058 100644 --- a/src/libslic3r/TriangleMeshSlicer.cpp +++ b/src/libslic3r/TriangleMeshSlicer.cpp @@ -163,7 +163,7 @@ static FacetSliceType slice_facet( // 3 vertices of the triangle, XY scaled. Z scaled or unscaled (same as slice_z). const stl_vertex *vertices, const stl_triangle_vertex_indices &indices, - const Vec3i &edge_ids, + const Vec3i32 &edge_ids, const int idx_vertex_lowest, const bool horizontal, IntersectionLine &line_out) @@ -330,7 +330,7 @@ static FacetSliceType slice_facet_for_cut_mesh( // 3 vertices of the triangle, XY scaled. Z scaled or unscaled (same as slice_z). const stl_vertex * vertices, const stl_triangle_vertex_indices &indices, - const Vec3i & edge_ids, + const Vec3i32 & edge_ids, const int idx_vertex_lowest, const bool horizontal, IntersectionLine & line_out) @@ -482,7 +482,7 @@ void slice_facet_at_zs( const std::vector &mesh_vertices, const TransformVertex &transform_vertex_fn, const stl_triangle_vertex_indices &indices, - const Vec3i &edge_ids, + const Vec3i32 &edge_ids, // Scaled or unscaled zs. If vertices have their zs scaled or transform_vertex_fn scales them, then zs have to be scaled as well. const std::vector &zs, std::vector &lines, @@ -516,7 +516,7 @@ static inline std::vector slice_make_lines( const std::vector &vertices, const TransformVertex &transform_vertex_fn, const std::vector &indices, - const std::vector &face_edge_ids, + const std::vector &face_edge_ids, const std::vector &zs, const ThrowOnCancel throw_on_cancel_fn) { @@ -540,14 +540,14 @@ static inline IntersectionLines slice_make_lines( const std::vector &mesh_vertices, const TransformVertex &transform_vertex_fn, const std::vector &mesh_faces, - const std::vector &face_edge_ids, + const std::vector &face_edge_ids, const float plane_z, FaceFilter face_filter) { IntersectionLines lines; for (int face_idx = 0; face_idx < int(mesh_faces.size()); ++ face_idx) if (face_filter(face_idx)) { - const Vec3i &indices = mesh_faces[face_idx]; + const Vec3i32 &indices = mesh_faces[face_idx]; stl_vertex vertices[3] { transform_vertex_fn(mesh_vertices[indices(0)]), transform_vertex_fn(mesh_vertices[indices(1)]), transform_vertex_fn(mesh_vertices[indices(2)]) }; // find facet extents const float min_z = fminf(vertices[0].z(), fminf(vertices[1].z(), vertices[2].z())); @@ -593,8 +593,8 @@ void slice_facet_with_slabs( const std::vector &mesh_vertices, const std::vector &mesh_triangles, const size_t facet_idx, - const Vec3i &facet_neighbors, - const Vec3i &facet_edge_ids, + const Vec3i32 &facet_neighbors, + const Vec3i32 &facet_edge_ids, // Increase edge_ids at the top plane of the slab edges by num_edges to allow chaining // from bottom plane of the slab to the top plane of the slab and vice versa. const int num_edges, @@ -915,8 +915,8 @@ template inline std::pair slice_slabs_make_lines( const std::vector &vertices, const std::vector &indices, - const std::vector &face_neighbors, - const std::vector &face_edge_ids, + const std::vector &face_neighbors, + const std::vector &face_edge_ids, // Total number of edges. All face_edge_ids are lower than num_edges. // num_edges will be used to distinguish between intersections with the top and bottom plane. const int num_edges, @@ -949,9 +949,9 @@ inline std::pair slice_slabs_make_lines( if ((face_idx & 0x0ffff) == 0) throw_on_cancel_fn(); FaceOrientation fo = face_orientation[face_idx]; - Vec3i edge_ids = face_edge_ids[face_idx]; + Vec3i32 edge_ids = face_edge_ids[face_idx]; if (top && (fo == FaceOrientation::Up || fo == FaceOrientation::Degenerate)) { - Vec3i neighbors = face_neighbors[face_idx]; + Vec3i32 neighbors = face_neighbors[face_idx]; // Reset neighborship of this triangle in case the other triangle is oriented backwards from this one. for (int i = 0; i < 3; ++ i) if (neighbors(i) != -1) { @@ -963,7 +963,7 @@ inline std::pair slice_slabs_make_lines( } // BBS: add vertical faces option if (bottom && (fo == FaceOrientation::Down || fo == FaceOrientation::Degenerate)) { - Vec3i neighbors = face_neighbors[face_idx]; + Vec3i32 neighbors = face_neighbors[face_idx]; // Reset neighborship of this triangle in case the other triangle is oriented backwards from this one. for (int i = 0; i < 3; ++ i) if (neighbors(i) != -1) { @@ -1882,7 +1882,7 @@ std::vector slice_mesh( // Instead of edge identifiers, one shall use a sorted pair of edge vertex indices. // However facets_edges assigns a single edge ID to two triangles only, thus when factoring facets_edges out, one will have // to make sure that no code relies on it. - std::vector face_edge_ids = its_face_edge_ids(mesh); + std::vector face_edge_ids = its_face_edge_ids(mesh); if (zs.size() <= 1) { // It likely is not worthwile to copy the vertices. Apply the transformation in place. if (is_identity(params.trafo)) { @@ -1977,14 +1977,14 @@ Polygons slice_mesh( // 2) Mark faces crossing the plane. for (size_t i = 0; i < mesh.indices.size(); ++ i) { - const Vec3i &face = mesh.indices[i]; + const Vec3i32 &face = mesh.indices[i]; int sides[3] = { vertex_side[face(0)], vertex_side[face(1)], vertex_side[face(2)] }; face_mask[i] = sides[0] * sides[1] <= 0 || sides[1] * sides[2] <= 0 || sides[0] * sides[2] <= 0; } } // 3) Calculate face neighbors for just the faces in face_mask. - std::vector face_edge_ids = its_face_edge_ids(mesh, face_mask); + std::vector face_edge_ids = its_face_edge_ids(mesh, face_mask); // 4) Slice "face_mask" triangles, collect line segments. // It likely is not worthwile to copy the vertices. Apply the transformation in place. @@ -2141,9 +2141,9 @@ void slice_mesh_slabs( face_orientation[&tri - mesh.indices.data()] = fo; } - std::vector face_neighbors = its_face_neighbors_par(mesh); + std::vector face_neighbors = its_face_neighbors_par(mesh); int num_edges; - std::vector face_edge_ids = its_face_edge_ids(mesh, face_neighbors, true, &num_edges); + std::vector face_edge_ids = its_face_edge_ids(mesh, face_neighbors, true, &num_edges); std::pair lines = slice_slabs_make_lines( vertices_transformed, mesh.indices, face_neighbors, face_edge_ids, num_edges, face_orientation, zs, out_top != nullptr, out_bottom != nullptr, throw_on_cancel); @@ -2346,7 +2346,7 @@ void cut_mesh(const indexed_triangle_set& mesh, float z, indexed_triangle_set* u // To triangulate the caps after slicing. IntersectionLines upper_lines, lower_lines; std::vector upper_slice_vertices, lower_slice_vertices; - std::vector facets_edge_ids = its_face_edge_ids(mesh); + std::vector facets_edge_ids = its_face_edge_ids(mesh); std::map section_vertices_map; for (int facet_idx = 0; facet_idx < int(mesh.indices.size()); ++ facet_idx) { diff --git a/src/libslic3r/TriangleSelector.cpp b/src/libslic3r/TriangleSelector.cpp index e78dd878d93..329e50f3291 100644 --- a/src/libslic3r/TriangleSelector.cpp +++ b/src/libslic3r/TriangleSelector.cpp @@ -134,7 +134,7 @@ bool TriangleSelector::verify_triangle_midpoints(const Triangle &tr) const return true; } -bool TriangleSelector::verify_triangle_neighbors(const Triangle &tr, const Vec3i &neighbors) const +bool TriangleSelector::verify_triangle_neighbors(const Triangle &tr, const Vec3i32 &neighbors) const { assert(neighbors(0) >= -1); assert(neighbors(1) >= -1); @@ -187,7 +187,7 @@ inline bool is_point_inside_triangle(const Vec3f &pt, const Vec3f &p1, const Vec return std::all_of(begin(barycentric_cords), end(barycentric_cords), [](float cord) { return 0.f <= cord && cord <= 1.0; }); } -int TriangleSelector::select_unsplit_triangle(const Vec3f &hit, int facet_idx, const Vec3i &neighbors) const +int TriangleSelector::select_unsplit_triangle(const Vec3f &hit, int facet_idx, const Vec3i32 &neighbors) const { assert(facet_idx < int(m_triangles.size())); const Triangle *tr = &m_triangles[facet_idx]; @@ -226,7 +226,7 @@ int TriangleSelector::select_unsplit_triangle(const Vec3f &hit, int facet_idx) c if (!m_triangles[facet_idx].valid()) return -1; - Vec3i neighbors = m_neighbors[facet_idx]; + Vec3i32 neighbors = m_neighbors[facet_idx]; assert(this->verify_triangle_neighbors(m_triangles[facet_idx], neighbors)); return this->select_unsplit_triangle(hit, facet_idx, neighbors); } @@ -372,7 +372,7 @@ void TriangleSelector::seed_fill_select_triangles(const Vec3f &hit, int facet_st } } -void TriangleSelector::precompute_all_neighbors_recursive(const int facet_idx, const Vec3i &neighbors, const Vec3i &neighbors_propagated, std::vector &neighbors_out, std::vector &neighbors_propagated_out) const +void TriangleSelector::precompute_all_neighbors_recursive(const int facet_idx, const Vec3i32 &neighbors, const Vec3i32 &neighbors_propagated, std::vector &neighbors_out, std::vector &neighbors_propagated_out) const { assert(facet_idx < int(m_triangles.size())); @@ -392,7 +392,7 @@ void TriangleSelector::precompute_all_neighbors_recursive(const int facet_idx, c assert(tr->children[i] < int(m_triangles.size())); // Recursion, deep first search over the children of this triangle. // All children of this triangle were created by splitting a single source triangle of the original mesh. - const Vec3i child_neighbors = this->child_neighbors(*tr, neighbors, i); + const Vec3i32 child_neighbors = this->child_neighbors(*tr, neighbors, i); this->precompute_all_neighbors_recursive(tr->children[i], child_neighbors, this->child_neighbors_propagated(*tr, neighbors_propagated, i, child_neighbors), neighbors_out, neighbors_propagated_out); @@ -401,10 +401,10 @@ void TriangleSelector::precompute_all_neighbors_recursive(const int facet_idx, c } } -std::pair, std::vector> TriangleSelector::precompute_all_neighbors() const +std::pair, std::vector> TriangleSelector::precompute_all_neighbors() const { - std::vector neighbors(m_triangles.size(), Vec3i(-1, -1, -1)); - std::vector neighbors_propagated(m_triangles.size(), Vec3i(-1, -1, -1)); + std::vector neighbors(m_triangles.size(), Vec3i32(-1, -1, -1)); + std::vector neighbors_propagated(m_triangles.size(), Vec3i32(-1, -1, -1)); for (int facet_idx = 0; facet_idx < this->m_orig_size_indices; ++facet_idx) { neighbors[facet_idx] = m_neighbors[facet_idx]; neighbors_propagated[facet_idx] = neighbors[facet_idx]; @@ -442,7 +442,7 @@ void TriangleSelector::append_touching_subtriangles(int itriangle, int vertexi, // It appends all edges that are touching the edge (vertexi, vertexj) of the triangle and are not selected by seed fill // It doesn't append the edges that are touching the triangle only by part of the edge that means the triangles are from lower depth. -void TriangleSelector::append_touching_edges(int itriangle, int vertexi, int vertexj, std::vector &touching_edges_out) const +void TriangleSelector::append_touching_edges(int itriangle, int vertexi, int vertexj, std::vector &touching_edges_out) const { if (itriangle == -1) return; @@ -497,11 +497,11 @@ void TriangleSelector::bucket_fill_select_triangles(const Vec3f& hit, int facet_ // seed_fill_angle < 0.f to disable edge detection const double facet_angle_limit = (seed_fill_angle < 0.f ? -1.f : cos(Geometry::deg2rad(seed_fill_angle))) - EPSILON; - auto get_all_touching_triangles = [this](int facet_idx, const Vec3i &neighbors, const Vec3i &neighbors_propagated) -> std::vector { + auto get_all_touching_triangles = [this](int facet_idx, const Vec3i32 &neighbors, const Vec3i32 &neighbors_propagated) -> std::vector { assert(facet_idx != -1 && facet_idx < int(m_triangles.size())); assert(this->verify_triangle_neighbors(m_triangles[facet_idx], neighbors)); std::vector touching_triangles; - Vec3i vertices = {m_triangles[facet_idx].verts_idxs[0], m_triangles[facet_idx].verts_idxs[1], m_triangles[facet_idx].verts_idxs[2]}; + Vec3i32 vertices = {m_triangles[facet_idx].verts_idxs[0], m_triangles[facet_idx].verts_idxs[1], m_triangles[facet_idx].verts_idxs[2]}; append_touching_subtriangles(neighbors(0), vertices(1), vertices(0), touching_triangles); append_touching_subtriangles(neighbors(1), vertices(2), vertices(1), touching_triangles); append_touching_subtriangles(neighbors(2), vertices(0), vertices(2), touching_triangles); @@ -557,7 +557,7 @@ bool TriangleSelector::select_triangle(int facet_idx, EnforcerBlockerType type, if (! m_triangles[facet_idx].valid()) return false; - Vec3i neighbors = m_neighbors[facet_idx]; + Vec3i32 neighbors = m_neighbors[facet_idx]; assert(this->verify_triangle_neighbors(m_triangles[facet_idx], neighbors)); if (! select_triangle_recursive(facet_idx, neighbors, type, triangle_splitting)) @@ -741,7 +741,7 @@ int TriangleSelector::triangle_midpoint_or_allocate(int itriangle, int vertexi, // Returns -1 if such a neighbor does not exist at all, or it does not exist // at the same depth as the ith child. // Using the same splitting strategy as TriangleSelector::split_triangle() -Vec3i TriangleSelector::child_neighbors(const Triangle &tr, const Vec3i &neighbors, int child_idx) const +Vec3i32 TriangleSelector::child_neighbors(const Triangle &tr, const Vec3i32 &neighbors, int child_idx) const { assert(this->verify_triangle_neighbors(tr, neighbors)); @@ -750,7 +750,7 @@ Vec3i TriangleSelector::child_neighbors(const Triangle &tr, const Vec3i &neighbo int j = next_idx_modulo(i, 3); int k = next_idx_modulo(j, 3); - Vec3i out; + Vec3i32 out; switch (tr.number_of_split_sides()) { case 1: switch (child_idx) { @@ -828,13 +828,13 @@ Vec3i TriangleSelector::child_neighbors(const Triangle &tr, const Vec3i &neighbo // Return neighbors of the ith child of a triangle given neighbors of the triangle. // If such a neighbor doesn't exist, return the neighbor from the previous depth. -Vec3i TriangleSelector::child_neighbors_propagated(const Triangle &tr, const Vec3i &neighbors_propagated, int child_idx, const Vec3i &child_neighbors) const +Vec3i32 TriangleSelector::child_neighbors_propagated(const Triangle &tr, const Vec3i32 &neighbors_propagated, int child_idx, const Vec3i32 &child_neighbors) const { int i = tr.special_side(); int j = next_idx_modulo(i, 3); int k = next_idx_modulo(j, 3); - Vec3i out = child_neighbors; + Vec3i32 out = child_neighbors; auto replace_if_not_exists = [&out, &neighbors_propagated](int index_to_replace, int neighbor_idx) { if (out(index_to_replace) == -1) out(index_to_replace) = neighbors_propagated(neighbor_idx); @@ -900,7 +900,7 @@ Vec3i TriangleSelector::child_neighbors_propagated(const Triangle &tr, const Vec return out; } -bool TriangleSelector::select_triangle_recursive(int facet_idx, const Vec3i &neighbors, EnforcerBlockerType type, bool triangle_splitting) +bool TriangleSelector::select_triangle_recursive(int facet_idx, const Vec3i32 &neighbors, EnforcerBlockerType type, bool triangle_splitting) { assert(facet_idx < int(m_triangles.size())); @@ -963,7 +963,7 @@ void TriangleSelector::set_facet(int facet_idx, EnforcerBlockerType state) // called by select_patch()->select_triangle()...select_triangle() // to decide which sides of the triangle to split and to actually split it calling set_division() and perform_split(). -void TriangleSelector::split_triangle(int facet_idx, const Vec3i &neighbors) +void TriangleSelector::split_triangle(int facet_idx, const Vec3i32 &neighbors) { if (m_triangles[facet_idx].is_split()) { // The triangle is divided already. @@ -1320,7 +1320,7 @@ int TriangleSelector::push_triangle(int a, int b, int c, int source_triangle, co // Split a triangle based on Triangle::number_of_split_sides() and Triangle::special_side() // by allocating child triangles and midpoint vertices. // Midpoint vertices are possibly reused by traversing children of neighbor triangles. -void TriangleSelector::perform_split(int facet_idx, const Vec3i &neighbors, EnforcerBlockerType old_state) +void TriangleSelector::perform_split(int facet_idx, const Vec3i32 &neighbors, EnforcerBlockerType old_state) { // Reserve space for the new triangles upfront, so that the reference to this triangle will not change. { @@ -1381,7 +1381,7 @@ void TriangleSelector::perform_split(int facet_idx, const Vec3i &neighbors, Enfo #ifndef NDEBUG assert(this->verify_triangle_neighbors(tr, neighbors)); for (int i = 0; i <= tr.number_of_split_sides(); ++i) { - Vec3i n = this->child_neighbors(tr, neighbors, i); + Vec3i32 n = this->child_neighbors(tr, neighbors, i); assert(this->verify_triangle_neighbors(m_triangles[tr.children[i]], n)); } #endif // NDEBUG @@ -1480,7 +1480,7 @@ indexed_triangle_set TriangleSelector::get_facets_strict(EnforcerBlockerType sta void TriangleSelector::get_facets_strict_recursive( const Triangle &tr, - const Vec3i &neighbors, + const Vec3i32 &neighbors, EnforcerBlockerType state, std::vector &out_triangles) const { @@ -1494,10 +1494,10 @@ void TriangleSelector::get_facets_strict_recursive( this->get_facets_split_by_tjoints({tr.verts_idxs[0], tr.verts_idxs[1], tr.verts_idxs[2]}, neighbors, out_triangles); } -void TriangleSelector::get_facets_split_by_tjoints(const Vec3i &vertices, const Vec3i &neighbors, std::vector &out_triangles) const +void TriangleSelector::get_facets_split_by_tjoints(const Vec3i32 &vertices, const Vec3i32 &neighbors, std::vector &out_triangles) const { // Export this triangle, but first collect the T-joint vertices along its edges. - Vec3i midpoints( + Vec3i32 midpoints( this->triangle_midpoint(neighbors(0), vertices(1), vertices(0)), this->triangle_midpoint(neighbors(1), vertices(2), vertices(1)), this->triangle_midpoint(neighbors(2), vertices(0), vertices(2))); @@ -1578,10 +1578,10 @@ void TriangleSelector::get_facets_split_by_tjoints(const Vec3i &vertices, const } } -std::vector TriangleSelector::get_seed_fill_contour() const { - std::vector edges_out; +std::vector TriangleSelector::get_seed_fill_contour() const { + std::vector edges_out; for (int facet_idx = 0; facet_idx < this->m_orig_size_indices; ++facet_idx) { - const Vec3i neighbors = m_neighbors[facet_idx]; + const Vec3i32 neighbors = m_neighbors[facet_idx]; assert(this->verify_triangle_neighbors(m_triangles[facet_idx], neighbors)); this->get_seed_fill_contour_recursive(facet_idx, neighbors, neighbors, edges_out); } @@ -1589,7 +1589,7 @@ std::vector TriangleSelector::get_seed_fill_contour() const { return edges_out; } -void TriangleSelector::get_seed_fill_contour_recursive(const int facet_idx, const Vec3i &neighbors, const Vec3i &neighbors_propagated, std::vector &edges_out) const { +void TriangleSelector::get_seed_fill_contour_recursive(const int facet_idx, const Vec3i32 &neighbors, const Vec3i32 &neighbors_propagated, std::vector &edges_out) const { assert(facet_idx != -1 && facet_idx < int(m_triangles.size())); assert(this->verify_triangle_neighbors(m_triangles[facet_idx], neighbors)); const Triangle *tr = &m_triangles[facet_idx]; @@ -1604,13 +1604,13 @@ void TriangleSelector::get_seed_fill_contour_recursive(const int facet_idx, cons assert(tr->children[i] < int(m_triangles.size())); // Recursion, deep first search over the children of this triangle. // All children of this triangle were created by splitting a single source triangle of the original mesh. - const Vec3i child_neighbors = this->child_neighbors(*tr, neighbors, i); + const Vec3i32 child_neighbors = this->child_neighbors(*tr, neighbors, i); this->get_seed_fill_contour_recursive(tr->children[i], child_neighbors, this->child_neighbors_propagated(*tr, neighbors_propagated, i, child_neighbors), edges_out); } } } else if (tr->is_selected_by_seed_fill()) { - Vec3i vertices = {m_triangles[facet_idx].verts_idxs[0], m_triangles[facet_idx].verts_idxs[1], m_triangles[facet_idx].verts_idxs[2]}; + Vec3i32 vertices = {m_triangles[facet_idx].verts_idxs[0], m_triangles[facet_idx].verts_idxs[1], m_triangles[facet_idx].verts_idxs[2]}; append_touching_edges(neighbors(0), vertices(1), vertices(0), edges_out); append_touching_edges(neighbors(1), vertices(2), vertices(1), edges_out); append_touching_edges(neighbors(2), vertices(0), vertices(2), edges_out); @@ -1720,7 +1720,7 @@ void TriangleSelector::deserialize(const std::pairchild_neighbors(tr, last.neighbors, child_idx); + Vec3i32 neighbors = this->child_neighbors(tr, last.neighbors, child_idx); int this_idx = tr.children[child_idx]; m_triangles[this_idx].set_division(num_of_split_sides, special_side); perform_split(this_idx, neighbors, EnforcerBlockerType::NONE); diff --git a/src/libslic3r/TriangleSelector.hpp b/src/libslic3r/TriangleSelector.hpp index 39ede77b353..b73283c0e1c 100644 --- a/src/libslic3r/TriangleSelector.hpp +++ b/src/libslic3r/TriangleSelector.hpp @@ -208,8 +208,8 @@ public: } }; - std::pair, std::vector> precompute_all_neighbors() const; - void precompute_all_neighbors_recursive(int facet_idx, const Vec3i &neighbors, const Vec3i &neighbors_propagated, std::vector &neighbors_out, std::vector &neighbors_normal_out) const; + std::pair, std::vector> precompute_all_neighbors() const; + void precompute_all_neighbors_recursive(int facet_idx, const Vec3i32 &neighbors, const Vec3i32 &neighbors_propagated, std::vector &neighbors_out, std::vector &neighbors_normal_out) const; // Set a limit to the edge length, below which the edge will not be split by select_patch(). // Called by select_patch() internally. Made public for debugging purposes, see TriangleSelectorGUI::render_debug(). @@ -221,7 +221,7 @@ public: // Returns the facet_idx of the unsplit triangle containing the "hit". Returns -1 if the triangle isn't found. [[nodiscard]] int select_unsplit_triangle(const Vec3f &hit, int facet_idx) const; - [[nodiscard]] int select_unsplit_triangle(const Vec3f &hit, int facet_idx, const Vec3i &neighbors) const; + [[nodiscard]] int select_unsplit_triangle(const Vec3f &hit, int facet_idx, const Vec3i32 &neighbors) const; // Select all triangles fully inside the circle, subdivide where needed. void select_patch(int facet_start, // facet of the original mesh (unsplit) that the hit point belongs to @@ -254,7 +254,7 @@ public: // Get facets at a given state. Triangulate T-joints. indexed_triangle_set get_facets_strict(EnforcerBlockerType state) const; // Get edges around the selected area by seed fill. - std::vector get_seed_fill_contour() const; + std::vector get_seed_fill_contour() const; // BBS void get_facets(std::vector& facets_per_type) const; @@ -351,14 +351,14 @@ protected: }; void append_touching_subtriangles(int itriangle, int vertexi, int vertexj, std::vector& touching_subtriangles_out) const; - bool verify_triangle_neighbors(const Triangle& tr, const Vec3i& neighbors) const; + bool verify_triangle_neighbors(const Triangle& tr, const Vec3i32& neighbors) const; // Lists of vertices and triangles, both original and new std::vector m_vertices; std::vector m_triangles; const TriangleMesh &m_mesh; - const std::vector m_neighbors; + const std::vector m_neighbors; const std::vector m_face_normals; // BBS @@ -381,15 +381,15 @@ protected: // Private functions: private: bool select_triangle(int facet_idx, EnforcerBlockerType type, bool triangle_splitting); - bool select_triangle_recursive(int facet_idx, const Vec3i &neighbors, EnforcerBlockerType type, bool triangle_splitting); + bool select_triangle_recursive(int facet_idx, const Vec3i32 &neighbors, EnforcerBlockerType type, bool triangle_splitting); void undivide_triangle(int facet_idx); - void split_triangle(int facet_idx, const Vec3i &neighbors); + void split_triangle(int facet_idx, const Vec3i32 &neighbors); void remove_useless_children(int facet_idx); // No hidden meaning. Triangles are meant. bool is_facet_clipped(int facet_idx, const ClippingPlane &clp) const; int push_triangle(int a, int b, int c, int source_triangle, EnforcerBlockerType state = EnforcerBlockerType{0}); - void perform_split(int facet_idx, const Vec3i &neighbors, EnforcerBlockerType old_state); - Vec3i child_neighbors(const Triangle &tr, const Vec3i &neighbors, int child_idx) const; - Vec3i child_neighbors_propagated(const Triangle &tr, const Vec3i &neighbors_propagated, int child_idx, const Vec3i &child_neighbors) const; + void perform_split(int facet_idx, const Vec3i32 &neighbors, EnforcerBlockerType old_state); + Vec3i32 child_neighbors(const Triangle &tr, const Vec3i32 &neighbors, int child_idx) const; + Vec3i32 child_neighbors_propagated(const Triangle &tr, const Vec3i32 &neighbors_propagated, int child_idx, const Vec3i32 &child_neighbors) const; // Return child of itriangle at a CCW oriented side (vertexi, vertexj), either first or 2nd part. // If itriangle == -1 or if the side sharing (vertexi, vertexj) is not split, return -1. enum class Partition { @@ -406,21 +406,21 @@ private: std::pair triangle_subtriangles(int itriangle, int vertexi, int vertexj) const; //void append_touching_subtriangles(int itriangle, int vertexi, int vertexj, std::vector &touching_subtriangles_out) const; - void append_touching_edges(int itriangle, int vertexi, int vertexj, std::vector &touching_edges_out) const; + void append_touching_edges(int itriangle, int vertexi, int vertexj, std::vector &touching_edges_out) const; #ifndef NDEBUG - //bool verify_triangle_neighbors(const Triangle& tr, const Vec3i& neighbors) const; + //bool verify_triangle_neighbors(const Triangle& tr, const Vec3i32& neighbors) const; bool verify_triangle_midpoints(const Triangle& tr) const; #endif // NDEBUG void get_facets_strict_recursive( const Triangle &tr, - const Vec3i &neighbors, + const Vec3i32 &neighbors, EnforcerBlockerType state, std::vector &out_triangles) const; - void get_facets_split_by_tjoints(const Vec3i &vertices, const Vec3i &neighbors, std::vector &out_triangles) const; + void get_facets_split_by_tjoints(const Vec3i32 &vertices, const Vec3i32 &neighbors, std::vector &out_triangles) const; - void get_seed_fill_contour_recursive(int facet_idx, const Vec3i &neighbors, const Vec3i &neighbors_propagated, std::vector &edges_out) const; + void get_seed_fill_contour_recursive(int facet_idx, const Vec3i32 &neighbors, const Vec3i32 &neighbors_propagated, std::vector &edges_out) const; int m_free_triangles_head { -1 }; int m_free_vertices_head { -1 }; diff --git a/src/libslic3r/TriangulateWall.cpp b/src/libslic3r/TriangulateWall.cpp index eb710d9a572..b8746ef0d29 100644 --- a/src/libslic3r/TriangulateWall.cpp +++ b/src/libslic3r/TriangulateWall.cpp @@ -75,16 +75,16 @@ namespace Slic3r { // offring->init(imin); // } -// void emplace_indices(std::vector &indices) +// void emplace_indices(std::vector &indices) // { -// Vec3i tr{int(onring->pos().first), int(onring->pos().second), +// Vec3i32 tr{int(onring->pos().first), int(onring->pos().second), // int(offring->pos().first)}; // if (onring->is_lower()) std::swap(tr(0), tr(1)); // indices.emplace_back(tr); // } //public: -// void run(std::vector &indices) +// void run(std::vector &indices) // { // synchronize_rings(); diff --git a/src/libslic3r/TriangulateWall.hpp b/src/libslic3r/TriangulateWall.hpp index c64a75e63cd..fcdb842f9bb 100644 --- a/src/libslic3r/TriangulateWall.hpp +++ b/src/libslic3r/TriangulateWall.hpp @@ -79,16 +79,16 @@ class Triangulator { offring->init(imin); } - void emplace_indices(std::vector &indices) + void emplace_indices(std::vector &indices) { - Vec3i tr{int(onring->pos().first), int(onring->pos().second), + Vec3i32 tr{int(onring->pos().first), int(onring->pos().second), int(offring->pos().first)}; if (onring->is_lower()) std::swap(tr(0), tr(1)); indices.emplace_back(tr); } public: - void run(std::vector &indices) + void run(std::vector &indices) { synchronize_rings(); @@ -138,7 +138,7 @@ void triangulate_wall(std::vector> &pts, t.run(ind); } -//using Wall = std::pair, std::vector>; +//using Wall = std::pair, std::vector>; //Wall triangulate_wall( // const Polygon & lower, diff --git a/src/libslic3r/Triangulation.cpp b/src/libslic3r/Triangulation.cpp index 72275a40944..48b40b5d7f3 100644 --- a/src/libslic3r/Triangulation.cpp +++ b/src/libslic3r/Triangulation.cpp @@ -165,7 +165,7 @@ Triangulation::Indices Triangulation::triangulate(const Points &points, }; #ifdef VISUALIZE_TRIANGULATION - std::vector indices2; + std::vector indices2; indices2.reserve(num_faces); for (CDT::Face_handle fh : faces) if (inside(fh)) indices2.emplace_back(fh->vertex(0)->info(), fh->vertex(1)->info(), fh->vertex(2)->info()); @@ -196,7 +196,7 @@ Triangulation::Indices Triangulation::triangulate(const Points &points, } } - std::vector indices; + std::vector indices; indices.reserve(num_faces); for (CDT::Face_handle fh : faces) if (inside(fh)) @@ -257,7 +257,7 @@ Triangulation::Indices Triangulation::triangulate(const ExPolygons &expolygons){ changes2[changes[i]] = i; // convert indices into expolygons indicies - for (Vec3i &t : indices) + for (Vec3i32 &t : indices) for (size_t ti = 0; ti < 3; ti++) t[ti] = changes2[t[ti]]; return indices; diff --git a/src/libslic3r/Triangulation.hpp b/src/libslic3r/Triangulation.hpp index 1fb7b678241..b26ef0c62b0 100644 --- a/src/libslic3r/Triangulation.hpp +++ b/src/libslic3r/Triangulation.hpp @@ -21,7 +21,7 @@ public: // define oriented connection of 2 vertices(defined by its index) using HalfEdge = std::pair; using HalfEdges = std::vector; - using Indices = std::vector; + using Indices = std::vector; /// /// Connect points by triangulation to create filled surface by triangles diff --git a/src/libslic3r/libslic3r.h b/src/libslic3r/libslic3r.h index d177e69572a..86d9241656c 100644 --- a/src/libslic3r/libslic3r.h +++ b/src/libslic3r/libslic3r.h @@ -35,7 +35,7 @@ #include "Technologies.hpp" #include "Semver.hpp" -#if 1 +#if 0 // Saves around 32% RAM after slicing step, 6.7% after G-code export (tested on PrusaSlicer 2.2.0 final). using coord_t = int32_t; #else diff --git a/src/slic3r/GUI/BedShapeDialog.cpp b/src/slic3r/GUI/BedShapeDialog.cpp index 3d8fa092a37..b3672381d7c 100644 --- a/src/slic3r/GUI/BedShapeDialog.cpp +++ b/src/slic3r/GUI/BedShapeDialog.cpp @@ -44,7 +44,7 @@ void BedShape::append_option_line(ConfigOptionsGroupShp optgroup, Parameter para def.type = coPoints; def.set_default_value(new ConfigOptionPoints{ Vec2d(200, 200) }); def.min = 0; - def.max = 2147; + def.max = 214700; def.label = get_option_label(param); def.tooltip = L("Size in X and Y of the rectangular plate."); key = "rect_size"; @@ -52,8 +52,8 @@ void BedShape::append_option_line(ConfigOptionsGroupShp optgroup, Parameter para case Parameter::RectOrigin: def.type = coPoints; def.set_default_value(new ConfigOptionPoints{ Vec2d(0, 0) }); - def.min = -1073.5; - def.max = 1073.5; + def.min = -107350; + def.max = 107350; def.label = get_option_label(param); def.tooltip = L("Distance of the 0,0 G-code coordinate from the front left corner of the rectangle."); key = "rect_origin"; diff --git a/src/slic3r/GUI/CameraUtils.cpp b/src/slic3r/GUI/CameraUtils.cpp index 99d022e4bcf..fb8e84fb8a4 100644 --- a/src/slic3r/GUI/CameraUtils.cpp +++ b/src/slic3r/GUI/CameraUtils.cpp @@ -11,7 +11,7 @@ using namespace GUI; Points CameraUtils::project(const Camera & camera, const std::vector &points) { - Vec4i viewport(camera.get_viewport().data()); + Vec4i32 viewport(camera.get_viewport().data()); // Convert our std::vector to Eigen dynamic matrix. Eigen::Matrix @@ -100,7 +100,7 @@ void CameraUtils::ray_from_ortho_screen_pos(const Camera &camera, const Vec2d &p assert(camera.get_type() == Camera::EType::Ortho); Matrix4d modelview = camera.get_view_matrix().matrix(); Matrix4d projection = camera.get_projection_matrix().matrix(); - Vec4i viewport(camera.get_viewport().data()); + Vec4i32 viewport(camera.get_viewport().data()); igl::unproject(screen_point(camera,position), modelview, projection, viewport, point); direction = camera.get_dir_forward(); } @@ -109,7 +109,7 @@ void CameraUtils::ray_from_persp_screen_pos(const Camera &camera, const Vec2d &p assert(camera.get_type() == Camera::EType::Perspective); Matrix4d modelview = camera.get_view_matrix().matrix(); Matrix4d projection = camera.get_projection_matrix().matrix(); - Vec4i viewport(camera.get_viewport().data()); + Vec4i32 viewport(camera.get_viewport().data()); igl::unproject(screen_point(camera, position), modelview, projection, viewport, point); direction = point - camera.get_position(); } diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index f1bb13d2912..1191bf55f3f 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -8721,7 +8721,7 @@ Vec3d GLCanvas3D::_mouse_to_3d(const Point& mouse_pos, float* z) } else { const Camera& camera = wxGetApp().plater()->get_camera(); - const Vec4i viewport(camera.get_viewport().data()); + const Vec4i32 viewport(camera.get_viewport().data()); Vec3d out; igl::unproject(Vec3d(mouse_pos.x(), viewport[3] - mouse_pos.y(), *z), camera.get_view_matrix().matrix(), camera.get_projection_matrix().matrix(), viewport, out); return out; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp index 62afc1c4022..c10a99f1d7f 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp @@ -274,7 +274,7 @@ std::string GLGizmoCut3D::get_tooltip() const bool GLGizmoCut3D::on_mouse(const wxMouseEvent &mouse_event) { - Vec2i mouse_coord(mouse_event.GetX(), mouse_event.GetY()); + Vec2i32 mouse_coord(mouse_event.GetX(), mouse_event.GetY()); Vec2d mouse_pos = mouse_coord.cast(); if (mouse_event.ShiftDown() && mouse_event.LeftDown()) diff --git a/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp b/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp index ff5b7720f20..abe2d800ba1 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp @@ -264,7 +264,7 @@ struct GuiCfg float max_tooltip_width = 0.f; // maximal width and height of style image - Vec2i max_style_image_size = Vec2i(0, 0); + Vec2i32 max_style_image_size = Vec2i32(0, 0); float indent = 0.f; float input_offset = 0.f; @@ -274,7 +274,7 @@ struct GuiCfg ImVec2 text_size; // maximal size of face name image - Vec2i face_name_size = Vec2i(0, 0); + Vec2i32 face_name_size = Vec2i32(0, 0); float face_name_texture_offset_x = 0.f; // maximal texture generate jobs running at once @@ -1567,7 +1567,7 @@ void GLGizmoEmboss::init_font_name_texture() { glsafe(::glBindTexture(target, id)); glsafe(::glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_NEAREST)); glsafe(::glTexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_NEAREST)); - const Vec2i &size = m_gui_cfg->face_name_size; + const Vec2i32 &size = m_gui_cfg->face_name_size; GLint w = size.x(), h = m_face_names->count_cached_textures * size.y(); std::vector data(4*w * h, {0}); const GLenum format = GL_RGBA, type = GL_UNSIGNED_BYTE; @@ -3698,8 +3698,8 @@ GuiCfg create_gui_configuration() int max_style_image_width = static_cast(std::round(cfg.max_style_name_width/2 - 2 * style.FramePadding.x)); int max_style_image_height = static_cast(std::round(input_height)); - cfg.max_style_image_size = Vec2i(max_style_image_width, line_height); - cfg.face_name_size = Vec2i(cfg.input_width, line_height_with_spacing); + cfg.max_style_image_size = Vec2i32(max_style_image_width, line_height); + cfg.face_name_size = Vec2i32(cfg.input_width, line_height_with_spacing); cfg.face_name_texture_offset_x = cfg.face_name_size.x() + space; cfg.max_tooltip_width = ImGui::GetFontSize() * 20.0f; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp b/src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp index a3632b6ed8a..e59931ab78d 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp @@ -176,7 +176,7 @@ void GLGizmoFlatten::update_planes() // This part is still performed in mesh coordinate system. const int num_of_facets = ch.facets_count(); const std::vector face_normals = its_face_normals(ch.its); - const std::vector face_neighbors = its_face_neighbors(ch.its); + const std::vector face_neighbors = its_face_neighbors(ch.its); std::vector facet_queue(num_of_facets, 0); std::vector facet_visited(num_of_facets, false); int facet_queue_cnt = 0; @@ -199,7 +199,7 @@ void GLGizmoFlatten::update_planes() int facet_idx = facet_queue[-- facet_queue_cnt]; const stl_normal& this_normal = face_normals[facet_idx]; if (std::abs(this_normal(0) - (*normal_ptr)(0)) < 0.001 && std::abs(this_normal(1) - (*normal_ptr)(1)) < 0.001 && std::abs(this_normal(2) - (*normal_ptr)(2)) < 0.001) { - const Vec3i face = ch.its.indices[facet_idx]; + const Vec3i32 face = ch.its.indices[facet_idx]; for (int j=0; j<3; ++j) m_planes.back().vertices.emplace_back(ch.its.vertices[face[j]].cast()); diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp index e0af77feeba..ee9c7794645 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp @@ -87,7 +87,7 @@ bool GLGizmoMeshBoolean::gizmo_event(SLAGizmoEventType action, const Vec2d& mous bool GLGizmoMeshBoolean::on_mouse(const wxMouseEvent &mouse_event) { // wxCoord == int --> wx/types.h - Vec2i mouse_coord(mouse_event.GetX(), mouse_event.GetY()); + Vec2i32 mouse_coord(mouse_event.GetX(), mouse_event.GetY()); Vec2d mouse_pos = mouse_coord.cast(); // when control is down we allow scene pan and rotation even when clicking diff --git a/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp b/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp index 9df780d720e..211e327d159 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp @@ -910,7 +910,7 @@ bool GLGizmoPainterBase::gizmo_event(SLAGizmoEventType action, const Vec2d& mous bool GLGizmoPainterBase::on_mouse(const wxMouseEvent &mouse_event) { // wxCoord == int --> wx/types.h - Vec2i mouse_coord(mouse_event.GetX(), mouse_event.GetY()); + Vec2i32 mouse_coord(mouse_event.GetX(), mouse_event.GetY()); Vec2d mouse_pos = mouse_coord.cast(); if (mouse_event.Moving()) { @@ -1365,11 +1365,11 @@ void TriangleSelectorPatch::update_triangles_per_patch() bool using_wireframe = (m_need_wireframe && wxGetApp().plater()->is_wireframe_enabled() && wxGetApp().plater()->is_show_wireframe()) ? true : false; - auto get_all_touching_triangles = [this](int facet_idx, const Vec3i& neighbors, const Vec3i& neighbors_propagated) -> std::vector { + auto get_all_touching_triangles = [this](int facet_idx, const Vec3i32& neighbors, const Vec3i32& neighbors_propagated) -> std::vector { assert(facet_idx != -1 && facet_idx < int(m_triangles.size())); assert(this->verify_triangle_neighbors(m_triangles[facet_idx], neighbors)); std::vector touching_triangles; - Vec3i vertices = { m_triangles[facet_idx].verts_idxs[0], m_triangles[facet_idx].verts_idxs[1], m_triangles[facet_idx].verts_idxs[2] }; + Vec3i32 vertices = { m_triangles[facet_idx].verts_idxs[0], m_triangles[facet_idx].verts_idxs[1], m_triangles[facet_idx].verts_idxs[2] }; append_touching_subtriangles(neighbors(0), vertices(1), vertices(0), touching_triangles); append_touching_subtriangles(neighbors(1), vertices(2), vertices(1), touching_triangles); append_touching_subtriangles(neighbors(2), vertices(0), vertices(2), touching_triangles); @@ -1745,14 +1745,14 @@ void TriangleSelectorGUI::update_paint_contour() m_paint_contour.reset(); GLModel::Geometry init_data; - const std::vector contour_edges = this->get_seed_fill_contour(); + const std::vector contour_edges = this->get_seed_fill_contour(); init_data.format = { GLModel::Geometry::EPrimitiveType::Lines, GLModel::Geometry::EVertexLayout::P3 }; init_data.reserve_vertices(2 * contour_edges.size()); init_data.reserve_indices(2 * contour_edges.size()); init_data.color = ColorRGBA::WHITE(); // vertices + indices unsigned int vertices_count = 0; - for (const Vec2i& edge : contour_edges) { + for (const Vec2i32& edge : contour_edges) { init_data.add_vertex(m_vertices[edge(0)].v); init_data.add_vertex(m_vertices[edge(1)].v); vertices_count += 2; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.hpp b/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.hpp index 2644c100989..62fdfd28ffb 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.hpp @@ -360,7 +360,7 @@ private: mutable float m_cursor_z{0}; mutable double m_height_start_z_in_imgui{0}; mutable bool m_is_set_height_start_z_by_imgui{false}; - mutable Vec2i m_height_start_pos{0, 0}; + mutable Vec2i32 m_height_start_pos{0, 0}; mutable bool m_is_cursor_in_imgui{false}; BoundingBoxf3 bounding_box() const; void update_contours(int i, const TriangleMesh& vol_mesh, float cursor_z, float max_z, float min_z) const; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoText.cpp b/src/slic3r/GUI/Gizmos/GLGizmoText.cpp index 5290a81f8cc..9d7c45e0379 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoText.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoText.cpp @@ -447,7 +447,7 @@ bool GLGizmoText::gizmo_event(SLAGizmoEventType action, const Vec2d &mouse_posit bool GLGizmoText::on_mouse(const wxMouseEvent &mouse_event) { // wxCoord == int --> wx/types.h - Vec2i mouse_coord(mouse_event.GetX(), mouse_event.GetY()); + Vec2i32 mouse_coord(mouse_event.GetX(), mouse_event.GetY()); Vec2d mouse_pos = mouse_coord.cast(); bool control_down = mouse_event.CmdDown(); diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp index a9d83df5aee..322d93210b5 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp @@ -571,7 +571,7 @@ bool GLGizmosManager::gizmos_toolbar_on_mouse(const wxMouseEvent &mouse_event) { static MouseCapture mc; // wxCoord == int --> wx/types.h - Vec2i mouse_coord(mouse_event.GetX(), mouse_event.GetY()); + Vec2i32 mouse_coord(mouse_event.GetX(), mouse_event.GetY()); Vec2d mouse_pos = mouse_coord.cast(); EType gizmo = get_gizmo_from_mouse(mouse_pos); diff --git a/src/slic3r/GUI/ImGuiWrapper.cpp b/src/slic3r/GUI/ImGuiWrapper.cpp index 59559839aa1..74082fde43c 100644 --- a/src/slic3r/GUI/ImGuiWrapper.cpp +++ b/src/slic3r/GUI/ImGuiWrapper.cpp @@ -2217,7 +2217,7 @@ ImVec2 ImGuiWrapper::suggest_location(const ImVec2 &dialog_size, offseted_center.y() + diff_norm.y() * move_size.y()); // move offset close to center - Points window_polygon = {offset.cast(), + Points window_polygon = {offset.cast(), Point(offset.x(), offset.y() + dialog_size.y), Point(offset.x() + dialog_size.x, offset.y() + dialog_size.y), @@ -2227,12 +2227,12 @@ ImVec2 ImGuiWrapper::suggest_location(const ImVec2 &dialog_size, double allowed_space = 10; // in px double allowed_space_sq = allowed_space * allowed_space; - Vec2d move_vec = (center - (offset.cast() + half_dialog_size)) + Vec2d move_vec = (center - (offset.cast() + half_dialog_size)) .cast(); Vec2d result_move(0, 0); do { move_vec = move_vec / 2.; - Point move_point = (move_vec + result_move).cast(); + Point move_point = (move_vec + result_move).cast(); Points moved_polygon = window_polygon; // copy for (Point &p : moved_polygon) p += move_point; if (Slic3r::intersection(interest, Polygon(moved_polygon)).empty()) diff --git a/src/slic3r/GUI/Jobs/CreateFontNameImageJob.hpp b/src/slic3r/GUI/Jobs/CreateFontNameImageJob.hpp index 09d3ec6e34b..b725992b351 100644 --- a/src/slic3r/GUI/Jobs/CreateFontNameImageJob.hpp +++ b/src/slic3r/GUI/Jobs/CreateFontNameImageJob.hpp @@ -11,7 +11,7 @@ #include #include #include "Job.hpp" -#include "libslic3r/Point.hpp" // Vec2i +#include "libslic3r/Point.hpp" // Vec2i32 namespace Slic3r::GUI { @@ -32,7 +32,7 @@ struct FontImageData size_t index; // Height of each text // And Limit for width - Vec2i size; // in px + Vec2i32 size; // in px // bigger value create darker image // divide value 255 diff --git a/src/slic3r/GUI/Jobs/EmbossJob.cpp b/src/slic3r/GUI/Jobs/EmbossJob.cpp index 45931691e1f..6b71b22f885 100644 --- a/src/slic3r/GUI/Jobs/EmbossJob.cpp +++ b/src/slic3r/GUI/Jobs/EmbossJob.cpp @@ -14,6 +14,7 @@ #include // create object #include +#include "libslic3r/libslic3r.h" #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/NotificationManager.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" @@ -322,9 +323,9 @@ void CreateObjectJob::process(Ctl &ctl) Points bed_shape_; bed_shape_.reserve(m_input.bed_shape.size()); for (const Vec2d &p : m_input.bed_shape) - bed_shape_.emplace_back(p.cast()); + bed_shape_.emplace_back(p.cast()); Slic3r::Polygon bed(bed_shape_); - if (!bed.contains(bed_coor.cast())) + if (!bed.contains(bed_coor.cast())) // mouse pose is out of build plate so create object in center of plate bed_coor = bed.centroid().cast(); @@ -836,7 +837,7 @@ std::vector create_line_bounds(const ExPolygonsWithIds &shapes, s template TriangleMesh create_mesh_per_glyph(DataBase &input, Fnc was_canceled) { // method use square of coord stored into int64_t - static_assert(std::is_same()); + // static_assert(std::is_same()); const EmbossShape &shape = input.create_shape(); if (shape.shapes_with_ids.empty()) return {}; @@ -853,7 +854,7 @@ template TriangleMesh create_mesh_per_glyph(DataBase &input, Fnc w // half of font em size for direction of letter emboss // double em_2_mm = prop.size_in_mm / 2.; // TODO: fix it double em_2_mm = 5.; - int32_t em_2_polygon = static_cast(std::round(scale_(em_2_mm))); + coord_t em_2_polygon = static_cast(std::round(scale_(em_2_mm))); size_t s_i_offset = 0; // shape index offset(for next lines) indexed_triangle_set result; @@ -1277,7 +1278,7 @@ indexed_triangle_set cut_surface_to_its(const ExPolygons &shapes, const Transfor if (is_text_reflected) { for (SurfaceCut::Contour &c : cut.contours) std::reverse(c.begin(), c.end()); - for (Vec3i &t : cut.indices) + for (Vec3i32 &t : cut.indices) std::swap(t[0], t[1]); } diff --git a/src/slic3r/GUI/Jobs/SLAImportDialog.hpp b/src/slic3r/GUI/Jobs/SLAImportDialog.hpp index 14d3ef6781e..9899fccefe6 100644 --- a/src/slic3r/GUI/Jobs/SLAImportDialog.hpp +++ b/src/slic3r/GUI/Jobs/SLAImportDialog.hpp @@ -84,7 +84,7 @@ public: return Sel(std::min(int(Sel::modelOnly), std::max(0, sel))); } - Vec2i get_marchsq_windowsize() const override + Vec2i32 get_marchsq_windowsize() const override { enum { Accurate, Balanced, Fast }; diff --git a/src/slic3r/GUI/Jobs/SLAImportJob.cpp b/src/slic3r/GUI/Jobs/SLAImportJob.cpp index e8210577adc..2bb7915adea 100644 --- a/src/slic3r/GUI/Jobs/SLAImportJob.cpp +++ b/src/slic3r/GUI/Jobs/SLAImportJob.cpp @@ -27,7 +27,7 @@ public: indexed_triangle_set mesh; DynamicPrintConfig profile; wxString path; - Vec2i win = {2, 2}; + Vec2i32 win = {2, 2}; std::string err; ConfigSubstitutions config_substitutions; diff --git a/src/slic3r/GUI/Jobs/SLAImportJob.hpp b/src/slic3r/GUI/Jobs/SLAImportJob.hpp index 62745233376..695aa401610 100644 --- a/src/slic3r/GUI/Jobs/SLAImportJob.hpp +++ b/src/slic3r/GUI/Jobs/SLAImportJob.hpp @@ -18,7 +18,7 @@ public: virtual ~SLAImportJobView() = default; virtual Sel get_selection() const = 0; - virtual Vec2i get_marchsq_windowsize() const = 0; + virtual Vec2i32 get_marchsq_windowsize() const = 0; virtual std::string get_path() const = 0; }; diff --git a/src/slic3r/GUI/MeshUtils.cpp b/src/slic3r/GUI/MeshUtils.cpp index 011c77128ca..ac772953ee3 100644 --- a/src/slic3r/GUI/MeshUtils.cpp +++ b/src/slic3r/GUI/MeshUtils.cpp @@ -11,6 +11,7 @@ #include "libslic3r/Model.hpp" #include "libslic3r/CSGMesh/SliceCSGMesh.hpp" +#include "libslic3r/libslic3r.h" #include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/Camera.hpp" @@ -355,8 +356,8 @@ void MeshClipper::recalculate_triangles() // To prevent overflow after scaling, downscale the input if needed: double extra_scale = 1.; - int32_t limit = int32_t(std::min(std::numeric_limits::max() / (2. * std::max(1., scale_x)), std::numeric_limits::max() / (2. * std::max(1., scale_y)))); - int32_t max_coord = 0; + coord_t limit = coord_t(std::min(std::numeric_limits::max() / (2. * std::max(1., scale_x)), std::numeric_limits::max() / (2. * std::max(1., scale_y)))); + coord_t max_coord = 0; for (const Point& pt : exp.contour) max_coord = std::max(max_coord, std::max(std::abs(pt.x()), std::abs(pt.y()))); if (max_coord + m_contour_width >= limit) diff --git a/src/slic3r/GUI/SurfaceDrag.cpp b/src/slic3r/GUI/SurfaceDrag.cpp index 58d6e46a58b..3d69522fd4d 100644 --- a/src/slic3r/GUI/SurfaceDrag.cpp +++ b/src/slic3r/GUI/SurfaceDrag.cpp @@ -488,7 +488,7 @@ namespace { Vec2d mouse_position(const wxMouseEvent &mouse_event){ // wxCoord == int --> wx/types.h - Vec2i mouse_coord(mouse_event.GetX(), mouse_event.GetY()); + Vec2i32 mouse_coord(mouse_event.GetX(), mouse_event.GetY()); return mouse_coord.cast(); } @@ -542,7 +542,7 @@ bool start_dragging(const Vec2d &mouse_pos, // zero point of volume in world coordinate system Vec3d volume_center = to_world.translation(); // screen coordinate of volume center - Vec2i coor = CameraUtils::project(camera, volume_center); + auto coor = CameraUtils::project(camera, volume_center); Vec2d mouse_offset = coor.cast() - mouse_pos; Vec2d mouse_offset_without_sla_shift = mouse_offset; if (double sla_shift = gl_volume.get_sla_shift_z(); !is_approx(sla_shift, 0.)) { diff --git a/src/slic3r/GUI/TextLines.cpp b/src/slic3r/GUI/TextLines.cpp index 258d4916e44..ae0e609b1cb 100644 --- a/src/slic3r/GUI/TextLines.cpp +++ b/src/slic3r/GUI/TextLines.cpp @@ -209,10 +209,10 @@ GLModel::Geometry create_geometry(const TextLines &lines, float radius, bool is_ if (is_mirrored) { // change order of indices - for (Vec3i t : its.indices) + for (Vec3i32 t : its.indices) geometry.add_triangle(t[0], t[2], t[1]); } else { - for (Vec3i t : its.indices) + for (Vec3i32 t : its.indices) geometry.add_triangle(t[0], t[1], t[2]); } return geometry; diff --git a/src/slic3r/Utils/CalibUtils.cpp b/src/slic3r/Utils/CalibUtils.cpp index a089eef2a03..878f71eb584 100644 --- a/src/slic3r/Utils/CalibUtils.cpp +++ b/src/slic3r/Utils/CalibUtils.cpp @@ -976,7 +976,7 @@ bool CalibUtils::process_and_store_3mf(Model *model, const DynamicPrintConfig &f double print_height = full_config.opt_float("printable_height"); double current_width = bedfs[2].x() - bedfs[0].x(); double current_depth = bedfs[2].y() - bedfs[0].y(); - Vec3i plate_size; + Vec3i32 plate_size; plate_size[0] = bedfs[2].x() - bedfs[0].x(); plate_size[1] = bedfs[2].y() - bedfs[0].y(); plate_size[2] = print_height; diff --git a/src/slic3r/Utils/EmbossStyleManager.cpp b/src/slic3r/Utils/EmbossStyleManager.cpp index c8a67d8e5e2..9966847a889 100644 --- a/src/slic3r/Utils/EmbossStyleManager.cpp +++ b/src/slic3r/Utils/EmbossStyleManager.cpp @@ -351,7 +351,7 @@ void StyleManager::init_trunc_names(float max_width) { #include "slic3r/GUI/MainFrame.hpp" #include "slic3r/GUI/Gizmos/GizmoObjectManipulation.hpp" -void StyleManager::init_style_images(const Vec2i &max_size, +void StyleManager::init_style_images(const Vec2i32 &max_size, const std::string &text) { // check already initialized diff --git a/src/slic3r/Utils/EmbossStyleManager.hpp b/src/slic3r/Utils/EmbossStyleManager.hpp index d36f062f48b..462336ebc92 100644 --- a/src/slic3r/Utils/EmbossStyleManager.hpp +++ b/src/slic3r/Utils/EmbossStyleManager.hpp @@ -170,7 +170,7 @@ public: /// /// Maximal width and height of one style texture /// Text to render by style - void init_style_images(const Vec2i& max_size, const std::string &text); + void init_style_images(const Vec2i32& max_size, const std::string &text); void free_style_images(); // access to all managed font styles @@ -295,7 +295,7 @@ private: // Keep styles to render Items styles; // Maximal width and height in pixels of image - Vec2i max_size; + Vec2i32 max_size; // Text to render std::string text; diff --git a/src/slic3r/Utils/RaycastManager.cpp b/src/slic3r/Utils/RaycastManager.cpp index a113624c8b6..1594a1451eb 100644 --- a/src/slic3r/Utils/RaycastManager.cpp +++ b/src/slic3r/Utils/RaycastManager.cpp @@ -151,7 +151,7 @@ std::optional RaycastManager::first_hit(const Vec3d& point, // Calculate normal from transformed triangle // NOTE: Anisotropic transformation of normal is not perpendiculat to triangle - const Vec3i tri = hit_mesh->indices(hit_face); + const Vec3i32 tri = hit_mesh->indices(hit_face); std::array pts; auto tr = hit_tramsformation->linear(); for (int i = 0; i < 3; ++i) diff --git a/tests/fff_print/test_trianglemesh.cpp b/tests/fff_print/test_trianglemesh.cpp index 6faaf1584cd..b77e8f4fb7c 100644 --- a/tests/fff_print/test_trianglemesh.cpp +++ b/tests/fff_print/test_trianglemesh.cpp @@ -22,7 +22,7 @@ static inline TriangleMesh make_cube() { return make_cube(20., 20, 20); } SCENARIO( "TriangleMesh: Basic mesh statistics") { GIVEN( "A 20mm cube, built from constexpr std::array" ) { std::vector vertices { {20,20,0}, {20,0,0}, {0,0,0}, {0,20,0}, {20,20,20}, {0,20,20}, {0,0,20}, {20,0,20} }; - std::vector facets { {0,1,2}, {0,2,3}, {4,5,6}, {4,6,7}, {0,4,7}, {0,7,1}, {1,7,6}, {1,6,2}, {2,6,5}, {2,5,3}, {4,0,3}, {4,3,5} }; + std::vector facets { {0,1,2}, {0,2,3}, {4,5,6}, {4,6,7}, {0,4,7}, {0,7,1}, {1,7,6}, {1,6,2}, {2,6,5}, {2,5,3}, {4,0,3}, {4,3,5} }; TriangleMesh cube(vertices, facets); THEN( "Volume is appropriate for 20mm square cube.") { @@ -155,7 +155,7 @@ SCENARIO( "TriangleMesh: slice behavior.") { } GIVEN( "A STL with an irregular shape.") { const std::vector vertices {{0,0,0},{0,0,20},{0,5,0},{0,5,20},{50,0,0},{50,0,20},{15,5,0},{35,5,0},{15,20,0},{50,5,0},{35,20,0},{15,5,10},{50,5,20},{35,5,10},{35,20,10},{15,20,10}}; - const std::vector facets {{0,1,2},{2,1,3},{1,0,4},{5,1,4},{0,2,4},{4,2,6},{7,6,8},{4,6,7},{9,4,7},{7,8,10},{2,3,6},{11,3,12},{7,12,9},{13,12,7},{6,3,11},{11,12,13},{3,1,5},{12,3,5},{5,4,9},{12,5,9},{13,7,10},{14,13,10},{8,15,10},{10,15,14},{6,11,8},{8,11,15},{15,11,13},{14,15,13}}; + const std::vector facets {{0,1,2},{2,1,3},{1,0,4},{5,1,4},{0,2,4},{4,2,6},{7,6,8},{4,6,7},{9,4,7},{7,8,10},{2,3,6},{11,3,12},{7,12,9},{13,12,7},{6,3,11},{11,12,13},{3,1,5},{12,3,5},{5,4,9},{12,5,9},{13,7,10},{14,13,10},{8,15,10},{10,15,14},{6,11,8},{8,11,15},{15,11,13},{14,15,13}}; auto cube = make_cube(); WHEN(" a top tangent plane is sliced") { diff --git a/tests/libslic3r/test_indexed_triangle_set.cpp b/tests/libslic3r/test_indexed_triangle_set.cpp index 0bb85b7ed02..1e6e5a8cac0 100644 --- a/tests/libslic3r/test_indexed_triangle_set.cpp +++ b/tests/libslic3r/test_indexed_triangle_set.cpp @@ -199,7 +199,7 @@ bool is_similar(const indexed_triangle_set &from, collect_distances(vertex); } - for (const Vec3i &t : to.indices) { + for (const Vec3i32 &t : to.indices) { Vec3f center(0,0,0); for (size_t i = 0; i < 3; ++i) { center += to.vertices[t[i]] / 3; @@ -222,8 +222,8 @@ TEST_CASE("Reduce one edge by Quadric Edge Collapse", "[its]") Vec3f(1.f, 0.f, 0.f), Vec3f(0.f, 0.f, 1.f), // vertex to be removed Vec3f(0.9f, .1f, -.1f)}; - its.indices = {Vec3i(1, 0, 3), Vec3i(2, 1, 3), Vec3i(0, 2, 3), - Vec3i(0, 1, 4), Vec3i(1, 2, 4), Vec3i(2, 0, 4)}; + its.indices = {Vec3i32(1, 0, 3), Vec3i32(2, 1, 3), Vec3i32(0, 2, 3), + Vec3i32(0, 1, 4), Vec3i32(1, 2, 4), Vec3i32(2, 0, 4)}; // edge to remove is between vertices 2 and 4 on trinagles 4 and 5 indexed_triangle_set its_ = its; // copy diff --git a/tests/libslic3r/test_marchingsquares.cpp b/tests/libslic3r/test_marchingsquares.cpp index 3553697acd7..fed5cc2d4d2 100644 --- a/tests/libslic3r/test_marchingsquares.cpp +++ b/tests/libslic3r/test_marchingsquares.cpp @@ -84,13 +84,13 @@ static ExPolygons circle_with_hole(double r, Point center = {0, 0}) { return {poly}; } -static const Vec2i W4x4 = {4, 4}; -static const Vec2i W2x2 = {2, 2}; +static const Vec2i32 W4x4 = {4, 4}; +static const Vec2i32 W2x2 = {2, 2}; template static void test_expolys(Rst && rst, const ExPolygons & ref, - Vec2i window, + Vec2i32 window, const std::string &name = "test") { for (const ExPolygon &expoly : ref) rst.draw(expoly); diff --git a/xs/xsp/TriangleMesh.xsp b/xs/xsp/TriangleMesh.xsp index a9dbe654d37..f99499c04e4 100644 --- a/xs/xsp/TriangleMesh.xsp +++ b/xs/xsp/TriangleMesh.xsp @@ -50,14 +50,14 @@ TriangleMesh::ReadFromPerl(vertices, facets) out_vertices.push_back(Slic3r::Vec3f(SvNV(*av_fetch(vertex_av, 0, 0)), SvNV(*av_fetch(vertex_av, 1, 0)), SvNV(*av_fetch(vertex_av, 2, 0)))); } } - std::vector out_indices; + std::vector out_indices; { AV* facets_av = (AV*)SvRV(facets); int number_of_facets = av_len(facets_av) + 1; out_indices.reserve(number_of_facets); for (int i = 0; i < number_of_facets; ++ i) { AV* facet_av = (AV*)SvRV(*av_fetch(facets_av, i, 0)); - out_indices.push_back(Slic3r::Vec3i(SvIV(*av_fetch(facet_av, 0, 0)), SvIV(*av_fetch(facet_av, 1, 0)), SvIV(*av_fetch(facet_av, 2, 0)))); + out_indices.push_back(Slic3r::Vec3i32(SvIV(*av_fetch(facet_av, 0, 0)), SvIV(*av_fetch(facet_av, 1, 0)), SvIV(*av_fetch(facet_av, 2, 0)))); } } *THIS = TriangleMesh(std::move(out_vertices), std::move(out_indices)); From a65747dd04ec9ce4ad1cdd71e87873b865b6c35a Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sat, 11 May 2024 00:21:10 +0800 Subject: [PATCH 008/178] fix build error --- src/libslic3r/Arrange.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/Arrange.cpp b/src/libslic3r/Arrange.cpp index 6875ed216bb..6aeea356a36 100644 --- a/src/libslic3r/Arrange.cpp +++ b/src/libslic3r/Arrange.cpp @@ -1,6 +1,7 @@ #include "Arrange.hpp" #include "Print.hpp" #include "BoundingBox.hpp" +#include "libslic3r.h" #include #include @@ -337,8 +338,8 @@ static double fixed_overfit_topright_sliding(const std::tuple &resu Box pilebb = std::get<1>(result); auto shift = binbb.maxCorner() - pilebb.maxCorner(); - shift.x() = std::max(0, shift.x()); // do not allow left shift - shift.y() = std::max(0, shift.y()); // do not allow bottom shift + shift.x() = std::max((coord_t)0, shift.x()); // do not allow left shift + shift.y() = std::max((coord_t)0, shift.y()); // do not allow bottom shift pilebb.minCorner() += shift; pilebb.maxCorner() += shift; From e257e1e34741fcc33ad5730dafe39b354c4fae00 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sat, 11 May 2024 23:26:02 +0800 Subject: [PATCH 009/178] Improve performance when bed are large --- src/libslic3r/EdgeGrid.cpp | 6 +++--- src/libslic3r/libslic3r.h | 2 +- src/slic3r/GUI/GLCanvas3D.cpp | 15 +++++++++------ 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/libslic3r/EdgeGrid.cpp b/src/libslic3r/EdgeGrid.cpp index 4985b788e4b..c1c8fbcd98d 100644 --- a/src/libslic3r/EdgeGrid.cpp +++ b/src/libslic3r/EdgeGrid.cpp @@ -1307,9 +1307,9 @@ Polygons EdgeGrid::Grid::contours_simplified(coord_t offset, bool fill_holes) co // 1) Collect the lines. std::vector lines; EndPointMapType start_point_to_line_idx; - for (int r = 0; r <= int(m_rows); ++ r) { - for (int c = 0; c <= int(m_cols); ++ c) { - int addr = (r + 1) * cell_cols + c + 1; + for (coord_t r = 0; r <= coord_t(m_rows); ++ r) { + for (coord_t c = 0; c <= coord_t(m_cols); ++ c) { + size_t addr = (r + 1) * cell_cols + c + 1; bool left = cell_inside[addr - 1]; bool top = cell_inside[addr - cell_cols]; bool current = cell_inside[addr]; diff --git a/src/libslic3r/libslic3r.h b/src/libslic3r/libslic3r.h index 86d9241656c..e95222f5020 100644 --- a/src/libslic3r/libslic3r.h +++ b/src/libslic3r/libslic3r.h @@ -40,7 +40,7 @@ using coord_t = int32_t; #else //FIXME At least FillRectilinear2 and std::boost Voronoi require coord_t to be 32bit. -typedef int64_t coord_t; +using coord_t = int64_t; #endif using coordf_t = double; diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 1191bf55f3f..b4778e39325 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -5065,8 +5065,11 @@ std::vector GLCanvas3D::get_empty_cells(const Vec2f start_point, const Ve Vec2d vmin(build_volume.min.x(), build_volume.min.y()), vmax(build_volume.max.x(), build_volume.max.y()); BoundingBoxf bbox(vmin, vmax); std::vector cells; + std::vector cells_ret; auto min_x = start_point.x() - step(0) * int((start_point.x() - bbox.min.x()) / step(0)); auto min_y = start_point.y() - step(1) * int((start_point.y() - bbox.min.y()) / step(1)); + cells.reserve(((bbox.max.x() - min_x) / step(0)) * ((bbox.max.y() - min_y) / step(1))); + cells_ret.reserve(cells.size()); for (float x = min_x; x < bbox.max.x() - step(0) / 2; x += step(0)) for (float y = min_y; y < bbox.max.y() - step(1) / 2; y += step(1)) { @@ -5093,10 +5096,10 @@ std::vector GLCanvas3D::get_empty_cells(const Vec2f start_point, const Ve for (auto it = cells.begin(); it != cells.end(); ) { - if (inst_hull_2d.contains(Point(scale_(it->x()), scale_(it->y())))) - it = cells.erase(it); - else - it++; + if (!inst_hull_2d.contains(Point(scale_(it->x()), scale_(it->y())))) + cells_ret.push_back(*it); + + it++; } } } @@ -5106,8 +5109,8 @@ std::vector GLCanvas3D::get_empty_cells(const Vec2f start_point, const Ve start(0) = bbox.center()(0); start(1) = bbox.center()(1); } - std::sort(cells.begin(), cells.end(), [start](const Vec2f& cell1, const Vec2f& cell2) {return (cell1 - start).norm() < (cell2 - start).norm(); }); - return cells; + std::sort(cells_ret.begin(), cells_ret.end(), [start](const Vec2f& cell1, const Vec2f& cell2) {return (cell1 - start).norm() < (cell2 - start).norm(); }); + return cells_ret; } Vec2f GLCanvas3D::get_nearest_empty_cell(const Vec2f start_point, const Vec2f step) From 8cf872b1dc66b68a14fc952ff362280d9e1ecd0e Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sun, 12 May 2024 16:16:38 +0800 Subject: [PATCH 010/178] auto adjust grid size --- src/slic3r/GUI/PartPlate.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/PartPlate.cpp b/src/slic3r/GUI/PartPlate.cpp index df761f00eef..6c4a75f06f3 100644 --- a/src/slic3r/GUI/PartPlate.cpp +++ b/src/slic3r/GUI/PartPlate.cpp @@ -468,7 +468,14 @@ void PartPlate::calc_gridlines(const ExPolygon& poly, const BoundingBox& pp_bbox Polylines axes_lines, axes_lines_bolder; int count = 0; - for (coord_t x = pp_bbox.min(0); x <= pp_bbox.max(0); x += scale_(10.0)) { + int step = 10; + // Orca: use 500 x 500 bed size as baseline. + auto grid_counts = pp_bbox.size() / ((coord_t) scale_(step * 50)); + // if the grid is too dense, we increase the step + if (grid_counts.minCoeff() > 1) { + step = static_cast(grid_counts.minCoeff() + 1) * 10; + } + for (coord_t x = pp_bbox.min(0); x <= pp_bbox.max(0); x += scale_(step)) { Polyline line; line.append(Point(x, pp_bbox.min(1))); line.append(Point(x, pp_bbox.max(1))); @@ -480,7 +487,7 @@ void PartPlate::calc_gridlines(const ExPolygon& poly, const BoundingBox& pp_bbox count ++; } count = 0; - for (coord_t y = pp_bbox.min(1); y <= pp_bbox.max(1); y += scale_(10.0)) { + for (coord_t y = pp_bbox.min(1); y <= pp_bbox.max(1); y += scale_(step)) { Polyline line; line.append(Point(pp_bbox.min(0), y)); line.append(Point(pp_bbox.max(0), y)); From 58ec8f8d385ed52290eb5c109d0160e4d7f22e1c Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sun, 12 May 2024 23:35:41 +0800 Subject: [PATCH 011/178] switch res for large printer --- .../Arachne/SkeletalTrapezoidation.cpp | 15 +++++--- .../Arachne/SkeletalTrapezoidation.hpp | 6 ++- src/libslic3r/Arachne/WallToolPaths.cpp | 14 +++---- src/libslic3r/Arachne/WallToolPaths.hpp | 6 +-- src/libslic3r/CMakeLists.txt | 1 + src/libslic3r/Fill/Lightning/Generator.cpp | 14 ++++--- src/libslic3r/Fill/Lightning/Layer.cpp | 4 +- src/libslic3r/Fill/Lightning/TreeNode.hpp | 2 +- src/libslic3r/GCode/ConflictChecker.cpp | 5 +-- src/libslic3r/LayerRegion.cpp | 2 +- src/libslic3r/PrintObject.cpp | 2 +- src/libslic3r/Support/TreeModelVolumes.hpp | 4 +- src/libslic3r/Support/TreeSupport.cpp | 37 +++++++++++-------- src/libslic3r/Support/TreeSupport3D.cpp | 2 +- src/libslic3r/Support/TreeSupportCommon.hpp | 2 +- src/libslic3r/TriangleMeshSlicer.cpp | 4 +- src/libslic3r/libslic3r.cpp | 3 ++ src/libslic3r/libslic3r.h | 8 +++- src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp | 6 +-- src/slic3r/GUI/IMSlider.cpp | 10 +++-- src/slic3r/GUI/Plater.cpp | 7 ++++ 21 files changed, 92 insertions(+), 62 deletions(-) create mode 100644 src/libslic3r/libslic3r.cpp diff --git a/src/libslic3r/Arachne/SkeletalTrapezoidation.cpp b/src/libslic3r/Arachne/SkeletalTrapezoidation.cpp index 5d085f333b3..19d49c3e12f 100644 --- a/src/libslic3r/Arachne/SkeletalTrapezoidation.cpp +++ b/src/libslic3r/Arachne/SkeletalTrapezoidation.cpp @@ -542,7 +542,7 @@ void SkeletalTrapezoidation::generateToolpaths(std::vector & export_graph_to_svg(debug_out_path("ST-updateIsCentral-final-%d.svg", iRun), this->graph, this->outline); #endif - filterCentral(central_filter_dist); + filterCentral(central_filter_dist()); #ifdef ARACHNE_DEBUG export_graph_to_svg(debug_out_path("ST-filterCentral-final-%d.svg", iRun), this->graph, this->outline); @@ -729,7 +729,7 @@ void SkeletalTrapezoidation::filterNoncentralRegions() BOOST_LOG_TRIVIAL(warning) << "Encountered an uninitialized bead at the boundary!"; } assert(edge.to->data.bead_count >= 0 || edge.to->data.distance_to_boundary == 0); - constexpr coord_t max_dist = scaled(0.4); + const coord_t max_dist = scaled(0.4); filterNoncentralRegions(&edge, edge.to->data.bead_count, 0, max_dist); } } @@ -1303,6 +1303,7 @@ static inline Point normal(const Point& p0, coord_t len) void SkeletalTrapezoidation::applyTransitions(ptr_vector_t>& edge_transition_ends) { + const auto _snap_dist = snap_dist(); for (edge_t& edge : graph.edges) { if (edge.twin->data.hasTransitionEnds()) @@ -1348,7 +1349,7 @@ void SkeletalTrapezoidation::applyTransitions(ptr_vector_t ab_size - snap_dist) + if ((end_pos < _snap_dist || end_pos > ab_size - _snap_dist) && close_node->data.bead_count == new_node_bead_count ) { @@ -1390,6 +1391,7 @@ bool SkeletalTrapezoidation::isEndOfCentral(const edge_t& edge_to) const void SkeletalTrapezoidation::generateExtraRibs() { + const auto _snap_dist = snap_dist(); for (auto edge_it = graph.edges.begin(); edge_it != graph.edges.end(); ++edge_it) { edge_t& edge = *edge_it; @@ -1433,7 +1435,7 @@ void SkeletalTrapezoidation::generateExtraRibs() assert(end_pos > 0); assert(end_pos < ab_size); node_t* close_node = (end_pos < ab_size / 2)? from : to; - if ((end_pos < snap_dist || end_pos > ab_size - snap_dist) + if ((end_pos < _snap_dist || end_pos > ab_size - _snap_dist) && close_node->data.bead_count == new_node_bead_count ) { @@ -1593,6 +1595,7 @@ SkeletalTrapezoidation::edge_t* SkeletalTrapezoidation::getQuadMaxRedgeTo(edge_t void SkeletalTrapezoidation::propagateBeadingsUpward(std::vector& upward_quad_mids, ptr_vector_t& node_beadings) { + const auto _central_filter_dist = central_filter_dist(); for (auto upward_quad_mids_it = upward_quad_mids.rbegin(); upward_quad_mids_it != upward_quad_mids.rend(); ++upward_quad_mids_it) { edge_t* upward_edge = *upward_quad_mids_it; @@ -1609,7 +1612,7 @@ void SkeletalTrapezoidation::propagateBeadingsUpward(std::vector& upwar { // Only propagate to places where there is place continue; } - assert((upward_edge->from->data.distance_to_boundary != upward_edge->to->data.distance_to_boundary || shorter_then(upward_edge->to->p - upward_edge->from->p, central_filter_dist)) && "zero difference R edges should always be central"); + assert((upward_edge->from->data.distance_to_boundary != upward_edge->to->data.distance_to_boundary || shorter_then(upward_edge->to->p - upward_edge->from->p, _central_filter_dist)) && "zero difference R edges should always be central"); coord_t length = (upward_edge->to->p - upward_edge->from->p).cast().norm(); BeadingPropagation upper_beading = lower_beading; upper_beading.dist_to_bottom_source += length; @@ -1839,7 +1842,7 @@ std::shared_ptr SkeletalTrapezo { if (node->data.bead_count == -1) { // This bug is due to too small central edges - constexpr coord_t nearby_dist = scaled(0.1); + const coord_t nearby_dist = scaled(0.1); auto nearest_beading = getNearestBeading(node, nearby_dist); if (nearest_beading) { diff --git a/src/libslic3r/Arachne/SkeletalTrapezoidation.hpp b/src/libslic3r/Arachne/SkeletalTrapezoidation.hpp index 75ff9401559..ca8e13473f5 100644 --- a/src/libslic3r/Arachne/SkeletalTrapezoidation.hpp +++ b/src/libslic3r/Arachne/SkeletalTrapezoidation.hpp @@ -65,8 +65,10 @@ class SkeletalTrapezoidation coord_t transition_filter_dist; //!< Filter transition mids (i.e. anchors) closer together than this coord_t allowed_filter_deviation; //!< The allowed line width deviation induced by filtering coord_t beading_propagation_transition_dist; //!< When there are different beadings propagated from below and from above, use this transitioning distance - static constexpr coord_t central_filter_dist = scaled(0.02); //!< Filter areas marked as 'central' smaller than this - static constexpr coord_t snap_dist = scaled(0.02); //!< Generic arithmatic inaccuracy. Only used to determine whether a transition really needs to insert an extra edge. + //!< Filter areas marked as 'central' smaller than this + inline coord_t central_filter_dist() { return scaled(0.02); } + //!< Generic arithmatic inaccuracy. Only used to determine whether a transition really needs to insert an extra edge. + inline coord_t snap_dist() { return scaled(0.02); } /*! * The strategy to use to fill a certain shape with lines. diff --git a/src/libslic3r/Arachne/WallToolPaths.cpp b/src/libslic3r/Arachne/WallToolPaths.cpp index bb01050c10e..20e9a4f5970 100644 --- a/src/libslic3r/Arachne/WallToolPaths.cpp +++ b/src/libslic3r/Arachne/WallToolPaths.cpp @@ -261,7 +261,7 @@ void fixSelfIntersections(const coord_t epsilon, Polygons &thiss) // Points too close to line segments should be moved a little away from those line segments, but less than epsilon, // so at least half-epsilon distance between points can still be guaranteed. - constexpr coord_t grid_size = scaled(2.); + const coord_t grid_size = scaled(2.); auto query_grid = createLocToLineGrid(thiss, grid_size); const auto move_dist = std::max(2L, half_epsilon - 2); @@ -473,11 +473,11 @@ const std::vector &WallToolPaths::generate() if (this->inset_count < 1) return toolpaths; - const coord_t smallest_segment = Slic3r::Arachne::meshfix_maximum_resolution; - const coord_t allowed_distance = Slic3r::Arachne::meshfix_maximum_deviation; + const coord_t smallest_segment = Slic3r::Arachne::meshfix_maximum_resolution(); + const coord_t allowed_distance = Slic3r::Arachne::meshfix_maximum_deviation(); const coord_t epsilon_offset = (allowed_distance / 2) - 1; const double transitioning_angle = Geometry::deg2rad(m_params.wall_transition_angle); - constexpr coord_t discretization_step_size = scaled(0.8); + const coord_t discretization_step_size = scaled(0.8); // Simplify outline for boost::voronoi consumption. Absolutely no self intersections or near-self intersections allowed: // TODO: Open question: Does this indeed fix all (or all-but-one-in-a-million) cases for manifold but otherwise possibly complex polygons? @@ -692,9 +692,9 @@ void WallToolPaths::simplifyToolPaths(std::vector &toolpaths { for (size_t toolpaths_idx = 0; toolpaths_idx < toolpaths.size(); ++toolpaths_idx) { - const int64_t maximum_resolution = Slic3r::Arachne::meshfix_maximum_resolution; - const int64_t maximum_deviation = Slic3r::Arachne::meshfix_maximum_deviation; - const int64_t maximum_extrusion_area_deviation = Slic3r::Arachne::meshfix_maximum_extrusion_area_deviation; // unit: μm² + const int64_t maximum_resolution = Slic3r::Arachne::meshfix_maximum_resolution(); + const int64_t maximum_deviation = Slic3r::Arachne::meshfix_maximum_deviation(); + const int64_t maximum_extrusion_area_deviation = Slic3r::Arachne::meshfix_maximum_extrusion_area_deviation(); // unit: μm² for (auto& line : toolpaths[toolpaths_idx]) { line.simplify(maximum_resolution * maximum_resolution, maximum_deviation * maximum_deviation, maximum_extrusion_area_deviation); diff --git a/src/libslic3r/Arachne/WallToolPaths.hpp b/src/libslic3r/Arachne/WallToolPaths.hpp index 09e2ae55088..457f7e71494 100644 --- a/src/libslic3r/Arachne/WallToolPaths.hpp +++ b/src/libslic3r/Arachne/WallToolPaths.hpp @@ -16,9 +16,9 @@ namespace Slic3r::Arachne { constexpr bool fill_outline_gaps = true; -constexpr coord_t meshfix_maximum_resolution = scaled(0.5); -constexpr coord_t meshfix_maximum_deviation = scaled(0.025); -constexpr coord_t meshfix_maximum_extrusion_area_deviation = scaled(2.); +inline coord_t meshfix_maximum_resolution() { return scaled(0.5); } +inline coord_t meshfix_maximum_deviation() { return scaled(0.025); } +inline coord_t meshfix_maximum_extrusion_area_deviation() { return scaled(2.); } class WallToolPathsParams { diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt index 926619dbf33..2a37967de58 100644 --- a/src/libslic3r/CMakeLists.txt +++ b/src/libslic3r/CMakeLists.txt @@ -211,6 +211,7 @@ set(lisbslic3r_sources Layer.hpp LayerRegion.cpp libslic3r.h + libslic3r.cpp Line.cpp Line.hpp BlacklistedLibraryCheck.cpp diff --git a/src/libslic3r/Fill/Lightning/Generator.cpp b/src/libslic3r/Fill/Lightning/Generator.cpp index 309b576e018..bf1142ee456 100644 --- a/src/libslic3r/Fill/Lightning/Generator.cpp +++ b/src/libslic3r/Fill/Lightning/Generator.cpp @@ -177,6 +177,7 @@ const Layer& Generator::getTreesForLayer(const size_t& layer_id) const void Generator::generateTrees(const PrintObject &print_object, const std::function &throw_on_cancel_callback) { + const auto _locator_cell_size = locator_cell_size(); m_lightning_layers.resize(print_object.layers().size()); bboxs.resize(print_object.layers().size()); std::vector infill_outlines(print_object.layers().size(), Polygons()); @@ -193,7 +194,7 @@ void Generator::generateTrees(const PrintObject &print_object, const std::functi // For various operations its beneficial to quickly locate nearby features on the polygon: const size_t top_layer_id = print_object.layers().size() - 1; EdgeGrid::Grid outlines_locator(get_extents(infill_outlines[top_layer_id]).inflated(SCALED_EPSILON)); - outlines_locator.create(infill_outlines[top_layer_id], locator_cell_size); + outlines_locator.create(infill_outlines[top_layer_id], _locator_cell_size); // For-each layer from top to bottom: for (int layer_id = int(top_layer_id); layer_id >= 0; layer_id--) { @@ -223,11 +224,11 @@ void Generator::generateTrees(const PrintObject &print_object, const std::functi below_outlines_bbox.merge(get_extents(current_lightning_layer.tree_roots).inflated(SCALED_EPSILON)); outlines_locator.set_bbox(below_outlines_bbox); - outlines_locator.create(below_outlines, locator_cell_size); + outlines_locator.create(below_outlines, _locator_cell_size); std::vector& lower_trees = m_lightning_layers[layer_id - 1].tree_roots; for (auto& tree : current_lightning_layer.tree_roots) - tree->propagateToNextLayer(lower_trees, below_outlines, outlines_locator, m_prune_length, m_straightening_max_distance, locator_cell_size / 2); + tree->propagateToNextLayer(lower_trees, below_outlines, outlines_locator, m_prune_length, m_straightening_max_distance, _locator_cell_size / 2); } } @@ -238,10 +239,11 @@ void Generator::generateTreesforSupport(std::vector& contours, const s m_lightning_layers.resize(contours.size()); bboxs.resize(contours.size()); + const auto _locator_cell_size = locator_cell_size(); // For various operations its beneficial to quickly locate nearby features on the polygon: const size_t top_layer_id = contours.size() - 1; EdgeGrid::Grid outlines_locator(get_extents(contours[top_layer_id]).inflated(SCALED_EPSILON)); - outlines_locator.create(contours[top_layer_id], locator_cell_size); + outlines_locator.create(contours[top_layer_id], _locator_cell_size); // For-each layer from top to bottom: for (int layer_id = int(top_layer_id); layer_id >= 0; layer_id--) { @@ -271,11 +273,11 @@ void Generator::generateTreesforSupport(std::vector& contours, const s below_outlines_bbox.merge(get_extents(current_lightning_layer.tree_roots).inflated(SCALED_EPSILON)); outlines_locator.set_bbox(below_outlines_bbox); - outlines_locator.create(below_outlines, locator_cell_size); + outlines_locator.create(below_outlines, _locator_cell_size); std::vector& lower_trees = m_lightning_layers[layer_id - 1].tree_roots; for (auto& tree : current_lightning_layer.tree_roots) - tree->propagateToNextLayer(lower_trees, below_outlines, outlines_locator, m_prune_length, m_straightening_max_distance, locator_cell_size / 2); + tree->propagateToNextLayer(lower_trees, below_outlines, outlines_locator, m_prune_length, m_straightening_max_distance, _locator_cell_size / 2); } } diff --git a/src/libslic3r/Fill/Lightning/Layer.cpp b/src/libslic3r/Fill/Lightning/Layer.cpp index 354623e5191..4a30a95f457 100644 --- a/src/libslic3r/Fill/Lightning/Layer.cpp +++ b/src/libslic3r/Fill/Lightning/Layer.cpp @@ -29,7 +29,7 @@ Point GroundingLocation::p() const inline static Point to_grid_point(const Point &point, const BoundingBox &bbox) { - return (point - bbox.min) / locator_cell_size; + return (point - bbox.min) / locator_cell_size(); } void Layer::fillLocator(SparseNodeGrid &tree_node_locator, const BoundingBox& current_outlines_bbox) @@ -150,7 +150,7 @@ GroundingLocation Layer::getBestGroundingLocation coord_t current_dist = getWeightedDistance(node_location, unsupported_location); if (current_dist >= wall_supporting_radius) { // Only reconnect tree roots to other trees if they are not already close to the outlines. const coord_t search_radius = std::min(current_dist, within_dist); - BoundingBox region(unsupported_location - Point(search_radius, search_radius), unsupported_location + Point(search_radius + locator_cell_size, search_radius + locator_cell_size)); + BoundingBox region(unsupported_location - Point(search_radius, search_radius), unsupported_location + Point(search_radius + locator_cell_size(), search_radius + locator_cell_size())); region.min = to_grid_point(region.min, current_outlines_bbox); region.max = to_grid_point(region.max, current_outlines_bbox); diff --git a/src/libslic3r/Fill/Lightning/TreeNode.hpp b/src/libslic3r/Fill/Lightning/TreeNode.hpp index 8e0c029a958..14aa5e4888f 100644 --- a/src/libslic3r/Fill/Lightning/TreeNode.hpp +++ b/src/libslic3r/Fill/Lightning/TreeNode.hpp @@ -18,7 +18,7 @@ namespace Slic3r::FillLightning { -constexpr auto locator_cell_size = scaled(4.); +inline coord_t locator_cell_size() { return scaled(4.); } class Node; diff --git a/src/libslic3r/GCode/ConflictChecker.cpp b/src/libslic3r/GCode/ConflictChecker.cpp index 99661540946..012eed74590 100644 --- a/src/libslic3r/GCode/ConflictChecker.cpp +++ b/src/libslic3r/GCode/ConflictChecker.cpp @@ -13,9 +13,6 @@ namespace RasterizationImpl { using IndexPair = std::pair; using Grids = std::vector; -inline constexpr int64_t RasteXDistance = scale_(1); -inline constexpr int64_t RasteYDistance = scale_(1); - inline IndexPair point_map_grid_index(const Point &pt, int64_t xdist, int64_t ydist) { auto x = pt.x() / xdist; @@ -25,7 +22,7 @@ inline IndexPair point_map_grid_index(const Point &pt, int64_t xdist, int64_t yd inline bool nearly_equal(const Point &p1, const Point &p2) { return std::abs(p1.x() - p2.x()) < SCALED_EPSILON && std::abs(p1.y() - p2.y()) < SCALED_EPSILON; } -inline Grids line_rasterization(const Line &line, int64_t xdist = RasteXDistance, int64_t ydist = RasteYDistance) +inline Grids line_rasterization(const Line &line, int64_t xdist = scale_(1), int64_t ydist = scale_(1)) { Grids res; Point rayStart = line.a; diff --git a/src/libslic3r/LayerRegion.cpp b/src/libslic3r/LayerRegion.cpp index 69ac1824cca..224c2a8dafa 100644 --- a/src/libslic3r/LayerRegion.cpp +++ b/src/libslic3r/LayerRegion.cpp @@ -408,7 +408,7 @@ void LayerRegion::process_external_surfaces(const Layer *lower_layer, const Poly float expansion_bottom = expansion_top; float expansion_bottom_bridge = expansion_top; // Expand by waves of expansion_step size (expansion_step is scaled), but with no more steps than max_nr_expansion_steps. - static constexpr const float expansion_step = scaled(0.1); + const auto expansion_step = scaled(0.1); // Don't take more than max_nr_steps for small expansion_step. static constexpr const size_t max_nr_expansion_steps = 5; // Radius (with added epsilon) to absorb empty regions emering from regularization of ensuring, viz const float narrow_ensure_vertical_wall_thickness_region_radius = 0.5f * 0.65f * min_perimeter_infill_spacing; diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 78f3e69fa56..8cd6fc2b353 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -3151,7 +3151,7 @@ void PrintObject::clip_fill_surfaces() } // Merge the new overhangs, find new internal infill. polygons_append(upper_internal, std::move(overhangs)); - static constexpr const auto closing_radius = scaled(2.f); + const auto closing_radius = scaled(2.f); upper_internal = intersection( // Regularize the overhang regions, so that the infill areas will not become excessively jagged. smooth_outward( diff --git a/src/libslic3r/Support/TreeModelVolumes.hpp b/src/libslic3r/Support/TreeModelVolumes.hpp index 57ca9fae7ae..9234061b49c 100644 --- a/src/libslic3r/Support/TreeModelVolumes.hpp +++ b/src/libslic3r/Support/TreeModelVolumes.hpp @@ -34,8 +34,8 @@ namespace FFFTreeSupport { static constexpr const double SUPPORT_TREE_EXPONENTIAL_FACTOR = 1.5; -static constexpr const coord_t SUPPORT_TREE_EXPONENTIAL_THRESHOLD = scaled(1. * SUPPORT_TREE_EXPONENTIAL_FACTOR); -static constexpr const coord_t SUPPORT_TREE_COLLISION_RESOLUTION = scaled(0.5); +#define SUPPORT_TREE_EXPONENTIAL_THRESHOLD scaled(1. * SUPPORT_TREE_EXPONENTIAL_FACTOR) +#define SUPPORT_TREE_COLLISION_RESOLUTION scaled(0.5) static constexpr const bool SUPPORT_TREE_AVOID_SUPPORT_BLOCKER = true; class TreeModelVolumes diff --git a/src/libslic3r/Support/TreeSupport.cpp b/src/libslic3r/Support/TreeSupport.cpp index cbde8ba00b3..f52f1e218cb 100644 --- a/src/libslic3r/Support/TreeSupport.cpp +++ b/src/libslic3r/Support/TreeSupport.cpp @@ -474,7 +474,7 @@ static std::optional> polyline_sample_next_point_at_dis { const double dist2 = sqr(dist); const auto dist2i = int64_t(dist2); - static constexpr const auto eps = scaled(0.01); + const auto eps = scaled(0.01); for (size_t i = start_idx + 1; i < polyline.size(); ++ i) { const Point p1 = polyline[i]; @@ -836,6 +836,9 @@ public: { m_already_inserted.assign(num_support_layers, {}); this->min_xy_dist = this->config.xy_distance > this->config.xy_min_distance; + m_base_radius = scaled(0.01); + m_base_circle = Polygon{ make_circle(m_base_radius, SUPPORT_TREE_CIRCLE_RESOLUTION) }; + } const TreeModelVolumes &volumes; // Radius of the tree tip is large enough to be covered by an interface. @@ -971,8 +974,8 @@ private: std::vector &move_bounds; // Temps - static constexpr const auto m_base_radius = scaled(0.01); - const Polygon m_base_circle { make_circle(m_base_radius, SUPPORT_TREE_CIRCLE_RESOLUTION) }; + coord_t m_base_radius; + Polygon m_base_circle; // Mutexes, guards std::mutex m_mutex_movebounds; @@ -1567,6 +1570,7 @@ static Point move_inside_if_outside(const Polygons &polygons, Point from, int di current_elem.effective_radius_height += 1; coord_t radius = support_element_collision_radius(config, current_elem); + const auto _tiny_area_threshold = tiny_area_threshold(); if (settings.move) { increased = relevant_offset; if (overspeed > 0) { @@ -1587,7 +1591,7 @@ static Point move_inside_if_outside(const Polygons &polygons, Point from, int di if (mergelayer || current_elem.to_buildplate) { to_bp_data = safe_union(diff_clipped(increased, volumes.getAvoidance(radius, layer_idx - 1, settings.type, false, settings.use_min_distance))); - if (! current_elem.to_buildplate && area(to_bp_data) > tiny_area_threshold) { + if (! current_elem.to_buildplate && area(to_bp_data) > _tiny_area_threshold) { // mostly happening in the tip, but with merges one should check every time, just to be sure. current_elem.to_buildplate = true; // sometimes nodes that can reach the buildplate are marked as cant reach, tainting subtrees. This corrects it. BOOST_LOG_TRIVIAL(debug) << "Corrected taint leading to a wrong to model value on layer " << layer_idx - 1 << " targeting " << @@ -1599,7 +1603,7 @@ static Point move_inside_if_outside(const Polygons &polygons, Point from, int di to_model_data = safe_union(diff_clipped(increased, volumes.getAvoidance(radius, layer_idx - 1, settings.type, true, settings.use_min_distance))); if (!current_elem.to_model_gracious) { - if (mergelayer && area(to_model_data) >= tiny_area_threshold) { + if (mergelayer && area(to_model_data) >= _tiny_area_threshold) { current_elem.to_model_gracious = true; BOOST_LOG_TRIVIAL(debug) << "Corrected taint leading to a wrong non gracious value on layer " << layer_idx - 1 << " targeting " << current_elem.target_height << " with radius " << radius; @@ -1611,7 +1615,7 @@ static Point move_inside_if_outside(const Polygons &polygons, Point from, int di check_layer_data = current_elem.to_buildplate ? to_bp_data : to_model_data; - if (settings.increase_radius && area(check_layer_data) > tiny_area_threshold) { + if (settings.increase_radius && area(check_layer_data) > _tiny_area_threshold) { auto validWithRadius = [&](coord_t next_radius) { if (volumes.ceilRadius(next_radius, settings.use_min_distance) <= volumes.ceilRadius(radius, settings.use_min_distance)) return true; @@ -1627,7 +1631,7 @@ static Point move_inside_if_outside(const Polygons &polygons, Point from, int di volumes.getAvoidance(next_radius, layer_idx - 1, settings.type, true, settings.use_min_distance) : volumes.getCollision(next_radius, layer_idx - 1, settings.use_min_distance)); Polygons check_layer_data_2 = current_elem.to_buildplate ? to_bp_data_2 : to_model_data_2; - return area(check_layer_data_2) > tiny_area_threshold; + return area(check_layer_data_2) > _tiny_area_threshold; }; coord_t ceil_radius_before = volumes.ceilRadius(radius, settings.use_min_distance); @@ -1670,7 +1674,7 @@ static Point move_inside_if_outside(const Polygons &polygons, Point from, int di volumes.getCollision(radius, layer_idx - 1, settings.use_min_distance) )); check_layer_data = current_elem.to_buildplate ? to_bp_data : to_model_data; - if (area(check_layer_data) < tiny_area_threshold) { + if (area(check_layer_data) < _tiny_area_threshold) { BOOST_LOG_TRIVIAL(error) << "Lost area by doing catch up from " << ceil_radius_before << " to radius " << volumes.ceilRadius(support_element_collision_radius(config, current_elem), settings.use_min_distance); tree_supports_show_error("Area lost catching up radius. May not cause visible malformation."sv, true); @@ -1678,7 +1682,7 @@ static Point move_inside_if_outside(const Polygons &polygons, Point from, int di } } - return area(check_layer_data) > tiny_area_threshold ? std::optional(current_elem) : std::optional(); + return area(check_layer_data) > _tiny_area_threshold ? std::optional(current_elem) : std::optional(); } struct SupportElementInfluenceAreas { @@ -2147,13 +2151,14 @@ static bool merge_influence_areas_two_elements( merging_to_bp ? smaller_rad.areas.to_bp_areas : smaller_rad.areas.to_model_areas, merging_to_bp ? bigger_rad.areas.to_bp_areas : bigger_rad.areas.to_model_areas); + const auto _tiny_area_threshold = tiny_area_threshold(); // dont use empty as a line is not empty, but for this use-case it very well may be (and would be one layer down as union does not keep lines) // check if the overlap is large enough (Small ares tend to attract rounding errors in clipper). - if (area(intersect) <= tiny_area_threshold) + if (area(intersect) <= _tiny_area_threshold) return false; // While 0.025 was guessed as enough, i did not have reason to change it. - if (area(offset(intersect, scaled(-0.025), jtMiter, 1.2)) <= tiny_area_threshold) + if (area(offset(intersect, scaled(-0.025), jtMiter, 1.2)) <= _tiny_area_threshold) return false; #ifdef TREES_MERGE_RATHER_LATER @@ -2417,6 +2422,7 @@ static void create_layer_pathing(const TreeModelVolumes &volumes, const TreeSupp LayerIndex last_merge_layer_idx = move_bounds.size(); bool new_element = false; + const auto _tiny_area_threshold = tiny_area_threshold(); // Ensures at least one merge operation per 3mm height, 50 layers, 1 mm movement of slow speed or 5mm movement of fast speed (whatever is lowest). Values were guessed. size_t max_merge_every_x_layers = std::min(std::min(5000 / (std::max(config.maximum_move_distance, coord_t(100))), 1000 / std::max(config.maximum_move_distance_slow, coord_t(20))), 3000 / config.layer_height); @@ -2447,12 +2453,12 @@ static void create_layer_pathing(const TreeModelVolumes &volumes, const TreeSupp // Place already fully constructed elements to the output, remove them from influence_areas. SupportElements &this_layer = move_bounds[layer_idx - 1]; influence_areas.erase(std::remove_if(influence_areas.begin(), influence_areas.end(), - [&this_layer, layer_idx](SupportElementMerging &elem) { + [&this_layer, &_tiny_area_threshold, layer_idx](SupportElementMerging &elem) { if (elem.areas.influence_areas.empty()) // This area was removed completely due to collisions. return true; if (elem.areas.to_bp_areas.empty() && elem.areas.to_model_areas.empty()) { - if (area(elem.areas.influence_areas) < tiny_area_threshold) { + if (area(elem.areas.influence_areas) < _tiny_area_threshold) { BOOST_LOG_TRIVIAL(error) << "Insert Error of Influence area bypass on layer " << layer_idx - 1; tree_supports_show_error("Insert error of area after bypassing merge.\n"sv, true); } @@ -2485,7 +2491,7 @@ static void create_layer_pathing(const TreeModelVolumes &volumes, const TreeSupp for (SupportElementMerging &elem : influence_areas) if (! elem.areas.influence_areas.empty()) { Polygons new_area = safe_union(elem.areas.influence_areas); - if (area(new_area) < tiny_area_threshold) { + if (area(new_area) < _tiny_area_threshold) { BOOST_LOG_TRIVIAL(error) << "Insert Error of Influence area on layer " << layer_idx - 1 << ". Origin of " << elem.parents.size() << " areas. Was to bp " << elem.state.to_buildplate; tree_supports_show_error("Insert error of area after merge.\n"sv, true); } @@ -3050,6 +3056,7 @@ static void drop_non_gracious_areas( std::vector &support_layer_storage, std::function throw_on_cancel) { + const auto _tiny_area_threshold = tiny_area_threshold(); std::vector>> dropped_down_areas(linear_data.size()); tbb::parallel_for(tbb::blocked_range(0, linear_data.size()), [&](const tbb::blocked_range &range) { @@ -3058,7 +3065,7 @@ static void drop_non_gracious_areas( if (const DrawArea &draw_element = linear_data[idx]; ! draw_element.element->state.to_model_gracious && draw_element.child_element == nullptr) { Polygons rest_support; const LayerIndex layer_idx_first = draw_element.element->state.layer_idx - 1; - for (LayerIndex layer_idx = layer_idx_first; area(rest_support) > tiny_area_threshold && layer_idx >= 0; -- layer_idx) { + for (LayerIndex layer_idx = layer_idx_first; area(rest_support) > _tiny_area_threshold && layer_idx >= 0; -- layer_idx) { rest_support = diff_clipped(layer_idx == layer_idx_first ? draw_element.polygons : rest_support, volumes.getCollision(0, layer_idx, false)); dropped_down_areas[idx].emplace_back(layer_idx, rest_support); } diff --git a/src/libslic3r/Support/TreeSupport3D.cpp b/src/libslic3r/Support/TreeSupport3D.cpp index 434036e5000..ba3b1810ce9 100644 --- a/src/libslic3r/Support/TreeSupport3D.cpp +++ b/src/libslic3r/Support/TreeSupport3D.cpp @@ -133,7 +133,7 @@ static inline void check_self_intersections(const ExPolygon &expoly, const std:: #endif // TREE_SUPPORT_SHOW_ERRORS_WIN32 } -static constexpr const auto tiny_area_threshold = sqr(scaled(0.001)); +// static constexpr const auto tiny_area_threshold = sqr(scaled(0.001)); static std::vector>> group_meshes(const Print &print, const std::vector &print_object_ids) { diff --git a/src/libslic3r/Support/TreeSupportCommon.hpp b/src/libslic3r/Support/TreeSupportCommon.hpp index 52cfe485222..0f14c96e20b 100644 --- a/src/libslic3r/Support/TreeSupportCommon.hpp +++ b/src/libslic3r/Support/TreeSupportCommon.hpp @@ -452,7 +452,7 @@ private: static constexpr const bool polygons_strictly_simple = false; -static constexpr const auto tiny_area_threshold = sqr(scaled(0.001)); +inline double tiny_area_threshold() { return sqr(scaled(0.001)); } void tree_supports_show_error(std::string_view message, bool critical); diff --git a/src/libslic3r/TriangleMeshSlicer.cpp b/src/libslic3r/TriangleMeshSlicer.cpp index acd36d78058..07a685184b2 100644 --- a/src/libslic3r/TriangleMeshSlicer.cpp +++ b/src/libslic3r/TriangleMeshSlicer.cpp @@ -1832,7 +1832,7 @@ static void make_expolygons(const Polygons &loops, const float closing_radius, c static inline Transform3f make_trafo_for_slicing(const Transform3d &trafo) { auto t = trafo; - static constexpr const double s = 1. / SCALING_FACTOR; + const double s = 1. / SCALING_FACTOR; t.prescale(Vec3d(s, s, 1.)); return t.cast(); } @@ -1846,7 +1846,7 @@ static std::vector transform_mesh_vertices_for_slicing(const indexed { // Copy and scale vertices in XY, don't scale in Z. // Possibly apply the transformation. - static constexpr const double s = 1. / SCALING_FACTOR; + const double s = 1. / SCALING_FACTOR; std::vector out(mesh.vertices); if (is_identity(trafo)) { // Identity. diff --git a/src/libslic3r/libslic3r.cpp b/src/libslic3r/libslic3r.cpp new file mode 100644 index 00000000000..e94d99dcd0c --- /dev/null +++ b/src/libslic3r/libslic3r.cpp @@ -0,0 +1,3 @@ +#include "libslic3r.h" + +double SCALING_FACTOR = SCALING_FACTOR_INTERNAL; diff --git a/src/libslic3r/libslic3r.h b/src/libslic3r/libslic3r.h index e95222f5020..3e71ada5ab0 100644 --- a/src/libslic3r/libslic3r.h +++ b/src/libslic3r/libslic3r.h @@ -55,7 +55,13 @@ static constexpr double EPSILON = 1e-4; // 0..4294mm with 1nm resolution // int32_t fits an interval of (-2147.48mm, +2147.48mm) // with int64_t we don't have to worry anymore about the size of the int. -static constexpr double SCALING_FACTOR = 0.000001; + +// Orca todo: might be better to use 1e-5 for all, namometer resolution is not needed for 3D printing +static constexpr double SCALING_FACTOR_INTERNAL = 0.000001; +static constexpr double SCALING_FACTOR_INTERNAL_LARGE_PRINTER = 0.00001; +static constexpr double LARGE_BED_THRESHOLD = 2147; + +extern double SCALING_FACTOR; // for creating circles (for brim_ear) #define POLY_SIDES 24 static constexpr double PI = 3.141592653589793238; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp index db6a7f2f2d0..95129dfcd91 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp @@ -84,9 +84,9 @@ wxString last_used_directory = wxEmptyString; /// File path to svg std::string choose_svg_file(); -constexpr double get_tesselation_tolerance(double scale){ - constexpr double tesselation_tolerance_in_mm = .1; //8e-2; - constexpr double tesselation_tolerance_scaled = (tesselation_tolerance_in_mm*tesselation_tolerance_in_mm) / SCALING_FACTOR / SCALING_FACTOR; +double get_tesselation_tolerance(double scale){ + double tesselation_tolerance_in_mm = .1; //8e-2; + double tesselation_tolerance_scaled = (tesselation_tolerance_in_mm*tesselation_tolerance_in_mm) / SCALING_FACTOR / SCALING_FACTOR; return tesselation_tolerance_scaled / scale / scale; } diff --git a/src/slic3r/GUI/IMSlider.cpp b/src/slic3r/GUI/IMSlider.cpp index 1320e28084c..a0f15066b11 100644 --- a/src/slic3r/GUI/IMSlider.cpp +++ b/src/slic3r/GUI/IMSlider.cpp @@ -11,8 +11,10 @@ namespace Slic3r { namespace GUI { -constexpr double min_delta_area = scale_(scale_(25)); // equal to 25 mm2 -constexpr double miscalculation = scale_(scale_(1)); // equal to 1 mm2 +// equal to 25 mm2 +inline double min_delta_area() { return scale_(scale_(25)); } +// equal to 1 mm2 +inline double miscalculation() { return scale_(scale_(1)); } static const float LEFT_MARGIN = 13.0f + 100.0f; // avoid thumbnail toolbar static const float HORIZONTAL_SLIDER_WINDOW_HEIGHT = 64.0f; @@ -33,7 +35,7 @@ static ImVec4 m_tick_rect; bool equivalent_areas(const double& bottom_area, const double& top_area) { - return fabs(bottom_area - top_area) <= miscalculation; + return fabs(bottom_area - top_area) <= miscalculation(); } bool check_color_change(PrintObject *object, size_t frst_layer_id, size_t layers_cnt, bool check_overhangs, std::function break_condition) @@ -50,7 +52,7 @@ bool check_color_change(PrintObject *object, size_t frst_layer_id, size_t layers // Check percent of the area decrease. // This value have to be more than min_delta_area and more then 10% - if ((prev_area - cur_area > min_delta_area) && (cur_area / prev_area < 0.9)) { + if ((prev_area - cur_area > min_delta_area()) && (cur_area / prev_area < 0.9)) { detected = true; if (break_condition(layer)) break; } diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index f812ae2b069..39f135c1083 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -7972,6 +7972,13 @@ bool Plater::priv::show_publish_dlg(bool show) //BBS: add bed exclude area void Plater::priv::set_bed_shape(const Pointfs& shape, const Pointfs& exclude_areas, const double printable_height, const std::string& custom_texture, const std::string& custom_model, bool force_as_custom) { + //Orca: reduce resolution for large bed printer + BoundingBoxf bed_size = get_extents(shape); + if (bed_size.size().maxCoeff() <= LARGE_BED_THRESHOLD) + SCALING_FACTOR = SCALING_FACTOR_INTERNAL; + else + SCALING_FACTOR = SCALING_FACTOR_INTERNAL_LARGE_PRINTER; + //BBS: add shape position Vec2d shape_position = partplate_list.get_current_shape_position(); bool new_shape = bed.set_shape(shape, printable_height, custom_model, force_as_custom, shape_position); From b3c2d5369dd911a175fa9427ec4fbee1f016b81d Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner <36260775+koppensb@users.noreply.github.com> Date: Fri, 17 May 2024 16:22:40 +0200 Subject: [PATCH 012/178] Prusa MINIIS Profiles, changed to Pressure Advance UI settings, better processes for different nozzle sizes (#5244) * added Prusa Mini with Input Shaper to profiles * refactoring to more reusable settings * added more processes, changed settings * Update 0.15mm Speed @MINIIS.json * Update 0.10mm Speed @MINIIS.json * changed to cubic because of speed * further changes after reviewing prusa slicer settings * simplified machine settings * retraction speeds according to prusa slicer * changed max flow according to prusa slicer * after clearification at the prusaslicer repository M900 got removed * precise wall per default * enable reverse overhang on odd by default * added settings from prusa slicer * changed cooling setings * changed default to inner-outer-inner wall inner-outer-inner gives pretty good overhangs with better surface * new profiles for bigger nozzles, changed some cooling settings according to prusaslicer * profiles for different nozzles sizes, better speed settings * initial layer height was wrong * wrong initial layer height * set the correct accelerations * changed firmware version number * using pressure advance UI setting instead of custom filament g-code * Update Prusa Generic PC.json * Update Prusa Generic PC.json * changed max flow for PC * added PVA filament profiles * bug fix in filament loading * changed line width according to prusa slicer * changed heatbed temperature for Minis capabilities --- resources/profiles/Prusa.json | 158 +++++++++++++++++- .../Prusa Generic ABS @MINIIS 0.25.json | 52 ++++++ .../Prusa Generic ABS @MINIIS 0.6.json | 52 ++++++ .../Prusa Generic ABS @MINIIS 0.8.json | 52 ++++++ .../filament/Prusa Generic ABS @MINIIS.json | 42 ++++- .../Prusa Generic ASA @MINIIS 0.25.json | 52 ++++++ .../Prusa Generic ASA @MINIIS 0.6.json | 52 ++++++ .../Prusa Generic ASA @MINIIS 0.8.json | 52 ++++++ .../filament/Prusa Generic ASA @MINIIS.json | 42 ++++- .../Prusa Generic PA @MINIIS 0.25.json | 31 ++++ .../Prusa Generic PA @MINIIS 0.6.json | 31 ++++ .../Prusa Generic PA @MINIIS 0.8.json | 31 ++++ .../filament/Prusa Generic PA @MINIIS.json | 31 ++++ .../Prusa Generic PA-CF @MINIIS 0.25.json | 34 ++++ .../Prusa Generic PA-CF @MINIIS 0.6.json | 34 ++++ .../Prusa Generic PA-CF @MINIIS 0.8.json | 34 ++++ .../filament/Prusa Generic PA-CF @MINIIS.json | 34 ++++ .../Prusa Generic PC @MINIIS 0.25.json | 25 +++ .../Prusa Generic PC @MINIIS 0.6.json | 25 +++ .../Prusa Generic PC @MINIIS 0.8.json | 25 +++ .../filament/Prusa Generic PC @MINIIS.json | 25 +++ .../Prusa/filament/Prusa Generic PC.json | 27 ++- .../Prusa Generic PETG @MINIIS 0.25.json | 64 +++++++ .../Prusa Generic PETG @MINIIS 0.6.json | 64 +++++++ .../Prusa Generic PETG @MINIIS 0.8.json | 64 +++++++ .../filament/Prusa Generic PETG @MINIIS.json | 25 +-- .../Prusa Generic PLA @MINIIS 0.25.json | 28 ++++ .../Prusa Generic PLA @MINIIS 0.6.json | 28 ++++ .../Prusa Generic PLA @MINIIS 0.8.json | 28 ++++ .../filament/Prusa Generic PLA @MINIIS.json | 17 +- .../Prusa Generic PLA-CF @MINIIS 0.25.json | 31 ++++ .../Prusa Generic PLA-CF @MINIIS 0.6.json | 31 ++++ .../Prusa Generic PLA-CF @MINIIS 0.8.json | 31 ++++ .../Prusa Generic PLA-CF @MINIIS.json | 31 ++++ .../Prusa Generic PVA @MINIIS 0.25.json | 31 ++++ .../Prusa Generic PVA @MINIIS 0.6.json | 31 ++++ .../Prusa Generic PVA @MINIIS 0.8.json | 31 ++++ .../filament/Prusa Generic PVA @MINIIS.json | 30 ++++ .../Prusa/filament/Prusa Generic PVA.json | 6 +- .../filament/Prusa Generic TPU @MINIIS.json | 6 +- .../machine/Prusa MINIIS 0.4 nozzle.json | 2 +- .../profiles/Prusa/machine/Prusa MINIIS.json | 2 +- .../Prusa/process/0.05mm Detail @MINIIS.json | 8 + .../Prusa/process/0.07mm Detail @MINIIS.json | 8 + .../Prusa/process/0.10mm Speed @MINIIS.json | 8 + .../Prusa/process/0.12mm Speed @MINIIS.json | 8 + .../process/0.12mm Standard @MINIIS.json | 8 + .../process/0.15mm Speed @MINIIS 0.25.json | 35 ++++ .../Prusa/process/0.15mm Speed @MINIIS.json | 15 +- .../process/0.15mm Standard @MINIIS 0.25.json | 35 ++++ .../process/0.15mm Standard @MINIIS 0.6.json | 42 +++++ .../process/0.15mm Standard @MINIIS.json | 34 ++-- .../process/0.20mm Speed @MINIIS 0.6.json | 35 ++++ .../Prusa/process/0.20mm Speed @MINIIS.json | 10 +- .../process/0.20mm Standard @MINIIS 0.6.json | 32 ++++ .../process/0.20mm Standard @MINIIS.json | 13 +- .../Prusa/process/0.25mm Speed @MINIIS.json | 10 ++ .../process/0.25mm Standard @MINIIS.json | 9 + .../Prusa/process/0.30mm Detail @MINIIS.json | 9 + .../process/0.35mm Standard @MINIIS.json | 10 ++ .../process/0.40mm Standard @MINIIS.json | 18 ++ 61 files changed, 1796 insertions(+), 73 deletions(-) create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 00a3485df1c..1a7cf4e465f 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -190,21 +190,49 @@ "name": "0.15mm Standard @MINIIS", "sub_path": "process/0.15mm Standard @MINIIS.json" }, + { + + "name": "0.15mm Standard @MINIIS 0.6", + "sub_path": "process/0.15mm Standard @MINIIS 0.6.json" + }, + { + + "name": "0.15mm Standard @MINIIS 0.25", + "sub_path": "process/0.15mm Standard @MINIIS 0.25.json" + }, + { "name": "0.15mm Speed @MINIIS", "sub_path": "process/0.15mm Speed @MINIIS.json" }, + { + + "name": "0.15mm Speed @MINIIS 0.25", + "sub_path": "process/0.15mm Speed @MINIIS 0.25.json" + }, { "name": "0.20mm Standard @MINIIS", "sub_path": "process/0.20mm Standard @MINIIS.json" }, + { + + "name": "0.20mm Standard @MINIIS 0.6", + "sub_path": "process/0.20mm Standard @MINIIS 0.6.json" + }, { "name": "0.20mm Speed @MINIIS", "sub_path": "process/0.20mm Speed @MINIIS.json" - }, + }, + { + + "name": "0.20mm Speed @MINIIS 0.6", + "sub_path": "process/0.20mm Speed @MINIIS 0.6.json" + }, + + { "name": "0.25mm Standard @MINIIS", @@ -301,6 +329,18 @@ "name": "Prusa Generic PLA @MK4", "sub_path": "filament/Prusa Generic PLA @MK4.json" }, + { + "name": "Prusa Generic PLA @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PLA @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic PLA @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PLA @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PLA @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PLA @MINIIS 0.8.json" + }, { "name": "Prusa Generic PLA @MINIIS", "sub_path": "filament/Prusa Generic PLA @MINIIS.json" @@ -309,6 +349,22 @@ "name": "Prusa Generic PLA-CF", "sub_path": "filament/Prusa Generic PLA-CF.json" }, + { + "name": "Prusa Generic PLA-CF @MINIIS", + "sub_path": "filament/Prusa Generic PLA-CF @MINIIS.json" + }, + { + "name": "Prusa Generic PLA-CF @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PLA-CF @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic PLA-CF @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PLA-CF @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PLA-CF @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PLA-CF @MINIIS 0.8.json" + }, { "name": "Prusa Generic PETG", "sub_path": "filament/Prusa Generic PETG.json" @@ -321,6 +377,18 @@ "name": "Prusa Generic PETG @MINIIS", "sub_path": "filament/Prusa Generic PETG @MINIIS.json" }, + { + "name": "Prusa Generic PETG @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PETG @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic PETG @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PETG @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PETG @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PETG @MINIIS 0.8.json" + }, { "name": "Prusa Generic ABS", "sub_path": "filament/Prusa Generic ABS.json" @@ -333,6 +401,18 @@ "name": "Prusa Generic ABS @MINIIS", "sub_path": "filament/Prusa Generic ABS @MINIIS.json" }, + { + "name": "Prusa Generic ABS @MINIIS 0.25", + "sub_path": "filament/Prusa Generic ABS @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic ABS @MINIIS 0.6", + "sub_path": "filament/Prusa Generic ABS @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic ABS @MINIIS 0.8", + "sub_path": "filament/Prusa Generic ABS @MINIIS 0.8.json" + }, { "name": "Prusa Generic TPU", "sub_path": "filament/Prusa Generic TPU.json" @@ -357,21 +437,97 @@ "name": "Prusa Generic ASA @MINIIS", "sub_path": "filament/Prusa Generic ASA @MINIIS.json" }, + { + "name": "Prusa Generic ASA @MINIIS 0.25", + "sub_path": "filament/Prusa Generic ASA @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic ASA @MINIIS 0.6", + "sub_path": "filament/Prusa Generic ASA @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic ASA @MINIIS 0.8", + "sub_path": "filament/Prusa Generic ASA @MINIIS 0.8.json" + }, { "name": "Prusa Generic PC", "sub_path": "filament/Prusa Generic PC.json" }, + { + "name": "Prusa Generic PC @MINIIS", + "sub_path": "filament/Prusa Generic PC @MINIIS.json" + }, + { + "name": "Prusa Generic PC @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PC @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic PC @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PC @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PC @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PC @MINIIS 0.8.json" + }, { "name": "Prusa Generic PVA", "sub_path": "filament/Prusa Generic PVA.json" }, + { + "name": "Prusa Generic PVA @MINIIS", + "sub_path": "filament/Prusa Generic PVA @MINIIS.json" + }, + { + "name": "Prusa Generic PVA @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PVA @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic PVA @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PVA @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PVA @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PVA @MINIIS 0.8.json" + }, { "name": "Prusa Generic PA", "sub_path": "filament/Prusa Generic PA.json" }, + { + "name": "Prusa Generic PA @MINIIS", + "sub_path": "filament/Prusa Generic PA @MINIIS.json" + }, + { + "name": "Prusa Generic PA @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PA @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic PA @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PA @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PA @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PA @MINIIS 0.8.json" + }, { "name": "Prusa Generic PA-CF", "sub_path": "filament/Prusa Generic PA-CF.json" + }, + { + "name": "Prusa Generic PA-CF @MINIIS", + "sub_path": "filament/Prusa Generic PA-CF @MINIIS.json" + }, + { + "name": "Prusa Generic PA-CF @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PA-CF @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic PA-CF @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PA-CF @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PA-CF @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PA-CF @MINIIS 0.8.json" } ], "machine_list": [ diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.25.json new file mode 100644 index 00000000000..f1f91d3f787 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.25.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "filament_id": "GFB99_5", + "setting_id": "GFSA04", + "name": "Prusa Generic ABS @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.55" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.6.json new file mode 100644 index 00000000000..3ef1005948f --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.6.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "filament_id": "GFB99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic ABS @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.1" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.8.json new file mode 100644 index 00000000000..8a3fefe1b44 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.8.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "filament_id": "GFB99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic ABS @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.07" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json index 1eae4096954..08495b61ac2 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json @@ -7,18 +7,46 @@ "instantiation": "true", "inherits": "fdm_filament_abs", "filament_flow_ratio": [ - "0.926" + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" ], "filament_max_volumetric_speed": [ "10" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}" + "fan_max_speed": [ + "15" ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.19" + ], + "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.25.json new file mode 100644 index 00000000000..577d06c5eaf --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.25.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "filament_id": "GFB98_5", + "setting_id": "GFSA04", + "name": "Prusa Generic ASA @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_flow_ratio": [ + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.55" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.6.json new file mode 100644 index 00000000000..8d9c6edd6a4 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.6.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "filament_id": "GFB98_3", + "setting_id": "GFSA04", + "name": "Prusa Generic ASA @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_flow_ratio": [ + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.1" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.8.json new file mode 100644 index 00000000000..6eff61395ec --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.8.json @@ -0,0 +1,52 @@ +{ + "type": "filament", + "filament_id": "GFB98_4", + "setting_id": "GFSA04", + "name": "Prusa Generic ASA @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_flow_ratio": [ + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.07" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json index a7085464803..5fd21311702 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json @@ -7,18 +7,46 @@ "instantiation": "true", "inherits": "fdm_filament_asa", "filament_flow_ratio": [ - "0.93" + "1" + ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" ], "filament_max_volumetric_speed": [ "10" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}" + "fan_max_speed": [ + "15" ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.19" + ], + "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.25.json new file mode 100644 index 00000000000..b6576cc0d10 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.25.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFN99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PA @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.55" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.6.json new file mode 100644 index 00000000000..bdb64a4a8b5 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.6.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFN99_2", + "setting_id": "GFSA04", + "name": "Prusa Generic PA @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.1" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.8.json new file mode 100644 index 00000000000..2075ae25ed5 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.8.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFN99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PA @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "pressure_advance": [ + "0.07" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_max_volumetric_speed": [ + "8" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS.json new file mode 100644 index 00000000000..ff8c622decd --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFN99_1", + "setting_id": "GFSA04", + "name": "Prusa Generic PA @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.19" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.25.json new file mode 100644 index 00000000000..68b628210d7 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.25.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFN98_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PA-CF @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_type": [ + "PA-CF" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "1.02" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.6.json new file mode 100644 index 00000000000..f19a1545d6c --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.6.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFN98_2", + "setting_id": "GFSA04", + "name": "Prusa Generic PA-CF @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_type": [ + "PA-CF" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.22" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.8.json new file mode 100644 index 00000000000..c4dbec05284 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.8.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFN98_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PA-CF @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_type": [ + "PA-CF" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.15" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS.json new file mode 100644 index 00000000000..a0a6b789146 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFN98_1", + "setting_id": "GFSA04", + "name": "Prusa Generic PA-CF @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_type": [ + "PA-CF" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.36" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json new file mode 100644 index 00000000000..e1ca18d3ae6 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFC99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PC @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "7" + ], + "filament_flow_ratio": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.55" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json new file mode 100644 index 00000000000..2636f59ea38 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFC99_2", + "setting_id": "GFSA04", + "name": "Prusa Generic PC @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "7" + ], + "filament_flow_ratio": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.1" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json new file mode 100644 index 00000000000..e7bac7b4ebf --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFC99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PC @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "7" + ], + "filament_flow_ratio": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.07" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json new file mode 100644 index 00000000000..3dadd237647 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFC99_1", + "setting_id": "GFSA04", + "name": "Prusa Generic PC @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "7" + ], + "filament_flow_ratio": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.19" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC.json b/resources/profiles/Prusa/filament/Prusa Generic PC.json index 0c232ec2723..b1821e1d4d4 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PC.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PC.json @@ -12,22 +12,33 @@ "filament_flow_ratio": [ "0.94" ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], "compatible_printers": [ "Prusa MK3S 0.25 nozzle", "Prusa MK3S 0.4 nozzle", "Prusa MK3S 0.6 nozzle", "Prusa MK3S 0.8 nozzle", - "Prusa MINI 0.25 nozzle", - "Prusa MINI 0.4 nozzle", - "Prusa MINI 0.6 nozzle", - "Prusa MINI 0.8 nozzle", "Prusa MK4 0.25 nozzle", "Prusa MK4 0.4 nozzle", "Prusa MK4 0.6 nozzle", "Prusa MK4 0.8 nozzle", - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINI 0.25 nozzle", + "Prusa MINI 0.4 nozzle", + "Prusa MINI 0.6 nozzle", + "Prusa MINI 0.8 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.25.json new file mode 100644 index 00000000000..8090554d091 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.25.json @@ -0,0 +1,64 @@ +{ + "type": "filament", + "filament_id": "GFG99_5", + "setting_id": "GFSA04", + "name": "Prusa Generic PETG @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "50" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "10" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "1.02" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.6.json new file mode 100644 index 00000000000..8dad5b26e8c --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.6.json @@ -0,0 +1,64 @@ +{ + "type": "filament", + "filament_id": "GFG99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PETG @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "50" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "17" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.22" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.8.json new file mode 100644 index 00000000000..8829ea6f8fb --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.8.json @@ -0,0 +1,64 @@ +{ + "type": "filament", + "filament_id": "GFG99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PETG @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "50" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "20" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.15" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json index 4f56ee10a41..e9b57ebadad 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json @@ -1,6 +1,6 @@ { "type": "filament", - "filament_id": "GFG99_1", + "filament_id": "GFG99_2", "setting_id": "GFSA04", "name": "Prusa Generic PETG @MINIIS", "from": "system", @@ -16,25 +16,25 @@ "30" ], "overhang_fan_speed": [ - "90" + "50" ], "overhang_fan_threshold": [ "25%" ], "fan_max_speed": [ - "90" + "50" ], "fan_min_speed": [ - "40" + "30" ], "slow_down_min_speed": [ "10" ], "slow_down_layer_time": [ - "8" + "10" ], "filament_flow_ratio": [ - "0.95" + "1" ], "nozzle_temperature": [ "240" @@ -51,13 +51,14 @@ "filament_max_volumetric_speed": [ "9" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.4" + ], + "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.25.json new file mode 100644 index 00000000000..9df6c863c06 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.25.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "filament_id": "GFL99_5", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "slow_down_layer_time": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.85" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.6.json new file mode 100644 index 00000000000..667c98c8011 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.6.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "filament_id": "GFL99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "slow_down_layer_time": [ + "12" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.17" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.8.json new file mode 100644 index 00000000000..711b271b1c0 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.8.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "filament_id": "GFL99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "slow_down_layer_time": [ + "15" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.12" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json index 45ab0c18123..2ac1386e716 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json @@ -7,21 +7,22 @@ "instantiation": "true", "inherits": "fdm_filament_pla", "filament_flow_ratio": [ - "0.98" + "1" ], "filament_max_volumetric_speed": [ "14" ], "slow_down_layer_time": [ - "8" + "10" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.27" + ], + "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.25.json new file mode 100644 index 00000000000..929fe26671d --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.25.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFL98_5", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA-CF @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.85" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.6.json new file mode 100644 index 00000000000..cee03633005 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.6.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFL98_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA-CF @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "12" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.17" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.8.json new file mode 100644 index 00000000000..1bfce103521 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.8.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFL98_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA-CF @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "15" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.12" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS.json new file mode 100644 index 00000000000..24559261d9b --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFL98_1", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA-CF @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.27" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.25.json new file mode 100644 index 00000000000..bbbc4a6aa96 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.25.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFS99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PVA @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.55" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.6.json new file mode 100644 index 00000000000..d9f64abbedb --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.6.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFS99_2", + "setting_id": "GFSA04", + "name": "Prusa Generic PVA @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.1" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.8.json new file mode 100644 index 00000000000..5e0055a5fbe --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.8.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFS99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PVA @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.07" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS.json new file mode 100644 index 00000000000..164b7179649 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "filament_id": "GFS99_1", + "setting_id": "GFSA04", + "name": "Prusa Generic PVA @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.19" + ], + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA.json b/resources/profiles/Prusa/filament/Prusa Generic PVA.json index ee80f6c637a..2c0e2017e37 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PVA.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA.json @@ -30,10 +30,6 @@ "Prusa MK4 0.25 nozzle", "Prusa MK4 0.4 nozzle", "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle", - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MK4 0.8 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json index b79f4ae8702..b9214b30311 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json @@ -12,9 +12,6 @@ "filament_flow_ratio": [ "1.15" ], - "filament_start_gcode": [ - "M900 K0 ; Filament gcode" - ], "hot_plate_temp" : [ "50" ], @@ -83,6 +80,9 @@ ], "support_material_interface_fan_speed": [ "-1" + ], + "pressure_advance": [ + "0" ], "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json index 2457711175d..d5fa1be6408 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json @@ -99,7 +99,7 @@ "printable_height": "180", "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", "machine_pause_gcode": "M601", - "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U5.1.2+13478\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", + "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 6.0.0+14794\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS.json b/resources/profiles/Prusa/machine/Prusa MINIIS.json index 0786441dcd7..5735ad018cf 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS.json @@ -8,5 +8,5 @@ "bed_model": "miniis_bed.stl", "bed_texture": "miniis.svg", "hotend_model": "", - "default_materials": "Prusa Generic PLA-CF;Prusa Generic PC;Prusa Generic PVA;Prusa Generic PA;Prusa Generic PA-CF;Prusa Generic ABS @MINIIS;Prusa Generic PLA @MINIIS;Prusa Generic PETG @MINIIS;Prusa Generic TPU @MINIIS;Prusa Generic ASA @MINIIS;" + "default_materials": "Prusa Generic PLA-CF @MINIIS;Prusa Generic PC @MINIIS;Prusa Generic PVA @MINIIS;Prusa Generic PA @MINIIS;Prusa Generic PA-CF @MINIIS;Prusa Generic ABS @MINIIS;Prusa Generic PLA @MINIIS;Prusa Generic PLA @MINIIS 0.6;Prusa Generic PLA @MINIIS 0.8;Prusa Generic PETG @MINIIS;Prusa Generic PETG @MINIIS 0.6;Prusa Generic PETG @MINIIS 0.8;Prusa Generic TPU @MINIIS;Prusa Generic ASA @MINIIS;" } diff --git a/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json index ce05b686628..bc1222ce369 100644 --- a/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json +++ b/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.27", + "inner_wall_line_width": "0.25", + "outer_wall_line_width": "0.25", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.25", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.25", + "support_line_width": "0.25", "layer_height": "0.05", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.7", diff --git a/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json index c22b0d24c2a..575a23a6748 100644 --- a/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json +++ b/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.27", + "inner_wall_line_width": "0.25", + "outer_wall_line_width": "0.25", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.25", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.25", + "support_line_width": "0.25", "layer_height": "0.07", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.7", diff --git a/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json index 40076038c97..220e8c33d69 100644 --- a/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_speed_miniis", + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.4", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36", "bridge_speed": "35", "layer_height": "0.10", "initial_layer_print_height": "0.2", diff --git a/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json index 2e77168ac08..2d2ee203ab4 100644 --- a/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.27", + "inner_wall_line_width": "0.27", + "outer_wall_line_width": "0.27", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.27", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.27", + "support_line_width": "0.25", "layer_height": "0.12", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.7", diff --git a/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json index 1a2cc016869..ffbd39268fb 100644 --- a/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.27", + "inner_wall_line_width": "0.27", + "outer_wall_line_width": "0.27", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.27", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.27", + "support_line_width": "0.25", "layer_height": "0.12", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.7", diff --git a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json new file mode 100644 index 00000000000..aa50d7e06ea --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json @@ -0,0 +1,35 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Speed @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_miniis", + "line_width": "0.27", + "inner_wall_line_width": "0.27", + "outer_wall_line_width": "0.27", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.27", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.27", + "support_line_width": "0.25", + "layer_height": "0.15", + "initial_layer_print_height": "0.20", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "outer_wall_speed": "120", + "inner_wall_speed": "120", + "top_surface_speed": "120", + "sparse_infill_speed": "100", + "bridge_speed": "25", + "internal_solid_infill_speed": "140", + "sparse_infill_acceleration": "2500", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json index fba5d501b45..14bce20a508 100644 --- a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json @@ -5,8 +5,16 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", - "layer_height": "0.12", - "initial_layer_print_height": "0.15", + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36", + "layer_height": "0.15", + "initial_layer_print_height": "0.20", "top_shell_thickness": "0.7", "top_shell_layers": "5", "bottom_shell_thickness": "0.5", @@ -22,7 +30,6 @@ "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1500", "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json new file mode 100644 index 00000000000..d6e26a6a343 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json @@ -0,0 +1,35 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Standard @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_miniis", + "line_width": "0.27", + "inner_wall_line_width": "0.27", + "outer_wall_line_width": "0.27", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.27", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.27", + "support_line_width": "0.25", + "layer_height": "0.15", + "initial_layer_print_height": "0.20", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "outer_wall_speed": "40", + "inner_wall_speed": "70", + "top_surface_speed": "40", + "sparse_infill_speed": "100", + "bridge_speed": "25", + "internal_solid_infill_speed": "140", + "sparse_infill_acceleration": "2500", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json new file mode 100644 index 00000000000..dca892dfccd --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json @@ -0,0 +1,42 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Standard @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "process_common_miniis", + "line_width": "0.68", + "inner_wall_line_width": "0.6", + "outer_wall_line_width": "0.6", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.6", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.6", + "support_line_width": "0.5", + "layer_height": "0.15", + "initial_layer_print_height": "0.20", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "outer_wall_speed": "45", + "inner_wall_speed": "70", + "top_surface_speed": "70", + "sparse_infill_speed": "140", + "bridge_speed": "40", + "gap_infill_speed": "80", + "internal_solid_infill_speed": "140", + "travel_speed": "300", + "default_acceleration": "2000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1500", + "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2500", + "outer_wall_acceleration": "1500", + "bridge_acceleration": "1500", + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json index d4485f483ca..6d6abbfaf19 100644 --- a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json @@ -5,25 +5,35 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", - "layer_height": "0.12", - "initial_layer_print_height": "0.15", + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36", + "layer_height": "0.15", + "initial_layer_print_height": "0.20", "top_shell_thickness": "0.7", "top_shell_layers": "5", "bottom_shell_thickness": "0.5", "bottom_shell_layers": "4", - "outer_wall_speed": "40", - "inner_wall_speed": "70", - "top_surface_speed": "40", - "sparse_infill_speed": "100", + "outer_wall_speed": "45", + "inner_wall_speed": "80", + "top_surface_speed": "45", + "sparse_infill_speed": "110", "bridge_speed": "25", - "internal_solid_infill_speed": "140", - "sparse_infill_acceleration": "2500", - "internal_solid_infill_acceleration": "2500", + "default_acceleration": "2000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1500", + "bridge_acceleration": "1500", "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.25 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json new file mode 100644 index 00000000000..34f2125fa2e --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json @@ -0,0 +1,35 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Speed @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "process_speed_miniis", + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ], + "line_width": "0.68", + "inner_wall_line_width": "0.62", + "outer_wall_line_width": "0.62", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.62", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.5", + "outer_wall_speed": "115", + "inner_wall_speed": "115", + "small_perimeter_speed": "115", + "sparse_infill_speed": "120", + "internal_solid_infill_speed": "100", + "top_surface_speed": "70", + "gap_infill_speed": "80", + "bridge_speed": "40", + "travel_speed": "300", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1500", + "inner_wall_acceleration": "2500", + "outer_wall_acceleration": "2000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "3000", + "overhang_1_4_speed": "45" +} diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json index cf5c7333bb3..18de123e5ca 100644 --- a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json @@ -7,5 +7,13 @@ "inherits": "process_speed_miniis", "compatible_printers": [ "Prusa MINIIS 0.4 nozzle" - ] + ], + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36" } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json new file mode 100644 index 00000000000..70a388dc989 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json @@ -0,0 +1,32 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "process_common_miniis", + "line_width": "0.68", + "inner_wall_line_width": "0.62", + "outer_wall_line_width": "0.62", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.62", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.5", + "sparse_infill_speed": "120", + "internal_solid_infill_speed": "100", + "top_surface_speed": "70", + "gap_infill_speed": "80", + "bridge_speed": "40", + "travel_speed": "300", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1500", + "inner_wall_acceleration": "2500", + "outer_wall_acceleration": "2000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "3000", + "overhang_1_4_speed": "45", + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json index 8984d059d1f..7a1f1d1baf6 100644 --- a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json @@ -6,7 +6,14 @@ "instantiation": "true", "inherits": "process_common_miniis", "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.6 nozzle" - ] + "Prusa MINIIS 0.4 nozzle" + ], + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36" } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json index 1b8cb9efd06..edb6a5430b0 100644 --- a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_speed_miniis", + "line_width": "0.68", + "inner_wall_line_width": "0.68", + "outer_wall_line_width": "0.68", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.68", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.68", + "support_line_width": "0.55", "layer_height": "0.25", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.9", @@ -19,6 +27,8 @@ "gap_infill_speed": "60", "support_speed": "80", "overhang_1_4_speed": "45", + "travel_speed": "300", + "internal_solid_infill_acceleration": "3000", "compatible_printers": [ "Prusa MINIIS 0.6 nozzle" ] diff --git a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json index 66964b9cf76..d46e23e0ff7 100644 --- a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_common_miniis", + "line_width": "0.68", + "inner_wall_line_width": "0.68", + "outer_wall_line_width": "0.68", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.68", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.68", + "support_line_width": "0.55", "layer_height": "0.25", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.9", @@ -19,6 +27,7 @@ "top_surface_speed": "60", "gap_infill_speed": "60", "support_speed": "80", + "travel_speed": "300", "compatible_printers": [ "Prusa MINIIS 0.6 nozzle" ] diff --git a/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json index 54fb85f6cd9..80cda29acc2 100644 --- a/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json +++ b/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json @@ -5,12 +5,21 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.9", + "inner_wall_line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.7", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "1", + "internal_solid_infill_line_width": "0.9", + "support_line_width": "0.65", "layer_height": "0.3", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.7", "top_shell_layers": "3", "bottom_shell_thickness": "0.5", "bottom_shell_layers": "2", + "travel_speed": "300", "compatible_printers": [ "Prusa MINIIS 0.8 nozzle" ] diff --git a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json index ebc6ffcb3e1..e3d12815f57 100644 --- a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json @@ -5,7 +5,16 @@ "from": "system", "instantiation": "true", "inherits": "process_common_miniis", + "line_width": "0.68", + "inner_wall_line_width": "0.68", + "outer_wall_line_width": "0.68", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.68", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.68", + "support_line_width": "0.55", "initial_layer_print_height": "0.2", + "layer_height": "0.35", "top_shell_thickness": "0.9", "top_shell_layers": "4", "bottom_shell_thickness": "0.6", @@ -19,6 +28,7 @@ "internal_solid_infill_speed": "60", "top_surface_speed": "55", "gap_infill_speed": "45", + "travel_speed": "300", "compatible_printers": [ "Prusa MINIIS 0.6 nozzle" ] diff --git a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json index 26edf2b36da..3f2bd1d86a1 100644 --- a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.9", + "inner_wall_line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.75", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "1", + "internal_solid_infill_line_width": "0.9", + "support_line_width": "0.65", "layer_height": "0.4", "initial_layer_print_height": "0.2", "top_shell_thickness": "1.2", @@ -21,6 +29,16 @@ "internal_solid_infill_speed": "40", "top_surface_speed": "35", "gap_infill_speed": "35", + "travel_speed": "300", + "default_acceleration": "2000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "bridge_acceleration": "1000", "compatible_printers": [ "Prusa MINIIS 0.8 nozzle" ] From 55ea9b755816ba7c8042b5e5fd2e18f1775de295 Mon Sep 17 00:00:00 2001 From: Dylan <331506+macdylan@users.noreply.github.com> Date: Sat, 18 May 2024 13:25:39 +0800 Subject: [PATCH 013/178] update snapmaker profiles (#5300) * update snapmaker profiles - add BracingKit for Snapmaker 2 - add Artisan profiles * remove key * fix compatible_printers * remove pva for single extruder * fix ci --- resources/profiles/Snapmaker.json | 518 +++++++++++++++++- .../Snapmaker/Snapmaker A250 BKit_cover.png | Bin 0 -> 211754 bytes .../Snapmaker A250 Dual BKit_cover.png | Bin 0 -> 218790 bytes .../Snapmaker A250 Dual QS+B Kit_cover.png | Bin 0 -> 224143 bytes .../Snapmaker A250 Dual QSKit_cover.png | Bin 66406 -> 220088 bytes .../Snapmaker/Snapmaker A250 Dual_cover.png | Bin 57264 -> 214200 bytes .../Snapmaker/Snapmaker A250 Dual_texture.svg | 11 + .../Snapmaker A250 QS+B Kit_cover.png | Bin 0 -> 217344 bytes .../Snapmaker/Snapmaker A250 QSKit_cover.png | Bin 66406 -> 213096 bytes .../Snapmaker A250 QSKit_texture.svg | 6 - .../Snapmaker/Snapmaker A250_cover.png | Bin 57264 -> 212962 bytes .../Snapmaker/Snapmaker A250_texture.svg | 11 +- .../Snapmaker/Snapmaker A350 BKit_cover.png | Bin 0 -> 212102 bytes .../Snapmaker A350 Dual BKit_cover.png | Bin 0 -> 217426 bytes .../Snapmaker A350 Dual QS+B Kit_cover.png | Bin 0 -> 222847 bytes .../Snapmaker A350 Dual QSKit_cover.png | Bin 65597 -> 218736 bytes .../Snapmaker/Snapmaker A350 Dual_cover.png | Bin 59158 -> 240339 bytes .../Snapmaker/Snapmaker A350 Dual_texture.svg | 11 + .../Snapmaker A350 QS+B Kit_cover.png | Bin 0 -> 217420 bytes .../Snapmaker/Snapmaker A350 QSKit_cover.png | Bin 65597 -> 213326 bytes .../Snapmaker A350 QSKit_texture.svg | 6 - .../Snapmaker/Snapmaker A350_cover.png | Bin 59158 -> 207557 bytes .../Snapmaker/Snapmaker A350_texture.svg | 12 +- .../Snapmaker/Snapmaker Artisan_bed.stl | Bin 0 -> 7884 bytes .../Snapmaker/Snapmaker Artisan_cover.png | Bin 0 -> 241679 bytes .../Snapmaker/Snapmaker Artisan_texture.svg | 9 + .../profiles/Snapmaker/Snapmaker J1_cover.png | Bin 45686 -> 402570 bytes .../Snapmaker/Snapmaker J1_texture.svg | 51 +- .../PolyLite Dual PLA @0.2 nozzle.json | 19 + .../Snapmaker/filament/PolyLite Dual PLA.json | 37 ++ .../filament/PolyLite PLA @0.2 nozzle.json | 12 +- .../Snapmaker/filament/PolyLite PLA.json | 30 +- .../PolyTerra Dual PLA @0.2 nozzle.json | 19 + .../filament/PolyTerra Dual PLA.json | 37 ++ .../filament/PolyTerra PLA @0.2 nozzle.json | 12 +- .../filament/PolyTerra PLA @base.json | 2 +- .../Snapmaker/filament/PolyTerra PLA.json | 30 +- .../filament/Snapmaker ABS @0.2 nozzle.json | 12 +- .../Snapmaker/filament/Snapmaker ABS.json | 32 +- .../filament/Snapmaker ASA @0.2 nozzle.json | 14 +- .../Snapmaker/filament/Snapmaker ASA.json | 32 +- .../Snapmaker Dual ABS @0.2 nozzle.json | 70 +++ .../Snapmaker Dual ABS @0.8 nozzle.json | 25 + .../filament/Snapmaker Dual ABS @base.json | 59 ++ .../filament/Snapmaker Dual ABS Benchy.json | 62 +++ .../filament/Snapmaker Dual ABS.json | 28 + .../Snapmaker Dual ASA @0.2 nozzle.json | 67 +++ .../filament/Snapmaker Dual ASA @base.json | 56 ++ .../filament/Snapmaker Dual ASA.json | 37 ++ .../filament/Snapmaker Dual PA-CF @base.json | 56 ++ .../filament/Snapmaker Dual PA-CF.json | 37 ++ .../filament/Snapmaker Dual PET @base.json | 53 ++ .../filament/Snapmaker Dual PET.json | 37 ++ .../Snapmaker Dual PETG @0.2 nozzle.json | 22 + .../Snapmaker Dual PETG @0.8 nozzle.json | 25 + .../filament/Snapmaker Dual PETG @base.json | 65 +++ .../Snapmaker Dual PETG-CF @base.json | 95 ++++ .../filament/Snapmaker Dual PETG-CF.json | 37 ++ .../filament/Snapmaker Dual PETG.json | 28 + .../filament/Snapmaker Dual PLA @base.json | 44 ++ .../Snapmaker Dual PLA Eco @0.2 nozzle.json | 22 + .../Snapmaker Dual PLA Eco @0.8 nozzle.json | 22 + .../Snapmaker Dual PLA Eco @base.json | 44 ++ .../filament/Snapmaker Dual PLA Eco.json | 28 + .../Snapmaker Dual PLA Matte @0.2 nozzle.json | 22 + .../Snapmaker Dual PLA Matte @0.8 nozzle.json | 22 + .../Snapmaker Dual PLA Matte @base.json | 50 ++ .../filament/Snapmaker Dual PLA Matte.json | 28 + .../Snapmaker Dual PLA Metal @0.2 nozzle.json | 22 + .../Snapmaker Dual PLA Metal @base.json | 53 ++ .../filament/Snapmaker Dual PLA Metal.json | 37 ++ .../Snapmaker Dual PLA Silk @0.2 nozzle.json | 22 + .../Snapmaker Dual PLA Silk @base.json | 62 +++ .../filament/Snapmaker Dual PLA Silk.json | 37 ++ .../Snapmaker Dual PLA-CF @0.8 nozzle.json | 22 + .../filament/Snapmaker Dual PLA-CF @base.json | 77 +++ .../filament/Snapmaker Dual PLA-CF.json | 28 + .../filament/Snapmaker Dual PLA.json | 46 ++ .../Snapmaker Dual PVA @0.2 nozzle.json | 28 + .../filament/Snapmaker Dual PVA @base.json | 41 ++ .../filament/Snapmaker Dual PVA.json | 37 ++ .../filament/Snapmaker Dual TPE.json | 67 +++ .../filament/Snapmaker Dual TPU @base.json | 38 ++ .../Snapmaker Dual TPU High-Flow.json | 55 ++ .../filament/Snapmaker Dual TPU.json | 37 ++ .../Snapmaker J1 ABS @0.2 nozzle.json | 27 + .../Snapmaker J1 ABS @0.8 nozzle.json | 2 +- .../filament/Snapmaker J1 ABS @base.json | 18 +- .../filament/Snapmaker J1 ABS Benchy.json | 89 +++ .../Snapmaker J1 ASA @0.2 nozzle.json | 18 + .../filament/Snapmaker J1 ASA @base.json | 9 + .../filament/Snapmaker J1 PA-CF @base.json | 3 + .../filament/Snapmaker J1 PET @base.json | 3 + .../Snapmaker J1 PETG @0.2 nozzle.json | 2 +- .../Snapmaker J1 PETG @0.8 nozzle.json | 3 - .../filament/Snapmaker J1 PETG @base.json | 29 +- .../filament/Snapmaker J1 PETG-CF @base.json | 44 +- .../filament/Snapmaker J1 PLA @base.json | 3 + .../filament/Snapmaker J1 PLA Eco @base.json | 3 + .../Snapmaker J1 PLA Matte @0.8 nozzle.json | 3 - .../Snapmaker J1 PLA Matte @base.json | 5 +- .../Snapmaker J1 PLA Metal @base.json | 3 + .../filament/Snapmaker J1 PLA Silk @base.json | 3 + .../Snapmaker J1 PLA-CF @0.8 nozzle.json | 2 +- .../filament/Snapmaker J1 PLA-CF @base.json | 21 +- .../filament/Snapmaker J1 PVA @base.json | 3 + .../filament/Snapmaker J1 TPU @base.json | 5 +- .../Snapmaker/filament/Snapmaker PA-CF.json | 32 +- .../filament/Snapmaker PET @Dual.json | 25 +- .../Snapmaker/filament/Snapmaker PET.json | 32 +- .../filament/Snapmaker PETG @0.2 nozzle.json | 14 +- .../filament/Snapmaker PETG-CF @base.json | 41 +- .../Snapmaker/filament/Snapmaker PETG-CF.json | 32 +- .../Snapmaker/filament/Snapmaker PETG.json | 32 +- .../Snapmaker/filament/Snapmaker PLA Eco.json | 40 +- .../Snapmaker PLA Silk @0.2 nozzle.json | 10 +- .../filament/Snapmaker PLA Silk.json | 30 +- .../Snapmaker/filament/Snapmaker PLA-CF.json | 30 +- .../Snapmaker/filament/Snapmaker PLA.json | 42 +- .../filament/Snapmaker PVA @0.2 nozzle.json | 15 +- .../Snapmaker/filament/Snapmaker PVA.json | 28 +- .../Snapmaker/filament/Snapmaker TPE.json | 30 +- .../Snapmaker/filament/Snapmaker TPU.json | 30 +- .../filament/fdm_filament_common.json | 14 +- .../Snapmaker/filament/fdm_filament_pa.json | 22 +- .../Snapmaker/filament/fdm_filament_pva.json | 18 - .../Snapmaker/filament/fdm_filament_tpu.json | 6 +- .../Snapmaker A250 BKit (0.2 nozzle).json | 20 + .../Snapmaker A250 BKit (0.4 nozzle).json | 20 + .../Snapmaker A250 BKit (0.6 nozzle).json | 20 + .../Snapmaker A250 BKit (0.8 nozzle).json | 20 + .../machine/Snapmaker A250 BKit.json | 11 + ...Snapmaker A250 Dual BKit (0.2 nozzle).json | 21 + ...Snapmaker A250 Dual BKit (0.4 nozzle).json | 21 + ...Snapmaker A250 Dual BKit (0.6 nozzle).json | 21 + ...Snapmaker A250 Dual BKit (0.8 nozzle).json | 21 + .../machine/Snapmaker A250 Dual BKit.json | 11 + ...maker A250 Dual QS+B Kit (0.2 nozzle).json | 21 + ...maker A250 Dual QS+B Kit (0.4 nozzle).json | 21 + ...maker A250 Dual QS+B Kit (0.6 nozzle).json | 21 + ...maker A250 Dual QS+B Kit (0.8 nozzle).json | 21 + .../machine/Snapmaker A250 Dual QS+B Kit.json | 11 + .../machine/Snapmaker A250 Dual QSKit.json | 2 +- .../machine/Snapmaker A250 Dual.json | 2 +- .../Snapmaker A250 QS+B Kit (0.2 nozzle).json | 20 + .../Snapmaker A250 QS+B Kit (0.4 nozzle).json | 20 + .../Snapmaker A250 QS+B Kit (0.6 nozzle).json | 20 + .../Snapmaker A250 QS+B Kit (0.8 nozzle).json | 20 + .../machine/Snapmaker A250 QS+B Kit.json | 11 + .../machine/Snapmaker A250 QSKit.json | 2 +- .../Snapmaker A350 BKit (0.2 nozzle).json | 20 + .../Snapmaker A350 BKit (0.4 nozzle).json | 20 + .../Snapmaker A350 BKit (0.6 nozzle).json | 20 + .../Snapmaker A350 BKit (0.8 nozzle).json | 20 + .../machine/Snapmaker A350 BKit.json | 11 + ...Snapmaker A350 Dual BKit (0.2 nozzle).json | 21 + ...Snapmaker A350 Dual BKit (0.4 nozzle).json | 21 + ...Snapmaker A350 Dual BKit (0.6 nozzle).json | 21 + ...Snapmaker A350 Dual BKit (0.8 nozzle).json | 21 + .../machine/Snapmaker A350 Dual BKit.json | 11 + ...maker A350 Dual QS+B Kit (0.2 nozzle).json | 21 + ...maker A350 Dual QS+B Kit (0.4 nozzle).json | 21 + ...maker A350 Dual QS+B Kit (0.6 nozzle).json | 21 + ...maker A350 Dual QS+B Kit (0.8 nozzle).json | 21 + .../machine/Snapmaker A350 Dual QS+B Kit.json | 11 + .../machine/Snapmaker A350 Dual QSKit.json | 2 +- .../machine/Snapmaker A350 Dual.json | 2 +- .../Snapmaker A350 QS+B Kit (0.2 nozzle).json | 20 + .../Snapmaker A350 QS+B Kit (0.4 nozzle).json | 20 + .../Snapmaker A350 QS+B Kit (0.6 nozzle).json | 20 + .../Snapmaker A350 QS+B Kit (0.8 nozzle).json | 20 + .../machine/Snapmaker A350 QS+B Kit.json | 11 + .../machine/Snapmaker A350 QSKit.json | 2 +- .../Snapmaker Artisan (0.2 nozzle).json | 21 + .../Snapmaker Artisan (0.4 nozzle).json | 21 + .../Snapmaker Artisan (0.6 nozzle).json | 21 + .../Snapmaker Artisan (0.8 nozzle).json | 21 + .../Snapmaker/machine/Snapmaker Artisan.json | 11 + .../profiles/Snapmaker/machine/fdm_a250.json | 6 +- .../Snapmaker/machine/fdm_a250_bk.json | 39 ++ .../Snapmaker/machine/fdm_a250_dual.json | 16 +- .../Snapmaker/machine/fdm_a250_dual_bk.json | 39 ++ .../Snapmaker/machine/fdm_a250_dual_qs.json | 6 +- .../machine/fdm_a250_dual_qs_bk.json | 39 ++ .../Snapmaker/machine/fdm_a250_qs.json | 3 +- .../Snapmaker/machine/fdm_a250_qs_bk.json | 39 ++ .../profiles/Snapmaker/machine/fdm_a350.json | 6 +- .../Snapmaker/machine/fdm_a350_bk.json | 39 ++ .../Snapmaker/machine/fdm_a350_dual.json | 16 +- .../Snapmaker/machine/fdm_a350_dual_bk.json | 39 ++ .../Snapmaker/machine/fdm_a350_dual_qs.json | 7 +- .../machine/fdm_a350_dual_qs_bk.json | 39 ++ .../Snapmaker/machine/fdm_a350_qs.json | 3 +- .../Snapmaker/machine/fdm_a350_qs_bk.json | 39 ++ .../profiles/Snapmaker/machine/fdm_a400.json | 59 ++ .../Snapmaker/machine/fdm_common.json | 2 +- .../profiles/Snapmaker/machine/fdm_idex.json | 38 +- .../Snapmaker/machine/fdm_linear2.json | 14 +- .../Snapmaker/machine/fdm_linear2_dual.json | 15 +- ...0.06 Standard @Snapmaker (0.2 nozzle).json | 10 +- ...ndard @Snapmaker Artisan (0.2 nozzle).json | 27 + ...6 Standard @Snapmaker J1 (0.2 nozzle).json | 17 +- ...08 Extra Fine @Snapmaker (0.4 nozzle).json | 10 +- ... Fine @Snapmaker Artisan (0.4 nozzle).json | 22 + ...Extra Fine @Snapmaker J1 (0.4 nozzle).json | 15 +- ...0.10 Standard @Snapmaker (0.2 nozzle).json | 10 +- ...ndard @Snapmaker Artisan (0.2 nozzle).json | 25 + ...0 Standard @Snapmaker J1 (0.2 nozzle).json | 13 +- .../0.12 Fine @Snapmaker (0.4 nozzle).json | 10 +- ... Fine @Snapmaker Artisan (0.4 nozzle).json | 21 + .../0.12 Fine @Snapmaker J1 (0.4 nozzle).json | 12 +- ...0.14 Standard @Snapmaker (0.2 nozzle).json | 10 +- ...ndard @Snapmaker Artisan (0.2 nozzle).json | 25 + ...4 Standard @Snapmaker J1 (0.2 nozzle).json | 16 +- .../0.16 Optimal @Snapmaker (0.4 nozzle).json | 10 +- ...timal @Snapmaker Artisan (0.4 nozzle).json | 20 + ...16 Optimal @Snapmaker J1 (0.4 nozzle).json | 13 +- ...0.18 Standard @Snapmaker (0.6 nozzle).json | 10 +- ...ndard @Snapmaker Artisan (0.6 nozzle).json | 22 + ...8 Standard @Snapmaker J1 (0.6 nozzle).json | 13 +- ...0.20 Standard @Snapmaker (0.4 nozzle).json | 10 +- ...ndard @Snapmaker Artisan (0.4 nozzle).json | 12 + ...0 Standard @Snapmaker J1 (0.4 nozzle).json | 11 +- ...0.20 Strength @Snapmaker (0.4 nozzle).json | 10 +- ...ength @Snapmaker Artisan (0.4 nozzle).json | 15 + ...0 Strength @Snapmaker J1 (0.4 nozzle).json | 13 +- .../0.24 Draft @Snapmaker (0.4 nozzle).json | 10 +- ...Draft @Snapmaker Artisan (0.4 nozzle).json | 18 + ...0.24 Draft @Snapmaker J1 (0.4 nozzle).json | 10 +- ...0.24 Standard @Snapmaker (0.6 nozzle).json | 10 +- ...0.24 Standard @Snapmaker (0.8 nozzle).json | 11 +- ...ndard @Snapmaker Artisan (0.6 nozzle).json | 22 + ...ndard @Snapmaker Artisan (0.8 nozzle).json | 23 + ...4 Standard @Snapmaker J1 (0.6 nozzle).json | 13 +- ...4 Standard @Snapmaker J1 (0.8 nozzle).json | 16 +- ...enchy @Snapmaker Artisan (0.4 nozzle).json | 60 ++ ....25 Benchy @Snapmaker J1 (0.4 nozzle).json | 27 +- ...8 Extra Draft @Snapmaker (0.4 nozzle).json | 11 +- ...Draft @Snapmaker Artisan (0.4 nozzle).json | 19 + ...xtra Draft @Snapmaker J1 (0.4 nozzle).json | 10 +- ...0.30 Standard @Snapmaker (0.6 nozzle).json | 11 +- ...ndard @Snapmaker Artisan (0.6 nozzle).json | 25 + ...0 Standard @Snapmaker J1 (0.6 nozzle).json | 12 +- ...0.30 Strength @Snapmaker (0.6 nozzle).json | 10 +- ...ength @Snapmaker Artisan (0.6 nozzle).json | 26 + ...0 Strength @Snapmaker J1 (0.6 nozzle).json | 13 +- ...0.32 Standard @Snapmaker (0.8 nozzle).json | 11 +- ...ndard @Snapmaker Artisan (0.8 nozzle).json | 25 + ...2 Standard @Snapmaker J1 (0.8 nozzle).json | 14 +- ...0.34 Standard @Snapmaker (0.6 nozzle).json | 11 +- ...ndard @Snapmaker Artisan (0.6 nozzle).json | 25 + ...4 Standard @Snapmaker J1 (0.6 nozzle).json | 12 +- ...0.36 Standard @Snapmaker (0.8 nozzle).json | 11 +- ...ndard @Snapmaker Artisan (0.8 nozzle).json | 25 + ...6 Standard @Snapmaker J1 (0.8 nozzle).json | 14 +- ...0.38 Standard @Snapmaker (0.6 nozzle).json | 11 +- ...ndard @Snapmaker Artisan (0.6 nozzle).json | 25 + ...8 Standard @Snapmaker J1 (0.6 nozzle).json | 12 +- ...0.40 Standard @Snapmaker (0.8 nozzle).json | 12 +- ...ndard @Snapmaker Artisan (0.8 nozzle).json | 25 + ...0 Standard @Snapmaker J1 (0.8 nozzle).json | 15 +- .../0.42 Draft @Snapmaker (0.6 nozzle).json | 10 +- ...Draft @Snapmaker Artisan (0.6 nozzle).json | 25 + ...0.42 Draft @Snapmaker J1 (0.6 nozzle).json | 11 +- .../0.48 Draft @Snapmaker (0.8 nozzle).json | 11 +- ...Draft @Snapmaker Artisan (0.8 nozzle).json | 26 + ...0.48 Draft @Snapmaker J1 (0.8 nozzle).json | 14 +- .../Snapmaker/process/fdm_process_a400.json | 37 ++ .../Snapmaker/process/fdm_process_common.json | 30 +- .../Snapmaker/process/fdm_process_idex.json | 28 +- 270 files changed, 5232 insertions(+), 915 deletions(-) create mode 100644 resources/profiles/Snapmaker/Snapmaker A250 BKit_cover.png create mode 100644 resources/profiles/Snapmaker/Snapmaker A250 Dual BKit_cover.png create mode 100644 resources/profiles/Snapmaker/Snapmaker A250 Dual QS+B Kit_cover.png create mode 100644 resources/profiles/Snapmaker/Snapmaker A250 Dual_texture.svg create mode 100644 resources/profiles/Snapmaker/Snapmaker A250 QS+B Kit_cover.png delete mode 100644 resources/profiles/Snapmaker/Snapmaker A250 QSKit_texture.svg create mode 100644 resources/profiles/Snapmaker/Snapmaker A350 BKit_cover.png create mode 100644 resources/profiles/Snapmaker/Snapmaker A350 Dual BKit_cover.png create mode 100644 resources/profiles/Snapmaker/Snapmaker A350 Dual QS+B Kit_cover.png create mode 100644 resources/profiles/Snapmaker/Snapmaker A350 Dual_texture.svg create mode 100644 resources/profiles/Snapmaker/Snapmaker A350 QS+B Kit_cover.png delete mode 100644 resources/profiles/Snapmaker/Snapmaker A350 QSKit_texture.svg create mode 100644 resources/profiles/Snapmaker/Snapmaker Artisan_bed.stl create mode 100644 resources/profiles/Snapmaker/Snapmaker Artisan_cover.png create mode 100644 resources/profiles/Snapmaker/Snapmaker Artisan_texture.svg create mode 100644 resources/profiles/Snapmaker/filament/PolyLite Dual PLA @0.2 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/PolyLite Dual PLA.json create mode 100644 resources/profiles/Snapmaker/filament/PolyTerra Dual PLA @0.2 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/PolyTerra Dual PLA.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @0.2 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @0.8 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual ABS Benchy.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual ABS.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @0.2 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual ASA.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PA-CF @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PA-CF.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PET @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PET.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @0.2 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @0.8 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PETG-CF @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PETG-CF.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PETG.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @0.2 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @0.8 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @0.2 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @0.8 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal @0.2 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk @0.2 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF @0.8 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PLA.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PVA @0.2 nozzle.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PVA @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual PVA.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual TPE.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual TPU @base.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual TPU High-Flow.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker Dual TPU.json create mode 100644 resources/profiles/Snapmaker/filament/Snapmaker J1 ABS Benchy.json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.2 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 BKit.json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.2 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit.json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.2 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit.json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.2 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit.json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.2 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 BKit.json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.2 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit.json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.2 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit.json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.2 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit.json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.2 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker Artisan.json create mode 100644 resources/profiles/Snapmaker/machine/fdm_a250_bk.json create mode 100644 resources/profiles/Snapmaker/machine/fdm_a250_dual_bk.json create mode 100644 resources/profiles/Snapmaker/machine/fdm_a250_dual_qs_bk.json create mode 100644 resources/profiles/Snapmaker/machine/fdm_a250_qs_bk.json create mode 100644 resources/profiles/Snapmaker/machine/fdm_a350_bk.json create mode 100644 resources/profiles/Snapmaker/machine/fdm_a350_dual_bk.json create mode 100644 resources/profiles/Snapmaker/machine/fdm_a350_dual_qs_bk.json create mode 100644 resources/profiles/Snapmaker/machine/fdm_a350_qs_bk.json create mode 100644 resources/profiles/Snapmaker/machine/fdm_a400.json create mode 100644 resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker Artisan (0.2 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker Artisan (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker Artisan (0.2 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker Artisan (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker Artisan (0.2 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker Artisan (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker Artisan (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker Artisan (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker Artisan (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker Artisan (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker Artisan (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker Artisan (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.25 Benchy @Snapmaker Artisan (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker Artisan (0.4 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker Artisan (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker Artisan (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker Artisan (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.34 Standard @Snapmaker Artisan (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker Artisan (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.38 Standard @Snapmaker Artisan (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker Artisan (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.42 Draft @Snapmaker Artisan (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.48 Draft @Snapmaker Artisan (0.8 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/fdm_process_a400.json diff --git a/resources/profiles/Snapmaker.json b/resources/profiles/Snapmaker.json index 022452783d3..e063a9c7e12 100644 --- a/resources/profiles/Snapmaker.json +++ b/resources/profiles/Snapmaker.json @@ -1,6 +1,6 @@ { "name": "Snapmaker", - "version": "02.00.02.00", + "version": "01.06.03", "force_update": "0", "description": "Snapmaker configurations", "machine_model_list": [ @@ -32,6 +32,22 @@ "name": "Snapmaker A350 QSKit", "sub_path": "machine/Snapmaker A350 QSKit.json" }, + { + "name": "Snapmaker A250 BKit", + "sub_path": "machine/Snapmaker A250 BKit.json" + }, + { + "name": "Snapmaker A350 BKit", + "sub_path": "machine/Snapmaker A350 BKit.json" + }, + { + "name": "Snapmaker A250 QS+B Kit", + "sub_path": "machine/Snapmaker A250 QS+B Kit.json" + }, + { + "name": "Snapmaker A350 QS+B Kit", + "sub_path": "machine/Snapmaker A350 QS+B Kit.json" + }, { "name": "Snapmaker A250 Dual QSKit", "sub_path": "machine/Snapmaker A250 Dual QSKit.json" @@ -39,6 +55,26 @@ { "name": "Snapmaker A350 Dual QSKit", "sub_path": "machine/Snapmaker A350 Dual QSKit.json" + }, + { + "name": "Snapmaker A250 Dual BKit", + "sub_path": "machine/Snapmaker A250 Dual BKit.json" + }, + { + "name": "Snapmaker A350 Dual BKit", + "sub_path": "machine/Snapmaker A350 Dual BKit.json" + }, + { + "name": "Snapmaker A250 Dual QS+B Kit", + "sub_path": "machine/Snapmaker A250 Dual QS+B Kit.json" + }, + { + "name": "Snapmaker A350 Dual QS+B Kit", + "sub_path": "machine/Snapmaker A350 Dual QS+B Kit.json" + }, + { + "name": "Snapmaker Artisan", + "sub_path": "machine/Snapmaker Artisan.json" } ], "process_list": [ @@ -50,6 +86,10 @@ "name": "fdm_process_idex", "sub_path": "process/fdm_process_idex.json" }, + { + "name": "fdm_process_a400", + "sub_path": "process/fdm_process_a400.json" + }, { "name": "0.06 Standard @Snapmaker (0.2 nozzle)", "sub_path": "process/0.06 Standard @Snapmaker (0.2 nozzle).json" @@ -58,6 +98,10 @@ "name": "0.06 Standard @Snapmaker J1 (0.2 nozzle)", "sub_path": "process/0.06 Standard @Snapmaker J1 (0.2 nozzle).json" }, + { + "name": "0.06 Standard @Snapmaker Artisan (0.2 nozzle)", + "sub_path": "process/0.06 Standard @Snapmaker Artisan (0.2 nozzle).json" + }, { "name": "0.08 Extra Fine @Snapmaker (0.4 nozzle)", "sub_path": "process/0.08 Extra Fine @Snapmaker (0.4 nozzle).json" @@ -66,6 +110,10 @@ "name": "0.08 Extra Fine @Snapmaker J1 (0.4 nozzle)", "sub_path": "process/0.08 Extra Fine @Snapmaker J1 (0.4 nozzle).json" }, + { + "name": "0.08 Extra Fine @Snapmaker Artisan (0.4 nozzle)", + "sub_path": "process/0.08 Extra Fine @Snapmaker Artisan (0.4 nozzle).json" + }, { "name": "0.10 Standard @Snapmaker (0.2 nozzle)", "sub_path": "process/0.10 Standard @Snapmaker (0.2 nozzle).json" @@ -74,6 +122,10 @@ "name": "0.10 Standard @Snapmaker J1 (0.2 nozzle)", "sub_path": "process/0.10 Standard @Snapmaker J1 (0.2 nozzle).json" }, + { + "name": "0.10 Standard @Snapmaker Artisan (0.2 nozzle)", + "sub_path": "process/0.10 Standard @Snapmaker Artisan (0.2 nozzle).json" + }, { "name": "0.12 Fine @Snapmaker (0.4 nozzle)", "sub_path": "process/0.12 Fine @Snapmaker (0.4 nozzle).json" @@ -82,6 +134,10 @@ "name": "0.12 Fine @Snapmaker J1 (0.4 nozzle)", "sub_path": "process/0.12 Fine @Snapmaker J1 (0.4 nozzle).json" }, + { + "name": "0.12 Fine @Snapmaker Artisan (0.4 nozzle)", + "sub_path": "process/0.12 Fine @Snapmaker Artisan (0.4 nozzle).json" + }, { "name": "0.14 Standard @Snapmaker (0.2 nozzle)", "sub_path": "process/0.14 Standard @Snapmaker (0.2 nozzle).json" @@ -90,6 +146,10 @@ "name": "0.14 Standard @Snapmaker J1 (0.2 nozzle)", "sub_path": "process/0.14 Standard @Snapmaker J1 (0.2 nozzle).json" }, + { + "name": "0.14 Standard @Snapmaker Artisan (0.2 nozzle)", + "sub_path": "process/0.14 Standard @Snapmaker Artisan (0.2 nozzle).json" + }, { "name": "0.16 Optimal @Snapmaker (0.4 nozzle)", "sub_path": "process/0.16 Optimal @Snapmaker (0.4 nozzle).json" @@ -98,6 +158,10 @@ "name": "0.16 Optimal @Snapmaker J1 (0.4 nozzle)", "sub_path": "process/0.16 Optimal @Snapmaker J1 (0.4 nozzle).json" }, + { + "name": "0.16 Optimal @Snapmaker Artisan (0.4 nozzle)", + "sub_path": "process/0.16 Optimal @Snapmaker Artisan (0.4 nozzle).json" + }, { "name": "0.18 Standard @Snapmaker (0.6 nozzle)", "sub_path": "process/0.18 Standard @Snapmaker (0.6 nozzle).json" @@ -106,6 +170,10 @@ "name": "0.18 Standard @Snapmaker J1 (0.6 nozzle)", "sub_path": "process/0.18 Standard @Snapmaker J1 (0.6 nozzle).json" }, + { + "name": "0.18 Standard @Snapmaker Artisan (0.6 nozzle)", + "sub_path": "process/0.18 Standard @Snapmaker Artisan (0.6 nozzle).json" + }, { "name": "0.20 Standard @Snapmaker (0.4 nozzle)", "sub_path": "process/0.20 Standard @Snapmaker (0.4 nozzle).json" @@ -114,6 +182,10 @@ "name": "0.20 Standard @Snapmaker J1 (0.4 nozzle)", "sub_path": "process/0.20 Standard @Snapmaker J1 (0.4 nozzle).json" }, + { + "name": "0.20 Standard @Snapmaker Artisan (0.4 nozzle)", + "sub_path": "process/0.20 Standard @Snapmaker Artisan (0.4 nozzle).json" + }, { "name": "0.20 Strength @Snapmaker (0.4 nozzle)", "sub_path": "process/0.20 Strength @Snapmaker (0.4 nozzle).json" @@ -122,6 +194,10 @@ "name": "0.20 Strength @Snapmaker J1 (0.4 nozzle)", "sub_path": "process/0.20 Strength @Snapmaker J1 (0.4 nozzle).json" }, + { + "name": "0.20 Strength @Snapmaker Artisan (0.4 nozzle)", + "sub_path": "process/0.20 Strength @Snapmaker Artisan (0.4 nozzle).json" + }, { "name": "0.24 Draft @Snapmaker (0.4 nozzle)", "sub_path": "process/0.24 Draft @Snapmaker (0.4 nozzle).json" @@ -130,10 +206,18 @@ "name": "0.24 Draft @Snapmaker J1 (0.4 nozzle)", "sub_path": "process/0.24 Draft @Snapmaker J1 (0.4 nozzle).json" }, + { + "name": "0.24 Draft @Snapmaker Artisan (0.4 nozzle)", + "sub_path": "process/0.24 Draft @Snapmaker Artisan (0.4 nozzle).json" + }, { "name": "0.25 Benchy @Snapmaker J1 (0.4 nozzle)", "sub_path": "process/0.25 Benchy @Snapmaker J1 (0.4 nozzle).json" }, + { + "name": "0.25 Benchy @Snapmaker Artisan (0.4 nozzle)", + "sub_path": "process/0.25 Benchy @Snapmaker Artisan (0.4 nozzle).json" + }, { "name": "0.24 Standard @Snapmaker (0.6 nozzle)", "sub_path": "process/0.24 Standard @Snapmaker (0.6 nozzle).json" @@ -142,6 +226,10 @@ "name": "0.24 Standard @Snapmaker J1 (0.6 nozzle)", "sub_path": "process/0.24 Standard @Snapmaker J1 (0.6 nozzle).json" }, + { + "name": "0.24 Standard @Snapmaker Artisan (0.6 nozzle)", + "sub_path": "process/0.24 Standard @Snapmaker Artisan (0.6 nozzle).json" + }, { "name": "0.24 Standard @Snapmaker (0.8 nozzle)", "sub_path": "process/0.24 Standard @Snapmaker (0.8 nozzle).json" @@ -150,6 +238,10 @@ "name": "0.24 Standard @Snapmaker J1 (0.8 nozzle)", "sub_path": "process/0.24 Standard @Snapmaker J1 (0.8 nozzle).json" }, + { + "name": "0.24 Standard @Snapmaker Artisan (0.8 nozzle)", + "sub_path": "process/0.24 Standard @Snapmaker Artisan (0.8 nozzle).json" + }, { "name": "0.28 Extra Draft @Snapmaker (0.4 nozzle)", "sub_path": "process/0.28 Extra Draft @Snapmaker (0.4 nozzle).json" @@ -158,6 +250,10 @@ "name": "0.28 Extra Draft @Snapmaker J1 (0.4 nozzle)", "sub_path": "process/0.28 Extra Draft @Snapmaker J1 (0.4 nozzle).json" }, + { + "name": "0.28 Extra Draft @Snapmaker Artisan (0.4 nozzle)", + "sub_path": "process/0.28 Extra Draft @Snapmaker Artisan (0.4 nozzle).json" + }, { "name": "0.30 Standard @Snapmaker (0.6 nozzle)", "sub_path": "process/0.30 Standard @Snapmaker (0.6 nozzle).json" @@ -166,6 +262,10 @@ "name": "0.30 Standard @Snapmaker J1 (0.6 nozzle)", "sub_path": "process/0.30 Standard @Snapmaker J1 (0.6 nozzle).json" }, + { + "name": "0.30 Standard @Snapmaker Artisan (0.6 nozzle)", + "sub_path": "process/0.30 Standard @Snapmaker Artisan (0.6 nozzle).json" + }, { "name": "0.30 Strength @Snapmaker (0.6 nozzle)", "sub_path": "process/0.30 Strength @Snapmaker (0.6 nozzle).json" @@ -174,6 +274,10 @@ "name": "0.30 Strength @Snapmaker J1 (0.6 nozzle)", "sub_path": "process/0.30 Strength @Snapmaker J1 (0.6 nozzle).json" }, + { + "name": "0.30 Strength @Snapmaker Artisan (0.6 nozzle)", + "sub_path": "process/0.30 Strength @Snapmaker Artisan (0.6 nozzle).json" + }, { "name": "0.32 Standard @Snapmaker (0.8 nozzle)", "sub_path": "process/0.32 Standard @Snapmaker (0.8 nozzle).json" @@ -182,6 +286,10 @@ "name": "0.32 Standard @Snapmaker J1 (0.8 nozzle)", "sub_path": "process/0.32 Standard @Snapmaker J1 (0.8 nozzle).json" }, + { + "name": "0.32 Standard @Snapmaker Artisan (0.8 nozzle)", + "sub_path": "process/0.32 Standard @Snapmaker Artisan (0.8 nozzle).json" + }, { "name": "0.34 Standard @Snapmaker (0.6 nozzle)", "sub_path": "process/0.34 Standard @Snapmaker (0.6 nozzle).json" @@ -190,6 +298,10 @@ "name": "0.34 Standard @Snapmaker J1 (0.6 nozzle)", "sub_path": "process/0.34 Standard @Snapmaker J1 (0.6 nozzle).json" }, + { + "name": "0.34 Standard @Snapmaker Artisan (0.6 nozzle)", + "sub_path": "process/0.34 Standard @Snapmaker Artisan (0.6 nozzle).json" + }, { "name": "0.36 Standard @Snapmaker (0.8 nozzle)", "sub_path": "process/0.36 Standard @Snapmaker (0.8 nozzle).json" @@ -198,6 +310,10 @@ "name": "0.36 Standard @Snapmaker J1 (0.8 nozzle)", "sub_path": "process/0.36 Standard @Snapmaker J1 (0.8 nozzle).json" }, + { + "name": "0.36 Standard @Snapmaker Artisan (0.8 nozzle)", + "sub_path": "process/0.36 Standard @Snapmaker Artisan (0.8 nozzle).json" + }, { "name": "0.38 Standard @Snapmaker (0.6 nozzle)", "sub_path": "process/0.38 Standard @Snapmaker (0.6 nozzle).json" @@ -206,6 +322,10 @@ "name": "0.38 Standard @Snapmaker J1 (0.6 nozzle)", "sub_path": "process/0.38 Standard @Snapmaker J1 (0.6 nozzle).json" }, + { + "name": "0.38 Standard @Snapmaker Artisan (0.6 nozzle)", + "sub_path": "process/0.38 Standard @Snapmaker Artisan (0.6 nozzle).json" + }, { "name": "0.40 Standard @Snapmaker (0.8 nozzle)", "sub_path": "process/0.40 Standard @Snapmaker (0.8 nozzle).json" @@ -214,6 +334,10 @@ "name": "0.40 Standard @Snapmaker J1 (0.8 nozzle)", "sub_path": "process/0.40 Standard @Snapmaker J1 (0.8 nozzle).json" }, + { + "name": "0.40 Standard @Snapmaker Artisan (0.8 nozzle)", + "sub_path": "process/0.40 Standard @Snapmaker Artisan (0.8 nozzle).json" + }, { "name": "0.42 Draft @Snapmaker (0.6 nozzle)", "sub_path": "process/0.42 Draft @Snapmaker (0.6 nozzle).json" @@ -222,6 +346,10 @@ "name": "0.42 Draft @Snapmaker J1 (0.6 nozzle)", "sub_path": "process/0.42 Draft @Snapmaker J1 (0.6 nozzle).json" }, + { + "name": "0.42 Draft @Snapmaker Artisan (0.6 nozzle)", + "sub_path": "process/0.42 Draft @Snapmaker Artisan (0.6 nozzle).json" + }, { "name": "0.48 Draft @Snapmaker (0.8 nozzle)", "sub_path": "process/0.48 Draft @Snapmaker (0.8 nozzle).json" @@ -229,6 +357,10 @@ { "name": "0.48 Draft @Snapmaker J1 (0.8 nozzle)", "sub_path": "process/0.48 Draft @Snapmaker J1 (0.8 nozzle).json" + }, + { + "name": "0.48 Draft @Snapmaker Artisan (0.8 nozzle)", + "sub_path": "process/0.48 Draft @Snapmaker Artisan (0.8 nozzle).json" } ], "filament_list": [ @@ -324,10 +456,6 @@ "name": "Snapmaker PET", "sub_path": "filament/Snapmaker PET.json" }, - { - "name": "Snapmaker PET @Dual", - "sub_path": "filament/Snapmaker PET @Dual.json" - }, { "name": "Snapmaker PETG-CF @base", "sub_path": "filament/Snapmaker PETG-CF @base.json" @@ -436,6 +564,10 @@ "name": "Snapmaker J1 ABS @0.8 nozzle", "sub_path": "filament/Snapmaker J1 ABS @0.8 nozzle.json" }, + { + "name": "Snapmaker J1 ABS Benchy", + "sub_path": "filament/Snapmaker J1 ABS Benchy.json" + }, { "name": "Snapmaker J1 ASA @base", "sub_path": "filament/Snapmaker J1 ASA @base.json" @@ -607,6 +739,202 @@ { "name": "Snapmaker J1 TPE", "sub_path": "filament/Snapmaker J1 TPE.json" + }, + { + "name": "Snapmaker Dual ABS @base", + "sub_path": "filament/Snapmaker Dual ABS @base.json" + }, + { + "name": "Snapmaker Dual ABS", + "sub_path": "filament/Snapmaker Dual ABS.json" + }, + { + "name": "Snapmaker Dual ABS @0.2 nozzle", + "sub_path": "filament/Snapmaker Dual ABS @0.2 nozzle.json" + }, + { + "name": "Snapmaker Dual ABS @0.8 nozzle", + "sub_path": "filament/Snapmaker Dual ABS @0.8 nozzle.json" + }, + { + "name": "Snapmaker Dual ABS Benchy", + "sub_path": "filament/Snapmaker Dual ABS Benchy.json" + }, + { + "name": "Snapmaker Dual ASA @base", + "sub_path": "filament/Snapmaker Dual ASA @base.json" + }, + { + "name": "Snapmaker Dual ASA", + "sub_path": "filament/Snapmaker Dual ASA.json" + }, + { + "name": "Snapmaker Dual ASA @0.2 nozzle", + "sub_path": "filament/Snapmaker Dual ASA @0.2 nozzle.json" + }, + { + "name": "Snapmaker Dual PA-CF @base", + "sub_path": "filament/Snapmaker Dual PA-CF @base.json" + }, + { + "name": "Snapmaker Dual PA-CF", + "sub_path": "filament/Snapmaker Dual PA-CF.json" + }, + { + "name": "Snapmaker Dual PETG @base", + "sub_path": "filament/Snapmaker Dual PETG @base.json" + }, + { + "name": "Snapmaker Dual PETG", + "sub_path": "filament/Snapmaker Dual PETG.json" + }, + { + "name": "Snapmaker Dual PETG @0.2 nozzle", + "sub_path": "filament/Snapmaker Dual PETG @0.2 nozzle.json" + }, + { + "name": "Snapmaker Dual PETG @0.8 nozzle", + "sub_path": "filament/Snapmaker Dual PETG @0.8 nozzle.json" + }, + { + "name": "Snapmaker Dual PET @base", + "sub_path": "filament/Snapmaker Dual PET @base.json" + }, + { + "name": "Snapmaker PET @Dual", + "sub_path": "filament/Snapmaker PET @Dual.json" + }, + { + "name": "Snapmaker Dual PET", + "sub_path": "filament/Snapmaker Dual PET.json" + }, + { + "name": "Snapmaker Dual PETG-CF @base", + "sub_path": "filament/Snapmaker Dual PETG-CF @base.json" + }, + { + "name": "Snapmaker Dual PETG-CF", + "sub_path": "filament/Snapmaker Dual PETG-CF.json" + }, + { + "name": "Snapmaker Dual PLA Eco @base", + "sub_path": "filament/Snapmaker Dual PLA Eco @base.json" + }, + { + "name": "Snapmaker Dual PLA Eco", + "sub_path": "filament/Snapmaker Dual PLA Eco.json" + }, + { + "name": "Snapmaker Dual PLA Eco @0.2 nozzle", + "sub_path": "filament/Snapmaker Dual PLA Eco @0.2 nozzle.json" + }, + { + "name": "Snapmaker Dual PLA Eco @0.8 nozzle", + "sub_path": "filament/Snapmaker Dual PLA Eco @0.8 nozzle.json" + }, + { + "name": "Snapmaker Dual PLA @base", + "sub_path": "filament/Snapmaker Dual PLA @base.json" + }, + { + "name": "Snapmaker Dual PLA", + "sub_path": "filament/Snapmaker Dual PLA.json" + }, + { + "name": "Snapmaker Dual PLA Matte @base", + "sub_path": "filament/Snapmaker Dual PLA Matte @base.json" + }, + { + "name": "Snapmaker Dual PLA Matte", + "sub_path": "filament/Snapmaker Dual PLA Matte.json" + }, + { + "name": "Snapmaker Dual PLA Matte @0.2 nozzle", + "sub_path": "filament/Snapmaker Dual PLA Matte @0.2 nozzle.json" + }, + { + "name": "Snapmaker Dual PLA Matte @0.8 nozzle", + "sub_path": "filament/Snapmaker Dual PLA Matte @0.8 nozzle.json" + }, + { + "name": "Snapmaker Dual PLA Metal @base", + "sub_path": "filament/Snapmaker Dual PLA Metal @base.json" + }, + { + "name": "Snapmaker Dual PLA Metal", + "sub_path": "filament/Snapmaker Dual PLA Metal.json" + }, + { + "name": "Snapmaker Dual PLA Metal @0.2 nozzle", + "sub_path": "filament/Snapmaker Dual PLA Metal @0.2 nozzle.json" + }, + { + "name": "Snapmaker Dual PLA-CF @base", + "sub_path": "filament/Snapmaker Dual PLA-CF @base.json" + }, + { + "name": "Snapmaker Dual PLA-CF", + "sub_path": "filament/Snapmaker Dual PLA-CF.json" + }, + { + "name": "Snapmaker Dual PLA-CF @0.8 nozzle", + "sub_path": "filament/Snapmaker Dual PLA-CF @0.8 nozzle.json" + }, + { + "name": "Snapmaker Dual PLA Silk @base", + "sub_path": "filament/Snapmaker Dual PLA Silk @base.json" + }, + { + "name": "Snapmaker Dual PLA Silk", + "sub_path": "filament/Snapmaker Dual PLA Silk.json" + }, + { + "name": "Snapmaker Dual PLA Silk @0.2 nozzle", + "sub_path": "filament/Snapmaker Dual PLA Silk @0.2 nozzle.json" + }, + { + "name": "PolyLite Dual PLA", + "sub_path": "filament/PolyLite Dual PLA.json" + }, + { + "name": "PolyLite Dual PLA @0.2 nozzle", + "sub_path": "filament/PolyLite Dual PLA @0.2 nozzle.json" + }, + { + "name": "PolyTerra Dual PLA", + "sub_path": "filament/PolyTerra Dual PLA.json" + }, + { + "name": "PolyTerra Dual PLA @0.2 nozzle", + "sub_path": "filament/PolyTerra Dual PLA @0.2 nozzle.json" + }, + { + "name": "Snapmaker Dual PVA @base", + "sub_path": "filament/Snapmaker Dual PVA @base.json" + }, + { + "name": "Snapmaker Dual PVA", + "sub_path": "filament/Snapmaker Dual PVA.json" + }, + { + "name": "Snapmaker Dual PVA @0.2 nozzle", + "sub_path": "filament/Snapmaker Dual PVA @0.2 nozzle.json" + }, + { + "name": "Snapmaker Dual TPU @base", + "sub_path": "filament/Snapmaker Dual TPU @base.json" + }, + { + "name": "Snapmaker Dual TPU", + "sub_path": "filament/Snapmaker Dual TPU.json" + }, + { + "name": "Snapmaker Dual TPU High-Flow", + "sub_path": "filament/Snapmaker Dual TPU High-Flow.json" + }, + { + "name": "Snapmaker Dual TPE", + "sub_path": "filament/Snapmaker Dual TPE.json" } ], "machine_list": [ @@ -650,6 +978,22 @@ "name": "fdm_a350_qs", "sub_path": "machine/fdm_a350_qs.json" }, + { + "name": "fdm_a250_bk", + "sub_path": "machine/fdm_a250_bk.json" + }, + { + "name": "fdm_a350_bk", + "sub_path": "machine/fdm_a350_bk.json" + }, + { + "name": "fdm_a250_qs_bk", + "sub_path": "machine/fdm_a250_qs_bk.json" + }, + { + "name": "fdm_a350_qs_bk", + "sub_path": "machine/fdm_a350_qs_bk.json" + }, { "name": "fdm_a250_dual_qs", "sub_path": "machine/fdm_a250_dual_qs.json" @@ -658,6 +1002,26 @@ "name": "fdm_a350_dual_qs", "sub_path": "machine/fdm_a350_dual_qs.json" }, + { + "name": "fdm_a250_dual_bk", + "sub_path": "machine/fdm_a250_dual_bk.json" + }, + { + "name": "fdm_a350_dual_bk", + "sub_path": "machine/fdm_a350_dual_bk.json" + }, + { + "name": "fdm_a250_dual_qs_bk", + "sub_path": "machine/fdm_a250_dual_qs_bk.json" + }, + { + "name": "fdm_a350_dual_qs_bk", + "sub_path": "machine/fdm_a350_dual_qs_bk.json" + }, + { + "name": "fdm_a400", + "sub_path": "machine/fdm_a400.json" + }, { "name": "Snapmaker J1 (0.2 nozzle)", "sub_path": "machine/Snapmaker J1 (0.2 nozzle).json" @@ -770,6 +1134,70 @@ "name": "Snapmaker A350 QSKit (0.8 nozzle)", "sub_path": "machine/Snapmaker A350 QSKit (0.8 nozzle).json" }, + { + "name": "Snapmaker A250 BKit (0.2 nozzle)", + "sub_path": "machine/Snapmaker A250 BKit (0.2 nozzle).json" + }, + { + "name": "Snapmaker A250 BKit (0.4 nozzle)", + "sub_path": "machine/Snapmaker A250 BKit (0.4 nozzle).json" + }, + { + "name": "Snapmaker A250 BKit (0.6 nozzle)", + "sub_path": "machine/Snapmaker A250 BKit (0.6 nozzle).json" + }, + { + "name": "Snapmaker A250 BKit (0.8 nozzle)", + "sub_path": "machine/Snapmaker A250 BKit (0.8 nozzle).json" + }, + { + "name": "Snapmaker A350 BKit (0.2 nozzle)", + "sub_path": "machine/Snapmaker A350 BKit (0.2 nozzle).json" + }, + { + "name": "Snapmaker A350 BKit (0.4 nozzle)", + "sub_path": "machine/Snapmaker A350 BKit (0.4 nozzle).json" + }, + { + "name": "Snapmaker A350 BKit (0.6 nozzle)", + "sub_path": "machine/Snapmaker A350 BKit (0.6 nozzle).json" + }, + { + "name": "Snapmaker A350 BKit (0.8 nozzle)", + "sub_path": "machine/Snapmaker A350 BKit (0.8 nozzle).json" + }, + { + "name": "Snapmaker A250 QS+B Kit (0.2 nozzle)", + "sub_path": "machine/Snapmaker A250 QS+B Kit (0.2 nozzle).json" + }, + { + "name": "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "sub_path": "machine/Snapmaker A250 QS+B Kit (0.4 nozzle).json" + }, + { + "name": "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "sub_path": "machine/Snapmaker A250 QS+B Kit (0.6 nozzle).json" + }, + { + "name": "Snapmaker A250 QS+B Kit (0.8 nozzle)", + "sub_path": "machine/Snapmaker A250 QS+B Kit (0.8 nozzle).json" + }, + { + "name": "Snapmaker A350 QS+B Kit (0.2 nozzle)", + "sub_path": "machine/Snapmaker A350 QS+B Kit (0.2 nozzle).json" + }, + { + "name": "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "sub_path": "machine/Snapmaker A350 QS+B Kit (0.4 nozzle).json" + }, + { + "name": "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "sub_path": "machine/Snapmaker A350 QS+B Kit (0.6 nozzle).json" + }, + { + "name": "Snapmaker A350 QS+B Kit (0.8 nozzle)", + "sub_path": "machine/Snapmaker A350 QS+B Kit (0.8 nozzle).json" + }, { "name": "Snapmaker A250 Dual QSKit (0.2 nozzle)", "sub_path": "machine/Snapmaker A250 Dual QSKit (0.2 nozzle).json" @@ -801,6 +1229,86 @@ { "name": "Snapmaker A350 Dual QSKit (0.8 nozzle)", "sub_path": "machine/Snapmaker A350 Dual QSKit (0.8 nozzle).json" + }, + { + "name": "Snapmaker A250 Dual BKit (0.2 nozzle)", + "sub_path": "machine/Snapmaker A250 Dual BKit (0.2 nozzle).json" + }, + { + "name": "Snapmaker A250 Dual BKit (0.4 nozzle)", + "sub_path": "machine/Snapmaker A250 Dual BKit (0.4 nozzle).json" + }, + { + "name": "Snapmaker A250 Dual BKit (0.6 nozzle)", + "sub_path": "machine/Snapmaker A250 Dual BKit (0.6 nozzle).json" + }, + { + "name": "Snapmaker A250 Dual BKit (0.8 nozzle)", + "sub_path": "machine/Snapmaker A250 Dual BKit (0.8 nozzle).json" + }, + { + "name": "Snapmaker A350 Dual BKit (0.2 nozzle)", + "sub_path": "machine/Snapmaker A350 Dual BKit (0.2 nozzle).json" + }, + { + "name": "Snapmaker A350 Dual BKit (0.4 nozzle)", + "sub_path": "machine/Snapmaker A350 Dual BKit (0.4 nozzle).json" + }, + { + "name": "Snapmaker A350 Dual BKit (0.6 nozzle)", + "sub_path": "machine/Snapmaker A350 Dual BKit (0.6 nozzle).json" + }, + { + "name": "Snapmaker A350 Dual BKit (0.8 nozzle)", + "sub_path": "machine/Snapmaker A350 Dual BKit (0.8 nozzle).json" + }, + { + "name": "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "sub_path": "machine/Snapmaker A250 Dual QS+B Kit (0.2 nozzle).json" + }, + { + "name": "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "sub_path": "machine/Snapmaker A250 Dual QS+B Kit (0.4 nozzle).json" + }, + { + "name": "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "sub_path": "machine/Snapmaker A250 Dual QS+B Kit (0.6 nozzle).json" + }, + { + "name": "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "sub_path": "machine/Snapmaker A250 Dual QS+B Kit (0.8 nozzle).json" + }, + { + "name": "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "sub_path": "machine/Snapmaker A350 Dual QS+B Kit (0.2 nozzle).json" + }, + { + "name": "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "sub_path": "machine/Snapmaker A350 Dual QS+B Kit (0.4 nozzle).json" + }, + { + "name": "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "sub_path": "machine/Snapmaker A350 Dual QS+B Kit (0.6 nozzle).json" + }, + { + "name": "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "sub_path": "machine/Snapmaker A350 Dual QS+B Kit (0.8 nozzle).json" + }, + { + "name": "Snapmaker Artisan (0.2 nozzle)", + "sub_path": "machine/Snapmaker Artisan (0.2 nozzle).json" + }, + { + "name": "Snapmaker Artisan (0.4 nozzle)", + "sub_path": "machine/Snapmaker Artisan (0.4 nozzle).json" + }, + { + "name": "Snapmaker Artisan (0.6 nozzle)", + "sub_path": "machine/Snapmaker Artisan (0.6 nozzle).json" + }, + { + "name": "Snapmaker Artisan (0.8 nozzle)", + "sub_path": "machine/Snapmaker Artisan (0.8 nozzle).json" } ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/Snapmaker A250 BKit_cover.png b/resources/profiles/Snapmaker/Snapmaker A250 BKit_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..498cf295a9d802e9621b519434aee4fd8fe914ea GIT binary patch literal 211754 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≈J` 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 literal 0 HcmV?d00001 diff --git a/resources/profiles/Snapmaker/Snapmaker A250 Dual BKit_cover.png b/resources/profiles/Snapmaker/Snapmaker A250 Dual BKit_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..ff597361d2e6f9e0aead3037cb5362faa5c40b67 GIT binary patch literal 218790 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¥p#5eiH${> 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

Gj@*&wfC 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

J1)lrhB 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

IDi?y);_f#mSPfkUCfGD9gZf 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 literal 66406 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 A&;S4c literal 0 HcmV?d00001 diff --git a/resources/profiles/Snapmaker/Snapmaker A250 QSKit_cover.png b/resources/profiles/Snapmaker/Snapmaker A250 QSKit_cover.png index 1ffb146361bfda34f322f38fd5679e60f4e1aebf..67a74821a41e88572889d1ad83b41a28a1b135f4 100644 GIT binary patch literal 213096 zcmeFZWl&sU(>6FrfItWiNpKII0Kq*-fZ)O1-QC>-1RZ>WySux)4(>3x`ye}cp7*P- zYHRn${@5Q|wRaU&Q)kYcTe|z|?yLI{E-x#Aj`|4|005v%{t#6J0N^M8{h=Vit~9Ai zqyrFySR_S-f4MCkx1l9#t2#rPZn^K&l^cqGd5lyu3BH9F>_i$0S#Y?I8~>BLogDII z6mc*o^!L?`5Dgp750Q7I?oBOMa5I4i<3WgNaOu%>Lhr`>n-YC5L2jox472=Mb0Kwhr5CM*RXH59Xq>#FFc-&LFS54-~afZrJZHk8+)2jtxftZZ1$NlCeog3pBFBmW zkCakB1b^qi0U8+**@M_%U%W8@H9zxEOauIk8UAw9$xA)xllQjW-@|^yNCx`VfI)G9 z3HU;&&v|m3#H6{F$?u=DyFoL9@H zRs4SIBO`8w$6N`|3%`JXEKB=6#rt=Fjn>Twc_k&Kl{a^;_UwR0FLhS@=rYZQcBSWg zO)o0Ftc5B=iGdD~$06Ng#`*&>(FZ`M2+F~__f|NqKma9N=k8Ekn2_fB6~f5L#=OP1 z=FJeoxU`9>90_Ok1luRihV~BK=Q-Uxn1BxUPuE|c*IiFM)h*5+E)P{ZQs*ml<-EPU zhn~IC2m1T3jr1lm`5#^F9y%f4lhE4s?s;w}s*anIf+t2e+b^OX?+QRZsqNQ!EZXIy z0|*w!k9<#)03jjWX%-3%@p*KT9W}K}vYx;htI7|Lm%xq{XN0Mi^=F&MVBP!Ro%JW5 z_3M02;aTmCpdBV#_mT8*!jOp+Ij=38!WV zkdq4wnOlv$aALu=F0f#vZ6=?t4GK9@UIM8~#|!HCPXMzZvpaTHYL~5&;98Rw;-u%= z70KhVsbER)q?Q;aMi}3h%d6`4)x0Mi?~CJ8$5^^Af<8wLK9MBe*9wng>rZ3cAWqrN zbN3#IoQ@N=pQCmUhQR$s?Nx{vTO@=}A+v4o<4bvqmIB424sQq?fSD~x1kpqNKGQT} zXVjGtgZ~=y`9}A(E}A}Ia&;G+slF!CIqIQHx&rJ3Sw3;t+s!x-Oz?fElIcO08YkqBH`_9!s!0&5z1n;{ z^FM>mH?#+rSdg5%$I}{o5NK!o;`6jk>Y8r(bWdp8YQOZbH~u}$>WM1<8g_+Hbw6~0>@(f=wg=-2 z7F&0$fJ2$QvZ5W^#Akj4#G`I&yNk^CEf)2B?_Ok~lc55luB*<#7fv+2(j;@tU?c#% zhyBJ!UhvHEEy7^9ll#^KCF#Rp=@#(KdkH5sy&8hA4Ebv54x+9_5sGWRJ|Ml9bM79H zZDv?X37I`a)&+i`!;yj_2z?M|0?mHy0^P~)GdlqI5y%>TPQ2=Ku6DjhJvS=G2W|X) zckDnTQOM2xj!{qxabiGuHW|a~^t{?L>4B;$UCiKrVl~ugGiWezXA-(9y&3Ljv+_KH&#pf5ura_7YKTY0yYo6sFf$@FgiNE?|j9Ka@ym*5$CO8)4hO|+jJ(g8HBf$~ zoP@;=fzM(9luk# z+Hifo0Z%k~lcZm^E?j*K8#g6n{8BTZF94s4EQfzmBetN;;I!7!x8Dl+w7etp2fz3j zUsY`=;*$Ug1lsQA+3Kqvo4_BvSRHtUHCetD(b3_EH(5TiHT(ZTWt(i~isy9IKwyq88uekdj|xGVy6k!9!+8(J1l0SY)2n=G2(3zY zWr0eLkHsikd9BHTT$?E4!>#S2)Z4{RtBfIghZU|j1vLW}<>3+T6>MqudwB0(N+HWe zA*2(K`QUWQ(>jR7+{S=C6>m#~V-c4sP3Fe0gh{#33p1sx5 z+oK|)pozM&Na_zPiEiVXDlQ0o67E;n+g?=;Uq!Efj;unIhz&U|KaJZ3-5U6eyH{|l z+Na)eHLyCgPeAfs9p5grMqt@oc5S8EdPVOnVvZ|=yqV)`Tfuwa-Q^}L3|sFbP1BXL zKBIi*K+@-Z383^<9JMsjz_J}KK<$OGIrzJj`-lUkpZb%HJwXIvt~Ysu7WU!2x1AB= zMEsC~4!*Lwe;oKruh;^9vHsxCtrW4Phx=yJz?>e&+9$AMc8u6~pIW~Q{G?zsqZNde zJDHAW+`y4JexTGZ)7-&{8P2mDiH$9T(yF5Ik7!fMxHRO=cn$rz&pA|cQ1ZqrxoBiV z>r)=%Y*U8z^Tvc=+F;{k36FFbOi2KYzL@?3a#e|(lgw1d<{2m7TCniN7w@{UzT$WD z?eB$CwhLCs)?0q4mfzyG?RdGCd%eyk3Qc($kiGW4tpR1k$2hec7U!D&?#o9 zMzfqfEJ{L}g0x`3C;1MjnPy(SGaehvh%gl3oqrWKfxcGI(D8iI1ns4GRJ1E+4lKNR z2Zs*WH-P(RxI8KD1{@4-ED3zVYbO+`cY-W%bQLeoYZrr_E5RJ^QkbR=4eEOYR1whD zNNIB)AR=?{6Ia3$COurhF+*m7!&bbsl!lrY*D0F0 zjXCH}0Kdft`m>&ZT}u7>>-)T8SQyuT>{ZTK>!%YvIxFHi9sYHM?VQjD*fj zRNv31jGf@xT|K@fJ$di>WeMEQVHsYR(yM>#Y!aF9=sQue%9r+cLfmg+7kzKyE}Hjrzj16p zx)qawlka2Z83g1?qB|&RDlj^0JQ)jg1bpd-12q2>GIa5Ak5hd-(+W3&VEdJu2e)Lz za1EAh+0*sbye=IVJi{Chd%^bB;YD-dwU?;De18{c?B~EAvA?gJs>FSQ;!jI#;pcp> zS6-is=I&>+W>$zWxv*KucBflEvri! z0f;3_D#qfFT;@&K36=X$Ff800kAZ&=r}pmBs}R`DDWH@XkVls3?WU{szz6P6_01fa z7&(gyp0;|iHr+mN=u_C|)6Y23+V5pSGkfJ4|MlLM)){^2-bPiimx&{XwTM;$ic;y5Axp%%ow z2-imaNG(#%`hOcI~_O>^r~ zZi;l(+X;eBAH%d#S{}>wLDbVlE270=BF89!E7LzfufelmTJ#!iG=iMKZN(7EF*afx z0TVCAnt>g~214EO&Td#3-<4O`J#|xa)hcXCZrQ#^9Wkat=~h&e@M)}ZkJ^2VRZWf2 z1-S{WFMNctrY*)w1myeP6vV4!#7P)@TjFj+Iq6u`+&wWQo~ce$Z3`5v$>WP1y_#a_ zcNbi?Ja^A@U1{#CpS4CIcYz580O$R6Vf_R->W#FE(D0RKCX2g4>#`+e4}Bw2Vat-{ z;#gEa^Sm{=JAkq_eFw7MXwV%T2TbSGL^~>_4!j%7=vfTg{TVx4im?>FS6bjvzI#+H zU|~X2ai>Um_9*DEGZ=T@J}gatBEGE1si&$A2a^-p`0cLU2D1v}E6Hs2a*B+X(|5v) zzVoOFBnhpW+jlRnItafb=@`|F9vk|s9@6OycY>Gg?S`DKOH-l)0L)}B>yN%7KbLxIrz(`w3_gk z)?za0GDgizKY{hP$dQ_Y0iNXWdifS_+*JaCvCG^`2namZcKCgn^MkojBybNcaC4|<}(#hT~zY+e$H3=UdAuZ3H zyJBZ*d|E$7v{bh_N3`OWOiDUD1>lbjNGnn-K2Es&c8lATuw%i+uXXn^W6p8;8YGsP zoL+XkVwG;2lX~2K?o!PWvDj;Sdq$)%;lm6e6w5plJy&%1ct{`B`A#s+zGo2Iu+`0X zzYz%A^}A(z6xg2I&3@2zR1&?irEp!m>=M5|a73w>hWoBXpmiYMXAu}#LHVNL|5;;{R9>|u zcfw=Jkm{g;nLzhsIHYxH!jY*ciIxJ=jM3T=sqh&2Moi_$#nHI4;1$WpvgYTQsGG)c0x5NiL+3*F(-+O6&Z z4{~XT$83ISm%Qv{_4o6lfX)>(60}%}N@}1@h0li+P?9 zcsdI%McI^!+%4lfx8EQr=A80ssABCJ-!9Yf)(77H-Ky~#noR{UnS-UT`)zPa+98`njBoI@* zj_{P(bb2eIqiK`a?aRaox9OPv+7F@?WM<)6qlWiTM})aSX)U3DR1tI@Mtqd$HaJ6t zoeaWqjM&6V_fn7dkp5hmOO8%yN2eMiI|JP~fhbc3qCr|t%naF(YS0S@v&w)_^ymdF zSQ|eMHPQbHJj8dzJMvnq)F!iKWz!|)?SYJWy$O>(AI;3U3MXRe&G0dqJ1i+y7Sdfn;3bcE{}r z`g9}0fsXG`P81C_TnUbl0i%%{*c~s(z!Co)VIcB&u-T(sI~E)5;2!jm&#dZ;)=xEn zBcfHi!R*`8$W^T~LC(W^_Pvd@H3Q=b_!VJ$fAS*phJGeu=7qpXtX~OPVSOvcVgyArHDo*+GPv zU?h@6mU&9z^Jd;M^t43|E&J*tBiCb(Lh98Gb`@| zbE3H0tC~~CfsCz2!XXlyvu%soP1ZAv0fA@YUJLO`^3&90mx^a2Jkz%Y9dUF$@x$@yZ^6eSvuG4S#w!}b* z7JN_3^F|(4TIE+RoFKP~FFL8tn0N-u(ZsxZ>#$7U<6^PecmziLO|}8A^x}X&_mB>3 zqO9O1(MQFE5WXOQU>XUj*!}{rd%$80&XC`Fa0PzX-oNS#-)YS=AX#wt>-bO)Bl-Z4 zF#!#6cRqk0Gw!4XQU?o4z{q3dVEBGY+_st!OG7^b05I9-$$^43p}7xF=T+A>ODLFuFdE(aD?=i?#~wHJB;9xkBzK4vV1)V=rBVG z@a9w5ge}Qk=^xd|)ZSpT`p95Z>|oWLF8IOpU?T!8j1K|OIgL31V=-ftxo`nmYlza; zp```KBv3JD^=%Dg*mBf9ZGCJv1$4&YPGU~McJPm|#QfhMM}oQ)*SKH0mztd!BKJqu zaL@sbTy~cC?d|P5>yO{RiI>qo7FC$f zH>kv#Odk_4SqHyV1!Eswi%Bssv;WP;3}4T1ik#`T6&|x?1^}2)9Oq~7!${lmC_+vj z;b)#gn})4z*eWaiwjQovyo|!u!&f47KxY%?YV)@1iv7Uq;mB!xkQt0h_Cqsl!5$}t zaijy=u)X>jGyNsDI+EA*I#V(Dgk=t!3=>A`qU<*rP)?uyYVe#R*di0qfL&H!*d{{k zqMfS%h1wwjv~J;-AmhAePrF>vXUZKmlxlncz=ne<2y^R-F?D43lC7{54(4eygJJ4w zgBq}bPhDthoE91-Ypd9SL7@nf%m_j>W67D5w^GL$#SFk0^!T#=vU=v@Dj1Cko9_Qp z1Bl}P9ng8XX-EoPDC;x0=z)0rPH+IXtlgBa_f5gW_VS;s1uzmyhJutRw8jzX*YE%D zGP6-@ANl`m75>wIKcK)Q{BMx`{bwpLiTV92MZw1ZzJci9Z(-yAe9MMnpvoG+3C} zv=xWom*wps%(UEuv-Dkk=+jWt8`_JIA)zj@Oy@IwK9yFCMfFBjIrm|j;}F$(aW zP}|pA+x5VlH?T*hlm0)S{{P~j{3;dM7KzyPjCC=myZySCKGnE?A}S{~!Oa zoPeGJCKn>WFYmGKdXKY%+l<|UKaF!;zVY#pA;MmZv0?cpBEhsofpQz5Up|cMa~KJEp@h^6ofIV{B~F2C21&Fbce}?;vC4;#UyMm;hZ4F( zO6+`mUdQ`WhMtjP?oz`JmJSY1hn@c0+j0UAH$$`_uWD;o$*t{wHU!hp#+?Kvb{4nxE~A2gkC7EKa9IZ3*O9bhstH}d<&7o`mYghWd94gJJg5o zojq@l&$vCV-Od6rd^S2*@FTaDENyd-Dmr2l!t%4S$TiwL@XF)`Exo@To>eGdhDdQE z|6&XY*Q=-C!J43z%gpy^ldaQ;LPCZPp;+UO*oQW{2##G*AG{h!+T+G!53xJAB&3ef zBuc?WMMce=pPMUYYgoS`^4~51cQ<>G6DCQXU8U?gVlXq10DdDOFtP=(p;+k+ZCJkp z`aTd;c#K)7YVe$ssN$Zdhf&f}sIsozf5l@_)qo|Dz<@?Ee)0hBFX zk_93?I(KgFU~G4P4MO)Uu?~Z!1mNC{jbh(tN5MN5pSs0#3-70Gj12F~p|h7Wn3gPG zyoI6BKZs)daOO79(PZP`P~DmBZs8EObW)FBC|)RT6gZ?IibkkxQ>XSM#pIJyD2)8R zRW$Vd$qdDPd5ceoPRp(=4=<}!TbuXw)0JRu0q8}5zwHS6>vKY3Lj{nAmL{EqQ^BMz zLnKQtXS!RwNU4u;l)TF8X?^1k2;zg*GZgdyw zx$vqCI+Qk?wm#G_0jbVALBd-?_cG5=pRgbC=(?<@o@mb{fpg%;xg_{g;;7Jnu*b3SgN256A7gYBk0-uFr=I zY8Gdk>vTZbGX-*gE?5R;g36psj2Y}@4E{cNVqzwa7&GY%3=GV6e9urH#4xol@gB2C zi(M;cNuxGyn;B2tM7*l?K99qVD(mID>-2APx{|4w#qkr*8NU+S4-yUmL{*;xafgYNB!=C=1J#GG?kG1EpRAA&S z#WFX3XD&UO;>#PwRO^tJTa1J@Z;~TSD@Ov3iOS~SznQ(emJ9J7ey7Q3^^I4KjMq{; zeTBBQ*=^^oM(DPNnq8i;k|6M3~@ZG1wLw5?@)Y>1g!cR z+w+f#Qzv<~FAmu4zIS6x5W0o$$QZ8aL9oU_xe6+UDo5(Eu9@J#CAkO8yA`z^i`ILJ zDkRikFwZh-{cfd1J@vT*#UGyZGNAwS+L)6gq0lqmvzrRf)gw-A$FXKSsn!<^OK`bP zL6A-Gn~LT{!YFZTuk1A(B;4COaCc^Agq_IpyT=Dfv5b-Sp+Q+GTP5EzIgIi=#YJ}8 zL4V{!H)qDNdIa}5<%`*}hL?wZ($|a7XwI~#9??zzcv`t*K?kFILfwa9;GMwb;DGG* z^_$fnd5U{SpY685F(?pSIoYe~zfm|CPN{YTjc32u%3vI!Y39Yjtt#Wb*i>8 z(u+-D>}Q%~^A)!Zq4~4VT1awoJ~H5>gMjt7Hk!NdK`mJRj-$a%%hbID2$z)mh-7qod0=Y5fW`4o5<=Sld`=iaSDb zmDSh^K}|1&iS0%vW|Dc>xaK*L3+yx6YW*PMN67g*IvQ=wM)~b;lae`Juf3mVJH7Xh zu=3+k7eeU4_Unb<!a1b<-tZg`PX^WUd<7PEdclCCwMse{3^lhN-IfL(6! zni-X|wY%TmdfHeL_L0&f$5-xr%k^piWT`&NM5*CJX7UFx-rM}c_`~&W3lM$yhKYWg z&8mmT^U>McrLxA`Tiw?imSSE)-Pe9FZO47^#4`}6WjbQ}$N7dANeNJd6j_CCgRn%=e5tzJKs2#JL(lB5 zE#SbgL6vBtlroxSMzRsZn5>Mt#zzeZ!0wgtSYCdSXx>X@*k=Q|C%ha_2u#MF*dkU-Ps!n@)0J^D@KnFdxV-ln zsIhuhCoY-M+{Et-#URez9*9wpvkj)7V?}@W?(&0f?m;jdK&^V8L0{vcnO$UsJUE_> z_eSC&?>Nqa1lKdBY63XBnKtY~xO3!bWtGmMg>@)-p73H5b{$3A9{Qeml0mLjs!zwf zjhpVog#Rc6lXyA<^S@%W**$-0OI(dNBy^*0n6jAOj`5YjNVWoRgeeq?vT&+RPOYoC zu$!GDi9}Fl4|Lq1r+xtag@GGE+p#ft%2F5li7AykeErU``R7wKS8~G+!|IW{%*XU| zSxWO1?<&DXhiOHR=M>X+Ip1^SGq5sZrq82f@y%^VmbT3+xT-4F^X-~+WpC4N60eO_ zgHe{iH{mfAZEaP|7lhNUsi$*Y+As4#X!u zr|PN6A7<9ko#a^) z%WOL-+pi()pb?;?^45t)FfV&Ww0U4a;-KR7QSc$AsD7yoq}UOJIjL7Pqk2NB^{rO; z$47JPktrR40^Oz8@6DUdX>}*zSBQ=6jy2j1?(j;FpDgLR#=s&ib5a!Jl3O~mqP%#u zi$Nka#WV61U1O>$rD~FO?WsChu+GS`Kfu`;rM$IombGEbc=S#;iD3B(4zCyY`vF~KVmDaU`Hn^duWskv74f)$wv z4sm@H!3vkAeBcAygg_Zi!ov1b``xpxLtCnq5~8YZkW!9c zmnuVTG*WB2jxjq#GP$uqpIRJqB)Z;=y*MWojD)OmaFiMk=Si7Cm*92=C)^#5+iuPS-paD&f1K)vvs<&#w`FR zPr-}IUrLFXX+zybS=;6_f}+2f4Cxu7+QIAhdtjt<$$tT@lPY$IJyo9Ma3q_gw1ygT z_Y2ef)SkJu_mF#W<-2ug&aUxATTF;gi&i=%@NMnL$^&R#42 zno%*;a`s~WxX9TWn>tp{WGykPg0tf5cFpDlK3dnS&tlI19vVH3r&^KAP@#T8&Cu+^ zc>3vQJpP!d78Q>q*>OoR+gU zveP$5;%Osea^g<$Y83~Ol~HP8aqcBmeixQUV1Hy7`$G1&#VP&$<2Km`jzHZHE-3OT zwL3S}`_#@sHAw1W7USv=$3ZqI&h_L?yENZD_UOo57zpJyeTo`zy#b4tS|i zi>Wgv6syroh21ddA5k}ChH$D@fZYqDwSlaFjwgj@V?symX0jt+;KQ5OZ&z5DWSwm$yH9(BnxHy|E{Hqw&~3|K*rs^wz?GBEg!t>SxZN?C9ZiY<{Lz=uHHups%jZO0uPx zin6HUYDXh>ug*RAGgC<{lm3A#>bH+b9?&eALp;_LznZeZ4qgMp)ybrI`Jn$$J%~=O zik}DT3H^)}ljg42HT27T<+7)Q#d(oEj%pR)^)NHgYESXBWLy|lv|fJVao7R0 zojMDChlQ&Ju!urOA}1v?Q^0~FO+)nRtVE?OPpKe!s&hj=)C`|u{c;oi5pEZF3(zz7 zK0svsneQV-RpXi>%}#^0&Xt|p^S7=4{?XZmrUo8&nGcSkRJ*zoGkii_w}l7$!~tb` zjs{Z1p}|#g({OyOv9A%_Vphwn|1nLnvE)S`Veu&gCynzT)d1fNEmSE{L}6fKBiCwU zXLR4NiH{6v677>b2xYOlT%bo zw+tjMAyKGxm}QVv*n1_ZjpxTiE7`p9`$XX>&s6lUuq$R?x$vKx`x>V2ZVaO1sGFDe zlDY6;+vKg;vPu;UbJe6;KN;`Ib}m`#G5>MTA1wP;#)O-B>>qR;Q}_NNx-Gx8s<&@6 z^YD-qS0MbyDZwW zliGLwxlhUr-oH>Ho2e^w9_wDDANIXR|9Q^~mq z$hXty=X4pLxxRhN0`YQibjLdIxS5gi-{qK^d3pT~2~n9@oMOvF0Tz8e!#pB>u|zSO z#A9DpydR+#mVG6owK6Bh9Tv9obIK88yXrrz)#X z`3DNlN8y*ZUh=GZ>5Hu9(@2;X3uGbf)nm;iVD+^cF=)Rnt?hRVm0v2t{?Rhd%SWqCrsksT~{rUp>bD@rO4SR)Pf6&R+mQ?2F@9ERkmfG{RN*|oLM*6hxZ- zx(YG|T~A@WCi;-xy^dEDjLf=p3VQ6A-CXJ3k0PZ{>lNYDO{X4BgOZox7iU#f?j&Qi z((<7ZlQIh3U!;1SkF&?CYGX~L$_TqnC{fIDP!TlQmR$HpKbtg6Q^p(2nk)ZVKz-

kpbdi!sl`yHZn0Z8+Bu-&-!#zu29rm86=A9S$|ONo>w>9GRZuxm+r#E>Hm>Et91y@Ie5-gT0xG%}`?O)LMzqK$yJC&Yh98 zRQ-Cn6zLf3U${snMUR_{Hc9k`Aq3CuZ&zFaUY!_GUEGW|gk-^En5XE=0fia=u-2qV zvc?E&#ECm;?#nJ$J-XT;)x%=1@V09GoJ*m(8F>hLU+qv^k zzKHlZw`ovrnxgAJ$JEJcqK;P1g|eK*j7&RS>yab1NM1DdyPV&4!=gLli+NaQjG?YE zCjRyM@`(z)qjkb?R8`ikfa226u90Cm!mL3mvm`oU;E>oagGROLk$#;Wjlo=2iMXfz z#CcRV2%Os1XKtcPqd3YQYia>!L)=xbUeWC3!*z`WaYfp9{q>akL}K}p5oLr-ZO!B3 zfs9Z6jQ&*`7waOLOq3~AQfGVNhv{D8&%orgsxYTFbeI(8^9J<3xkF)A{Nc;{qA0M~ zAjO#2-=^-+!YgU%r@53)3LM8Y$%vXJ#qW$Bc0oHz`k0#ZcRQ>%HGn2<&QJYi-+dlbM2TDL3ezukf zH-2n8QpOF%c`3nZvlB6V-2x4?k?d!j>yVDE4aK2_EbXaD$GbeHcLo&Gi;N`cFpYL6y$WcOKP2n1!){y zP$yKngr63~vT{d`2#WsP@}#Eh*RW)JD+-SpvPODl*MR- zWw*+}v~}P{`FCT^#*_n!x{>~>yCGI_SyRdVWrj@aIr zI*H#83*8caJ^$b#c}(Q~TxGMsT^AG#i~s-mW|tO{w+gigg-o`IFnx#>VT_;ek|b%* zeIM$;x_?M*#Gt~znMU>g;3P<+08N!lnudpS(d<)8<~$Ac$Jx4t=ozYk9d4davMRrp z`?2ed?J;pT{E>h@Tb~BfcRwZffx_mk)nqj5S7hb*E^zsw$1w@=Hv5)_bHjD8{3f7Z zT<$1DEdJ(eYHDisS|+_%w?}qQwz(s20XXuUNhZCf6DX|LTgG4y5p@hbQ*S=fG%4?L zLQS(;*4(_H9qZO~k1)2%*-W@E{^^fVM6=8k&IW_LB$g2kyEnTQnx@-Ogsi_*lHqTv zeA1(iQTb7nG~(!G30eRAV8SDgA~2%&z=^UN(X_|TzA#o?l9X9cQ_c6(A0Qj|nd}vb zW7bC2|D(aFJqI|Ns}JO5B-)5`e7e6F!ea<|(Vr{+#-i-$IS`RZ@ocm%J*!zF&udY5 zBvTAxT6WRYm~hOsJr3P7V_7#?eN$U@RMXO{tCU5VVxDjOxr{co!kAnu?_I1GZtWkbfXQw=g9ET?sY7NW(4a5IqYV0&y4)R%KbctA= zHzqS?wX*CEBh}&SUw>Rz>ENp%c;YtUueH-soWcO@I0z z@inhVW)ELXVZf+!Zc}elo<5Q6Z1(i&+Ov?Ofd2TMVCBczpI6`B!9#4oxEd3Hqvlai83H(R5A{76OccD7p zg~8@uWU&ao{lHSLfQp(9Z zMeZ$8(2q~A+3qd*`6aS^)v@%^ipa8GB5SEDatjUp66#X|)?dK70FD4vDrMF(ExFm03$fi;>npixnr_71@}7Zk+M z^bg>GDvQ)85z|5@*@seTSiSA#+JDZx)==DX-~)P>SfnbR~?1y4UfB1pG_0>9VBwK@`DwcKaVF2 z&qV#=ixtk0454@jBWt7sLP=kaqdZ+Ye(^e74jvwbA{o~es8%X(EBW5N)z%N0SUIY2 zPiz)9u%04QeHKvz`RWb#27Af8)xKF=psoFp-op5qJxm;ZIiBDg-dOYS23dH{~z`1IH0|z2qS7r zXR@aKO~Csl_Hy=NlRii^d=fMBO;Ddmmb?(+CoKn+3Z2!vIp3#(j2uH#B#_r3$b7lp zmt3dn0srw(RX~pA#jQa=Rkch@4s6|=!nOVdb6oRS=H0WX4t~kw^vO*KM`iq~N% zoJiZY?|=DWO|FPOY=%iSYMUN&Q&#~Z+O1j16J%#J#5t|`H$IBu9wptM}c9Q`{C&><*28M`bWm*vDg z{0%iRS0yn2)AsB#uMh%4iPH{ObXs$2aFt$Tkf44}N4DebQF-A{ppdz>y6k;FamE`N z5!>6x$aoLO%-G?Uzj>}FN2#Y((D#zONzFevAk=1>q2H{}Eje=V8HxTA4`n1s@#Vgu z;rUr^{AJO~CoO14EG)Q$kYSJpYiWQ={dVmOGw&DypI;ghQ{0ODDTQvfq0_C@l5-)# zYXR24iA&lbLkX=FHKrjL#d@})S>)74S=^wB@c3H3*2-+J=@=on2GJb5Q-uxy7TUoR3|FVlFfrQ~1d z$yFjQA=X?=BB6N8EW?xJLOr5#CFwxh=&pEK=7;iMcT1~Z!s+nb2Y*!b&g!5v_e{8-iVnkRgz{>i7scJ0IIo=S(qMga>sO? zT}6oNYqH5XIKg5HLGaFhyQm9TqH8sxv>mY=6pS4`LZp5GBk6FX>=@NMi z2@#f%lv+)ee+I|>57z+11|C+8px|bba%)e?;Dr3hohr)3uO%MjMjdM(TL?U4UROYsvz`?U?X-v?5T4{U#HoR!VOV+UVNX9OIXx+TQHZZl_^++YQOL8xfH1Qr66ZX*f5(j#RJXta+wen${)C^GMWk zmPjU!2YbUab;+QWWv@hCa*#$irxmO7PTBG{+*61xS zFk;z;P9xW6lxnxqQ7hjHSL2Z)Em%ZPhioyxr|ipx9}V=gQjCe2g)>~`LKyPP7($(D zoBl{YS$Qc5$;Y+xA_)Pe`_`S}5B@y1Hz`E9=wY=$U5N;7@4bckJr`q$(KMWVgwtio z6@k%?^8A;)6RpIkPHh|xoG#IlnaJ7ppG#DIbx-(`;jVJYt~xd4OR|4{oo`x}|4FEz zl8PtGF$tm)`7h((;o-53+C0qxuZ{Ba3Ms`!iY-1Mcb*uLUG0}m z%SruK55}wDS;@`KI%&wJUX>c-H$tWhSJ2}-Shl_&4SsnSCHMPdNxUlEch!nYNOf&e zWbVdqO>KK^5o3=oNlyI)a|H5?PSb`74y;z9vE3zcb5>-c0{M92*jND`Z;0!j;8B@GDDUlxkzrd-dJ696U9VTZSk?Dk&w|{Nc@F+kT3*_3Rq*3)#8*py<9@H`&1ot( z00KUYjGI+lGm~-Ze=|0TJNm9VziFiDaMDcePGI9;9u`d{(vga84%2cUZDNe|e)8Z3 zmT4NKWqN@j>0TYW5w5oRhZh&Z3=~+b3EwRJk(mEeL#ng8$35b=H0KIzzbiE`nhIrxU&==TCTwB$icaa@Wfd#jUC3Hnv%!+x6yW#20i8tSXqK?+oznw14 zOFw<>lT1W&6**GQP;0~{l2oGPf1rk{9i)It@1*+sj~K6W=a;zMJQY?HYF4Qr{Ty&^ zk3n216T`Iz@7D|BgPtKR;WoIm3by&^|C8{rS^SOkEcUj~(~@Dm8bbHuVKr{+uNrA? z2p6MyGbBDZdj+p~r%d(!{kGg~_Pl5&3K@8ke4L7pT5-v9*2z-hl1CD8oNu^}#zsQH zB&}apgPsf?9Uu4%#keJQI|wTmQcwY_*C}R6)y3E}zTo|`{W*2Npw8p6^<^eA`rAnobwp}!*7p}uaS~*4e0e_+FGBhx9V)M}{ftw8B+q=Eo#3>irj{8{Oi^oII{6%>7~dp7 z7=?lb19BKL9AX^l#<8qrh}NX|NaaP5QQmzt)w@U*IVHx}{*f|4pI}}z`*N;A z;5G|Zn?0KW|FM1;if=V($)c&mVfVU4tXq=tW*%U@IXzPReGGw!ibOn1cS#y}%NCHB zEDsArPcsKHhtESl!Gc_^AxZP$xw@tNwc7TO95t}DO@9HoYsu=$g7Q>L)RXJoVWe%{tS@qY{;CH>M)i z8fGkv2s+D{{U0>F17oC1+cg?Z>`ZKDV%xTD+vdc!ZA{d$ZQHhO<77YYcYZ?k-Bq=& zrDB3&|j6yrri^T%vRaCJAogdH0y zMWP@na-h{wqfGtEnfo}j)ObyCqYPLoA7jlntj-B|{q#y6&0aEa&~$&OVgOZ5+X6+~ zMuX$DaoQD?t+c)jT2GA=1fb?tw;Yr`M+O&bi2WL!5MGGXW^ov~;tKDQsM@8vqIa3_ zH8IT$#Q+G{k9<&;ma2v!T=qk+`rFu~;86DS8}PIx1HuY7&+Gtyl4^fQ1jrNGV$U{8 zm&4{5)lOaJHI;)Jq%-vl6GO$ohI4mQO92==Kbg#bBrX}FE3rDLF%240CBo>V@C-DL zNe$9VaUzN=BxN9m(plm1x7cO$24RrQ>fQw@e>9HEEz(Y^kur@@-u6fYmW6Yp5nWj$ zM=~uW&kbA)v`Fq{_w!4Ngv{>9m4s+57?V^->8YeR=KzD%sPj!O?$lg7Q;d_6(zK%_ z2m+h)mW|TnGwh94C!R}BJneO^AAdC+Q2rArQW(ZL4LNw(@tzeB)8||Suv+T^tqXK* z`f^5lot~n4l$xt(tv56v)|URp0B{Eu&0H6migb<|V@poMgQ_kKJgY1241z#B6zBzh z(Ki1p)D?{ySy64T4-gsnp^wz92l9nN!93!%psfKe)kjWwYBpKOuJJofyw#0qq}ZLV z0je0iSq)(SW|*1gmLgX&^WJ0czufN59o`)g2?>&6cg!9aFFCA{E{+aUOf=O@ z?;knsS-QFzXg&@1*Bj;+DuqO7X>NnUsbUy5E zF=GUZl&)Aru3au32vbT=igs$_tcy3STcn#nosq3X8hza1%e4|*KOX_$6r+qVhw{5u za8AYItZGh*o`A0nUs$>fqljcD6<=eMR!8O+31X}i8@5YV-Dl2?VE&Lc$OP7I1l5MY?Ok)w zSVw)gsy>EF{={?P9u9`dHi9wOp^z*?r|WfW zc8UvP%cDs+M_Lav8ilfMLI$HW6$tHmqO$Bsi@-^O8_t)>d+J&+-H?G0T!tr{z@cMa zOEdg#JE}j`wf4@Vy&iq7lZo4)_JzULLLem!N2KOFgN1t#o?nzlFMAwO=?xRPfV$w% zZH}iQ#yqveS-RfH&uQ(I)F&^H4SG*L>~KtMGLR%1ayf)E+BFxGkyOOeL4~VMh}J{b z^i*-4!_iIG-lpzYJuCjU8Q&XZl_P3ew`$Z7mdlI6{qeaPr8EW`y+2*9NtUHL{&7{& z<~n0L|NF;Zf?g72?n}`&LC2V9+JV#kAC$Od4J{ZegQWXmZ3l3gqC&iAk%*Y5(b~g0 zFB=-}>{-u?!rYyHQ;?2gCfd*aQH(gF3#PediK*B&AW+?)gFMR;%cKgURH#9I!`WR= zFY&iZAwKe^P1djMo8u2wS+x%D=c;uvl^qG3taO7WIhAP19)#M$%xko(R&DA{1$p@r zC-U%63}NF+Y(jVD7+$R{d?A3a2_&q(@+R=i2Kc{A|7STq1B^2gL1l=jO%?i@C5xul zUNrSSk5=BP0()#R0CL5M1+qy51P+fdF%!beyE>cFJ(a5)Y=#Ndxhan7Y;i=*La^{d zl9+iH8@fF>7zlN1;XTYIGd;^baR6d1>d-;YeSW>nv>riBT9xe_mQ+z zWjNqel!&(e{~+@+Q8Imu`XxA#jXu$5MnjS(flNp@)E*XHLpLd(riev_{&E+)eyj57j~&C3!`ieFa>FeqOFgs>lRq@{zJ*nboF$f5CrHg>A*K z_s0i>!eHBOtal!IbY8yyGjKW=nITy;&m+5@X_$UHo6WJ`+MHjOb+c*7{H6JSGE$Wsl|g_*fA|!)i=;Q8D2$0qk6FvMCI_n=85V z5-fZY6`X+oquJS^(Rqa|4ZiFE`p;%dHB7;3DYv1;qM`t}J1p~5|2wy93E_R)?RP#i zuJ)8(7tSi|VI_>{AfuXtw4_oE&9VByLYm$+B@jOsnUxGE{ zUiRh@tLlxAK#WN!5{kEYF(mEkELjIM(Zr*leOfr_Sa1Q`txMv!frS1<3jde?`q9?7 znkxJo0N6||L&PNWbDFMkhtOEwPEZ~tnqqP69L_K{r{3|pu3crJ#rV^pEMhHL)-zov z{KjKT#UQOp^k&3!OKz(XO79_Cx_Ql*ULZs?JA;WqKQOLlW#xze$lW#>zI$C&J1;E! zvGRnYke_78(EV$_>WB%MhMoU$)c**{6Pka190vLq!nI8@>5vVCvRV$~6zKzRC`txa z1y&4J)kbK;+H1@fB5{liAY)1^*p;Vzv^*lNLdz5-|af0zCvP9nxHmb02_{Zk<}E}9t;T!40rBo@EQYsf`N#!_q(56 zbZ-eWe-QS4WjcPTDiwy7@PA`lWcY%38HC|3a`4B~GNXlS!Jzq$3(`YI+6k@c({}t% z+fZYH4a_$G3R>@68>jGH2Yl_tfEz(ca=lag@keIuDdI?`>rPO`3Wx3 z%#Qc0($M-z)6LA9P_ZUpX{+8$&gkhMuFCP|q9tCcsN*X9E;Y^t8!g4{nssBTa@Z-K z&mOU+ww0Htx^z&fv?Rw^QAB7vYnD#) zU*>tEm@CVlM#{`{?V&AbmAg;G)6e6fKbNH<0^0PGO4c?KIw5r8MIBq8CF8|E6zg}F^o+ZlHS;pOcD8NJ&@?{tq3{s?Jz;u#EDQiAtcE28)B=@c-rnH>{_Y)&*#s zvM3R1)%HV!6I$0Nibrap2(YSvI1e**w+h!8F`bfQe@4iFhK-O3r=vQiCoM(VB*}y| zfTgM*xpcNGKz^TykyAEre?^?pG;b)h-wweA{$x#rBp2Yz`Kr&(G1axIltb1opY(m| zI7)L=V1(Hz0`i(SEuTx3YJUd>N4#m!rbrp&BZd?k`hPwJOe>*$dq&5bA@-by{ zMW%%!jbB@LV=ABP@VMM<0L809IJL@Sr`pcL#^%_qZ@%xPTGP(2#QH+wX*_Q49f)NOd!lqW=req#WE)i=RS??(JmrALb+R_;5hL%;^vpLsVn_ikuQ_88H zUGCKq7dPo>RiW+S*$4ijywP zxd=3|RIa^1X~_YLmZeI3nb>iL{cK9}9^Mih$4E-xICNwt&dmzoV3W^fq-`HjniyqsvO8RXW0bAEk@bD@9Z4gOTggDyrQan{qnl7ms3mk0|W&U<*b z=mrVvIf6BUNj}PPhT7s?{cDrKF6QdJcrF`F<7tJ2^Nu;X_b3?jAheo3ykAqabanrv zzEc90G)RSEd_X}1KRY`cHEYE|fB*5viTF~?-=GujaI_!X>83=B1f{M6hj?q0pFb8- z9Q8+bYR~Mz^pY)6&S1+-z|=x8InuNpOU)w0%^YDqQs`zqqw%~Qem~WU{bu@!>M7`i zcgDvjzCDK^r?PF-r0e<~qqTX?i&CaUI`=;=&(Jh)3AX2WrgXJ_=9*91s99jo;ktEH z86lSzc5e7jtCq~TLXuK=2-bK`VwEpiHW++*W~5~mjE+iR;o+6|cp=Qi{(S&#>`eHZ zJ87yEemc*rl1tC}=b5*)AewWBJAdbljSS0%ye(@2y?Id#$>Un-jB~z9q~%o9oXd5n z$s(fB>BhC>Ov%~w0XCb{Ckh^qTRPctP@Q*;tl4i{jLGse!G(rpbtc~Ik@vZyB{W1X zdgh*vyMp(6vEj7*ywRQ4sHT|L4*D zkz?un?9o&1W9#~JH*>ji6%l?(74|n(KBw3|Fw3|?Vk^64s3 z=_$*^P{2IH^@i_H+1H(4Z8F`OKUizgOxdP!T?KPA;jKpM?4EX|0Jcx9e1Bhw6PlBQ zMI@Hz$wiZ)A!9|6ft{WIpB&tL?f$UE^L_g%xtFedfo0Nh%2Dl4DwAqH$X zC8b$L`-sJNp0Jy|Z?s;%&@u=I-BaqZ0=oK8}yux+sZ>RvIe zQgrw{2QK?#OHN+aop^J@)-5Ox0ca4D|Wwvi%@m5Xu=|{`r6L^G`#r z6RgiAr88-~)=t_Nkc7*xkdcz5{$V6E&cr!jyyU<_gH$S~&1(>ZaN|VEulFAz37>(q zyLUfzvx;X#LSKkiN{g^Qu3Z{mYytz8199#LCnazOg-8`ImC|0HvH~WWaoS~R{<@%v z^}d@$$mVfk#lcY*s93Hnl3BJcqGGN3ukLo{?a?YJ?+^JC_Hsu_b92GZR#VNa>aZ+) znv9K=o7wV#c<^A(3wrp8O`krk>j@Q_g`Pt2dB^+|-436$Z+m3fw!NyHc`(?lIX5CN zbvE2aME`d*l^riMK$2_0i6S08xyYeNPKM?P*XhhqI)|HM@aaMRvoDy zm85!uu=reyKn~(rL-{yRk~_(!PJLlG^N<8m8#{WA@PwDcQm0Q@baLZqPkicV(Av~1 zrmAicz)dXa8Xao!>@3ePhNZYwulqWVi&|b6j(u(PD*t2_F_JWfFSV*GI*!Wsv6j>0 z!(DL;cq<2GUg%bZam!gzrDEYM7j`bxT}H#?bv|F#DQ;3J)C3d|pD0ChW^*_x$^o(W zX&vvE3cGi1{iFd@ndaWhcs4#fxx<&Db)nDhD=m8U0C1%?Pcu9G_yD!zpIGm5g_D(d zwiGJvs97!T$0GQyOqey5(-)41V}By^m-bW?PT`xf4%DN>=QY%$$L-gtubed0*GI|1 zF~%s_Vsh!R(PTikZf+h5dF;J}VwH0F`TN`3((}VZ=UYjpu1xn!S(L84sK4cz}Yd~R-$i?S#Ui?N1Z^a%P@0ueB;g9l%D zB{t!s!X7daITD79IuM&i5@shbS`eCKG`+=ml^WI-+jZSwS77xMr6hD~76VR|zv|XY znAFseqG<4Iyo{#d5!1Gb8?*@nr)`@ zqK_{u4Yy;DlGcxu3Lhh%0}U(jV@rzts8!h>(68w*$j$3D$=6T(6zE2%M_GbfOXbfi4G4m%UrN}ykoFEf@se@xdZyfoT2q?_F1_hzi zPgpXE2k5s6-qymdc@@<`%ErKzyqdP)$mQEogLO@8_D%^~Imu^_%NFkf>2`pd7KH%f}v--(BNYZ0Rh6)YFYw+{PLI$C@szHxpNM8o&3B@&!p}TRvo1_`|fx#>S zNW}fXAYsE?=y|YBJ(sqc%dgh9zqUG0Kbj^wsx9?}*#!-Rx4|siQkpj&4_{?-uCt0o z%%=#L#*r3VzDxgwWVPBY@)S<^@z;6Tl&Xms8kfGxMJg`h?LQgq)^;=qDuO3)MTgqH z+wT?~eJvTCR6GrJ=`0?a{;jV^Qec9qqMPEcqp*;ll% z8yr_pKdjoL_)x&)U`xI_KfygO*SaInGO(_jO~b}BV2K*k5W+ncN6Rn$C~E!q52d2H z$tWt)2&K_H8Hh~>FGJ?9Ual)pTQ8z=BITL~E=<_A^(!7XjVV$p3vc-whd(TY$4feV zSNE5p(>w@top+mpNdLAY&%;~KtGvF}FE0VxZQifh_{q7*hZJHQV-D@0Cj-V2F(Z~^ zAv@>V4Z}F&llkO9^%_OHz;rXahv2|@(I(Z1=w8Zn7$&R0#(eH>wQ z^t(7M1odYWKP1Qayc$ual3Cf(MjdBKxkxLG zm&;b;#}d3<9(cRD=vy3L?wDp^Y`=%Ow?7$S-0<4|!|wH@@^Zx1MR**|@;DM#u#m4Q zkkUX)u;R0rQA6J>PEa1uU9l|j<>xEpC$*++th%{92OUTO)(NRCkppyb1WZIVQw&+? zlH~WMT}4P7gGwO42h9(l0UsmAj_^alZ)>0TxAoeIa84C1n}m1Rv9y7v`7>oI&S(H4L=i_u5abq!XB?UGQl z(`qhmFlSD%!YBNTk>R5Us<>s$&)T<8q4+*<&4M$Q#q`U;S3S`tf7?~x!)m_snG+rC zh0^#^jhL)GWl8{mbnslNAvVrq9W_8EY}~1VMfS_(0A@NR8w;oyXaf=E({=}Qdw(E2 z@us5t&5g>g+vlmj`!(~s5^U!G|LW$_t15nD9K>WbLm+-h2Jo_wt#Z`H^qEZh$ZBw) zwTCKcsd0^l%Wz4e_xI);dL-x{1KNHX3+koep@@3Fcb zFgc$~%R5ZDZzfGLPRE$oJ;(`+3nNzPK5?xMvB`)NRC@@&p<;U$Jt5_;t!U7_t;^Ef zJ1cnuu%w(^6B#lJ0RAK?Ca9IwlaS7u7Q8CY@O8mT5~7A5=by9qAAh_rGkt-+C%516 z^V!xymUVsoF{~Garza-*=rco7zYjcGzPCd4T}uXgHqTNt612jE+DLq`Ab5{=uI6Lo zA3(b4R}nOxkyxqcB4D^C{8T^o zl_jjaE;>g@AVuHl{9r7^%XSqv#d^@gxA@k5w{AnxdB2a=u+YLyFqAmP6k;5cfUxp1 zlKuw9>N(pOLm%UHO6Ff_6B_StinU=U5n3kiz#jc^F?a$uRd0lA}W} zPA|xLVFr`7`M(Dfjc9@4*Qm{5wVZaH#4wrUA2k0k9fkDcjE!EC2hJ#8V040%deGfQ zQPXRq`cY2$ARqM}6B0Kqi2K2R;b%617sC5zLu@(W=e|oPxJ$>q#U+U=UVT`Bp`$+e z#avvm>t>AcdB_+f0vGg!=l-ig847ZimN~B9%vL6$%UQ8K{1P#uEgXx%u)Lr*SaVwXnL@89o)ip4KkxNd%lo>WI5%`-S3EWH z(iu7TL0}V_RWr~dj$Lzq z_d(${(CAxivx~z8GQK8k*S~XM$M!SYq(Jghk>c>(vcz+RWk8Ulf)Ii*$|Qifq5Yce zlRl3SipcQz(;^=kNl>h5({gSFj-|w8f3YHTC3>|nhQMsOiY1@Iy!xv!gk}WX$ z3oaVcR{jlU(#&irF+GeB`{g-?cRN1ifBDf)VSXFiNCT^JV zDR%IJ>ISSZqCQb<1}DzQ!MF@;NG6P9|Jfz>yV|0n(F~eXBT~bTB>RtUgwTEKJ`2~g zT>zS6c&w#dL5LFc8j@===1^AeZ;ucsC9P&AzsX5BBsxfa)YSksPlZ1L8Ext)Xrw`K zO`bMj{@~Rqh&OxNb9J2~^ifsn!WT_@Btvs6vL$%?LrnP_QU9jsC!B{9NEd(*M0Myb zu6nF=&f0@w)T=Oa`s@ou)r90Kcdgg}B_N!UyNvTnGVIx+DY{ z`uVgjE@vYYwh5LS!TZ7o6-J`DdecVv>2WY>hM5rGCQtW!5I?E&*YiC?y|*&aTy&nm zP#KnMg~st(Hs%UeF>SEjNlUzF&Wf5RT)*6;7kqbs+^br3ZD(k;efPbxT{-Y|Dg2fG z-*y_dfzSJQ_IT0z{1=E;_irG1k2cDeU@0`6PX-8u{P(f8KVa9CP?jBLhhsW`JMhEW zWNxn2hW&sH9~(Be|E}`ywLq-nG)|A;_~nZ(J7Ej}VuyXUt*tA?{8lkMkC&d!f3mpd%yX>`s@ZONrum9Lk9AZmrf`|kK-eG6H84H{ z?7ntx>^}AM2&PdvuQiT}F%G`tf>eU@a;x2s(!NstvZ#0uPU;LExk(VKKsoBQKQMfK zFl%KFQXBSIXf4wEK#rF}C($3O=Rm0Z@F547o@6@Mm`^BSK-dys{ZjSRxEIf4v^>zSK?!u)RhWL8?_%Cd_&&9s&{Awk7QeJRFLW5Vg3KmG#66 zk&p866ygCJ2heb6=r^#B#s`(j4QL2@p(EcZzbjii^Xq8K|@#D*&Aeo;S|h)MG3)d`;A8- zFr#e?FS-kbMNVaySxd!>;OfR)c9edSqS2p*qQrey77%Z}#;=yZw6hEpfT-e4fJPT*$CuK4a1_ML#k%Jyu&@ zGSl-pyjWY2C68`57ie??}t?GEa> z2~XNnd#Ijz(VI4FRudqL<*e%y76X+4SEx_pFX&i=s#9Gg=cqs`V7|MHyW!tm#GhRKyLKSYrjp1oY?7$kGm zDSkpcu^eKO^}dRNq}l$v0MDD*Q13Jcv}a*}-O#H)AGBBKF5yZkUqHWgn;4hFVr0+~ zv3k|hCc~H}O+V~9^w`45X|dCk%aIAn|7K0P)YH6~ZqiYc`ez1Gh(YELlu5juS}Mu> z5h@Hahx$W%I<-23VTURU@2tRRZ3}_zg_Qpx3PVQ9r0Yh3Lf4L`%5Y66OjgI_&)(y`%(VQiJu&K}o#%gV}<7t(?!)MI#> zU=uI1n^spX`=hTiKs$L>RyTq(o0o7QxBT%t-wL?!PRwVHnc16>=I3#k{q#sYm_??nL z7)0Hob}urkTa6l^xVSQJUJB)Ut?asB5%_MvCK`_j#FOvxM9`MFw9kh0oWO`4w@OKF zYX9Yi{PaVX?VK3&KorGs6B)o=udS7+^E*0e5{YDQN&Y@Eq|{~PUuH_hnAj?S{bO*H zOM>3IcBSHdN5spAbW;v29=l#QX9BW#%)`LB7YK@sSU*O%#=r#p^Da!3&bCz zvX{x(Nt;1}feDomt&M(xG(GIhy+K z1U-XkU!z0`m+%`puqpK7JX$8U^ggHe-20W@qK85J7p@5XQ`WF=rL;|1QmT;=N>M#90L#A?ECg_Z zoQy;QB~F`1c^JZbnr6mhYJMkpIy3`(?Ako8Fz#`(ciW3w%M}Vl{<(Sd#Omz2z6TWV zScs}=ZLn~o54pbH-e>PnNXVLNb7f7M`#NEE_H)BHUv^%1dX>+n*(_KZLD)jnM*={d zCeu$<0jhScYWE8|lot>a9ub#zXaYDSVcxj#tU0kJlirDVNWMRT%ysVHl z;P^}avKR12OuB~p!O}WhU%BpNyG=O>7$Qq7OF>rt(&7NOgUyPDz-!UYmFzbl;+@sK zw>C9`5j=XwDp=Vl0rfT0{ z1N?%BL)5|VT`5?PveRXvXHlUMkC6uZ;z2>643z9^Rrs(_(W^8NwVoWJ63`B++rl_R zPb;?Q)X}40MaH+QUMm%TIAPr-o8dN#o?RjBh=

Zy@s3BS_3xl=H|SNV!B0U!x0U1b%hLoI#@cxiPja$c8dhA zX+N430sEF6jYEC<8rqJ}CaiK5?>&BJ7+Eyawtv=F%U6aD=Kd|BYE38bMw*uvgw=3O ziFB)G2bDMeKXeK<16DMo4Cg@gd3TyD~mp5_|?(>*e(_j2H1PuASR zXl#MA1TKzX0;9ZTOt$B3mBy>tTG^)b(1-eqGvb0}sVr=R`;-{+Z)^$pLY|*zUZveN z83b%EP0>1UHW}RE*Lh~k;x{!l5>bRM6+Zjylf^p0BM3mihK=}Ad{R{K=s=iy$+O(R_j~F7hKeg*){U#p4Ct$D1 zAro;&rq##u_yhaqi~I|k`~9-I?{03N8h6x)ZdZFzd{!VduOh`I7(@TCPu}w%ME_(1 zp2IP#WS7w^5GtNCDCt(4oRVfz^mMU@!n6a3!LLEd{0M)hR)hwqNiW`;5Y-s#BBf&| z{=rJGO9mDkc=7MZU%yB3-*oPxhODrR8fP=pG4$VBg<^#)f+VYMI7z|N=5YW0Sul<0 zvG3QJh9QaPFTsfAtLu(l`@QgQ#R)4naEh>XWh}k4vaaqfc)7Uln-!)hO%&(v2bMaC zmOr=pF6Jk00_ai%w$w~b;BN}=vr2DMnYyVVHkr`)RG_y1&PWbPAeqE@^>j0(nT9b( z8Za)}>>hVa9b6R7md_#ihzedzd+1vV2b#fH>+)Cr;}0W##O7OTYmVPnJ=kV+Ek+$<7xjL+DOO=*TQ%Fl@V(W`D|xLf z@!WnmXo^pkPlG9Rr31BnJkL4p_(6PMW8HyLYFiG+PIx)q4}V&mPi@+GZ?p*t!~Jp5 z>AFOYtsG8)0w1Vv^({PZf11p-^ooZko6&ZK@Lxzee6C#7MlSlC%yNRCd2SUVir{y# z;(3gwmKp03T2Hzczv#n@@5{Gk3zUb1KW7d*OdWs}fO>|4uqhOlR!d`D_XOG?{N}vP z4xWwb=0M#xW4!5rx3o%siRwqf(tmAS?VN>BrFphH(-5kc=%XdcMTM@NiOb?;?Wq?p z!hm(V#RgXq`=0(KR8MD-g;}nOlQiPwzgl`%^??~ z6^Y%MFHNlLwnRChQ&&AQ8&K2}H0=^TUttT4O zLv^v2OSlMrmY#}^Fn8PI%>A+MpG`ei z3ogI(&djWdM!~cNCI;sG;UKCcL%ZWAw~QYoyu2kn)^k4FM!@~?cK)+4y{vvfN|=&i zio!7$z;oL&8HB@B%ZVPZZPY#}QEQ!vtB$1%elwzL_2_l1k>S zRneq1=xz9C3_6L$@#_t#*MZ=CCxJ6>=9+N@s$V~!{p*Z-BjVZ;Y0ZEN-_rvOEIf$l zwJb=6(QDT!3*_$Lfh4=-5x@`o`pTNQ&=U%eH1g%zt}{mv8-kHIk?1?qigovd`+$RZ z)y(1LGk|nbE+>kH6w5bgpk=!zJp*DB_G=I_#I_rp_^X)@XXYA-o4AHQ`|RyVhTZKJ zuEp~c$J(|Uc|>y5iY>SYdpLeLLnz+e72ZDq4P%8`Omt`qnf8|rvr%X5tzQUnFYs0C z`Co`Mg#Nj{2r~-4k6yXC_f4<2PUoDdjtAVdOq~EFw=EiEXj2C&l5YlOuy`IU#@wxT z4N$%SCy^A05anKHoKL{)q_%k7`!6qy`&^a>A)0;apdf*3JKTE!FW5)|8Aq}qQG5W% zz*B6-g(#1@PW#1GF}Tk8|kpaOUfP5eM`B zoh#WN_iGn8&RSm7IY;7Blh1mxF9%?vT(~Va9)vmE=uI*U*mf@pciBY;kpxhdBrySw z+FexJh=m{pYK#!)PWVoj;x@;VSLIavj+|kzkXP^fbJByL0OYbi39&^{>3&GL zpNioiMRAJh-r3BMC|B1vsyH?MQW^>4u;*I0?AtA*vcH+ZsjXVH91P|Bo#`Inisnxi zaQFnzIHz-RVF=+Hi%~j2DBjSa+1U!CX16mC36D=avhfv{)h}}bd4|*-EleBVpVs8E z2D~2p%Au~F<+LrAxB=YzHs)^ve&ZrLFH|N>nbW=k8y>CL4~zy@87?~d%Sz;zdO?#{ zn&2?-?vyNo?J8}pJ^Sdsm7$S-<6e);;tZgwak+{3O@*zZrHxMu*SvlSYV4y9R!H;(16TP=IQWl9Nc~}ybnM1?Lz^OJ)VI@ zC}JqSb#XHs00D`Fy{0});|9}#Cc%p-cX*>2c9SymHsaiiG_^N0TymWFLL?dnZ(i7Q zD!17UL+kpMvKI_>B{hDqoX-XN%BYaKWuv#yOl2q70FIiXgAhZ`C<|UvsHnK1Q#@2j z2qz7OlOD#cz;vfe)|fhSZR$R)q!4o0#u=pw5v!ZG&JHC!3&mK32&E%TN7v1pQFAom zsC3$|sg9(O$6t_y&{Xhu&_?BV|2N9u zG_&~SXjz+dKaA%FGfj8HPV+o-H?(ur%rkW2_Rgy~?PB3k-m>Sv&VX3oSLQU$PUd z9rpyNQNnC+jnKU$NgoWi`YOQE+K<^WQvXF z_a{@7-#sh%fr;dK2=ec+?e~zb5H?m{k5+rxM^A*Pl1t%5Jpj%|)EJvEk0jOG5Z}&v zxKafTT*U+rry>f7>!RH@)S+AK@&fzXJ9o;Vz7?o`{{E_?Nt{(*Il}hM0fARE7rH8!ky!U%~Gd%QwJ>U02MTYD+64#Plb%lEryYk z-)2m$S*6_$2C@108pt$_?DhRco&(R@(^WY0Vs42T!s5CZmS3Obz7?y1ZG~co3Xunc zH-Pp}f)KFfjvlsw4sD-z0*k2&X9 zM=)r0Ox-Qeg9*fkuSUtqlmh;^Sv&ANX`U=zZPQfR(E7Nn6y{}y>lXd6sLem!l(NBc z!0(W)q5pwBR$3!JtU{QeD6@F-HGqnnkRh%h^N9!)yhqi*)N8kgd>-Hu)S^SjD4hLL{9xkZ=PrzyB@ca8Q`mVK7>-5}7zKig6bAM6Ijnnsu zz%2&X+wpXVCu4xtaov-xy51@*uZ%> z%|YMO)^+ytyvr0ry>J{vjK7`$Qt{SjilvtRP>?X53;@ZEeH+gTO<)7&ftVMsvKw|W zU8U15jkoesydF9UfJ+$eco=)$J&olCo&EuSqyGCF!Sz>~7yUvA-ZP(<>o+rAd_Z;` zpF|&%-zV37YF$qvE$>wj`aYkWsBSA!Z!=!Gkn-w1rdK?Pgb{z2zz4MV#)N)1&mQ%s zfy$OHK<~(?+ks`Aki)UI2x8;{)E|09MVG`)lGA!pjuSG%2DNe^COOCW?6oA8_W!cs zgu7z7EUv~y$h(Z+BJwtWW$8PF3_=70#P=yYDHGR+l(UOfuC_zk%~0ZLk27w|KpNvKrgc*=$i9g5RU_$tO$QH$+NY23)$T|a_+i9ikNVa{ z@vf(!rEWaB%!0aN12{)0Fi-v`?zU_KH-L7;`rJl#!#Fub4hR;2*KBSEYq3?s>`37F zWfKBS`hiz3FKH{QbO?QjXkL$7r4NW`5KT3Gw5(X1gVTchA>`zR89=D_fmpsScY1~F zr#t^`c1wXFA}Ybzr>hmCzNQg*5So!elUru~ySj!KFD5oTK8uEKmBFb7Ae!roPC{#$ zW4-mAb|J^5mn`S6V*X!@~kB@cHW!GLClZJgRKy zXxpSJCGV|l=4HbwY_o%x8A{jJBwq-Z>;@blo#Q2u?;T`fnx@w*_cfD#Ju8s!>#REv zpZi;8Ei~8bh%cD$_3Zy6>Kzy=jobC@ywb|HJ=r!U*G!W+*>K%nRwrS%X-REGo3x;tFkT+}H z7bbi~|M-sjkr_MvXUx8bvFbhk-;lteen^h*!DV-beHXHG1#BWO-CNZKN@5=+j`<+Z zF9On@td}FZhI>pwBA3aT!a)qQhR8i>mB;}l-g8VziafC|n(a#)(V;JcHE zQPlxrO}__f?L__pJ`Gf>l%+CJ{Wplu70yw4popMs-5mR<*UpdoJ!hfYE|Eu#U&&;! zQ9J>EPfT%eTOmt!9a^Yjo2c|qYE{Mg!PBPGYcr1iKXqzNUE;14DKoV35E zm&8L70$=LOH(VhON#DUAcqCp|LK1|m#|DYSN&3?Su#Z!=W_AE+mM;QIIZ@cB%zS&*Z$esxjg-9gKWbg~XP^mI z`|0s+=tIJZr^V|Yit}XF;Uw03yLW&`a5ZZ3W7>KW-FXz4Pu>r^_vpJ7q1?CF`SgO~ zuqm}*bL1JVz;&{tOe6wJZY!uu*>l3oO$K*azdfD7hW4ibeyKr!QNBtYA$x^D-HwZf znD@J5aR;Q;7bEheraU63ss!x@@pMNUS=;6vEHQg$oD2-Le{@eDN6P68y>} zUvhbB2AEicLPB+zS1I4%MM=#iB$b|%$N)`_=OIn|6aXe84J0l=u{DCNmdjhT*{p2U zM}%Jb`o8y2BVj%JbwhG1r_vvy6;5NZa@IFsQ5eT{+wtAN%Yu*Ve=U#yG1b>!9qxBY zKRA!$xZcw>8>kYLo=Vt86*-2bDKkR0pmTz>P3Mx|2kl?&`}IHS{GXM#X7=5;R_@1y zk;xS_$${idP1-jk7vSl4D2SQu20Xs6Y#J7(U#8-!DpAH>#VYk z=5>w3pV05ImuCz7e)SPtEb@wMV{1EwUh?DgYR`l;gynVfV+MK-rr$sdG4JWg6Py;; zb5Hnds{LgEcmSYEP!Jj!5b_3?Gep7M^siLSe60;^5fH!$cc^gq5>~g-&NDZG1hvuctjJdhV@$BJ;|lS9{fhpArJQ-E!fT-qN8s4eZ&8z z=@Vo9KI?xYQl|sMonCqy0zhw37^VM)%>48ZKDTcxnIyz5Q^X%3mI%LRM7?;chL$Ag z(hsb2)r%yOW@vAd_LXugESeTeQ`mGb@RGevFc?9r2cD}^Of!3aL}@p|6=TR$`{&gZ zIs_J4*@ZfdORPMc9cY%?0Gd2(TAMU?`?sOJju~AguOim441`#>XX4p+&&W$c`!Jx= z8l}w|foZ*@vSIUBL|B_Gz@v$W9#}Jb43B14hfRXRiNaK;z z!mHRI?X|FN5gNozb%Rd`S31I80gp%W`APsDHsVRewX>z&3Gr#}$4JQ0|G-f60U1BdjOJW$r`>Lm|11KA$Ch!hgJa z5jocP$4$jS?VkLI`M~g74A@tvy`)XW*++;Ic_#O`PPv?EktW^yeeCJ=q5PVX6H*X% zNu@zpv0a_3sjnaKa^ah-OQcp~EI;=l0A)M8KudBaF;{{g76{{yfeD+xq`NNmTKd4Y zML=R)NY}f_=lYDo>tjO>;exg-%Z@INNqvi5j~*cz5cHh`CCx)}=|J4E)!Y=3Y(-+S zpP=m!1Er}sCT){~Vo_juETO%tF=WYB=8}5XlzfoKMX7e2?N;y!*97s-#mJvR9Y?xP z>k1^TMn;o0At_<}|GQV58(ybY_D!=vggliImA`zyLD!9zvjQSbLtwb(?uFUik&@rhKoWx*l(@Wc)p7Gx=_VECNwQ`OOB(A+StacVnM)X=i0IA_&YHmy^C< zC~%e-B8_XqH_8TQ0M9DiiU*jmItvCeLmkcI?}4N*v^x^8XUE=i_aC#?H? zgl&R8%m1K-$ifTZEl%E{N3rCC+iP3B4HOizv%#r zx!ZgVaJ{!6Nsz(Il0!P*cUZeK^^60jZJb z1P`$Koc|9bztmwkc3nj$U*CWf2)nVoWDh%_aADUGy;K4re;-9S-}t&p^-cxpB}(Z58i;0`sT2-q-mJ$1=C7BKy|Hr-L7Od&`J&mkrtv=|j=1YWB5w!ZTM) zkx)rrnR_8;EaB-r^WQn1?0q5mDDlpr3D~41eUXJZViJ7pHmTn1uPaXqcxDAp(A#n84m+_l?9X2Tl(mZAO4vKcM}CHbVO3b#Hd@9EsXDK=UjxdpXRO7!mB&LO0QFMTCi5 zSk(lx+DhYi4O*-6!KXvg>f1Wk-JaoA!~>&X4T0q=Tb7ytI#7YV1UW#hL{qM}&}8?= z_s6uK+`*;&7T@*0VF~I0F(4f$rr;e+^)WFkjA5+B3AJ$kGUrgqWHaDEFbTnJ2xzxA znGo0B(?>2q`?7e#Z+IrqxW8Jhqv3Z%j#_)iLv(YZ;$$&nG?{G0l?*j*w|kVW!iNU zwUw2Om^H`p6d`|GW^_+&O&DSYg0 z7{-JHSDy0knFU#^0c>#g{Fn&{E~JP9O1K3?nQT%Fl|HcfBS=y3BW!5Otdmb|Q~t~L zTp6$alvxu}WY3mpVz4co>WQ2any3!vimcH<*DDg1z6#E)Y#Pa|u%WcpQqwLSUmRzNu2-!c9`4$i>43D7^Q1@Wd{$&J3%6wjj> z8F2Au*r#U_N%eB!lg2{Pg6M|_4YgUt!?TLw)jJau&I29^GE`1LW^!^ z_!n%Hep0RlFKQc-TWIfxi?lrU$ zaz+MEgwX&345#Y^%xRsj+MoqS0qp@R4-cxfwb0|rVkffyHLd~qQy{woUL(44sv})s zLr=)=%pduytV`dFRCzWuSi+sgYSqd*`RVOF;JGOKih?P|P2Pwlyi;*ev1JSPZchSa z_V1pll)l0g+X-eBs>?G4%o7wcOo&R2ju>3Y7{ik%qWsToppBe8F%&6DlBuUAVKHk# zgqNu0H;ERBP1(m-GAKa3>uy$ZvQ&81SRuELd#y^*$aUzeH#NgCF0XU#l%e{$(p%(>vW}w^@a24l=y%mshu)sL9XuJo&43$^_rdo zymxNygq54k@QZetLH8BkmsWKD7!Q7>15_~ac4r@05nHrRUB;UM604Bc1IisXD|DrpJi2j=9nVZM3S4S*f z-y%YbgfiVr-r6QoiSk{)7Yz=Su*TTN#Q=O0Hd?nVpwT&q8~I8MY+QhfpoxgZaC!?u zpM6B`I9ToFF$#*d?%_ZE7qhlUgaB$8fP!X31Ys0(^MNfY9EFA#;;zb52}lKDsk6L= zUbgY>xo@6P*HyggbE7lAe5I%+uW=qpI@jAn3bM<8!oC*}UV=)s(h@~>85j;ypl}F& z+(Fnr1>_b@3qeQbnhC*Dljp7NzVBAeVi4oG2@QXS6;6Yn?AG7mJthqVQBO}#QQ(ym zLhwf^l`?t7R&;&_p%YP-WH^%HiFra39<6OMAiU5}YR*(AdCU}QT3Y)m)GoFRzIWHW zEp}!%Av*+7+hPPjsB3mUTu>8q*eo4O{N^%IEQAF%y0LLYK3m%j@0QrsFA*SnC&P_6 z9{q+{0+}1iwUT)qZF@+{MPy=G9@l83Ew>i3EAbG{#fNuJW<5}}J3|^4I1`_>dfN(6 z6uoT)U@K!5G(Hdf>N<~1@Z_y_ivHKaMsD27<{D4LLel&pXZ)0KzPZvOHGtLXfR`vm zMw$)Vjall|yA6y5wv+A5H*JvjseSXnd14M1)`Tef${qRO$2}OSS|X!eZ6pta9C`}k zQNnj%VNBQ+T82N|&9Q}np#G}&wlAA(oRoXdLpFm(uh#FTj2gzJD#?rYQP*G=C>D3N zE2ySOcJlMCo4*N-i);|+TDvaXJf!q9ElsGrAx7EstnivSl!GQwt6vE}DF+49808?R zz#G6BqT<`;tTX3oo&P81F9KoEb9DgzNFlG~{lfEK7;*eoKUX<=G>C_y7v-i*g8%h> zcDdoEEYoAB(_?qM5PS-4z^R48{p5L}v_?NoXC&J=eg=O=Z2MDpZfKtu;0{sH2piU3 zM27sP5{R(`--p$&PP-mNRG`zidG>oH)v6^^VGp6hT`NOD5IoSe-htB0FOR2G;ECWC z=Ix9vnX*#5NHh#1x@B%Agy_NoKy zqom;8fslXMlS~kKN8Z?GoC9sV8`2Z&VX`FuCL)F*vt7u9V4Nb$<09)o?rhTA#;TpE zJ!jAC%laj%IPXnlWLz+i_S`ohIXK&<@8RK1O>3uN!!32+&of@V%1`z#JfwSfwL*^p zwz_XrHMNAHqL2Vap2zTVy0XeKcH}fc)L?JH50Ce7EgIe=4>=VFJ625k37RE{6Hg5- z86RTA0>Zl2p7tIOhtySyDGs!tQo$Si#c;a>b}BQ}zw(F>>KO+6{8K-rS{0l~qm5yg zW?TnWh~39R4tN=jzGSm0K_zI*;w6BUjLV{+R*=z;q}6AVBI0wK!>f~2xY$GLUN}j_ zRi)9H=uONNTwZIH8t33SjP11&ud#SMyvXtUe^L{2?m7&+UR7L6 z@g^i;y@Ui03ZvIrx3<=d8$+v<^3G@6!^uoksCpi*#GnN?uNF|4i6Akgv&x28Fmof*pLzai>gd9#U#fqTXxsp7H%q7C2n#YW1 zm0IZW2^cx-hoOWYL?D0^6fl5jGnxt(`mFjGA4UYP(=;E)n6%0mBGnin zXc-CO{H@EfS~zxuPoy8k7y7N9@S6@A-e(*>eD`4=d3eN?61ORq39P+k3`uDSmzWFQ z>qRUg;F3!w602KIZgztqvTYVV;#ct{$1+CAY|@r@xVzGGu-M0AVkQZGYJsMLoGuhl zdnsx;avs28M%YTiUM1?enEVBdF@_|8D-Ng91{ym2Y6Tmu3x|yld&0%?fO|wwR&93a ztjq{X@xB(aLMx&w9OE&l6YpU}#OY1muc+r(bD*9jQ}HhVGh_isivaxnTjKCJcx}X`sk$iBthA=dp>P z0#(v~1|EIIK0B8_GZw~?<^dUr24l5qQ2!b2|Ht;tu6&2?w_2!`fZ~_o%&5ELdHu~6 zcs=4YUR^}ejxM29gPD7_uFC_3`KOL?NIj}7w1#3J{*TtRQ{&tcw^%d%ZYHbfXn`o^ z0Msa&vzkut_598-8%azq&(UlbZx4llDfM2^Pf{%$t`jY9Gl#&|Vu@J1ck-s$y5vDWTN%)d_jk?m1o zXtKSqp!hhgC5-U+x<5d9#UuP;P%{fdFEbCv9L5VNurP!>b5Y((2gAFc0rx%UG>M|4 zBsB`o$bbJETm%Y8q)G$N$YlO<)kCkLfnihDCy7R$Ui>OHLi~rI=y-((kGz=i?y#k$ zWKv*{boU%$iTs0+Uqg690(w2YhiKRoC2In=$b-~_sBr5CO-DAE_q^Yy>i6(kc6*M| z<(q!@md|+2Qr}Bi+-FT2C{5`UdJL8>L2+ zL?ji@$+%Y;bwMvnbDQOH|Da@X6(lcxQJ7BoB1k*gb%*QHp|tRl=g69g2F_Ib(EX1Y zD*&o2nxCz~{#I^uXGk^H@t#o7`DKJF-cyOORC8?qrM=bj2P?7iJ7-NXL~Cn>KP^!v z2jQ>+u?K{5`6+LK9GX^1LI#MQn|}-nDFcDkJ&xGCWmBYa&}1q^4K_KJGh-G7rWgiP zTy$bLQ!&*^PFKnES06FJuvtU-_!1sOUy3Tm6L2?``)$cw=O;240;qGRP8TY5`3D1^ zX2qB}gIgLuEu6FQs~-DQbkgk|^=*XhO(hPIP}U(6rsrJ(YHuHEM_eYao4cFgM8MH0 zio&L5$6jY;_wxaRWrK-%N`uZXVt6a{;iw7dVcJlGfbWAlCThPA#zSw#MxY-@DMRY# z5B^p2_paJR*_2hPrRnO5X!@7`Bk;7NoM5xA{Gvr!l#79OPY%9gD1tRhm<2DE6JD7xQbZV&fOn#>%R^@KJpG9ln_&O#r!aIlB^8C!+4qR?DiX-YO4MSV|l=>wb zwlFpLpS~lpC|a8gA|$4mcY;O%*WQtiINZ~+c`85WdU$-7<*aN2?drTCuJq$p(~Q=3 zqtCO5p-u%y*1TIHdkg6x`oh=Knjzsv6tFJO@O3v$Ql#|^7OYz$@KcIZQzx4#`g}P= zx*+Q6od3t}DGBd!p1TAa`I=yV`Xt>gw^cnc4P#TzTP>;?W^%B|%ey*n1HN@xd4udq z+el6jUtE}i4_L*dg)ct&-+{m8D%^)u5LXE{HXXBNvVs;!X(8^zQ@x*(@ymt{=K=hIqgCmv_0>BwHe>6_v&kW3={UzhF=%d7G#SRW18rVN5f{vwcq3ZB8^`O(_5e8X4y?p<(K1|A&L92704ek=xwp0CX(z z;Mx}(_d_*vOZi%(^RN0Y_ca@-<4+i`c`l&=9j2RiG(9>YdJly^Sk_y92Yk{K z6ETMZ_WR~kN;1Ob_W>HQy`wYe&4+iCoe@X|tjh>C!BS>GLaI_Yzcr?&-39tWRV?&2RmV7 zLuG#8nng-cY=fM<-G7}?qQCA4JNft!1jZcMVq8iGfw?P1jaXG0^uv}Hh?u_r@F7pf zC1NXItUDcU*s7*6&iRw@qtGb%jP8c{=S_?s%E)N2w)D-h0zR@iL9I!@8mxstLEEBt z#gDz)kaS%RLM~+OP0^0Y4gsg3N2~uT^F~08XV|g0d zI4fezd5z$aDx$*5_bkP#6ry>~rI|}4cho*=AfiT4-{EGyrwwiKL0)nw4Tuvkp`jP% zGcSg7k&MK%H?n^FJtNB5v&1Rm7P2JBgNO7IWr+XQyvj;rcm}%h=)MWh3|V^Qx5TnZ zeoO%cM^0L42Q2@_@eHUd>Y{LqT$>u*aE}DtdwsPaz4jwEnJt&wOT*8B85R@0xeH!4 zzEr_jm)gFC{B80jo!w|Q>8KTs;bH$wO|`=B#ItuIznLNc7^cY@T}SSj1rGB~%!rm2 zVmNERPv#L7e&nrlA?Qj#}5H1sIb zO(sxS=Lo(BIa}NOJ6#Pbr204&17(OPe!yJ^SWvcn{^B1_rl2Q}Zl@24*PEWjKhB5M zUiVK*l~FOaKdH43cx5_Wd^k9UY0`Ld8)}SC?0T?#`6p}8^W>oRJP0ii6YlY6&s!AC z?s97mjJ^zLIW)N|aG_<3xSV9rsI=>mpyv`Q0Kv;)myaMWj40&%-?g1L=1P{W$6;@o z{terFn%ls%Adxm7bQ}RZsjlT8O!;Uqgmn=ZPIKa&saG+Tb+7pPFkKj%@c3Td(B}l)QZ6EKro7|I?ad_ z+SOMo-}Iu8sn11I!Z2Xb5V^0D@}^SI2GJFyLomUr9P6%9P;g8@Vzi5-#@5qV<+yig zZ5u#32jC#3L!-)RL6H_~IY$4c!3z37XH3O?v#OjZq{{Ej8TLnf#AIfqz(?0X?6tkX zmF<{i&HuJ??3^LaiyBo2szs`5N2F)x`jwdC(!QNSHgIant&jwfrK%KiN2D2?l13$+ z+}wx(AO^2K8z*iMUWEES*8r5C#6`U4?&ism58M&Qj75jhfTT0~$%cRT#FVdhvO^o^Kv2G;qOn7du_?~_5j;q>6?1@AQX@SSAaDUz34 z0+&hhidY_qP15DfQ*mUJ6qj?+fua%;8SjTg9#qFq$g=VJ*~k^_*six|vCk!DBPykHE9f z3$6-A)}$_(X`{;>wb=Y_{&lZ$phYYiZLV{B{RCl-;on7xpN|zIGsU=FT?pkL-&R{H-#Z6MZBHvQ zqJro`a zDbi`G*8K`VPN$A->}m%bb_-! zhbHZ-N}}?R4hp!o$u7*EPRDR)QL#=VFy!w8y_p5$%Oi>xc-XO3k1nBMH8eGd8Az9b zk#T*@)}a8Ce8=$|Or#gD3$KoHeqNX^i|~rs*UvnT2O1Et9kQxWb;VfsTUfZzNXD{(Wwrl}H`=Fgx{FKI_iHZsV~?4|<_qxv}-BjTKu zDFDCwgTrkZw~#mKxEzB8JPdzZPnc5J8`(}J&qj>I(8lIGgkWHkuFTOT>{<490BEXe zGt(mx$W9hG2BF}V|DnJ7W)XZwK<*$9L8ccS1(+p8KAqPoE-47Jj15Z?)$%>p^kcHs zs#uV0+19Z!r14Eon*k=t@yKw*iArQaN(!~I)S4&IFrlS2)oKM4kp6be4QZ;sHjVno z?c^D{pvSnQwD*o8#h?h9m@#MTUIt8cT9w<>yu4~O@ie$h%Ap5O|Cig3;4i^3k%p%7t(n;vUpg2gf%g7n_!QWq_NC6JYoh<@d*R)9}O zGxl0~sy=V*qV z`g#W4NmiB}rd?qOr4c!kupjpEJ@utNHwBHKvRIZ)uLO#j$^tG`$`Dg6%Sv=6lvLi zY{?)nfPraaclQuSgJ4Hvd1Wh8!3yPMqIRuvIJgEGpz||OU`p!qs)Rjbs_+ON6@1H= z0fu_`4fW#1$M`{Er1xG)pP;B6OEqi&aiI+n?6q9Di2N=kiWPEZpY$;&fl#tamkWOH>{(hMQeU|*9H3v47z1>>$>*`wnjK| z`_q9=b!R6(LvjEA;e!4lQRYa~kOeLaUFD`$<0>Z8^EAnO=^F3A@AG0$Jd;J|LLX4? z+EvL5%+7Jd}G1GvT=ElOV@G>(NG9{FB(>CNCIREms4@tv5 zJys?VY0(JrHmv zabXYm6*o;CV#Jk+IE=oZjHM|%i11+KbAged-!D8gfNaIAfl;N-jkbJ8O;c-YlDa(9 z^dd_3o(1Kim_6=_AYwlCHwL7N5vlu9q*8cw>MR?hZ|Ff1A3-wayGL2Bl_7oz6k{Xt z2R>gjLLscaSkC05&z^nTIaTF}4q+ZEl4Oa-NcYP*Ta$)X8j&>f5WGO*h?et_c-HG$ zbdGcF_L#~ulPV)Hm$Q?^hgtbY&KUg+PKO?tFpKiHV-=OQl>E9aR^FqupIN(a(3^hI z+wpTir2nxx`_WGYKURB5^`ywJ=%*1EnI>T8Z(2nA=@SP%cp`T}e(JGRwxgpUMO=c| zHE_e%-<{ZJUjl^YDvSqATEAVowVBj@~=+oa^2Or|#Y>Ibd%EHOg3 zJ{T--vE447N`rtfQokJNDW2TT%ibPnneCZBO%{QhT}D%{crFOuG;PD*jN)u46+(M* zc;MzYmMgmjd)jQmmUCz{c+H_#FS01wxzc~j)@1aLo7o#xSBW_sC1xtzaj3Fks-I}& zXYK~`*OJ!%W^tkOFv}Ecnk~Q*xp^m!CX($HKg7|svG3hywC{;ZP+Z!Ua7Q=P*A_g3 zxMx=|a)`7c8HEh@O#O~R%x8h+t`8yYCGMm(J(U6!D%J30#AQKwlpT-;M%zj{n~o{_r$;T!&9Ic%Y^%ydOpcHm9--Z)$}F=Jq{*9G zEbZpBWDnXn(rhLZm6?hmXByr!pOEg)(-*VOFJmt^j& zl$DOsk$qhr?}%kUM~F4j-mLNhaq0zHtZ|7Y+1@hoC@>(9_3&x080Ue8Qun{i#9MLL z>uc%St~hVrzr1abw(RWkjM4vR?)nN5v*i(dmJ&C+5TU|!*8VEqi;J~s@v}zTP3tm} zRc;Aq*%*eMrTt28Mws&D;UJ?5jq)If^#OMBpj;?b706KQPz~)dOsXhnY?4=xJCGAw(gD^n%l#8AVPaJSVY^;`2MI)^JL_Z%)d%`8V(Wvh>mpvc zF(yJ-1fF~KMq>h`32z$>LnP73dtqIVqfp>^PKJzDh@G8w;|KW?zoI!*%6XWaR8bU6 zKVX<=SxDq%;!ay%cOoF=$d*L$CtA#!&`b>ST2S{MphN6`M}PJaqeWq)&)16gD=7yw zg<(qUzn0<}!U-25H1Ui?fuTA@tQ%VJF{-pab|^6Oxh?q*M8y;$wnNQ*nEBn2;h+Vi z6%m&zy@!ilTK5}$CjxFxFJ9#B2(NeEeMW@;FKdlG3v@QU#kiUXhA+Z^<)~#s)Bv7Q zEW)Kj)^!uD;Dub6kkRJadwX|42-n%n2s{tb1oZeJfUfI&euf9Qr^uxZYcnr-VH-@Z zylu>$C4?L~UANh0&>v+Rp~i3gvTjP4tP9kOIMp!FduCjYS`K$)z95B`jpZN(4rVg& z5KMP<*pXK1cfcJ^8U#;FC?2^96bebjJg=M(Sg&BF;tSq)cA=2^Y;sh$wZUerTJLq& zTy(~#*ts|Q3c56dwX%#^rQHF1k^*m6GTWJ*rWdUBqv+L03CwQ-LP1x;JbjSThy0m=5j zp@IpqrnZga2fKzgLY+51^McLOO)GHYBtOJ^>S{Fk^!v-k$Nv^|{|73>2yJ_t$L_Vp zX(oiJ6;A*$%x=RhS;QWKWBi#PLUt!*`Dts#@394M$xx$uJQ%~+D|!jg*aXV1`jYB+ zXcTt6UxU`pp#K_)`>|hNaF6P;p_jxq@$r)|R9pqv2+vbKm}QfVA&t!DS&*{|juOHD zGZgHX-H$f@#b$}3hyDy5Ykc7fn6d>Mnl}O31dg&+DT`t1zZ1s3%$Cv005 zFp+r6@Z-`89&Z|BNa-6R4O~m_)L~Dl_`Z~Goh7Fmb7J6DRdk{WlxMf0K57Ah^4`K( z#PEX?x~bYMr^OhT+eWbDkkDeT)d|vG7yZe3M@p{tOsi3nIM|`=f#L+KpZ~FEoP3s#+F5EmTZ32W@8~>zJf%aw#m9f%qgemB{t4FqE8Ea8u zj{gA#6u?Y<uSA};bXgd6e^lF;wK(txjZ}T zeSZF8(MAC?d!)h`br_t*u0Wos^_Db?CFFuxvJA&rtUZ-sg(*v74h<;eAzQET5MpR$ zhZt~-gCB4Ad`IRiHs8vHp0toJj^<$>YB<3n67eD>5^*DiCIx_2vJ`Lbvz#sq2rO8Z z!$tKSY*k|_WZ6Zb{Q^M)(gK+$$gaCH@6M5}pcdvc!C$&`_w@8Ha2PuQHiHW`j<(f8CU&vWxnc>b6yy5g04Bgr|W+G92=))Uu-A5)xPU(@!AVUaRWrYKSlt(jr!bcoq1c zX}^0+io?hu4Ra4qE^8dbx`oB#naJkT^JO@Xza>S3%aA(78Yyz798*gZo~-yc@4aA*H98Dc6D{M8GVH!*OL{+6d^Ds= zrKUc)h>PZ!QaqBHeyR#I59!Ur`G!-6q3a}3I&O8&0jECW#WG`4@gI7?IfN;#<~|-&hVQQC z&agF#PYnj?`1sYZFYtvf1uqJfxvmF3_}cw^oy4Wh7s?bqS%$7m^auJ3ah-i7_t)*N zM_uc|@wJ6AlxQW1PuB3kfsRVmqUI_+&{R58pq6Qa<@C+TkxvFetV3q%mmXrS$)87M_aTt$UdMTP0;VeT@Hyt_{RcjZUy?X!?&pI>k@xRy-vhi~3vQLcSC;q@7VPraE>Qa;i6) zfZ$m|9YDVc4-^O%*8iXx8L25y!|t+l7ur6NaxOxsc(UYmJAr3nY1y%K%%TGQ&ae|C2# z^lQD){cDF|OP(^GWrI;2jg?y6MjaPt?7r}nA?l?~kVG9fvr(OL85dx6HG}ha0rsN4 zCX!0BZJImm0?l*h*1QqE56X)K00J;|TBDR^ijEIyc*9Q<5e$t64Q{(m;~WrJ6{y~Y z5M~ylB$IZCem0m3rAdSgj3x{Wvx@1XpW<*gYm`GlC?Ou~qJ)r3)HKg3;nAc6^owg& z%(M%Hs%&JI3~?K3l&>My;x>lTbd+ZUpvH#z&7=bvF;)zI@}r0U!M~I-X21$G5+}+R zP^N^^K;BrQeeP@%5oNkNcwn%xS$D`SyIj_X@zVp8u;>Y$cIy9{ivP=qoVr~~D{=~% zzert{0n29&vM1;_iI0IkB|1CB*ikg;a%8lzWfuO|BhT-l|8bq;N22eu&jO97Va=!R zqK>elONYgv&1pO|=1=mxL-YZJQR}co&mDQ(`W;(U(28Q$g~luH=wk&VH(b z(o_z(S6Yrm=Fn8nE(S^qRQ*elQ=R-CmVWEkwTqa^%;jus6n2Oa;5dtIjT8mo-DWLy zT*+zko6Pc`#RiZDd+kDS7H51zBk3@Kyzt&CR4!(E6qbIGZ49GKb-**);9F9Izgz8DEG$I zDZ5LIv~IcVG}dJiv$Zcek#dLrvD!)ihN5CtqI^U~0G^71;(QRNsHSkkxrq*oBTjdH zvtYLmYG%Qac}yB}c^+Xnp5GPQ$}_81mcr6tvX-_N%g>0?>1ZD7Ove?X7G=EY%3Wo8 zd&W-tsyHV0x)?eW(I+T=GqP$aJ|%{9%bywOFtmyP7Sp9h2F03h`z2ro<3sG4c#N#g zvE5b(3-hE;xf0b?D7Kce7OgM9Iw;K(a6G_MVziEW@?p-OVB2p*Etec}V{?zTu0LhT zG?xRuj|AOsvkh|xDceQ&aO8Y2Jdxf0C}2}$Pd2NQv-H9%6`IWq30-|?yKIlEgl!+h zND3Vj#jsLq07dm$d}BPDlq+YIvQHw|cWTvGN!&0>j^wbmCK+tQM*x82^EmG_PpNTf_xiA?yv)aC!n zeR?h?5EXDprB0^$g`TVJo^<@V&u+Q+mx`%|LxAW*d}=i{_LqAjJQ}D;NG8iLA-{7Q z`<{B}LYdf1GGb<>hr@pzD1Glk+dD1ap+J;S-6(Y6uzsQ@0bjseD+(QI%Qafht%m{# zwWr^sztspXiw{x+hJyPhYmit52=BB40F#gY^8uj8!0u89?2qxI zKqvD?0*cBJcV`BD_QQCcj*{K+msg}ipIcwRG$Yi~%kh}|;jWXK1XK$iUP4bP(Ze<5 zKgReCiveHn)PLdCM9g;Q#OKrIEr#N23!3FTFHL&03JP&a7;tcWnOQT*-}u&X+?hkZ ztiS+@%Tj`x{dzs!{g0O5wqhuZ)znVwD+W&r4O3gL?=W_|a~J3tGZDLKX|gno>-}|5 zho$@0ytD5gStus%^y1S>jJu)bH5$`D(yM3(3NoT7A(NB44Gs>Z>bf>a-+vmQ-U zuf+-d^HePfLdQ2E;;}#L?Rw)eps3QBQ$E;nj>2RO$VgtNCWv8BXfPY*%fIMm6Oa$@ zr&48DOk@n;E)78ShtEw;|0BsQW@AW^7`_Joh)$Lw(ccS@0q`@^!?eNHVlZ;2I;QJ5 z*iS*kNE2=(k`XyMZI69Z*ceNRZ{2r4G|IvxD`S`XW~0G6yb zxbra^=LiCLHdnM+gk_dAu%(e5?16R^1TEfPEV?M|cjJdA$Av2G_#l~4ZQa^%4x-Uw zd_0Xxfn7pfsm5(RPR>bca?hAhAJ)>b7*Clvk}!j(KL*9l(ea8b=t6JH9+E@P3(quX z{N01wZ0$F;-3nC8*IUz5XzWu~MBKNNtnQ8<9f=M=f?bO=edPsCB z*$#w*r^3oK?a9Ny-D_*?Y@>VlU;IX=6VU~9%VKg`qeOqg7VD2P^d!27tZ}!mF<727 z97~IG@C8W5QdssX_Hf63TRfDcS=j)>UJ{lgVz>@->*rL0QLs;li1k-S|8MB?Z^b_% zGPi&vg;&7Ndi=(lBz8L8&!25pe5TW%l4N!%2j6#i8*u6pfOf=a}$( zoEs7bA|XX#B=&3xaP^3^;C(0dWM+I3z&V6Q@P7^#)l6tEK}64;vGHw65kBEyW17QmtN@Iiyel$8dZiLy$wQ!v1pGLYxAEop|A_huwz#&X=@2{w50IdN;2H?-?(Xgm!{9E# z-QC?826q@-LvVL@cmFu|p8J0PU_X1U?yjz`Rjm_;3rRy~9x;IB4`-BRp1vB{;KRMK z-f>ciy9S+k_UR;ZZI?|PSWk60w*V}|@S8TF$S_p9WnYPISDE`8jyX}atg^LKfX8z$ z?uHKL!=pu%3M3*57&6hh!rvH4I%^CELSB1ABgB8B|A5ONB8>U^=`&R|lv&)Do+vCD z*6)2N8SKC5_~k!yu~y8JlA##JV^E=hvewkkRN8S*IXw1`S+cccV(tFav|4(Nj+D6^ zEqjcCJe*H};1|$YIOjg))5-SRRQAJ8D!)(qah-B23azwo8VPY5Tf*yy_^s>gSh5vK z3@G^4ByoCl=bv?#s9lGs(wbP!Zj3T6by3qf*tNx&Op()79)AK-zws?iL#gwJVd#Nk zo-DgcS^^$(+`7u;nhuskh6NO3y57jg{fwmbc7;h|#Xr7?nvH{26abrvG-|sNXQiuT zz#;3!oPY%C{+S-#!Va$|a&1VI?ad(z$@k0xrU^b@;roD)}zIa9^IMug6-+ zDaH{}Xw{f@Ebi$fZ@fG5#3fS&%4`-qIGhxu952*aV5xkXq*X2q&DeW;e)7S5ePDRY zQ@M{+4;$6e9w%OB;)ZXJt$O3_xLG-?J;y%y&aA^`QG-Okq$gsi*j7M@p)=2-ZGr^~ zbEGO5B!#yPSb zugHx%k67itUG~}kTOTV+cy&6I%Da=vZx5Fit}bc!Xp~awKihXrOOF#Et1b#ld2UvX zPb#=%vu*Gq)?nv#dmwjuC{WK;8{(a*jnd%K1XT^})5{n-{~HJ(`LR9t{(OO7l&Xl2 zj`%_WF%y2G$p{9WjyU`}ivmk%kTI~_FC_jY>gj0O?)sYhq*CZ*rMkfXc%s)%hz|DP z(YmRQ&BzE#+lH#)_VtY+jhwqjva z?&Dk@t_*;knF5Fl2_O=4&{R1K;A>^`tFYX7L_!M*BX;M$m9Cmaa z^BCtoIp_CL@{I#aW%f}Npdv;Dp7)re6M8XCHTvcC?|0HbhVeJHdb#C<2bvvn^X_xf${L|p%ad)?uP4LIq zbksP4+ANV2RmYS+z{LZe{`eRzw#EJClXjael&V&{p=azi<`UQC)#-S3JqeRw+GOrm z4$DLn1f`oGI*+$H9u(Egs3Jn?-^qXRB^w;I^vX{y^JeQV)qCA#F`sv@4phvO8kFN4 zBYqJd>9q=pK=LTwEt_~~YP_99h`;)`;oK&{osXHB?O|~9zVT*xZUUBj+2eChH>*9~ z`lZW&^0fD_(pfiGXR`QSjP`Ei1v1w6*sW-ftIKv7V1I$ld@Cds(<*+fXtBm;u^;_) zKZsjVAzRQyDndG1T~3WvR}X}u={0-8I`4vYI0YUJG+Wrhwy<(4r+ zL8$k8XHN~N-HnjDMyYk~Y##XV&)BC*EE@I>Juob%TtOAgm!tjaEd4Q?-;$*{b<603 znz~ohW!xx)GOW$3S-w7G)R(8dO&;MT!whIu5kP$L~z% zy=xxpc!a86rdbg_vSP`nVHOUC1DMWgTI$l1jy*g$EB_tcYStgmVOf7QXwjtx2>m6tH$~Fi>J>{{Tsb zQ5BBs4LmL2M%4WNF00|DU@)UrilUbIVTi=9d|@WT#QaW}x3=gY$QgN`<4ZH#@>9ks zgZE2oS{ELGn7M0K9+a7*$&L~janAK=v=o=JX}QZ{J)Ba8Lz&M)%aWKLyB+PhBv^pD z8#+r}{9YC&CX$51(tKa8jWAiKy@5**lHZS93>!|z)J&X6_Z7sX_x~$qq+-+}NQ-S_ zj`zxty&C4VrbRSxy2ttZGbZ&z)!6)n|p@&s*Jkf(ecz{ zd(cg$4gijlHV11}STm`L!Cp^RwRgD4cXj8_>Zy9V?Jzninjx2dQY3Y=dt&yIwL3Wv zxWw-62@Da^P%fT-Z0`smfrOk$pgg zam3AE?MxQK%EaBW>9}-+8}%gVCc;KcHh{!-$l0zi{x}&-_%+|G1}Z6*9fx0F9y7wC zY1OAD#-Ukk-c_VAAR1D$;_)4Zkg8+|(wXKHryg{Vrwz}2aNcTq{W$#qDr>y1xnQBn zolqaHkV7t=>tIlZ(UO*JoZTcC%jT{~^vOEe$#%MEaFa_eGo$=D3_d3tg}aB{lJ)8z8D`ugJ0dS`RC z+EL%?v3KivJlfOqk{lh4qKmt9zgY+>2iMQMMsm3<{z-(?p&BBZk(4;5#*A%)Qq zE!89L&=7I}R8*^(reHAx{5s^l-i8d-2&53r#zWj=gRjqRX>OdhA3m!{D~V|Hy5k^{_u@N-1F%`co!6uTi^-LJjBcOetlOu z1V|*e<+*kW3TI!YNv`CcUrN6PuD01DoL3{#azE?sh(KmsadI*Hv3x#JV%_8{*pU4C zt|5sOX>vPZY2xOmer7#MSd8^XjwPdWUV<4eiGA&Gpn2jAO2y}|XP&pNhVF_K*} zK*`^R^8>@UJE_#qtC&b!-So2tC6fKT+5+peb_=jxv8?jVoo-JKbaib!bA*pMq82nm zT%v7Oh}to?w+M$;el%G$?xqYnB>%l0Pw>{cgBxh%zWI|^qvOZsWW8DIF^-ej*5t@% z;m&vHo+qsFqX*|N9pQC;I7gywF32T(u6*ap^6{ITiZ(01vr`plhpTq>W0^~CF0J}5 zHR}0`f%#B;4j5idn(S|wo;UcOUw&yU-&vB~C%H!W=_}G_HNy%j<;`0SG0JPFk5X-I zLb&X@@l*twpG^?0Ym|U#$}y5v5=@*_mV~=dij4WA#|F0Pl?E~Ei4Q!{#~&soFdq2% z=7GV%@KYBT(uGkd&St8fd-wbMv(hnV%gqi?^&WRFKq4aECI{C#m%Dv)F9*|;#!Bsl zmU@Vf=h6E5>`OWu@V4gVx?VK|vO13J?2NPV6U*A)!z88IpR34RKgyi~vlNSHThzk0 z!ogG{idKoaTeIvGSuh5nN=OQz*(~~0alak5pO&uCQthOfcxV@HiDcJXBCOmRF6FXU z^5vz29Nl3f>gDAZ{mt zOch??#6{Ij!+~Q+sBzyJPRyK(it10lJ6mgd0pg;+Cii{FpO0gSPNyf{7A|`xzdzw_E1!=-#oi;(wW6-+punX) zOZ}t6yo4=kiyJ@8!+B2p2E1b=5uu%?aU;9-*xRY>PpdeUic)H6;il|b-Ruu>O#=;K zD<7+AF@7vyfFaS<1Icpn0qYT@3ppXyw1#sb*vgIvn{x29=+jgrEO4g9HxtftJAC?=ZpG%JaL9P4vZS zB@Q*jbwq1bmdfnqhz7iz5e<f4;@b%r^{dK z*i<=lx^&QU!7n!cVP$q>ft4XX;;8R`UHRvc5)Td7L)i;AMV!^MNu1$ZRdwm&U=a6~HzY z^&b-UHtB1(3|Ou6mOrOHep-l%HVYO-D^HK%XpO{b%_sHsq~#lPKcL$w!*Yl*aZqK;ci&;7MW zuXE7ZgX;Yx4&?LOPV_6~^4e11nAhoCyTIQtgD%XL=1N=(tJatoJe;iN*vewqQ@(kM z$OCU+f7(3R_GVxB6~}5pg20XasV`0TJELrHcdB#mOLQ-EevcU)S9!e=43527>FPp% z9`|{Me_K9%1?fF&`mnJ9v*x6T0Ik`B-`tIGaiwMt>+Yen{y3@s$mO&@znFVZ@{m_6 zy?~b&Ay-@5pA7aW=G8*N_c7@Q?#7(4MvKTPLs!xfTvWWe%AsPi_2v2KPPMASH{yf^ z)c_HsO2VY6LU!nyGbi*nt3+i-F5#I|#rY7lVZzEQ|F>7v?kS)T(sH}Q`x?bF{@B{o#vaBqCq$_?mUDRtepq{a2?!P}U(81Ne{ zWpZ;qrZ322`@ybhLAu13TCf|b?5svPQ(}($J_-Z&3-VQ-@o2A`J|3t07#=7DAdtey z9&-*qI_s++nU+*Z)yrE_{BW-r&rk8+K;%8;Yhvp-pWL&kTv=?zD}iU8Z!SHNYAzcaYYxb-@0AeN^@2?=AX(2N3n7a2 zz+wug+3C-AF3?S{#W8eHCc67|Q0xuSLh7CVBUT4sg>`!GFYcrk=mj+DdH)K`<+guW zl(vVv1!rEk_?*54QDnP*uHsg@>@lU62`OW*zBivG7^~@3ZLN57U*sjbjeurEV4^c#kGfkvl zKFSKHAo{78tQ@KH$;~vmxFmr<;lI$^VQ?6BP_b<{mjYu@ixq!QGlj#7VtRPCv`sf zL(U!A3cWG5$Rb1k63HRFYZr>1B%JCu66E}A^U2-}b~rKeqJf3P%DjNNXhSaTtNq)i)TP_w|B2Jnq&piQc~U{dhkQ*msw4 zl(*yT7tH&0cpn_k9yU*Cjkz271ignuxgL+zC;Iy+R9?KcTpbrgG-{v$(^>I!d!7z< zj(6>9XD@osEqUtT=NOpBa{aP;i^OkzWq-Pjq=8z?Og~|Q>Vl*U7t)`E<<@@G^Icp- z{|yK4NiQl4j=75;W*Q$!mlW6 zxJ}`~Xz7H*c_i$8BV#TJ)e27joA?1*c+C!v#@PxmwWp1Eb);R}xqY8o9z8y4eNm^W z%a41?ZJ+?SI(7j;qE$i7(JU{Q&wUb={n<-rc5$w5wU<}0hz#ORpD$c-d$*RcbGi-{ z@P5%%6sgU7C>CB5$Pb%@&-FdKX>Q+pJ}ck~{5LLs{T{&qPp`djy%97y?Wwp{LCg|G zYlzAft(1+l9j(eu30|!ME>E*`?40Z=Lw``X-Cw@B?w*{jODKE#^1U^Wb!|oS@V*@@ zOv&7Ccg~arxSG*fb3j>y_ltmAkjv>%f&3BzG;txb(L~&qUkex2HNRcfyi((|H$|ff z{5rxyRj%%rbsD#l+OKh{da%*zCN_=>15==C@MKQ(sl(d0RU!H+5 z-&<43R!U`ODs#nXvBZ&5*lEW>iW8yB!OPwvw%zniVcMz$K#v>wbE~@u+5Z?p&j*U) zj@Y}8?4bY76Qq}l=$*{PQjVYebJp0`3*X9<87-Tz$tr{N>WlyJn-~I;zxXHSO4!VD768kJf*`q#A{Vv3I{>Wop9I#amRlLYt5JZOZ9U1WY1Xjt!?X96V zx3B(eNQKaF>9*6KYvh>f8TwR9;_aHoV$z% zt${5Z5HYydCxuh^K)2Z1wfQU;chGcHEfK@Uld`0C{wo+WG+p-Zj9LbsL+T$@q{)fj znX{~M@S{wX-PEKOnknJQy`VH}G3Ew?>EFOd7P>*}U*()+V|{}5&*kykk1gRJz19F_ zb*`~hb`Qs$Q!JyO;(d4xBtB+}lVV8ZjD7UC+3FSS3p}F{CuP!4X@Z8zmDKPT!Bhhf zHt-u@&kTvUFy{>Lhx|riTu4InjjeEnti2`NOATf zjL>5Qkd2%YWM4Ls+ks@hF2p~DGOaJC;X&>Ar zQFBbng*11Vp*r;mGZF-<;P-KgIG@(a@*8PQUJu;UGdQeh(aI0)(`Li9bkB)De$}HG z1Ft+YEq8cKk(4NiYk(=0YK*sXlE`oEH3a~hhZ8uqI&xgj$X5k_@n*n7u2^Ds2-Zk( zZP&iPF)xuKuvC8xr;{$3;EjO4Vp~50ed-Id7O97Df0AfY*8R>gZKjb4`9(xN>WeoS zKTq?UWPpcQ2@r*w4{!(Ld=1i$RY zm@)q0ALvEu>kXYR3)l`Spw{Za%^`^)>pa`;P)7cLO5@gRGOfB^d}?k2m7g04~aUq?6E?eU0DnlDM2(u znAE`fbAUMez4mg0?8`U+YUq;*Z_yVk8)FGEB&K3&yTzt^Cv&CUpLP0uQMVpfe-gWv zISjGVvhy{BT?O=Jun&xz^8zbSyTz&fmQWbrwUk24suId{8>}r7 zU3DFjpD|SByi$qa*%@kvqcz+{pwB@(>g}!Gp)Uul>TPaJwC#k!1f}?P=9wq_v9=?_ zmM-yXyH7Cn*gMZDDU_?VsSVeip6Eu}2R0a>8~j|MrtG7w46ab^>7}b@CZ3<*nlDort|gn!1r9VK zhyN_2rY{ljARr;|a_-UvM@})pqGp^ABrtnjh6{DIRrpx7z59v7YvBYDd0%bGz5EFT zjYPL!Z%QePIMyH~ao;^Kc*0d`H={I0pUTgV`upoNwR%9`-kvR7i0(^oS8kUr*6*4U zx$ED^wX=Pa%|Gxrnz_HJ>&Iorc!^mGrHect+l{R8h7G<)TT0|`lW8caExs}yK>MVS zde176aQ9;_%l1I{3b%D};--p7GsbyAl80Q*YO8C#1rX5kSzY1M28DoIH{Cow@?J8+ z_0GC7Z|l1mZWsdXqhL7sYR9>CQ^o9-sET_T3$5mZ=c5O?l(b_hD&ITJ=bj0}`5tU> z{MoQ|RL5&!;*;h6u8>byf-ns)UOi z3Vt$!PVGja(Wjk7&*uw@4T3T6AD++2d~i=st>@235V$kf-S#S;`0+BjMvUea=3bFy z#(4v{LJj!=aSdkZc(qzu)AD|ABSsqj#NWN*Hp1MDa9X5?n-8NK%q_N9p>m1)wmOb1 z;rBLHz5gc{h-UiyqtjiZ5R+kUp0w!JqyejP$}+pNFc%EGipPV_Sr|E(x(#*4FOMZ~ z&zdaZBJzU(2AiRQ2t6i4Xxb2qy7bM^MpoMMPH{JI10Zpl-v@NRO~Kdv=CyXWLX-(P zX?(kge!JlFc|d*kU3)sshraJD2e00*pJ=tN)$?jXUIK9-O-{CsKyF_?su$ zguOYprF23+pzBr7`7RqDqTYS?$oYgEWZ%NmHyG27J|m*3*1>?hM=tP4?z&HI~qqNAmJ){we|l>I6_`npcN0kS>Vv$5&H_f8tV*FrdY+2arUrU(i~j z5<_l`ofXVgKZD^EY?O?-aVAElp5o?|IV62nZrr8+WlX)dj3~<|Tx+Ex9*Gv>SkCU} z=xzgL(?&EE>;1o{nj-;q?4f>J7=)V)^jFe^SUBq$9O+Chm9a`6sPYcqI+>eC_{G=M zOMZM|2)~7^Z`6~B}-}hm2%PNTZyD{uP(TXbwsWj^4b@_@Dz)>_ya%Dt_Rho>Z+xK8<|bj zUQHQ*)m}D85@X*-xAb9wntCJTNVKfrt_+@BX zQTh)wdzl8Pew^lSJ@rr$bvz5M`*&ze-3htm5-HK~0>f+Ltw0z0Y%S8U)A{jUkq>`f zBM_B*hKU18tLjyKR*6~0f#)-;*)O$kL*OyJrxPILY2|G7b%W?t339TNoc-1i?RA{& zGcdvcx%X{vZwFce+>Q5F>?xjOx)5xvTE5bv#ozQJzTNTN27AxByq5CaDXra4@m<~N zyPSRHeO(UcyPJ=fdnvrZU4`fp`Pja1LdF}o(7BqUsh_Qyr2%UNn%akBC)26Xw$99d zj0GLd8f6Y$>+r5t9FJS?dq(7ZDg)SQ6%bFHh|lNxJ6i^kFs{(u*RWZ=?%0jIjy^NJ zj&w)LCpJ~>IFyMNB{m&x){Ej0aK2LhZ_E`LZNO5IkCmYk$^2D>s)`li(}ZoIsPrpM z0`FHmSQa~EGJX-I>9T!Nt#B58F!$9~J|CD(B=uwbYjoyEcj&~ToCE6NR#}ZFZ~hj)`HK-fZZkY@MSEW4K8P_8$(_hSt|z6&#^9faJ)e$VIvd+| z(kr3yeQeu#@3VS(de%6ilU+vT9?qE~-?xd3>OFlpY~|w8DhD)G`6Cs7Yb?>woSNVX zlvyjnCHXi?w4`J5nCH|PUxVRPWRQOS${DXxnBHfl7H{f?h7$Kh^bL;LR5?ti{Hymr9Kk>1ULw^kd!EAAfd*?7Pirgb60Nea}Y8xpZJ0Lp#Op_X4K1DJc1PRM7wz9_UPh`rZTH_dS=&y-aak z&FLLCKHVL3WS*Ry05cf=y6DZfoM(YRARv{=%^&H_+3CJZ@9( zUPD13BtBJnybnF!?bR@vSHrdE49)?My5)cMa8lYOfN^%S1yDbOT7PRcjZ}})^vU!i zx-sK4hSE;XH>uC&y)BQGhMMTGfNI^P8~C5Kkc=P$_=QMf|DCU4QkF|Nji{RVjfcR` zlqn<%V-TYF?n~I0`R}rC$iJw7HQnf!ys;Gtc(S|}d5M1qnZPd6gr>CwK`&lC9Q_ud zP)e*QK)vSZow&HTDBcBUbMms^>+J}(Fu$EG&dxqkEibwsagS%ynjBrEa`STPk-XLM z?XRwYvfs5|e0H{BZ2{Z( zP>B#bfpR|9Iiz+iXD@XMy2ag(n+f^O@v_b!^slVW-ng{*zyeAXQ|lkOA}y@}ab+Qc zxE97*BkHGe{|++fHP7@FM{EDK1eR-zYMU>SFpkD;a_7yF@7wVRFwcFoAkjvKE<{P= z`K{d1q*-sF;<8CAx2)Hz(ADHuL>PCg7Ja74cmmBmuLs^BQwQ@o zKXbx+9V6+@! zn~#+ZUuXA>FPC>O*aJm%frz?IJYjWGpr=2fLfCK#q|`Judzm-^sKMW?dfl+(l2zk!*o zAN-t>q`RR5E2RG>q^p%`LjPD~)R8qi#%@R+;t}X!4A{2nS_w9$|J#8mNyyfYRt&O{;WB9P+rB1MZ@2z zAijWVS?q`c^uy)i^&fLVr4xtWeWE@c?5ZX{r#x^|E-P1@^lnzZH4@HU5qMB-ywg7a zD6l;L#4inEs}d8x`$DHW)*FPDw^%#P;6)nhYp5`^V1HDj^$d*uM!DG7ycEpJK-^EY zNZs$8AJ3gCJ}<;@Us^7+x%feaY+l5xBC!|T(C~hS>@uHpexfOAD$@J;43p&amQ9Zm z{B)IOM*QL!8eEL#Oc6z5)VX3ikGBFilhj!7bEG`wpMs?lqROC74CV~ggVT79SWA;{yaI2t)&Vp#^$qKvcee{LgUiOg zDIrhw)7yoa%Q)c%mJh1aGNSqQBB1;Kh*T{=Dzw-1AZ86;X2w{3;}F-E(5ktCJ59=W zap4HjoKq-?ZFXah2VNVA+xy8TF2%71Q!2P@9l+?C;4AU49^k+v-nw%SfBILBK+_p& zeWWSR7bg6z0yn}m7B<&1D7+3r5-E$RPD?C4itCnlhAT5;lIDzI_^9tc*9fx0+tyTE zn0A&M42BclS7lPmF3-T}oR$CQ7PRwy?*n`hP-JpLr!x8&#&XVbC9f)m2O>ZENgzI_ zS1+O3UqS9)HU&FUI*$J##m8ycj2185Q3D;~k19^?1sl zwoDnmIxGr{!#FIS2a1L*qY$)g=0zHG8y&}^6YW=|NmhAIVMG!!C!R?r;?mEPWHgAClxcv zsM9RchQgJ*^AYGT6FvV&ZTl{( zh8wW-u(Ds?!(z2Kr>ksDM__cuaKc$#t#8o=hH63O2t5tChCnv;&K zCeKU$LJ3cf1gUCeup1k$QU8;N`}#^JrLAxi%4ioBOPPlyD8x03cS`wLxYF_>gM`hk z5ZDmysiwypfC7}T6@optT93Nk-$!8Uiu`zk%y|1cz~EV!(t8h7%-*DlxZ#B+jJ#`O5b3F` zViW%3S`Mu&{CfJuGuywygDHIeFGvmoOee^ZXaWBI8&Qdsnw zu?SXjmPUu}W{VnPxIe)v#DZ4Uv*75T($g_FY3nV}&X z(Hua4$;~Q&>-sQ@cuQ&#h*m+aK(o=;Qwcj!ASz?D=Rr9{N~%FUh@G=Z5H$HSL^LGQ zdc=yk+AUzQ?E$B|n&hO)^2&3$snSL(I9(W*XHTT!hJV@lx~cT?2wRf7;=2S>L132V zf0%_$?sZRQbel72C7m9wtOwNv!b(DaP?9>g)=~jjx0+I`OL+%lWy?J+0wLM20eNKx zGXa-=RP>NyiDlf$NEaX(ssgEK&;SK~N0`-PJr@?<9pDbt5|_Gh?0ra7bJL)ZJwp{o zEDJV4a6#wdbgG`<$09E>_kwBA`w>~Cor>LE_7^`1LERd@xWpMJ#O#6Wu3JuG7)ztIy%}q3n*wk zIxPFi+|otFT^eLr$|W{#c*qJwGHxPj(FKosha>VcB8Ds)ZUn74Se^2<@AKzLxPOT> ziD$kvoiR<6VYrLXdLL63H?k9q)0-vo%%EKaS5vPXc28D@iaA`z+LTGqpGH>>`P*HFZaFt;i z!~Ty#u9%y`6(P*MRV9p&#~$*v1Qm9G%iIF=No6qIoJiJ}x^(QTQK&j2Z<1!p?G-RA zXMjeXP14*}&+60Ly|di+TJ^J=D0%U2z7dzQ86?!$4h09vx*MkaahwJk1<%!^GCPbE zTcz}Z;p5t-{DnA&OUukn@9u(p2|qP`xt>iz+`m&I$WUd)I3qXCYqwP|2z zu%n>WWZ0f6=hl_zkVEw)LjG^^<`%C`QO448sTGs2e^P^fQCoiK=q=E7CkQvd$uAmdUG zt&F?1m_sEFFYLD2jV)_GJjQ{~%r4pz`X5C+x}|iPia1ETV0$ z-ckp!XC9Z6h>^k4GChoi+tM?gWVf1I+Bnik>08wjNuVCkc$lwYL-yYXD(@w;UreVS z{bx|>d4QIaeKc+eTyD+GAL{T7Yb_I+RttNx5AqbKu`Ut$@^)D%Pq*Nf53bVei$;mh z^uz&q_Lzwn_MZaL44Fa$vsC-j)g4Cl8ZT>PGq87$K(^PcdK<74__XGX3)Ag_<&z)S zfbE~hUKYhxyk!w+hVyLE@LH*d0x79PGUess1}%&#>SNHT7cH8zafUE4?JQ==lJO^a z`;6t6$AJR^Lpt!!jd{V<{7#^TVafY;g+WPHbn^cwa%z2V+|w*ms1G7(a`yBQ%&#TgRW06E%It3Dh z$4%`~ohB55qnUE3K-c$KpDksY7VETZyW&a*_%j@nK5M2UbZG;FX88BGQm326v07@h z#H9X15@*0?M3Z(`M^erhGv6UqNhWCaX!sL`up|~dv7}C`$+vPMfo<%D8U0Cf7n=R zk(({|uL{qL)z)>-T(ErkV`A8NTC%dPLS%<%_wazqoQ898q@D4Qa5-^gmBRb3S{eU+ z4n}og8)0nJwr6UKUljsX#j$uN)(JMbt0P!P8Yilk>J>^rmB(RAzqVJlk`pJ{{zI#| zBmI(zEPOD0967?SzYTQ3m)13>VHs^MYL=bh{c}^n4^qe~Ts%6)c`yi8Agssu= z`z|#c`$wlgC1g^zKxs`$iV&BW**et}Sg;>juc2o0wNHoc+PkB;Ny}jhwotrse4rFn z^C$4YRClT^-iY&%%xm>J@rznV)z5yz)uZR6K>0>8-!pNtpQDMjrTq+#51#4_nXY|Z7TX(u(}HV zoaWI-LpGc0{B$unL&8?p|09+iR{vYcO(hJV8qC|po#Fr85LP66bscSRm6br9f^ft^YHfut?U-6t|WTQ8e0I9pOS`$cS(B;keSMeO$Bx z4hG4gk}lSNv59m}J(Hg~Xr{+LPpbQ477)qR?2+z4z(jAWcCd=7U7rO6zhyg;n`=Xx+$) zfKi(EBvh4cvqph4o6E+y>ENpqhMsdm$hl-0a>5+m|CETezW)Ad1z)%^HMQOJhw@P9 zRG2{9*t5JIGbtvR^Xfg{dehMwy~_(SN|POZ2$P(?r{Jvmd5*AF6*k|`Ru^SCVdR7Y zGGk~IfEYD-N$!qo91qf%Z@U$;pl?aWofWZ$e%cY-=|e#gc$26|j3$KCGiIEo=Z9dG z03js+Qj5ijK+MuSfYd6Vv4=|#lLxFC-ukjUYq?X&<|{0fUOm?*DyZ#5YGevlsaLs}&-aO}eC??<|6xqEYQ7#Bz4=3r^uSj7e^L0O$>oAjqd~Lpt1HG1 ziQ*O_UfZE{nhXg{*=Rzj5`MnI_0$*sB2{}9>3bO+zAzSsgE?FpozbCRHZkUxU96c}OhDm?Nv0gGY{J%B> z^r?)D6*t<<>U!T{{FGhoDj+X?Sw)XIa5)Xe9`rehC{&oraZc36tt0RdbfP^AMy)pHC9_7G@`$!v{7b9)HXNoEy zxob){@@?+yGjVBCt=g(0!o**p#~>gO2h@K`VmLmf?9dw}s+(z#1q@lC556Rr+{rr+ zuYQzOQ(_VgVK%9MKbAl(KLrsD-$ZG1Bi&s$G(G`MButxP(U`e3mTNaa6fh!l#6GaD z#}l~IslC}f4TIq3Tx~ClUc_Vz;1r38Ko9m5<@;u9@?T^&pDoTvhCpgFelM`yT3+Tq zV?YC6`zB#2+{o~C65y6o(2sBp0^l$73cLwUF(WR~`j#Dz{+usft{cPy|8QT%SwEtP zAd0C+BV;rVhFkQ5d#RVCqwVlw3D1sHEh^wWjR&g}k~-RYrN=t8SXKk8POc+!t>A)F zF@K0cds84|6Ar(X+}glDR<+t1TMuKy9c6gGky*w}S*XQ_v`ea3mxi`jY~C%b%=jOk z=03shrtR|zr+kr@L`&AZbqf32M)3Az>YB9h=vax}xpbF#^66bmqw8gus}Pc@@Pa(u z%8>ZaPZjv{808LmMl5jgaFM;S?*cX0Dkw|#QKg!|_E-h0n;H%Ar?H% z}{k(_YTXqzx(Axc^VxRugA?P@9KT6u|<&grdeaD0PhRN&6ckk$Y_!Q<=td04!T=F|J5G94;3pfV{`|dsccn zzv!$zlj>Zb@lTGY%*Ry2?ZwSD82fzj^J6C+@`r!7-OL~3_}nqHB6o2dfyos zb(Ke)*%Uo6=Jn0EEUTxG{w6+BV8DKV<4HoRE406onLS!`K_Y3m>i{@GpH%()W_|2@ z76oD`{0ai|C)Qx1y2cYjo$|G|J&ld&v-QzO{^eLeeh2-=k*3c3Wyn_~1aSO$cb8`x9GeeqpSjKaUc9M*7`?7`{=9?;Rok9MHA6o-HHZQ`OY>0v6#MFw z?PXQ}*flk4Hd^dpIp`2HUJzqZ7135up;uwHO?>7AXPy>ber!|$y`t;6UQkGOEo(?w zW#u%^1L172e-wUL6Lp!`#%OJVA+e+p{}?y%Dl#5>j&7!p+2N0$ql+A~|Ke0G{`dO> zbITV82Pfa}@9UbI8|zxm(RrcSN7bEm%<}`($1Um8;_`=k_G6^$&uFzh<>}hFzuaCx z^w^TPA~xMnU!=HE+=*v#D~V7qlIDH-&K3bPrp1)qwqHzKKH_d22{w%et>T%Vb;14^ z1wH1H*du|?dzRs)iZ%J7991q}1S_*Tc`DIfMzTweU%!6+9%R;$A0rR4W+ZZQ@qPno zRY1KxRdL={2)k>SjV=Bc7EC<5;Wx~wD_vTKi;YDd3LFg|^ z^DP>KY0xy?Z8{?lwycxq8>V7`t0T61`MGyAEY}h3+%Yy=rxda=XrdE)a~GQj@{^?m z0z`ZMSqY<$8YaNVFvCfTz~}O(WT&9&Lle@0bB6UlluTf3YYd9Qu2tB1{J06QLDp-P z#*+)8Wx^B5Dg2h$l@-vP>-M84TgPfUlg_5h4U97k(Mo6$da2e(e=CWlu>}MB+e{I+ zxP#>)RV5h$LD=8dc8@H@Mt2d)HWd`Uzl5VEYng+WkF}X1E65Ip?*n6M6j_%*P{wPG z{Pp}Ct=hdatI#{O=F6`Z%_<2#X+MPzZSm4A(|Z4sBK6eRmo?P^AQkd2Qys13@o5^; z^E6*_iYzMPo;4=E%T)FYG-$k?PUf%9O#dOvH>2|xxx~{Z(v8`1cN=(>fB+u$iyUis zRyjdQnIH5m_p?S{&=Cbx!;_wtOmFPFY=xV zGr=+(4H;IW;Dks8{C@)gNG<9cHqC>Phb|T5@)Nq0Kxq@?{rLcO9`no!s7wDn?kJ`X$ec5;1HEfGycVd69fbLLWO9n-kS57xjr~{(~qtnSLTHx^hB<*$HN@q`0;HG{zu}8g}O>7m0-5@+u$ke_S%JmhuvzaW6~e|x9p=J)O^;=Qio zuH+E3*!-p7AZBj1Ql{S8Agpe3;R0w`kMAd@+c+PcD@Zai;gb9rGZ~9kbtl&^ai_l| z5bU=`E%QBnJq<1PFL(m2nVs7jX+m9~-5+y2MYThN6DXacGrR0hVHISTpgrpDEN333 ziD*7=qb<)m3^xM=-j*dw*F_Fl0L!65o&8;<*sfhx6cF`~6f+U3qHKjH#&hcwW~ZGT z=y9~`*}^Sum!Iz~J5N(}>)ZQ;gtulZhUD%;qP?|%dmr-whC3u%^|Rq)v@)s@%y|Kq zUNA`?jUUFNJAu2-=s$!+Mf1^~nPBsWs%wHnvMQJHOfL&#oc`@dWPxYlHvnYto6(BT zOzMT};vWjq2~&8C40)t+2bF{1hlYY6!CzV|56G^G80`^9OxgU@mjG{}EpMBV_kBg> zb~OEnF?73Xpou3MN7DN15vp(af%?=EcC$-Jn*Jd%dc?#)+G=1}4ZpF|M$7$tFH(mu z1DZ;(IbS)v@{{Ar?@PR{lI(}r1FOyk=S_7pZBJeYH>hpw zq`=Z`OUKLzzn~0c7L%OvC_r)HoH1|8h%a@&e6ZGCYabCdpa4%|{~>f~k|+~JuGP9q zMVtxkHR#wlpUiw7vrwvZ;J1}38*U;3o0fm1Ef{{CG*ZTPh9rh8@9XspO{X+P`)MQ` z+4>(}T~f&nuXWwQ{b41FAN&z-h~8~*VN4w4t4|CI|DS<5(6k(RtKw2V*p!x{QVM8p zo9A03ZyCF+{IcEbC7wY+fYml{E4xwE7MPv=#l(l5NxDmIW7S)>V1TktWDMj&@rW>1 zO@4;vX7CKv5)Ue5)Yc&{Mmm@(5e2MLaNz??hoJ!73?f;a{n;A&X4DK9n!(Pxs9ae7 zo;@;TIOcI_+|w>mmJ^Fh@7G-+cGRJ|8UI^>R^=+zYC($^<9|nM+r4CxVl%j^U$@AL zsPM~f-Q0+d--&D9wx9#TbpS6LltBhZ%SCHzx-#BoxMX8^ELiv((?c|d(>97%6T6U1 zfL2H<$;W~=hey2|nG@Z2VcRbi%A1S~ctH!|1RA_h?YQbi(&x`*86Rz;LAyp0qz|JM zt02c6d(N@u>RuIkIaHKGC`B5l6nHwjCtbYF!vlfGR0GrGbnxXVP`t^s!1lmD^`@40 zVRyuAPM=O4mv=)LK>h&xf!e)(8-$B7^1vyKz)2srx~*9`a4KAM?@3FU}5M_nips} z67H_HWk;Y{m(Z+qC6QM>ggF&I!VgYOaZW&GOvFc;6G1hqCU!|jp7;Zlhzp99J!&~< zzO4l`XHRo|Jl(H(2AwP{e!CfKT zidLT0G$+)F&-*$D7?R3-`KF8i?a}iwn<$Pgg5}>?1xhdh1xXoBd`tE`G|imrN-4G` zSh`mppLv6_K#nF?)@*O-T)904*8Xt{eJ+mdVJ@|H*rzOQB77*|9$O{o%tPhD%0c>`ZYtjgMI=^1R0@qghHDH|;B2RB`XQ=m$=syln@Rrsbhc zw+u++M{6hacUEco61r~4QwqYONZXtnC*MeSoo(Y}8TU^I0&2nD>)?gLo^*4M7`Oi_ z4BU(pc!%nOmmZnsR;Y$5ELW@=6|rZSDCw1qXQjlc=qTVGns**zauy#u2~AQy zqnT2!s@-K$z({tk3|g!(-Oee%jB@=o4hrku4v0}N3iq*iqEs8rZhmb#Q+AuRcB3Az zd*lVevi}|Ed(^n1wA(DDlKS;{s z%L8Iw2v|O&&{TDy`c8BC(nx;1Q;J?8s(rP!2Q0Ms*7GfIy++6I*7FygP-l^fJ$O^y zO^YR)D;u1;8}oL>PNt;F)iom^hwXo{S+n&3b?REC^l|_c`3L)IrRp_+K2(#HmTN}w z*1Tw!dLyt?5(pTxGNQwCK=V_0zV*&M&Xl|}Fwp1cK`n{Px^>Ake!s7Bj1NC}QBM8) z!Guj#H2srW#@|S;Yw|i=gk11Dy|6Y@Xx+W`}7WEJnHPBp7*>9!bmWs%w z0vAAMZ5yzXI|Hs~*{R){am4Sv6jNbic7(v6@Egc=Ct#^U6c@>lnx@(lHH5${iqUBP zL;BOvC}?G{cdg*c!g-RF#=gdG6fqpJG7dMze@FdIq40g$YS;*}y)+6`<=nP#Q6VeOTVq+^ zp=S${U~Ubp+2dq@*=Ww>CuoUT^;H7V5S_}!VhH?GD6~|@n4VE4q7baKpy*Drlvv=_ zkFBO4c5F_AzTtJ3`!CjlP=XTgJ3!|#>a%anMIH1sQd^o3y6dg?Z)Sf2Qt5K9Q0iU< zU|o{I@rzBY=@a}#vvxzma@0t znB_r@!DYCqj&!QKvancPlEp~WR53hCS7WqNWIl4i9?~M_jPlqstbeOO3!Lnk zMb7ppoIc#0SbQG2@TuKe98cS^yF5=mj<=^fyAJZbId)8%g09Mi>bn*0=c23b%dKB@ z+e>H^4_Fo$R4)TWFx$`=_u$dK%P)3d)UkxGNRvQpC>;NSfJv;CaD9%@C4|sE zec;jvSUGCRKewwLF*T(zGx92R+NVioiLb+wcAuRt19CtWAn!SJ{=8Njj*;gprf@fU z6>1>TA7&@vVIni~*Q6situ4}~bJ{gqms+L6@%DH{1J7T*zeGKeAFFhIv%MrefTL|7 z>Zb5m@4{@C*j)=Ia!X(5QU#PCI_y7^tpzlA6Ke5m^f7jru_%XCY?{Lk7)<`MV;EgB zb$WRBr_w{Bu|TPQlisxQY({)uJ6`~oj$O+3Vf&%|ysF~T0KsYe0CEXc35ryI%W^lb zUc9tCnG>&#YAQd56}eEW3B`?>fQrDfmSUBOQf054%tQpgT{U?nGGFKjsV90NCoSi# zY3S}+jWadXz!cWdBEcqq@$5E61%22^!a_lN2Q|mwv7{H_;Fo{$IVU7X`wW-~YnvEP zj1s-;Jjo?vAeL8n(jZq+HmFVCBNE>X|K)Yy>HSFh-BLND%#}zVf~VY2maAc zBzC$S3nLz#{^2cYgM#KAlvn3XzD0Pzk3~K2evgg_{tDL83k69-`5%oHMrY&FRyGkicoQJh!SI&`$*XTP*x{&sK{Dgx_;c2t^J2(`v}9sqDo~NQWGb# z2hOS6>_e^za{B3^an7z}&Lz;Ha$}ZF6hNi@&I7ffGwYCo6l&iy%7-Z>}XwQaAdr+ClCu*%j=%V90dSm98+&Ms@AnFdU+E&CacFk-y<3UmV9CmF)8^7RPjs}D%?$~4^(}^|nNg#SMNJHyVQkf!$#lMCbr@cU0ID(k zK|&;z18^q1D}Kcf7U?6dj;nZTO;;XR$c0qVL~&dp6t5BSgex96WMa)y`}~1tqIci! z9xML|eT)L;n8ozBNc?O0bjcS#3vYLSfp*=UJGd`VY5V}4BJ@X}uPDmHWU&CH{{kHX z4aR|C6^T1R9q;MpF@?h+D@^ri)JG}2ZK-LEkNVRW!&A4liz>mZT7|q^-sHCS$0QuO@<3twz*U@dR?lIQb8>3T#2U zv)JCqY1HZ#CJAl3EX$}p((FLZS2OF^?w$qW^#zJVGrlNN*`o~1wnhtVQb_T1ISIC{ zGvUK$zU&4jye1UHw!igSA9bE$d2)MLN$FO@N!b9%Zrz~ohG6DE1@qdNpYrTqUTDzsQM4(Xwa)4XiAglTfZ;acHk5R9@#hBedy)JrvfqM zFvh-VsZ3=T;Q_{&wI8Rt&*6*5=^(5+Q>9#QIX|e7@XpCMF2Ct&I-NCDGZP;~a=cV2 z&eM~@qC97VYt2ejgSND^-2V0yti2vw`L5f{Tje-(h#q9n@H;K+H_5Am0JCB5pFbyi z>!LuBs<#G%_o>2m_+P)tJ>qtKVx3kb!aX_AV)hfaJ;Pw5#2sup17zf^VPwB7;6d1+ zJh7Q)o+n@}s_@j>SDwII2*lZv$pLvL_kk`LM*`K)M4RY74CUdN-`^%Jpx@FJ^T{ky zA{s;J)PxnOsS22QGcYeW5Gwz?Anu6^h#LS zntGkl{pF_j`(AM^?7566VkCVT#k{n)S{aeYZL7_n;3=_^AMwBqyQUC73yqO$Ub?X7y63U2R-d4>cTixU z=kt)EfXF-N1S$G&=7Nx)TR)DMM}-p3&t|P@GLKib<^hYKNJWodUS1WX)H<%b;#sU* zLO#*$xKILj!fSDM^e`ANMT{u$kBatteR_46m*n#XNyaQMfPB815ZTL$S^@lClhzWH zcE~qH0AK1O5hU5D8Peg~`4!cfWt9Eb8y-u#=kRrF!x%wp4@Peo8B|(;BJAatXDrUe z**}GE*9fvqROKR)`?{&%$ozhbc-SGMiu-0$nSdekel3XXe?tK@Hy0Yxpv2c%nZT(K za<$OvyG`A2+YB>#a11(rK=a-?VsJ7A#^K=?gn6-1O!g`fPa8`B96CEwAiklKpp1zM z^$5TuzC7Jge1}c>8IIjX1m4!pt{B;M-&M&b;5rMnpe9|@n>)hl{phL2qX#+1dtqbm zxLSh|j8A*RsW+f=j;6h2JJ4Pjd%s)fSAJHJSLz5lGry0S?h$skbX%gea|7%({`S`F zpFi^8Q)mo}eH7|D{afCm->> zb>+M$Ut=_q#eUB3F95AguZpk8n{xRI@T`G)1}d?Kf6rQ-!>n&l zG?{C$VRsA>)%Ip=i-Sy7KGS4W!7V*G<>PQ$OFAX5dUatk9suMhiy!cZKpC`@nyw)0 zLqzjm>*!#_6%t6MVD%Cow>dP_|tLMxPBQX_6^%2=TkmxPy&9xTh zD=Z7=3R9Y6TJ_To;1JdC9Dtn*GJeX4ow4-REq@4~L zsTJMOKxLhIqYca4!_1$qYbum*7aMAv#$j*z=2KQgd2{g0*(el{tvjenk!KkLoxkRy z=CAnmk;->tK{4tHmmVbjB-x{lXYC`i}Ww;~)t- z3bFZO2lF#tyiX{@SG}(Q@On(JXd=(W-fW8b98>&-h6Lp!vh%e`rkkne*#zaVeyO?L z!~OnXgZHiEIva7FpUHmz*dkrGwK{E;nk?~0U0p9TepdV zFNvw8^?KbtC-#n;hOO|FoiTw@8O3ie3b7bPHhS^PB{AWy2Dd%n(&W|+em|uPI^Y*3 zqqN3&DT6}eNh{Si3N(u-=>)Cn;w5RV-5hLEf=Lows*}L2S7oB)|9>ZOBzS!nyqrwGSf`ZmG(yJ#``tF)FZ-VXA6MGX}R$i$|Ml zF>jVI6kHo)Oe-5Lhi`c($@bkN%DY<*+V43-9=s^ODsGGa_b=*7VT>7+sf6!sWpIf} zg&0<^Hu#BLicL*c{E9_|ZI1C%y7v-2XqRmz%KTXggdl-KRi#boG}@EUmpI?96h;9P zYY|eyl*ES?F;F~>{<9m1eh#uFA36zSHSTX&A3jG@izFk!P_g!jEm=2f29Wf!EC0*2A zs3=+0Dps%tn`(4Cmjg}J`Hb%BySa*kW%EMi=HbSu;QAJqtz1|ROtSHrjm{5a!Xukz zNa5C^%N8%OiYehDOAFKgjY+5_OwZ`(De{Vvy*@c3ih1XRYMtnMQLE$UHK|m8Sm5d1PKKf1?D=1p5|B53~%vwO}=xjXJ5wciO-Ds{oaTuAAHdMe`ZVGE+ zXH1YG5xjrYG*Z|#m8Z0WEYYiKBSJyg(71NH)-9-1q~v6k@EnY@L>Ay@i}FV>lweE?=kPmcDm4k74DBzk!KO3lmMr zAN26>#Q*lnR#Eo0#-X!#7a`k&y)boJ5Lb-KW0b+ANM*;C_ zYvg0zaZjQ-Zp!W2;h_s;hW1CQyG={p$D+|Ia>jYhf!Yu>@Uz zpZ#>czA>B|lD?wvlY_*=PK+lT3>?)FoQ*yw6_qfIARX9l8#2Jg9H#H*^Y`C3e}2b( zE;4`H1;6^ucPzey@~z0TWt9xY|ECGImx z&AP_M10_pE&q`=xDMme~Tc4BLSdWzCYq4aQ7t&@Tjb?9`C?2GFk`L|6Ro*v-TOcJ{ z!3Y6|K>3#z6()FZ@$ozRW#V(wLGVFT(DgCyV~+TxrZm^<^11hYjmxi0;cCNvtF86@ zoSth>HTRXm_gv#UB$eg_p0dDEpgSJBr)9yQ()Ei8tYk7>i+6LSdV2Vy6949?AAeiC z07nE&s>$pTc17y2qro4Z5S%fvHfSn&llv0s1aIZpd9gwt;CcVcLBMct`80UihL~)q zqC?kv%kps$+e~94BX`beWTlVFpoN0ZH>DF(>!bdy_VBoH4b?$x_x)=2&U=>V>qdU> zbB=4}yDwejf<<#vOo6`;=D3=OGKtcCd@{$OQUdP1BliUw5|7)kgpjdwFcJjjow zvfP89WLJ6RzDoTjmvU$sA9=77Q$VPQKDB`dld9DI-GXX$eqdhWiT9C3n9*1spuMoiFc3*fGbJ^E_C ztzlHWM40D9!88{lv3>0|#_h~gV}O}Y!m%`oNJ93t)%x|J!nSg|RG?d=Tr1LqT3XK> zGrZ1%yM#oGw8vV^@FntB1RqI{ z0!aif@*IggP_t{N3`r;^*ci^}hZYK(A&4S}BTR*G%-KZ_L8-rQjkgat$Xvz%DmM*W zE`Zya|KK*~`Ol{H`+fPV;-41}!Pml1cZ-?luc`*?of!TS)IyMDn>eE+Tw=W9#=aP> zY5E!O!NXz-*_&Ob%3I`O*{4n8McN7La&jiTLW>mVso~HzWLT83GD$pLNwHb}PeONm zxI!nR3FIR#q&a-NvrBaKNp40|j+OF~d1jj;DHDT`NAGz@vewBtYliem)V*eJ$< znLm??Ir@6qT1!sF=Xi3mbifmpVb3(v4gF^Kz^!hwRHBrTtW;6Q8Z5&jw{SP#ojJZX zlwGem`sQ@w0>vvCOTfeG-!oW%SJYHjSZbrV0bGjn^`_X{9wuAA86i*s>=9 zWTrKcXPXLm#G;Q%hV0uc(S82aFyH3he(Kjbj`-_{3DPpHA93>@^*&^Ozth`FftUg8IeO1+z(p2UHs^y+B>w=zsWSIO|5<6np_E*0g!2s5k zrA{Mw_*`UHY+PJkVP)4ZK2lmm$(&Lm8D&$D?1KUX>~lRL{7ldK0W99cDBfdQ`ZWou z`OaNeF$k8ACSEsn{RlkN@P)K{{R;M~ZPZ2K#Yc-Q(%)jRlI1E7hPZKZb0Qw%?%*6B zZ1%pDzL746Kx+U$m8J9UhI~3(C=t}lqutXLepo{)aqo|6kLsv{`&OJlW4u!qsm$vx zMql(&PLrNmwN?cpJsxG`+~7G9op#hvhoSeFN1X?LsfF47P00mI0PM%>IIBAklRCr{ zW#Yi2MZ}VZcqU{&rh9KH)p{DGx<0#9NC}Ih8~_iu@(!)xj3Jn4pVEae`dfbbwV``K zeZTTZGcP7q`F&|mN~~yx6!6{sYqV@r=3DlF+DarEcSMw4>i~+dZrBfn#Tq@lLhRIYejKKQRUP5^x<#w4Eru9((*_qJ$Ogw9xzxw=%0uk0w&a>(I^ zhst#ibF8P8T*NTN8nEI4jTu16n2qTbc!$>@TOmut5G@xSwe zAxk?)W%ZwSQVu1@z^jtxa)Y3NOR{xz$a9RfY#zaGJAX#6yCN7LZhW7A2;l~cAY zX)uH-i*axl?&WH7T%(`mW9=d$U4+ucJYMb#uCS1;^AD(EnJjp(1f+-r85VCCe70W( z%Y$m%(`EI2jLfgrb_~|U4<5U$905)%%B?*;3U>(z8T3Je5xZ=5Vz;mE zHQ_O#;#E*{=E-?=IQcN6lo^TX-|ilk$q}E}c?jGtEaR$VNQTpq)D!Mt#~`>WzKX3$ z56nSY^lH8Tv;fH_2f8#|Ap>ovI|`|Grv*?!1+Bq|8ZE4j+jc$v&Xxz3z%!CH7;?a2-g({f# z2$m6XT$_u^A-(4h$gEyR^Rgo(ArT*8S|1%Ft%&R9J!LKdV>x~yI z$xh8)Qr|K7gUoA`kftfA5c7AeKpRcg=S?@w$Ks2jkPIVg`&ivU_mR_x!G&^Peq!l3 z%#QGR#gRFwxjcMiL<|p?kp1h2SL|DXTT=1WHBwDf4a4Vu3`<^5JV9-UftAV0vz((# zNSoj#v(Sx$FAM|RD-{|ht4=Px2(0e&IOrq@-NvQhxl60qIFQsKp6K(4FQ|7 zWL^jjc9yX`k#Il;GR5`%V2ZECcaQ#gD);-{Z{YR;QRcP}OvmF(TF`a|WoXvvaqlj} zkg|=fBAfOtqEHDJCENDwcuv@Adjs;Wxn_UxyLYmQ_q2 zy?Q;PbiRXND0^$N?oA1D3!p>CxSgu~*ltz0>Dph!zHU2MXx+S{ztPv%Cla6K<7Fj1 znAvcvN&S?tAe{dCLNlqyjd)>G3F53bQeV!>^GA16EoC4Xsi3mv&TYI_B7!fKlYowp ze2@Kt<(U-hoCIHEUayvT7E_dbIl#P&fP$VdiSNhXpZc4lxbC+of$z)sP6#bA^tDZF zN{KmZfQ19>r~MmUmWSf-8beh0SX`(c5ZU>Rawv2_RFB&n-{E^jEDjvR@L*lo(9^45 zHEK7G$dTfIv1KQB#*E?Om}2*v0W$#HICN@-CW(#0&w`J}F9IC!3k#iP6^$J&Xd{_y z>9`5i@Uzy4D3*2{+O~2Snvm3h%DDs#g0x1GCn6>An&)GdQPEVkEdj6&V#nXw4{`Uirs+eSXN@vlGCD#sABA;Z5lm0-^Uw%vH1_Kt=BiAiI|9 zN{38J5q*tyMb;aI$NQP;H_iPoI1T`SFHtFhheiF;_(|-d>dPQt!al{Vl-53CZz%N6 zc1nYM6J)BuRQLXifU~EEfXq|2_vKej9fN=^K4ck_JSE0OST)x}wS)GgamB*9B4P_e zKudm&6lbrlAL zHF0!YsK>yZK@w^xj4k_}6=aD9Z{mCiBI;TpBRL;f$?mG^$2+mW0lHWaSu9yyQUB z5jj0hv2}?*I*25JgxHyd{>tKuwt?M|xQl!`zq>22|Arcg-|jXeCXoLG&CNyR zpodMzt2x725xDv-Qu!Ajd3pYM_*vJ`AY`bSiKPM#%v_qEe#6@Rgv~Rl*8Y1KF+ z!;_Esq1Rl#zp4y@@~!Dtc9aU9#~g(8!}6_P6R9%y>{lJHzjepo>o8t~HyA>5FSeqE z4$m_7!WirkP~N3Ev_Xrp1gz7@kQ?Hqsy3VY87HY=L_~%$ZuYZV1;ydk9fBHGSxvb^ zO35sStf9S;2tt(1DewbLNtfXE_{M81OflE*aB9ljX1m7ih@=uix8j09s^#46!fAm7 z$#tHCBvXbuHbl-U@^yAI)886bzisS%Uu)DafaAK)8(L0fz6$2bVctu^2=NQwK*=Bz z9*uMf!3f@#Lj@7(|Fd_BHe*Tn`#^#8O&)2$D1*PCJ?m zmGs?`YMqL_S{35cILNlotKzKI#N5q~taVmi-+1V7=I`2uK~ zF1f)c(eziZNE!knXq3KUUa~!1H9Ly#PM(L|JQJI4UyVL(lYnBO#f-3K4c^Zmz zEuz`;90RKyQ)=o+b=q5X!ywi{jelyeTDDGzQ_|s_y!={*uX2|BYd(|2Uzejm*tGy2 z?;h~)PmH)w;LTLWUC3!nH_3UNl+@I$#&d1l_#;*nit#Et1C1siKT%K zu@nz^0A6PM}Ogf8dujTUDzqD$h%WOB)egVBbA5&9)HoBCQke@ zoAe}41M~|Q-z(g<rB>KC*J#4E02lF|lG|$w#*TX}72xLP z-nw{1iiw-KCd9?lOV9lNkXTt+X>qrb_|HZC#yGWnq&K|<4x}L~C$t;Hr4U7}QQF^9 z<3TcIB~1-XqKl!!uqu_e(f6X|O$HKU?yAT>Qv(6P@z#&n@T@6K(|n0tq2IdiA(WMj z-ky>5w;t$mGiI2v1lWqMokN>~##;0d|BX z(^1w)tEb}aJnC;KtxA{BASv!e31OR-2V&IR>*5+JOKED)bK@FMuaL2(Zns!VgjYd% zIgsckGq((oqf>KpbM*?PjeeGvrZZALm$QAlzmj7L_>~R#!*r^bZT;k1x^CK!lEqJ5 zmyJfAg6OOLf`AIQ*E1i-DbZ5@i~nS<>4looYiX{gqL-VhU&$dX)~vMKqEuKdD0SXc z+FPLE%zV=J=oTS{Zf&Rt16C1+m@E>GZggw^T#Sy1#BuO3g>&UE<8r;>4rw#_LeXVBT;U+$w{>lbe@#Q4+^wZISjR-!!I=uJCt%x2|ftBa5 zwTSN@N|UU7Ikn@|sWUMrwsq$#nanQ{(|!P*3s&#IRAKjSD@W`|fY_k8A6~kDxAtM) z4q?LW>QA~9Q3)^}!v7;^Rv4kEmoN|QhowA$`YW530K1>v;4`{ayIOCW18GX`W}T0h zx81?i(-)XbUhSG&90&m(OO&tBJq+;iZGeih$OGrE4YMwRN)akUsfM5GT(aGW#GOrD zO8l?Cg9N|59PRwx?!5W9UwFazr=+FCek@v1{dK-@S%XJSfysR&wXn~CD9b6BI3J3A zgxE6`l^%GPt7nMhin67x-7-XSRKCm8r!L`|)rOfw9|JME3OTV3n89x&aRV94U5fe! z^gnHu#xpqrL65~g{NYHv3*7sUaR*hiXtAPeogA8){LoXwB+?_vX5u8vYWxtRo;Gl< z<^=`zA(Vg^em)oDr7~sB1LE%12NJa${Lr93>QGHYve?4OqZJ2AqVdHbQQHgUs+Ixx zYq|rUoyc-XP3u=rMK0hQBa&1|>^f70)yuP(k1sykhBl{$e$K-eJaz4BI$_C6;@mDz zsG2%DSiB13TLGRuc2BN#OCx|!J0WjbOjHML?erZ1&KBVE+wUK}FBnJv)caibSXB$> zKdMsXgZE8KcxNlZh2iZ`iyLITbQdGtQpWaAxa(n{RZsdLJ6S`J^-kMqvNKA{GId$=-*A_|pzDz|bN8oJM9bUlCx-US_pju6r+VRkFr!!oUwomdM0$V(_Z> z;@}a~)IJh&cwV8@F~Ronf_C##ttP12h=y>xTZfUUaMU@ag8aDmf7?>QLxjhjQ9nT? zMZwcxny+yBlR%Nfj83ftb%lgRtx9kp*Eo(5+v~Ns^T*c5(y|?Erni6%4?k0B*^!b%XI2uU1bTNM`0m5oyhjPKh5jEY8B6{;vNWqu(lnB_`Rt;>1umOvWWkJ!B9;1P?Nb^8+`s*~&2a#+rLN2H- zudaIc&ILQ$`3pl{t_Y(avutYT(=NljC@bsmS3gz7!*}>99eulbV$^MZdsV9+G+e3j zAxB5sZE&p;Z0=Ncyzyl}`T=VBVh?#QxwJI-k?AXC7uz&;a{KhkNrumy;2}k+U0CqF z%r;9c^y(X)NgtQaJBeON-HF#rMi`i9a#tHq8n)sD+;S{ ze^i;X`#Vk40JBw zl6;_YMI(ibAzVEY7D{kZ8dQPdNE9l?(n5sWfXNIZ`(u_IWpUKkuS26K#NJb+n!-t1 zuM6x+pjIFYDX}^HXp|r9zVYuquKW7z(*9gun|qb9Hn>0`%<($V)7aKX==x#aqY}tq z-vt4d!9uH$8p2Ey^vfx_;3B&(hDBX7i9&@sM`pt~Wehbp?lEtN*Ao$P<(MJUR>vJE zqo)miqCZu_DG_@t2({DtU^t$CLwKjT&;yZxoMk1f9r~Au+Vv@n^j>wu=28?&fd%uT zpog4Vx_(ExF)G$-iK$eRb1?%kg2b?9jxn|I_Qk6sR#s1X(qlA=v%oQV062mEU9=@G zwtRicp>UUJ_R(btIwdnXh(Ku(;(vvRT()#_IZMyyj!lksr!#4#J~w{#zDKda_v9a&Nuj=+`dWsmJvyRI>F(=kLL=W&G8QC!w?3%9h5{22Z`r}2 z8XiH;zh+~l?4e(u7e*m3aChdD>U`i~H{dJ--A3u9LoRQ+KX*DCQSq0RlFM92Ler8< zo#>z0nW$tORn5%!D&;=0^-(lw1GO`OOMHiaz8D}76b3pS6Es=D2;jiap1AiT7ilQu z2mubvRo#pv<@-D)Y%;urRxM(qY+>0BZe1_s5{59ulH-$Vn_GA#9b4w!wT_ zE`FsjbNX2w;pw>9@5oe{MOol7*QYo5DJMt*zq31gy$vcd%bQv(zuJ+36lc>(4NW-S zwlC<0tJEJIBwM)0K_TUrPkR5Q_ofG}EV!`iPZhtsd%f-D&5c~^^7V7S`G<#xlZ}lH zC;r3#svM`HFshjlt23Yz^4g7ggSQjRy|B3{A%CRD^eAjjuc}w}GFZm=-A)R?1ZN9z zj1NidHSf3K$}#AmPnLhHjT?humlNjd*vhn_&y9s6DwGP&jDc_ui=l#7?OqEVMgki# zdIieSmDjKwg*G8Q-w~Ri3=8VzmmV@M6~ShG$wi8TdUqnDV_innIs#2Mk2uAJ1er4G z!x2n(6A?JE;vZ2a3I|#9@a_%UVV-$|?b&T2-mUasG6O&1Zg-LWUTt~YF5ej{Xz-fr z8W7F_l~p!?{1VXFk5vmv9b&ZH4#=A|GwB|;gpDa;DSEEWe+&s=QpAuZF_dsnqm@v~ za|#D4-UW`i$&^Z7sp>~1vG`p_KxbzHZw3DI{~eFdig^8;9{FWChw=|i$g-5t+da)u z92>NbxDF{NKAN;CMOC6Bs)N>IjPf7uW%HWMdBaep=s&_dWbgcBk#}ueyf$*NEj1A= zSa$x?Cz|t{nVW}YOfJb_rqcJEjI`*Sr`i64fTsy-WVAxFLq{!)jgu3pw-IjVBPP_$ zm6NRY^&?=2>7;LbRBMb=(p8ESwFCb_B_n=AlPY02b(iiZV48z*VG5_Svl$GYx{`! z8bi(e-yhUD;)?emgG&W1e{7cZdo@q?rKMxwS{oGUS37joRWe^*d)d!cw zymENJ8nd;O=c>-KY;0M$I2{p=(69R+vz#WiC@~ht-_-r>#PGtxZUGzRYH-s=yE`81 zYvOIzV$FzD5*FB>S1<8Vag{yF_5CBp!c0?$cG39&jX_0+gBW=XRIFLv%#!HuTqs9k z1T#|$>IlqAEYC3JiRDKsF)Oh?x~VNxBD?3113 zu%bvreI3KCLDSG|SUZ@PwOTPaya6@hPjvKjy#7XeJp+Axqai+z|3lC)*VMWoS@T6K zZl3jilx_<&Ek7;kVCF!segNTfV1~TtNqClG7HJ_(OCzjLOB-~6yn=Vx?1pcC{4QE* zYO8d*CMqcbJ?%m8NA?3wCU(RVj;I4Szur<{_>M4-U`BqHMQJOF-V-I&?bGU4uz^et z16~3G3+H6}(Cm+iu?$So>Z=TvF zdD840al~}Uh8c*vuzd6$Qhzg2=Djm;$dN|gkR(U+L{_5(1@?ow0uvFx+BZ2)v_kWc zQiw_|#Uwu1v@F3*s9KKCPpS4c-4=cL*R)egZ@D}|p?4<|8?uoxv7K3&kmA$6T6eiEXM@(LarN5vE!u|p!@MsnZ&5aaZ|N+yMbvp{UfRb-F$3QTUupRFmLRY@VKk}jR}J|GKb ziz+^5?efq31I+suF1_0uUH6)^Tq1mC^aH{kfQ5xp;m*2oyREnVpm3fu`JWruqQZ3O zOv&z*bu~A~o5|~n9Dwd?>@3YpMZTBsc!kkb51mm{)rZ-!+V3?gOf%R|kv`RiVqKrl zrz=Y!EZLYfXj(%{M^fBz{@itE&urmXNhUX^`z?m-|BZ?GyZUDz>SMH(VlM^=jK&_m zRBjLN6IvS+LT3m7z&PR}G=v&B8S#Lgz!)gCa!aaU6BogSk)PH=r({%`$T}@)EV_CW zoX*?QZK``#9e7x>K9YtFyTlV3Cxf;JIrVS6uYKbsjJ?` zVzRai(%4+@$_PZmdI50Sp)&#}7ZHQ6NID%#s0`C8uugTDOKDH`juB#9rad|TSf}t| zv;)_YV2V=w$m(xLoDyG4D;vzs@!JtSFO%~i215r^&dYzVB6^?DVc*CIr%Nqu#?47Ih|MqvP$OSLp5m*4Jqyb4hpmjl|0GDJ%u5N5MBSWcg~!0iCw&Ul zulaXv);d^pmdX#|9KWu+l-`Gq-cmv)F~oRkp{Ft)>riefDjJD3DK~B4SmQk7@0H<1 zmq8p927ny5cs`vFNk;j>h$HMUnZj<%?U4Pt>pr~wdjicrpRI^6e4mrE-8|Iq{utfH zh5dDg>9Y^^{o!vCr8_jse0zvA?m&$Yg_@<#ovMxSZwrD7?n!Enu(=w<_+kpw&5|FC z6oqf4guTTtl(nky#dP5Ckhlp*eTm)&fM2S)?1!9j$1*&_ELcGN>JCRw&p@03C2bR2 zM&VOS;txA z@mI%F48iLSw7oa*GN;Yg&2Lu<3)cdGMZW+emi`%^!NuV&9#GDrdpvS>Q%4COBSQ8s zC@SkkYG~|lBjc~&WU~m>0TC8#v+~3M^L?jCZ2*@3yyi<{KpQd?F=O!ljwNlU)4{WM zBu!lRvuJ_M#b7N|+osH-naNpRG>h$f53}F-d4+{I=<)Hi@b@0p&a2{ErTOTbRmP~z z%ovGlTfkV|ybyu{T+;6aC0<9>kVlmWGLCuXj$7N)PMNJ|ClcamP_k9DNa`@c!kH>& z=-2A-ke8Py>w*Tg zAYt~8MwEGh+Kl8=V3S|lCX)Hih@-VFl1J?AtBaJYSc>QyAf8x2p65$LMe)xY{gcLj zl|3?rni;5}M=IyQNwzlEDx6X0KS-<(vZ;=TSa?RjTTkmQ%PAiD))c2T5Re-6uPb)w zCvsR$C58aKV^_l2(m1vx!x$Way_AYm>|urNnIHy5P7s)Y-k?$&4@Zc_N&1<4n$+ne zx$3!6*{{tgr`QJ)tnk#~Stb=eYrlgR5mWjI=PZ^Pf3XesWla9|)m0rvu{`d_i&Y6$ zqys+VTpmMH#8rd8`gA{wJN2PVFnOczZu`z7zpd;vTA>r-tMYvg2f)f)|mavtJ!ML$-3xrrhBiLx~l}a%36i*1@nY|8Zg`>vBBSuU)p7dDmyxM!GvLh3 zokWrJ&KG;jq5&*bma(6z6MW9Bhm;Cbi!53S{+Rez=m3d9MNx}hryE8IdJ-|{JkT|W z`>68lhrv~!rB(5yxxjz_D%I~!YrD>8aB*1Rc}GP5C}akAGSegG<~L>`EM(x-Y_K{k zh}pk_ZLKwDu}u3SDaee3g`2|ZLzL@3;$(I2KT!gf*5gwFrbx||8i^lsu(&dlW1yze z#oJ15zY8fg4`IJwvLDktKKA2KL}=C{M|7@t_a-c!r;Sd)HR`#oQ(Y{4Nk~mmBuS4#vKlKhRPM89^?x zr76{l5J!2#P!3NBJqelzKNfY`RF`J5H@0=)e23H}Pm>P9NB!FQVU;)DPo0-I)c$q6 zKEop&D(C!1L78s4iIOq*FXiKPVW98hv+SuC72~dlxA5JY=&xyOLtm^bg`iudK&jG@ z(+wYkO6NZjoh(K{NTs@s#%kM>#WGzGm-3BPAA~ zCFoi#G9@U$)Bmxc@X>c5$Fa%kv8Y;&?{}{KHN6Sko-UvKWo>dW2pq=J(CPr0QI|m- zQ^}_*Rl8 z#UcaA1TiTx4k&Y|X}}A%SgJny42_H}NEBzD4OGjxp$0#x{(1dTu>EQ9u?aMqmI%=0 zdF(k^!D?3kvl4f|@NzJ#&oT+n72d5K=3*&|9E6?3J?|$brB9U00<$mqd8HH)jv-xd zAmy%es~UWBgJ@Bq+Y;OeEXph2)k~cAiN*b+r*rprjNo(EpLf|V&flJ|`9qV>63LMT z-==o%p9c|bi!(8s^_m%r>_Y0nqlI^zI+F2?qMlQ!yQ|K$tK^na;843md*FgQ3lrJAR z`n%XqHR~N!kF4rSdQmjuUoqx%t-+F9R%RSdF4wi*Z>gX zs}IpYwQ4!X7;Q;it-GM>beXWi@xMApJ>AmMPXTrCgAlJ-0P_e|LNF)o#S=R3w_$ z;bMO~V-S$=xFOcf%?xc^-qXvd?OII_ zjb4eH?6>)qf|tK#jZ9-UEKn+mI6b6&w4`skK*ERxQ%#wAmxluYRDfOC*ER}P^L?Ar z^{(VFtYSgF+y%w5nw|-Dbgl=Np>Y;1ut=4|QKlg1?8dK_vuJ`kf7<#j?&~cE(z;Vc z9jiQtg>S-GnCLzSzALzBXEL!Cx*!9UDVH36k0ATv&(l@m{y2m5EX2Y(DLK1uzd0Nf?Rxh*C~ciwJ_?|NOKV zkKuLgTM{phZ*j#Knp}ux3AX&hSxa_FU&#of3H^Fa;&!o8>wCRb(CxgqxUB2}ea=UD3Yp5^OPl93&kV$KkdA_`G8fX!n1* z^1ZqH(|rWoez>y_mB9DJn#%OV<^MPp2%Fw?WJ|^xv+10>5 z%&^JDv;L-j{T_$>KEva8;h)X*ba35$t}EbsY}>rK$d3uN1cARykqZayGbX zh}QO#oi2QSeoU;8sq_2?ZOsuES&fgp@o|W(pdjB}zr~7p>kjL1QHRFJ-z5i9U4p>c z^VWZ{p$ZL<@7vcp1^9W#>AQqRdyi$_w??9w3feF-#-LK-<~ zLa#P{t*CXAxSUDLBxN_^ckS@=>h7)=G=bas>90M^Yb~GWT?uU#mUX1%p6b??md}%u zlaWto{EoMnr>*-Ub)T~&0`PY(_bb?z-4}+yz}}xeHzL=;Wuuxa?bj$9&eNC%US6r_ zdQ;hay86cB4o{osMz7#pJB&?Xh zvIVzW6K$@dF>t>hI6ZL@>wjA>aIb%*mzncb^mgsF6Sw_1{na~azEe@o(2+5=Tl+Xk za#?#crQ5zUGCOXt-b9s_nHf4e>xhH4UR)hy*ZKFv^~GyTO>PEDxaRkf7~mWbaE7Px zI8?lC*DN8}`0W=r0Fs-R7&~~lpv$ILLakb#N7c+~7WsigbZl;MyRiRNt};$^OjgTE zoNF&chOLCM*?X&-n4`3BTUGD{vVNJ*Wim)7< zO)<)u@Y$psfpG($G|%kUmZQ(ZzU|}fvr3Oi16_Dz`oTGievfykQc5* z=k~+Y?cB<92k&o?w}yO~#~!Vq2l@w(4{lk<8PVsSV_SB4^Xv>tr4uALSZ*&sXA;C%=Ab4MHh zcQ@Wv5s%}ZsI!a9@WFS*axY!9BESLwxHS9;yw4n6T4*D|r&8L-#q06H=ih}V(xOtG z#R$PzhM%+0vkx(sIn+*B6xCXT*ScvYM8uI;gUG>%0Bp~ty%@Hle;IWBxs(ETw;*YO zNe#vk4>3QnH67IE(agOJPhrbp8q;mZ9O7DcyWrw*915us<)z;i3T0lWTY8U{#o)ry z+X!onoiU2tIWI*gz9qNVtFg5)=+N&i6s-^k_>~+PPg`$fU^6yhok)|jparzvd>lk( z!N#hLi)hFR=Qgm&s_Qe8sGj3MA7`dwQjkpJ1uL7BQGH9$^j3px(bf&C^fsidg zC}=H*4_EaB?==zRtRM!T+bDvI1r4y|#0 zvYr6Y6;@dp?fcQDe%gDt~Pm! z!@{(ABq*9Lt$)URu$2mEBp-GKF7JVfzu4*w#l(Uro+XSYlW??LCPk@LY{U9n&47PI@e11DQ{6_oi^b$uOw z$OncAvA~H03$Z+0TiYsZj7L`>@H&g!-wPgQ;O0hwfQ($b7OEwP>3Fi^K52zO7Hnec z!usY|3|1QAQC;fgdEjGP%i8_Ads=oWklmJu%jLspm_mA=1{?A>Ch~$xG_^OemG;AstRQ;V9`q?S6M#D8nP@od6H=h3BkEcSb5Fhei%iB3dO?ga-@W;UuFSa4GQ2A^Y|}4>#Sn-FHpjI9D+Equ7r>CPF z3JSK~_fvd4Q@;B$SI;LTCHQX)0(T_#o%biRG$r)y7X!PGCo79d#%ROiW}XdOyjTA? z%+}AW%{!om=sL%05vmgPVZ>9$;~FBtq`EWk%EwSzhCe}f>Cvvc#XIB|O*$~`DE}-o z(QLr$Dz#IZ;+!o3dWmyi07_Qn14P@ZF+Zq+4yE%&x|^_nL*oZcY%vbkQ;a&f~g`fq6V@evHX=z zZxrgS*RiKECOKrNi18-4W1~hMARSUhPxLv^Z1?b%)M2qjGVc_v|5`E@Tuh7I4wyRP zu4JJ5U;s}3pCVFE;de*j|Gd@wRp9Th&i7YO2#v%egS?2HQWFUo&3GOt%q@#8G)0YR zG=;)7qc?%x;Z+V>x`Y627VelgIOjcs?^KVZfP?yG(`W4Uo69T2R9jj-d>)61X|REe z8sx?XFOXa3^>xdC85Ieiw?@goU_HxicloQ`!4PTdUb`FVYu`V%A46RSbXm_E16RNi zCN!*dBHF;g!UN?I@iJi2>vmgbyKp_sDmS!sv?v5|4FnM(^6a<6jq>oQ2^S{gX3*ci zRIg8GV_KcqIwUorZugUF!G2ad;;UPFh{f%AOQKtqZ3A?A+7*~rz^RGX*H?E}?hO0S z1cDdj4B%T6ZkTCTCkV*o$t*Bx?Q~PFDdLa8sA$*KiG7~XX&T`?;ad1(CDjrvAJ|t9 zd{RJlz|=2vN1c&dk8OkCWSm^6SB`l>2OUDf-e|Ve-CJj3_4L-sA|LCm6TG4Tvk8+& zuh;-qvyxS-zxMv`x5^Gj55|nFtO)h>JRlj|=2nb+%*+$XsHmC6#=u$5e%2tVvx$VE zZw$^7@QJhkT`)JJw!Q8F0<%`OZ%CbcwfT+@BaSWCT@3wubC5=}sK{;n$BJAeV`xFD z7Xwq9%!9tPNBr6Kvqfc?WOrpE>1IguP8n=jcslx03LI0G@Eqt<5ZMow9+SJp$k!Sg zTwnQo-tsoy7q#uoG2b&C-^?gq01RwO+9;eMpIK$Yt^zX#Cs%BoeVEZ9nE9Xa2S?^+ zsGJjF?*iSzE48)ELhRYl&Dpo5Q5#qK${TSLy1vQXi(;^yT9Nc z9Pk2cY@af~KdEL9FEGsUcKQ<5IANa*?xOwM7A8&qj6598L z+(+FUBv~il4${87iX*0~a~Qa~LbA8(j&0St5Ho_%mPzkIo#l=zCd06|cX|aMtsG9* zz8fWQHb71*MW#qjSsrarl>dCtSttBCG5=(hfHyHhN;>J?A#}i`7;nlk&+f2s`ZRkE zsp?s24}YLkntr^n6ZZE|JSoK-7XP9;wZm)Zg)1&jWQWa2gjs>mynvl7q$Vj0e;^P((Vf*5-JKw z;pBN4QptIyv9Mve==8~${^RB&(fRuSqCl zO|71XmzVjPjyjP3el(wIvdAnc0F^&?s8g!jeX<{jT$8j=C>d&C{pe=4uDqzs9o&s( z7pf(i3vC^CpOCYtN`N7z74x&K4 z4gDhDulj+~H(pL&=`X!)je>nMg8_g>inw~fX4N#jSw7A6N%Lp!1(uyKzMluAe6|ma z4!nWqC2e#=$=Msl0UMmPg|WlnzEk}e_DMB`-+r^-BXV`u9>>y|+%Ii+je3^$QVs(P zheH0i@rJxUXJKCdqj54Q^_glI>J5Odq-``%30UQ$7fCQK!%TlVFWMWIC&g)$;- zk;SxzX0a6Ra4l8)yBi#ReSOFCaZEjJf&Vj5`mq<~o;RxN`iT^(ai&xyqW3+PZL-B< z8}Y3O`1=fc|Cy zaDvDF6=Rr;D0bF0!EW!C|DMpDh>nrNvt-{DO1 z*8q)(zOBuJqcj>%_7ZX%ds{)35XFY2S3>E;R~oXcos7h!BQCJk;y5(~>w}R|Yz(E7 z-SMR{0%<@F?E<)v4FIJsw}Kg!e1**KH(-RfpS1CAzq)N-Aq~(6-+gWE{MD@=bD|sP zI<3iF0;W$Ok>t|I#5XdAxu8JvdJM>N#R2!2qIA}|Jqq-v=+Lyea)LC^1r&|S?>&o_ z38l*I*ZxL~25frGGk3$>(*)08!PHc3JrmaS@3TwrN=*LN4B0;q|6a6XlA@9<;xzyo|Vt^ay8sO4}iOo}WhXvYS zzvUOcfFL&h&b@`8PJ5idzjWi~h3m*~|0CdP#x`qfDB~RZJ>%7!L?86Od{kw)SK!61 z2}O@4op({?KRlrMR94VpBiTy(Td7?AOvxOstwN~^UgSV+2IJ4Iu5Typ<;+Vc*voIQ&&HGL^hgq92-CdOC=8qqyA0JbDp5DVe zelT`jFRBiY8@SPNF+F>G#2xopUpQ0QzQoxyt@JnC&nFTBaLrqb;bH@ryI@7A_Brv;;6q; z$-+F2iUK+u_L+J2i79B@@h2(sg)_8ys_6NKSF&w%5RB_y``K16IuFUJ1=xht_|GT_ z(6?2y66<9X#vda8$b?Z=|1<9DAfa~n!bwy?*49kv!>+;fJUBsC4KNvOem4yM- znbLrUO2Rz}GTpg>RWtn3(;4P4eSBs>7W?#o#K*H6_o4X;c^dVmq(bc1f^>D8SZ!e zUp*ELlut*92tH^@;E~>wSPKDX6v1OLbR@Eb+jxDY4mtjTw$7@J7(d7Pto1$R-16cI zc;6^03h^C|+rH`ZzIvG$zWYBmN}^?^UP=M9Iu(3TPs6B&ZJ=k3tNyadCKy`z;wBK& zp;*ad-fD<&ay_3F9A+{-O|N0{Wr}%$nL#4kQqrYdH7giL83$o13dJ_e6s*K1!x@|R zi|t>0zDpIMoJ04cbvGEn%Sad#joj+2^YPSzKuK>Y$DDuUD%k;-g1k*d;4OkIk-@*O zm}!wkgb5|;Ts1GqTT`*?_Tx_5v>;CTpY%8)1Lw?C$ljQ58MNSIaX^$G&9Vvs^ITJ1 zM1m#?k)@)!Ae=!^(3?2lL3CXB))kBS*MhyyWOlwL2&Ajqga_}!I4HgUG`ZY{jZ4)% zlS~k@F}PHakSC2{1Ph#?ECrr&OF0TcPVDy^V>GSQuaQsfYg-tkj}rE4_wAu(Xh|YA z%xtlSV(6^=b~IFFu7cc43B6$*DNIbElLz1z;CmZzAr@%0hpCCIvj$(y1672zs@T76 z7j8Ebf5RB*vhZNLhrX+oLf6+~wclj-KaQyVwo#szFBDn(j4BQmx_qhHxhQr&OlB!z zf*sd6h^q}{&?=dpdc8Bfp+DtO#Ti0&tO`S74zryzgTVd~52Chlryy}OV#Q+gm)BDK z`noz0?DE6!oVEQjJQYDRBF+W^!dkG&mZxCbrx^e(jv@v*6)*>j` zh7H_!>4>dacv?=8Gp3vgVgzEdBA?y`h6x-GA=mrcFCWgr9j+{flDzlBK<;%WpE@5N z(tKGr;af_Mu`U#MGJ#O~LT(*$-vpYDfyG6~_71E-=(sMrGV<~Y|2??99euqv{GQb& zR_C6yViWCzgt*CT4dXsZP#O}Ci~iL?$Zlg+fC9v(8 z?D1ql%cmbSYoU3x~JFw)VnjT z(w+Ttc+=hgh{W01dEC>)_t4|%`u+G#|8efmwxT_&z8yIk&@(41DF zq|qykd(K#ZJF=&_Kps@iSi=l?mnw(!6Lf8j8&r2pbpLB?APuy>1O%%1jjm|*PIr6= zjuxHwJe01`&f09Q;GcyR!}Vk_&a0#p@hD}cen1-EV+Ti4v=fSP)L6qv?QR0@5ATHY zO7+Yjmwc0vH_QkfT@`T@HpoKxg&ka7xKkc$heh(=KLLd{cEZqy52W?7Iq@5y;HC|W zMX^(gienx|AV_)>i2)TtXWYwWpxEsRVBf=vwm!zrL{buwUa_D|uT35sOdOrL#un^h zX-a)2Ha-cPF@e3;)=f~|*P+MV?>>m>e%8jeFTThEUego__ZeXu%K7-j75;1ZcHKJF z{_prt7i-99`}+StS#!V(9SH+sH;n(-fa&(x$S)WPA}R^z%o{9(hf3N?+eIz#g^VbM zDthY#d4NF-@6%Ctlb%T{Hj6yp`RHWHA4dj5$LYS@^gn%?@_+o-{d)^;QRyS`8Pb>? z&jefYQ<4s3yp~h5x{_`g{yd%yfqVARi70`uTpwL#G9y1a4{s+e;lT`?9<9RVOhmHM zl&sz2P$U&6Nw(ppAj=T&CKslijPfxLrs;J)aP=C#%;iAfw9~_8tghz?yz2BekBfx9-@&j#*tYPT*inEufRG`Gz*Ms z(BK7~(%9h1=Zt%^_!1TFzc?O*Ql2r7=!(xo5`cRyNW13C=_RCnz$`*wutl2H`)!h& z9?ZsvT#k9W_>?|H4;RRVKYvd29$nzKA``!HITYh%wU1`iD<*m(?roKWfs2KVNpgEN zQ5Ev!+0|4%a|c@b(5j)gc-Ba$pzv3(L7a|yCMzdqbFOWcD|Zvv_hnRp=3nOaekVJ! zmZZlV@q~tkeZ|d2oU#nZ*?;zqjlEaDUB(PIj0q z{Pq;ezF||640w1-`zPLF1 z;Kvylh46(DQf58+2aL|qK)DsdkhBtyS<0ef+ELo4-z;Y$nKeRnWCfpuKKB%S!L~oS9Q?-r)6jQ64_0q9TQ6q^ zgM$Z$jny?aZ*}072hIk1p>C~PA;~W2n-mb9Hb8NKFjFG4 zUtJpD?2AZcK8*=Zm$s17W?7N8Cgik}3!pwL8XoU#lyArj8Kzx8T{OB#M&;F(c; zK!RDo6I3uMHG+cQ%__#$e|>x)oqF~yi!e??VUhh^Iq?*v8lCH6nF=zlE*LHLWXuga zPPV`oZY>w+wr))4$*3Ay7Y_~Fer;R!ed^zO;;-rIdhL=R=zMB|#`nm**U|fZCE&TO z>-}`$Y2x5;6VI+{Tz~m5%X@b>>^d0!-u&&M9k^Bir6dKADC2TvrZTE`gE5OwWJMl$ zBV@lipIsuh5XVav_wi9E6V+Og-j9QmK}EfG7Jc&wUPmo%pu{tG-U&rl%O_KeoOD zeqYb+J;&WQV5jw_vf4ji&%^%ldjUnQjf~v>GYWj;&<-^m6AXOe)Ux;bXMv1-EgHth zCs8;YZJ;SAivkIgVy~@zuHnY)c2*xLN+g&-^^@NzX0mKqv8i6+4;koA>L-Gd@Xt*< zJJ}c;sSOPxMv{(HjLI^jn@vNK>rl-gj7uKG8;?Q<6E z>{JM09a#*RbpzRP9h~#=wu`sjSzi_NzAQ`_}lGmeb;lvHq}XJRYCt=ZTRK13r#7it~9# z%B)YjxTAJ)lc=?P5}Np8REFp!G%H;4?R}?e;A{Fs zbBC>LFohWn(Wn8mY8PyN!~9GI!qReTHD}$^t1mLI*Kja)=zo1BVt_X{y!L#(cO1P2 zk0yj6rrQO;4pwgDReg{mSQ zW6T$P8?+W7vA1$jgu=d zr$nu>T8%PB;VlFf##1qCcV#2b?`sjz%&EtG=;qHIg;b zfEt9Vnv2d90KFpiVFpnLbERP^49cFiCO$E8SIeeNHcB$*uIX3=sb3mZ%pZ6v>9x66 zatVteQhx_SSe7p$=YE0J($pl5&FPahw}F__HX#3dAUL%)|J^#D#&+}*n*jIv9xUB4 zb7}fmF5uW%c89&3{nvJoAY+&rT`Wi2k^}kvY$<_Lj0+jD&#>aTR+ky90YQa7e-H(2NZfu-Q4go%B< zv;=}3xE5ZMCbY-|dZSXaYu(ZeVd|!HGc2LyJcdo9T#mH~1rV#73zjfW>g9)_8(sg@ zA^vj!L1|HMprQ(sdTN#{=+$dwxj|{ejMQU*{V|PuD-dxkWMFUG2;NT;oGwN+G%TU- za+or#_Z%qTIju0kK-=;5a9ZE}RLtQ!{^v6r^K{7ckFJ2@W#jVodb{=TXP(=e!K}pv z&G=C-jstF`z;Tya1(%Y)nN_nWh)Vov2-X-%SWCkXda$G^at`@NFQqQ?EcT9LU#r2O(c_IXmg<@3K@A+2YiBi0zc@a@>alJm6JpqUP>!E`62VHVX%CJW%F_xbO? zXA(W`dvxp*i^3NHtCcHH874c98!m&qFf8*OmX`75(58i|SM;P>v*kRx=w{xiBcjRm z*9(m2tA+`6uLFZ-H?kQT!^6tdCqLI6i>$dy#yIm75J`WN_Fn}}LeDH${F=cU!iViB z=u&&(c_6}ZlT5Og0(2CQs?72J?nDLl(lXGYvQ-L+)4x+yl$SrD9tN5f0FlGo8vJh% z?Vr2e&SG{6s;efyKC7BPM=u?2m1;M>*OF*W`+ruLb=?B=T})hD_C`i-ZUSF%asP2h zNoY+j<$29BhC<+kbP}cfP5NTjGUY{9`YnPpykh`ABvE2uXcXy$;%@Zf;Lz$+1`GzD&%YxR7h$>Pk$4;pgf%s{XiQ1{!1JQLa9b_Hk6bJo zTwdn*WHw>@-`)ueWkS>QmvsCSH;$dFx2u5jYCmkO?Rj;kq$qe}<9P1-Bp)$i3UzY9 zQt2Ly)F!^kj0O+*W0pHr_zY3oI_Q7=#BoUv=C!=ncz^PJ5B5(JFw}V5)rw07aWD;N zb@$DBR0~sU9Q-hr)Z1t9?RpK`izXB8OiVncZzSLJFE_aE3v!;H&A$#N_RT+Ywm+^3 zULNS0-}U_gnx}gM5gBXC`u>Yed3j4y-)k&7zqNhPV;Kf)Qc55BPKjUS>U*z3>)sfZuE;}^iKj&r6GR|wADzk%QV`5|9?>Ra? z-|$Z!+5MbNO%FdntaG|Ao7O+OdK-wec{`~%1m=<^#4tSL@aKPEd z#O0wpFfb5xm?xS)0HMq%PmxH+tKh?~3D?GE#FZkY+4UP8j0$pmXgr%+1u)r?V!1k^cAD97B-etJ1gp7n}`9WpBqrD=s%t92|7?vB62pSwri= zi6*JQW)DG4F+u)|iEXq8sxeB4(MPFzM2#Wkbk;TG5<^&It0juZuu@bCK4Tqj>#Qhh z=LTYKg@OPE&b1RG*Oa$jW?*U=><0yvF@tX@dzUl4e|8}L@-hH_eVf@tf zak&j_7kF~M{(O1r{=z)&K6`>?{I+l~Y&q}8aOkQs+&}{+d;5X67Zn2gpK29M%HS`v zb*nfob7u1cvbtqZKg&zT2&u41zmW#Hs51ia^XKRqnPo^~7-9 zkUPCtRLF7q629!T#`bcDH-MiZiT|)Eq_NhROcGu7IPVNJjpY0+o1|IvQzPV;l;~B^ zkDy9@4ha9++E$VrOF?AucVW6da6nU5M1A37Szr&RC068D&L-Kg2eXBz-hfHJMTZ0w zt=zOLbHi{TsQF?W71)MvvE=YTE$cCl|5AO#Zx|IxiPcjmm7z`Q1rW_LFmM9S8Ck+` zF3u7u->rG)B3YXNqM(NA!h}g!MPiU#&0col{j~PS$#ABcSA>r{M0V-YWiYBvcoF{( z!azO0V`16Evio4H49Qu*`2o){@w>5^vfHr@AU2C(6Cs{Eq~WL|sa6c=I7uGUnc4_e zQVQ89pq+SGG-$JcuU~`nBQ-$%iP4eCf4kY;yzkq;eeZ`(pMLZ={^BogyW?*;d+AP` zI5GUvmwwyP7v1oJD~CshkJj&fsNT#T8ECa;>+5*B9&_zvlrnX}%k^#`IaWeIBos{w zP%9P6Jx>%daBf;(@AbL=U3KCH_~IAuw2drosE3Az&FK&NbfFVa`xFqLHVXGwZCIkR zu!@xjZ#^!w2}_l3AdYdRY+2@9XnE=Y3ObG=^N2RgIB((gId}fC##_GU9e;A@z=7ZT z*e5>t`ycqgADqmPBu9=6pf8%(yLa!-M$tGtzi^%w*Qx29@ce6UqWNsI)3Ia-m4ijz z3wd_dSb`uLfr*QmL9mQn6(>*O3REI*RrP$5eRhfJLE>~3BKYE?;2GF}KGH=R4a(H< zIwOyXnWI9on+g;ZI2s`#L03RZg{GMNSSJBu#ZLW|mSN?miU7$@YISV2OoSX(l zM$S9oC<|3YubU7XCe_Mb={b5#s@5Io5~VLsJt| zho@$y4!cm*XD;^4Uh%SeLToIrEWr5qRK19GU}AC_mX{aV zG(je8(x43$EH2MeX|+8(PV!mGZ`7u;!hm5zbe+L6U<~XEaefoI*b0nm8Qd0;e&I%2 z8<>mc7@T!wt69{hCUceGL{cppTwrD!b!fdb$6M38t);k-py0Q)n3yYI0t83rCw6y$vZ+OF-D7AyfjwTnJ2`uTDl`g>g zWhH%&#Oo`1eZY!7bEAy3gJcuJWpe)B5u7-oiL*X(6*KIjKt=DX3l&Qsn1wVo=LL~8 z1L$k6^p#ge0XsMb2HX9zgJ8UAqJ)GfedRR^O<7SV$LU3*Tjbu%W?OZ}b>T!xkBcB7 z_W#LdfS+HM%+tm9c2aF%ed#XU-xD6OH>tN^5{G&%(FOs}MXyRSYXUYaFV|CaOLM{- z)}+5?)QMJ7@TSFREUH?Oq}df98n4v%M|b;{>e z`N!7400I3?YNm{hVthXE`|j%QSFFV&4Tvi;!DIkc$GvdOt!E>oE`eRL{;s?L?9zH6 zLXWe{sOt{N_Z^ZjpFEjb{Css!ay;rUn8$*9c`reeCd>Aj6lE zv(?yusIq+Z`6&ikt!rD&ZP$*C!8_mlrhoYG`o`KV3kwVHUR^!&!13eXFm(0R&)Ysc zJhE?Ua`bThTGx(_j$K*5#<8KH!EM|@34OrN0JDh>Db*|jK-X7oiT2o$st}URBs@ip zK9Z(1NgO5MNY=4c)|>sVJqFM9?Ceh1vEu+d^zfJHJ?qa2?e?f7ol|GQ{`auVw*!-< zGp9nIDz8M^Nos>)=U2LfUE);ubP-KhqA^mR#=8J%-1y>Uf&c#UU0;AVR&Rn>J-O_eV?fOYiycZMS^32GeU9uH?v(0rcN%3=NIEcx`Q& zGF=n0HgmZ(n8cjwh9Yp77~95jT)3!ehSC=15VI2GK2?dThc}5dQc|cFO6(YCI!9D} zz$UCT*{GaT%Yy5I1A$VXWP+9Ipli4`m=RzqqqeiEB_NB(AxyTwwUYun~H6c>L>C-3S z(NmAYzWw_QXxHb}4Gj(L*u87d5ANFGf8fxeADi3wp7mQFJN?8TyzhPQ{-b;Ey*Jy# z=g5%(^xt{78bDpMwzLGzR*P-9r3pwUH>OL-g1gy)<<&*X{9(z^Q|VkYDb6N)lQ^p4 zWX$qnu_Uk7!Vws{{_JcDq(hV;bHWXDOpNA5TFU8+tQn9aazp7a;sN*M`NF5w=B3Yn z{tIy5{ig`D4GavD{c>40VQjn&8yg$-4+3Ye(h<~D*6C~}QmL`IjIyS(P~q#90ul)5 zh~!vh8;Q8A5nLu!g)K z`p{aomoF-st!!y@^pZ)(Bdb(OQI9rwGcH097;LuyVr9=8DdObU-<$7NY)&Lf7FdZ0 zVk55K30ke==c?+*BA_JsLD?iBki?8_WxVYwX8x06zivc`R;9=5BBja|+QiG0DxYLB z0kmI2=s6;B84^IR3M~rGwb`{2B@t>M+w9om@tUEzso=(0PF`|FMdvH9*C~bLjTDza zN*`RoVVY96*DWev?YrylyXvuj5A2xP0S68qfW3S6!o@|!m=G355E0-k3g%QztGBiV`GgZ6KP{< zn>gspgnQ_}u2Tzd+v5Riw1-r3F1Yv|B%1@~YxjTFw9=)`;1FCNCB>XcpYjE>smkW2 zujiT#_~Mto0Q(Q@|Nq&0(;z#qGd=7*-@Ui*?R^CrJG!y2BtVd$D3TIINi))nEyu2m zX6$in$F6df%awAa;!0Jjl1e4x{7EH_;~#d}F2|X%tjKY+jJ1)HxQY~af&@Si0I{R7 zqZ_?%_kQQ(d)ITmrhd2*C!Ue+)%1X9bl>G$&UxPFectDht{RvHsz|b2z0p`#Z`8lu z-#_p>JIDU}xrK#=mlqc1zJKy_Qt_n2V<#UT(2C-ji8T*-=3r8G; zOIJDvE@>&MLxX7s1xV|_p!x?ZIA<*<#7!6rfhy1j%u&Js-~HaV;l&qz22VcqEPUaa zFBRap*m(R3EG??1ts^ZoF8rh|OgwC3dR=Op7AM;&dO2|06(uHQaVDEQfykCG5Bfmd zBrW+5WfhQ1aEZtkjH$}X)?nyX0baWM-mKb6Lqm?)Jo;H3cFQzJL?V4PjnAbXvW|w= z^xPu5hwmK=irg`n%;eg^_G?Z7A2l0VQ~No*9#&Qu7_H{Zb_{h0RQ26F?B`;rPco25 zz^;;&yuq1akF2+8B9Z|_-R#N2t->D5tya_pvx^5iVzg-RO_)&^jA8eA1jsB$5n!0{ zaGe(*tFMP(7mE(=WaOq9!H>I|bEpWVH--oO%SUQ3q4Ryb)bFaC2ai((u zFId!Ik$~(Y9%C(FwBSK~F}vCL#3eyazKcVnDp}z;^OgY5idgjpk#q5UgF_oSwKP=u zjHW+ItT$hic@i7Vt}>YbcpoyeVN}gDIr)f=7ypj;E689Z$vmhC%cVeRQPHT{Y3iKF z^^vLUMb?3e3}fQ8iN^!a%f!taaO2iZx>klpMquCGy)Zt$9eTRE*RaQ7O;rzTLV-d_ zhEQU6bqKZ8O$z3TuGe*{!B;jriSI0qE}PhOL{&;QIB81fcOg!^B5) zN=jLE8|GCBlb3r2$^=D70DWeC#jb*JrNo=r)zpK~leH|V3uMG_jeQopRZTV*&J$B~Ky?g)X-J3VQ z`^nW4=l%mYw6q`XM;k!@Dn52>8Q$hxWoT}W_0O5Ku-Pg~fswFGz~4jgRH=4AS67ex zd}ggg50Sl84JpYV&{&`qDBu@Jr;HmQgLDNa$UxzSR$>rE3v7WKiH^@+2kpM9b!(w2 z2q5+|7iJ6J8|kg_?=_2)#?AKjog47&Z~sg9$xpryhYlWv&p!DD7#eF1CwT#r_z(O7?QscTQ5=E9L?^5eGFJjtufzD;AkwM|y*E5Z9UWctKB!Y7c6eB<(edSsAHGL~fhUOr#fjI*S`UF5cAKzJot(T6 zzj)&wy!-AuFg!dA+qP|oy}Nfqqq7maPKoRywS-F@WMJ(Y<)REEz1GwFB9&`E!Vs5- zsKw%^QKfERn!vqn>kc?`<^#BU?*@GXC32{dcV->wY;f4@>@orNkeII|;6K(3YYK@F zOy0sWk7P(NJqWgbs~n`P!j5h{&N`V{QYdJL1A8i2r=||S+ zc@)in7Z&F%agLcE^|bY>YUWhHD%xbN(&9WfHwBwEjK#*U3{%329N!f84x0ar2|+D+!(Y(z{buA$U1u~EtDZ=a9I&B z)YKi&LlRh$8K`4$B?E@R8M{gBV6LGixfL<``(E1rEFWMWV3HY_yN3XBi}5b+{H)W? zphk&sqGbouSq5a(iXpiTuPb__UG zk!||aPs5cqadVcCVuf5tz(wz2YX>W63+B$j_@G6Y+ukfE@FndM4p6DcpAirS z8^VmRiMtZ~vnWlGJ_29>p*}Z$HiXtIt1Fh+=tUPE$i_|_ZgharC1EScFk=SM?k{hy z(7lpXSjUggx7u2zVNH5JaviCpAhUA=c7O6fqo+Y#@73Bcy20yn*nKDeuGg4B9g#%o zF^XF4+?+bJD?`O7ghZ|rs1R;JaX;p4+lC+*S$TGz;O-B-&nkOqQ!1wpg<^r?I_N~8 z-|$jc=B^43LJIIg7XQ|*+w}GR`|rW%hK;aeY&&e)v>AGPdrS^yKG|hrdd;9DlM(_IB>1DA!H* zkr_e>i`x51$o93*m9EiI2p>PY4qz%hejdq`V zB^jjqVBMuyk_&A zXg}JIHh}(jesokie{+6*mOP&sP}Zz%7za=ytH2t=Dh+f^-M$k~XEjryKX^j{{ z@p@)<3dFfU7(4IHmW=}w^#9f)7u=LrnCOPkk8<>^}rOJ-zfiIWb^P zwAVcF((=vHba};9A{!WjB>I8HBr_YDnO`x!rdM`VK!mzmI7pNJoH6?qlRYSW@it6J zx@i~f?xJ0pvj}#!tP?L^ky?Ow0;9DZ0xSY>(xS)TS@o>%Zsk6)K@2v5LQh|UeEggKa#1(f6)dTjKwhoqJ6(zd#IG)KS-QrJ}Fxxqpm%w|j2 zR06aJSY?nBK@!>EqX2&AL0}ksN~Qzwvj~ zX(Q@ka|2K+WdU*Y;DJeY#=y^3QTY(~7`7sykqb?B18KK2-_e33l?^c+uiowf(rhKAvb8Hk3^qD&P$B4~ zFa_x9>ZA9D4j-rk&vJE4$pqwzyh_+~1ZmznMVW=zpc@FvUvAvE4igjC>2r*Zj>4YZ zdtl4vEd`M6iuzq&cF*vkOp0p%%p5yZ6P;Xt_S?ago-3roBaTxExhtaQ%N4+W0J^(- zVBPRWxO49Y-FqnGpkYjV-At@6Ar{VR&YUveP-cvyGijm-cOec$CIQ`PvY|20B^EoF z&OU1IU7YVQ>pzrnbcoz8hZFC=1)qER8FS{*&lFTT15irNjEFxeNvxO&uD7RWyt}h& zd}w&&uWj45XX&@U@|WLuFn#YEr_Y@H@sED=Z|;JvM(s!Y(SEc6^e-WxYqjdJ`}c3i zqL-69g-!bBY8O|rg$Xy6Mxz_<-JgJ=!S%E_udXadopPc9Rz^w}d1bW-m}e60Es@M* z(Nw(l@^Ubcm8))b?UW9^H`cgDzQ&0(f`K?Mx*>x5z)lMcA}i3@=!K=lRoGN)g1g5b zgO!zeSX`N=&o#I3z*vjP$$Rj}fBa2&>7{}rW5`YNi6#if=^@? zW4o5YKKSS!;3SX&H^G(V723lpRgNQXHoa*Z{Tj`ng>sZB8``Xuc?O8C7z)yP({Yl~ z;n~)%8GVB>eB)D&0h)whKvhF*0;F?b(UC%mA<^V&5k=U-Kv!no)e_GvgKBw9DXgTd zq$c1+fDsaLWt1N9dqejN42Wsvxpg6;vk6~M#6YXQMLwJ|{<#FIfB>l=3_olCSB)L5 z6z5wgUz0A?t1QpKB9saxd0u3$@$)o8lK@Qa^O9VKWd+VO$1&PEdI8fAT+Z5WX3+7y zx45v$#jQj9t%CzA78$6@F*iq-sC6Yj=6p#8U#sSk-IO6T)2B-phXAo?byX7J)sND} zKqW5ls(cSSh+!fUdgJ8%nu`j6y*AspV{&2~T4Pxa`>1CU4X&SuEbB-Q-6UNwJ^@NH zxIoB6ukSciCeN)SV0!s@@zUqRP8RxX<1xTBsY>UXyIgp@Zr#2Ow~H^d%o`dWhVkv= z1(@Cpef@nU?_-{sbBSCbCi`izSe7+`4X)~}g<(}FFNJvAI=eeyZf2>ZSsq=#5v~+K z`p&%x`c)jnL=SIB&KLx>mh=#BWQd&`m&}u_O%nuHvgQkkuBGe+9c-XmlfQMS)FnRd zkzM!pdTFvO4idr=Uk6vNeNr6vJFscvhScLPvMMT5ao$*L8Xit;0MqhXho|u+>-Ab^ ztv3AZz~IocTQ~1m{=($B%ZI8{H_YGDn zwVm?|GqnCRI=fg6rzu!TumdkUo`#y1mgZ$Qttx^U8Aar<3tk*)~IN_3{Hy4!2&`^lXSS&OGNleH^R;Z=(18JQ$fIN`n0!JUK=M{h zjFbA3L7@6EB*Rz<7z1J4#R^5FFD;X6(EplE0WDPl(@q90o3RD2h)xnOK?e-Y3p{y! z7bRHK1 znTyYbPDA8O7;-tcF43%qC|8j#1ldXE{QG!JNS7->AG>xpZ{C1A1(>ea>%>fN-?kk# zZrn%%h#{3LB(oW%jFQy7L*xs3?zPDD>U@%RSBmHBXcX(j^b({&N8{V~z(;3JSmC(3 zx)M=%P^&q9-e|1p)~xvn3F1Pjo^~$SKw`9UPHlKXVuuGNF>#5EBVLoPG=~9eh+`dW zL~;UUgYydy;Nr#ebbNKH-GF9$WCWg%nSIIqEnA!0oohg)!Gw1J>5@? z43GTR2lgNMU}53Uzc_Jq;s?+D?EiRoVq#*c4U5{3_T$$aK#yg%Ko7m@tV>^`IFTz{w?An>S0;X?k|@ zP+t!pb*A3QFj*!J2%;MfvFC3=EjC@Qo4L7W@gm6$X4KmRHR<%ZLfBYUf zUjVy;aIp}mjb0Iruh53#;o71g5IiRJM!h)Rto2R(pDUHj7;X#(LA|3zp*wau0pUi| zPzy+oyLvn;$j{Pty=`VuAFWadV~vAPG@Z#ryo;L}%YJ0D%e5_Ak-@bV`+my+o_b@0 zxVEUXiE7nNS1B96TAyiw=Mx~ECH8-LBEzr*MEU=5@XyJtWN}Ptk#)y`)0VK7&AdtH zf`Evyn5!$R)(HaMw4Hwqkr4g&|D=+BkCW9@QNib1@;@fz-Ibg`=g`o6b>A(v}6mkx>A{^@aM zkeM4uvU4YaM=X=5ibG8dt?_x20J}PAKvKYE(m}FhL%jd1v1LzgBozNG9T`2Ia$S?R zxfJ~PxjH%;(lJ`K;vO`5+R1REisbRQpzMnKYAk!IVxhs;@zT-~T)lP;u3WuJ*Z1(q zIykuhAc5-6&PKxK#!gKHs3BpTLpkh3ixzX2i8|}fuA1E+ItaXRbSw1t4MA_uAk57_ z5Q$JunK0m-C2yvKB&^`bA`N2F3oZaM2T9hpODr|C67Y7+K!(os8Z_}lO3k}C3ZB|8 zmYhGt9fo7utI{C@`0(Vr@Z^)9Gp7%yHjp7EikgL>)g-P|P$_9)1|E9slj%@ZwG`*L z+Fh+a+STZMbZBVZf4OJh{yPf`voGAcbNdgk-njP84}bX0wr;xpXg_`}B^+5ehLhaO zD+{!^jEt;@d$(s3|Jzi1$_qMqBo_-bPO+12*0BwjWMY{%)#(tThD9W;Qu9GY7Eh+; zRY&KQwN+3FP#SQf?YV_ER7^aJn_wF1kx38+ zg6Ywbao9Av8|D|M;M&cP;Kr@zrUI=f9E}%bR*~M-z%r)>)bcH{-yRloc}uTjUFzsRAqFKEceo==9}d zdt<4kkZG>+`9h|WWFAHFwA!R&RU#TGs<=YKd)`M)c#vd6b9C_0)=Sy=3`0;Txev@1 z%qL>oAl7Xm8jnfc#NC~2&7h^}NnQM0Xg$}WqJsyx@JqdzI~tt?)Uc2+&ukpf3@%!k ziTtG^{>v#lS<$%&EaD1Kw7Qx{&?Lo>GdV|s^90cA5TV!jb+4LhOC#Z8jFKx^?@q&- zGOVbd8G$s(b$|m~DhMz|-oy?>5%jrA;!Z-+GwEs+=YfWp<=8MTd8C!-mlU*!D&#MhZ#+4A7OLz@Z#+6a!uuf_8S-V191JQXcWU8#Zi)(OX*! z06j&|v9z>kns7)ws6(2!jRix9p3Dw{4JY~%6P@G`Iv=AvRSymNvoRu`Sokz7#-(28 zYi#pU?`-*dwKzYpyhu-Q_39_EurLojy*;I3-GIMOeDhqIVq5M?XyLE^CJ{`#q`-;i zA;y7sq$*o_zfHlW#39%>U@>_3JO*x^?=@7zpq25E8-lvls>M62y92h{N&9IFs;1s$ zYV2i52SLQ};3ilt5&uy3x)X_0%2f=U^bY_;+j%AtTcasI$_U#(P(0i)wraT5RC5@s$+ zY|?1+pxVt4T^9Hn6sL;hx{gd&u&q}xIDAvRhb_M7LlDq% zadQH$Ph5rW?p_#OKMLEnZG#P?8xV|fIwvIF(5^ga2$05Rhfg_obakN)dN~5d;`^I6 zY=<+A69&wemsg6P3-Mko4F~#?bi{yiSR=PkKpb2$MwmpF1C&E!lKDI9ia;`u2=FP- zX@EGinns+ne|MGEsp;8CIDh^Vc;u0zrDWE0wlRbdr7)U`8xO9@zSG|gu3X`oPTM7w zx8xY`zJY$zjggLy#%~Yw5B&D<;K=OCzJqT({@8E*_|A=+ul(=d{0FCj;-}h=_M;7; ze-$6aT3IW{?OWmI&3oe5;AEgJHgtDM4}TGkAN?}ix_22)ef&CH zx&Be~mR((j^XE>(x#Fw8e+UjAItriv{BOXHo#SMmx4g0f3kwUhp)r`vI9vo7G9T?o zwUrw`u(Kc=Z^0Jq-r>mVY&DsZcNROXn`7=(UgHTsDeK9#i6*xRGw1WjxB`^Y#n=ij z$*a?3ML{mwWl+6pW^4`v81g>Ovea5Yu7jKaR8wr+IyxAb;kgWJ_D7X6Ac)K)7(>Hf zNSY$9F9`NlNP3}@{S1878HNX3Bg3f-JiBxxnsaL_Gmv#jV2H|A=o)vCE!J@@8g3I- zx>AV+5J?Gq3{@enJSG*%d(4F~bxHA1|4?JT*$*VEKdVYY>_V`9u}bNLw0aNWwOJFmPL; zw7|8R*vzC{bhs+PW?OkcGFY&Y4oy->5EWm{Vppw7a@Yvq&H@yZ5-~y?=?C*w2foKpGCEG4v|Ok?xe$qSd-grF zd(uUNHHzN!XdwwUVIWY0-kt&0K?+E==xDVB%akGVGB6ixaLVg&RT?rN?QtD2Q(HP^ zXF@_bgk&(pi;kLxyK)~jv(o0I*9)F}c9B%eS3JzlO~dre0<0Syg8$|Z{x1CIf9LPQ z_1mXO-Vt0g@vKd!&Yif0RAI;VgRpnk!!Y&Wb^)Z{fYTrUqS&lvZNZKgzLkzEz0a4LTD=VC- z0%U7EyfU~v09g^q3`!y@b`3F^tlraJGifwQND}k1qh{>Dk(cMh0Nzd~N5R)|XT*w3v#~V4<*kK`-U(z_I zrtZV5S1!UI{?R{yZCl6Svrjw?2M<0>>@<|&GbD|-2uP`@DUNx)0xL^R8|K6Jx_RRm z+_-TK7MAAem?2q!1J3GqZbP1sB6PFMFztNm8Wa*fJU&lI3Zv+L5g^8c8|$HN9ZB&C z$*``J0Ci9KE`@Jpan<-0Tm}pTGF}^Ur_dHnerq z?ME9x|LJ|KAKv+y;;wJZ&CQe+jX24^Ho}%$k~Pr?BbzZhHwAs@r)+CFw>X1&M>pAS zPTJrEs=%Aist))0pqm>IQ^H{zW&5;rxY~5pc}y|G=g&jaHUMu^^q!b8W&NCIt?S(U z4E&RS{LkSlU-?bge{d&C8)3fq9uGj(1cWt-eP%GOAuyS+HoWO?9Nh++HjTkkkAJlQ z(r>~0CtrbklQ(RU#lV@9C*OrLXHLNOZ9C!UBag%0y$7Mu=u9lh@O@@BDCd(P5#vWo z4g>LAF`&qyg^m!Yy{&Xe^f4cc;G%BWMS9x+X6~bRbgDztmUWQ0>X^9ZjbZX?v*v^O zS93JA4E1^b`HCb4rp~s!dB&*jno1pXXfZIO#c76_$yk`x^(6}|PN@r4z^Qh$99bQY zW3bK&gSbqGRUMeOva##tS03BH%4V|VV9P>A^aQcnf)hX(^)TA0!E-@A;0cf}AR4sH zF(HBy^9eTXYHr<`AU2TtSwrF&?33azv-^*=-_?$)0ZnCu@!ynv#cO2MM~RdTxrSiZ zL6nU|CNifqKnWWvfOMnLAh6hKa*-2^br#u90*s?YhiC71DHiP9i8k9DDy+W`CiBXq zyAi!YvN&*9lJG_f(x);V4MlM-y1LMxczvycMzE8_qb1#l5WDng;e|ynx<|x8Sd|Mg zi|r-Zw7-9Vx?yL}eFX2m_XhO$4Zxv8M+z|gc{q6BFboV1#xM{_!CUl+@9wU{^5Tks zNLIjaDb}R3eJA1eovXAS<2ux6ba63m9Yu(r8C>G!?90bDKuLC^z|z^89MsOwboUH=ZlzeboB2waNmI)xh^6gxfARguh82HaymSsOT|N&zJ$-QCz{Bw5lh4B7;E>1; zqJEe3r3iG;wrhnMFm;f~L`o5vVwOgb#n&ot<~VeSfEF1q21KzyA~{DU`cWS>)+%-I z76uWlC8~f?gIHXN>5(Y$HC+ND1Z4*%|K2RKVMmSURyK8MdCBzGI{X(_L(=Zmcwe+4 zt8sKQN;J%IB8hu$Gk4h2%=q3Z-`|BL4!FLAtfo2;i+R|^a|iRq5m0ceV(N5YA6pCEvYx*0Uc zSivE{JYn2DETjIu0P0@m5p=E~vj8GF_AXe8A!x_K06A-by$tH6vI4cVLtXKb*x%vj z>Zr4PB*(xOFEbWCPjE{NF;PHnc8w`w(_^ngbC~w&8O+jknnh5Q$#9`+o%KDtIIN*= zYGRisE;b-3pJ~Ei=ImNpL62!11TF5@Pk zyE9S$Rs6_?(XHguj}nw-bA=KY`}*>vP>DxAD>3*`_NtfEP?dG0va$f>nU_e6XK{Wd zDQBFE!{`R6*Er*tPFah@#BL6ccWb#-tkui#(MKoY;K4(7ZDUz3*#`1ef)&P=yJ??@dqNEkI0z zQV2V09R#Kg^nj8(8EGn=we5mc?Fs}4Eagc$ULx~=B(B@6juQK_sJV?Y09@2ss#A24 z-Qt0u+ENMJX z;|59$rjH82Qn3^=NxkEtJxU-%P$>+ZZuVYm#30SqIGgs<>a5^C?=hWSY*G6^{iBc*e4N!CJStAW1g9t%AopZYebZrB1w(0F3B-_fR z#YF6WqFe zh0X_pcI;zIvabd1786*~#nkecM<~mxR%HUm^S;NOS^~g@b zQPR$hf@B*ORFBbJ2@F(J(s;Z;2zC<{h6f?PmQ)Ka`oI zM5Rk>L@-7=Kw|%?_If@^s>CNL3a`#uZ^vUjJ$;X@U$^1EI(+olxuvD~AI&e${^S?G zIPuQOlRsH#!>{(^Py3_ttM-AmY}wMeZg~6OyLbOa&&8a z9<`|U5uD7;PQu8@W@2I&7v^APbqQ|Vya2tugSMe8EKCzn!9`nHw$agbuw~;oEaT$t z!M;B?KMOZ+UxPin4;tt|=5%W60qj3G9vQ*J`1I2bAHkd_KKb|>4J9@@x@58+U~=XT zu|*p+0<6g|Th>Vb89k(B0V&vvUt%X=TAS4?I@)?%jfqPM@HF09?TP z`Ujw16es#QTX}94Uzsq=D*K3R5g4-?gkjdj-xKSX%X_X#+MX}z7pbi)sa$Eyc1YMd z8*+0T7DHBjG^m-;0GSh)5OhCjiH|Tc{a(XDLK3~4qyj<`8lj%x-lEz=GD;W zrd{esk-Bj}uz;D=W>~G%)agVuv?09~^q4^G*OTtPUZ*d-6!FZE|%G5b5Zwk2Iv zHS2h<;u;i-$(nU2R0iY((BT($9jNe=4iJLzW~(WMbB9PkxBx>5#qWAs9Ndl_I#;cA)Hif> zc0b+I-T(VLc5M5dfK6f;6T_`uNn=ae`5FjOg*Yq~ zhXG?c7`1y%0>IlWZE9rOA>c^{x4in!61%PGW6nM!I|^{THG(VzCDXHaiqH7~dR7Nv zcxWp&qHUqH)+D9-dWxy8RI-HicB092WE0olHw?#*eF=^nej2XdxB%~;dH6ZMy;zX4UFtBYQVyEXo z(1K0{TvW&aXvS@81ll-ghR3@DJ%=^6xu)F#&$5u!Uw@vv zRV6efCuv6P%mhm_R#yS_>DGcZm%tP!0VEFAu(F!yDeFPW2fWmIi073YRf2<5p{psC zUJ?X#@=}9RK(5u*<}$dPuQLRT_09%89|9xPVr!zM15NN$kmOCj?j+rkeczq6(Ak=f znS3g$Xg-30Guok5(;|+^U1*9Bh-vG7*-CRY=OgouwA7O_P&%;l-DpE53eA zq{o2+55W`1pM|0REzm%KEKKX}@dI%7{7I7%;AiXY>o04nLyXxDVh0#ZPL|lgCDn;r z5X#r>0eIT18lC{GHc*Om)lvkl&?38~Pj zb$9pf>+b5^H#9u*U;N&G{I};8mzREi=gy7qe)RFl@4ffl%lF%`to>*M=>I^EzW%|3 z#UfH!T$+u}8ITzFYYW^Zx-Px(WtBq^Hu>Oov49WCa9|dhqohUWr4?xG5<&xM6MB(R z#MtJ@R7E5E#Q5GA4`;wTx;l6Rcpl;q8vV^PNb)TP%49nSP&UkWF_?rlO=5AIFuQOE z<`(ZmU(Y&NUjXS^$NH3aFi%+oJ-7)XaEo?(+_KH&`H->RzI88bSU(1L?_Y;A=ie%T z^vAHUIBmxlnWhsb-h|Vq--qqncfqk^Pr%Ndd#LrwGK`$exX9<2BEvzP1o-&jXCp?> zfRD6`y)(8EwVG&~*J#uYgc3`w9=(nS85fsVNKad`Zi3_(fu>F>Xj{XkYGknLTID%3 zQe2btyg69KVLva!eahJ6!U8M6#`tIT-i_fcIa${!m`5k2u^vA)ZsPGJ89V0bNd6*9ae2}4cRg>{L*ze;~kP@OSX6O1hTz3N+ju)$VAh{l1HCyh%OLWRt`oXTe~K@ zKaqQEd1-+bBDFPBM*;%5l@tianFcT5 zbY*#g*rm=!uY_lK18NF>Gi47wSR}5lPu^S`q_s_Y*Ni}BE6;7=)?r4*C&9ps4ij>M zU9k2j0Rl*D)kqiZXcKOU-!jj)1P++UvdF%NbaD5j`!w670^Cf`-h}Cyo6y&{4z_OG z3+vZy6sE1%lu(~nsS(3O8skL&r?eh1=9P-Dq8Y3k+613D_FM4q!DndL@YdanaO37h z0~^RRUAS#pES% z?lqL!{R*y~*)bN!H#E&Y6#YM{ES4oGhz@pf-kTZz$1WC)bm+VuQP3ckW(;8xuES%ht`1jt6FTZQ1|`LHE8! z66Zt!qSoJBK4K?RUymL1;sA1%_~Ms_;EhB`#}Z{2I(WNoG8xHmriG6Zk(Q7NAOsP; zEA4cVMqdgE3~%YE_gAa6FZcBJeR;#^COG5yt25Pv1(c>eRkY64=NXHHbnivjst^)v62vRWM|L+R+F$^TacmtlQ; zLrlzaWaiA_$bEwY8wkjVjDT3N)YdH|e*GK^#UT+@jdjj#c*%(#*%$&%@FO>e8g$mX z4HPjet^UET;t$-b{)Oa%6ar zSS9>gm|uW}rDX#1c-+WwK@-?WE7~+>h$R<%tSF2H*e!!tFl41$!K|gYK#|QrBFAN} zECQosaE21+L}-h6j;;`4;|Y|3kBlVx)Ix4@6V*%ul!uE{)}icd>V{!)!T`~+LiW#< z)h4s$m5d}1^?D~PEiOYGD&)b#OqegV$@Hp_7k(?^y` z+49heY@hm}gVSL$`B}MMtmA`WGZ?3hU>-qPE>ec#J*=!o7o83a)+v4#K~fMo4}n_( ziQJutjH96R0G(c=adMS z`I4)LY94_tx8ME(1MsyrZQKO+CnrfVCl{JsyY|4TlP4%NWXqPVFgG^~=g*%lKGTvM$KrJNdWC(`A>TO&dpmdRomg32dgbcXOW*kDqc>h|hqtsJZ2PwmgS*?SbGlE%#P&sS_y$-R$EST385O}qL9!a|OsfefCYbbmb&$*|ZCGjvs{n-u{G1iGTt(Tx#PgBO(PvR;d~TOGAeR zpx>~5D;(Z`9A0?!-@x7bH;d2FG+qOz^3hZJ^y&9tY-~4$vmAf?voJF=PcMp~kXZZz z(D9HX4-V2`k{9L$qUMnzv$INhK&E&<*qOl1x+=qYs7qx{F4(kt)U-kpnh<@9eeTV| zNf}xPD)$iQiY$w9&AOQyz>Yq>A!qG(5cvknH3T5~;JQMv(>#hKF>Y-WV8txk?7 z4*i$|4d1a2Kk9gCShC(hz_lXIC0+nEMS*)TcMVN3jP{BVR1w$*m$255ynng3eDti1 z8#mt@#7>z8Gnkif?2&tO8dzy@lzo*L_bUB!vk3;!orJKc)>XG@ZZC7hJ$4o>t&utc zZ0V<3YE4okUvyWoPLhEr6#$46iCP>gD2Y+=-iFWcaB~zTnTi%ap-tkvgGy-qF>I85w!?Z@ha!f7wDXj$9k@ep$?Ba z8!lB4*68Yn-rjCv$cKgo;0w<_1GjG8f{7b9V0?TVeU7)@dWZgPabW=t9exNtIe(sx z=Z+ma;qABIq;s%g!)6+64r0lv2#T+3&-YSb23nb7WTv^JqPBst6GZbJGgAb(Q4T`) zeQ-(sUIc^AW>ylZL#by1Ced+a?L*X7C(zV>(glcwZ?xsma2oAIl`Ge{M%0S}ANL>p z`ID#KhG)Ogc+-1XE?B$4cpXt`sd3#NaMR*P{Cp!}Li z4<-v{AsUq}iQ5c7*}L4ulu4h!d>)i_S_Hc8uHLQ1*Iyp&Tlf2W_Z+^pytw$<^xW+C zZ{0fe;!l72)7#Lt$ZJ2^0Q&#kV{~ZezT$RlEH2E8pKFNeT+sp4bZC%T!qG5}ho$9( z0<6uEMiH6HYBft5w1LAOh?VwcA;i42FcUUl6ajGXG01>f;%Z#DbzsX}0+Oj|A6s=^ zhqipQ4YG;nwJo|lw?(_R0KUb-L*XiO^AD)Sifo=D9q7Cq zreedj_*|DRoiD!5!H=K&V|en3XJFs{hhPvx7krFFZ{iSB2M;j?YV+pA)O(4}c1b}3 zK5medXou&JK7URjCti}{bSREA!m4K$ds!#`ueK)yFYR-cK!5>Gm&kf}0I*7*4Z)IK zi7skTZL@Pp@|j<|?MF>Jw_EdMQw#XX(w z*_jEDL15t=OCy@TX~UaY#+GefB?eBU0v2Q=_iMrsT98V{Fqs%+iQl$xnN0QTEXhIE z+cc++ZR}`xFIjiU;i3RU&7#OeMqS#~rSJ}8Jsl1(7wgVSAg7C-o*p_M=ylu@&-E1N5)h+QCVB0yGmIykxh^X3SHmB!^5zC{d$&&$z}T+Uw#(8 z^WE>m%=8pIn7R+wC$7W84;_Z5KlfRvS3BU$*>hCro;dL#1+zT=+;fzUik+iR&Y$Ht z@d^(s_H_5aVzx-fDBcg5tSdPc4L%_X@LJa3p{}kT`W`aUcrLoT`(UwHyHQqzZ?v-j z(v8k8l5jalg(;=ct*m+?@N?CJGi(j;3L3WI2uWfnPq z=gtH?crab8nWGYWufG$AAAi|956N&k|BOqlQbXBDLyvjMjmE|91EigtM5+RDO^C!y zh!Pk`*02ykzrF?*vKn^e5{pN>X43&oNZxyKkQ(*QO^uGuulElOetq-C&C7dtedf*i zh3S8J>B_mEzWVA<+TktjM;k!@Kl(8BuE)@beraXVw7D)d=oGeaX6h~lex$(FD-13c zF5C#ax++N`oU(`d_naLfBv3+s%qx3l34=be9?n7!lNmH&6@xBV)|ZQISjX*QiySwn z0Vk|sl5pqPfheogNHdzNja2b-U7g+JD$;7L&}N2yu2^J{JjA7mh-&s9H+EzRuTNZn z8^u?D|9aRtet_8I8rk4!%B_HT(IE3cQ*Ph|%qc*eFhT`3Z5W5KZHHib<{n(T@iE-H zKS2OO7tFcYX?Xr8--DN5c@B2$*b7IFJXZX6wZai>E`TW$&@SBr{OlaloA~_dRCAFbl>ZlkKIgSq6 zDw7(*TIZ2q$40N?SU{vcvmqwuQE?h&EV+O|FU~8`0x&w{pj!q1Ta=pMgS6@r?t*|6 zuQM7@>!^uSM<76zz#!XvjVpBCu3Ij&a~sgow9?4J1{(t9>#W0^F4X-%C1NNkYA&qA zL_zhUP88CabC!^)pNYFvs!NU62+ACIsIpdoK^}@l@JTGaF`kZ{c`7dIQ&Fy@fjM%` z=l~>lKty{FAoi7f?C`mt{``|LJ3R;U3yV~^JbwHbeDL9En7BPrfYW){xN#GlJoynk z`PnDn!;`0Ia1XV}2=xBw55GbF#X3Bi2X+a{r3-@B69T6i)QLS_6)9FHF~)VeE*2K% zsbC=XKW9MSiRV^3EwrYw4?kWT!^5MnfB#{apPQq#a`N6?IDh^$odcBnV5rpS=;kOj z(Cagq4M~R%W0+7#BEBJUY0&@?pLj#NG7FpdP^-KLBt$D6GK^-OG3Sfwd zNddjntj6U1Iwz6$PQ38bSwv?f1-P=4hZQ3lexsdak8?29M*qO@GXsOe&urYVt#$0^ z=S~;L?WOyZcfbGo>py(^&Ye4Lzv=d)4WR#B9t9kH1i^D!IXkBVJ$Qe6ha3Nmo0p13 zX$#bAoiVmo00M!t;(?n5E@Y||E~QdYkcE#98rHsLTPfBjdupL)R=~4nITtG@NEQws z5?!nUKm*;b^!{k!$=JKui$jM?LLl&UkbOjU7B?a&&2Iw@FAWW@BLF>*p4Tgj>@!@c z#0^B#7HPrrrEIU6*-1EY^5@XoI|N%c?<|1y7U-xoSQ9FsESKYgp95K^T%`umJ4N6Z zd}c#4LjxONpnrs>>2KY+1UGJ7gyoe5+q6)2@$tte>1*qjaX9+OXK2%;Hmw~0l~ook zchuR(*^@+|DPFbSTBr(kylE1>b^DPa#$#J=)aZPm9D?0c1YBn7=^Q|zQAk`iEW{;A zI7@gb8y<98kjds!r8w~1+%rHd%@9}>NQmqLA<>

x5d@tu|W%9KA#^M+s3T!;I?P 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

    qOsWRuW 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 g%fI;l+u!(t!7wfm@06LX{ChG - - - - - diff --git a/resources/profiles/Snapmaker/Snapmaker A250_cover.png b/resources/profiles/Snapmaker/Snapmaker A250_cover.png index 9668553d64a7f60cc1353f87b5ff9b21bf114d72..49b33905fff0d6f70c1f4a63f66f7fd84d10b02e 100644 GIT binary patch literal 212962 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%0AGDKZOAH=kb0GUkVH84iw(z7B+WO6!^v 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 K#VbV(ga04KwjE0V literal 57264 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 - - + + + + + + + + diff --git a/resources/profiles/Snapmaker/Snapmaker A350 BKit_cover.png b/resources/profiles/Snapmaker/Snapmaker A350 BKit_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4da5e16250c80aa6a1016bbc3397d933fe751a GIT binary patch literal 212102 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 z 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 literal 0 HcmV?d00001 diff --git a/resources/profiles/Snapmaker/Snapmaker A350 Dual BKit_cover.png b/resources/profiles/Snapmaker/Snapmaker A350 Dual BKit_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..5d4a23f9097b23d265767f275ace4e48481801c4 GIT binary patch literal 217426 zcmeEtbxdT<*JcBQ4>s7~0}Sr&GPt`8ZiBnK4emC$`v8MGgS$I4?(Xi;+q}Q`%O+p4 z$^Nt1Y_gS*?r^K?R-IetoacE?-7p0?aU=v>1ONblBq<@H1OPxzzW>3&fdA91E}j8^ zQpAxI`KIEwbkYW2r>*XO{&?zW(GnnLnPiNVw1Z~FqQTx3`jvqp76J;Mm=6$Bkj{Ix z208C(Nu~ksAGqUupu0-^nwFSY|EVeg7=io&wkC@h{%cZbwXtF6hDLm0Syx&J&7mAy zMw_RvXN8gul56bQ1?bzO?i`=0^N~tsE$Df9{T>twp3nbp|A#E#cPKb|%h6=L+<^2n z;Nq=SX^R(#>Pl0Hbu9~O|EvcA0HnMgSU%;n7oi;K!LFQ794w>Uo===C)ms9@;Q#;# zZ}#Nas}mdVO|Rm1JO05u93mC~VAS%v;Q8csH!#cVYN&F{4gmO)L$KUny*!?$ zA@%r8BndpWQ;%q|hKN9`C9r~klLX-BPL-paaY zzO@WT2Hxt-%(W+v%gN{7De!W*A;zfighD&!uvtVh!L!qr2G7A-;t+g^8sao9hga;v z;oWu6kN|#u!EXQSuV3;Y07+Klryu`X3-Z1%CO0L|g+mPjY#&n?D^=LbkKkDrbw?}Y z=jUhl#sTzwSd4H>td<*21D*yz!7(2IfKC}PxN7UurTTqc@7p;YPF%p~%yH*OvF{&c@=KrIOJ9K=kv7pUr2tKd^#Ct3z#c^*P7P6Zpj&%G>wVjK zq2BA9UgpL2{mG)Rcr<>l?_;uWuC4F$GAhJOr?|kA;!|q&W9r2@ETNkp|Ajxw#&`Km z*SDGMH&*Z0W4-JP$G7qG7rABAoyVy42P8*bCxnLy?=wg1pPnO0bT`KxZ^sXICd8V& z4D%#UF}IcH-BSSlH~Uq`oJR0o)d4+x;SXPgMtQOIKGurzb9>kfIaK%ARku?pLdDX` z?2Zfq@~mAV<7ePNMqJu#J=SKwo``OxHt%P7(ub>coH<95N+iirpu^fLlFd5y?L zaytBC3|x93J0swui-^bcuVh%;V6=HISFEQW_I=;>$>;Vg_-AMy|L{=A4MY>?3V{H?9asj_;IDwkFzGCT$VhhQs`e`BxctO6{gE6+Ug-N5`#|PbuNG1E zuKFOylmYaKj2T|SjI-Ws;!660Y?fkSooIQlEp%(p-Z{*Nn@9s5@m$x_C1~(&`fyYK z4enC05Q9Gm2attW*3;7txD9nx)qt4YS
    dj0z-%$TMd8Y3=@Fm9>~^9%I#ICQ9mz;H0AfzgyRl4(O-k-WS`52%t65O$O- z`--MTVtaKf0jRe+LE811^;SsLKju?08KkkZD+*fM;da6nNlZXc5hn!+xf=;MFyT z3Q&L-IEoe8#2`Hm`jkVA%3NLr7@G0EJbCHG831yYp zZG{VQ@|u?Gpp}jcIdA@Gqa1rEQAn+{3fCZbx)G-7q26{ZV;k(xy+H*w10io z2e}V=>SjTv64$|8$crHV~0!&S=qD>H;JIU`lCs9)I_38fY3HpR{B^ z0@FoHd;ynEG4$wS<7ue4hwzSgvZ7^V#hbMfiwgy$X27|0s~NJ zSg3k0FM${wx!mWdZrS+Eu_1sB_}NBbCZ#UvA$9sc+c$I|H00X76`rV0hOO`y9#?mw zON{q$7;2zDpTG~I2W3Vq-<%TQNP~wy8&;}M`9lrU$J(U4g9IM1Kw+=$riF_%BrpTd z6|!@b1Q()cOG^URHE9R6eWhsezBc5>O#xSn26kENG}N@-nhNK$z?RgeRnQC0XMr%r zO$kG#nos^|IG~E3gYK~wf5w3X|0KX6P9RWc=#rPWUGyZMkZaPA^M`|!*iPpmv?hUH z_Uv7zpT_{cN57XM(a>Qslj9ipiNdIImojJwA81E{uE2?;k>nwbYakAW zQm{+AL+8_p#+%bMd$fkqxf~2?Kr_eTHjbx5l!eHiiUcB)d@Ch;Qs*$F;)tyMq?noJLt zlO)45(AjgFS@Gq=e=)}TV4|_s65^u+*wsN@e);=q!`^u@q0*iDx|fbn=SC8D9IPAX zR!B*lOA-;ix54K!l$v!(ZB5X%rFO0)pv>fOA*wI6tFG&+c4ut=#N^~>c3!gQ7q7bV z{a0Oj$?nF&(uH>}T(~fD^%%WI477dtW@Gocv#065-+1$NxRU@tY89ILPjsPVxm5^D zmu+OpLI`Rh3zira6Vs;YZ6&pGht>kr4L$dR&VT7@OrEZTG8>3W>_I4lF;7khu1qr> z&Fvz=4agQTX58oJ7wEHIx$gsT`^|U4TSs1lM<2f*UVr0NTI4Xa;2YogDm?tq{c!Dd zH^P-yUIQC9Zmf=rJzR0KK+n~p#rjK19Yl7g!J8Q}$(mp_JvGH_9a+ish|SYu#bX!@ z5(rU^xsym+^{Az(a|p?4Ap{w46c)7PjWt?3FiNzy&o&Duo#MEHgy99Bf;VJ=#`ZC? z()cHA(QAi6(+>50y|8FHyrm%=$)_4JNkmF|Q_XumK*(A{_UTp)Gs^;s#ytU43>ti#N3k4r^w(!+VAYRQI8H+ zov+z>xh!H_hT)X`wa$r3Qd|}uL^hJjN*B->A0x(>EEubMhtn#(G31(-r$B}V{iK+| zf~+NMs0Od#IUq(dmjK0(6$+WIJG1Dr^JeyYxqVs4x<5f2T$X4U89M_S{f+m(o-YM} z462I+cJhdL?W&YPx@7`EEU$t=Ar_;sLW@fO9GGDYVr{6-XwH1xgB4R+5a9iS>kqp4 z;9JgA0FuCW^%+o?jLf9kY9`5rs~1~lTNbm-5!3OQn7C9=b{V!#ojadwFU77dYHDdV z7eUfED6MGL`-soI6zteJ6U))6JO*rIa3P)mE2e_3ZLWv;g?YCBtM0$=Kk+bp@9~F- zt=_xm3fOn~RTY@LlGZbovZO+j&tK6%DN zeXc43H?&&u=f^sopZ_oJ{HeL&p#R9Q3=f<>d+edN-g^D1g9i`xM-XxZpnp_fJ`T%E z(UM17)HXS6Q|Mr>1RCCfasdmcP#Yj&nZ3jShdkXb8>3c>Ieo8?rB<1(mN6{RQsNi~ z2#}YJq!fvP2DwBrn~yT!#R+n;mSkod7}GmRrxxpNSh7m17WGr7&Ovv47Jlwie+T9k z&cHXn^%aV9#qUE#`oRb9gYQ1_0PNbm2X49L4%o5d68d@ArpBL%mUvTB(*)9H*Q}Bu zOZGi|_0`wq>v)qw7YRHLWcd_CrB+?iwW&B?Abyv21pnBzHJa96A?|McUeJ~1w2IAobd1Y`1u~E!9!viIR;t_JCtFtV}dhK z7sv&|Qz7R?&rR+kj->;t4|ds5u7YGME~GVY;U}>a*P7h!5o*Jop-fI6_}_T0)f#YI z1}E8xCV7qPeNWFNb}j~~ZEx0o*$^l>g`ne2NUT3gYq%)k>o81VFCxEhPmoF+|j5pCTf?9w6N7ikF2THpXE z%fyCUEOa{bo{Pgpw$lp*OjaPdl$io78qi<=i6axCSOCr!w%1 zzVprM+zhzu0!*Z=UbU_QptEr5^l>VzuzLqkkF*EKr0!YNx0iJ#f#|wiOl3S?&V5)h zoE;$xPx<3?))^Si`CaVLU?H)zyhv^wH{7t_3YXl2+=@UArji1j?Ila|#kLtCa5cs` z*DY%y7DLR~^1>usHq>vSN;N6DvD@nQp?0V$;R~4r#~5qbul3oho|DN|d+e^Zb9aq* z_rwkBb{xC<>RZ0GaAE#SuN^-8_`!pZof~PVM*#Xq=5_70w`{0Zu^n@B7X@gPX(&po zRPmWqT_#E;78d4cgJ=}36tBB1aqUhx zc<2C}ICYd`yDKnp=+KMs>MJk9)~(y&_S=69c3-xaHY8+8k);4(2=T4w=jXHF1>WRH zhZ~lty*)9}C7A|+Yhg`Xt_zjxQ4Xukq2ZFxc0Mqrn%#ndSQ?l~)9sX)r5bE$XBPr| zy`)SgyFiz1;(RVi(o+sZ-Z7BDH*RBV*u!wh4jJU9D`YTR*m39vZhGiF?$m2KvJ-?x zGiyQ{hzv#t%VNyiuW5*o;+kcH(R4ihAG(j6YDPt8s2gkbLVsqwW{v6^bQ&E3aXcJq zWS=qQ1Ug)>sAmwlh87KcPp3OfI|_C_Ly9CeZ702FN($8UI`xy~WJCu#n@QSSN}v;a zKpDKldx*5^i;D#GIN(R+L?IhyOV76IyEP#)C$K1Zrc_Vv<8@oyTNN zScXv7o60rg>sHdez_yRf=Hfks|Arw(R3yuZEVAJ|)r}XLI*8pZ9HbR5aPQMFm1_QN z?m(V9k}_at$QLGCq9Scr3R51ekWo;Z(nk55XnG|U1MJ#?^8y@$PJ@Zq710@kS~!a` zy{QYq{@#gQ4Vj$4*wmOy0$8$x$M4kg(}4vBX=}cg#3?DRIwzqH4p?{%2YkO^cLo7) zqgYCbog$%GCiw{$&Z}lt)6d2|0h#TWUwMIkp?qcM&dcD&8*YZHuDq@)uE(mslg^?Wjk2iz^g_6}&RkbkFtt zf=u!O$;d;WJ^Wd(zwr{>aQz3M?k}Be6AdIgbq`@OhdYTfOF<8TSm5FJx{wkovsr+| zyz3lEv~G!>B=vuX%)!GN9FY5#*KPCEd*2+QbXFpB3#oOLtG{eCn_DKE&0mt;`1clG-ooL{)`)kCko{_U4u8Vw?j0Q6t-*QRxwu3cJOYA*MeYTlT-N$7vuq;<6z zFD%Z%x^($M|7+$J;Lj|hJ+OwkreohDf8jfw|!As)c_WoWF1mUO)UI zy!Pe`w4qc-1c%>x1K#?*H%T9T?RD>m>#nITz-|M{4i14R zN+EDl9~kr&mh_bI`Un3613Ts^nF>7qS>)I23n0brqS2V&)> zg_ZeJGg@IEWdT^pJ})F0OM9%^9LMPApng{iGxZ1#s2i{DgFzUixMX3FyxQ%#G=*Qr zAg%{7lSg<1)8;#E?7X~}Xmj~qsvmDYtca%(&N;5a6PoIFc@UiNGE?f@lP_ z4AT|`gHh~ml;j+ZrM(YOTYW2uo*db@mte>Ok|XNfxAXfe_N*tufvJwRM-joZV+MfCW1n$~w=_&sER& zJQZfR7qIk#L3XPG&CNzj26GqTrI((k)IRLKZQZg1uD<#P*s|f$3Uq4#Nq`O2UNSj3 z$%&F=y*J>w5{uMME*NPrPE!$MR@f#Ry_&m9tPdMH$OEXdLcAu~h_#eVSRstSN8VFV z(-4lobA%)<=wy<|Z%0**wbLos`b5_ZoKKKi*pyATwYxI z^4)**Zy&{m?g(m*0Q6t358i5Bf9CWlA!S|K)Iv%@Q_oip2;gCs(`Qb=^wdmxuw&jT zVp}%dY}6n>2;;%PxHPwf5EHAS3mbzVCn;hAoD6TmZ3E%?}`ot|0)@4w~_xaP`R;N@2iz$>pmUv0)0>0F#X za|-Ug_Z#rtM;?Utz3*!H;0HeplW5!I9RaakwNYTZ5{IeCDs6d*o8giKiN(P{7`bs| z<4_OX@6lkU>6*1Y8&ZqgoRpo*?6Mri9g~-_Z4j}>zO!9iFv$UL^0|&PW_ofksR2*; zBT#6|<}d6vb{DG6_4KJT&}=n`=|kYW-0LN#2$G3`I%`DH_9pMyv>6n#`O|SqaE28O z-X(^VY*-|uMWV{Ru%nttr^SFXRyZaNVRTYp49o{uy_pf%;%88BrGtZ7;Dju)mzmcT zMXl{sv%#}=J4;{?M9@7wEbZE2F|{a`d?urEY0f~e2LiRy{C?R!FO+O4HxS2^?!<(7 zGgB0Fj5VKa>Ik9i0E-kSt~OE#sHR$-1|S=KQZT6ZjBWl|3S!N6D|0~5G`k?{gofUz z9-cx?ZAx(xlF<6D@%b*5;sVm z=`k-{oU!V3HAEM#okN``&;e8MK6N_E1fDxIaIMekQnfyLTI=TKF2GWCy!bx&EaUUE z)LR5M9J0-(bOsSP<4wCz}LPW6fGI);hG#EL)vVGR0Vj?{!N`Nj{A$$lj2pzUGn^ zixv-Qp9rFj&J#R&4kY^?TlcZ!>%~zBlI5jn?!`8*U46?8zWX+X;){!n9xlj~1C{W$E~cO|_4{U4x^0=1vRwlB(ECMs});CLtwB~IiFs3Rr+ z=*Y3p=zh^B)~7G$Cbb?7sBzYV_!JB8;z0(?K(0|Xya#pbD4wlKI#pz1)yKFHHvk=~ z!uK4?@R`dtJ9C~;R=qzUfQHOFcOFVQcN#R|oi4y2HgY^AZW1C$;Uv}(h{-EjV}v$NoOF0CvG_j!G9@3JezpfAr&bx){V3d(e@U2?e4wIG7a(iM}9VGwy1WE~uXBu!R-4qV9A0? zqTKslL3c=&U250p*qvq-4(~a>k4s`oOTI?RqPt8!lgGDbQYf7j;6y)fy6O;JZ4eA< z=fGuhuUG?axjT$nA?7xZC|%&;TaG~=?@m~^jk+7wjR;99RAWg~lR}H$n7QrvT3C>) z4Pa|)ALUc3`9_(BMWW+yZGT9*UVK)|Fc3LMp!1G^4m)S$#DnWk_50++H25i?&xC9K z;=+9OeNMh-V2O@M08rPYx}ag7@{TF#ysdG4^7EB zIeGNAx!9-_2kOz>umUva%ytf(YxW^#fu|i5Ige0SVSnhA=LtYt55Pwo@^o2;Pc`{9 ztNxHXgv6S3B?@Vie9ARH04QZQan*Ip$CPpjHY4Ed84xEM9ng*|Bf@on-PJP%T+9+< zWi1Vm{3B~J$YcRXUASg*ZKK)x^mupj(;t|gnY;elYrns^JolyL<-y}`zWKsSuf6tK zZv;a}0Q!dyKl|dEh55PE?iRr6Vl?l_oPi7iT!&=Cw8YW7+9JwWYuwC8x9c+xQ;q!2 zB7({5l-l_9h}f7ra6lR;)6VRTBDpShV4rP)aV_}M*9MGQ4hMbEFQ82ZA$p5 zQ3hhHpvHn{i(suNQT72+jJOU1;?Kl?XtWxck2bbv) zLmGG!fVa4?M7u_d{AR}_prvQv$y&)Ktq3)+l6ybrwukC;;j^JVu)vF4Yl-)-^J64ILJfPcObS=K7C8f| zZRC&-S7laqERl-zd0j1y5`-};Q!s^>uct!Li$XlVEQDVz-JlPAJyd& zBU-&LYQM|nVJav?j)}Ms(E%>?sn4YsDj`WgB&|V(_ceJ`tbr_XN`PbusnQAO_3tz> zlh-L^$gvB+G850%ca8&|Xn<1OLC7`PyX0&Eg-NQ6P?e!o4xfY)C?R2316WKFsv$>lx6>Gq6h-np~5&CF&`oPI)f zJRw>E9p#$2e66*eQbNOWKXsRqQZ>j1pzdaq6Cci}6htp`Dk}M@+Y2(eq=8;ZH|{c5 zk(8KA7@*OZtlsk@ozB=t@Zi?0Uj5cpSKfHv(sJ)>Pd)X>{Ugum5rF=oc-?f1l>(cXPYgE>7=q{s^Pxer z4ac z_`rQ|)6KV4K>7v(WB5MQuCEp#lnbzpT~(}vI? z`(ko9F;FYoRBXd481`}=+vHix$$zMGUbTuHR_5pCsO2q$`1Cj+Hij0a-cIbxpY4U|QuLPVW;_K#ZXwodcAnbvkS4{G-GH z3xyzaFn#gV$M?me0sXYqR~!eYLF74DdQir>?j%99CQO{b{$JNfeuQ44+%jvqflPE6Rn0h`HoR%m($bua6f>^0R|Ri8C{ zwtNQS;|hYwBuL`9=wdoCE7^K41F(=wMO50OU8EHbBuR4bYLVu8$dIMJ()uj6ndxUo z8%~Ch0-AUZCD^`z{j=(R-%;JWpX-iKeeOfI|M=P7p!dM?;=)&tpE&vLXPRi_wx&L#xke)QK)%XDi~#LYXgdAL5n*AY1RKBtD_6C0j09uPSnZ$ zm8omovMVe}FmF3*1hpkzseP5`pS8uS3o81vf+UjZ3P|B4xY6K7jZDd^H4=@yL<==< z((He&Yh}`^dK=g=(#O~!SkZoVG`JN!vTw`PuK}!Hy&nF`kNphX_JJRVSKfFIo_zYj z3c#PI^LFO!X}J6DFT(@hxexa2-3RY~|4p!E%Qk8OE+C^BI8GP=CLaF+vecO~2>v{5 z%X18MquPwdXcNNs#y^M9%FeMwdQ;0AwUB*dC31~l-jaqa+8bcSA`B^lTV*`MvJ|E+ zwcV2;_aAo`Iu7KZFqlB>RJYycp~HUPT7}8;I@7GG8%T5s+!1?R(7mYllh4>Sk|t&8 zm{gd>6lS7DB>Arv>`|N#F|iIgkjy5O%!HcMNjen-9wadk8MYAWEUs<-79NAgFcj-B z*_6s)L!K^sHm!9KHH{35RhK2N$z~<`$rzI7amZv;DlZLLd^bhU6Z0we()hSpm2tA5 zFju0Pt%Y33Y(W$)vQyT{vE^3_8D%MQ)SH=|bbyP$GgYau8yaWuowi=5;{|@UDzSOZ$yxd$&OlhQ)E4G zE(Z;IwwXlGkQw^=Wln;`;t0EmSYXtdXq9b1k`_5v^N_Y#>#(1 z%ZkN9iW%~uv zk5By6%&OV>%P-q=aCy*w?CjZhzxL2W_v0YqD8yw1pnou4tw!U9bLY+`y|2^ZfuY>s z&K7@dN0Zm=*aV!vaE81)`N8#)?v-@0*oMS~fk4%;%pR(If}MxO@ZU8gfZnD|jHh}~ ztN*T(XzM7`hfW9EK-smB0V!TsZn*vi0;LCEdjwY&%t8WZ$+ma5GMnfUQe zS8UJ{yRFV0ApAz2&5@;0)-d-9nF;nbO9 z^fR!CIdI^6@buG9!ey83h1+iXG1#_!JAD>xf9hh7Y%{(;rV%1zh;35@UdZI22knK6 z7uk|at|NKuN}=HkXF6sY5b-W!Uqag4^F3H)1j78P4V$?~WCM9@A?Iq+gydJ891fyJ zVFzZIO^YWRXTR^Lbw5r?jTlU`Xwl`Y*^{9c=W5{tafR#wfrSQ65U9%r$W#kW=K63xltCG z?qhQrh-SxEvr>ah9s(H<7AZ^2bcxDVYr&(}FWM|ZRs@M=ykDYyU!Ry#Vi_xNgX|GL zCm~A)J5csX*3BIn?OC$aRr2M0*$liK~D zXCBlxkewM2H0wK~z7`YphBVN&lr+Qwf=Y2bftUsZ)x7}Be^>5vT@$Sk$(#?o7fG8> z!ADY{aKVWSbP5YIuW z$rPNk!uQCr!=wSn;@M?EEudRPrm1&%>PiIbj@b+YfSO#3)Xrx^xS1>~>#o@TlVv%m zoGO|%i?fs^TzJxUH|PTKDPCpesB3Z)js{@6Q_@S`lZh-sDJ&>tty8T=)d!f{ zeae955|ChHOS%DsI56$1zF7J&q&4WwnbUCdO*g}?T|43R*WZLghhBxVXU%BTBX=vLstG9?!%RJ8@Mq9w&CqAFlk7{GXI7OHC$~%GgzL$`i@9 zmeEQrlt@_=K@tnGG z#KH&vV9}6NsY^mnlfA)WPzxH+wgsqqPd_`CqcBl zh+?@Ym1arZPH>=@}~3s2$+R1|>HZ z;>nwyw@}bL7mKpDQ1}N;TG$TKrG}IA6ymMxQlX(jw1UORm`GX|eb0&OZDQjo6ezqm zQ4f(&&O-UCnL1@4%>!Q-K5gW$>l8)&j@gOD>N=>t&kMfaYT9@vi#M-yEL%WjPDIC1 z*jxBa9g&E7Lrprag5&dfg^+kjBwHZqf@&^MvrCuc?SEp|pXeBEXk6+~g^oM(uGU zEMOI;=f%8D+c;T#@v`f~^W^v|jV-h+zCa zxfpf2YYR7CtdJZBnPkM5uW2!zxrAsF>gt?sm^ll@#LiAOSfp1VQYGOaksIn+hzNQ> zMnyc(h!=~Dia2-hV?;Z;8d+`u7f4X@_)f9gP6T;g99g_cGE5vo+TH8N5o%WC-2+BS3zfsN?B6Y&~xvsa_bjX3B@_uE5Y%&BQEGB*S)gVG zuUA8O4Nc7*w8pWS&Y4GC^2ugek5FvDIt{y&L@7wIx_VI1QjI`>jOk7!P|T8JLu&3E z712aP!8q`|!k+6zO0va0hACb(+Mkwm&7s97ur^|0agN?QY#w4NXhD>m2K1F*x1L0b zxJTpuR^&;HiFNNwb`DNM797Ls@F-h`fg zz3l4bb#h{VRwo$K0A)LA89Xih;zi_Ajl7=~hGoJr`ubiTx8ww~*mQHh5lX;NCo!^7C3N{uVFk_=8!Rc!_tl2`(#~)hbBSnx-b63D`xXk+wEARX-E% z-_PK#aOU(U23MC?elR^Z^^MDy@BD0X^3L?rvi9F082kUD*Xn-jw|=W->(;&#KKK9e ztvlCTEM6*6Rh(7f$l>EKJ~>9oP^~TPv@wl`0&o4gjnLY8Rwsv>J z(!vtV%*}E#UKGe6`iv=D=sS!DtBkin5mTp$a1qVS5-44Q#*$aA)&mfoOjcHx!a+Dk zeAlMtb~t+QBpmKLMTgbs*!@VefG8vy7`OxPyz>@dV&vw|E#c5?V3a*t!QnxJ_I4uD zD!?1Qc&0%nSXg5s7#<1b;i3}kRcIaAy*o|*52Mus5~C3R4`Y?O(g~~M1kTe@xdv0qwu9bph~qY{Gv$Q zB8f*cJI^&i2R0VhS{{n!Tb?IcOBpdrmQcj)Tw10g8V`H4MAT?=7a8(YQFRK+Df zbp4mD7wO(&KWuW-35BS5OecG<_!yO}k|s{Z{UYNjRzrP!AF+W$`UOrLV)K&I8pLZw zRD@b=bR&9S(7q<`TN1)Sq8^pJe+@e|(%MA$2giprWUK#CQi1^G1v z3ZssucoQDDpwUH%my*+&RMATo{3j&Ehojg7as*KmDC{w$gGoXb*s!J%jY5vz3 z_GvRucIH-4=}aP_?6Yh5&gzkG(#33eQk+(%1~})nfbUE6=7$nz+_Ga*Gs8k=5@{E@ zJ~V3FoSdc0ZzhnUo(%7EN4WP+wzsYOhdZ`!{f~Nj4xHM#eOFUmL)+N+_{iMT689+r z{kJNTzx2yrYX9XgeQw{bT{{nKT)$yYUA5XBZnVy@HhbzSm94k$46gql|A+s{#ls^b z6)n#9DjfaV*w74r|5v^Yx9{AfIA9w2F?|A208;21ujI^d{y@g_m5e!qd{}Z2hIssv z@C^~Xq83rD`f7{|R#ylS5GKI`aM%ZM3Lg`Vd4!moBqm^cC7VALxu|cSJqzd0Uw}gg z55SS5hv8Fy@8d8&HU)R?-i4u1m{SrTqVfgC@ivoJD>exfDI9(t56fiLCS@uMIGigT zN*cjZLKhe*gZNrzLh%oCQ{mukf!5|W_~gev4=N@7^!@l=z5Vvz zz=aF%K~GN~q0&7)y^#}*2-;Fqtz(2RzK@iyMwiHI;l4~`_C=^;#|1pRa76FyMs9>F z6^^NnrV8E&hLYqYT554@yCAb!Jm}?cjS@{G@PWb<$r1T>jHck>7S<~ruoNhR2%zx| z#cggA0{P7}4F_j1P3(0u5UcXTZkDU!m-{6Q(~gkB^B z#fVbprKGWn*i4BXq^mGOFI-`-hZylXi4Kub(N*wkTOn?1d=rpIilW^bKX2;|;I-SicNgs2w-3&rI|m~pBShcWym>S1*uDb>hX&!ZpZP4j zd+t3Fj{e#gz6jT^_rst4+5Ze1H*JE>&QAE!7ykjgf9V2T>%U5`6&sN%?FAJ^wrfoF za@0&y4grfT(brsTHSylca->dG+1)5(`p9w=o_ko6ylcdJC6Yu8)RE>3{8}L*C^ZPr zpUJ7mF#6~r?AWnO!+mO!AS+rLp<^(0NDFZm=UL&OOZHG@;)#>@rbt$H43w)+ND;LF zNe|%+rDP2PZetwPFd%-2u3HreYhef-A7XNPobDUCPgWLT!}^VI=gtk-xpQ9({!*Xm za`Rznez8gP3gUQv&e~Xb@q`Bh2}wwfwIuYqHCF5D)>rGQUu< z`1#D#;~%{F*41|bp4#L+Euh1?dgYbhYX1D^KecE7-rYUz>pBjA%Xd~QbqB)+(i^(? z&T!M$#nGy>>BIDA{P6@OO9_I8r&EPSQOTTrWb_ejU|3*f!h7Yy6uH7xw6Uv5SD6{r za6)jb!M)rZ37x~kAxr3-*Pz;xb(IJaoKO5PU==*Zfl~v(H+bBT9HoR)0Y=JuNRPpt zJRX+sU&5H#{!oPWz?n0r;q(iqLP5O&;?it5u;-w@4pFQ&ICbLVaQvB<;O<~Q{LS0n3-8B0 zySlc*3uitGM~*zBsFT>Cp}%jnsY=|`8gX7LD#lw`MPzJ|u3J5!K@~>H zR!c~+^2(jpv7id^SiFXaeO_1}Xee<;$$OXS5wXxoQN#^cs0i97p(hyVfGF+4e968^ z_~$mY5SzOSi$XCD7$2K>;EV`4F8U&OIOh>{jZu<<1(YduQ9M#De=*Vz3bj0p&$D1U zLSaz*(vf5eaG@pTd>y=UWTR!3Jm(rs2pYMuA)7*nZ_@!c>Chx6yXFEplguY_!B-JOGi(nDmIn!|9_o4d@-dEsb&`?WD8#N}2?7H9$ zC$c1jDn$QKn6Wu19SBflT;wcDb}HBugev2vAME(pB=}iG+F8!4@ULaB;kp8+1N9B{ zPrDHmdSqD&2 zC^@BwTM;C5Iwpo{<-H)hhpjuP0r4oIRgWC2Vm^+7)(q|QZaq-;32qw|32If z-}CBceif#tr{E_)`4P;{%)qA3Ews0yU@?WU6vT6GZEd4{9jBnt|K77u6(=7t$O&CP znnE#6;Vop3w@RODZf=bhhuGXLEfEcdXn=-}3{RK^@%r($p@Y(NjJ)582OgW0>o=~% z0$QA>T*8}me_)%@lv83-CB3x6-e~lEvX~XVaTXhSvGJty5&RkiS{zoA@?H0j#3xaD zlT1M5yYPOVnwfw{p($u@bI3AkhSBjNI&T4 z*btKlYbmrKg;#ivPR>d{E1L<9F;hBOJdEF1N-34?ZHq?-(#Do zctGOevA$y?6{&dr5cQ0s$Ydd8DGo`{18R>ZCZRs}CJMFCso?VJQt0Rx!sCY`q`3q3 z>^um&cJ#sUy<70^#h=2!&^6vv3K$u=4`2KGzkxU2{4tz9{Si2F_?d86wopSfzpxm2 z!5Bf!sdJ0@5*_Fw_>+Pge=}O;wY4=7>K3D)!8mLb%wx_}KqwqZLRi$gE*{dE5m&`= zZB?fN6@DBnB%;k*9*e+aB%J6Zdcs)mq!io}(PB?0Jo3Wv^Ato=X{1y?c^y)K7hJ@r zk45a0e36AZA@@(5m{gSSC+obH8yhdX~wa zXeSmu$N^o6Tz1Ebe@sF|4|Y730$s*!&CXugXIpqv>iW5F% z{GW@@dr=tY40hDea!iU?*xO!(a6DmdOz|DDCa*2s}V%9C1a_ zf}PPr5^qY-1>PS;OvcPIr|UXS2P}oa_=N-S6E2}}vL{N><-jxEfcL;@BHBbH8SoJEmrL-FwR3v}?^S>5~uQ6y1h1Y?;L!qd?9U7A=3=9syrS~sVA&yfP)d7U(JT^AMykg7$ zkA-55EIQ|TA6~C1lxX>h=K>blDAtWA^a?#+M5l58>+L;A_s;nX?~zCu-#=_D=fXaY zO+}pYl#%6Il#lMixw8y2p^?F_;{dMlO!@l{o$CLM859{{!(^B~V zT?MrJr~mX{w0`PSFKn!@Z{E3igwc~MA!qBO~+peSlj*cjC@N}9w{ zvA}*bHberu=H0C@G&~#*gi+YIX#*TPb_9++b1+4K-X02@#vCCq6;AfT%>th@ zTF@byA>u3VEsNHJ^$?D4U8X`E2mT32K?X$--e?{PJ~9_#qj;zv=PU`Wtr$Q?V*^dQL(kGwn0$@ z8oA!M@#Fh~E+04|joivYtsD7cvzmiDD9fQt0R}7BodfrckwAsiQC&q8ZFD81bL1sbqDSM0ub*@}v}Z zYUfpy!ccs4jHp&3&p(fm&_D@pV2bG^o)p2Kpqdg>E|US=`SI|gaXCb8AaX)UJc$W! z^Ye@##>T_)e-qb|3-rt=ub-`e&vtC`wfD$qpdx zR*pi8Xp;@=q!oGk-Vp^1kzOf?J@a{syvFZQu59o^;=VJ(iuBe3SdhACWmgoS6e(=p z98rSm41G1aLf~`2Yq{tb(rDSGpbVE)N*0M&97+R#`Us+N5J!APsT$-rqW5+xO6|H= z3(txXN+}2+bf_pwEKhZOM6Sycz*Jnb9hhy7;$+1u07=0z=m+nkT_dh5Y~pZwKzoAL zWd#+VFTL~hb<#Ry>0HK@YPTUQAX!uw=;YLfoNa~;>krcImS(da{>$zW4bAFlbf ztve}po%xhz54P!?a!rbou-Y3WJ@Kwf%#ma-$a|%?=Y@;)L=39&YrOjmz0P~x$0IGq zt)Z#Jf2-B3u~KdQOjrY-=~%zP@7~dOZ+T_q`;*f%e?2;S_ZLG$LsRfH#O43-0@}U$ z>Z|o%{LB|Owr$zGYfI;ry-iJZz4i4Cy`gB?SFNw#7T*62VKZw;=j|Gc8WWG~%s9vj ztei7aHFIO@jmirPzjtnSF5Kkf(RiOxk|^A9uy0>aLYj-hSkPp8lOj(S(dV3RL>c4d zd9G9mL3AY4!TA*By-GnRp2wW*C!6O94a=e{gSd0Ziy{wLlbR<26%ncAa_H(H_2YHN4jm6vM0tpVsD*UmlZmoA(pV&7w$RCdSS5K;8*2t}L&c6!ubpDLSOG8IP;N@!LFT=kB0~4OnC1z z7EIy4a}>hDE-WslDB`9wH8n#8H_{23n=3S)i~>oRch9 z7!fOr$ne0&A^{IIa*c5I+Tq5Hrp_+Pb%x{*>`iK-G<_LQP=Jejbx=8>qd*VSHQzq_Hr%>31P>nEhqGtTQlb2bPkcNS zsiSc2+N4#~G6`E=ZiWMWM+hB7lp6ts=oV6;q8W7~Rf>nNFnAJ+`4ytAEfErr_f|=C zXo&b?dl(mjXgJcDNW5@%KEl^{_wLPbmhLAip`}8lRB>mJl$`c>*{|e?63d9md;I&`}$72wXiV#l^Zt(el#{V@aSnV z{eNEp?Ou81mF8Do`L$h#4W2IVY@@zI)Cej=J zPD!Z%hU*5UbfUH4Sr(mEgafRheDWzqlokDH<2b#lViNp+D5_hSTjj-^^C&4DgaxB# z=xX6{M8$^yDy1oa1&pJD2v)G5j+xw{XsIaQF&45ZK3v@>3oCkv!m7Bzq|lT?{9z#p z2ays%lOHdISHT5%!Q)7$oWdBE0kCKH0XhsR<%`5>PLc4*$w_$Qr$2`)SFXeU{d-|w z&u;kSFTV&QBadO=&Jc`^O)xSN4>#=Eu~WxFQbvNPIA=dQ;$&%IQY1chp+#myi?PhN^xX^f_zbm{EkftXu}Yl0^%o-HX}}&NE2w}=Zuaw1TdKBZzrC@ z>dPDN@7#KTa{`ldi8CrCeNpnnPF8bbev=vJ4!>qnfY;*17hep`^!BiZ7Kz5OeS3G< z%O1h#=wmo=ppOEJZr!>S3eFh{W%~51uMqv_Pyh8**t%^i{mkv#w?lDwhxpB!GRuo~ za$=GI3Ze8=Dw%>JA~vqNI{rBmWglJ#{vM%SAVL~><1v&7|JFENRqWLYPGUr%H(p_U zAI@KRhwUrV87LNbo*P;3)3u6>oj8GQY|NClm4FM-rrEJ5Ir*b!2B}WdUJ07Ib*CSG zDgSf=uf%=G1dHf&$a*tF@=Dew4xm&E5Cu_fAY%hRI`)vF;KeZpQ#S_(ZbEnW4l14} zCLYt&7}w9t+%y3$I2l4qz+JocQ#L`tbSf;St>ceS-L!}Ehz-8^8F)&)z^8(bKZ|Ll)3q`N}tU?%T8X3t<)Ss#dFg;Rft$ zZf@!h*S#@~r^;L^8NoeS@Iu)>$84EqX{6ZPl5G>L`976x89rhKBBiO=$tZ zjQa!u>gm}B7tdcyQgLU}f_$N3GRH_-fySp<V5GNXv*!;%jA- zE0`0iBWEvB%sz3!Ds{>?^`<$X4YKgYZNcg9k*+!C;)0a(;jr$%b|G}yUDOcZV^RTA z$mWk+>Iw-i@o>0!;R+l)v_CW%2Vm>gQ=!0~2?x$y7#@76<5n!7P`uLI)B;PP@SLBW zp^+v9c=%);B)ZjvqS}4y;zXR@g|9wNxm^H*MTVNEU{(V1bQA4u1Z| zja%WrC)u5)fh^<@*@)uOiqcUKeGs<{+3+JmTcq?qMl2#C=E&c>!kpJQnq$)~mzcbY z)N3-Fp)Z+YTQ<%rqtiB}P&k2@;27ORfKnZ!C^I@RsOPb!`7w1x97DLUi}VVEq+_v$ zt|kr56vj~$NppY`4Mh1x2&id%s!&f{z=Fs3VjZULBrMtkGs?y5PwICR4~7D?p|Ki; zZi|Z`)?kXv=rxzeFATS`?2eVQ=dmKp>=YrERdQ_#(>Q^dF2sAT!uL{*?cV@2#lxhJ zNzu5pxImvH`^d(|7*tZkbzv>iuvo|DG)7jt4k6SP)Zae7Y;KYVS(wOuDx z=`RU~Vhxx)rk%PB;Ul15x$MPAE5IoaJ_m8eP-hco?d!cd7+E(JXOi&}-3zq17Z3WR zb%_)hY<^#Q=|$MKwL1nlh5Ku1WeKJxr{R@XK1qeP`ilOyo?C)&P*4We)>^xJjQ&6Of>DPFzlGSBc(+$--OVVaEwhf+gtClr27u8M7RGZtziJ#u_}95!w0OjAXnSg4I-+8gq&r( z_Zb$?4y>q=3t$sTF3v34&>AO~5<)D__*he2JG}hTXNDi#8~EJK zfvXpumd=060{ZJ;{ozLsKhyW!`i5$Y7JGWL6^a)5HMduplk3*pzcymkSfDw0GOgzW z(C6~UCjAfAe4fAe{=EkgIbmM12yJka>gw78m$U0Bz09u>m4Kk8hP=0zw~o4r6rDtbu;DA7Ld_?ZrnT~5+xQ;V*P`oR-{EB zy0NmlNE;DI#59kssd86)vkdMI+@QGc%a^WE5q;=zA3Xp3G3e{t2REu2Hl9}9=)M~UZ%kB5BJkw>E>vRPPI zjAQTld9!}w8dxST+ZEb`(WezZk3QZa=$3`6h=p)heLO5E(JxQbAQ9d;D3tFfJmbuW z7m*jA8Gf}G^a}@18s5xq!#dj;U##6*D6_F#h7Dh3S+IuoLT087o6(mS&$|k#D$>L zTp&}?j3e(*D2O#77Hz5*V1ZkfWh#gS=9q$dO*3j+t!UCAHM$ZM#QU1%pNsp9B4Plg zeJ_O}u#*I&f>-D`b>yF1r-h;%lGtcR?t6`BH!_};00;7r3-a3Lw+bzT^2ON5MlChYnD>FGW6Ie#*r0CQD1*_UB!{E89?&Y%xkW0RPz*}JIbk2fB2-Hd5wiMX zjpdiC?|ccXt;ROk-n@;k)1Y4!jTw;@|uSzYc%#7hfe&A2u=A z@E$sJh|p$Sza8s4h(3es_{NPJ@cY02NAP%jOhbEKd+oLGxZTm-(#5qDi}N~YZ)>Fe zJlet4BLBZgbP-oL{@x04W=U*|^f^YvBduVL3zTTlC;VosA&IH1Ia9ncb`}x(MvW*O zQ2?E5;FdJ+Lcgk3vzS#-seIt{J?^EB`T13LVllqMCKL;7Q{~FqAOVwNTAuiC=Wy%R zHKN6&qAoR>S!R+{}sV3x!;Z&=osg?HPd-nzzps5S%tQ97wCc+ueO~`ZC z=IyDrFcePDPAlkCQbxidq3b&RFp=FJO4Jc=Qb47)Ei5c=DHEzIaH-+*V6KWZDPD!E zYjsuSpoKzf3TH)?&U}v~A0~5hlN@ZzEyr}PT!qSUk3`de=2!+Wbq(*Q@b8Y+_I3YR z_{M+yv~>Pk7SIcC+}s24W)r@b9W{AF z%ujx%Y1}GayipueV{cJW)R(Qv@UYIsqm~cL6cK7Tv_+wOL2?X`*ks7kI35hrOKEXH z9XJ+}NPERmJ0j z&e^xZd%g=^c;REPZ(lDVfQaCb&?a103|xu!cB`87MF$?y4?KyBqB}tY6>lq{2*>ej zr1H2F#mcelO2v?*N{#@QO+9la?%T7+trzqa*!~T)$WGp^nT{W|anfd`F#N;hhwY3d zAG(!zzd*l#{rU~jFT57%1g;WC_&L%qiXtNK3%M4Gg^vBDiL8}kz$H5?6N@Rn9)#j@ zcz|%ICDI$R(wSEtM{2+jqsxZUg+eHNpYXL)phs&HajEHZOkpa;I|~I$c;(g!{&HNW7=2l}PhK9x93WIGAOAe%bsSmxqKf-0TF0Sq(0cldbsAb6Vna;DDuNpzp7VJuka-;=4>zU_uJA+= z9UnHr(Id~m;X{XEa$*6#^S!@jRYEyw56qOqIcKPiPh!uB+nj{T;@p&IO;9>lTq#{3 zaeT!^2KTq?H!s2S&wnJvs(UDDLZD1?(Dzt=Zzh=sX_KVy-LRpPgpv3j_w4KA24T&6 zs>Q8P&1#OolEthUO>8O#{Tv( zQzECD2`7HT4+iR=mdzicfNrR-)^1$81rNgpbKt-sIC1hYY}>v$jve#dj2IFb-a!&W zmHifAO`%-2#j%g&jPu3^PN7PC$r9toj4B+B^6>B6{0xscix{C93Zi{`b`x5Fc3}2_ z#b(B<^->xoN-9>y$ygF(P;elMaH#3)c@kY|;u;@VWLc#RhN$ovrEs7{S5#qV@enH_ znqB3wch1~rv5up|j)D#<)S-*j9-<_fiv?b8c#l{#)m5?RE!bPQ!XmKP7;Np{2{Ut( z^gcW0!VV1%!SL{X*tv5X9Dnu*96qui_Vw(9+qZ|{&aEL*whJOc{IZVq&_?36SV)5) zc~GS2U1Kd4(bgq!u9vJT^@vknUY&mA>Am&F6Fkd|y%bx{sg+Y99?s0mR;P}z zW~#^`uh6we6iu!-qVD*8)oPU^-IIl!G%#iVV$iW??vsU-w~dYmbuY0fOB7(%w23U( ze@P;GrJ1n(v^Vxta(`reU~5sp_FO2C!g~`7Q2ZTOd={%-(IwBck{HI}biC?0kR+pk z5Kr_Y+A9jDg+-xFozug;T31y|N1ap^am0>mX9?Gd&yDaX@jMF+uJKVm$OS(&hDh1K zNm8{+8UsAziTAx)Q>Otvz@2-7#wsoWxL%zNc2PHANe zJOx`rBad{fAH4P&4Bxv4Gt)Eh;~)MgqUrqJQo~>h#WdPZ1(B?8a7ieKdm&B<5O9cm zU>B23!`_BM!|mI*Q=k)az|q_J&7ZxYE+4X93n!Li(Ne6)!oG@;-C>U*p7X*YP4|}B z^SQC9g%Vfy?cNU`|HRAm_``P}hdt^zJab|{J*KPLG;emq7r4s8qzpWI%=Qj%>J3xnjkl8Y83 zx`R@t;_t>r28@Ma$$~G7B3p_{ljKFw7FpXa5!DvfQZZTPW$ex)MX-X}J_3Q6D@jq5 zo}%`c8uwnPQ zXpTeVP*|RGSWleXhUZAR3URuLuLJW2!Uq?hmdzicfDVVmGOE3oR~F&ig?A}>^!V}P zaO9a@*syUOztIIeNojs^JX3~@E%)w8F_m-v{}^drLzM#f02&oP90~{{k8puIMMMsA z+VFb&`WU5i?0X9(WBJ18%FkrdulkvSBnGN6x{OZKA?jQd8+snk$)Oc*l8Pc>(op2$ z!r=j|-)T%s%p>2zX<0i;gL!n*Jp_TE7 z_miLa6&M(}t;Y4-xk(F9~?T=1HJoq!|hN+W4a-_T1fgC77Fd_ zI-nIT@aAU2K@`)@GDbVKVPOO-jW5dALf;QCJZTeHgVdDOuujo21>pNB_d!`#exxc^`n?tgO_ezsv#IFL_6Z||Y-9M{pBj0l>C#`=cvxwcSJ?i5d37 z(RCbaz8d+|d=rp@zplzcD$gUa_5ekD6K*Tqh4_llFkSDu~E*|I@APIX|Oxtv`3i%w@N~wdf5Mds; z@hMOK&D@l6(9`nQ z*WB`42`SDhSxIN}&b#k|f2W|PkKBbA5XiD}j4}!Pc;6C76=na@5>)i%hy0*gZ zU3=-{uCDH|hpeL}cTZ0@-Amt}|2ed@Hfd3dJZ)T2)y$Pp=hAdS-z=%h+?vT%QJ(6W z1GEHKYtP5~u!g7ilIrGZ_D>4C#0^z7@%2#X2*+v|akj9hMvt?a{&cH}d1E{ZSjEJ(2X{@aIA6hSC%YT$LKVtng0@=nqps*Vi|!$S4ipl-apyc>O0ohI8l7!I{%%;NYQs z(6OO47FR{N=(W+IPol>kJc9AYhjpzBs(oR_4x9uQHZ&}pGAi675?tVTCeIB*VT4l=5>4+HZiwNz zUg>`y+FI77aaiX0K(5lY!QVePI0S=3L*$Qo?8IT%-?u0H-3^Z(J%%fnZotIEbhO>e zfV_9|#4>PlYMM43EVl6askTf0c&yU8C}j2Wkrw(pV9ye=E366qPqrq z&t}npnZ5@buw_j6Q}wnVKX$Z3zr zCJNlJIl#}M$V^;SY{^AvuQQqgzK#nNS^>$bk`Vr?He>3*W5)JHUU1Ag=!je1U*TjX zE_1Rp6di=P>&R3B1yB-Xf?`mdlF+mutTREN@Vb$ZPJWk<6RB8SR_OXlQ|>Zr6AEgn z6_Xb$QFCE7?Ti41yv*B|;0^Ph3B5>I)^y*HUvPYWcrRhmJUTiO!*d#&*dsir#?_ew zRc+ceeX=N7nA#X_$D?lvHKIMzG>F(t;l#kwhoYzTvU1=3@^UEvBO-wr31ubJ1>fhn zxp{g}+#lxVW=IQwMf1$ejM8-QHKD-m*<+_+*RI`EB=7I(Ba|7R2biQv`IT5`f90#+ zg!#ppuzwE2(!S- zaO8QII6o-ma=J9_bVgSpR-EP7?DYP4Z>LqpVL%Y+(NOwfA zaX!>|c-{BzIlwssvwmh__UhBJ`9l=Ym5N)5(}+wvAq-i=&ib_^h}-2o?0J_~(^ z_CixrogRo!7QpWRjJ;f<`GDT+4nD}N!#X*5Ib=+1w-mnkJs4j-IrW%T%jrO9Y;1tP466w(61HrRBkqQsIh$=Fr88}9QrE!gdCoWjBc%Z~$xhR>|Ytk4aXvw$M z6W>-5<)}!~gh6QzBG)yg`Dq+8KPObD<8z^IHOEm*p5niKW*j|0-7@Gk;;1n^Up%mJ zBfXf~j-deMG>+q7Iit}Ox<`!0&5!SKz|Mci_^c^RRz^ADlk(QRwd8Mz0gc@wHX9!E0?{ z9%R^{RtqhtgfBYJ<97@+L5c^WpE#z~tVR~GiQ9&}r5UdyML0OHrLMk81&HSY1fK+= zkQi6)Rj}qbEFwj6JA+QCc(s!0?MD8<4m1i^(&vb?%ZhR;K+%b$xtYXzxG66!E|*1M zW^9k^sK&H_tdb@pQIwdg)ncX*>x{b6{ln7=9D3($uUIq5hQbr{P;w*@I)>OX=_r;F z8T>kaJja$-m{Qr@71jDg*%6L)QIM-dVWv3Vr%)g%ta3)bY3wP5Or8Wl>X$8cfIit? zrIf(LlT{l_R~G0;&v$m);dMgyfb-lK#9|bSe!Ry;Y$ky+@*I>4UL>KZh=|Hg7qI{( zyFu@@!It|~1=U6bl#GlRK^h_&*h6NlGHR33%Q=mx^71c|s`M3L!2N_CUxBeCvMTvWu-2A@+UCN|=F zoSB^_Cl5rO(FPQYU76l(+_0I7*sI7`1mB8fB!A$zjl#6ckxmai6%95vf|e8iTxUU%JQPq6eXhY<+MIUWWB*!om&G; zfAAS@p9A@DGtYl~{84xh>Yz2emuQQc7e(njH^^Mm+5v;Zx8cx%V{rM(4LEq@Q&KgJZF8eF@61+HJe z3Y#}~!LuiyhrYhUgvN>k2ijI)gMvjeZg_}N3!ju4D~Apsi}X5Cn24f7QTKa6Es9tS z;AEo84P3@ngP!Rai25SRmFJ7)LsG|yjydbzOniKbJr)t25gsNNlyoqr@QT79IF9V^ zkoJIpdSQ@j%@Sd^kxrPVSn9SM1pL`({ABJ?;qJm4B2`d1O3Gww-?3$w7~ zOLXuu$CgF18C&&f*a%M{@cGToOw-RbHZ{`yh9hXSAEoIBPxtWq@I6C+Y%DH>h9)9z zM7O7BrproHNIulWwl{}H#``JyC*wMwpP!|M9t&h_?(tgUgsF)+%0~|!BLOlt*PAzW z!LD6IJ>KdvXRr*1NbE1Q({=;FIm>efxNzAtQ2L7RhFt&8kagIspl1(V_ zNTZck#v@ch^J<0KmO*Lk72|J3*C4{Lm>3roy~4S|g3cRDJe~>bL0zyQNs{#_Y8h`r zMxaq7fMf97=Zy5>*Tti;7L~@sNfyJ@QMe-ufT|r3LrT$-p zoBh-Dyl1AT;oP~4aQV^|IB>8Jj)y`T-8*{w_QLi4JE5_;M}?nbdID|`b?fR#0ET1H z$jLS6siB;dw9w3*6Yi*WB~eMMaK?+A8Ykp2)>Z1syS8`VQF!LaNkW&t@tyxA99on5 z=ostz-S2(_{^n;tfoG1Lf)mf4BEM@C7Umooj#gJFIK%=PRrFDC8R-wtxkKp2;CO+%{BLXs_+R*!!`1Un&T3Dn)jH1I4sl=ccF1ia2 zT`4SbC)QzN-DgC6zQ~PLTckRvH?ujgrD1U{*`d+-xI#L zM7({c)Eg{zSC(VqoS^r~$i|oW?<7crh@=Zu5AR3Eg>yuxE0kb|4f(=Sja@Sebpxb!k{>*Yf)|&RPaGqbJIMiu4)lfwDkzXHfom^~)4h3rc(r8C z&=oSB@-4IT4o)R-jfgG-9d)YYAH0#=9`^2uw2Qra_CZ(IR`Qb1vebZD-ASTMfSF(> zx>CZ1yb514xgW!|oDQ!CQ$+EjmT+6*QiMV&~J`4;Fhkf-? z3X0JHl6WmBUDs#E)`c6Nl6ywt5ervagcD-F=6y=w6Nihkiw~dQer=7B8T-jZJ&}n} zUL+)6@1+l5Ytwm-jU9)05ojO*TqN|5R+iWZ;-oPO`yxGq&U`AeSGhq&AS^T=HDI54 z$59V)edBqC&uxBThMwz#heNP=b2s!~zX->Vo`(KVAfI{eWjKHFE$Hnz3{%tNaQvCm zFni(W6e5H7byHIt(Kv8=gXxy&pN;1n+HQu|G4!-#{*VQ9SVT+GfjXBg)Vx6nu?UKy zm>e!%IuCb4A$|DJAvk&J8Q9d>5s?EG%UQd)Cq11lN2BE6vW7?Pp&aLpMalIm1EFwR z3^(arn4Ot}!FxC1-21<9CK75seBWdRQw5KJXXYFKPwUnDTrmxKA}a$9OgAbZ?MpI%&U&wZ*&Cd-FG+~c8zoh5o%tE>tbcO zfQuI|!L@5QptpA)9DU{>Ja_sTIB;km^k2ONBO_z5IKQY!1_}T>)@`JN0}r?5aB~+$ zawtiLoRBzjCZs|+DaNvjY}JH6$0O^NS|~1NLm^#lfYrwj&I+5^M~-xJAVU*4AqJN5Bz!&Cq3ZG z%Ku0&DN2@Oh|pt0h@5g)$1%s@OX!V@jmS!|Lc$oY2vQO!OYtmI8hH¿UHiogvU z1NimzY9bJa7+aYip-#vl8wnT&r1@eDg68QPT@~3{Mf{7)G)jn>txD z3A8R!f}Qi+tQr10hsrn!sZb$cMYRBm)Nw(9*B9wdvB*e!3tqovZqWAk?hi#}XDDKu zY3=o2y#kLPk4J%|5vxY(MTPc0bpFBj71JzJ50z1#t$Y`_!VJn(3H;(KVV8UyfAC3@2Bd zD3s15(>+7?@ZMydc%>BKy>$P<0DSMY?~scV(xtX^Z4SlsdU8J6vu6)c2kzZ}K>C^S z@d-ly!C9*{ujsQ_vgsje&~ckdp-r_bYp@cH%ed6ANn_~M;igEtNvQ!VIb*Qv z7M@i|zbIHoLYNO1^oS%Qs8y{r5T!?^Z+NZ58Z#$~XDv3cIX61woKdBhUL`)cqx}w> z%9+sowS@b6c=$G5DVLZ$;mBMFa>#e8eaItG(y{~LH(GJjYEx}iEloExmF9FH1_!0Adw zZN_PH_1Fo`&%j&1_&Hp?b`?$>J3(XojhouJu`H6cj`JVPjV>vR*U&T|S%0NZc=+nS z`DR!wopAGJKm73ZZ&8dV31O5j;8+Y2N9?3H4KJiFES6|Ro_(HEXNJ2sG13 zGsEXv8&zs8p2!Qf#(YmaT(}U%LrRKoiA9cxQ<1oG-fPi;1z@iH>c~A#Lap%FJ|p3u z_^RXRg{T{ZyfKe5M@ySrt(&5)8Y8%wXHg<^bn~nfw;ri0F$91Hp*~}ay$bz4v~k52b?&044yxIJbZo??%WxGYoVB4SX$C>06YZOty@pO z6S=9xEk;Wy?~`+g@xGR1rFiY6kV@Asfi5N<9{IMl74p~K)Y+v6-?r}El&p3A)5^hOBZ0QN$jCh&vQJ3s7#g5II%Eu9|*gdh`7(cIha_forZ7UX^ z;hLkH0yT#0c;k!YFyM=Fe6Q#UBqBYnwJbJrL|Le*fYRAvnnqQ#9hV4|O#v&&mj*LA zr@U$`o)sWqUO%o`^rdcZTL<+U>xs{g$QDtLLSeeJxTsrhZlb(X+L=@8K^fTaiB@0` zIWS)KGA)ZeL@bn%enF#Zw#dStS;Yj?xp_rMRd;1L;n({6!^2%od}X#1#czzkO*8a& zYHE@IkwuP-$Hzc4x3BjgX&ZX>_J(_QU)Y0oQ)4DPbMZA7v=NLqF>ZA_88T?Bjh?1r zSpsQre-C@XZ@U$W;rm2mKsw>%#5hI6r@#^qdw2K3?p-~KXtuVrkwynS`)6h* zsVEg5wE8=1{56!og7Rs)Ms;tUjl`Y}tkZ)tlM;(6$NkimMEXgHr%o`HSU{r?t^dXa z7#g}ujw|asHbK|sttbEZqm^pcxd+2`Z=9nT`7;Z>rW3!e2+ z)YlNt9-Ka6W&lUFXRHD(ikkY5iA#>NQ~2=j#P}FBz}IeG4Qr$ie)jX%;Kehag1658 z5I+0rZ@}%l{cy1F7}Yv$Z5^~$TAJI5qmLh>Sh~5nja)RSU|yV06e@nd@Ss5i9BU<< z<}HNc8mGwu&QT~(=AIVNAGUzLaN(z4d-0FM2a$AtmD37a!J15-PC`hTPUvAvyBh8`#!#-+NLInj) zAj$xX6ueEw!md~-CKWbcSB0{SzETHXa+b(rsL9CaFunHeTlXqQQ~hpDVix`x7#N~a z-i{sHNO0J9U?1%3*$o4ChT-bf>x9;d5DH&=OKUrE5V6QaKW{8}lNWU2qZhvT0FA2g zO)f08!#crKGynt}LqtfBKYRS>3(&XkDBOQE2zSC}g(EWIlMW5tf#Ko1)P9?ut9`f#`ZG)#v%$27)k}@ltEw@g4yM1EnI|dp{P8Iv1IG;>@q=UR9 z@WE^ug*1an+hl}TsW8F!Wodee=upVX#i9n$ODQ`iu=C?mswg_C<qs&2 z;oiaq6dT;>=}8h)<}AL&VqxE&{qWHjKS|CPeftlFLU}K&>u4+8@4ke-dQAw`ggM9V z6`uXEtw1|-CA|(_8+;DK_wK{pJGbG%$O9N07=(M_ELsk0C1Vf+Ocb=*{qf4f0%-T{ z{pwqcUuzEq5Tb)v6h+4%Z%X2_R|J$Zru6r4j>np0!BR^08Yd4(c7G+%Dm584nGg)E z&W5<)V@^ztL9L~LxloWzPL9L9`vcH+YaMJ@-w9hfyP>PQ8#Z@tg3VnUDRO(;N4L?Q z_Ta$?+zj=?qeqW8Jy@D#b^u}fJN?)M?+9{iQR#TzmR&L8Rm+XYuP9#&qIZSbU~!f9 z0R+-kYSC}Mp7Ir<^AVo5%`NS;cJQ~L`vn3ExW*Bcb`j-*#brwKQ(tzWi9{L~5LE{Y z-0Qcm!2Z1l;m2=$8$R>Om*A&=^Bwq&FZ?cCx%wU#$`9$@#i?v_lN81+q=lgSi@nqF z8euVvXAj;pm~()8G42mYS;OWG*A!0O=jNt~zB-M?cX$p{(-XwMkG|$r(ub_(#lxp1 z^M@>;|Kv~pB%Bz3@<(6$+G~G4@?i9z4c;C8&54Q020?2jt}@0g#{+>7YxL*j#30;E zMjnlXVtgx{e*Ssbw|_@icn!qS^lKsn9hA)#GG|k;OebpY@W*50(B8TcuFqb9UEBB5 z;e{Tyh=ieiOO4zE=E6c)p&P?)peWeD#fIG28@Ddg#+8$2?lNs)Y2(ZE^+Ji0nFIx;c6cF$+FFsQG2%Ho{B!M zo7SZ(XT#xe5Qah_-MP6FjvhTo{ODbKw!_H7QMh{L20R|0;7us51LWM|&5s)h-uU?b zs>l2qk3&Uag)J@VG|mbXy%F8H(zr6(mU*ZTzwh{wkHE7>UkZohZRo#sF0AEYb!8a| z2j;iF_1Bb?wP#OHXb7ICxNs^6(GNCTA~8r~Lp|}y@ZgU^PS6Gh?}O#3NgC^+P!Gcz zkOzvC1@M|nq2A5n1f!^OW&=zLE`Wm0 z?yWCaaA*)wj?Av*iGGm|++6n_G0LEZn+toKu%KsfBgIr#qet+{k`_}@^aN^GWn64*om?nWH4LH8#=SzV%b#=6_5^~C1c)a#i4j(~rr}fay+0ri2gt90K z4L^qmEYgYaXYtTSx`QTZI?vJUiLWdIGue78#FcJhd$^iLspC415!TD8i4h%*odiKj z+LW*7Tx8>OoSB^=Q6KWVQP_m*2c3H`E_&CFJ+S|mUWJ`Ic0%W-EmSCP4*N*Plp}AQ z6V`aBQdkOCk}^$1yV!M{ks7#bc3P4plsKh+9wOS z%vp*~ruL+E`ijqUChTR14&qsa*BzVF?c4T+-*HEM(P^|!KGjdADmo`tafOzMcHOH6 z;se6T%IS=bH7U+GWhCo6rt|Jyyvl57#zF> zEv>DDOm7aw^p?$=!+W=xkZDX_{KU&!X+4dOJ%+)d;ZS_vC!V@zt&d4w(LF6QS_PRV zfQjsu@De+Hq%bjbz96C93f*U(>6avG#$puW6tykX0$C-}$LPF6QJ;$mo8n5fyi$u| zM{-cAF9|yF9-N%QI;9@a4nf3M@FK^w`i|Eb5iR_g z%qYNp__-Y2G{OcW#SPxXxB(EV!;OTF((tl`$GZ1$fWH6mffMlX!9$ADee36E;q;kP z(6fIJY}?)y3h6Ppdi4f88X1G!tVIkssbAkon-|{rSWss|F9KJZUU+GA zHwdf=0OIBXxnj5(?cUV~dv+gy2P1=Ux&Lf9JO`=6$3KYh;ol1v-X)&&i4)Jo_*oVk z(r*ccKu5K1r29`U zq7X8NB|PxWG=+*)ru3AAhFl27*XCnx0@DXp$oeim4o+Nf+)hI5xj8O0m@dQtJylZr zSCvbS1vl=K3kxPR10>ba2nbzf01{7Y62*vElrGX#X%1$>!97Fn7YkY}ZVdPM)@?gr z-=2MN@W2t`DR14jjiwv;Ts#ZAilS_9DGi6L5U;+{3T~?au3E`-t>N_|j%g_R#zx0r z^wC%-_(sWE4hz9Jg0JXApjy{R4nkPSP(xLVX{Evo&Wp77E8WH*!D@{fKENWpv1^AG zqzK-0gkrMsVH53dxc0C(E!kl@W5uRp;5Bp65+~TJGZy$Yc67cl7Iw)tQW+mcL6jcQ ze8h!f3>jJ>2b0(=#@CMTQLQ!y$i&0%!KPt+e3TqJ(4%|(`dCbF-n<32c6Y<3&h@Zi z;|BQ1nXU9&A3Pi(ngt)XDPg#~lZVYqzt9XNU7MGExl z*?WLeeo=!JQRPMADI?XfgOOoGh>52hzK&EwtVggRZfR*J*Q#}G>#1HrF+6@>JN^73 z6~xG2#zGnCv^bfe0yz}M*oY#+jNbN0>zX3kM+@b9w1vk-3I~3jD10P%UxMX)_VLq_ z`R`aj%Wd-8zx|~*zx1UqJ@=3Q(eM2i*RJ0B&wuguTd;HIE;=|SrzYbD>10A$DHS%A zN<7T3UVEQ9_+!r;Cw_F-)=h>oQ8s>-L_+7m7@#|)dOQjn-CzIZ*WuEYbCjUAcTX== zNNAKrOQN}%&}GfQ{NgMvhG<_^3B^qp96ERmPMthM8{ojeO}+V~u)@W6XW$x%I$D~W zbtF`P8DAB?Bq)fRjwc&Epp?2gMw{YTRJvd+K60jYUcB+_c0Id$c*qnPctO#)R`|4(+GD|NS4r*|Y0I0eTD$ z9qEIv?#@tLKZ2`QZiWMGG^xWG>B8~fDj}Lv6oi1)y;W0NF_ts#1I}9$MXzE{p(TK9 zjx^3+fywDHLfddN>)x_6tchJPF*ynsue=2VLpQXj#7!1C((k{24thhQh;iYaom=9V z4|#19Q&fO8lf7Ld6%2VTSF}(LFceB5AGfigfrN-T+kB-$&*`C9Xt4%{&J$mUjJL%m zuMpI|aE8j^RJ;dk5(g=|mZFX8V*;YfG;BoHE*1}XIH{Y0OY>xDSQkRWfDJbuNbR9e z!=J-VyihTmL2PBr4PF!Sq{lNwT2VhD$zQ4^ITjRk@P-Kjv(M!r^Mc`S@NHE zyqRSjWP{(`w`CGWXIr6InT5vizP4>>4*N@u{wAKfvHOzLzARI*Qo-wttl_eZ=oECX zu^=$#LV00sAv*c+>$NtLnrJ3sLznow&J+>05f@Z3%baPxViY>wN9d!BZZY_HXoH2t z4z59@P0TIKD>5Zi74cPO_I*UfX-buo2#Uah@VJPKBPu;TGsQm2^Hjj&@4kxD%ONNW;qz17Yn*Nb$X2$d|x8D}iuU4fB_2^bxH zL}=&Z$B(0h9f>V70)8YFlFpQBwFH5D<0H*+mEK33R%MWqUgK*6vNFXz8HIh=@X@q86u%3h zfL&Oert=4BqSK*}#h*he4z3k!l(11ignnK7Mna_#8J-RI1QxDn1&c^97Qp!VDMYQ? zBBG3%AS}3}#o;9JoRRn65E^ZyHe#`k=YMOspXP|m+)kfIJrveKEiG*n`h!#r`o8Ay z{o(T)Hgv+nks;{l*hu##0v$xdLMN~A#?Q|$O+GD|pJa#ro&NmZ@BPu{+qbVi2%As^ z5!~jMM%cP_J1j2LU~+sS5%NvKkmb*k`$SlHxHwK6KLN*29D&X)9f==U;;fbJVhpvF z9uGOtU;pcG!)vd7i#kJGcxXekecMhL8NCmKLwDfO$bI5vA&P(-(XO5Q;LxFG;N;2Y z2ub1OwwMwn9=MjrpW$Tb}f z$4uY*?hk15#~WvEK6LMskLdMuZQc%#CmzuaDpA+J^66iPS3mu0jA-YYmgiY$L=+Bu z5BPV+F>uaZd5sZ+f`2xTE)eW-9aYA8LfrF$eA3g-no;*eYCdezka`{@=Jcra#!>aGGLBI_GHyKcIVe+@NqSI1rJV+9i ze?qKfZy6~_FrK}!p@qiZ(ZyjI`mdjZYqu_t(s}J4w8c90+zS*JUPs=wg%*1ajrCMa zW6U-d7|sY*Ma3^D8oFJ0PC!G1H{A!Glf#OV%Yqcd!WYy+M_ehCi(2sbIt#C>k&u@d zA?*@(b#W0SaZ{sovt$vbwoyg$j};3o&qz^J!+TB1!)64p2aX}pr`Z8$;D=v;wKUYe4(=oqsS13yH!CoC&WKyCx zkOLEQT$F-^QjwDp6-8bX1ukF|I8F`Fc_e&m*Oo2t-1DbnqZ5kXv9VFOeED+X2!k`! zi&)U2m=w`uM7t0XL+d#b$8zJ`*4_cVJqJk8w`b2jIM8NKGo zU9HxZS>nZ8H>Zs4z~owCq5R;%L%4q98r-^b9d6&fMLzH73i0AcemTatn^3Hnidksb zl%U0`g@H_yFbP1BCWfC23I#_;AA~bujP_M4OfQ)XD~juA3i$kUAERPO3e>T1rd+>y zG5ozuuL%pFsub~B;M$_xia$l+Zv2SNG{u)rSolDPtg`>J*$0c{W>fZZj=zTrO4gC= z+I}ETI>F>A$W#j)BwKP6?$%S$hJPCxBUpi&Bm_yY!RqSj3g>YsrZ=w-#bXOmt#JDM zi?=ZV>;13~=hVm(QZKm<;k-jWJ{FO(_tbGB<+ALd(kOc{6FQfg<}B(6@HLEtW(FrC z?_Yig4jwoLmoC2x&z*V+-hSr|c>dH!;q1F_hPAyP?u2!AuF3f)Wbp2U5b1nMp8h;E9Lk4VkT>0TpVa}gah zqJvg!`mm0{|Hc9zbvBa|p@84Kl{n8R>>R##ml6m2ub&V1;vu-we~uhI_U}7F@7IF| z1Nr~@)qmL@K3I5KHviobX#MlA{?&gq_Ufzu-sqd}yxv`_{X{e8KmPKk;N_3~J>s!a znv`eHLdUV|T&$qzKSt}$!kcgY6s}#r7B-OQ;Lwp?XkXW4c#o!_fe*Or(RjbH4qkrw zCD^uYJKVl?D=Y%EO}h*aAKs%yyM5a(6%^t)9J}20>o-vG-V%xz>BOnoG7?E6jR&@9-&Zr-$(mBFSN1McIJPd$QqlhRM#BHWxJ@;Hl=bR)} z5XFOvZRFDC6%s>aWX%@QP7-(JERMzvpc>y_bnT$%a7a8e9bGe0Uzl;`z~D`2YHT9~ zFd;U4&J->ofVe@NKYt$julB?Kz8(@Bo;h<8o;i9L-oJDe1_y=+-2&zW6S~>H4qC$d zI~NY|IVwzm#c(FjXU(CI93~7E!1|slDjJJfbUT?_n4-wtrcg-Z2<@38FTkOLCkc%{ zck#_qAw4lU0pI`rzlERu>?iPCD5U%P4iUP98#9g+@h?(}P;rgV5m7L4F7Qb)7YdST zMz0&g?_5Wy1c?(f6UkeM`BtXyIT&wc5w4{{@b%y*7Qd;!p`KA`P7EvsBIPQ!5kX+`i_Vm5uY7E2 z#FU>6WihK1wt2qh;5RmR${Ux+Yo`Y(e$Uuk6KrW)g4v}Oo@6-KzJ5OZT?l)egNCrX zj?Ola-}>}o9Zb$=(At1>0c;?a!ajr=2VCG8@mrBbuv#k;0?tlB;NXe0dMlz<l?8JRA7V2X6n|##q-;t4r@Xc?2UAdw}C1JZm+`DGT7H*#I zGo)VNn$6j*2KT&3>8WsnWexuLU;LNwE1&(G;q8LHXXOB`BnXRCb~Ali8i)PRFV&PM|s^k(N9SR%jY;F$b8m38rh~@x;L${!#V*{bnU0b$>VtNZr zCpT_tgS&SIL-Q8_p0<|tP~X@{x+kJR)z?v>Og5YlDLMpFAr-D#(VI#fm`KzdK0os4 z9)VNuoO=^aKlgF?_V@k*e&y9K!y7;QF8t1K{~_ERx)y4kPs8hPj*wf*^vnd+6F3R& zXcG#?`p7j7Uq^F;_O|t59h`@CZO=mg^rcX*?1JI@1F&=ZUP77?34R>bOJ`>{JPN-b z5#fnY@FGi zq{Xo2v9VcPx=%qxSe)aU!fS+-F=>3_c}JQlT%=D!RQ|6npz#h19pUA0@wUa;U+Np z_yM%Ht|uxDaeDdjX@lk3rr_5!AKtTf-+33VT<(Y7-u-asFmmWmz@bBZ#Ebji*?SZ4 z%FeS)@H^+;t6imimrANq?R&WvFNqU73(jV;5NBZ$=x#{pZfJ%;nCBS=2D({hdK#vC zGGPKF4b1~j2S|nxLJ|_&iMPadx$LrQRh71qN^5D~b#?DKXa4v5zkfNh13WXGX`oAq ztSXgs@44rm^Z)PneecrWKS-PFn{vMOdkFp)783S<-OvIyqqO(k3^XOexm1vF%oDL7 zvjG&8PBGA6OqJ#N74^AFEm+Tow78xVArVn|E~d_|Et*&? zrIn44ZZBs%bQ4icWk5TditKcP^EbUfw7O~funr^{I#Me5LVys$d_XtAJxvcmj z$Gk!2IriO;M{~|CL?-yew{B!XuSn2ot`1DEtgO%TZ_M-^8olom%FXCgFEq86qmv+)`h#%3?@++QqT+JbjqK#^<{ySn!z^ph%m)8v%jG&%YQQED==vALp7 zWlnxZJLUvQ#&x%ozytY_ePDoGcD+%b8>+wo0L1wlFB_%7p*{wMC)E0R?Z!pg-LnVn zEN%>-sept&Q&4SgY6=?{k)TutS=UKN*wX4EQ#(Lm=u|-ViKo9xKk(pt=-C&(O&|K9 zA7fAJ618sP`e&i8IxeK=qUi-eE1HB=71a!!;naiaXPpB1phy5?fEopEGxogd${OC= z(Gkb%0pJErv{t%|RY>?76z1?!NmJ?b_X;D$1Ou4y0yHZlOlBY(;q~Z>0H(0#)sR0ONIZ zcsuPjFa)bE7xD-$mkiNT5Jf#06&3lDaJ222~a6BPh0)3zNv-zv;F;jG%-HT1puFC zA@~KUV#4G8B|2UkU9HH7_N0r(;1+fr6nR!5KB1|OFOM~(_&|m;#JRM!G$5uP4>SbINSub33USkii8W)jgp8W>( z?mEaI^U|eDw6l9BojG%w4j+Mg#~vCQyh+!t_HkE?DF`9}M0JjHjKvtn@&HV%piYd~ zM4S^Sv36)i#qW>)^+F#Qw=ExA^5dYg-`rZ`D!#nDin=@ZP*2xh7NjC7ynpaAFTS|` z0Sqr+x;Q+I@mF;i9Wz95wm(-?FMb>K=OVHYuXFPT%UfKx?z zx!QP}_}?&YXBQeyzbdkuM`Fjuf!Ebc$d}O@7Y)00g2E%`(B9io>^rt;{66E##tESxSDb)sUvNHn<+&}JbkKJOYV`{`?Bf>P8y zh2%1wM&^JQHbYQgOlN;9@4V_QU*1L-JBv_W1Jpl*!nQ7gPwl6?!o?oCb(&rfN|#r! zl~_M*>YgXkG=&O8OD#>UY$XRO-RocX1}#7|H@Vl147@Zsfos=c~>@R64B20SL4~OsX&q z#q~48o#|k;VpXJq`;q%XevZ(XD_gN#iD-0+C0Ba1rKc5o=zC% z01+*AMe}QIEk{eLFqu>9YMI*eaV!VImiuc@71Fs|S7; zz#CJTP5xRz>ziv_?Bca(Zu1&d@2KJLgS!lD0RMUHC)o2h@@vdlhAOlg;R3X^W$+a&BpZ(>PESG9854k1Hm*vf7O5)VqOy_1)595K`I&-vG#)V z5AS?@UjX!u9gWX6G&Cftst)`pQv>Ff78mI=zw_^D@4f@{!T0|Nt*&gcP=ic@lZ<(-b7e8q9{)BYmKoyxWy%A^p*{IQNRs$;`mACP+jZO z>2g@eYwPOy`I#)QZls2$TI=uW3$$ztIW@wHQ{S7JonTH zv*SG4;pk}al596g1DBfG29AjBRN(3P=blmLvtFH_39e9aUdq^FPjli>C4)0;HVmUY zPcKSjxszc=M}X>1hBz}Ya8XB446V%|kFp>EyBd6_9>`IgKci z%tkaidXqm}TRQ0Y$x|F1to_P$fDBaY-~;ZcsTMaAu^+3dG zfM3wj#AX|b1&F1*cgb~DwPjnJN)}_$uje6cI-tf_cWixVu|aI+b+8WHAwWmMdxs4m_PEVDEstntO9@@*-(>oPy6q*dzNj}) zby;p~;hN2=KgV9AII)GCPUS1r{B$d})1g6n3IL~#qANTSP&8E0Qng8A^A-H&ujaF~ zvI(omgi10+DlgIe-GaK0@O>O+QQae}>d&D9dF5p_d~WgHnG{AtZ^5J>!{g^NYeh(6 zxrO^R&mQ&>uazd*%ye5#x|vTcGsPe{&g*K!ML~ilhXKmyl4(J3#)_;nCSWQEw((q@ za|DhL>42S`-3lb_QDAv5bDLpFhDkz-do4U|KmE=CdweV{tT( zN8ZcF3J-H@J!le716QPJM~7Ihmo)#E?U>fbKkZ>)BCCy~m);zyayp`6ub@sW;H$PyQvn<$;Ik$!ES!?|l0QsQ){c z>8_La($H`p9o&DE28VC(`!TJ4uTh=**}2uQ_$@8~MC zux|&1e2e@ZF~tV2JJNd}@P)RR%q6s^TAX^QEP6HIxu*ZewnfN@V^kHl91 zWSmQOF#lCyP-N{|SYRi7oaqqc_j?AgcMH1LXXW6aOZatGjn2Oebij*@Jd0JvnEm?E(o z6h=&85T-OBB-Q8a!W8}1r+&pML(J~W~)?r<#-tp&`J2Jil!Q*WkI$6il2Z}roq ztIuTU_?(}3Kg&|P<6R3j3n#6tW$~S$;=?Vw3Ml6-;<}upd`l*5wMcm zxpOCnmF(MhfQ5#d_nvss9u8F6pdB24R)1Yz+h8%@uv*&&2EbK@sPDRd{TY2tX ze;`e;rM1JlX;5ICVFJsAcD8f@+u%7*})1YuAPk}$UR ze6gXC2t`R#mZVe5YpkXz7;ZTQiH(vDrBIJ0bckI{6ikM&5^EQNRPcVq;$CE2TmW(a zv>F>)xg*MSNvaT_`C33%uG>`M<0yaDiZygombBoTQcfS=JJm1^t0S>0jeTb+`GB)T zE-Z7CKGUVQoTY)R4Fs%Jsqi|YKgsD0#lI(q0Xx-oE7?IHVU zWMr6m%%DvGP-8++-_Xb%=~{NmSY+R76g>dH;2+~&!Z`r=#d$=t!(3auFGLzh<9*h? z%|#Xl0!RY`FttMcJ19SRjfQGb5CDx%GGhgyT5K_pF5xaaV!AP@#N*>S!TAAwt5n_N z0PGyBg69`N4~h}vEpC*=nxcZQnG)ZoFuntqzfS=Alb`&F`G?>A{%6&~_i(Z3hgrP# z&357C7wO`qm+3w4em|W&dQUWTb0h=toKKnHBpr;p6Iqxtn&0`{^WUX`!9hB6`ZOIq zx?e4RRW{)-H1}W_hT{m+%NS zPsQ?x#%_)BCCD83@t4!(qoT(lU{hChK?OSL5B_XIQ%&<4QG`zr+h|VT)1=h|fFx@rlAYt>h706nnjk#4SE2-p; z#@^jWX?M>-1^)Z#q5{&lXUA=)2-Aue&Ob}9T)aU0_aCHVM^8~hV}sZ+6=-2$UM<*5 zYSGmle0FdU&T1HFHvv5&++Zs_h-ly^4G@6jHg-6W_sn;FFr9j9)hHd_ScIY0LszIj zR@i3&CP|?eyD*x-cYD;H?4fjxjRhK6L6{cYvgW`hj3t)#g`Zi6NA~6>cSjME4uA>p zgRZo;QpB_+rXP7*DShRcJnd;G+EJ#}?Drok(wG9%1w_=V;~$^;lp5yDoZu} z0&W_Cus^v29l=2(r^A5E^#E6!I7=^$)(cmboaLn9i+ipwOlv5w5F0yvzHtwrn>4G6 zcx;S&_wDDHWAJiO^u2KIobcKc@c_?Q8!$6mFF?$nm(?i1#=zbPnSI?Tcj% zuw+4@*aMm(!GKSIHgrjGz5V9D{Xglz{sTPCGhJZoloPnlr<)$hBu}mDW49*g=EzNT z|6Syca^HXXC&Z;X>);|?iejkXqpWCGqPS|%~8jKuBNL-6Z<>$bC0dG;yDEx|N6c&54>k$a^jzl zjEr?T!+G7EjAS#?Rj6K+A+-DJZ+x9OuxIZ+t2Uh;b-|ZQP>PQ41_#$D!L^5J33qj1 z6$ZC}5_KWLR;;UYC-W`)`>)f@n}hssxEOJfW1Rl3hu=qk@cX}QyJJ>w;e%z{5Z*@f z*cLD9cxU8sm$mH>)b1>V#7!ZN61d25b7IrQ>jyaGpSK$YrEH%ZN!ti8v>1>wZehgV zHHab4CQZOl64;I=;U-4)D&rh*qcf3q3qc@@3H&h8r1(c5X#cMb05vjP0-crFVW~&zqY3f0=^C}Uw)acUAs)X zckiLSdk<1i&u&q%N8D*Y5Wp3h>`zKhy<29&qRqp#tdV@!T?`D;&y1 z!WSmlbT5cXqM{Wq#n#axb~JGT^C?lQ8HtnM?Q%tuxD9H%xJ<@%uTqJAE)`KhN45yV z#sF(SP%P$_H>sf}q`9SpKL5=vYHK7K7>}tWn@~r2LKlZJw6A@Ou8anBeAku&Kl?18HGA)ZpMT?epL)OZp6f;+@!A1z+z`U*X@aI;;93R!0zZjOyraE?4xK*C zAhWBhhYsvJNbMb+Y%K@T8ho4q7{(_i)iDJ$IW?i4b3k4D^>q65DLSa`mBIcA`qG!b zzzzf*t-I*LE6;QH3L-@l8e!crxDbtLd1;v@C#Pv*;+A^+0?pi>RfXX#7JLCLp!k3C zJ74AFCW%qk4i_2jprP14b=O(??B{-$dV6>AHSmc~e1bmnncq>@eJ{1Q?^J7im9?cy zi=`z<+xG%jwkHCAuaC9$Wd?Rqexz#~!=AGRdz=<5dbWCjOkau| zCQ`**;{tbDvrMaiNxS`Kkc(GqSb~D|co@Tx@9uopW+>iWsRm@i#&t~wN)!)$}XWp`U zZtZxX?dmd8Kmns@`_YU{C}PUzS^=p=$WaQXWOpy_L0`@)p^^6TpJH+Jvdy<>fSy(5Z( zhA7HcNLPA2pD)a*wQ_cKb#2jkX)yLG zwX>6s9Xp{w$~6YjHwG@!x1Rhelk@-Rk3P%Yu8N8*S-fO;quUm5Uhqszs1;zOmHe^T zz!|WOV?xV2Q+aDT}dmcQX7w;Oq45 zNwta3(#2O^QQ&hg9XfQFjvqfpd-m+1fq?-UA0KBB$qSbNzS`P4^_;b=kX~Av*McOq zpi)5A1DHA8#-7c2o>*=|;0dZiziKk*k^Aw=%X9z6J5Hy?mDA@#eN3Oc#aLk949ePOfbpNG>%nmIVO|?O_|ZQaS7W# zmQqb^Ei1_3#u0eJDRXTZhYsiIP11P|Qi^}KiE2SrTT`fjWJs|0MhL;?mZnxjNnl+U zG|eZlV|7jOAqE-6xR`ogP4Un{E;?*PiZ1aiUs+yZ-rvv|QEz9CW*60Uk`HKXhN!kO zpsKQ%rsorNOaTqwR`d)AKaU3Wf+gjV{ z=%Ev|cmICcw`V^)T(q>bC?HU7?JWI{U=UPMLt{N3>$kuC6uo%<72c3>?^Tx9Qz4(B z^XIP6lTVzZ!J%s`&cpQ&e(Cz=Dt8)LB)h(;K*=IaPEV<#|29odOsQgZj#gLJ7|>yy zje7>bqpr4ri(PY1S|9IJ1a-jU@m)Rp=(qm&f6L(cyWf4DPMkPO?|=UQi9mM0BlMsC z(;w2leTOB!np}kQ_oNbdbSkfV>5}#w&}?aGQ$T;3?|&TgeRsblMMvWI-cQptlQQGn z6ME6uUWiL5p(|R5n)Om9aVmf+{Wf)pv?7*_2;%Wc?D~*jv*%cs`~}sB>MC)AS6UC>WiRti4%LrDEIXAQ;38f$ zNg1JF8cuWQIS@JVILSoIb@&6Z8BM(FHVkv&9k~2`1kiq$d1z>836!VT`p2#B;UxI( zcfT7%(4YE~Kl#dMo0=Mbb9ngXo0pcB1KQ@_Zn|KmTE~S1lk!{YhBhv1hCVdpNJra|11`GRCee-cXjRJ8+UN%DyxUF(QsHs5;&!P zl3q9xZz1sY7l~)eo`^@L@55FlZd=tCd)h)0QVO7}#nedFhBx?xFdMvE~g`I(N2F_LF{J1JfY+)+;WdkmmM zeY1tJt}+0cBk{aWq+@AbFg6iNwyDDzco(@N$Vz%d;1&bxaFobI0*hZp=si)Cq&iMk z5XKH4`Z$M%6&P4sq_d~rM3*jKq`tmuEOI(>>=+$6e3-eMBcr1>XV0npSRl#{X zd+Gr?ar9p9NMGrDQ32d#J0^z()?<%;O)c8r7k|J>l|>OINw`jup^3RX1B9{? zqWT>f);ciFNA7`*typa|A^Ra03X-TP$(?3|n8_Gt7~TECF`KXo2jKPbEUXgMRk@Bg zD)I8tggeVaQ~G)XVBRWb6fjh0CCP204S5BzbZ7AV5T>zHkI=VpZ=kyj5VKKS_q=i) zg+t#riD&gj))JAe2-Wq5#{lJG)f4mqC~IzG88tRE(g6h^_w??gz3RH%yY~RKwY74* zaUww3`6rWD6;f&<<99c4+^@WR$qLZ;z0D-{cmO629XP@F;`Gdf0wOng67}g%{|9wE ztT6yIu%MWY2x6#!@*W|dg? zsC4%@c5Xq2niDun!NfT9#6>SGEBPCWk^eFuxZZbEY1);)M_QecUm96DWO|)9*#LOm z=*T028sRDUJKQTkbr~4!Q(yPf#MBrA?B%6Js!^bJ72RUyDK9e^Mi^Ns!bggcXk#=a zLKn9XY2Rv0wlLwtu_Jg$3;Q(n1AuvheXg}IuU~>ZDWH4;P`nYe4<;9 zubP6B)pU$pmU+?KO*WG@Q&43xviED=J*aDXN+Bi!Hr&Z8I@t0wYxONYB`0xW6}|sN zv8B)AA9ZGc?4zOffezVoa61~i^O61gc0eEc(8I4h^2j6aeE8uHzGY!<`4{`H-MD9M zbu9?RqR5CpT=JC`w_wA0;l*d^+SSW+@~%^K^5hX}X>Fj*oZjScfkJ##5miWlNhBls z5?vXutTK-hVm(x@xWVD{fQ|~recD&mjWm1R30VCh8%Yk3hfzsALVY;KY zZQPbZ>tP@psJ_{-us-zAJE*O_mHzX8{u7Q(M|Ujb&RJmj#SB;>+B7^i7WzrZg{Yv- zXh$!y8aQ)>3$SeeEcSN+7U6)!SccabhJj5ZMCV$&KqNADD>^_Sln;H=a!xXb76h>t zKJu}}E@~LB2bH@4CZPvbY!H_=XH~C5hlQZ~FnsHpsExC1D+Dp>wHw!{v!hFag~POe z-#*&exsyF*Z;jpJ1<-*WZ9Roi;RaiLscT_1&mD;z$G$rLXW(%^tsS4`ONZR)cQp9K zg9uk0>C>bam^Uj;~W^82Gfb+ST^8T5(pF9 z<15>QIiF8?tnHV3Tf)6nHw3Q`cTuS;&IZ3I(#& zq4J~%?;h^y&3vK&CTzPRYu1oZV56wF-yC>Jx2B8K-k=JEyyiMj&c#$x21}<%QXZva zW4fXySyF9O;34BW!=xh=PNM0`ZHh~Uv50h|d9peIJZ2^_p%4*kFp7nkJDi|fupc=< zvJ@-mequxH+1X3SkDgT5;sI3z?_pa*xI|#ufWqF;t;}mS0Wg|&6MEjorfBnGq7#>9 ziJw_nU6W~vuR<1}Cx8&Iy}hlA+S|Knb!C}_u0z9Dcp3&E4cCG0oqIWI*(C5e&Ud1& zw;C=$@gA6_x{P_jciFC2i~M2u^n3j z*7f`09jniAlJ_!-6C2KCX+g%Jh9bvJSD$Sy-3mOmQi<+N!}EDlTg%~Ef^!S> zDp)&;1?{K-S{b_CI0kU7G2ts?=ZsAT>rCYkM-1*bGesg}GYVoUeyk`rA?u3cXpTjD zUIHn+%#_|X7LwRCK!_}-Jn?CGMjS45BFn=TDyQ+D4?|8my91#Az5{4{eBldU*ixTg zQ$YH$AO7ISKdwOZFZbVo!-u$E1hj4OH=WI_+BDbbneRNooyOCrPt#p@9j4CCHkz88 zWey_7BrI~0aX*h%rK^RT$nkyx-biurfun~J4?tMRl#rZN2dDJSi5o3iB{v10M{}I& zmYO2KM46^j@dBH;W}OUDBDN&uzluuxw|?v2(Vjhr=C~yya^r*| z*a|FVLyyL=FegHj(12B29VP7DoZ|>*W0@DQr?eIpIBYQe2!eN|kX>R33vB*i61>OBn;JCiFj*lPWLgUnE;;$KC zC@>vvXt7o)gsf_j$LKK>w+1b%k%C7Sp%SuhFjd939(R zN_)F<^wf(RG`}2CezoXPhL|`a(b7aaDnn|j)tpJ#FlLy8OEfr9wBud&)iw?T>X@&N zkPB)FH9%RZDbgjF(dTIX28SWCsQs6R|R{@JBo_Lgg`?vou`uN8_rocxH{o1en z8h!n1U!^l=UZ-hDDd!tX6-?f$=-H}KN^^qi>FsZOn<|p0=;FnT>8_loRU=Bg>pJ4% zz^s*a&9t87Le&bKP&^38I{^~PWWr3mfD_{@g9C zqG?+^JU7li#LA^&A;-=Zs@O&o4^4;?alXI=ZF5aiI5?z49pe^T$d&Nx2i+tx0zSCt zWSol*bD`O)Q0zxT=L%*$^`$tn1)BlK-ZU;IleZxSN1_38EaGph+uSUR3K9+zi-57n zCJyXHp4DP+wRUD?R&vLU?t~QsF!MLt7vR=N^Js5R18ggws02nd0wHih;uD$@&$~W zL0imhF<+{-MhgnSVcPytlunf!9R}8O(@|iZMG&RvABoppODm~OmoV@;7J4jGOl_X% zhC(PdI&za9d;Dv3VDAw+bNW91UP&%z$HuyAEsq_zZb>4;_ehel5=oq60G!pLgD{qu z(^!ujbtg}EPm6(0AXHz}pEamXVz(erl4Wqn=L+3|P((NeB+FwN0AV(C?ly}s4?q@) zR@iU=bm6RlP6Dimz*|PgmAgd7AwbU9&W?S&VB+}=c-MAhnocn}JweltO)!w&yB9Wx z4cxt$oxM#HljCf)7p1EUVBkVA9Mciwc+5pXG=gy^D{hqbfB@IqFYy2-=MqK8yi;8=aS13%fmD3{tU-~ zZ&67$a2sH(3)5i*e22yhOzCKA$S5$akL}#mJX0$0fnXAVW%NGa=bQ=1IxN6Hd2uzi zQzVlF83@&hHw_jcX6>d_mMeFn7{q0BxIwjgU3IG9=uqculy2O(k$T^(37(-g$)Bzf&3R#AfzJ`v6O47iEysjoH~S**V<#0@uT@u9S|Fgiw)!57yvbVN1tR%i z-ga2MX@_ysFzW&~{AC3SzzLt7ooBJ^^we$jRb9s`E83td6EgDHNrU7cQkfBAp@ zMf%sj^2@f{cIeP?_5QSbaq!!xeV#3hiI9$+zQi>c0tW17&YotFKQJ&Tg_7qIW1At) zGR8^2<^BxK;z!mYCh;9A{A5^9=p9%$8(j$M-%Bhsj6Lw2Q0#TqLoOndf+X{)^%s2$ z+`DVlbqt_!55RHdZ*#!-|MIb2?~vNx{I2(F{2stQraHJDcBpk4>%8@!PZ9_6Xq*0? zTokwwRZ7sdjZw$rVE@P3Qw((w5Ux`IXMo$X@@f`qqw|c(3HvAK*VXmgN%Qk_OvBh> z=M4p*)jeE}#6H-=!M#H5`NnckH`THhymCjnM8{oYU1leYT#m(v8YpXSGlzAly#n`2 zMM*jTJ0B}L&tf4L$mCIb*=vt^vnE)rQxuc4Aawrq=6!KG65qN}uT{`_ZACgjrYPY& zu(D$}5a^w^J_%&;tMQH7@coPpfB$Y;Q4bzDFeC6eRbk99!Xz%_W zYTIn4p+Su5*C|GN9^44>1%3>0rE$?mnIdq4P{v~;Iz9JAga4SmrqjQUzZ^!x0>CU*#6&(v7kN^gAq53(g=U;jnAboDtNl^c#c z#9xm;{&nVz1H1u@06Z{H5W-ZX=z;oETf@f)aAmqzdYRUpAOMYZPIb&Or5Pwm!cJC8!Lifc|b(Nc?rU^xP#w!Shex3shx-DN#FzkC+dUhY6Ic$jPUKv- z+~vBuIy!v#ID;M|kTvV!?CgxX25USg3O^9fvy?Pl<-kz{@U*}DEB{&*pKa`#kR%=?hB zVHN_a)MtBZ4~^T;4CkqKv*O*k)tBjrQQD~9tH^Owsj zB?+*SuQjaEQ-uj`lIWzqat66EK2q{^xpnpwRAoBx3UX!G%|cfEB; zefhD!{PS=8@yN*Jzq@+1?=Ecc86%c4oJKK(4vn21K@fPImAQuw9HIMOcZQCiJg7j? zlmgOYLKg_R%FJ`t` z-hI32U;X4K)TZ(k$Kgucn8m5`O=4S;<~awRcc(Y@Bl5a{vUs5@cIDbDyzt<7aAN~- z!d?my&y_(LSIIni4t+}{S(r1jAp~0Fr8&lW5TrStiB5-v|0r8{nS?7Hgp$n#LW?Q# z7$5(ZNfZb%;SSPqW1zy_>17yKuVIg;`^m)T*?!?i1STOSR)6ej6 zmzP#iTXPqUjEwSPYSy4g;%*~OON`j$$)Q8MBuW7#I% zM&Y0{r_%5v6YW5vMW+deH6)Ti2&Fk360jivOdmaTmW~`eP1gaWuRX88{EWRW02W?) z=>=8Py~3dv0Mf8p3IwU6=)il;5yO=gEI4@Zj%1&*WjNWD+m`68Foyv3MD&KX)=k7;HhQk$P~qad*t3~dr1(@oK7%IaxfVjB0$iK_KuQn9`Wd_UY{axX7zBQq3Wz>6H zN1dHLw13}zI&k1H_4e*z3(WfZdhOfpX&TJbNT+a`%`Wf?0BuD{p7_t)?xwSB=wZ4z z-(veY6pXNjo18#VIL+cibit9VihI7fv0W8J4MIKh=o#cZwQXvhH~sJfn9Q;J$%9VE z5qLBuvh*p8zz^*|N&EI3;bR%SHAoW*;NcT|)2_~4s<_{6Mc;mRIPipa03SPd?&1kh z+6{wLp)*1kE}Z8s{-HxhQgGFR`@m0OO~}jp5nvP1+}!N8`_a}*G&(-Wjv(5N$Axzo z0Hpz4vTdCfrw$QUCtgIlPs1Uq3a&HCkA zD@feKv7x+$cDi623x@b8AlB(g^cz>gk<)r=$$?>Uti`dR_Uz`auDX9K%F4Mw!Wsu> z46Mx@S*?KcvMT=Y6%pC&)y$fNjGbjx;F-ed{ zh)*tZT^H4{q}obHJ|v;|$%zOZk3NZGtCunfqmJB?*aTVaGhN_oB+sdbB@B>tI7@+> zJ~(HkWjfxwqO6kN3urBxTAEeyzmtw1KgrF*lPAuoB7KVwOBEAAQ%^_3&6%51cVP2B zPylV#fFFF{L*IJjkw?zH|Ghu*qXPp&pB%q6d2nrg-Lw=Wpj6_rlSnUBfmY4G^zsV| zOb^hJqetoNnUi$-^br~!9#f!WkuPrCl=zI3B9#_3w+s{pRI*7D+fCBMDVLRM0Rk>~ zEFLdkc#h5WpMU;2x_jqTXbL z-xyG0H=fvXyfp>EbRY3|SS?NCvm%U91)TU$5n>e^42ue?ly!voaW zzLT1ont3eW*wCal;u#k4LCJ1n-|?7rI{>70Iu*LoSOcqf)QjJzjDl?%pLmvwfYb%Y z1mxFCIznA+{Q`5WMOs^5;`rE#ifUd64>E{3%GX@~@MQ&L`Yo3a-4TFj_(^wn@20(b z4k|#{WxM?VixAYH*s86qW!H(C+8XNUXj7X?QJsg&>NU^X&N{v#;Sgg{jvHTH)e{5j zK#-ySkvvtGCseA6tIa~f6pi(z*b0esUtX*gCAK`0jS*bo7+ zm!RlbU8e3abfknEk9!2b7^1aRPUu_Zu042=*kJMd&5dnz@Ze!}e)dpnYa0vc;MCIC z)MSr|5?6S}hJN9R;%s`R;pL}B{0NK<1gbC<~zf%-HJKHk9BVR)8o+V9Ibm+K$J z4fxO<>RtihpPU|5uVIp|TzyFucbBQPxt+UVzNW)bM79NWY$LRF@9d!ycb%e{=^0ma zB+iB{iD_G?l=o7lST$M<18}uWBeu_p^(e&?NvyAm3reyLWJlQWgGu-vO(b1ajLj2g zrzGH9ClwkX?Re;J@{o|Tjm)u!_$E2EbV!xuRjO!jWB~nl=_vng9q8?yXP>rVK0$Fq zrxI(j?l31jotj@9;Rcchlt|XCP-{{X1654pOtIz{aIr72H@@IjGZb5%Z;IwXo_sYnuSe* zUQHygKjsa*$S>WU3v72OD}qPdNC4013S}}SERaOy37QJTQ*hL9Ds~6ZO=pQIFrg@T z{mw(^#AaIk>%g$-n88UQ5+On)Auc*1RK!{m5}?QJ+Tp|T1w#hhyr@WbG$8WEr_O%K zzL%!G=z%F?>t(_{vT8AKGy}Z@ChAzxo#sVatjTapx>Fu-V8P7n1a)`rVV=pFDvXex zHhi<6T3R|dv9hV9jds-3DxeI}*gP-f5s8{vJq^S%;MQS5o}FX=G^W|G;Lzxxgufqn zNnqB_L)1-)wH9&jQQ|B<7|^V*uW-CMHn*CZI@;ZHfOd5sV8@X2uRKX33Q%M5G~-@$ z)`x}$IMNG6`$ZL8}NWpGoq*;eB)cGOBE6tH1Ffh#qSooK!?P00`LTTrqW5afi@4^F$HXZvRg;7A%FloGTCiQ}RhS`j9ySW8gY zV$CRW=e3k4j=G~C+U{(jsQ14jTga92`j6Lz`v=F&d}d=Mr}nKa2GD_ZO0sgtzybUu zjyyrB?1iBgjVD2DlT{%EHL0ySR7_lZ!cai3rdhBLe$iRkWkS;$h^!FSfO`&Nv4A$pJx!Tipyy+r+@mVm(`cw{QT!X|HYnNJAdi=_5Ke{PE1vZUW;PC zJ0&9!9u%vK0_jBGeC)58D}2vAchei+cn=*qxR)M%>{}eNp*g;Zt?IH2oHemt8kQ~FdzjmncV@6j#CabuiQ)Z8ext&@Ncvp4X1l?gqrsqQ$())64!5Dwk# z(H-)@R_76S4s}XdU}*~e9L`^O0@KO?l_YkXuwFQdmaiEVx4hWgkU3>~r7~)52bQ&% zElJrOnbb5Z+>wwEL!C*alU`)758#3>eLy{&3OLC{2frR!$n#q<+i^`#jdR)+s`lC) zH7v?QHxmHObTSPHE>rJAM|%&O@gu(2bdONcTgg$9xF7{`qAQYfl?2j(Hh>}tJn<9G zMaYYEp}0x674Qeo4Z=!T?Y-&s@22I|Mc(AD4_;!hZNMSA=ubZRD4jq5tOC*}S#SvP z8x~D;RblIg^M|-wd}xp9O|rZrIifB3J~k-WIB};~odIDU#P z;=ofru>TM>H8nV&Tx%;CdmS#%IUxvMC0(a6|!o3v*>xwsI2YGdQ(155)@VAF_CAB4KuL-6XU9(msIhAl&$f4OxE zNgQP+(XI==6=_1ox7!1~LJ>6Mc{fHN`?_s3wh=>%YmHc>h)_B)Q+rzsBtEIf<8-4t z4zXn*#U~mh&?Qus%)`#{^F6aFL9b#CwVGqN4i$Z69{x%EdaqoZ=Tvb`i zcADU%>qN~g9}BqXNN#O!>!jN6RMRUL&)efobS$S79WG&%lEgdzffbT^vAmR6POoW< z#GVKONE+ZJ+!XzXoNV!gxPk8I3!n9;5Qx*?fZZmKbb4=g{}P&JAkhqg$r!EDCFiGT~T zT}_kcm3!FeVbO-xwAm>{`;++|7%c3H>l&Dhag^aB^x)0ij7Y z^$yMQlW`mX+WL4Y{k=bwL?UVQO6 z+S%1ZCr+GZ@gxIjbzZ=uC-F>&+X)tDj0OGiej?|$SkMaZ+PVh*IXGU_H`J;7Xqul# zr?Z8`x-kP9?8YBiPjs7th3ivYYv^nvk#BKvjusSHURqofF<+63$2#?Vpr+idHjM)Z z4zX2SM~B+nYj*I4p9($l=oJb1o1;g+@Ej<}yHb2$X8>D4T{nmhMkjfAXqbkE2WfO< zl%{V_5vXN4p)~N=uNqtMcw5Huacnx;vALsc7gQH5#M2Zb&cZswMj1u`X$ z>_iJ4=+@Q_+EnKcVrI~E0Hi_jz*@r%h-=(|CuSM^$U3KFqVyPvs?mXLs!o+od1M5f>@ioP? zpG;^A8kex?(Fzhzw3rBYISFili5(`{Yb&rES8f~_s)lR)`?%iuUQ1yI;G}7U(iBqH z0PHPyb?>E1S6+Bk$JscU;2Nt|#S7M%P^L;~1{Ku$gdRl9VO8oHDxl-P&TvAmiwqIH(mlfe6ZZv=}+&G+` zm@Tosry6)`TQ2UBpj#4^+0h|xT25uE)V$PkL|unD+dWQ10UwLUbLatyzy@Q4&Q2@U zrXer&Ovc)>y7PE4DcHDZ-v`_Ljv4>Qu?Z~@u5xS=31i`xlNDHy;jhOM0O0X5b(n|$ zJh2sK+R=8LcpGJ6Ev4{ph?X|vHtkH{Xe?OhCMIqwpxDSX40I`UvZAgu5*9&5n&znf z4zFKyJ$Ka9aYq`RWxSUqB^$b9i;<`l42He}@PgM45fFel4E@pVp_F(hl(DqI3c9P4 zNLSVtg+6c4>zW4A#Q|4*Wo?Nn%d1(?)w}z!DijZ>>vLEE>F?0=%$VJ9ah`{U``I76 zO@Xc>M^8{&TZhC@N33Mu1b0v^^q`6qwRH_}pyjQ-zvAGsP5#%_otQ3XfgkY!{=2|i~QGwUF1N8!dOOumRENUAXx=BNWgB%AB z8#|q@7I>D2;`Cx{rp)!Ko@-%cUcLX*>b-B|q8FVc1|1$#A~Bsf7DwaQ;q$AnRa|Ff zl<@gRF~$Wn+z-@y6N>wX@up8WakX3(N4?t3Vs4sl^j~4h56)#pWtE$n2sMjhugh#{ z0;Uky-utC=%3k95)0PSox#UPgPsqw-B9^tFt*xDP25G8L;2lR=bm-fI`qU!JDhU#M z>!dX&w5=$T7;9Jns&!tk&lv_-xc@WK;7EaE(`nu2RAOlh+bA0LHH02mwuQb|pfhmN z&LBqn!S@(PO>Z$x0iU3TfisT+{^56ih|ZmRnkOKv2?`x0KlBz)PYQ(cP%b0(yg&E@g#Ny zLu~d9(FtU1NLb*6fkMv;Ji#nkYEintPE!4O+4BM|{Kxu}6?Z8H#YN#4ix|;3sbr)p zZ34esxEXotXkw|Kk*o#W%n8V&gbD>i_B0a^mJtD;vCm|VbwSfA);CxAddDOZ`!n7@ z!{J83Qjm$Z2^qqD4DA)DGmTA+w5w-79Xoc6CZ-;w-rl|RgX%rchUN6Y{codaE1>S3 zd(>L6#gsVhU2UeXuFGu1)&R(J1}v{ETkxOFW)gM0c?F(tDIovS=IYwZ3roxAXJ&3* zSXo(_y91a18vxLz+4zwkeec&FdE^sMy#IXU>S>=E|9BtD^4Dd*_3x*lbnshP;coQ2DYVD$Nu6MqVy1F{($)}&9 zD_36P4Wqukg((f_5TFYHUr;Q3xwu5f2{T_aW4mUdxIKj8i#$F)%770xhX9vQbmQOg z6;lYU7LVEI88PQLW;`!k6L3v|C(S`07|jYd+NPix(O8DOh;8Ak%ef5$19Aed10>x{ z2wWA2US3_$T*k^B)ZK;j#a^`_kJ8}q6&g^VMd3-~F()Q(@n>^$EA8IBkGgwyQz`TA zBEGJhI@-7+wYaoQJw4rgT*Je|G<@ zLOt@F2Xx_Ev_&O~5OB^>WZ<5KkO^N&vq+Cw*b>h>hlNzlQnLqs>YtsbwJl2Dv^$gZ2)NVX0X1s;gD z7L1AQJUURBqzM1)yRAMuI=Vfe8>DOt$rGFz)ats?X~3OMVI)tqn0DXrIo2d}E(GC3 z61IgAI@VNhX0blAi;vJ|jDR~J_gn^?r6q=xDr}ve(1^^0XJ}nf!~sbPCkR2o%V&PE z0<%v&^*BX^*z$bArAIp6u3h_RYHErfOFFX< zjyA`XECZM$OBG7Uk2w!5rAqG$8M`ipL6FiyWWpfj5~P!M6VL11bc_9PB2#2}e-Fg{ zNA@x+`ZkHXHU-)6|8=A``$Y@zg&s;<+2#1WvB$CktY}=!u`^RS7a$cC72FWO`xc8c zl@1)LrLK-%+P8NP-E;O$)ZW@bKl0(9q^|aE`tS!nM(eA2dfhz_sx@uDNWOP4Zjo>-l`)Vweq|4}y5$=Gesbv9a;%8yoXetfs&7 z@!u?f7NOz4-%y{Q`uN8`{<$|i@Qz=)alQXvjE#-e7+V>$E{CBrw>Q8NYJCU|FI~P& zXHK7?H^1dgbpQSL(O-P&ujsc0Z40nMe_J58)3g9_| z&U4mupfj2yigB}axkKYkE77t^tgGpgNO!*3vQ7XecRf|b%Of7OfikZxn{`Qj_+0?r zta|ORsS9Hva(E-oI7!Eh%X7F6viv!gF0^MyWGeUA09g|fA)qEQpgMLy*`+d?-`8CX z04)B!NQ3CWTNE@mVJ8;G4BnFO(dHU{Qrol)Dm^22kYAqzIbxl0wfNKF3VyLB!H?i4P__cXSXQlwO$>3fWE|F`<-_9Yd-P&5GnT<7` zihwuQ(b_|uZ9R12=zVnU#s%sJPkLj;-b3({294>Zm!78s2aeF*y$ASlr*Gfpcx~AF zA@$RB&NBk$HNb&w)I5ZI3!0;h00USAnshy!r(Ok&AGrUt0_oj!^vH4Q-MxpJnj38t zao}|uEhk$38~MU9lg{bWF9PQ(VSsEXHjdyhZ54`a4+kAYp90G_2KwlVy5}dSZ^?$K z#e14+5ObIJjcgFdq|CEe~X|?GopM062Z^hJ6N2Cyt;PH;I3&oJo& zJx)^yTr#fNQ*5#39Y|s(BZ>V9=K&u0I*8cvI#7(awY9Mu4hmOqVMNmgf>fHL zqZE+UsF=oyxmIk_Xrc`Qj46PoIE3PrO)k}u;uOusce?VMHO2{q9c}`h+N!4_+7T)e zKV_3I5y_fm5?--i$L1?MluM+ujIW#PRJ~&dEltgF@RjkQ#?Lj>HS&Ag)!jwMkDO6! z>R$T5`~E3U=|29?ewJ2OHt1b%f4@4{MfGooR8glrs(F91DVgH)F6%z_FF5z``l<^2 zrIiK76xe?h$WAsl*YfL|8<*6z{oKa-%7q()7r&zl@!>l_`3`{oTR(p9_kM3(eg2PM z{NgwMu)BNbZ(P27JwaG02`Uc`$k1Y;2T&CE^l1`Wk~#&GkDCfzz) z#GXY|Ix#K~1AK~|-p^Tu5ep7y<|erC!q~UEs*dhH{U$ng_-?v({Q_O>JI`ZBb6o(~ zy{rn4zP?M;-Mxo;dUi1%8iGYUHUxp-(Sgdav^3A|7ocBgAzUbv6%up=`*&$2%@HlttopMHrx`N^N*bBLtB_r2%CG;(uPtTM$j*ix?4aR)_BdkEbW ziTRdc)*JbIp2vaa1aE8jgycAzM?KLnjS)LJN?aq0_s%4;1&L`$`QG9Dcx({w zL~zD&ixO{o$CJV!Rrp0Bl#gX?io_xkK`dyHptH*Yd~m5nw_|`juLtTLLOLwodvxQ= zIAyTNz!|R{Kp9`#DmrNnVO!0u>b}}Xdv@=oH$V7xwSM-}M?Ulul*^RSyC42xT9{v^ zqeo6NJq+uyO#+rcnJ{p1-kip|zRKr!Ztk{v&z9Nsi)mfu<@o(XJ$GKcwkzvf>o3gB zPQNtJfBCzsTdV!p!tOxcI{^Cs^~d|)|4^U$^1eU&v#*|*yFLHEUAc1YEz3(Qf!^Sg zv}IG`DrUr1kB{GCUi0}EyXoG0?@^oRC+N!MYxI|Y`4tXmNsCxF}r#%#G$w0uDvXfY}Z*w>C7#>2WqIM+T+BaXd}auBi1 zh`ll+C)hyLweA{|{!w0s^Y6>MPucOs4|=I>@g z5hun;*ea>lm zhXV0;9e=$7wy#sy`%QZ3;?oLH-LfGh=#t*JaYYrBmxceFk**C1&oH!rIVbd_)Q50i zfB6@GgHE45^(ruC02gfo!l}`JDnlc%0woTPSzG6jk-?!s8tCt*t5+}4;BdbJ7ZX~? zu+0+}$BCi_V^vHZDyyov)7W?YDs!*VZNx;Uv7wpX^x#|Q6QB533__lL_8dL<;QjRG zw>(Jy@w2~g=?L0}i!4wu8ipixe$bA`=?XNHsu+0I%lKIyy>4yrm>Aa#uAf_DL)5$L zFpq!@7~ttytZ5!GQ)oizN>}s97JvwVMhnX-c>9q_15;Tr2Re%^L5pH(ioUMl1;Ru$3>N-JD#YIl3c0Iy<&c#tC zOxdrQG#|qSclL9E4eKx+QJ!AnzRGAy-{3$$4Gdi8Yhdr519be@NqYF{k_7UQ?d{TL|9)6=QW}iHrOV7Cdhg1x0L3p)nlyFwX0WX*X~}vXG{t(_Mn!QHnvs7W5L-21@#77y86YU z3pX-e$brsw6iZRrhhj>J#PvO;r&eXaaapke%*x&sTS^ALhc(;?`OvZ7 zTHfSI0}9WwvQp-nn?Mw!t%=0@8R?3c_F{d9>lMBSXQo{}-Riw4P-kZgRhBi-kt4^b zx~hS?I(9MT4V~@o9uJ)Zo zy~ex(?i1=gy122qaeiWQ==|vTB(?^r;MNFfrjU7XQg)T-Xsz%bGqF}TwBdA+EYF{opU zt4t`2V8?+jq7w*3ZWN2SBO`;h*a{7d*vU9%SRONXxd4kmbiXwJI+EXK5FJOt@l9+; zSwCOmfH>*kkfH!;e7`7MXrsh8V>N!gvOt>66`sHhu*K&)vD;~E9Z{Ian3xWFWIO+f zZ?)wEGGn!5Mv7ju$Sh|RYhJhJABS9Im<=6WS1h*0VwSsmCyw09pi4Wf!1r2$XvEG4 zo5)IbiK;3!=Mc7hxGc)D?g4K zokd$vs-HuLy`#O89(w5Q^saZkGv$n7+#3P`LrzQ@IHwHhcH$lbeFOr|v0LNZjl0@+ zRe|0sG&(xWE*;P^q;b1;cmU{u)n0WqiiIjoaVROVp2P-J-&^0n8!Ud_Sg)PE`)+=W z3l}cZ^Ut5B2OfC6jzpLH!gkDr4iJicqUB&4&kaLw(8NpT#cNBm&_>h6o=u_QO>acn zB?89)KVBoq)K+1UfKbEx#C;iCCj?#0l<{@8#C>F;U=LhfN!6h|KfRBz)4;*;*Vzz^n4IMc_V=5uhPcKZT6q09I z=leJ(lm^LZ(4D;6%!5e0{uPKWZ1MYVtv?>GJ(-Q|t^nnY`FFmOainb)3pi?tu7;h-I>P&B~hML6JD z-Jr>_NV=5uJGky?d;#a6 zL9vNt*A0ZkOgpf5azQ9Q%R-Yf9ca79372_`(*`wvS$kjSsji|y2ae^+cwNW6g8c?5 zhNfAA0txpu?!D^jDr#-%qQgfHGTr6WU1w-##~!M0tfM3f<=)N6#32@;v}<4(`#jU+ z!h4KxC!8a2mf>3u*DoA)SW;rNHnyRFryz+iz^c69Ks^7jE*=*QIHA5_&>2~YX-@2oJ#uBT?iOZ zXke^=CeaC0Hl5MXHHr>Q%fA&lRy($0BF#6}U1=<2#=*mO*NX-FcjFDr-HAZQ+WH;w z#9LUk_=r3aigcHZh{c4dn676OysG1Ax)r7^%C%E5VeqUwy^ghq>tv&_PE)tXILaH` z(NM%*u)x!T&_Fwt2ptDh2Y@ngP+7QI)SY&0Kt&07ajqoVr2^d?bbsO13W@|4@$&L= zOHW9}@A@Jz^4q(KXEmL8(+NjE0My&euhRPDG6PMxcQiG$)7u{W07r!17=D??CT=P~ zKWllee#i*Ue;Dcjo5uQPb$R9J_4mJ#KJ>vysJ@||yJLxGPv{aCJ(Zn|{~3s?L%Tga z%XF!+@ms9;2Vfo;yg_rbGisB`^Em_9`CcEbt?e8U4M38Sd%|?eHDC^$r!hH?*)rZd zT}K$v-}qZsS0{b!WB-IZNKbt0DY1=n=RXpjabzvHV#g;YCvHjtM{UqlEp?s8p%W_k z2rmhw6GrU1F*`p+wQ%r&^G0c@c*ASmfHu=GPA#Dbq+(kfXs_-f6`}%POAyPUgQ(Yw ztR4Ad@&*v3z0A9*U40*Xc5tQ9b!}*9W*}!mpArk2laxp-@I!FO6DFs`fRsvFG+k`R zzjk2S0Db349eCXLZ4uqC<%^u8lNHGb9kIqm;!!PPSr%(6FwMYDy+>Q23tiHp&k`;` zP)Om=pm%_u4E}nFy51OI3!N^Ibv?0^lGvqDnr^+v{l))#dUo?UhrkxaQ=zE&+2AQZ z``mZv`E%c4S07HH4YPFR$}2n}1N{dc>i~HRL71r z0p|{`RXAT|73F-60iba#<&~A}T+-ds#VN1Hjvb*ljy}X*@|h6DL>1k0=8gQG!9j-a z*-T;!Y0rn$7XQ$KptB6#GCN@)KR^{2*t6Arm24IA`9fir+HcqVT zff-#R@$1>=ze88AU8Pee@1nQ8{ULhb!8g)lkA9o3UcGA5@T?cLxFg^u()={ty)#PM ztc-I^_nEp=)Y~ano?X+VExp zC?Wys#+D8pk61>campsoiNti*$g{aK9CX`xb^zNZUGWC0yFnVPpc`!7hfqLH$R6TG zv}HKO*eKBH(ZaZZHy;2D9fBjz7iy1YSQDAf;Nnt22bG9u5u1$-qlq&dp`OGh7FLfA zktD^m3$^f0sr3{cL<3@iZPZWSvdi!UosVzgaRuG9#dHC24Pp}phc;BtTT@j>b#=}3 zPhS7eDZg2yFaG)GX>MUkf$JtZaPS}d%dm~M`Y()g`0df~DNmBf+MIc2+bP>dlT1k|8#v#)+r1-c zU+5qebdd^uHXe2qcpd8`^`85F>WTILb_F(k%=J`F75d4R{XM4KaVJxI_v5{Q>q$1J zJI6Vp+kn50h-L=U*_=3eWMp3mQ|pqMz~Oq(YhcU~@^H=A*vzx{_ZoMVSD1ET*3+5U z+xDIXJQS zwj|qtC6JM^v21J%V-VP2VC)ZUygUQLn8o_WYsQ1ec)<*eVew%(2RX`?ElZtqt`3#M zs~4-@tE%_zJ>S{;?0wF;RZUzNjCn_^RozvuUbyjp_WAGM|1_LBd&FED7Le!Ku0(>H zFngqD-QIdkCbMLd6E2fZ!KNQp97JtPZVNy2nmac!}j`<8>CV*Es2{PEL@m z4!7mPu0`ftXo1x$*T6X7XMl zat*GiD&_HZV#g4I2a4pJndoETqg*ah@dO9HzL{)kBb@8i>coX4X?$;DqH^SF|E2x8 z+~BFEP;Lt7e^cX^fB6~Y9KQSi{GaDOv0}y2|M$YhOAqA7#v

    <7IM}CMX^KW)q@# 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

    %?S1mGhgHM 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®l2kxL<=s^{!iggPw&e#kf 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 literal 0 HcmV?d00001 diff --git a/resources/profiles/Snapmaker/Snapmaker A350 Dual QS+B Kit_cover.png b/resources/profiles/Snapmaker/Snapmaker A350 Dual QS+B Kit_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d4dcdad9fe6a4298088621de942ebdc116eacc GIT binary patch literal 222847 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 z⪻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 J-{c@*HkAfN8(BtRcnlEd!3 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 literal 0 HcmV?d00001 diff --git a/resources/profiles/Snapmaker/Snapmaker A350 Dual QSKit_cover.png b/resources/profiles/Snapmaker/Snapmaker A350 Dual QSKit_cover.png index 27f6e27f4544df3fb25989ee6fa76f7fd5c948c3..17106bf04310ede64efd1e014ae4e81399a102b7 100644 GIT binary patch literal 218736 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 H^RWK|p<@l` diff --git a/resources/profiles/Snapmaker/Snapmaker A350 Dual_texture.svg b/resources/profiles/Snapmaker/Snapmaker A350 Dual_texture.svg new file mode 100644 index 00000000000..bdc061158cf --- /dev/null +++ b/resources/profiles/Snapmaker/Snapmaker A350 Dual_texture.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/resources/profiles/Snapmaker/Snapmaker A350 QS+B Kit_cover.png b/resources/profiles/Snapmaker/Snapmaker A350 QS+B Kit_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..2e79b01a243a8dfa583c8cd7c00aecfdb7690972 GIT binary patch literal 217420 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�S2!!`3|O!u?wan8 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 ?NzRw&L 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⁡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

    8`f*SfU&2j9()q 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 literal 65597 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Ėn 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 diff --git a/resources/profiles/Snapmaker/Snapmaker A350 QSKit_texture.svg b/resources/profiles/Snapmaker/Snapmaker A350 QSKit_texture.svg deleted file mode 100644 index 27777e16db5..00000000000 --- a/resources/profiles/Snapmaker/Snapmaker A350 QSKit_texture.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/resources/profiles/Snapmaker/Snapmaker A350_cover.png b/resources/profiles/Snapmaker/Snapmaker A350_cover.png index 9400dd45fbaa86a3936d526700fc21a001910d63..dbecc7e061fb40af7f79a7b29cc78d0190afeec2 100644 GIT binary patch literal 207557 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�q6uT6Yd>&__2Y^;j}4pr8RTVm_JUnkX0l_2$8SE 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

    X4 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 UtrVbADag+~J<~f?z=x6l50T0TnE(I) literal 59158 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 H^RWK|p<@l` diff --git a/resources/profiles/Snapmaker/Snapmaker A350_texture.svg b/resources/profiles/Snapmaker/Snapmaker A350_texture.svg index a21a1396073..92a346e0c1a 100644 --- a/resources/profiles/Snapmaker/Snapmaker A350_texture.svg +++ b/resources/profiles/Snapmaker/Snapmaker A350_texture.svg @@ -1,4 +1,10 @@ - - - + + + + + + + + + \ No newline at end of file diff --git a/resources/profiles/Snapmaker/Snapmaker Artisan_bed.stl b/resources/profiles/Snapmaker/Snapmaker Artisan_bed.stl new file mode 100644 index 0000000000000000000000000000000000000000..a04b55a306e5bf967229a023bc926eb628915b47 GIT binary patch literal 7884 zcmb7|!EPKy5Qax0;sJO9KS6{oSvkck7}+>hqzLdCi5rL9eS?w0g$qxBcnFYkv)9sy z0~|Pk#3LXMTq5NP^;iE>_4jPq@vai3vejSz)m>HHGyD1F^N$Zcx;#5LJbHZe;p4-{ zhfkgyj4z(Q`0VN1w{QMC*!T0p;Gbz2rmb1iFrALWbTPMYPiL|D{d9YM<=#dZvk=p* z*-Fp`@#Fj7Y+ir;({-Eo!sfD(1Bk^QhVNfqjHh3m`S(4co|+hj>#Kjxt~UR^`t}AI zN~ApuzaL$UzaD==4JFi56VUkWy{|Sezx>NJlt_CRUj6ZG9ENjhD50L3fX17jKi&NO z=Lg6~H&@cb@ZIIJ@t4<&h7#(j3DVAK@qO#_is-vG`w;}! z0iB6anTDSXI6qvE5&HK%p`N5;cb$%WxP}sGN6x9id^o`zxThwhu6Br|u~}Zb)L>n; zm5Zk)puuY2A#&d6L24+$o^Vf1K!aWD8cL)cX9+cwU~jvpCS0SPSFWK%+HsC88ba`l za!*Y_gQw^T>Pm^U<7}sf5{_z{x=5jlFFu#}kd`0wKoBhc9e2ZRh^V+$Gv#H(Zw0*B;bQr$( zl?P$5hsV}b5X{FGoeK>m()OIs=&+`NQ+gpR2jQs+XyEQZ=R!k?w7qs`bXe0+!fGiz zH31FWf#_UlD3P}J;EWDy8cJACgr_E4!|rl)E;N)#+s~329YzfyOgTI?0S#Nj7Ec<` zP$F%3&S#5~8cL|ACZJ)txIyP)CMDALvwgPRriKz$3E`;;Xjp~ZpmU+1MB0Ai%vLqj zP{JxYJT(CgJnN!!p`k?D=7`?p%^8GxY62QI!4~uTr*+XRw#9Cr_`dadMfiOlJ(&F{ zQ8k@-y7!a82t4n^`pjMvjNLt4(~6LMxP}sGN1mv`d^o`zxThwd!7AAylEzBBcB!F+ zdTIh1toF87GFQ^kH`GvqJ>j03fQI!r`rI{?NIUwU8cMLY-BS~;(atN^P$KO(#}*AC zct*LWCZNGn^ai`GMA~s4Q$q=!weG12Xz(_04JFc!dxaWG@Xl~gO+W+B?C5o@Ly5G_ z(eZu86V21X0+UO{aDrX{L06z8<5bC<4y6g85y1SaqJ}UKSU8%McEvQvg9T9zV zUsT#3+K+uy>d}+oVNvx&{;qNNI`o7ydvqOJaS#*oVe|4$5$W+KJ*zR;cMyX^peFS#!&tM(XW-Nj#u)`WVjANiYAu~!q+T0SyUx^I>z+@hwr z)=*DR_{x)*z%u7C7YQH5T1cV+StT5m^Kwn^AaoRWq#)G8-KCyaXhCSaN-&%6AaoR~ zry$hBO57tVC0O}|hOR?LvD1>6T0;C};FD!M?<`S8X4lo8^Srvvt}n zd(-WnP>=PXt;zD!-ik-B2Y*85vh5#x8t!_x-c3*j9O7%Q@ep2u5)pC-p zt7NGw5~8s~j8a!_uQRyxd1&~ktm7gos|MUG)2)umzF8CM$sUYqe@9eGWY4cPSnWQS zj>cI&7pLG>8-L0X7Wz)#z*C<;xKYm`tTsjInfOSF7H6}ys@3d79_6&RX z@Thvic7wk&h6ZG|95rKJ>bdRvSDvEkQG#o7dc9Y!?j9Y*eMx6iay4|B6eR2>md l%e%FkQ6Xa%nQO4dim24XI^H9yo><;8?u{zmMWSmN)&KLqM$G^K literal 0 HcmV?d00001 diff --git a/resources/profiles/Snapmaker/Snapmaker Artisan_cover.png b/resources/profiles/Snapmaker/Snapmaker Artisan_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..e93435e95286ce5a9e15108d4079e13e4479d61a GIT binary patch literal 241679 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 }TbR4&%Io!8VEI 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%0D#0POq1)N2lLMM77ifbc+b3DA?V`aJ1l}t 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 + + + + + + + + \ No newline at end of file diff --git a/resources/profiles/Snapmaker/Snapmaker J1_cover.png b/resources/profiles/Snapmaker/Snapmaker J1_cover.png index 6c914790ca6492e8d549afe99ad1e84ee25eccf1..7c185039120887a02cb075328106b2c664b6a1aa 100644 GIT binary patch literal 402570 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%0AeicYpRcR?V)$AS#(-F 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

  1. BF6-vJQVyL1WLTQj`)!i$9B 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¬?-rUU>KX?H8=wi#dGE z84aA*gH5E7`ugO7D4D6MDf4jN zFRw4J-&P0uJh_>f3^8*$t_|2~fh9e>t|_b)X$_tZyS!2=~?@> z<2a5m@7>CdU;p}t=&nov+fLYi>oP5-j*@pVAUp2&H+EEH?BZfx>BG|ax{s6N#L2?# z?c-M%<3w8%^L*l~ufE3fc;GmnD49|4U~;G%sVPZp-; z&g}JBw=PTL$j%i+2FTHoNtW>JZrT}GeKO*=WUST1ccxRD0Sr8O-{0Pt;?)*vrWv!W zg`OC34D-=v#VNhD>tsWV>?u`!qI~6vWl2!}CC2hp*Q3b5#;(-W#bL7H^ZCHG-7r?e z=ox(itq+`M$J-k*bW`RMH+-$o6subiR11si$jDgAHyjscmVkBY{hHXJ{N zYDrh7nyQX#)r2LifFgcZIZ$;LZ98v7Lw~jF;+BhRrhfLWQ{8y(`pwA)cMJ1L|di+w^Ikg0&Ne%T}q}v?N#xAMe%kz0) zE1Not6Ll-FvCzkfT6Y|6;O*_s#(^a)nOIBay=k^Q9gT-e$y&_Vsr5)=gW*l=kY+!ccIs44D?1p>rcu+q|;|HX(7e4Whh&T>Drn~Gc*(LI_cLb zh)+%snm#3iGljDb;1Hs3VR-7EEgeQY!Il553fM}HP*tEu(&4~kp_zosnk(a_sB|gb zToLw?($anBgdav_yX?Smbo83cxQ%(JHyQCgp*CH-doKj%xKa*BS3^TF;oBy?`@kmr zV*(pRS?_Pzb;x&PFYkR#tdgO3O+DKP48~rPl6N^Z~#N~@{DGaAk+Uv%|7;SthpufC+ z>mBGZ#!4xR%dGGNb%B;;aeBE}zsCCBZW}Nhd_S<|jT>5TFe4L|<}aOkSI5yF!N<(C zpyYyDHe%ySrH(97+c(z~GLEL9J{rz;a^zbJ&UR2jp$-GPNj~=F!?|xeW;Z;Z@5tu3 zAL4_K;}gc%_dHL`*-^Km?&Z*E+5+dp^e47xO68cG0T4-Y zk{RPqs2ekt$OaW>OZrSVP+DSF*%#XEa*#p;2f5W`-X`f(@ghC&Mc6*O3r!RQT&ONA zjr>v+E$gL2Vv-bG%vZ0qt}f16roHRZrUy6FsZfdI{(Zk=-?l)-Zu<@2eDe+d>Re!1T+yikLRV~*A%6l zXI%fBDw^mSmU(bpgPmi_wfOaG+2Ywd&nK_7KYt2hVj-C{(a5MJE8UP%lip8CdLk7w zV-3Ym_fDhh0_Lz67Bw+nw%n$EIsE2iD(Za>GjVWW!rqd+H zaKu(6lvMEP(>o>@SzA&?${AH0)7DOG`yF$1oToLqog@iRNXa`gBgfV6~puNnZ=71E8(McvwYK2UOs zg*T^!+wD!Aii~aBg|~D12sg{ERv0oypVVll6cMyd(X62aSPWj7bKq15Xim}tt_3h% z@!@oeB3Z(|-GMdf)>l+Tw#-eqXlz>4Ze#sncT`2c~3^z?EL~)e(UWKh&%UPhf||WhIF3>G&%jQRY&xZ5yMDb4Do{KmF-n z#<$;ogI|CDJ$~`$eWnyTduUYzT>n%rY<`>nvE%)cnnt#J9yrYZa4}tgMi@u-m+@NOKj;K6duq+NU4z zJK0jmKVs6NZg#SS`~HT}^^7J;wfwNvM?AEOu4Q)vaiJ zTS783=c2zrIIB6iR`kJtTkAL#AmRrI*G_s@y`3YzmL%0D$T9|H5DAkiIj;DZ2eRRmL1~bcq#@tGpNJK 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 literal 45686 zcmd>_Wmj8G7luO!5Ikscch}+&++B-P+@VmcxVsc-iv}p}uEmNK3Ix~U1xky%zj=Pg zd)CUAtgJaXXZGyb`?~Lm)6!7H#vsE0007v^N^&{?01*D)2aJmNro&J%7XWCKP?nR{ z^E3Z9R)`G%fRTA_UmOMA{jjML!$th&|M!Ao0s!^O(bgxA!Nu*h!oiEE*48c&lqSQT z*aDH%J~YBia=V;5S{Ed=DEcZ?_^k2gx+-*6B|%#?ht!Y?+{}AinBE`R4Drhf&58jN zEkb#HW!NApxwW-5R`eg=lxvl$KTA|~zQO-~?$c9F{QEf>;5*EJ^I=M2f30mJ_=ERI zGGz>V<`|OU$j(U0OYxDR;iWK<#J)IERcnmz-9va~yM@%OK4ygNfZ9LM~*B5EPY|Csr zHJ=saX5I7Y$<@ZjrnIi^BtkKTD(~fTRGW#R!dJB%cWiiNWd)Ui1&x8DVD8;d zxrS<{&jroMo4t)OwK#cIq;|L{0dQj*i&h7qr}t zvDdBnkX{VEvbgm2_Qq-_Ik-8Ry*W-0=1y2yoZEPJbNuTI<}0r1c8as#pDeCxYipmS zdvC6*>U!>(4MG3CpVQ;669b7>-Sce&`SY&}RpSxrgj&a&{Sn8zKhn970Kp$o+#dd= zCUw5Eq{reNeEAr8Qk@W!q!O9D!7f%d>DMMIi@UI}@LV+2Me14ozKA}bQkzzdy^-{l zOhL#)lF+)5_XJ}7Az`0lQJfk>;MAPIcps_?_Q(D8XSVFu>1jPXHGrnB zJ>6r{WN9WF^l(*PR~6)iM;T|b(nHbkWY0+z(^_-5EJ`^|`gyS@D%O4%JBdu(qvOA4 z7-VmgIvXS)z#pBOf16e2bT%fz#mE5vwcKQ%*As&n7zW4oJz1A%v)yd?XaDB&@9Z+E zpVgp%x!3{0<>J)75ZF*sc`9AOI3(bu`T7?wV=P)-@AJK8Ee(JMrhF{M+5cEg<-_d| zB(w0FZ+EG|`uJeFxHbb2>YvXDb7fE|8aIFSDs`!+O(S+P_n+I`LFoDm&n2nzijTy0 zQ`N|nys(p-Lexua72f*u!}+yl*Etf{!S7;1NX++Wx|878 z-qsi=z>?A`4r!4Pu=#4)iG`3EqP-=UR*W2QlH0oRo^~$ZeDPY)P|>w{Q(-M$=KQwK zgy`U6O6sL1`Jp(u%lrB9ZllBX9I-Z%4^Jp{_|AIsgYW;$ z)6P#j^^V=@_u=sHuqlWsn`p%(>9^p!|`$LjB0 zTrZWD8c_j#`hRlWL?%%MjU~#iLX<8{tNgF)#%uM}8C569Uyj-~p7kGAFV*h84d@#R zO0PBroJ1yzRUV~_?zLCfG3{|z94sL%6sMpPW%HEGpJf|K7XEIJ`~BAPM}(}b zEZ5J?O<0^W=Ft+<`1rV+k56k)Vy0_)Jr1VZD)R+U>biM*3+Nc#TwlKy9DiA;F=0xSr>Q!~%~3Q?x($$7Zv7i%ca{J52np~G$4JqK9st-? z_K}c~;KET%rl?>_M0NA3RfVSfwty1&OqUJm#&_|iRbN$7)-IQ`^X}~IXm~1Z3A5gu zk8_*&cQL))_O-JcW`2eGJoP90vygF|stE?}8I?2V5kER|gR}i&jhiDA-J*mjQ*E2n zW6!DoO&(>_8qkOGWX(~dhXAouN+<*6>x6;#(V$BQ4UjVPUYfb7>6*s*NB_CYWhSs7c1Py# z^SAvuFH~D4*ZzeCLbNVSk25Ej3ESP73giB)G%NI(3$ItRuXf^usZfXKM%$@;u zW52-4(qZV|%e8RP(sx;@u6&yqEx|z!Ona*@q*9dL%F+R2D`GFq;ehuXZqzCPa_rR> zo6_4S-D$amm!dL|fE%hdXE6c+#uNRsG9#Uyp7RRXHRoiqT|pHn+74a&A@_8DBpl5x zVQ`U8peikULLmqMz@ubLC3mB~@&_N-UHo7!@MhimN6L?$PR6Ka zKXO@Z6LrNx{cW|9%j#DS6Fkr|u+u_aylwaigH6*`#+Ytpz-@c2Ym4OJ9?nv5Yr+M9 zPDR!@g!+IkU#CBK4=_8++==AD?e#OQ=%g2W{7rTXn@hy=?0RTVZxx`0pgl%?VQH%v zk@+`qo#>6k@O&t+vq;%VO>Up6{$a>a-;uIU3R7P1Zd8jSSbV^i^;`WlT^Az&P?xry z2p||p8&nG-`zXbvEn532y%RFh5-jr5P?V#H$l&c31vU}`w#-Vgu(?ML5AKe9bAcQyN3HGEyj37F)obVar_TDFzzS9F zwKiNp2R>bGD9&4_6ra*_oG1&WU5Ydkv7&S@wH%Gn#ywsI(+|yU`M|e4?bVl#?sY#+Lk!RNh02 zZJW1AViX2YA0Te`t1ib-^ktQRtNg1PW-7?ik}OI$ZP^LXqC7wIAhnX9$+T-~mkj#E z`N8^%oWn+z7WujpOKCJaGLP99N3f4jK3wo zPR*gCzp>u+3=(OT;=tZ`0Y@LpO=xBB0crngdM=B(F_+aI?cJlsKXJD?o|O{HWg$z;{)86S!g0rWq{qPs>TgFS(%MD! z&!rA27EUQ&r_`qkx*b>J<8EeoKA~H-o0xY2cZ~t_{Cs$)NqXwe+)1GZ@7`E4qn|=w z@r0$$cmfz+ISrP~AM?W8yr@KBNxSp5Of0L7r_e6C0k~!cT4y49ug6YCheMaJc|T3o%gfjBCEhQ~a{V;y^q233eALIK2LVxQ zT@+`Q8j^f=Kz_ni$+4PJ)tuS7XgAa~*g}vU7bv>4&HEdD3l4d=8A=NSfxH)pgm>R0 zXA85`qV+Kqe96!EF|0G^v>c!Zu$a$^{@AkN1iXt>!xAczSW%^iU2U?&g$^TghUJjs zHiNvgg?jUFCnjySNUsu;lUI63*3Y+r&+475D6l#eL<(H#H_IyYn6hc?l5sPm*rNJ_ft^V-?ltFJxm{LW;XhI0Yt z6E4L^)!$R}Vb=JR&x^xZSugOOa;91qh9ud>3F#L)>ZW9Vw$RwiDLlclK795E*E^&GQOq zyiuIFJplly=x^hIci=CgR0kv=90=SGcJx?%0RsYH)r>X^uYYvRve8n=b6TS@K0uU@DQpor~Nn5yK z@EVD7l&uy3pgQ=x(O-aTa=0~jNhO*3vuc;0AANsLtRaB1gEOEv?lS56ZZY`VoZz+o z@eBwXn%#8cG`!aQF1OnVm(1^&7KVu!A`s)CTHM~8g`gBkSxB6zo}qb$_}`lho3*(Q z<{R3XQ5)8OgG2lz>i%o5MAulwkVCWK75b61krBcU;)q=9m(qmY#dOyewk#!>WBUhx zf?+Od6yOEad zYY2!y%ExGE=eILSA$y(C*cLBezI@S>7l2^aq}2*gASWHB$YeFhLJ5$~I^$IILM3@U zapzDB=yl(nC4#9bC^-5KkhKUzQIL{CQDuZ#)X{#b?aLEv){{_C`79&PMNXPS$F1g* zLs3EA(et7MBco)>?MgCB$l(=|{iuETUH1b8xud@6p|uu5t5}SepOL=) zY6qOb0j$4ocHa@27{g3yDLT*a;CfpQ!y8!HoG>Cyq8mSgMK;4v%UD)WG$N9`r7qt( zXRA<~fttjxn_)PS?BZYt*C|uIgP_$rPIC&htAhQgCK++Qns!8E6x!3%^YuatP+gPW zCge-y@CWN77!v>#4bfweY?V;2-!5c73^MsVJTM@$GC)cqDlhjvdfR%VCx{Cr)aXDw z+5>`&?Ke4d106|e%L<)j(?kA@?J|2S3;SvH7b((nGfV+0i#N7}v>V`~O6|@qP07^) zX2@QV6RQDh5f~S&e&mIVHO7Z=&AAxI&T)vtOA>@o-a?2J2t|;>K66Q&pyzWaKB@QdPyC z%j!OYjg8&GgElqN=j>JZL05cefd9c&K;5`6 z5z5&a$ck1~4_+3IPpyg74Sp4?WYdoQ1*|+Ou9?@7u2I&N?p@Zkem5yvMLb_NY_^|! zKUMKmb5&QVS6OwKdx5+0lIMPsG!?QP$2<^kVQ3yRM$RAC*jyK(RH$#vWlPELuGl#nN%Wsv^N&FDHT54khnQ(N^qdb-_j?_Loh=o2I zDLV}MVI7&1hff6-MiOp%7+KZRL)8`{Q4YNb$w_-JOZxIxDfizIV* z9qWEG7Ve>i_m|7FJ2^Xj)V*M5D~Hwd=uB{P4n_B=6bRJHXI)$Lr%(rf?o6gasUrE4 z^7`t-udLTHPgPVBD_?OCy}3ei(qrH^?hp$3sHl7AWu!2?(ZuI8M-(zs8XAx&C0H9( zJ51+?N?UY)z1uI*Y<~M>(7N)SO&xplSk>LZhbR;j-ub}PhwE#f&Zq0u;tJ>z&(60u zr9GH9)RJm{7wZfwRo>PvC>TwhcCw;aXz(~R#-Y$zAg2jcyI5^U3ggfE8YC@&c1h2e z7G&>DTwQC3K-uH8g9EfmY8qA@JQ+5rHgf&pEGF6H#09>Ox1Qzr=5%na9g&f6X>8!f zIBNo>)}%0i40J%;hf7?BBX>6s9XU@MoSkFr$eXH&z>uP2ON{d=axn%(a+8_u< zv(@2Esf*9Nazk-j51#aLj;4Yx&h+>a&MHXojxaZ^2V?vPQgSv z!yFo@Z_DV^UG{1iH?BR1RAw6MsO8kFCTt1UG37w4-EA4Y|0AR7L3UN$YvN8N%e070 zN?kz*&$q14ZO0g_s6O*kEAnor1vBW|RB7830x7!KLb`#kytiO}OeqSDw zghUXk-MamrL1ZpL0_&>K?wL;@^bNb;r*~LsmKe^6xaiU2>n^qi*IcU{IB1P zX@G&KtgoxXL`852tRpCj{W#`GLKJs-wm}AxI{{I6z^PGp}oE14wgpH99nl7l_pspekDGtG*V;+5uy^3 z)7(BrVw@cK{JeY&4kggBHHRdWL;h<_zgHEyw}}b)FV7LmTQ1eu*$h_Q14Kyi`=hl>?QjB`|Cd717_X}=t=*%8^1nx9|9uw={&8T6(*@?ip z|3UTBOvv+o$VVEV`RU!W6L`cXMk&L();jxm47okhN-4bG za!(s}L-1!q<>%WwI29c!)F7yEDm4xU6<{G;oQuR3ne94T^p%tL)kE zoR9A6+I;vO_YVT)YD{+2n}yF=tNB|8{jST@iG!B~YVW{XtlBA>gB;Hbp#qy!jWw;k-8}iu&&c2P@9Ec-e9)1+#a5;mo zt*H?sCs2;e71W5?Xl(cdX<=lLrhaacmEHQuf2`jL0#mI;w+4OCW8~6wjv5-$I`-by zhA0brc8LYr1B15yZPL7c^Jbozhb!K)xCwv~6(xM~&r*Bs8=+jULX-W347J_U(bpg8 ze-PN8UW~W08mm`x!SLBW4(M9H??Hpv{o!+B61wOY6r>@Qnek7~sn%E&#qzf=_^Aw7 zK*%1?^spy1O4{EHK*Dc_C7B{^=Xxq3Hw?<6>Bi(m(vF&Q@l5{#ChNsk8*kdXhXc)E>8Akt6-wlUH3`eGU!}6~>4S z-F$s-mV!WjEJdQK#K|RR_YT+QS#I zu}cgpR<$MxY`NFkfAn(+s$L=a?Ymr_V1!+#2_eY`_&F#s&#+0;K)@=hD$x5G zChyxsvo7Cs>^@2?BEAoyH1xWfpJ@yY4Cqu}v1JYGjZ{@u9(>q%$fq0l0>UE>PfcdI zP35oxv9^dU^8F*QE6V-6l!A2$cHCXH2OUd0#vEd$`0BK6WjRp|XJrvri3fs>L2=2x zYvwwzt&QDp1t($G2vyT4S&tqL41&9uQU9?oBLEf`T4AHL>Rhu`>xCcdq+Zx+>9g-BQQE5#C4Bzj{ZjqF@Rc;ZGb zdKF`jF71}u%o4Ut4W;ywr9O1rFChPW3~sR(tm!SZBtvqH>)%RCLVn=6a_4^jhfPY& zFH2H6?Q86W2QEqQ7*2?4kw9Fd*rE%FZ38gMpA+?a^ z`*DTkYYukhE=ou5CN9j8(1o|ysO2SWgbYwwMa42Z7WjfSq5!#UDtJmf{&r)Ydhpei z5tEn$hKz=&vd~=_>t|6Fd$VQrH@QY3wDG$vn%m<`n}nGLsA9w74$ga9*q1~fiF*MX6cPI zj2Fp|e2lOZ0tNwh4K#?;nbhNz^TXc%T};mdcNhw5E1!N8hx2L>XXqR5>%9k#q)?YB zQu#-6bso@lA|y;aSIov&Y0qv~hx3;ReSm&7<`*((QFjYz0vCvlh!#VWpwwAGyuebR z^1sIl(vEA{Qm3#-Kw0X-M-uumy>deEB&iVB@)9LWuP49X(cgb^g=AenQXme0?`(Wf z@a_dS!v~FG_0Em9+bU&Y6OPAlh*7N4+wz-wr@rr;{qA;er=|vIE!{cl+oc;`#}f@b zce6ZA*&lv-Tjx2wB%2_=;Av%zcWG1*)0^=8ti@8HJ_H9Rn2qkwRXY6v^M`_Gzm}%Ae;`?t&8V>?97ysmf$O3~t z1(6~{<0`78PAz@(L6J>&(jsSSAA>;wg*ve9L1Tc7xb?mFPuU-pQ=Z>`ytq%({UZLO z5{tG{pibqGTb?Vt3zAl0n_rwlrRE_dpYm^i~cgc&0x`-+|#l)crU*RmsA zCy9C2ng>Ob3)5I04)ZkAHa~Vsh=PW8G1JVBNryuF^nhQq9R}q9Y4Qh8HydR!Ek;G^ zIYPQJN|3_cFoS~x%mM-YL??daibBxiA=|<$=E}Pgs!9Ss=Cel%8xj6bjojW04M)mY(^0Hijz+uR_P zgcm_C#utQygo^J!u|-A8VcvqjAYk3Kpcq*jKS7G7|3B?E_bf)iqg95CBycAPzUyqGF8 zH1}sTZ}jt1>X2K`ar_r3Negdq!Izbt9<}FKjjnRjC8Kg7WQiAAmu~j_>E{Od%ku|y z8RunH0-}~L{zV~$N*!u%U*?uT&|XEx6Q4l)sqG4aLN=O4PO-kID-v7`H##iSZDVmZ{{L;xKDXz~H%Ol1?K@+7tbyR;R$TFpM z)!qIX#^`#&*S%~Nwd#knourtnD=u@C3{LhY4nIGC#|PWTk*v-@fsXQG{MwZV5#{L4 zUR~YjHs0QUyP2te)8sHRnHNyMg}7&bEcHjHNPM{ij_94-LBiNvBVma6XN*a)6Y-hX zJeNDvFH3V)4SuT2TYey8m5_*C%9P^@MfBh0j%7-L&54(}dl+S?c(~~vJ1_KlZV`z& zd|698i_tYa(KC}Y&ra!}OEbTx`7q0o>!Z2#b*dJcu@7Ya3LzSTRcM1HUaKpYKC3lt zGwVSQ4zs1|&2~q|#!Ue&Eq~v#Fq{Dv${NN+ft1JcE<}2S4ygnSMTzJKStf3Uugv}W zo4?!V(-ZlAzcu5yT2_lKiN%=w&FboMohyt~B4S`!cqQ^{C_TaJpwi2+{Ag=aZB1L; z|D0hosR}GGh)xk93US$Jpr?3}PCTXKQy^N$)uh>41N*b`f`2R`NGWM961nJrj| zYKTC?J#;)Z55BWiP{3{Q-~sc`4$xu>ox-l}%oHoq3>zFu)|HyaX0)kML2 z`!TVY0>gWIZ8qW};~?;Zr!MWLy-Zj<`E_4}9{nWHrn9OF^CHP55v4ETflX`|;9MFpij;e2^2*nrSMkfT5bhD3Pp;dq#(#?n^b1+{H)QLN}m zijZ0&k*+GQwm-7ekxEzV%-4iCoTXwedAX{pV%{g=d#U)aB!=g>b*E)kJ?j?S6WRw8 zqO9C|(G%kkA%n5;VWB`*)k&9JcQJGUrP?P@wiL;Cd7iiZpUkKn9)mj=xkfJo6U3~? z646d%Lyc%~#uSr^5JgR?0)7d8A>|GtoUQxyJ7%E`@_m?e<6DanGF#>EoLiiFeNW60 zL!y2L+N2ap@)I4TJ`h3IR5aV-Ejr_)pi17Q_aRw$4oDob<>Ehv+V#-ASs0@9#P#Cf zbvjfIpbQq&)cbl(41eh}_u^21QZwsA=UXtrC{K<`c?#2mvmHeONMnXQnSsVyBG{PQBoQ(MP0 zanyS)Pg$`60#5xz<%zE1()q0piYbFrRZ2?>N1sa4quVtRh8F2#Fh$NJMkf%m6X_~o z0;`Q%Fg8-WKE=OB^5@PYVPFe@orT0jNHXFIBvbpE!POY2b|5y|FqD6MXI;K0OyqqU z^6|W(o5t=k^!WVK zi)P5ZZU%Ew3Cp|D>M`j^tOB8QK!9n(fXIj+Pqu!(NEl#;XqVJCn(s>#)A)Tow2DRP z0hfXXC)w9`7B4o4B2zyce0D=@NJj|7Zc)ut#_Sy;Vz5Hwvka_cN-+hg`{@*i@6p%| zV0<9Mw;E{9t1&G5tyC2&pfrLo$2-^>BTWtPa{4_SwZ%msHu@NyXb_%pSFj4B%!T~S zn9WBF=<*w=Jbuu!?Wbv>-aGaCF~gqlzzp^i0N4 zmr>@d2?G?TXYo@x2AA4^?{w**<0lHDBK*k3RRZjOx!W(8+C#L?#QKdMv1kD{PNW(5 zlLD||vR6tSfo(Jsh`kV9A_&Z9+U`MnwA>Vf5BTybm#*WGz~N$>H48;SU-tHBy3Q1{ z!601hLUeGigda2~6aP8ESs#cba2K^#c*S)%w0sy(+N&;pAHe-AWQg zU;Zfa#EVHVmBWRC3LxaU-E+q>W{j!m^XSS)w^a5XG*0bq*`gcE;MhmbqF6;1*XQbb z4=@C)-C>%pb1Ry>UUHCes`tYlsd1|dsi)<*5&@8MlnIFaR*<4Doi3I0J5-RPq*zxQ zWZNH(VnE$wSmYB#gOeB+N+}mBnXp6jS&2gYekr$bOB`L>MrN}ccjc2HMzdu<^@~!O zMqZJLTL;RQwj$%1;1b)qa2{KzIGhbi=x`CmM>wx0pCc2dVW509$mvwxC@3iCgf0AR zzmv`Tob~dM#w{W_h?`U@3@U>1Z_{)G`xCOM?LxA>-)bn zOT;elTL^A53!KKekm0eNlpan*M0A_PnkE9G7?|DH*}RdJevcV8eAR#`mc#pP*iSnw zf{4K&CW|U5_K_C7fxzRAeI-kLV(TF+B}SP{LWkl|Wv0J7Wr0?I4-ZEt%IoTw`^G`p zCt(_v;Nx6-lJ&qu^Nyu;em=+Tno|2jIxZXHoaJP|Cl%_|X;lA{C6qJ3t zAWAb`UmE)w?Gw<46gAACGeZc~8l(5q2AZm>iufn?YvLsFDL3-c>_&*XGim9Rg}B@@ zAk6abLXA=t8eP&)c_YjWEF8CLj2T=v&SG~{6B!X{#(nCrn6E`Seagz$g&}^+*IW2AE1Clk?PcE1qh~vFV3XKoE|scG7?3hZ8ou(c0R2 z_-AJgw4^_rOzAvSo2?1EV<6ke8*>jI!P_0jKq1>*PWOMSiYZfy@!L?7vee>5qVL#x zVq${kCwg7k8I}0Tw)2ozamc2B^V~Z;&@Y-lybrkR3FouxQBcFeme;Y*MS$n4&KVwm zR4$i^!q#Ytl^GEwCs_zS&{dI^NZHz+`3~q=TUi-TBQ`%jAK+B={2a^|8aU?2+CWo; zFa^CP+(HGq`0TxBm-DattIG%bf|8VlnqobV%}r@dR(N|bg6rNnOj$3zOtGz&CTvpBThwTT2j`rV&@>ZRZ%(Zb2qgni%D`vTRXhbKzIbRV8>akw{2 zF=L?l=}TIX2idH$modozsdtD>aD%t|r1)Ljg{(;db5$Elki3qOV>n7N)h2>vhu5uO zaQ|eZx1h7LlWq|(#&Q1c(fh}sczjHyj+B{HQ>uADuSL*J zenCSE^_RdYi45|g;h5kn^rT14JiaJ{;8P@t=i43c+fyqQ)R3pY7Jv3~+y*>V8D;Xb zIWfGIA|_s82HUaxMDP7Rnj41X@+N>N@TA-S;@~9YMNHD9f^t{lX3bh<93+S;=?T&= z#VaovbJaBER&-mXD<3`T9QOn7;)zHL`1hs?G&gRC zh45?XZ(shrGFO@szrf-|C_n$Xej|&P5v={{<5pY9vDYRwqWOA&iCIq0JOayRrMd9wH<|L3K9rHLp*=L8JdcFmEcHM}S$guVU zruB7WNb-AK!db?Y&=9haYO!L9k8M3?un-v_lJ8%_=h^%<5stB&*&{DZCEG+-$2d}M z&mWARw5(8FEtI%UuRffpJJy7%1RV)3!oyK85B750OXd6wnu6B~f1w1c(67;KNPRe0 zzCT&t>{zD7@BhI^U_=R~ zmgO5^4>1Gmk}ogMkwK$MzI%r*6!xfb$u|$>-8}w`TLkK~_v2`^qJo>Mm5r+%`}wLk zfFQ`C+?P<%%OnnD43#i&n4Ds&wh|fWEh_gl#>(W!HD}WZ zWWUl??hsN&U3-!b(M8g*c5>&V%AgbzIB z`Eg%rR_XD)qU^G7Y-%I8D;}fyBe8@YU50?qf*Hx}K|8~ba~vRfpZqH`xs%?Pp5yc} z2=wjtvfgP(78@MgSx-D^sBp==wI#W{s+y^FWtJ%QjT**1A*R~V&oH9KBiFPVyKbt8 z9tNeg>BqClg%_7}Nh9GUSBPe2Wo;WPlKc8m=8!{lgq9UyN^jRE9h_!VS1xqkrS5_* zn|&_RKLscWCbF>?4}^zDI-kq)+rc~E|8>B15x}tubY?d@jng#J`TVb8gsQmfxF=_R z!y@1hqmej|+u%Tdr5p<}j?X@Cd?AZ%?uflw&TH(HFF)^G>@}=8D!FRmBU1xmJCX@Q z^FvGT;EE~TA7yiJZykh{lZh^4J|5n@fB*g~h(Q*$R#6mt5Oo2o)dPuWJZR%B6=??>+7PLO-%OtY5C-u9K`XKF59m}3lme044;t*{l7;~ zU`t0X5t=Z1Z*7no6b>O{|0W2jGUl@8pcwT@`_YH}e7A>CZpGmwHU`GR;`*=e{ivtw zvOs^*K1E!v6H8G_ZWTAt3nP!d*OZ!$rwqPd6%FCDp8g;LV=U)h_*?3iVx-cX5Gt8_ z7P>WDX?eK#LsOvRjfC?X_4n^pf?T6ZKK2c6{$obxe1y zqQee@55XKQj~6E6&MLANLYbe6})@ z*|w7k3axa|D^N4&z(fPOMyb-@QLBRnKxQRom!Ep!VaRCU`T-v#Tz+J#gTH}XHiH41 zMk0~RYfOZGe1D(?Bu z6&|`+xOJ+|;G_RcQdp)|AwN?v;ocn!iBcXE7Yn~;xniNi&B>`TJ~W(%wxF>Dsn}pg zz*_yi6`2@OW3*+lEs}OR0yw!ura3*&y0U0*G zKBnQDzggBSLygWn-%Qb%=!pPy`(>#GR})x3RjzKzro`q9VWh#Xe~+jUrv9+%u>mVx zv;mt>+Cc1&s3rc0t}1}lII|w1-FH5okBda)X~ObixRawI((&;k_}3{@gq^woZ^%;{ zf6PKG@rIZv!@}#mEFU94avArEQBvZaSfu((lQ>Zh4`I?y&Pu_OzuJ9M%@4Gkj-+`! z$D&%ajDx1~CCXVS-b?&haG@YZDjA%PsoBMaOw4R4xmC!O%k})cv8uw&#+E=h~~F- z)t3v*;*XVbOCJJ0Q<==k#)nZtaq+*|juZcEg78BJrll?y7i-N_4Ul~8r57ephHn3E zZ9HGMxq#^g+ovvh!=Y${16Gn9k3%c|K-Rke;&vTBjOxZBI!@8xgtb$ml;iv873j_jlw-3d9i{k*SWY zoLD_~SJ_vJF`+mV)I~2>`&9QSCMv8_NO8gbcdUnElsc0@UA(mC)XWuZ&hT~w?M|y6 zq|X14+!L}9WP^eb+oJlOs!yThzK+7qJ$FsFz3Sm$QjkFfKxP-q)y=I{;Nb1?8bY() z#PjFH`Nr^_OCELnNuJ4QG-)HIjvjHkmev%v;?;GsdadwT0GD)G=rPfIvKVP3B z@F#qxM3qy!Amlm00FA}8`9E=LE_y#r|ONgnI4%ao=6a?A?}q|S#z`4IrmY^@$&3UMf< zxye?d%@T=2$(-U-qA-#oSnxi=NSFi^SLn0cdmCY-ucvo#wBz9DSSYj+$WQ7{J?go3 z0n`av_uu~$f75l+lR#;tvMfy%a6sF6((_Qi)5;-+63&FDXP>J6%1HP&hnEaHh3 z1jEJZVnldyfsxu_kQBTr#Yy+!7e)G}_Gmw~L$aN_!8iiXGOUmY&oZ>F5LX{yc>%K(1uftt)BRaR6WZ7~+vkB|+Azd+k&g1(~b!&q4BAw!&2* z#Cp+Hw+#3xV~P$89}{XG&l;B% z%u;OvLaTO)pCyAtk4KAMnikk3#1a=?Jv`hGypiBJ5qL-BMPL4iXjx{^gS0()1?Lw3 z{vQA9qX6Q7#gGXW5OPMIftKVtVOInrJes=L0g+9lCACY|>5yXG0Tg=pPOHMI3p`ans zwlK6GCkvR@H~eGn&qOyiX=tE#${+O^h0`d^lDyM7h{%f{K?{B`&+R#F z*j>R;i|^9b?>!ABgMb!G>@75}a|zuZmO7IjSt^{U#(`DLkB?hi)bCxc|2SQ2EZm*B zcTZxMOUIYnSd+laqvw0k37Ar8O1B5VYd^}PF#L=7IW4~izCsT&)Q8P%%7z>l{x(57 z7`l0oWpg{HIW|HcBndLVD31{DB7|h?;nMAD-l{+^%mL};@8qnCQU};O*Y}DT*hD}k|*nyLX6T5Y*)TTIKjC@^Kk_fAA z*cC|?(zYxIMKrEfp2_8-wG8uaszR+(;t+OQbG6oxABN})nTP_+^B2aOb+<6>JpS-@ zXr9b>J521?bhmf@2x0XCs#9NPSxuw&foXGSJ%A zS2|{qJ)B&jL~LCT7_c%&2cwxgu8SEc_>a8FZsHu|kE(HfUFnRwo1zFgxQya{b|0rg zL1+dZjU+bd(xRC3GWe5Yb zE4NWSMB6L-{rm9eQ%RVN^#ziqyRANvcwQ+lSO)torF1e-VqLpK=5r4 z$=DIzF1sf9OtzR-esR*QYaolu28m@hR!!cPQAtpVWBnCV3c}G!GpCU#_45NpED6p; z1<)qHJ}~`&DA&^Fy>@$sP!4p*ed1-$MEEN{ZNcDMS`Ss`L3i6!7n7$rgZY=Xe>eOO zXsCq=L=M`eC<`c;K9mwFVm`-TGuaJiwtJs5iF?mbzt!lQm>}3>jaiq0dza6Nk5hH0 zhV~AcBZgCDRUF!hMFN3@L=ki(ddeTgSjB(mo7Ba#>TNq@=7jU#@{#S9ktEo+uCkweN)W8JzsWhG3%Y zh>8qYovs2u4kvG<{iAVZBXFo9GFW?VsU$0OTBI|@Qx5`%5pQ%}AmuA@+l%DBLLsC* z2)8qrv~77hD1z?zE>Fnv5&qY0bQ^~K$o##p)6WgI9jkQsKm=|^i~UR^rva_^-H_}e za)3BoforGiBUtFmYio&td85dj7|rv<)U@!mWSj0qa!__imo5sm00#w$0|rR2ovH{b zw)KIKW;M=)L~Te94I{`EqJ^JDTuUH?Z)Bu92xbgwbmc#y763uwI}CyFWRB>2 zDu*yA0JnJ_G;~DeU?d3(D@b(zggh%u^ro&_I7T1cL=WhVMX;Fk3QW^{klw z4@cQtim>q%Jc!KMN6AvfseAYV_Vg@gAVxdQieEi8rqcD=-<-_Zyv3tWrGMAu@ysod zI|2}gX8cQIWa=W(ddufn?E&WLl5Yqb9~;xMGfok>VN>ynT~UqO)5AB@SM~Oin9dZu z@2#lNnpye5G|P!0@N#kXg23$=gdmnh_r*tCXPBYNsjT{^O@k(A_)eBeYdTcU>;AP%m4eM685RwSdV za2DLv6hSBwZTWqQ_-Z(Dy1hu@gnMp;m*^<1KrPC8sw8h)EOSx7YW0ja@624p5X-=y zD^5p~320dSrYoHKF?5qR0K+@{`8N$!V*-jI6bD-7PozgHJNBok*45RGG=`{r5vpUb%Wnfq< zeLrR<1`P`HSf)7AJEVWb)-B;${z^hDalcoFp~FJSSx!4mUH6jCo}^VCus&E_cKiZv zkIBu~@c8!a0&C!I`}QxJ!7IqY&PVdIqw^kgV<&%8Zbbr!hp?9XBWa`h!S0Id*MIgA zP&xP*}p=B%8py$10&+ABSW zfNkGD88vSq^<>*ROj{b^tD1}q|1@_Bu!O-YA8qF5kM)EL|LP_ry+YN~5t~nueOq|} z4vUli{gs$)yDqeO&PxL~_(sZiRlJlAeH$peR!uaWs*3a6%WWpx5g%JR7a3Lf?xkjG zlco+m2kI`Fv`O+n6`2mX;mSbm{rKRF{HBKTo?HQQf+&^oR53tOE8Q*4Eo_vV@VZGZ z1(R}6ELAetA-RQt!#KKU8*dBL1S%3PVk0Tsmkx-*p4!^p*{CpdfU9;~FwW5hbc3N~ zVd1eSeRnG9&DEOV-O7)p1!}QB&r{yMO_Jp%o;=|kqCty1Dhh&s*c_R>kRU1GU0>he z8(IDN)7aJp00*3_z&`U(214`VBXu|}nxO^Ms9MDgTt4s&B4X=CZnaEx5@mIq9z1S8 z&L+*w%&g*Om2r~8(88?3W|0viBZ~v)-T*nyH#oUcS^speS4Xd+S6~$DUs=$=GRCwa z@{es^F1mKqc~gMu5;{VmEH`S0ib-1d7%ND$jee%A0}5Meovmv<1WaW#olCaM1G8$Nv>zh(H& z!}S-(_6cQ)23o*_f<;w>vN|SV;a-=vg^DJwUJ?SewhreCaeqq`6#%(IWgP#q#?Y1H zy<%Wc4L|8NH!&{Y%yUph=W9Zjr|_abd{4!FH!U-O9AI&>5!q|UfW|O)*Hznj zt9O6+1h{xS%f3N)Ni7vtAUsWb$^<82c=S}!%24!9!Ongk<=fSa47TE*^;U|cH&Icf zq5721PIx^;`kn_wpvvBvCmY~X3@%r6z2N_L8RZl|zoGk2YderFO|fVK?9S&mwDG44 zTnSOR!Zw4fF9Ehi<+nyra~~}XH&`q03Y8%0FzKLJGozMbKx-#bmDbLu)*npH)sXfX zC_p_$>oMP2IFU@mR;A9@v=mW~t&k%_5Guqmmsy221kx5t>KtRGIF~0pCXQ#>6%(hR+W>jsCSlhl4+z^I8)W| zR(?v;)7u_fjml`7#B(62JUKrE?pE!$m`+w^V=HNTVu3#$^8ysmvv9LE=#uoJve}Cm zpidxvCDVn%U7CpLYtZ(%VbYOhv6>(CY4QXzRHHc?q00o{MMb>~mRFZsV(`sYd@u27 zrCRrPVTno6LdKKLNuHFfsrloNL<2$u_Pi0LnHxwqSjQ0EUoxG~;!Mz$rhvlYQ(?7dM^sn*lm9tK=!65>B=u2?Xjb5dd6kHzMCKNM9~QqPVGIB%XLi}k)S zlb({;`BQxM=%+gL^LuPr3+#+QEz;kPQw|N~KH(fqU~i-N?y09h^Fa327srcTOMyeG z^Tk`P>fp1r*TQFiU*B6_y_I(fksHbX5~*EVLn&FT`tS8Ewl;cVYX&sQ-2z@tbpO-u zu`Jp_T?cCOdXtEcMGrzaCnA)-IF$sp2YV37w8uIQ7O+>eaZbqO9Z>@-3?n6S6P#%H z@b01HfkarM2L#q}t^Z^xK)4XK-zU;*TuRTU%+5R@NzB$0e~}5uK^E!IhYaYeW1iJ- zuZE)7@@oTNdod20VP{TBD+TA4+ewL61T$4Xa~~rD^Q(K=TneW5iy|+5X^=~=-WkvQ zv!vl*6x_M;95@bXX`Yfv86`hB+h5zd@FfzC(*L>C5hUfdN<*Tq{)BNx36rs@@l=x} z3y@224_IoOPG{POWl{Ow%#^L1F7M2E;uo^Z`gGFy;CC-QTCMygdHs z-=EmN?k#dDC;IReb76v^zel;Pghal_r@wlfU+`9vSD#wmU$h!(_;g$c6%Z{=#JJof zo}}8RQHf4Uk=Z&~AAJH%dO!Wlo8;bVIZEM+_M-DyI){{fRWgx|h@aC}&<^YP6j@CobR0Dxz*bugT_mv=}hh;4v~XQlR355t6iOI-u(~hX0vIF^GLc< z2{xx&wYLpbm9B{7*=`i3_%E)W=E;rByXTc=SnDzz*Y7SKDh|s2dBJBF^2euGuvd;6 zP+g7%-M+cXvJn@bD0&&^^B928K#*D)Z@lq*ey;2T>}tHmiQ09xl|zn>FM*1xM=A71 zlNGLB8Y}+3>dX|Jg=E9K+%quTHUxpg=ssmj0Q5>`c;hBuT~+&xhtys}*&)hPllfO? zC#&~F`r(ND3(Pm()%?GW<+U=OZzkN?%D=B!?mgUMo}nxij=dSAyuG%T`-?4ib8AZg zR7vG>o#+r2#k5l1Pz>9b{|%8EZ?YwP{?<8voCKYmb6gGFmE+9ui;x;76rJL4)kLDy zaov5@$Y`1;&~3lV&Zmf2#$dFRh$8xAI{K{y&{v;^-DPugDmDIYQ!W51Ga zdp7ZU_(|vu!kf-PdkUzbnNy^}TgPwLVORX#70iCsE1b7<)y+Dfy0th9tus z)8kZ@24&-b_dNcK*OUx`CeWKxQ=4;|zB(X3`FoNQ`2x?nFFKncV~x;pG5br zV(Fc%eA<-EM>IWAjixc}iVrLh*R1Wh_E*6p{!t%teBU#nDRkGf}yz* z{E>Gjr38Q%V>I;Mo^9%;hJbW!he@Fj_2ZBMdm~J7>g@DC;pZwKdnyb%KYINPYut3* zj(cA7(%!B}ap5Tz zrZgbax2cP=8tfD_^^aYp<{R|`?W}=@Lb94(;)|191$49k= za1;egy{r*_D?ILD($^U4z8yfdz$dhGq_Dj@pwC_S=z*J?Y4wD-BPF=KJDz=w&=K|) zChE`wFc(`55s(;a8P`b-Xq}fch7A__^%*_-P!!>|Z@18l$}$?xYV+YR;Zc9fc}G3clYHxrJxn}^0`W-2NRi7ajsPTHQR{D>MC$Gp3d z)4>mD+28wV(VZslze9I?YqJkh4d9kaJx}cF&%ub_&<>U3o=sPDFNM77vpulME`KJyCe^VyOS9A{cIRD&5V^>nj6 z`1Z-KI~dtEIuT_qnR&rCLgJEEBfA<(>tC-@HD z3Vl(rqlLTAtlYWS_XS6~FXJ$l#NH6F>kkyWLijhSFuoUH*V~i&_nkqFejPA03MCsT z)lsoh_&|Lo8iU@nIgfn>Sz2a+AE>s!+$J{GRV0H^94W0#Gcb zmfJNXbu}Ax>u2OXP#7^IXMcCcw|aq!7H$ErZFR(qFVYVq2^vTY;HGx!hsS+VP*N(7 z2_I5A&J@IL|NHkWW*MjmJa=&5Yi@2#zrPZCy7%|TL_}TP=0w}2C}3ToUufX*rf~9 zJ>?>R-d1_3#L)EqSocd#PCg*xMWlq7m=s3b@!iX&i^gNvt0Jb0DUrQ~38^y~t2&(O8;jOjdHMeTUS`%y9s#}ajBZB?PK zqC1Mnh1c3ij(k=zL&{I8XBrKHVk~wr`=mP|Ukcz-rawm3BocK!U4wE_S0 zITZao%v2Eqmy%U&Hi4zxdF9GqpG&>zb@N`llOH~+BrXeicL1kVRh$g9jrbb;5+q1- z=N%}FI0$c6sJ_PDLqiauWv_t@Xfn~*!O(J=YoCR<@x#z9-zn8*HeLh_*xxYAcY7bU zQQ?fp$YpCP)P-&tge~9h=L@B@n@9r3qRv-b_wKKAP3$mNZXjUprHG8MEdxW@pp)q` z9XP>G+#`urzb&yLC`e$FhJcC>A+BYTU7K%u6t~Ka7tn(PpG{-+RwvjOgTHC79S*_j zg!{VU9c+SC^vsa_zHkf~tzytiC3!H4s`Tr|)nxWX9UGRi7J+V-xgl+zW%LSiKb&u# zCHz_^+>IB3h1@5B^CD2B8L+4U+`p`ZZ-Hb)8CHM5)O2E=W?(3a1YR+Q#dZ@2-{1H` zn*z^n;%_=c0Zo;umB-=qP`0tJ>Nb)8EP3%I5GokDwxcgus2unxsc(ZEPTuV$xEfQ+ zIhJDj2L~OQZ$Ie&P*ha2{-IhqDgxiy3JB!^Z;QJBj)|@>w1{l-J~W z_4)JXLmxNpKD{@Pt)|P;WAkQUeIQUaa5?)Ph$QtJW@zOA@F}IN{(>V%n9hUl=G<<( zxO2YqmHO#2T7=Vxc}cAH+y3OF_55RnG0sD4gQonBd*KxbGB;m9?>7F8O-{G5A6&N^2%4TSKqU zEAT(mNFndzXiQRwAh5oxJWEGgQ<_U^M3Zjb#rOGpA>x3IXyn2q7Aw=D%xZ{2nLybr zzbn}Nn{5jjkN;<)a5s*9YRC=nI0QagZ%vzfR5I*PnrO0o$8!a>xWs;Myvwc|9?cXQ z?q-IXI>aUXZH0!<% zZgJ;)Fda`Q4dCws{5m(@11}ITaEABBQ*BxFnI1nQmZBj%x%bucHLao>FApf#oSPp) zg~f_7-Is{pE`7h1{j12JXdT6er;TSzv;X2wEX9g8oVdx05C^&)bJrQRx3;W^y+;Rp z-N$_ZyzPdI{UAA2(~ zG08KF+4epNxjcOC>|BEEhEbG^$S}dBE}W1xC#yVmm0`TZ%@fm zFTjHL`O~KYKiVFgo-8J^?~(xr8u+&%s)IxCm&80(L_DgDA{4}|FJ2<&pGUieo6Gi6YxxH=1s?NW|<`F}^l(0n2VdxRF(f%yLCJ9~JN zlM{3_q2^v02cdfVN%DZ~|9|{70xM-SlDB?$iVtx_S!)#MlD<8=zu0!s&F+4YfYrjx z(OJ$yXyFJn4G@lx!a#Gt>Xl{a<&9Oo`=yw;^`A>B8!eoej5eWFj-dBS9VLmYns|Oj zqtI~_0&EXb!_diKL?G#8o4pz-+s~c{5fIgAtRt9llAeYD#52Ox_wfl;)O&;iF&W(Z zuue3nGigW-1)_(oUDMp3RYlpD^GazTJAYAYAVJ`Pd*Op9j07&}h}fK017*=ubrAX` zF3V2EJMu1SLt`Gr*Lr>$@C5%SZ0<2pZcw)pmJ2+9+BG7{> z=)Fhz!#iVcwL%TsCXaG1oR|qEs=xy#Vu~-JOFQf1FtxjniFn{r;xS3Wh$}usr+s*s zJYgv_pO(N@piJUDO;JMFM$`$MI`QfOzE{nbqx*R$kHWBGF6jX@{FJpUBzeTlq0HRx zv$H>dvFCIn$R5Wdk_LrPPzeK=&q_B zDp5xz#>I^&{Gw@pM8F@2B5Y$`a4-WaCwQ&*fbsD^lShe|ap|ygnGbPUEF2tN19)3Q zW+L5L7i}6|ycMd;rFk9&DOg6OIy6U_Q5BwNX7IoL#Me1LCD$py-HF3~xRP|^LG_Lc zT|3Ld+`}M$W+P1H4-NPs@d_k|gxkGCzpjfud=OTF&YgkkyG#q30~iR;)TtxM%#fJ< zXm^%xUi>}kC+S1X=)ve@7rsj_8bZIHv4W|OdYWq-_MKsZ8fuZ~8MlCSg!)P(Oq)D3 z_H3wD2y~fCGq3#j zaSqUGz?`G4t|j$P;2s_BlePKe{*4NFEAZF#duvaC@KkcCsHEiDVE@K~q@NP8x^ssB z+@g(ly?*U0f&`Xn!eOi2azI<#U)#nZRR|`e6Zg(zx#N*KO6V_&PuYiZR_^v;ti2Zy zOtr79Y>;s8JTDNIQpyZ@QK@k^e6hXC8vd9#bM~z8G(K>Epp(j+Hy{yam9LBRJn*ks<}5EUG943|{&!2dsfGNPC&s7p6r1B+m?lB(N31&3O+XPd7m? zVG`k*Ei18;L%CYWP&b42IaSmT?!CXLW_RFgKVukpE*`ozeHsR$7p z=t3KbkRvp02T181w7>x<>gKxLHXdcs4o-%a0ck=UtFkwHcgZNuceeZOCx>MrS*58! z02)E=zs#SUMH`?17$>gJ`&O&!bMCos7fuTUB4WXRKRBq(duJDik3Bh8_D41mmw)`IQR)0w9% zARsBoVcju|ScDTbb$iOf;3({C9Gr1kZncuH?efUR7ifFgTpoBIZ~?Td*O-@$j_w;| zE0#`n`KTs-Hx?W*>6z#cX+7E!~C;!`{l*SZq%rU zsBOVG0^NP%1@l9^O95q!8cKV-I}o-H=3Q;y?Rt z=SQ2EZ%_`dx9dq^JeP!(>B>QLGW{rN*D>8xAxp?e{#DkGyWju)tGIH1TGCW~RAWC6 z$#h1cYSLa2d%HUrxy}Xhq?o$`V5(_y6^5>&AinNt^IFmO1JjR4~8gdlyw#3#KH_T}UZf|e( zj)oIU{RcR1N#m&&$9ftnd~|3CW)i~#SR!7;HFf{OAJdi!315j&&P7(KJcJFx@!ooKAZj5hp z7U23|r2*xI(Gc(((N3}xZ1du1b7F64NwVMXYho=`=>T92A~@07`VM9*P4(o1x$(4w z3`3SYR7E-Qy>Px?G3zYPiYB29of;KhWuvcb58j3i;vnTPC;-v6ye9q?K$pYXDCZ82(kck5Fvofv4p^`WtR`PqYDvvqQP82!cv5^PMEN8d&9Hj`j6h)UFL7 za-!=yNcMn!j4iQL+O*>RyWf8}tZithAT-1&*znnfg@v0yS*jr#M7RxhZD7_>XBp5V zbNwM92!JaLzNDIG%&M$TAcphaJ09$r4OMfD_j~gf{sl)X>eN z5a@8=wSO*R^u&hSDIcIJD=HkH+x55~;1&TXsNLw8`8hOfCb@goNa!>Zpts(qr>_;Q zfE3y98)L7#O3rmIIsQ|{-O1%}y}s!ijED&8Of zQ2V$Z(&S4tj|b&2gkrU%ZY?4jrs5!Wuhbrv8AfEE2cfe(H%LJmKu@eyfbbaAnS7P6 zx1$ITzVQWmNFi9lO22bruIa-&+;6!UsT#7;rh-zYUt=BneQsK@i2U=Y4v88A&xOcdJT zA%jkG+9rnoR5jmJ3$1kj1VNy?EHU_G+CbsvUQ$pHy#@DtOHGY~<@c#4j#@?jy{Plb z`yw8xv5vO4{qpSmC!P>X6<_eOgHR90cvs6_96jt)A7cLii_$mEgV(Z|ZXpO!m2j#ceGGtL{VXEgPc?2I}3We2U~BQ zM^$8|$+)ipsEozJQyLo^l}E83>=OM4QQEcu@VGtJ$eYb00A*8EyJ7`Xp&sgo(hKP` zz@=W$0|$*i(@dV~Wh^oCcW0A)iD$K_SGd z{#R zSkyWKZjY!jkm-Cevku)4Guan}5bFdF?y&0!Q-;%t>FEM6C4Ceai=-Pz2Az4|Hjva) z_I^lC4YrefagmMrVvZT6$|Q;@PZGLVd->em-DP`ydhT7uy9^S5Xq!`~d%F3ZenYO4 z=kxpL%SpL(5l^{H&$*uRP6NqxeQRrl_BStKxKsrPh=>j6QrVg7V10m~O$b=JtCRGC zfk1l9`q&2#z|QLQbk@=H2Ub>nZhx8z$9|mW-+6pmu}yubttq`{_mD3mkUsGHUsbio zP^@x<`bP)KF@7~(1f5o7i?qIKfe*fJvt;k_(-0FC{OtyTOBfUcVthBfLBfmhJfl2( zT%xP%_WkAN`XeZ@6p+o(m+#xYYf$G{&4}EWE1ul)eRmLv^_^-1SPl?K!y`>&H8<{0 zzTgoRZ)>hnZ@i}XTXh*KdI@KIwmo2Cpit|8xPmAq9;(EG-U zCayhiTi)E#8^h+RXG(*--R~PlDOe*4V?4 zLvEUpqEO#ost!6qON8Tf1xwNYG zyi4lu5GxtG|Iu)y0Q&p27Vj;f#$>!ZhbmL0B^=U=_$2TSKAlH3C#t3lXRmJq(_TO{ zu8eR&T3-C7z*VU}m=#^UOE)CF@`44RS^>cIfE(iKPDyO~SOR(&-#*2)`*DB#%a4Zx zQ(#&+cPH3Zmxds0;xku%A`>PfJvLJaxgR2)*=(!Ge90pYWdkNXpc4O5C$*5p7>9;Wq7Kkq36u>SWuPfEzpRk2QAFTxv0q_{An zP;mv2WSGn&flh5KWZ;qUsl0k%fsiuFCtDyp@ptNyhK3;C;~$GG03zYFA(C$+Oab)n z7f+?R@8-;qTP@usL1~a9&XKfO;!b7 zgzo|)!SHkSG|f}|8Z<)+ok%ReFyFpAy1^TY?Q=2=F%anN;8!EAb@Jm~AIs&sE8Zg! zLsR@;LeGmp5;%o8SecA@An^^|IQ@9Xn)C)pJcJ6=elPqe4nYeS^frWM1RHu}(tF_3 zpHKo^8|ftKj27VAl7dOuraw!wqR&WBiuwXoNw2h{cxj<*^KXM$6^?`AyS(|+=xGTJ zzMlAvS!$3Y>DE2cvtl3_Ld^N1xS+XEC|m0A{Ij=f6u@(UP;p_xh_|00Ltz;@;Sk4= zkhYvC6S)>CVyTL(cizw)LMjl09!$eMEqtBK+x7+W>?o3|RjOXR>dyLVnN;doMGMU0 z@Yal$^1$OJI*<_K@O-`<1M4F-c{>tCuuqc>A zaGr}7OQzXJ6R5IYL*(8u2JBYY8 zoMMoX70u;?r~l{jz4V#WE)@a|m?&daWBny(X-a3*|c%qqXy)Je<~k+mSpsHYUB& zP%LKL@Frz(rS5&~*bUp=1-U2-hPRjmZu2*9rard5rf>@Svv^9Fc~&=a1f+*iM6JpKwZkfsrz6VN)XP-|U(CNNYfxt84?ZOf;Nw^9X8IJ4}So+CIUcrNJ zMAlm-j1~WMso$wJUBs&2usYA!B?f|Cg(^zr-_Xn%Yn^kl7ZH}CtTkay>6Rmpk;_-Q zLzuTQ`fLm!bOrD6aWEO$7EM>EGs{pBS<~>1LLH%EgkC4eZJCPmI zae62Sy!Kv#nIN3)9kDiQN)X1(C^8~A*rPzi2IT@g9*$l=sNsmZ<16b446*p84uaPP z-L%!v|Dqm`x3RW1K8$ZmC^MtXdAZlOM|L0zU3nN(P1En0`URP*fh;yBVzJiatsRXP z?95F**l!d201V*aEX80yZ3TFf-*AwXluXW2@YDC7v{iI@+EF3n_9g-(#x&qR9nli) zfIb$S#Nau|(5MFR9LkBuY#wvF*D5B7;^RzF_`z!#;#y_zV)vA-@{`y+g})0N^9?_0 zpLX59qlpA9lAe_D5m~$K4P_|)HAaP9g8@Ep6R2>!;_}R;nj9vsdw=H&h6eE>+~RI? zI21D(8-=U8nY5@uG5C%kj@5=9S)zxj%R;95c2bhXyJHwfjha(rCZ%ZQdm`h z&<=^k*2~cYsUmEZ7f9aH=Gyv84NalsgTSC{ zQAFUZ??eD8e1n2K>G$QV532%VRg8T>wRHl~{qqk@I}Qv~Qn~TYVWvr{#;0r`Xa=kY zR0oVNpnB^&>L83ZcD zG!UpCXlVcP3s(>A55vlQ5lq67S_El_o&vo41Yqytz0^`}{srR2ZVRXfrW%426ky!S zULS{hmseJ5R&qjGC6#5Ex=2_-UZR(Q&n07EQ1Ql}S?uJ#{Lvv7yV@}|5fKra2kXyd zj_nGyUckdHR%$m!Y1zvz#p|rNNwG;8VlTE;u3p=<1z%!j zhhOAmX7(>TI@L5b%EjaXqYIutdnPZ!u-=uR<>r#cAPP>e7%}L zH{#?)`=z>C4RX*9G|`zvuMi9aLw38EClt0@=$#-S@wK6BfLk;Y^^v-B=P??oOeGOx zcnSHeB>vyXKfs*Rg?fw6U(ozK;6X`l&eW*O7!5&bZ$sreJ)*_c&9zS;@$Bmz5N~FL zXto!cls@X=@Ac+2O5nQXM=(jV)C1JrRzAf?k_9ztO_rnP~{E%5^LW6gS^} zf+&1;pFLVwn05brIH^5@lE}cyUKV;je$2Z-3ZkT%)V8j;ke?Jr^rU?xX{ZLiJ-#nA zTX_T>$}=@A7jpHIkP?+0uwD{J1>(R#>>TmGz7G&~9sKZHL~K$#JJU5o0c+6M*jOnP zwaD$;PS+l%o-#7>Y_^Vj&&9GIHhSM&1`=9kiW1WtX4kbjLAX@dyA+snpoMLdw@#V= z)ojYGKiLN5pp3Ee0mqf)YRCN71A~Ll-t4Z9r+rWV`za}p)UmMtkL6WM%Y!POSM5jr zl0)d(iHSZ=Zx2_ut?gT>n^jE-$~2#ZMLOf-BTS1sjeO4D^Z^Bq(d-fm^q-NQo}R4n;yp~6p=s$RlB>42SqDO9 zzGW4|2lmhdS3oH86L>Zt>*y5_X>^VTrW(bXV6XgOk`{ihp+@Yz z!)S7mBbg%Y#obL6MD$-ifDRk+Hk0IrW)zcHs)RfHZ4_+yM5^_JvEPNvDYGxmzeoA- z3C~;Vg(@Fe#Aw&Q+7XVIx?5%Yu~i#I{TpY__afjSjd=nvQDnyLvri5CNkk?kf8i$4 z;`M~WK8w!aeoLFuanNiJr(|IN8-~8Z7q_1p74V1ZLaId#88l3oh?`a`>nvdY| zgvN1l!Xz}~0-(~{*hxcLdu7c@SWx9TgY5Q@3L5H1EUZ9B1y1$H5nbHe&%&^>t%{ew zQ|nUSy*puR2H$zWwFFs)6{M=ZLVEgHr}T#&>cNrKXK!zY2VTc9;^#NFs-rrno((c(pSI2!oB|h1hHY)@2iUt*qcE%qvYSEFmv{~+F+CtkOP17p_ z&F*w__n&a@*37pzSqTQqJeWN;6+$o1rooJ3@D=)>zGo(R_74nfrFk$IX02M=tOQW= zCPDhw0u~SJbC6!wEmc+RTVK_m^xWwjKS4hH3=Z+Kv3ZZ=_QC&Z<$S2khY0lPsG2Vf zWh8ndd=im84Q}4n$2h4dDcy%jh>2o*D;BSwU|q&`8~j^IZq621y-3FSylhiNk4q<3 z8gEI+=oEL2(~^NHf7Ovv(icm>dSZm017v4rc3WLt%AicJ;IBo+ti9o3Be}~#g=%le zM_LYR`*(H?ZUZFkN52P>v4B~$|G(1}0k(L-2uu~^`oq5pF~IbuK@m`ibTsi6g0|*Y z0D;k)Fh?0`>=G(modZo2cTLcc6^qJi_BcCmCi`S6oWjN@)A?0j3&bX&lqwwy z+AUs<>yx^%rHj*jPr%zJJu52(hXcz69H6z%XMmY!5B0z7MqV5Y$Uc4fSZ%L7r{fPN zwAjzr_f?4TjUyGvee+*1Xx5LBT{skhCP8yqU!VHid_OVqcJ7sFY(4dCsq44o@sNgOKgA`ZOZo(*~X7 zt7?lMJfW^P_OiBLYTFc)m|ih1N;>U%$#0-m?uK0Sg!F%0BoGXVt<-*f5H<@`Zapr37wK9+TDel`E%^Bd2OR zz%K9S^mPB>{QNxr36+^JW4vHWF?hLOFTA3ZKiZ^Euv3zpA}HL>2mht#&dIbIV@~%l z@6A-JN`_RB877@|yB(;mm6^)l;wjW`AvPu_97%6B`E@bkdAv^jo;(THq~TOHC0U(* zzzQpcWW8wb^|`&;4ynCY_;d57=a9(4`?SoZE7=zdt?9{GBcs3XIqSr5N&c!n*G?+5 zLpD?d;lBu99`s&0;mP8K9c_4kT|nfX2C^w`dt@I36GiuZFTHA9#d9=vTE)|1FuR}yeTz7_U}_n zx18fh)#p7YzF?*o-RQ=4E@*k&@(skEZ|?+ej{~5#tW^2r#(QS@iqklbR{-BkWG_J|XZx=d3={yJz;~48ydO$gddi5!~U&Jndbn z{Z1>?0gQNm>{MIGbp@*j!cY#-=?DSmT18>?;-p7q*|<=6A=x0?TMP6GOEkqqujv;~ zs_1w&V1u69Z*+@={u(5wz}L}6kap$;@dnlv-QirG@Av$^ed_<1ThD4!PCw!ARP4!JtzjrK1#owlHf1P?N0592~PZekP+ zN%}zkQ>^&{WKSUY34JERA8_{b<1GhQoz^>}ELPjciTTmHKmYz{*^8KxdF%@_yaGIr z-)!xf`p4`pg{G@bb?fsXCOZ>$D5K$usIR$wdAFq#4sfe*Gb-`sWu&gC0-^%O z7m|sKT$r*mMD(k@^pA04F8UQ&lXC3(uX*;e;$l@><*}xMBj;P-LXrQ)5_j5OzHpRE zF0OoiI`k_Ao@**U#Zg(?ay%0_tt@8SzztZgB=_~{9LW!Uq0QgLMR5j1?`*bs3#y6o zj_|5wH7R@v+`gVAtLoSE#-={>@PA!NV!1+RsDl;>x3;!EId12<*N^)(pOu!@JElV( z3z6{sBLj?f5u{e!0ZFD$*lKiyG7=kuyMN=(0hv2L(4wG_iAEg6ihj>Eo(LWi z7iduFjZi+BgZyTrgu?@f;I>^0C}s{OYErw;e|-OcG4K0%kCQ$a2L7s_(v~*WnA4y5W<;jFfD*T3CtoVJIw-ppx z)yJvBaO~qe)%GDG!;YK|`F!?q_q5i{aP)H*tI-N>N6i(vVYAKc?Uj0V0=-@Rl9$dp zD(c}=@|HKHLm!&9;Y79dIec-y>^iyMw#R=sj~$2M&QT7^NER>@ z?zW-h)gop^y(VGBj{1)ChzoRz&N)MC=dU=R^6h4&(e$c%h4;b(P*M($z@|5ZG=?dq z{BHqXF(l}2qLCm!5Z(`mGWlq7py`6;S7XrPO{4wzx<}9!@{w$mMeg(;mz<|Y9FT4I z=$P3${~@ug+rSWsX6D`SIhV&lHb~7`k9CMm72T8}K$Nl_Cp9cf`VsoX^=2ukoHhab z5~GY_&lidU0B3TOVs9{@*vEPJOW%Y^gI+`6=)AI_V@8ZCV&i#720ens-d8P@ zKUg_cKfN(ica9{}I*OcISBOd61>4^AxnZbD2=p+*CPmnPUW!k8oH_jKxRG<^5@ zK{}+R7gEhVQ}6*T+%LdxB&9dTAJ2OoNciH7*ZQPi9gYvlqZWd-|H5)kXQf49wD2$9 zpt+y__{2co0pk`<5}z9#H#P;`Zl6%Xep~+BB0&j>UikwfXuGINOobU#NyUf&J9!~Z zzN|z(H7}7lVWXXzyk=4wL+laHgL%ki&%QkHE)rs@MXW|NP2Kvsg~k(NJf|r{wOYtt z#Gsbyz1p1t{l1K;)kt{)2?V{Jg*2U1uq!lXmPh7wbS-on>hLI9d}?`N53-JhrT?uR ztXWP&tUXbC^do4r{$BG~v8k}u4v}E}xR(a7x7v`V9B8c9V3wp0E!jc@>1ro)W(j2A z2DL386Nfxs%00$jB$J~q<=Cz@IHPjqgA}BEr-dp&LhYw$IQs`CIwqtR$%|zcc6R!d zdxc$(ALQel1~X|b3ih&bzhP1T_%m_F+aT9@X&MjkLkcoRyx&W)maR)KLtrfw=+YApc^~#$c_Dl~lhM1>R9KW;3lT^Eg;+~C9@B6Q-rWt& zxxdCQ?9ILpC%g!f1zCe98@Kd;RWdKYMWD3{S<&aV%@wrp9AzZ*fe8n6DdE%_jQO#+ z{_-r_NbgL}->(M1*J{G|Z|loGcm(W}qCIoy)nbu(geZb2wi^GDC^!vuqYf zL=P?{g)u!NV_}PX9dMARHJd}m9S5$6Dc3V6#43;xga=g4x6iD_W1*~gX<27*2J|VS z;A?V(`RAJ+Ij@&${?=PG4B2Qx{n@&FV<{-Av7ac#WvXm(lS!qe!t#x2uO1?3ua|)l zC(#fHJ7V_JV=W!Ks1lEvNOecAOoUtU~sD0?-@w%)2tODp6o$M@8WyJV5pE%bI z)9*gl6uM(;Sgm{tP%|Skx2(FU>D8gMm9=%JCF!_3lbwERDbVru{a2vnhKmdFLV3Aa zi?%LtoUMBerc5sQXi(t}5_tnqiQf7%gD+`odq^&3MpLvW_99%pFpJ*vcLZdP0fenb zZBwJlR-*-?@x_La`WcNgAsaDJUu0TDpsFWqp&%jL6Lw88{;Qnxca2ZAiOuf zefU-W=P*KiH^>pjX{clT+H2iKc6)9eRa;;hWjezkw!c{nNC}BF&^5GlBur|#^Xa%@ z900&_xI6oTlTe)^f1sy>f6k}b?bdncmkJ_oO|9ymTYg%eP3^#Ooxjn6dlnN5r|FobLvrx4RF2VRtF*s{OfhX;m+d3i@bowN7BHEL0)9UtD<|e)O)6J))gi-`n27 zLAqde0ly_<0%Y={?=ymn*{bwuW8-hts>h#Z99-O^)IP%^{D~DuX@R*Q?QVH@5K@#C zb|I&_!Xl)7Fp-m7d+G9&uiLKzbzZ7-4XCC*$W%#0fZZ8DU&~vA9PNC3h`Smk6r4as zQeP&D?FsW{*Znoi-;+sK9uaigX}09}cRDN3+KnFKqb6?-ZhO9mx}oU!C?!_ z0s>f^Q>chrHkpDZAQ4Hy6Tg?^!xD-LEB{s%C+bzti&1yz)DfljV+GUB?Kq&!$tDe} zd917$Wr3VX7gyV>zgq&08`cXh?; zs=IdgnsuQhAxY48Y6+WtWerJKYJ20dv3b|kB|5X*7=Mv1>GHheUDP`R6>Bk#H+=3T zEd^xO6%vG)Jqd`&9B%-}XIIrx)-r7_P&{+}*bAItfc8y!Jv;m*Qy=uz4O0&ov zr>xoMe07iSUl>m%-tj_%PT&a^=luJf)FBqUf=9=F$+|fqpdpS2bXo^-V9Jb=DMXz{ zm7}dRMV)aNC?YS5mcsO^pmB4%`E{%4>+3sxT5<8XBd@O4-}DDVqTa4==qu06cb>kU zu2q!lSY`JJ`8};SO9&`7mU#>hsmFHLNosZ?Cv_boDo&)R{}b06@lwLqpXY*LW(20| zW%_jFdQyiWFW)xvf=<0dL(X3?HG@Q$LNu)&HV>iwq?=%?4<9lw43wBYrf;{t@@-r| zK|(zJXjTpH4?Qw6TCtGpL-|X!9J7RJ^af^%?QCu7bHf}c76Z?)H6X-0Bm&-3qu+&d zahf^C;a4sB&PYWmR)v@{=PBstVu%A`!UfT|w6&(v#U@us<&@vG)FXlrFTDL$&@Q6s zkXjDdvKM%ow(05VhoDb+wxvtBtoFwnB_EZshHe7cWdla%^bsLG|@QuOM` z$BFA*%Z!{3mQ#w5Ax`_zIfaMZJsF1JzH+zb|KDz4K-H(kFDw_3PKKO6H+N8zR4R-;JGH%9_!Q zpw1W_BVGBkK?hF^=Hfr z(wr`pz&c^YWNANkwB;Z8uN2IMT8Sv-wOngB|1)%-gj* z27ABi=ti{w-l4=Id(*QeV899|Wa*_^lVfw$fG!(P(+t4U9A!W5{d%($^1CMtn>(VX zmm2F#G@mp_Ryr`L*r*phE+-^i=;n)RQxz55I}WaWP-hG$Ko25ADh~~G#317ynqgCo zw>}9fMZiP26D~(#bAp;goN7yu-?^K>yAyDL&rYB%AH6f}Oin|~iZy(E zy^xrbejN|6`W#c(@%~2t3MN(t#9>P$m;lc^?RkKh28bL)V+x#N-;AjubgiFcQ|wNN3NZR*dYes_0TThe|s*^$r)@!E^!O#wOe?`J}_Ju z#mU1%=iuOAHW&SC>_U)oh*|D=B7|~j)xyP8-d5!;0xcp2TZ3d)UCZ!w+_?WMp_2rO zSLnavRB(ICvNwD$>02`_s2l6Bqm*j%06VVwRaZ=12qv9f2#U@|aPH2&9378v^^ug> z&5i-oBnBQgX`7`I)UphA_PPK)?jHyI$956l(8 zh$)D|s8t>;CH8TrHcSCtXh>_;|F+{|1Bd~I4tWG-Iz1J`ctJcbOO@Ql#2Q-EpnAn4 z{^#dXU{3BIeFRZX+kruAdxS9A@Qvgoxw3|aU-cwkDl2L6zSMHm_A|pWkiKZp8ubwt zmb-_MQMKzB%cVHAs6#c8;D>U0b-hn)$+5K~K_WbGR>osHR+3S2=Qsu^t)D9GO=3RA z-Y&S!1TOs%n(qdI2{ zjYF8Jx#hHRWfyS!{naEc8aRxfs7$iCRSxmZ2IvuLf5Po3IjmaoCXV^5F30cy@?C`{neI zGuzAIG8c_g+#W2%MrxC~kMtUoNjGwdcrc!nCy0de2=lPb4k3I4C$;&rTdaN&c{9DCDA2IZ zYkb^cQd&w%Nr_$qVSNc7vM4dQF{e$f1nU)J5!!S!aOVXzaAf6JcORC zCuSwHWlHgekOzOuHXMEgl+PJdR+Hvh6RYRGXDzZu-dkv7>XfwPW#l#--xPuV*yZur z8I0u5l;D0hc80x5kl)=;OP{C5TOX^NUaG(E{sr;*0OsF&fI|BdAYd2romlkTOAcKnGi_rI?c~bGz;hpC5*dfnX~N^Mb3 z4_8bfA5K~PLVk??1=j+K`Q?;NmL!8npIGj0130J0It>qnYDNx+ zBA)4IC;Gh?Yo+e~l+zqK=v8^Jr!Wqx z+VAnU+>Y_6f&*S^I2QhXxuk99?w*o1+w@)f;s>p3`Kp-ORT2^M>2Al;73qLx$LjjU zLxqxzWb1MC*peG>$PlH7qcUa3v#f8Pwb7EOsi@3Kc|@TR^zB$(zn0^dRz|lIU9OkT z6Y8LmmQL-&^h(34TMCk7;y-bLPXYCQxBY6ySOYIW@nU3518*CX-(NJYJ^c)DTVZ=# z)=rN?-{m5U4hQiTIIj$wL(=;%f=-LT0MZqI8Gtj3q@IQ8-B^$}4HHMP1r6$cj*?@k z-}8nwIjlOFS)g&1ZzrI*2ds1yq1wY6GMf9~jbQr+X&mGUdT=Mt>2+pQLYyh^WnK2V z8H~bT@W3lHg&QBp`UF0iK07HVM{##^E9B+lJK5)6^2b?@ncn<;q#Bs{yO|sa4FKWf z&eB&^jmLVBP#ne%4dO9)Rg{nN3mB+t-IW+nqRlO(BkD(|W5tQ)*?zw8@^a}R^?2w)4q zuEY5Byjnw63de+rkDDJsam}MO%l$ehYdp?nqr<=QY%&PqP;Ljz*fZF13p7~-luyuN zPE$v*53`x+Qb0DVpfWlYLZzO2Qa&E_K1hw_f!bb`q&oI*7&^ zY)-HFptJLHYXXI?BK2vHe-8P57^IU*`-3<5!8e?0gDTdeL~ydT)mwu!sqZ?9pRYTO zm%1J{&jb7&9l>1&PPnkK_0mo94tuxm!dHK(4!&Z`iYO5fSRm8|rAvmmfQP;jW&$bi zf{>0w`9&0dJbs)x;E?OZ61zfm`gly{_Lxe)BG)Wm~ zg-9?HMRv#JWtV3I9xcx4M_4lP88-ySc?s4vT(V>7hqarwDpygpWKPv99}f{KQs+g{F|9)ufo6~Htw((u>ffA%7`+U zj4_vok=R7s+E9=PN&Mx=$h;^z5+Jjd0zxYQAd!yLs00<8(8u>f-fhD!<=ekP< z{@u8RG<>)#b%hAzHfRS@PnP)#`Z|o@156#mTyrs({$mWeUTYE*VN6_Y#CVv``{Pwx zC#^#OcXO=E2n_t7@z?0)$7=ch!3*#!hE*8}Ry3Okv!vbN)225)`6EtJs4&g)IHu|D z8;r%!kZc(N6r=#cdUBDIlM{4%QYpY9LA=Sb)Nm{xL+`TTS<0f7MY}T2;GxwP8G!J^zG#Ov7?CtGM($g1Hrf29*h$dXvwBTKx#vO-4CyHi(QqbDU8O6XF zW05Z;=h+uE%yR_fG_NAy=dQf1gM;Nmp#u}@{x@Dk@9i^K8JYy#x+LxFG&W@=<)o#= zT*0OLv*V7fVQzPKw*#n3T^b+z=aRoR;FD^MYLkk>_h16~9LIXp9|Y4tUzRumsHQsC z&4TGyPXh+KGn&h27%LV78YdFAR&=XLktuR6a=Rlxo z(O3?UNz)kT-@5tsR&8c#FS-WtBDI-CGypkll1ifY^lp?E-*ywN>8I#-KR_aF2imOg zia())r$GVMKu5l=UWzLO!%IA?Q?j_fUpH^c(`qV8l2%_`Q@xfjTEU!L4Ada|`{2Vg zN`u1M2}nlZ5Dv`;#Zu!UwRQATC-Rp@uiM+B=}AKcqE(lpBmu%JSYL%?l5&$G()lwm zG`?V2QA6twA8yt9tZA z4=2*VOsELgg(yukSz~rPMl&<$=C9tF*VenThPa$3iK0U9Y#S{jD}j^Kp z#A0n?y!Url13>SJG};fzZM4`L>9-OUiV0xFz+$DUGYXwSs=8D$QTzZXoQ@FKYhl;9 z)?=;l*K7*#qM7zasLE7XJMcyU5XP%wn~KueIw9&c&-S3-o14ggxC7bN;xB)ex8p$` ze_9+1jP~{{7mZV*rw!cSe)^c`r-QIL|ydA%9@&p zr66FHX+ZHP>EY+gBOJ67pY!w4&-}_#Xtve$)LpM0CAt~T2zxm5bz(=pd~7?pqGf0g zd!TL4sS*;-+`Sg2iW&tVtW<>>uj_YC%2Zn}-ww5fFV-IRla}>}J6B%~6UV1!JEMcIH z7>qS9q|fut*4EqhVg-uBn^+;2z8pE1Sk*CwKw~IRq6-aZWPbno4aB8Qe6i0Vzk(ss zb_pT~Cb?aLh~O<7#4`=FU<{is{8-Mc+BMq!&ICV*CEQMk0rqDZ`%r0$xNdKsweoCnK$%WTLqD!1-h%#3AD?aMR;1GYnH0vhx}rDu|HZ4yQIvmN8^q zrP91|FD23#Jg@f+-JIx>P+g~>&U+rmoo+6&J>1DnwYAIHGZ&zMiQWAY< zd>ykdH%Eqrwc&r;9vi1D&+&bIn(=nSxAgk2S;-#c1c838aQEzQ_R^q@<4&zrTa zuV?b?%<<^xXlpDBbSM=P=3~?RJ@!MWpDWAX2U7!LGNey7%8>PgPv#wIQXe1Dzbz{m zE{@`p&NHdN-tzKxN>3OpFUGn*tWVth;Or@|lq_Eeix0{S#ID=-b*a811(y&m#8}Z1r;gYQWCl%0 z@}kpa6-cDY2w;#N5v8$53HZ+#aX=vcGhmzW-s9nJlt}zm^IFT{Fc=8&?T_fc+3d#R z*qhxche6DcS&*TI#*Ryy>qe!71%u5;cA8A`1b-SDQ?e<0I(`AcNc#h*-(Np}ziLXr zad!&XihaGfQ$j7#C=Iu#we|IGUer-eLOI3(yBfD6n{e@LfpgAU@PFf$;{OsI?|x6N zi^eP%43ChfXXd5?N-e{`gHL{ZuP2Vw?U#I@AArI=;j3cDCxVat{nBp2O4apI4yZ2N zsch?ZbwU1rM@Fy~lp7#Ac>gBt6oBs%x1iu~9>B=b$N^7F@#RGVi5RRen#;jIrt&4( z+7*hM?S+ovHIs%8ylNV?jaz{(fpb-i=1~cC>t>uJ8{opHbHj&mIOF+3#vTP zk#9k5tnxiPCD^IQ^!^cWI>!EQlzG}bqU2fxUJbBw7`1*XA>m&Fr*XXKUcysWns7#a z>vn}bbMDwpZYW;}h+97L*115_&<>WsbYUFVMxf=&t8y@{&tm0=Bp=M_Z?PY(%is=!j1WHHSBH(2OT7#B-Gz@p>N`+FdI`;!t; zJP{aPA+V(+9|d{94YS5$j8Z&3v2iT^Aa*qc6nd`vW28Z}SW{+i59$7u5uLUsz1n^Q zw+6*L_-7?SK|y0CZLbQ{%7KagJJoiI$RojaCng+o_0-DTy#Gj|^DH~9E!J8>C6yyP zye|uaY;vOTL5~lM2~_>>tAN?qM9Jlco9I3>F3hw=!sI)ygW_5yDj}Cp@#)fPONs}j zv~Eiv3Xo_WO2W#{YMOWA|0p{1{X0$2ryjSu$KYfx*lwm*)g_3;tt-e%SmH}C#jyL? zs-TSE^73*+D^!8BlQLtdO8%olEFi1ZT6poDyb= zbNY=kwI(W>(dA|ujiHr2SJYmao!kXNocbpKKe~h^3W~Kk3-cEpWUD&QOs^x};kcAl z*Y&tLTNv&Y%~to0(VAG-*M#c!?X0dib+X5c-P?qI%ZvGjJ!t%Q&p3B*JF89^bo}_` z^x<+~jRZpLN;E2osFnQBDa{O6xW1wUt5j9_0G&eqAt993gCWS_30)h%0MMf@(DYP}YL(dBjCNsAP{1-dhEV zq^ZOs=C!CMJw&3oqozejP@#1-3$`ssvyZ%bZ|m1fnGSXoE)XL)7HY$Fjid)Du_pIr zu>iK^T1jPv-%``kD#|Oo+wwa;!ErvPV&RbMgZdbCN%%PyZ$_s>!6(T|j>(hV4#6P` zsby`^|4G=ivE&;!WdyI1K&{^Yvd7xLyJAwwmP_>sF#MyvXmWKqNL3>ha7bcupB}jy zg<+tDuZyC!l_r*V}kYOUO&%qf3D6W?X|d* z6KYdv!<$)4iXI-b@!`0NpJdzcOCOPAJW7X7t-*jR%E~xv1dQT75yd_CdbIP;=-Oi9 z8U)d*A$8U&c+XI(F8X*q`?EIQpN+Iw=H`6kHKnEg@;_fm$P_^~coaZw7~tyZ+P4|i z(F$MvW%%H?ux6Q?LOR(5`z7u_+a{2dN@xA&PmR=Xv~(QRBaLtFEK$@?bKzMPHAElML2v z5?$~$kN}mAr#&6VpE@~Dab;L8YFMXL_GL}48C}y2Nj+M742co4Fag#7Dr0!oLy;8 zD9RL$R3Jrh!VdZvWj|L0ivg*!X1RfEdvR=H`DTDi5}cfYF`I*PeO@3c;k*xjpW*q?W!Rn*S=^weKtD>J$fSI3P2>(k(W= zMro|UvV0R%o6^njTNkupfIb;xs$`YmU^qxJ%o+ZP0DpVY_i-WcabbZ0dEYDkr?(~q zo5dyg3hJ&2sb0Rn4@9ebiWloX#JlM5Qvs9)T4oCgMu?qKE-?tk9nL3;XA(3AY@L@c zJG-X>0}O1ir!H}LbP^TQIQFax2((x}^R@iIq0x_lZi%^N$d+loBylqL6@_}|N`_XE zt(>@YtvCh#sxW?(9fq@LIT)_l@>yKSRsd*`p_&|6s94kZ&-ROW2(MV!cf$YHu{Te! z)fx@X0EKH2%mwwmt*vSOZ_#K+ZgOJi_DeEcd5}}q8mh?)-wN4)CpWg#_hdUnjWrsP z=C?|C;e?aBj2r;lm>w03PdR$mNQS~q- ziHBLhh8jjstsE(HOt}=Ys0^u&&bq|?zTS#ybBR>=YEkeUv3q<$%VFw6`NdB~YTXCO zBMxV1QfG!gJqQSy-1|kHott4}GZ7=dDde}JgrQ416T#A%C&2TM2G&jZOE28J#9VhH zk^D{6X^j*`bVCRQz?Pe$#lEfu@GS6SFKu(OAqvgI7Mm<^EdmRp9wKZ=%r%k@tpdMa zHgKltam5ZBnz6-rKbGOp{`b=R%wyQ7f~3&*w^6moWgnq=d%n7@-;N|3ET&WMH9PZ> zL?MC{IQ3CIR{7R0L-3E#Om0_EPrz(Yt`9|B!7FV4V!M-src01mOExQbv%cW`IDF@y zL|R`Sg14{e_!Eobo={AX_#V`Sk1)k}=iC;FvqmoK_UjuU z9Z#(BKecmF8P95=1(8h5SOmZ_bbGY;l1r6TRO%cwkVSfZ=}9@|APa4pmGxj0wVtxb z_H>MP&n;X87Fb)&KJJ@%+`3%H+)LIZXP)>Ix*1 zf02TuYmL`+Kke~O2V3aQ+A*)rVv00o)4y)TK`Lh^_ge=%p0%A%+>bx4-*$MR)Z9^h zxsUJs4QTe1FZEge;nE>Z1JdiPoatg{hyXq!-~|5f$8Zp&LDl<16jZKXD-u2(ucpvN zcQ{O+>(2md*M|OB-OiT zMkhe+`Mivct^Jc@muNG(sRI9=krn3i=X^Xk3a)b;*ci927d~5C8$An;1fVZW^|3F| zuOAk?jja3L|4g@_1cT6daWk1(CYp0HYAxem$R8*2B zr)>Ybrl#03p7Q+z`TySW)v#rWJ)dtJ2n5Nrn!6X-a(WOip5FjIAe6yOWK?=14}dQL oKlKf!HZbV_^WUH5e|Hbh%iOC}E;-Kr@b8tpw2D- - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - - + + + - - - + + + - - - - - + + + + + diff --git a/resources/profiles/Snapmaker/filament/PolyLite Dual PLA @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/PolyLite Dual PLA @0.2 nozzle.json new file mode 100644 index 00000000000..f47614d7102 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/PolyLite Dual PLA @0.2 nozzle.json @@ -0,0 +1,19 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "PolyLite Dual PLA @0.2 nozzle", + "setting_id": "490991920", + "inherits": "PolyLite PLA @0.2 nozzle", + "compatible_printers": [ + "Snapmaker A250 Dual (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A250 Dual QSKit (0.2 nozzle)", + "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker Artisan (0.2 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/PolyLite Dual PLA.json b/resources/profiles/Snapmaker/filament/PolyLite Dual PLA.json new file mode 100644 index 00000000000..e6ab1a14966 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/PolyLite Dual PLA.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "PolyLite Dual PLA", + "setting_id": "64868365", + "inherits": "PolyLite PLA @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/PolyLite PLA @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/PolyLite PLA @0.2 nozzle.json index f2caa20861d..b3c643a0429 100644 --- a/resources/profiles/Snapmaker/filament/PolyLite PLA @0.2 nozzle.json +++ b/resources/profiles/Snapmaker/filament/PolyLite PLA @0.2 nozzle.json @@ -7,15 +7,15 @@ "inherits": "PolyLite PLA @base", "compatible_printers": [ "Snapmaker A250 (0.2 nozzle)", - "Snapmaker A350 (0.2 nozzle)", - "Snapmaker A250 Dual (0.2 nozzle)", - "Snapmaker A350 Dual (0.2 nozzle)", - "Snapmaker A250 Dual QSKit (0.2 nozzle)", - "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker A250 BKit (0.2 nozzle)", + "Snapmaker A250 QS+B Kit (0.2 nozzle)", "Snapmaker A250 QSKit (0.2 nozzle)", + "Snapmaker A350 (0.2 nozzle)", + "Snapmaker A350 BKit (0.2 nozzle)", + "Snapmaker A350 QS+B Kit (0.2 nozzle)", "Snapmaker A350 QSKit (0.2 nozzle)" ], "filament_max_volumetric_speed": [ - "1" + "1.6" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/PolyLite PLA.json b/resources/profiles/Snapmaker/filament/PolyLite PLA.json index b0e4fe3ed20..aa38602aa8c 100644 --- a/resources/profiles/Snapmaker/filament/PolyLite PLA.json +++ b/resources/profiles/Snapmaker/filament/PolyLite PLA.json @@ -9,24 +9,24 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.8 nozzle)" diff --git a/resources/profiles/Snapmaker/filament/PolyTerra Dual PLA @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/PolyTerra Dual PLA @0.2 nozzle.json new file mode 100644 index 00000000000..c3673b4d3cb --- /dev/null +++ b/resources/profiles/Snapmaker/filament/PolyTerra Dual PLA @0.2 nozzle.json @@ -0,0 +1,19 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "PolyTerra Dual PLA @0.2 nozzle", + "setting_id": "1258531391", + "inherits": "PolyTerra PLA @0.2 nozzle", + "compatible_printers": [ + "Snapmaker A250 Dual (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A250 Dual QSKit (0.2 nozzle)", + "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker Artisan (0.2 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/PolyTerra Dual PLA.json b/resources/profiles/Snapmaker/filament/PolyTerra Dual PLA.json new file mode 100644 index 00000000000..8b13924b724 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/PolyTerra Dual PLA.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "PolyTerra Dual PLA", + "setting_id": "1258005940", + "inherits": "PolyTerra PLA @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/PolyTerra PLA @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/PolyTerra PLA @0.2 nozzle.json index f2b469c7645..215685b8e3f 100644 --- a/resources/profiles/Snapmaker/filament/PolyTerra PLA @0.2 nozzle.json +++ b/resources/profiles/Snapmaker/filament/PolyTerra PLA @0.2 nozzle.json @@ -7,15 +7,15 @@ "inherits": "PolyTerra PLA @base", "compatible_printers": [ "Snapmaker A250 (0.2 nozzle)", - "Snapmaker A350 (0.2 nozzle)", - "Snapmaker A250 Dual (0.2 nozzle)", - "Snapmaker A350 Dual (0.2 nozzle)", - "Snapmaker A250 Dual QSKit (0.2 nozzle)", - "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker A250 BKit (0.2 nozzle)", + "Snapmaker A250 QS+B Kit (0.2 nozzle)", "Snapmaker A250 QSKit (0.2 nozzle)", + "Snapmaker A350 (0.2 nozzle)", + "Snapmaker A350 BKit (0.2 nozzle)", + "Snapmaker A350 QS+B Kit (0.2 nozzle)", "Snapmaker A350 QSKit (0.2 nozzle)" ], "filament_max_volumetric_speed": [ - "1" + "1.4" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/PolyTerra PLA @base.json b/resources/profiles/Snapmaker/filament/PolyTerra PLA @base.json index c09b45b79fc..fdd96cf6f9f 100644 --- a/resources/profiles/Snapmaker/filament/PolyTerra PLA @base.json +++ b/resources/profiles/Snapmaker/filament/PolyTerra PLA @base.json @@ -12,7 +12,7 @@ "1.31" ], "filament_max_volumetric_speed": [ - "18" + "14.4" ], "default_filament_colour": [ "#73CEC8" diff --git a/resources/profiles/Snapmaker/filament/PolyTerra PLA.json b/resources/profiles/Snapmaker/filament/PolyTerra PLA.json index 712fbd4c46c..644b87e1ab8 100644 --- a/resources/profiles/Snapmaker/filament/PolyTerra PLA.json +++ b/resources/profiles/Snapmaker/filament/PolyTerra PLA.json @@ -9,24 +9,24 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.8 nozzle)" diff --git a/resources/profiles/Snapmaker/filament/Snapmaker ABS @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker ABS @0.2 nozzle.json index 1588ca9e2f6..33966f31c75 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker ABS @0.2 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker ABS @0.2 nozzle.json @@ -7,13 +7,13 @@ "inherits": "Snapmaker ABS @base", "compatible_printers": [ "Snapmaker A250 (0.2 nozzle)", - "Snapmaker A350 (0.2 nozzle)", - "Snapmaker A250 Dual (0.2 nozzle)", - "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A250 BKit (0.2 nozzle)", + "Snapmaker A250 QS+B Kit (0.2 nozzle)", "Snapmaker A250 QSKit (0.2 nozzle)", - "Snapmaker A350 QSKit (0.2 nozzle)", - "Snapmaker A250 Dual QSKit (0.2 nozzle)", - "Snapmaker A350 Dual QSKit (0.2 nozzle)" + "Snapmaker A350 (0.2 nozzle)", + "Snapmaker A350 BKit (0.2 nozzle)", + "Snapmaker A350 QS+B Kit (0.2 nozzle)", + "Snapmaker A350 QSKit (0.2 nozzle)" ], "filament_max_volumetric_speed": [ "2" diff --git a/resources/profiles/Snapmaker/filament/Snapmaker ABS.json b/resources/profiles/Snapmaker/filament/Snapmaker ABS.json index e6280f6b7bb..5afe4a5632f 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker ABS.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker ABS.json @@ -9,26 +9,26 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", - "Snapmaker A350 QSKit (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 QSKit (0.8 nozzle)" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker ASA @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker ASA @0.2 nozzle.json index 8df1b2ac86e..0edcc66bdc5 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker ASA @0.2 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker ASA @0.2 nozzle.json @@ -7,15 +7,15 @@ "inherits": "Snapmaker ASA @base", "compatible_printers": [ "Snapmaker A250 (0.2 nozzle)", - "Snapmaker A350 (0.2 nozzle)", - "Snapmaker A250 Dual (0.2 nozzle)", - "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A250 BKit (0.2 nozzle)", + "Snapmaker A250 QS+B Kit (0.2 nozzle)", "Snapmaker A250 QSKit (0.2 nozzle)", - "Snapmaker A350 QSKit (0.2 nozzle)", - "Snapmaker A250 Dual QSKit (0.2 nozzle)", - "Snapmaker A350 Dual QSKit (0.2 nozzle)" + "Snapmaker A350 (0.2 nozzle)", + "Snapmaker A350 BKit (0.2 nozzle)", + "Snapmaker A350 QS+B Kit (0.2 nozzle)", + "Snapmaker A350 QSKit (0.2 nozzle)" ], "filament_max_volumetric_speed": [ - "2" + "2.4" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker ASA.json b/resources/profiles/Snapmaker/filament/Snapmaker ASA.json index 5a4c9270d73..762c3f8fe47 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker ASA.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker ASA.json @@ -9,26 +9,26 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", - "Snapmaker A350 QSKit (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 QSKit (0.8 nozzle)" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @0.2 nozzle.json new file mode 100644 index 00000000000..6db75b2afc5 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @0.2 nozzle.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual ABS @0.2 nozzle", + "setting_id": "2402717089", + "inherits": "Snapmaker Dual ABS @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A250 Dual QSKit (0.2 nozzle)", + "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker Artisan (0.2 nozzle)" + ], + "filament_end_gcode": [ + "" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "overhang_fan_speed": [ + "80" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "filament_loading_speed_start": [ + "3" + ], + "filament_loading_speed": [ + "25" + ], + "filament_unloading_speed_start": [ + "3" + ], + "filament_unloading_speed": [ + "25" + ], + "filament_load_time": [ + "0" + ], + "filament_unload_time": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cooling_initial_speed": [ + "2.2" + ], + "filament_cooling_final_speed": [ + "3.4" + ], + "fan_max_speed": [ + "80" + ], + "pressure_advance": [ + "0.015" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @0.8 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @0.8 nozzle.json new file mode 100644 index 00000000000..41053273f2f --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @0.8 nozzle.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual ABS @0.8 nozzle", + "setting_id": "519475561", + "inherits": "Snapmaker Dual ABS @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "slow_down_min_speed": [ + "10" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @base.json new file mode 100644 index 00000000000..f4cb4f76cab --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS @base.json @@ -0,0 +1,59 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual ABS @base", + "filament_id": "168223792", + "inherits": "fdm_filament_abs", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "hot_plate_temp": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "105" + ], + "overhang_fan_speed": [ + "20" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "fan_max_speed": [ + "15" + ], + "pressure_advance": [ + "0.02" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS Benchy.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS Benchy.json new file mode 100644 index 00000000000..e6f005ca231 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS Benchy.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual ABS Benchy", + "setting_id": "3540754477", + "inherits": "Snapmaker Dual ABS @base", + "compatible_printers": [ + "Snapmaker Artisan (0.4 nozzle)" + ], + "compatible_prints": [ + "0.25 Benchy @Snapmaker Artisan (0.4 nozzle)" + ], + "overhang_fan_speed": [ + "35" + ], + "slow_down_for_layer_cooling": [ + "0" + ], + "fan_cooling_layer_time": [ + "2" + ], + "filament_deretraction_speed": [ + "55" + ], + "filament_max_volumetric_speed": [ + "31" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.5" + ], + "filament_z_hop": [ + "0" + ], + "filament_retraction_speed": [ + "55" + ], + "filament_wipe": [ + "0" + ], + "nozzle_temperature": [ + "250" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "35" + ], + "slow_down_min_speed": [ + "0" + ], + "slow_down_layer_time": [ + "0" + ], + "default_filament_colour": [ + "#335BBB" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS.json new file mode 100644 index 00000000000..90049f3a659 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual ABS.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual ABS", + "setting_id": "937533070", + "inherits": "Snapmaker Dual ABS @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @0.2 nozzle.json new file mode 100644 index 00000000000..b2b5588eb2f --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @0.2 nozzle.json @@ -0,0 +1,67 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual ASA @0.2 nozzle", + "setting_id": "2698003242", + "inherits": "Snapmaker Dual ASA @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A250 Dual QSKit (0.2 nozzle)", + "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker Artisan (0.2 nozzle)" + ], + "filament_end_gcode": [ + "" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "overhang_fan_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "2.4" + ], + "filament_loading_speed_start": [ + "3" + ], + "filament_loading_speed": [ + "25" + ], + "filament_unloading_speed_start": [ + "3" + ], + "filament_unloading_speed": [ + "25" + ], + "filament_load_time": [ + "0" + ], + "filament_unload_time": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cooling_initial_speed": [ + "2.2" + ], + "filament_cooling_final_speed": [ + "3.4" + ], + "fan_max_speed": [ + "35" + ], + "fan_min_speed": [ + "10" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @base.json new file mode 100644 index 00000000000..1da233088ab --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA @base.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual ASA @base", + "filament_id": "1247172706", + "inherits": "fdm_filament_asa", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "hot_plate_temp": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], + "overhang_fan_speed": [ + "15" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "0" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA.json new file mode 100644 index 00000000000..1715dca402f --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual ASA.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual ASA", + "setting_id": "2541866198", + "inherits": "Snapmaker Dual ASA @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PA-CF @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PA-CF @base.json new file mode 100644 index 00000000000..514b9009a5c --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PA-CF @base.json @@ -0,0 +1,56 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual PA-CF @base", + "filament_id": "3493177425", + "inherits": "fdm_filament_pa", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "hot_plate_temp": [ + "100" + ], + "hot_plate_temp_initial_layer": [ + "95" + ], + "overhang_fan_speed": [ + "50" + ], + "filament_flow_ratio": [ + "0.96" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "15" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PA-CF.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PA-CF.json new file mode 100644 index 00000000000..518d2b9f080 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PA-CF.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PA-CF", + "setting_id": "2799665789", + "inherits": "Snapmaker Dual PA-CF @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PET @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PET @base.json new file mode 100644 index 00000000000..67bca9c4e87 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PET @base.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual PET @base", + "filament_id": "2128577941", + "inherits": "fdm_filament_pet", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "overhang_fan_speed": [ + "40" + ], + "filament_max_volumetric_speed": [ + "6.8" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "26" + ], + "slow_down_min_speed": [ + "35" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PET.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PET.json new file mode 100644 index 00000000000..03a664e8cf1 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PET.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PET", + "setting_id": "4213200045", + "inherits": "Snapmaker Dual PET @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @0.2 nozzle.json new file mode 100644 index 00000000000..8ab0c19c204 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @0.2 nozzle.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PETG @0.2 nozzle", + "setting_id": "2935726097", + "inherits": "Snapmaker Dual PETG @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A250 Dual QSKit (0.2 nozzle)", + "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker Artisan (0.2 nozzle)" + ], + "filament_max_volumetric_speed": [ + "1.6" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @0.8 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @0.8 nozzle.json new file mode 100644 index 00000000000..fd8f37e848a --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @0.8 nozzle.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PETG @0.8 nozzle", + "setting_id": "1060879577", + "inherits": "Snapmaker Dual PETG @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ], + "fan_max_speed": [ + "25" + ], + "fan_min_speed": [ + "10" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @base.json new file mode 100644 index 00000000000..6dfe8db49b6 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG @base.json @@ -0,0 +1,65 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual PETG @base", + "filament_id": "2209001062", + "inherits": "fdm_filament_petg", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "overhang_fan_speed": [ + "25" + ], + "filament_density": [ + "1.25" + ], + "filament_z_hop_types": [ + "Spiral Lift" + ], + "filament_retraction_speed": [ + "35" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "temperature_vitrification": [ + "178" + ], + "fan_max_speed": [ + "20" + ], + "fan_min_speed": [ + "0" + ], + "nozzle_temperature_range_low": [ + "240" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG-CF @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG-CF @base.json new file mode 100644 index 00000000000..c1603ece8a8 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG-CF @base.json @@ -0,0 +1,95 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual PETG-CF @base", + "filament_id": "1042511226", + "inherits": "fdm_filament_petg", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "required_nozzle_HRC": [ + "40" + ], + "overhang_fan_threshold": [ + "10%" + ], + "overhang_fan_speed": [ + "55" + ], + "fan_cooling_layer_time": [ + "10" + ], + "filament_cost": [ + "40" + ], + "filament_density": [ + "1.25" + ], + "filament_max_volumetric_speed": [ + "6.4" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "250" + ], + "temperature_vitrification": [ + "178" + ], + "fan_max_speed": [ + "20" + ], + "fan_min_speed": [ + "0" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "6" + ], + "enable_pressure_advance": [ + "0" + ], + "filament_type": [ + "PETG-CF" + ], + "default_filament_colour": [ + "#3D3C39" + ], + "nozzle_temperature_range_high": [ + "255" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG-CF.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG-CF.json new file mode 100644 index 00000000000..e74ff28c311 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG-CF.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PETG-CF", + "setting_id": "950459082", + "inherits": "Snapmaker Dual PETG-CF @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG.json new file mode 100644 index 00000000000..3847f3627b1 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PETG.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PETG", + "setting_id": "2452014271", + "inherits": "Snapmaker Dual PETG @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA @base.json new file mode 100644 index 00000000000..cb9e12eb4a3 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA @base.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual PLA @base", + "filament_id": "1417031127", + "inherits": "fdm_filament_pla", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "nozzle_temperature": [ + "220" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @0.2 nozzle.json new file mode 100644 index 00000000000..a6ff3b69522 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @0.2 nozzle.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA Eco @0.2 nozzle", + "setting_id": "3529576452", + "inherits": "Snapmaker Dual PLA Eco @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A250 Dual QSKit (0.2 nozzle)", + "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker Artisan (0.2 nozzle)" + ], + "filament_max_volumetric_speed": [ + "2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @0.8 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @0.8 nozzle.json new file mode 100644 index 00000000000..2c9432c24f5 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @0.8 nozzle.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA Eco @0.8 nozzle", + "setting_id": "1134628044", + "inherits": "Snapmaker Dual PLA Eco @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ], + "slow_down_min_speed": [ + "20" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @base.json new file mode 100644 index 00000000000..0604c192119 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco @base.json @@ -0,0 +1,44 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual PLA Eco @base", + "filament_id": "200803790", + "inherits": "fdm_filament_pla_eco", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "filament_density": [ + "1.26" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco.json new file mode 100644 index 00000000000..570074dc3c0 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Eco.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA Eco", + "setting_id": "2158656028", + "inherits": "Snapmaker Dual PLA Eco @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @0.2 nozzle.json new file mode 100644 index 00000000000..31e981dd130 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @0.2 nozzle.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA Matte @0.2 nozzle", + "setting_id": "2269792171", + "inherits": "Snapmaker Dual PLA Matte @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A250 Dual QSKit (0.2 nozzle)", + "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker Artisan (0.2 nozzle)" + ], + "filament_max_volumetric_speed": [ + "2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @0.8 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @0.8 nozzle.json new file mode 100644 index 00000000000..88e7b42ef62 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @0.8 nozzle.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA Matte @0.8 nozzle", + "setting_id": "378166115", + "inherits": "Snapmaker Dual PLA Matte @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ], + "slow_down_min_speed": [ + "20" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @base.json new file mode 100644 index 00000000000..455345c14e5 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte @base.json @@ -0,0 +1,50 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual PLA Matte @base", + "filament_id": "3503790988", + "inherits": "fdm_filament_pla", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "filament_density": [ + "1.32" + ], + "filament_max_volumetric_speed": [ + "9.6" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "default_filament_colour": [ + "#EAC3C3" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte.json new file mode 100644 index 00000000000..e681e7b1852 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Matte.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA Matte", + "setting_id": "3959402964", + "inherits": "Snapmaker Dual PLA Matte @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal @0.2 nozzle.json new file mode 100644 index 00000000000..9f8acad9bd3 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal @0.2 nozzle.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA Metal @0.2 nozzle", + "setting_id": "922702789", + "inherits": "Snapmaker Dual PLA Metal @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A250 Dual QSKit (0.2 nozzle)", + "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker Artisan (0.2 nozzle)" + ], + "filament_max_volumetric_speed": [ + "2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal @base.json new file mode 100644 index 00000000000..f5bbb7250d6 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal @base.json @@ -0,0 +1,53 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual PLA Metal @base", + "filament_id": "2029994346", + "inherits": "fdm_filament_pla", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "filament_cost": [ + "90" + ], + "filament_density": [ + "1.25" + ], + "filament_max_volumetric_speed": [ + "16" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "nozzle_temperature": [ + "220" + ], + "default_filament_colour": [ + "#767A7E" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal.json new file mode 100644 index 00000000000..dfa040e7644 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Metal.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA Metal", + "setting_id": "720664627", + "inherits": "Snapmaker Dual PLA Metal @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk @0.2 nozzle.json new file mode 100644 index 00000000000..caf986b50c7 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk @0.2 nozzle.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA Silk @0.2 nozzle", + "setting_id": "965040007", + "inherits": "Snapmaker Dual PLA Silk @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A250 Dual QSKit (0.2 nozzle)", + "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker Artisan (0.2 nozzle)" + ], + "filament_max_volumetric_speed": [ + "2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk @base.json new file mode 100644 index 00000000000..9e54ccb9cf2 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk @base.json @@ -0,0 +1,62 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual PLA Silk @base", + "filament_id": "1181363872", + "inherits": "fdm_filament_pla", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "filament_cost": [ + "70" + ], + "filament_density": [ + "1.32" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_retraction_length": [ + "0.5" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature": [ + "230" + ], + "default_filament_colour": [ + "#CF942B" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk.json new file mode 100644 index 00000000000..083fdddb973 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA Silk.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA Silk", + "setting_id": "1328250686", + "inherits": "Snapmaker Dual PLA Silk @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF @0.8 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF @0.8 nozzle.json new file mode 100644 index 00000000000..edae140f174 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF @0.8 nozzle.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA-CF @0.8 nozzle", + "setting_id": "154056642", + "inherits": "Snapmaker Dual PLA-CF @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ], + "filament_max_volumetric_speed": [ + "12.8" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF @base.json new file mode 100644 index 00000000000..c5568ad7977 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF @base.json @@ -0,0 +1,77 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual PLA-CF @base", + "filament_id": "1702147325", + "inherits": "fdm_filament_pla", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "required_nozzle_HRC": [ + "40" + ], + "hot_plate_temp": [ + "55" + ], + "hot_plate_temp_initial_layer": [ + "55" + ], + "filament_density": [ + "1.22" + ], + "filament_max_volumetric_speed": [ + "15" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature": [ + "230" + ], + "temperature_vitrification": [ + "150" + ], + "default_filament_colour": [ + "#3D3C39" + ], + "filament_type": [ + "PLA-CF" + ], + "nozzle_temperature_range_low": [ + "210" + ], + "nozzle_temperature_range_high": [ + "250" + ], + "additional_cooling_fan_speed": [ + "0" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF.json new file mode 100644 index 00000000000..4eca5405b08 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA-CF.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA-CF", + "setting_id": "3589359438", + "inherits": "Snapmaker Dual PLA-CF @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA.json new file mode 100644 index 00000000000..f2ae4d99488 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PLA.json @@ -0,0 +1,46 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PLA", + "setting_id": "1195313935", + "inherits": "Snapmaker Dual PLA @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.2 nozzle)", + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.2 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.2 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA @0.2 nozzle.json new file mode 100644 index 00000000000..f83d1b68b28 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA @0.2 nozzle.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PVA @0.2 nozzle", + "setting_id": "3656018400", + "inherits": "Snapmaker Dual PVA @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A250 Dual QSKit (0.2 nozzle)", + "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker Artisan (0.2 nozzle)" + ], + "filament_max_volumetric_speed": [ + "1.4" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature": [ + "220" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA @base.json new file mode 100644 index 00000000000..6083795b147 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA @base.json @@ -0,0 +1,41 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual PVA @base", + "filament_id": "3104636980", + "inherits": "fdm_filament_pva", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "slow_down_layer_time": [ + "8" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA.json new file mode 100644 index 00000000000..b7a8430f65e --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual PVA.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual PVA", + "setting_id": "4145213908", + "inherits": "Snapmaker Dual PVA @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual TPE.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual TPE.json new file mode 100644 index 00000000000..b93954f9b2e --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual TPE.json @@ -0,0 +1,67 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual TPE", + "setting_id": "2704030359", + "inherits": "Snapmaker Dual TPU @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ], + "hot_plate_temp": [ + "45" + ], + "hot_plate_temp_initial_layer": [ + "45" + ], + "overhang_fan_speed": [ + "65" + ], + "filament_flow_ratio": [ + "1.1" + ], + "filament_density": [ + "1.22" + ], + "filament_max_volumetric_speed": [ + "7.2" + ], + "fan_max_speed": [ + "65" + ], + "fan_min_speed": [ + "65" + ], + "default_filament_colour": [ + "#383737" + ], + "filament_notes": [ + "eSUN eLastic TPE-83A\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU @base.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU @base.json new file mode 100644 index 00000000000..f343d1fb250 --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU @base.json @@ -0,0 +1,38 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "false", + "name": "Snapmaker Dual TPU @base", + "filament_id": "2971656290", + "inherits": "fdm_filament_tpu", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU High-Flow.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU High-Flow.json new file mode 100644 index 00000000000..e7be5e9e7db --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU High-Flow.json @@ -0,0 +1,55 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual TPU High-Flow", + "setting_id": "1072918854", + "inherits": "Snapmaker Dual TPU @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ], + "filament_flow_ratio": [ + "0.983" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_max_volumetric_speed": [ + "7.6" + ], + "filament_retraction_length": [ + "0.8" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_notes": [ + "!! It needs to be dried before use.\nSnapmaker TPU 95A High-Flow\n" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU.json b/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU.json new file mode 100644 index 00000000000..cc2c391c8ae --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker Dual TPU.json @@ -0,0 +1,37 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker Dual TPU", + "setting_id": "3164285683", + "inherits": "Snapmaker Dual TPU @base", + "compatible_printers": [ + "Snapmaker A250 Dual (0.4 nozzle)", + "Snapmaker A250 Dual (0.6 nozzle)", + "Snapmaker A250 Dual (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A250 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual QSKit (0.8 nozzle)", + "Snapmaker A350 Dual (0.4 nozzle)", + "Snapmaker A350 Dual (0.6 nozzle)", + "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker Artisan (0.4 nozzle)", + "Snapmaker Artisan (0.6 nozzle)", + "Snapmaker Artisan (0.8 nozzle)" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS @0.2 nozzle.json index 40a9ff19c29..ca0d592a7c0 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS @0.2 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS @0.2 nozzle.json @@ -7,5 +7,32 @@ "inherits": "Snapmaker J1 ABS @base", "compatible_printers": [ "Snapmaker J1 (0.2 nozzle)" + ], + "filament_end_gcode": [ + "" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "overhang_fan_speed": [ + "80" + ], + "filament_flow_ratio": [ + "0.93" + ], + "filament_max_volumetric_speed": [ + "2" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "15" + ], + "pressure_advance": [ + "0.015" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS @0.8 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS @0.8 nozzle.json index 04a2d058d61..b8ae69733dd 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS @0.8 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS @0.8 nozzle.json @@ -9,7 +9,7 @@ "Snapmaker J1 (0.8 nozzle)" ], "filament_max_volumetric_speed": [ - "22" + "16" ], "slow_down_min_speed": [ "10" diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS @base.json index d49172be1cd..2674a15d111 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS @base.json @@ -5,17 +5,29 @@ "name": "Snapmaker J1 ABS @base", "filament_id": "1223824394", "inherits": "fdm_filament_abs", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "hot_plate_temp": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "105" + ], "overhang_fan_speed": [ - "29" + "22" ], "filament_flow_ratio": [ "0.95" ], "filament_max_volumetric_speed": [ - "18" + "9.6" ], "fan_max_speed": [ - "29" + "22" + ], + "fan_min_speed": [ + "22" ], "pressure_advance": [ "0.02" diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS Benchy.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS Benchy.json new file mode 100644 index 00000000000..97d656cc38a --- /dev/null +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 ABS Benchy.json @@ -0,0 +1,89 @@ +{ + "type": "filament", + "from": "system", + "instantiation": "true", + "name": "Snapmaker J1 ABS Benchy", + "setting_id": "356879727", + "inherits": "Snapmaker J1 ABS @base", + "compatible_printers": [ + "Snapmaker J1 (0.4 nozzle)" + ], + "compatible_prints": [ + "0.25 Benchy @Snapmaker J1 (0.4 nozzle)" + ], + "overhang_fan_speed": [ + "35" + ], + "slow_down_for_layer_cooling": [ + "0" + ], + "fan_cooling_layer_time": [ + "2" + ], + "filament_deretraction_speed": [ + "55" + ], + "filament_max_volumetric_speed": [ + "31" + ], + "filament_retract_when_changing_layer": [ + "0" + ], + "filament_retraction_length": [ + "0.5" + ], + "filament_z_hop": [ + "0" + ], + "filament_retraction_speed": [ + "55" + ], + "filament_wipe": [ + "0" + ], + "filament_loading_speed_start": [ + "35" + ], + "filament_loading_speed": [ + "35" + ], + "filament_unloading_speed_start": [ + "35" + ], + "filament_unloading_speed": [ + "35" + ], + "filament_load_time": [ + "2" + ], + "filament_unload_time": [ + "2" + ], + "filament_cooling_moves": [ + "2" + ], + "filament_cooling_initial_speed": [ + "35" + ], + "filament_cooling_final_speed": [ + "60" + ], + "nozzle_temperature": [ + "250" + ], + "fan_max_speed": [ + "80" + ], + "fan_min_speed": [ + "65" + ], + "slow_down_min_speed": [ + "0" + ], + "slow_down_layer_time": [ + "0" + ], + "default_filament_colour": [ + "#335BBB" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 ASA @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 ASA @0.2 nozzle.json index 41f1e92077e..6e6be4145fb 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 ASA @0.2 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 ASA @0.2 nozzle.json @@ -7,5 +7,23 @@ "inherits": "Snapmaker J1 ASA @base", "compatible_printers": [ "Snapmaker J1 (0.2 nozzle)" + ], + "hot_plate_temp": [ + "90" + ], + "hot_plate_temp_initial_layer": [ + "90" + ], + "overhang_fan_speed": [ + "80" + ], + "filament_max_volumetric_speed": [ + "2.4" + ], + "fan_max_speed": [ + "35" + ], + "fan_min_speed": [ + "10" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 ASA @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 ASA @base.json index a38b5082239..cd43cd00b43 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 ASA @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 ASA @base.json @@ -5,9 +5,18 @@ "name": "Snapmaker J1 ASA @base", "filament_id": "144877656", "inherits": "fdm_filament_asa", + "hot_plate_temp": [ + "110" + ], + "hot_plate_temp_initial_layer": [ + "100" + ], "overhang_fan_speed": [ "20" ], + "filament_max_volumetric_speed": [ + "9.6" + ], "fan_max_speed": [ "20" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PA-CF @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PA-CF @base.json index b7bda1fadc6..1514c32a42c 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PA-CF @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PA-CF @base.json @@ -5,6 +5,9 @@ "name": "Snapmaker J1 PA-CF @base", "filament_id": "1210173120", "inherits": "fdm_filament_pa", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], "overhang_fan_speed": [ "55" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PET @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PET @base.json index a65db99924b..fdd3a613bf4 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PET @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PET @base.json @@ -5,6 +5,9 @@ "name": "Snapmaker J1 PET @base", "filament_id": "1009481135", "inherits": "fdm_filament_pet", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], "overhang_fan_speed": [ "40" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG @0.2 nozzle.json index f8c6325bc18..2f7f4539ac8 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG @0.2 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG @0.2 nozzle.json @@ -9,6 +9,6 @@ "Snapmaker J1 (0.2 nozzle)" ], "filament_max_volumetric_speed": [ - "1.2" + "1.6" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG @0.8 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG @0.8 nozzle.json index 3860051545d..d78b04b3696 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG @0.8 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG @0.8 nozzle.json @@ -8,9 +8,6 @@ "compatible_printers": [ "Snapmaker J1 (0.8 nozzle)" ], - "filament_max_volumetric_speed": [ - "16" - ], "fan_max_speed": [ "60" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG @base.json index d856f8ed3e5..ad69c9f1874 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG @base.json @@ -5,12 +5,15 @@ "name": "Snapmaker J1 PETG @base", "filament_id": "1172603684", "inherits": "fdm_filament_petg", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], + "overhang_fan_speed": [ + "35" + ], "filament_density": [ "1.25" ], - "filament_max_volumetric_speed": [ - "14" - ], "filament_z_hop_types": [ "Spiral Lift" ], @@ -24,29 +27,11 @@ "178" ], "fan_max_speed": [ - "40" + "30" ], "fan_min_speed": [ "10" ], - "cool_plate_temp": [ - "70" - ], - "eng_plate_temp": [ - "70" - ], - "textured_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], "nozzle_temperature_range_low": [ "240" ] diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG-CF @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG-CF @base.json index 30d518d9d48..7a8f9f949ea 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG-CF @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PETG-CF @base.json @@ -5,14 +5,20 @@ "name": "Snapmaker J1 PETG-CF @base", "filament_id": "4235401834", "inherits": "fdm_filament_petg", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], "required_nozzle_HRC": [ "40" ], - "reduce_fan_stop_start_freq": [ - "0" + "overhang_fan_threshold": [ + "10%" + ], + "overhang_fan_speed": [ + "55" ], "fan_cooling_layer_time": [ - "20" + "10" ], "filament_cost": [ "40" @@ -21,7 +27,7 @@ "1.25" ], "filament_max_volumetric_speed": [ - "14" + "6.4" ], "filament_retraction_minimum_travel": [ "nil" @@ -29,8 +35,8 @@ "filament_retraction_length": [ "nil" ], - "nozzle_temperature": [ - "255" + "nozzle_temperature_initial_layer": [ + "250" ], "temperature_vitrification": [ "178" @@ -50,31 +56,13 @@ "enable_pressure_advance": [ "0" ], - "cool_plate_temp": [ - "70" - ], - "eng_plate_temp": [ - "70" - ], - "textured_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" + "filament_type": [ + "PETG-CF" ], "default_filament_colour": [ "#3D3C39" ], - "filament_type": [ - "PETG-CF" - ], - "nozzle_temperature_range_low": [ - "240" + "nozzle_temperature_range_high": [ + "255" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA @base.json index abd1c423891..e95ea7a1125 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA @base.json @@ -5,6 +5,9 @@ "name": "Snapmaker J1 PLA @base", "filament_id": "377675245", "inherits": "fdm_filament_pla", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], "filament_retraction_length": [ "nil" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Eco @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Eco @base.json index f5f24aa8c0e..4e2f8954b6f 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Eco @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Eco @base.json @@ -5,6 +5,9 @@ "name": "Snapmaker J1 PLA Eco @base", "filament_id": "3383257822", "inherits": "fdm_filament_pla_eco", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], "filament_density": [ "1.26" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Matte @0.8 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Matte @0.8 nozzle.json index b3f6fa1f3b1..150999911fe 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Matte @0.8 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Matte @0.8 nozzle.json @@ -8,9 +8,6 @@ "compatible_printers": [ "Snapmaker J1 (0.8 nozzle)" ], - "filament_max_volumetric_speed": [ - "22" - ], "slow_down_min_speed": [ "20" ] diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Matte @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Matte @base.json index efca77692fe..1f9759f5620 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Matte @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Matte @base.json @@ -5,11 +5,14 @@ "name": "Snapmaker J1 PLA Matte @base", "filament_id": "1192769348", "inherits": "fdm_filament_pla", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], "filament_density": [ "1.32" ], "filament_max_volumetric_speed": [ - "19" + "9.6" ], "nozzle_temperature_initial_layer": [ "215" diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Metal @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Metal @base.json index 3d75258f561..ceac6636484 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Metal @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Metal @base.json @@ -5,6 +5,9 @@ "name": "Snapmaker J1 PLA Metal @base", "filament_id": "4012961186", "inherits": "fdm_filament_pla", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], "filament_cost": [ "90" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Silk @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Silk @base.json index e9fc62b8fc3..780b647fca0 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Silk @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA Silk @base.json @@ -5,6 +5,9 @@ "name": "Snapmaker J1 PLA Silk @base", "filament_id": "1528786603", "inherits": "fdm_filament_pla", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], "hot_plate_temp_initial_layer": [ "65" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA-CF @0.8 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA-CF @0.8 nozzle.json index e7714a602f7..28dff6e2ea8 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA-CF @0.8 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA-CF @0.8 nozzle.json @@ -9,6 +9,6 @@ "Snapmaker J1 (0.8 nozzle)" ], "filament_max_volumetric_speed": [ - "18" + "12.8" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA-CF @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA-CF @base.json index 699e8eee375..5b5ffb42be3 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA-CF @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PLA-CF @base.json @@ -5,6 +5,9 @@ "name": "Snapmaker J1 PLA-CF @base", "filament_id": "3806593857", "inherits": "fdm_filament_pla", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], "required_nozzle_HRC": [ "40" ], @@ -29,24 +32,6 @@ "temperature_vitrification": [ "150" ], - "cool_plate_temp": [ - "55" - ], - "eng_plate_temp": [ - "55" - ], - "textured_plate_temp": [ - "55" - ], - "cool_plate_temp_initial_layer": [ - "55" - ], - "eng_plate_temp_initial_layer": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], "default_filament_colour": [ "#3D3C39" ], diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 PVA @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 PVA @base.json index e7e03c48e1a..e74dfa665ff 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 PVA @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 PVA @base.json @@ -5,6 +5,9 @@ "name": "Snapmaker J1 PVA @base", "filament_id": "4227461134", "inherits": "fdm_filament_pva", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ], "slow_down_layer_time": [ "8" ] diff --git a/resources/profiles/Snapmaker/filament/Snapmaker J1 TPU @base.json b/resources/profiles/Snapmaker/filament/Snapmaker J1 TPU @base.json index 101d1bcd198..ae11ea5b292 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker J1 TPU @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker J1 TPU @base.json @@ -4,5 +4,8 @@ "instantiation": "false", "name": "Snapmaker J1 TPU @base", "filament_id": "4092268632", - "inherits": "fdm_filament_tpu" + "inherits": "fdm_filament_tpu", + "filament_end_gcode": [ + "M104 S{temperature_vitrification[current_extruder]} ;standby T{current_extruder}" + ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PA-CF.json b/resources/profiles/Snapmaker/filament/Snapmaker PA-CF.json index 0a7bc640b3b..7f1cf4b3465 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PA-CF.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PA-CF.json @@ -9,26 +9,26 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", - "Snapmaker A350 QSKit (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 QSKit (0.8 nozzle)" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PET @Dual.json b/resources/profiles/Snapmaker/filament/Snapmaker PET @Dual.json index aaafafde466..1318da9b4e8 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PET @Dual.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PET @Dual.json @@ -4,28 +4,5 @@ "instantiation": "true", "name": "Snapmaker PET @Dual", "setting_id": "145337790", - "inherits": "Snapmaker PET @base", - "compatible_printers": [ - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" - ], - "overhang_fan_speed": [ - "40" - ], - "fan_max_speed": [ - "55" - ], - "fan_min_speed": [ - "20" - ] + "inherits": "Snapmaker Dual PET @base" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PET.json b/resources/profiles/Snapmaker/filament/Snapmaker PET.json index 76943095eaf..0357f8ce705 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PET.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PET.json @@ -9,26 +9,26 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", - "Snapmaker A350 QSKit (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 QSKit (0.8 nozzle)" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PETG @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker PETG @0.2 nozzle.json index 824fe3aeb66..eceef2ca82a 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PETG @0.2 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PETG @0.2 nozzle.json @@ -7,15 +7,15 @@ "inherits": "Snapmaker PETG @base", "compatible_printers": [ "Snapmaker A250 (0.2 nozzle)", - "Snapmaker A350 (0.2 nozzle)", - "Snapmaker A250 Dual (0.2 nozzle)", - "Snapmaker A350 Dual (0.2 nozzle)", + "Snapmaker A250 BKit (0.2 nozzle)", + "Snapmaker A250 QS+B Kit (0.2 nozzle)", "Snapmaker A250 QSKit (0.2 nozzle)", - "Snapmaker A350 QSKit (0.2 nozzle)", - "Snapmaker A250 Dual QSKit (0.2 nozzle)", - "Snapmaker A350 Dual QSKit (0.2 nozzle)" + "Snapmaker A350 (0.2 nozzle)", + "Snapmaker A350 BKit (0.2 nozzle)", + "Snapmaker A350 QS+B Kit (0.2 nozzle)", + "Snapmaker A350 QSKit (0.2 nozzle)" ], "filament_max_volumetric_speed": [ - "1" + "1.6" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PETG-CF @base.json b/resources/profiles/Snapmaker/filament/Snapmaker PETG-CF @base.json index 13a9d748955..06600fd9e89 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PETG-CF @base.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PETG-CF @base.json @@ -8,11 +8,14 @@ "required_nozzle_HRC": [ "40" ], - "reduce_fan_stop_start_freq": [ - "0" + "overhang_fan_threshold": [ + "10%" + ], + "overhang_fan_speed": [ + "55" ], "fan_cooling_layer_time": [ - "20" + "10" ], "filament_cost": [ "40" @@ -20,12 +23,18 @@ "filament_density": [ "1.25" ], + "filament_max_volumetric_speed": [ + "6.4" + ], "filament_retraction_minimum_travel": [ "nil" ], "filament_retraction_length": [ "nil" ], + "nozzle_temperature_initial_layer": [ + "250" + ], "temperature_vitrification": [ "178" ], @@ -44,31 +53,13 @@ "enable_pressure_advance": [ "0" ], - "cool_plate_temp": [ - "70" - ], - "eng_plate_temp": [ - "70" - ], - "textured_plate_temp": [ - "70" - ], - "cool_plate_temp_initial_layer": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" + "filament_type": [ + "PETG-CF" ], "default_filament_colour": [ "#3D3C39" ], - "filament_type": [ - "PETG-CF" - ], - "nozzle_temperature_range_low": [ - "240" + "nozzle_temperature_range_high": [ + "255" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PETG-CF.json b/resources/profiles/Snapmaker/filament/Snapmaker PETG-CF.json index 25bc06a5991..6901560cc30 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PETG-CF.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PETG-CF.json @@ -9,26 +9,26 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", - "Snapmaker A350 QSKit (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 QSKit (0.8 nozzle)" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PETG.json b/resources/profiles/Snapmaker/filament/Snapmaker PETG.json index 88dc72729dc..855640f556b 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PETG.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PETG.json @@ -9,26 +9,26 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", - "Snapmaker A350 QSKit (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 QSKit (0.8 nozzle)" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA Eco.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA Eco.json index afe83fd2992..ee4863686b0 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA Eco.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA Eco.json @@ -10,25 +10,33 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", + "Snapmaker A250 BKit (0.2 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.2 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", + "Snapmaker A250 QSKit (0.2 nozzle)", + "Snapmaker A250 QSKit (0.4 nozzle)", + "Snapmaker A250 QSKit (0.6 nozzle)", + "Snapmaker A250 QSKit (0.8 nozzle)", "Snapmaker A350 (0.2 nozzle)", "Snapmaker A350 (0.4 nozzle)", "Snapmaker A350 (0.6 nozzle)", "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.2 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.2 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.2 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.2 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 BKit (0.2 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.2 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", + "Snapmaker A350 QSKit (0.2 nozzle)", + "Snapmaker A350 QSKit (0.4 nozzle)", + "Snapmaker A350 QSKit (0.6 nozzle)", + "Snapmaker A350 QSKit (0.8 nozzle)" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA Silk @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA Silk @0.2 nozzle.json index 9e7b884d477..90f05057b64 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA Silk @0.2 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA Silk @0.2 nozzle.json @@ -7,12 +7,12 @@ "inherits": "Snapmaker PLA Silk @base", "compatible_printers": [ "Snapmaker A250 (0.2 nozzle)", - "Snapmaker A350 (0.2 nozzle)", - "Snapmaker A250 Dual (0.2 nozzle)", - "Snapmaker A350 Dual (0.2 nozzle)", - "Snapmaker A250 Dual QSKit (0.2 nozzle)", - "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker A250 BKit (0.2 nozzle)", + "Snapmaker A250 QS+B Kit (0.2 nozzle)", "Snapmaker A250 QSKit (0.2 nozzle)", + "Snapmaker A350 (0.2 nozzle)", + "Snapmaker A350 BKit (0.2 nozzle)", + "Snapmaker A350 QS+B Kit (0.2 nozzle)", "Snapmaker A350 QSKit (0.2 nozzle)" ], "filament_max_volumetric_speed": [ diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA Silk.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA Silk.json index e26c80ff7ec..6928499914b 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA Silk.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA Silk.json @@ -9,24 +9,24 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.8 nozzle)" diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA-CF.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA-CF.json index 5fd902e2173..5439435abfd 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA-CF.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA-CF.json @@ -9,24 +9,24 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.8 nozzle)" diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PLA.json b/resources/profiles/Snapmaker/filament/Snapmaker PLA.json index 0deea4e9366..5dd453dfa44 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PLA.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PLA.json @@ -10,33 +10,33 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.2 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.2 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.2 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", + "Snapmaker A250 BKit (0.2 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.2 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.2 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.2 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.2 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.2 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.2 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", - "Snapmaker A350 QSKit (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.2 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.2 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 QSKit (0.8 nozzle)" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PVA @0.2 nozzle.json b/resources/profiles/Snapmaker/filament/Snapmaker PVA @0.2 nozzle.json index e9831920995..521a5d53d59 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PVA @0.2 nozzle.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PVA @0.2 nozzle.json @@ -4,18 +4,5 @@ "instantiation": "true", "name": "Snapmaker PVA @0.2 nozzle", "setting_id": "1131479069", - "inherits": "Snapmaker PVA @base", - "compatible_printers": [ - "Snapmaker A250 (0.2 nozzle)", - "Snapmaker A350 (0.2 nozzle)", - "Snapmaker A250 Dual (0.2 nozzle)", - "Snapmaker A350 Dual (0.2 nozzle)", - "Snapmaker A250 Dual QSKit (0.2 nozzle)", - "Snapmaker A350 Dual QSKit (0.2 nozzle)", - "Snapmaker A250 QSKit (0.2 nozzle)", - "Snapmaker A350 QSKit (0.2 nozzle)" - ], - "filament_max_volumetric_speed": [ - "1.2" - ] + "inherits": "Snapmaker PVA @base" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker PVA.json b/resources/profiles/Snapmaker/filament/Snapmaker PVA.json index fdd0387142d..4ed343df13f 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker PVA.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker PVA.json @@ -4,31 +4,5 @@ "instantiation": "true", "name": "Snapmaker PVA", "setting_id": "3741816734", - "inherits": "Snapmaker PVA @base", - "compatible_printers": [ - "Snapmaker A250 (0.4 nozzle)", - "Snapmaker A250 (0.6 nozzle)", - "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)", - "Snapmaker A250 QSKit (0.4 nozzle)", - "Snapmaker A250 QSKit (0.6 nozzle)", - "Snapmaker A250 QSKit (0.8 nozzle)", - "Snapmaker A350 QSKit (0.4 nozzle)", - "Snapmaker A350 QSKit (0.6 nozzle)", - "Snapmaker A350 QSKit (0.8 nozzle)" - ] + "inherits": "Snapmaker PVA @base" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/Snapmaker TPE.json b/resources/profiles/Snapmaker/filament/Snapmaker TPE.json index 846a0536881..ac388de2231 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker TPE.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker TPE.json @@ -9,24 +9,24 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.8 nozzle)" diff --git a/resources/profiles/Snapmaker/filament/Snapmaker TPU.json b/resources/profiles/Snapmaker/filament/Snapmaker TPU.json index c1d56cc39ba..3d203bcd72a 100644 --- a/resources/profiles/Snapmaker/filament/Snapmaker TPU.json +++ b/resources/profiles/Snapmaker/filament/Snapmaker TPU.json @@ -9,24 +9,24 @@ "Snapmaker A250 (0.4 nozzle)", "Snapmaker A250 (0.6 nozzle)", "Snapmaker A250 (0.8 nozzle)", - "Snapmaker A350 (0.4 nozzle)", - "Snapmaker A350 (0.6 nozzle)", - "Snapmaker A350 (0.8 nozzle)", - "Snapmaker A250 Dual (0.4 nozzle)", - "Snapmaker A250 Dual (0.6 nozzle)", - "Snapmaker A250 Dual (0.8 nozzle)", - "Snapmaker A350 Dual (0.4 nozzle)", - "Snapmaker A350 Dual (0.6 nozzle)", - "Snapmaker A350 Dual (0.8 nozzle)", - "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", + "Snapmaker A350 (0.4 nozzle)", + "Snapmaker A350 (0.6 nozzle)", + "Snapmaker A350 (0.8 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.8 nozzle)" diff --git a/resources/profiles/Snapmaker/filament/fdm_filament_common.json b/resources/profiles/Snapmaker/filament/fdm_filament_common.json index e2d108845fe..4e6b9230ff8 100644 --- a/resources/profiles/Snapmaker/filament/fdm_filament_common.json +++ b/resources/profiles/Snapmaker/filament/fdm_filament_common.json @@ -70,7 +70,7 @@ "0" ], "filament_minimal_purge_on_wipe_tower": [ - "3" + "0" ], "filament_retraction_minimum_travel": [ "nil" @@ -169,21 +169,21 @@ "0.04" ], "cool_plate_temp": [ - "60" + "0" ], "eng_plate_temp": [ - "60" + "0" ], "textured_plate_temp": [ - "60" + "0" ], "cool_plate_temp_initial_layer": [ - "60" + "0" ], "eng_plate_temp_initial_layer": [ - "60" + "0" ], "textured_plate_temp_initial_layer": [ - "60" + "0" ] } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/filament/fdm_filament_pa.json b/resources/profiles/Snapmaker/filament/fdm_filament_pa.json index aa2b20a5c2f..983d97901d5 100644 --- a/resources/profiles/Snapmaker/filament/fdm_filament_pa.json +++ b/resources/profiles/Snapmaker/filament/fdm_filament_pa.json @@ -8,10 +8,10 @@ "40" ], "hot_plate_temp": [ - "90" + "95" ], "hot_plate_temp_initial_layer": [ - "85" + "90" ], "overhang_fan_threshold": [ "0%" @@ -70,24 +70,6 @@ "slow_down_layer_time": [ "20" ], - "cool_plate_temp": [ - "90" - ], - "eng_plate_temp": [ - "90" - ], - "textured_plate_temp": [ - "90" - ], - "cool_plate_temp_initial_layer": [ - "85" - ], - "eng_plate_temp_initial_layer": [ - "85" - ], - "textured_plate_temp_initial_layer": [ - "85" - ], "default_filament_colour": [ "#3D3C39" ], diff --git a/resources/profiles/Snapmaker/filament/fdm_filament_pva.json b/resources/profiles/Snapmaker/filament/fdm_filament_pva.json index 73717471a5e..9f34b6ed576 100644 --- a/resources/profiles/Snapmaker/filament/fdm_filament_pva.json +++ b/resources/profiles/Snapmaker/filament/fdm_filament_pva.json @@ -55,24 +55,6 @@ "slow_down_layer_time": [ "7" ], - "cool_plate_temp": [ - "50" - ], - "eng_plate_temp": [ - "50" - ], - "textured_plate_temp": [ - "50" - ], - "cool_plate_temp_initial_layer": [ - "50" - ], - "eng_plate_temp_initial_layer": [ - "50" - ], - "textured_plate_temp_initial_layer": [ - "50" - ], "default_filament_colour": [ "#D9DFE3" ], diff --git a/resources/profiles/Snapmaker/filament/fdm_filament_tpu.json b/resources/profiles/Snapmaker/filament/fdm_filament_tpu.json index bb6a8df3a2d..86075bf3801 100644 --- a/resources/profiles/Snapmaker/filament/fdm_filament_tpu.json +++ b/resources/profiles/Snapmaker/filament/fdm_filament_tpu.json @@ -32,7 +32,7 @@ "1.24" ], "filament_deretraction_speed": [ - "20" + "25" ], "filament_max_volumetric_speed": [ "2.8" @@ -41,7 +41,7 @@ "0" ], "filament_retraction_length": [ - "0.6" + "0.5" ], "filament_z_hop": [ "0" @@ -50,7 +50,7 @@ "Normal Lift" ], "filament_retraction_speed": [ - "20" + "25" ], "nozzle_temperature_initial_layer": [ "240" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.2 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.2 nozzle).json new file mode 100644 index 00000000000..0e263e84128 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.2 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A250 BKit (0.2 nozzle)", + "setting_id": "601809056", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_bk", + "printer_model": "Snapmaker A250 BKit", + "default_print_profile": "0.14 Standard @Snapmaker (0.2 nozzle)", + "printer_variant": "0.2", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "nozzle_diameter": [ + "0.2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.4 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.4 nozzle).json new file mode 100644 index 00000000000..149ab1f9498 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.4 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A250 BKit (0.4 nozzle)", + "setting_id": "1355061546", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_bk", + "printer_model": "Snapmaker A250 BKit", + "default_print_profile": "0.16 Optimal @Snapmaker (0.4 nozzle)", + "printer_variant": "0.4", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.6 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.6 nozzle).json new file mode 100644 index 00000000000..6971038c816 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.6 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A250 BKit (0.6 nozzle)", + "setting_id": "2117251500", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_bk", + "printer_model": "Snapmaker A250 BKit", + "default_print_profile": "0.18 Standard @Snapmaker (0.6 nozzle)", + "printer_variant": "0.6", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.18" + ], + "nozzle_diameter": [ + "0.6" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.8 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.8 nozzle).json new file mode 100644 index 00000000000..0753e53bb94 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit (0.8 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A250 BKit (0.8 nozzle)", + "setting_id": "3069209150", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_bk", + "printer_model": "Snapmaker A250 BKit", + "default_print_profile": "0.24 Standard @Snapmaker (0.8 nozzle)", + "printer_variant": "0.8", + "max_layer_height": [ + "0.48" + ], + "min_layer_height": [ + "0.24" + ], + "nozzle_diameter": [ + "0.8" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit.json new file mode 100644 index 00000000000..58ce739df1c --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 BKit.json @@ -0,0 +1,11 @@ +{ + "type": "machine_model", + "machine_tech": "FFF", + "family": "Snapmaker", + "name": "Snapmaker A250 BKit", + "url": "https://github.com/macdylan", + "model_id": "1921635482", + "bed_model": "Snapmaker A250_bed.stl", + "bed_texture": "Snapmaker A250_texture.svg", + "nozzle_diameter": "0.2;0.4;0.6;0.8" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.2 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.2 nozzle).json new file mode 100644 index 00000000000..fe7de49ffc7 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.2 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A250 Dual BKit (0.2 nozzle)", + "setting_id": "1737970856", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_dual_bk", + "printer_model": "Snapmaker A250 Dual BKit", + "default_print_profile": "0.14 Standard @Snapmaker (0.2 nozzle)", + "printer_variant": "0.2", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "nozzle_diameter": [ + "0.2", + "0.2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.4 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.4 nozzle).json new file mode 100644 index 00000000000..55221d047a2 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.4 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A250 Dual BKit (0.4 nozzle)", + "setting_id": "344796450", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_dual_bk", + "printer_model": "Snapmaker A250 Dual BKit", + "default_print_profile": "0.16 Optimal @Snapmaker (0.4 nozzle)", + "printer_variant": "0.4", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4", + "0.4" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.6 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.6 nozzle).json new file mode 100644 index 00000000000..04bab454148 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.6 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A250 Dual BKit (0.6 nozzle)", + "setting_id": "981140900", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_dual_bk", + "printer_model": "Snapmaker A250 Dual BKit", + "default_print_profile": "0.18 Standard @Snapmaker (0.6 nozzle)", + "printer_variant": "0.6", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.18" + ], + "nozzle_diameter": [ + "0.6", + "0.6" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.8 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.8 nozzle).json new file mode 100644 index 00000000000..b938a00d3c3 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit (0.8 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A250 Dual BKit (0.8 nozzle)", + "setting_id": "4072267318", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_dual_bk", + "printer_model": "Snapmaker A250 Dual BKit", + "default_print_profile": "0.24 Standard @Snapmaker (0.8 nozzle)", + "printer_variant": "0.8", + "max_layer_height": [ + "0.48" + ], + "min_layer_height": [ + "0.24" + ], + "nozzle_diameter": [ + "0.8", + "0.8" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit.json new file mode 100644 index 00000000000..4d353c996d8 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual BKit.json @@ -0,0 +1,11 @@ +{ + "type": "machine_model", + "machine_tech": "FFF", + "family": "Snapmaker", + "name": "Snapmaker A250 Dual BKit", + "url": "https://github.com/macdylan", + "model_id": "1463587605", + "bed_model": "Snapmaker A250_bed.stl", + "bed_texture": "Snapmaker A250 Dual_texture.svg", + "nozzle_diameter": "0.2;0.4;0.6;0.8" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.2 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.2 nozzle).json new file mode 100644 index 00000000000..6fad47bacbc --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.2 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "setting_id": "1173309402", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_dual_qs_bk", + "printer_model": "Snapmaker A250 Dual QS+B Kit", + "default_print_profile": "0.14 Standard @Snapmaker (0.2 nozzle)", + "printer_variant": "0.2", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "nozzle_diameter": [ + "0.2", + "0.2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.4 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.4 nozzle).json new file mode 100644 index 00000000000..64560104bc7 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.4 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "setting_id": "922041936", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_dual_qs_bk", + "printer_model": "Snapmaker A250 Dual QS+B Kit", + "default_print_profile": "0.16 Optimal @Snapmaker (0.4 nozzle)", + "printer_variant": "0.4", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4", + "0.4" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.6 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.6 nozzle).json new file mode 100644 index 00000000000..c61616bf2bf --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.6 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "setting_id": "402855638", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_dual_qs_bk", + "printer_model": "Snapmaker A250 Dual QS+B Kit", + "default_print_profile": "0.18 Standard @Snapmaker (0.6 nozzle)", + "printer_variant": "0.6", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.18" + ], + "nozzle_diameter": [ + "0.6", + "0.6" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.8 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.8 nozzle).json new file mode 100644 index 00000000000..74c02a16997 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit (0.8 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "setting_id": "3502361924", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_dual_qs_bk", + "printer_model": "Snapmaker A250 Dual QS+B Kit", + "default_print_profile": "0.24 Standard @Snapmaker (0.8 nozzle)", + "printer_variant": "0.8", + "max_layer_height": [ + "0.48" + ], + "min_layer_height": [ + "0.24" + ], + "nozzle_diameter": [ + "0.8", + "0.8" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit.json new file mode 100644 index 00000000000..177c6ce1f3f --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QS+B Kit.json @@ -0,0 +1,11 @@ +{ + "type": "machine_model", + "machine_tech": "FFF", + "family": "Snapmaker", + "name": "Snapmaker A250 Dual QS+B Kit", + "url": "https://github.com/macdylan", + "model_id": "3396626756", + "bed_model": "Snapmaker A250_bed.stl", + "bed_texture": "Snapmaker A250 Dual_texture.svg", + "nozzle_diameter": "0.2;0.4;0.6;0.8" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QSKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QSKit.json index b9393c2dc3a..ebf2d3524b6 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QSKit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual QSKit.json @@ -6,6 +6,6 @@ "url": "https://github.com/macdylan", "model_id": "2661871200", "bed_model": "Snapmaker A250_bed.stl", - "bed_texture": "Snapmaker A250 QSKit_texture.svg", + "bed_texture": "Snapmaker A250 Dual_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual.json index 2ec1c0ee928..2e655df13ab 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 Dual.json @@ -6,6 +6,6 @@ "url": "https://github.com/macdylan", "model_id": "2728546690", "bed_model": "Snapmaker A250_bed.stl", - "bed_texture": "Snapmaker A250_texture.svg", + "bed_texture": "Snapmaker A250 Dual_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.2 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.2 nozzle).json new file mode 100644 index 00000000000..7730efb8e2e --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.2 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A250 QS+B Kit (0.2 nozzle)", + "setting_id": "302401596", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_qs_bk", + "printer_model": "Snapmaker A250 QS+B Kit", + "default_print_profile": "0.14 Standard @Snapmaker (0.2 nozzle)", + "printer_variant": "0.2", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "nozzle_diameter": [ + "0.2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.4 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.4 nozzle).json new file mode 100644 index 00000000000..dbb4414dbaf --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.4 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "setting_id": "1629237686", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_qs_bk", + "printer_model": "Snapmaker A250 QS+B Kit", + "default_print_profile": "0.16 Optimal @Snapmaker (0.4 nozzle)", + "printer_variant": "0.4", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.6 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.6 nozzle).json new file mode 100644 index 00000000000..75fb4331336 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.6 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "setting_id": "1340741936", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_qs_bk", + "printer_model": "Snapmaker A250 QS+B Kit", + "default_print_profile": "0.18 Standard @Snapmaker (0.6 nozzle)", + "printer_variant": "0.6", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.18" + ], + "nozzle_diameter": [ + "0.6" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.8 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.8 nozzle).json new file mode 100644 index 00000000000..eec100468cc --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit (0.8 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A250 QS+B Kit (0.8 nozzle)", + "setting_id": "2267595426", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a250_qs_bk", + "printer_model": "Snapmaker A250 QS+B Kit", + "default_print_profile": "0.24 Standard @Snapmaker (0.8 nozzle)", + "printer_variant": "0.8", + "max_layer_height": [ + "0.48" + ], + "min_layer_height": [ + "0.24" + ], + "nozzle_diameter": [ + "0.8" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit.json new file mode 100644 index 00000000000..5385dfbb627 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 QS+B Kit.json @@ -0,0 +1,11 @@ +{ + "type": "machine_model", + "machine_tech": "FFF", + "family": "Snapmaker", + "name": "Snapmaker A250 QS+B Kit", + "url": "https://github.com/macdylan", + "model_id": "3626883798", + "bed_model": "Snapmaker A250_bed.stl", + "bed_texture": "Snapmaker A250_texture.svg", + "nozzle_diameter": "0.2;0.4;0.6;0.8" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A250 QSKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A250 QSKit.json index 26a51f641c5..06a06c068fa 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A250 QSKit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A250 QSKit.json @@ -6,6 +6,6 @@ "url": "https://github.com/macdylan", "model_id": "3817522582", "bed_model": "Snapmaker A250_bed.stl", - "bed_texture": "Snapmaker A250 QSKit_texture.svg", + "bed_texture": "Snapmaker A250_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.2 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.2 nozzle).json new file mode 100644 index 00000000000..c785a1315a9 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.2 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A350 BKit (0.2 nozzle)", + "setting_id": "3154404158", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_bk", + "printer_model": "Snapmaker A350 BKit", + "default_print_profile": "0.14 Standard @Snapmaker (0.2 nozzle)", + "printer_variant": "0.2", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "nozzle_diameter": [ + "0.2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.4 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.4 nozzle).json new file mode 100644 index 00000000000..941bf35c7d3 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.4 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A350 BKit (0.4 nozzle)", + "setting_id": "3474856628", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_bk", + "printer_model": "Snapmaker A350 BKit", + "default_print_profile": "0.16 Optimal @Snapmaker (0.4 nozzle)", + "printer_variant": "0.4", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.6 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.6 nozzle).json new file mode 100644 index 00000000000..59809d5f8e5 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.6 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A350 BKit (0.6 nozzle)", + "setting_id": "3790090802", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_bk", + "printer_model": "Snapmaker A350 BKit", + "default_print_profile": "0.18 Standard @Snapmaker (0.6 nozzle)", + "printer_variant": "0.6", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.18" + ], + "nozzle_diameter": [ + "0.6" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.8 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.8 nozzle).json new file mode 100644 index 00000000000..f23011008ca --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit (0.8 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A350 BKit (0.8 nozzle)", + "setting_id": "690678176", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_bk", + "printer_model": "Snapmaker A350 BKit", + "default_print_profile": "0.24 Standard @Snapmaker (0.8 nozzle)", + "printer_variant": "0.8", + "max_layer_height": [ + "0.48" + ], + "min_layer_height": [ + "0.24" + ], + "nozzle_diameter": [ + "0.8" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit.json new file mode 100644 index 00000000000..55d9b2301b5 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 BKit.json @@ -0,0 +1,11 @@ +{ + "type": "machine_model", + "machine_tech": "FFF", + "family": "Snapmaker", + "name": "Snapmaker A350 BKit", + "url": "https://github.com/macdylan", + "model_id": "3190019076", + "bed_model": "Snapmaker A350_bed.stl", + "bed_texture": "Snapmaker A350_texture.svg", + "nozzle_diameter": "0.2;0.4;0.6;0.8" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.2 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.2 nozzle).json new file mode 100644 index 00000000000..eb0dccbbc2b --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.2 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A350 Dual BKit (0.2 nozzle)", + "setting_id": "2156589631", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_dual_bk", + "printer_model": "Snapmaker A350 Dual BKit", + "default_print_profile": "0.14 Standard @Snapmaker (0.2 nozzle)", + "printer_variant": "0.2", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "nozzle_diameter": [ + "0.2", + "0.2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.4 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.4 nozzle).json new file mode 100644 index 00000000000..8148ed097b5 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.4 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A350 Dual BKit (0.4 nozzle)", + "setting_id": "4086336437", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_dual_bk", + "printer_model": "Snapmaker A350 Dual BKit", + "default_print_profile": "0.16 Optimal @Snapmaker (0.4 nozzle)", + "printer_variant": "0.4", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4", + "0.4" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.6 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.6 nozzle).json new file mode 100644 index 00000000000..e589dcc894a --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.6 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A350 Dual BKit (0.6 nozzle)", + "setting_id": "3714491187", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_dual_bk", + "printer_model": "Snapmaker A350 Dual BKit", + "default_print_profile": "0.18 Standard @Snapmaker (0.6 nozzle)", + "printer_variant": "0.6", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.18" + ], + "nozzle_diameter": [ + "0.6", + "0.6" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.8 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.8 nozzle).json new file mode 100644 index 00000000000..2b5f34c71f3 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit (0.8 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A350 Dual BKit (0.8 nozzle)", + "setting_id": "363100321", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_dual_bk", + "printer_model": "Snapmaker A350 Dual BKit", + "default_print_profile": "0.24 Standard @Snapmaker (0.8 nozzle)", + "printer_variant": "0.8", + "max_layer_height": [ + "0.48" + ], + "min_layer_height": [ + "0.24" + ], + "nozzle_diameter": [ + "0.8", + "0.8" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit.json new file mode 100644 index 00000000000..0ba9b50af74 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual BKit.json @@ -0,0 +1,11 @@ +{ + "type": "machine_model", + "machine_tech": "FFF", + "family": "Snapmaker", + "name": "Snapmaker A350 Dual BKit", + "url": "https://github.com/macdylan", + "model_id": "2326416016", + "bed_model": "Snapmaker A350_bed.stl", + "bed_texture": "Snapmaker A350 Dual_texture.svg", + "nozzle_diameter": "0.2;0.4;0.6;0.8" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.2 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.2 nozzle).json new file mode 100644 index 00000000000..1edb00c17af --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.2 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)", + "setting_id": "2039456978", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_dual_qs_bk", + "printer_model": "Snapmaker A350 Dual QS+B Kit", + "default_print_profile": "0.14 Standard @Snapmaker (0.2 nozzle)", + "printer_variant": "0.2", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "nozzle_diameter": [ + "0.2", + "0.2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.4 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.4 nozzle).json new file mode 100644 index 00000000000..cf5552f9238 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.4 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)", + "setting_id": "177593688", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_dual_qs_bk", + "printer_model": "Snapmaker A350 Dual QS+B Kit", + "default_print_profile": "0.16 Optimal @Snapmaker (0.4 nozzle)", + "printer_variant": "0.4", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4", + "0.4" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.6 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.6 nozzle).json new file mode 100644 index 00000000000..165ba09dea0 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.6 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)", + "setting_id": "610530782", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_dual_qs_bk", + "printer_model": "Snapmaker A350 Dual QS+B Kit", + "default_print_profile": "0.18 Standard @Snapmaker (0.6 nozzle)", + "printer_variant": "0.6", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.18" + ], + "nozzle_diameter": [ + "0.6", + "0.6" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.8 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.8 nozzle).json new file mode 100644 index 00000000000..ba996f2e3b3 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit (0.8 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)", + "setting_id": "3969986124", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_dual_qs_bk", + "printer_model": "Snapmaker A350 Dual QS+B Kit", + "default_print_profile": "0.24 Standard @Snapmaker (0.8 nozzle)", + "printer_variant": "0.8", + "max_layer_height": [ + "0.48" + ], + "min_layer_height": [ + "0.24" + ], + "nozzle_diameter": [ + "0.8", + "0.8" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit.json new file mode 100644 index 00000000000..5bee6ae40d0 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QS+B Kit.json @@ -0,0 +1,11 @@ +{ + "type": "machine_model", + "machine_tech": "FFF", + "family": "Snapmaker", + "name": "Snapmaker A350 Dual QS+B Kit", + "url": "https://github.com/macdylan", + "model_id": "1305649671", + "bed_model": "Snapmaker A350_bed.stl", + "bed_texture": "Snapmaker A350 Dual_texture.svg", + "nozzle_diameter": "0.2;0.4;0.6;0.8" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QSKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QSKit.json index 4d3cb2f15ca..a8e08120cff 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QSKit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual QSKit.json @@ -6,6 +6,6 @@ "url": "https://github.com/macdylan", "model_id": "61280022", "bed_model": "Snapmaker A350_bed.stl", - "bed_texture": "Snapmaker A350 QSKit_texture.svg", + "bed_texture": "Snapmaker A350 Dual_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual.json index c44d84e8e3b..a7c93c1eae3 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 Dual.json @@ -6,6 +6,6 @@ "url": "https://github.com/macdylan", "model_id": "1846038812", "bed_model": "Snapmaker A350_bed.stl", - "bed_texture": "Snapmaker A350_texture.svg", + "bed_texture": "Snapmaker A350 Dual_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.2 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.2 nozzle).json new file mode 100644 index 00000000000..7e774a0cdcf --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.2 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A350 QS+B Kit (0.2 nozzle)", + "setting_id": "3079526450", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_qs_bk", + "printer_model": "Snapmaker A350 QS+B Kit", + "default_print_profile": "0.14 Standard @Snapmaker (0.2 nozzle)", + "printer_variant": "0.2", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "nozzle_diameter": [ + "0.2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.4 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.4 nozzle).json new file mode 100644 index 00000000000..dae4dce720b --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.4 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A350 QS+B Kit (0.4 nozzle)", + "setting_id": "3298271672", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_qs_bk", + "printer_model": "Snapmaker A350 QS+B Kit", + "default_print_profile": "0.16 Optimal @Snapmaker (0.4 nozzle)", + "printer_variant": "0.4", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.6 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.6 nozzle).json new file mode 100644 index 00000000000..9b99e5d97fc --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.6 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A350 QS+B Kit (0.6 nozzle)", + "setting_id": "3932260670", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_qs_bk", + "printer_model": "Snapmaker A350 QS+B Kit", + "default_print_profile": "0.18 Standard @Snapmaker (0.6 nozzle)", + "printer_variant": "0.6", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.18" + ], + "nozzle_diameter": [ + "0.6" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.8 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.8 nozzle).json new file mode 100644 index 00000000000..356a03b517a --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit (0.8 nozzle).json @@ -0,0 +1,20 @@ +{ + "name": "Snapmaker A350 QS+B Kit (0.8 nozzle)", + "setting_id": "581128876", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a350_qs_bk", + "printer_model": "Snapmaker A350 QS+B Kit", + "default_print_profile": "0.24 Standard @Snapmaker (0.8 nozzle)", + "printer_variant": "0.8", + "max_layer_height": [ + "0.48" + ], + "min_layer_height": [ + "0.24" + ], + "nozzle_diameter": [ + "0.8" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit.json new file mode 100644 index 00000000000..19f60cfa36a --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 QS+B Kit.json @@ -0,0 +1,11 @@ +{ + "type": "machine_model", + "machine_tech": "FFF", + "family": "Snapmaker", + "name": "Snapmaker A350 QS+B Kit", + "url": "https://github.com/macdylan", + "model_id": "1133024953", + "bed_model": "Snapmaker A350_bed.stl", + "bed_texture": "Snapmaker A350_texture.svg", + "nozzle_diameter": "0.2;0.4;0.6;0.8" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker A350 QSKit.json b/resources/profiles/Snapmaker/machine/Snapmaker A350 QSKit.json index d9444234876..fb85033aa3d 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker A350 QSKit.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker A350 QSKit.json @@ -6,6 +6,6 @@ "url": "https://github.com/macdylan", "model_id": "4109488597", "bed_model": "Snapmaker A350_bed.stl", - "bed_texture": "Snapmaker A350 QSKit_texture.svg", + "bed_texture": "Snapmaker A350_texture.svg", "nozzle_diameter": "0.2;0.4;0.6;0.8" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.2 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.2 nozzle).json new file mode 100644 index 00000000000..0f42b93bbb3 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.2 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker Artisan (0.2 nozzle)", + "setting_id": "767951383", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a400", + "printer_model": "Snapmaker Artisan", + "default_print_profile": "0.14 Standard @Snapmaker Artisan (0.2 nozzle)", + "printer_variant": "0.2", + "max_layer_height": [ + "0.14" + ], + "min_layer_height": [ + "0.06" + ], + "nozzle_diameter": [ + "0.2", + "0.2" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.4 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.4 nozzle).json new file mode 100644 index 00000000000..c5c4a6aaca3 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.4 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker Artisan (0.4 nozzle)", + "setting_id": "1591507869", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a400", + "printer_model": "Snapmaker Artisan", + "default_print_profile": "0.16 Optimal @Snapmaker Artisan (0.4 nozzle)", + "printer_variant": "0.4", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_diameter": [ + "0.4", + "0.4" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.6 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.6 nozzle).json new file mode 100644 index 00000000000..892223ec790 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.6 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker Artisan (0.6 nozzle)", + "setting_id": "1881821979", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a400", + "printer_model": "Snapmaker Artisan", + "default_print_profile": "0.18 Standard @Snapmaker Artisan (0.6 nozzle)", + "printer_variant": "0.6", + "max_layer_height": [ + "0.42" + ], + "min_layer_height": [ + "0.18" + ], + "nozzle_diameter": [ + "0.6", + "0.6" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.8 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.8 nozzle).json new file mode 100644 index 00000000000..0277708e846 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker Artisan (0.8 nozzle).json @@ -0,0 +1,21 @@ +{ + "name": "Snapmaker Artisan (0.8 nozzle)", + "setting_id": "3102247049", + "type": "machine", + "from": "system", + "instantiation": "true", + "inherits": "fdm_a400", + "printer_model": "Snapmaker Artisan", + "default_print_profile": "0.24 Standard @Snapmaker Artisan (0.8 nozzle)", + "printer_variant": "0.8", + "max_layer_height": [ + "0.48" + ], + "min_layer_height": [ + "0.24" + ], + "nozzle_diameter": [ + "0.8", + "0.8" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/Snapmaker Artisan.json b/resources/profiles/Snapmaker/machine/Snapmaker Artisan.json new file mode 100644 index 00000000000..84d08a9e573 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker Artisan.json @@ -0,0 +1,11 @@ +{ + "type": "machine_model", + "machine_tech": "FFF", + "family": "Snapmaker", + "name": "Snapmaker Artisan", + "url": "https://github.com/macdylan", + "model_id": "797581801", + "bed_model": "Snapmaker Artisan_bed.stl", + "bed_texture": "Snapmaker Artisan_texture.svg", + "nozzle_diameter": "0.2;0.4;0.6;0.8" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a250.json b/resources/profiles/Snapmaker/machine/fdm_a250.json index e95e8193d4b..7b3915a8801 100644 --- a/resources/profiles/Snapmaker/machine/fdm_a250.json +++ b/resources/profiles/Snapmaker/machine/fdm_a250.json @@ -6,7 +6,7 @@ "inherits": "fdm_linear2", "bed_model": "Snapmaker A250_bed.stl", "bed_texture": "Snapmaker A250_texture.svg", - "printable_height": "235", + "printable_height": "230", "printer_notes": "PRINTER_MODEL_SNAPMAKER_A250\n", "printable_area": [ "0x0", @@ -14,7 +14,7 @@ "230x250", "0x250" ], - "machine_start_gcode": "; Model: Snapmaker A250\n; Update: 20231019\n; Maintained by https://github.com/macdylan/3dp-configs\n; Printer : [printer_preset]\n; Profile : [print_preset]\n; Plate : [plate_name]\n\nT[initial_extruder]\n\nM140 S{first_layer_bed_temperature[initial_extruder]}\n\n; you can clean the nozzle\nM104 S165\nM204 S100\nG28\nG0 Z156 F960.0\nG0 Y125.0 F3420.0\nG0 X115.0\n\nM190 R{first_layer_bed_temperature[initial_extruder]}\n\nG28\nG0 X0\nG0 Z0.2 F960.0\nG0 Y0 F3420.0\nG0 X230\nG0 Y250\nG0 X0\nG0 Y0\n\nM83\n\nT[initial_extruder]\nG0 Z20 F960.0\nG0 X{if initial_extruder == 0}-10{else}240{endif} F3420.0\nG0 Y0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[initial_extruder] + 15))} C2 W1; common flush temp\nG0 E35 F80.0\n\nM106 S{min(255, (fan_max_speed[initial_extruder] + 10) * 2.55)}\nM104 S{nozzle_temperature_initial_layer[initial_extruder] + 5}\n\nG0 E35 F200\n\nG0 E-0.5 F200\nM107\n\nG0 Z0.1 F960.0\nG0 X{if initial_extruder == 0}10{else}220{endif} F3420.0\nG0 X{if initial_extruder == 0}-10{else}240{endif}\n\nG0 Z1.0 F960.0\n\nM109 S{nozzle_temperature_initial_layer[initial_extruder]} C3 W1\nG1 X{if initial_extruder == 0}105.0{else}125.0{endif} F3420.0\nG1 Z0.3 F960.0\nG1 E4 F200\nG1 X{if initial_extruder == 0}0{else}230{endif} E6.54809 F3420.0\nG1 Y11 E0.68599\nG1 X{if initial_extruder == 0}0.5{else}229.5{endif}\nG1 E0.4\nG1 Y0.8 E0.6361\nG1 X{if initial_extruder == 0}9.5{else}220.5{endif} E0.59245\nG1 E-0.5 F200\nG92 E0\n\n; ready [plate_name]", - "machine_end_gcode": "G92 E0\n\nG0 Z{max_layer_z + 0.5} F600\n; retract the filament to make it easier to replace\nG0 E-25 F200\nG28\n\n M104 S0\nM140 S0\nM107\nM220 S100\nM84\n\n;\n; DON'T REMOVE these lines if you're using the smfix (https://github.com/macdylan/SMFix)\n; min_x = [first_layer_print_min_0]\n; min_y = [first_layer_print_min_1]\n; max_x = [first_layer_print_max_0]\n; max_y = [first_layer_print_max_1]\n; max_z = [max_layer_z]\n; total_layer_number = [layer_num]\n;", + "machine_start_gcode": "; Model: Snapmaker A250\n; Update: 20240428\n; Maintained by https://github.com/macdylan/3dp-configs\n; Printer : [printer_preset]\n; Profile : [print_preset]\n; Plate : [plate_name]\n\nT[initial_extruder]\n\nM140 S{first_layer_bed_temperature[initial_extruder]}\n\n; you can clean the nozzle\nM104 S165\nM204 S100\nG28\nG0 Z153 F960.0\nG0 Y125.0 F3420.0\nG0 X115.0\n\nM190 R{first_layer_bed_temperature[initial_extruder]}\n\nG28\n{if 1==1}\n G0 X0\n G0 Z0.2 F960.0\n G0 Y0 F3420.0\n G0 X230\n G0 Y250\n G0 X0\n G0 Y0\n{endif}\n\nM83\n{if 1==1 && max(hot_plate_temp_initial_layer[initial_extruder], hot_plate_temp[initial_extruder]) >= 90}\nG0 Z0.06\nG92 Z0 ;reset z\n{endif}\n\n; flush initial nozzle\nT[initial_extruder]\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 15))}; common flush temp\nG0 Z1.6 F960.0\nG0 X{( initial_extruder % 2 == 0 ? 100.0 : 130.0 )} F3420.0\nG0 Y0 F3420.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 15))} C2 W1\nG1 E15 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 5}\n\nG1 E9.0 F200\nG92 E0\nG1 E6.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( initial_extruder % 2 == 0 ? 55.0 : 175.0 )} F3420.0\nG0 Z0.3 F960.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( initial_extruder % 2 == 0 ? 0 : 230 )} E3.42995 F3420.0\nG92 E0\n\nG1 E-{retraction_length[initial_extruder]} F200\nG92 E0\nG0 Y20 F3420.0\n\n; ready [plate_name]", + "machine_end_gcode": "G92 E0\n\nG0 Z{max_layer_z + 2.0} F600\n; retract the filament to make it easier to replace\nG0 E-5 F200\nG28\n\n M104 S0\nM140 S0\nM107\nM220 S100\nM84\n\n;\n; DON'T REMOVE these lines if you're using the smfix (https://github.com/macdylan/SMFix)\n; min_x = [first_layer_print_min_0]\n; min_y = [first_layer_print_min_1]\n; max_x = [first_layer_print_max_0]\n; max_y = [first_layer_print_max_1]\n; max_z = [max_layer_z]\n; total_layer_number = [layer_num]\n;", "before_layer_change_gcode": "; layer_num: [layer_num]\nG92 E0" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a250_bk.json b/resources/profiles/Snapmaker/machine/fdm_a250_bk.json new file mode 100644 index 00000000000..9a03e3072a5 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/fdm_a250_bk.json @@ -0,0 +1,39 @@ +{ + "type": "machine", + "from": "system", + "instantiation": "false", + "name": "fdm_a250_bk", + "inherits": "fdm_a250", + "machine_max_acceleration_x": [ + "3500" + ], + "machine_max_acceleration_y": [ + "3500" + ], + "machine_max_acceleration_z": [ + "3000" + ], + "machine_max_acceleration_travel": [ + "3500" + ], + "machine_max_acceleration_extruding": [ + "3500" + ], + "machine_max_acceleration_retracting": [ + "3500" + ], + "machine_max_jerk_y": [ + "5" + ], + "machine_max_jerk_z": [ + "3" + ], + "printable_height": "224", + "printer_notes": "PRINTER_MODEL_SNAPMAKER_A250\nPRINTER_MODEL_SNAPMAKER_A250_BRACINGKIT\n", + "bed_exclude_area": [ + "0x238", + "230x238", + "230x250", + "0x250" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a250_dual.json b/resources/profiles/Snapmaker/machine/fdm_a250_dual.json index aa1ba00f7af..7425a37bf18 100644 --- a/resources/profiles/Snapmaker/machine/fdm_a250_dual.json +++ b/resources/profiles/Snapmaker/machine/fdm_a250_dual.json @@ -5,8 +5,8 @@ "name": "fdm_a250_dual", "inherits": "fdm_linear2_dual", "bed_model": "Snapmaker A250_bed.stl", - "bed_texture": "Snapmaker A250_texture.svg", - "printable_height": "205", + "bed_texture": "Snapmaker A250 Dual_texture.svg", + "printable_height": "190", "printer_notes": "PRINTER_MODEL_SNAPMAKER_A250_DUAL\n", "printable_area": [ "0x0", @@ -14,8 +14,14 @@ "230x250", "0x250" ], - "machine_start_gcode": "; Model: Snapmaker A250 Dual ({nozzle_diameter[0]}/{nozzle_diameter[1]})\n; Update: 20231019\n; Maintained by https://github.com/macdylan/3dp-configs\n; Printer : [printer_preset]\n; Profile : [print_preset]\n; Plate : [plate_name]\n; --- initial_extruder: [initial_extruder]\n; --- has_wipe_tower: [has_wipe_tower]\n; --- total_toolchanges: [total_toolchanges]\n; --- T0: {is_extruder_used[0]}\n; --- T1: {is_extruder_used[1]}\n\nT[initial_extruder]\n\nM140 S{first_layer_bed_temperature[initial_extruder]}\n\n; you can clean the nozzle\n{if is_extruder_used[0]}M104 T0 S165{endif}\n{if is_extruder_used[1]}M104 T1 S165{endif}\nM204 S100\nG28\nG0 Z136 F960.0\nG0 Y125.0 F3420.0\nG0 X115.0\n\nM190 R{first_layer_bed_temperature[initial_extruder]}\n\nG28\nG0 X0\nG0 Z0.2 F960.0\nG0 Y0 F3420.0\nG0 X230\nG0 Y250\nG0 X0\nG0 Y0\n\nM83\n\n{if is_extruder_used[0]}M104 T0 S{max(250, min(290, nozzle_temperature_initial_layer[0] + 15))}{endif}\n{if is_extruder_used[1]}M104 T1 S{max(250, min(290, nozzle_temperature_initial_layer[1] + 15))}{endif}\n\n{if is_extruder_used[0] and initial_extruder != 0}\n T0\nG0 Z20 F960.0\nG0 X{if 0 == 0}-10{else}240{endif} F3420.0\nG0 Y0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[0] + 15))} C2 W1; common flush temp\nG0 E45 F80.0\n\nM106 S{min(255, (fan_max_speed[0] + 10) * 2.55)}\nM104 S{nozzle_temperature_initial_layer[0] + 5}\n\nG0 E45 F200\n\nG0 E-0.5 F200\nM107\n\nG0 Z0.1 F960.0\nG0 X{if 0 == 0}10{else}220{endif} F3420.0\nG0 X{if 0 == 0}-10{else}240{endif}\n\nG0 Z1.0 F960.0\n\nM109 S{nozzle_temperature_initial_layer[0]} C3 W1\nG1 X{if 0 == 0}105.0{else}125.0{endif} F3420.0\nG1 Z0.3 F960.0\nG1 E4 F200\nG1 X{if 0 == 0}0{else}230{endif} E6.54809 F3420.0\nG1 Y11 E0.68599\nG1 X{if 0 == 0}0.5{else}229.5{endif}\nG1 E0.4\nG1 Y0.8 E0.6361\nG1 X{if 0 == 0}9.5{else}220.5{endif} E0.59245\nG1 E-0.5 F200\nG92 E0\n\n M104 S{temperature_vitrification[0]}\n{endif}\n{if is_extruder_used[1] and initial_extruder != 1}\n T1\nG0 Z20 F960.0\nG0 X{if 1 == 0}-10{else}240{endif} F3420.0\nG0 Y0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[1] + 15))} C2 W1; common flush temp\nG0 E45 F80.0\n\nM106 S{min(255, (fan_max_speed[1] + 10) * 2.55)}\nM104 S{nozzle_temperature_initial_layer[1] + 5}\n\nG0 E45 F200\n\nG0 E-0.5 F200\nM107\n\nG0 Z0.1 F960.0\nG0 X{if 1 == 0}10{else}220{endif} F3420.0\nG0 X{if 1 == 0}-10{else}240{endif}\n\nG0 Z1.0 F960.0\n\nM109 S{nozzle_temperature_initial_layer[1]} C3 W1\nG1 X{if 1 == 0}105.0{else}125.0{endif} F3420.0\nG1 Z0.3 F960.0\nG1 E4 F200\nG1 X{if 1 == 0}0{else}230{endif} E6.54809 F3420.0\nG1 Y11 E0.68599\nG1 X{if 1 == 0}0.5{else}229.5{endif}\nG1 E0.4\nG1 Y0.8 E0.6361\nG1 X{if 1 == 0}9.5{else}220.5{endif} E0.59245\nG1 E-0.5 F200\nG92 E0\n\n M104 S{temperature_vitrification[1]}\n{endif}\n\nT[initial_extruder]\nG0 Z20 F960.0\nG0 X{if initial_extruder == 0}-10{else}240{endif} F3420.0\nG0 Y0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[initial_extruder] + 15))} C2 W1; common flush temp\nG0 E45 F80.0\n\nM106 S{min(255, (fan_max_speed[initial_extruder] + 10) * 2.55)}\nM104 S{nozzle_temperature_initial_layer[initial_extruder] + 5}\n\nG0 E45 F200\n\nG0 E-0.5 F200\nM107\n\nG0 Z0.1 F960.0\nG0 X{if initial_extruder == 0}10{else}220{endif} F3420.0\nG0 X{if initial_extruder == 0}-10{else}240{endif}\n\nG0 Z1.0 F960.0\n\nM109 S{nozzle_temperature_initial_layer[initial_extruder]} C3 W1\nG1 X{if initial_extruder == 0}105.0{else}125.0{endif} F3420.0\nG1 Z0.3 F960.0\nG1 E4 F200\nG1 X{if initial_extruder == 0}0{else}230{endif} E6.54809 F3420.0\nG1 Y11 E0.68599\nG1 X{if initial_extruder == 0}0.5{else}229.5{endif}\nG1 E0.4\nG1 Y0.8 E0.6361\nG1 X{if initial_extruder == 0}9.5{else}220.5{endif} E0.59245\nG1 E-0.5 F200\nG92 E0\n\n; ready [plate_name]", - "machine_end_gcode": "G92 E0\n\nG0 Z{max_layer_z + 0.5} F600\n; retract the filament to make it easier to replace\nG0 E-35 F200\nG28\n\n {if is_extruder_used[0]}M104 T0 S0{endif}\n {if is_extruder_used[1]}M104 T1 S0{endif}\nM140 S0\nM107\nM220 S100\nM84\n\n;\n; DON'T REMOVE these lines if you're using the smfix (https://github.com/macdylan/SMFix)\n; min_x = [first_layer_print_min_0]\n; min_y = [first_layer_print_min_1]\n; max_x = [first_layer_print_max_0]\n; max_y = [first_layer_print_max_1]\n; max_z = [max_layer_z]\n; total_layer_number = [layer_num]\n;", - "change_filament_gcode": ";***** Update: 20230923\n{if current_extruder != next_extruder}\n; Change T[current_extruder] -> T[next_extruder] (layer [layer_num]\n; layer\nT{next_extruder}\n\nM107 P[current_extruder] ;fan off T[current_extruder]\nM104 T[current_extruder] S{temperature_vitrification[current_extruder]} ;standby T[current_extruder]\n\n{if layer_num == 1 &&\n ((filament_type[current_extruder] == \"PLA\" || filament_type[current_extruder] == \"TPU\")\n || (filament_type[next_extruder] == \"PLA\" || filament_type[next_extruder] == \"TPU\"))\n}\n ; set bed temp: {filament_type[current_extruder]}({bed_temperature[current_extruder]}) -> {filament_type[next_extruder]}({bed_temperature[next_extruder]})\n M140 S{min(bed_temperature[current_extruder], bed_temperature[next_extruder])}\n{endif}\n\nM109 T[next_extruder] S{if layer_num < 1}[nozzle_temperature_initial_layer]{else}[nozzle_temperature]{endif} C3 W1 ;wait T[next_extruder]\n{if layer_num == 1}\n G1 E{retraction_length[next_extruder]} F2000;deretract\n{endif}\n{if layer_z > first_layer_height && layer_num >= close_fan_the_first_x_layers[next_extruder]}\n; M106 P[next_extruder] S{fan_min_speed[next_extruder] * 255.0 / 100.0} ;restore fan speed for T[next_extruder]\n{endif}\n; End Toolchange\n{endif}", + "bed_exclude_area": [ + "0x240", + "230x240", + "230x250", + "0x250" + ], + "machine_start_gcode": "; Model: Snapmaker A250 Dual ({nozzle_diameter[0]}/{nozzle_diameter[1]})\n; Update: 20240428\n; Maintained by https://github.com/macdylan/3dp-configs\n; Printer : [printer_preset]\n; Profile : [print_preset]\n; Plate : [plate_name]\n; --- initial_extruder: [initial_extruder]\n; --- has_wipe_tower: [has_wipe_tower]\n; --- total_toolchanges: [total_toolchanges]\n; --- T0: {is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - 1, 0))]}\n; --- T1: {is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - 0, 0))]}\n\nT[initial_extruder]\n\nM140 S{first_layer_bed_temperature[initial_extruder]}\n\n; you can clean the nozzle\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n M104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))} S165\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n M104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))} S165\n {endif}\nM204 S100\nG28\nG0 Z126 F960.0\nG0 Y125.0 F3420.0\nG0 X115.0\n\nM190 R{first_layer_bed_temperature[initial_extruder]}\n\nG28\n{if 1==1}\n G0 X0\n G0 Z0.2 F960.0\n G0 Y0 F3420.0\n G0 X230\n G0 Y250\n G0 X0\n G0 Y0\n{endif}\n\nM83\n{if 1==1 && max(hot_plate_temp_initial_layer[initial_extruder], hot_plate_temp[initial_extruder]) >= 90}\nG0 Z0.06\nG92 Z0 ;reset z\n{endif}\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n; preheat 0\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))} S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 15))}\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n; preheat 1\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))} S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 15))}\n {endif}\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] and (initial_extruder % 2) != 0}\n; flush nozzle 0\nT{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))}\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 15))}; common flush temp\nG0 Z1.6 F960.0\nG0 X{( 0 % 2 == 0 ? 100.0 : 130.0 )} F3420.0\nG0 Y0 F3420.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 15))} C2 W1\nG1 E20 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 5}\n\nG1 E12.0 F200\nG92 E0\nG1 E8.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( 0 % 2 == 0 ? 55.0 : 175.0 )} F3420.0\nG0 Z0.3 F960.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( 0 % 2 == 0 ? 0 : 230 )} E3.42995 F3420.0\nG92 E0\n\nG1 E-{retract_length_toolchange[0]} F200\nG92 E0\nG0 Y20 F3420.0\nM104 S{temperature_vitrification[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n {endif}\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] and (initial_extruder % 2) != 1}\n; flush nozzle 1\nT{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))}\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 15))}; common flush temp\nG0 Z1.6 F960.0\nG0 X{( 1 % 2 == 0 ? 100.0 : 130.0 )} F3420.0\nG0 Y0 F3420.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 15))} C2 W1\nG1 E20 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 5}\n\nG1 E12.0 F200\nG92 E0\nG1 E8.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( 1 % 2 == 0 ? 55.0 : 175.0 )} F3420.0\nG0 Z0.3 F960.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( 1 % 2 == 0 ? 0 : 230 )} E3.42995 F3420.0\nG92 E0\n\nG1 E-{retract_length_toolchange[1]} F200\nG92 E0\nG0 Y20 F3420.0\nM104 S{temperature_vitrification[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n {endif}\n\n; flush initial nozzle\nT[initial_extruder]\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 15))}; common flush temp\nG0 Z1.6 F960.0\nG0 X{( initial_extruder % 2 == 0 ? 100.0 : 130.0 )} F3420.0\nG0 Y0 F3420.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 15))} C2 W1\nG1 E20 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 5}\n\nG1 E12.0 F200\nG92 E0\nG1 E8.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( initial_extruder % 2 == 0 ? 55.0 : 175.0 )} F3420.0\nG0 Z0.3 F960.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( initial_extruder % 2 == 0 ? 0 : 230 )} E3.42995 F3420.0\nG92 E0\n\nG1 E-{retraction_length[initial_extruder]} F200\nG92 E0\nG0 Y20 F3420.0\n\n; ready [plate_name]", + "machine_end_gcode": "G92 E0\n\nG0 Z{max_layer_z + 2.0} F600\n; retract the filament to make it easier to replace\nG0 E-10 F200\nG28\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))} S0\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))} S0\n {endif}\nM140 S0\nM107\nM220 S100\nM84\n\n;\n; DON'T REMOVE these lines if you're using the smfix (https://github.com/macdylan/SMFix)\n; min_x = [first_layer_print_min_0]\n; min_y = [first_layer_print_min_1]\n; max_x = [first_layer_print_max_0]\n; max_y = [first_layer_print_max_1]\n; max_z = [max_layer_z]\n; total_layer_number = [layer_num]\n;", + "change_filament_gcode": ";***** Update: 20230923\n{if current_extruder != next_extruder}\n; Change T[current_extruder] -> T[next_extruder] (layer [layer_num]\n; layer\nT{next_extruder}\n\nM107 P[current_extruder] ;fan off T[current_extruder]\nM104 T[current_extruder] S{temperature_vitrification[current_extruder]} ;standby T[current_extruder]\n\n{if layer_num == 1 &&\n ((filament_type[current_extruder] == \"PLA\" || filament_type[current_extruder] == \"TPU\")\n || (filament_type[next_extruder] == \"PLA\" || filament_type[next_extruder] == \"TPU\"))\n}\n ; set bed temp: {filament_type[current_extruder]}({bed_temperature[current_extruder]}) -> {filament_type[next_extruder]}({bed_temperature[next_extruder]})\n M140 S{min(bed_temperature[current_extruder], bed_temperature[next_extruder])}\n{endif}\n\nM109 T[next_extruder] S{if layer_num < 1}[nozzle_temperature_initial_layer]{else}[nozzle_temperature]{endif} C3 W1 ;wait T[next_extruder]\n{if layer_num == 1}\n G1 E{retraction_length[next_extruder]} F200;deretract\n{endif}\n\n{if layer_z > first_layer_height && layer_num >= close_fan_the_first_x_layers[next_extruder]}\n; M106 P[next_extruder] S{fan_min_speed[next_extruder] * 255.0 / 100.0} ;restore fan speed for T[next_extruder]\n{endif}\n; End Toolchange\n{endif}", "before_layer_change_gcode": "; layer_num: [layer_num]\nG92 E0" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a250_dual_bk.json b/resources/profiles/Snapmaker/machine/fdm_a250_dual_bk.json new file mode 100644 index 00000000000..5d084ebfaf4 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/fdm_a250_dual_bk.json @@ -0,0 +1,39 @@ +{ + "type": "machine", + "from": "system", + "instantiation": "false", + "name": "fdm_a250_dual_bk", + "inherits": "fdm_a250_dual", + "machine_max_acceleration_x": [ + "3500" + ], + "machine_max_acceleration_y": [ + "3500" + ], + "machine_max_acceleration_z": [ + "3000" + ], + "machine_max_acceleration_travel": [ + "3500" + ], + "machine_max_acceleration_extruding": [ + "3500" + ], + "machine_max_acceleration_retracting": [ + "3500" + ], + "machine_max_jerk_y": [ + "5" + ], + "machine_max_jerk_z": [ + "3" + ], + "printable_height": "184", + "printer_notes": "PRINTER_MODEL_SNAPMAKER_A250_DUAL\nPRINTER_MODEL_SNAPMAKER_A250_DUAL_BRACINGKIT\n", + "bed_exclude_area": [ + "0x228", + "230x228", + "230x250", + "0x250" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a250_dual_qs.json b/resources/profiles/Snapmaker/machine/fdm_a250_dual_qs.json index 2180b332c9f..59d55fc579a 100644 --- a/resources/profiles/Snapmaker/machine/fdm_a250_dual_qs.json +++ b/resources/profiles/Snapmaker/machine/fdm_a250_dual_qs.json @@ -4,11 +4,11 @@ "instantiation": "false", "name": "fdm_a250_dual_qs", "inherits": "fdm_a250_dual", - "bed_texture": "Snapmaker A250 QSKit_texture.svg", + "printable_height": "175", "printer_notes": "PRINTER_MODEL_SNAPMAKER_A250_DUAL\nPRINTER_MODEL_SNAPMAKER_A250_DUAL_QUICKSWAPKIT\n", "bed_exclude_area": [ - "0x235", - "230x235", + "0x225", + "230x225", "230x250", "0x250" ] diff --git a/resources/profiles/Snapmaker/machine/fdm_a250_dual_qs_bk.json b/resources/profiles/Snapmaker/machine/fdm_a250_dual_qs_bk.json new file mode 100644 index 00000000000..a270c15dbc5 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/fdm_a250_dual_qs_bk.json @@ -0,0 +1,39 @@ +{ + "type": "machine", + "from": "system", + "instantiation": "false", + "name": "fdm_a250_dual_qs_bk", + "inherits": "fdm_a250_dual", + "machine_max_acceleration_x": [ + "3500" + ], + "machine_max_acceleration_y": [ + "3500" + ], + "machine_max_acceleration_z": [ + "3000" + ], + "machine_max_acceleration_travel": [ + "3500" + ], + "machine_max_acceleration_extruding": [ + "3500" + ], + "machine_max_acceleration_retracting": [ + "3500" + ], + "machine_max_jerk_y": [ + "5" + ], + "machine_max_jerk_z": [ + "3" + ], + "printable_height": "169", + "printer_notes": "PRINTER_MODEL_SNAPMAKER_A250_DUAL\nPRINTER_MODEL_SNAPMAKER_A250_DUAL_QUICKSWAPKIT\nPRINTER_MODEL_SNAPMAKER_A250_DUAL_BRACINGKIT\n", + "bed_exclude_area": [ + "0x213", + "230x213", + "230x250", + "0x250" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a250_qs.json b/resources/profiles/Snapmaker/machine/fdm_a250_qs.json index d814aba7adc..dc606b984c0 100644 --- a/resources/profiles/Snapmaker/machine/fdm_a250_qs.json +++ b/resources/profiles/Snapmaker/machine/fdm_a250_qs.json @@ -4,8 +4,7 @@ "instantiation": "false", "name": "fdm_a250_qs", "inherits": "fdm_a250", - "bed_texture": "Snapmaker A250 QSKit_texture.svg", - "printable_height": "220", + "printable_height": "215", "printer_notes": "PRINTER_MODEL_SNAPMAKER_A250\nPRINTER_MODEL_SNAPMAKER_A250_QUICKSWAPKIT\n", "bed_exclude_area": [ "0x235", diff --git a/resources/profiles/Snapmaker/machine/fdm_a250_qs_bk.json b/resources/profiles/Snapmaker/machine/fdm_a250_qs_bk.json new file mode 100644 index 00000000000..f450b7a38d1 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/fdm_a250_qs_bk.json @@ -0,0 +1,39 @@ +{ + "type": "machine", + "from": "system", + "instantiation": "false", + "name": "fdm_a250_qs_bk", + "inherits": "fdm_a250", + "machine_max_acceleration_x": [ + "3500" + ], + "machine_max_acceleration_y": [ + "3500" + ], + "machine_max_acceleration_z": [ + "3000" + ], + "machine_max_acceleration_travel": [ + "3500" + ], + "machine_max_acceleration_extruding": [ + "3500" + ], + "machine_max_acceleration_retracting": [ + "3500" + ], + "machine_max_jerk_y": [ + "5" + ], + "machine_max_jerk_z": [ + "3" + ], + "printable_height": "209", + "printer_notes": "PRINTER_MODEL_SNAPMAKER_A250\nPRINTER_MODEL_SNAPMAKER_A250_QUICKSWAPKIT\nPRINTER_MODEL_SNAPMAKER_A250_BRACINGKIT\n", + "bed_exclude_area": [ + "0x223", + "230x223", + "230x250", + "0x250" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a350.json b/resources/profiles/Snapmaker/machine/fdm_a350.json index 4398c811241..1ae94e4af74 100644 --- a/resources/profiles/Snapmaker/machine/fdm_a350.json +++ b/resources/profiles/Snapmaker/machine/fdm_a350.json @@ -6,7 +6,7 @@ "inherits": "fdm_linear2", "bed_model": "Snapmaker A350_bed.stl", "bed_texture": "Snapmaker A350_texture.svg", - "printable_height": "330", + "printable_height": "325", "printer_notes": "PRINTER_MODEL_SNAPMAKER_A350\n", "printable_area": [ "0x0", @@ -14,7 +14,7 @@ "320x350", "0x350" ], - "machine_start_gcode": "; Model: Snapmaker A350\n; Update: 20231019\n; Maintained by https://github.com/macdylan/3dp-configs\n; Printer : [printer_preset]\n; Profile : [print_preset]\n; Plate : [plate_name]\n\nT[initial_extruder]\n\nM140 S{first_layer_bed_temperature[initial_extruder]}\n\n; you can clean the nozzle\nM104 S165\nM204 S100\nG28\nG0 Z220 F960.0\nG0 Y175.0 F3420.0\nG0 X160.0\n\nM190 R{first_layer_bed_temperature[initial_extruder]}\n\nG28\nG0 X0\nG0 Z0.2 F960.0\nG0 Y0 F3420.0\nG0 X320\nG0 Y350\nG0 X0\nG0 Y0\n\nM83\n\nT[initial_extruder]\nG0 Z20 F960.0\nG0 X{if initial_extruder == 0}-10{else}330{endif} F3420.0\nG0 Y0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[initial_extruder] + 15))} C2 W1; common flush temp\nG0 E35 F80.0\n\nM106 S{min(255, (fan_max_speed[initial_extruder] + 10) * 2.55)}\nM104 S{nozzle_temperature_initial_layer[initial_extruder] + 5}\n\nG0 E35 F200\n\nG0 E-0.5 F200\nM107\n\nG0 Z0.1 F960.0\nG0 X{if initial_extruder == 0}10{else}310{endif} F3420.0\nG0 X{if initial_extruder == 0}-10{else}330{endif}\n\nG0 Z1.0 F960.0\n\nM109 S{nozzle_temperature_initial_layer[initial_extruder]} C3 W1\nG1 X{if initial_extruder == 0}150.0{else}170.0{endif} F3420.0\nG1 Z0.3 F960.0\nG1 E4 F200\nG1 X{if initial_extruder == 0}0{else}320{endif} E9.35442 F3420.0\nG1 Y11 E0.68599\nG1 X{if initial_extruder == 0}0.5{else}319.5{endif}\nG1 E0.4\nG1 Y0.8 E0.6361\nG1 X{if initial_extruder == 0}9.5{else}310.5{endif} E0.59245\nG1 E-0.5 F200\nG92 E0\n\n; ready [plate_name]", - "machine_end_gcode": "G92 E0\n\nG0 Z{max_layer_z + 0.5} F600\n; retract the filament to make it easier to replace\nG0 E-25 F200\nG28\n\n M104 S0\nM140 S0\nM107\nM220 S100\nM84\n\n;\n; DON'T REMOVE these lines if you're using the smfix (https://github.com/macdylan/SMFix)\n; min_x = [first_layer_print_min_0]\n; min_y = [first_layer_print_min_1]\n; max_x = [first_layer_print_max_0]\n; max_y = [first_layer_print_max_1]\n; max_z = [max_layer_z]\n; total_layer_number = [layer_num]\n;", + "machine_start_gcode": "; Model: Snapmaker A350\n; Update: 20240428\n; Maintained by https://github.com/macdylan/3dp-configs\n; Printer : [printer_preset]\n; Profile : [print_preset]\n; Plate : [plate_name]\n\nT[initial_extruder]\n\nM140 S{first_layer_bed_temperature[initial_extruder]}\n\n; you can clean the nozzle\nM104 S165\nM204 S100\nG28\nG0 Z216 F960.0\nG0 Y175.0 F3420.0\nG0 X160.0\n\nM190 R{first_layer_bed_temperature[initial_extruder]}\n\nG28\n{if 1==1}\n G0 X0\n G0 Z0.2 F960.0\n G0 Y0 F3420.0\n G0 X320\n G0 Y350\n G0 X0\n G0 Y0\n{endif}\n\nM83\n{if 1==1 && max(hot_plate_temp_initial_layer[initial_extruder], hot_plate_temp[initial_extruder]) >= 90}\nG0 Z0.06\nG92 Z0 ;reset z\n{endif}\n\n; flush initial nozzle\nT[initial_extruder]\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 15))}; common flush temp\nG0 Z1.6 F960.0\nG0 X{( initial_extruder % 2 == 0 ? 145.0 : 175.0 )} F3420.0\nG0 Y0 F3420.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 15))} C2 W1\nG1 E15 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 5}\n\nG1 E9.0 F200\nG92 E0\nG1 E6.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( initial_extruder % 2 == 0 ? 100.0 : 220.0 )} F3420.0\nG0 Z0.3 F960.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( initial_extruder % 2 == 0 ? 0 : 320 )} E6.23628 F3420.0\nG92 E0\n\nG1 E-{retraction_length[initial_extruder]} F200\nG92 E0\nG0 Y20 F3420.0\n\n; ready [plate_name]", + "machine_end_gcode": "G92 E0\n\nG0 Z{max_layer_z + 2.0} F600\n; retract the filament to make it easier to replace\nG0 E-5 F200\nG28\n\n M104 S0\nM140 S0\nM107\nM220 S100\nM84\n\n;\n; DON'T REMOVE these lines if you're using the smfix (https://github.com/macdylan/SMFix)\n; min_x = [first_layer_print_min_0]\n; min_y = [first_layer_print_min_1]\n; max_x = [first_layer_print_max_0]\n; max_y = [first_layer_print_max_1]\n; max_z = [max_layer_z]\n; total_layer_number = [layer_num]\n;", "before_layer_change_gcode": "; layer_num: [layer_num]\nG92 E0" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a350_bk.json b/resources/profiles/Snapmaker/machine/fdm_a350_bk.json new file mode 100644 index 00000000000..3a1f9655dbc --- /dev/null +++ b/resources/profiles/Snapmaker/machine/fdm_a350_bk.json @@ -0,0 +1,39 @@ +{ + "type": "machine", + "from": "system", + "instantiation": "false", + "name": "fdm_a350_bk", + "inherits": "fdm_a350", + "machine_max_acceleration_x": [ + "3500" + ], + "machine_max_acceleration_y": [ + "3500" + ], + "machine_max_acceleration_z": [ + "3000" + ], + "machine_max_acceleration_travel": [ + "3500" + ], + "machine_max_acceleration_extruding": [ + "3500" + ], + "machine_max_acceleration_retracting": [ + "3500" + ], + "machine_max_jerk_y": [ + "5" + ], + "machine_max_jerk_z": [ + "3" + ], + "printable_height": "319", + "printer_notes": "PRINTER_MODEL_SNAPMAKER_A350\nPRINTER_MODEL_SNAPMAKER_A350_BRACINGKIT\n", + "bed_exclude_area": [ + "0x338", + "320x338", + "320x350", + "0x350" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a350_dual.json b/resources/profiles/Snapmaker/machine/fdm_a350_dual.json index 3ffbd990cda..a2e3a405890 100644 --- a/resources/profiles/Snapmaker/machine/fdm_a350_dual.json +++ b/resources/profiles/Snapmaker/machine/fdm_a350_dual.json @@ -5,8 +5,8 @@ "name": "fdm_a350_dual", "inherits": "fdm_linear2_dual", "bed_model": "Snapmaker A350_bed.stl", - "bed_texture": "Snapmaker A350_texture.svg", - "printable_height": "290", + "bed_texture": "Snapmaker A350 Dual_texture.svg", + "printable_height": "285", "printer_notes": "PRINTER_MODEL_SNAPMAKER_A350_DUAL\n", "printable_area": [ "0x0", @@ -14,8 +14,14 @@ "320x350", "0x350" ], - "machine_start_gcode": "; Model: Snapmaker A350 Dual ({nozzle_diameter[0]}/{nozzle_diameter[1]})\n; Update: 20231019\n; Maintained by https://github.com/macdylan/3dp-configs\n; Printer : [printer_preset]\n; Profile : [print_preset]\n; Plate : [plate_name]\n; --- initial_extruder: [initial_extruder]\n; --- has_wipe_tower: [has_wipe_tower]\n; --- total_toolchanges: [total_toolchanges]\n; --- T0: {is_extruder_used[0]}\n; --- T1: {is_extruder_used[1]}\n\nT[initial_extruder]\n\nM140 S{first_layer_bed_temperature[initial_extruder]}\n\n; you can clean the nozzle\n{if is_extruder_used[0]}M104 T0 S165{endif}\n{if is_extruder_used[1]}M104 T1 S165{endif}\nM204 S100\nG28\nG0 Z193 F960.0\nG0 Y175.0 F3420.0\nG0 X160.0\n\nM190 R{first_layer_bed_temperature[initial_extruder]}\n\nG28\nG0 X0\nG0 Z0.2 F960.0\nG0 Y0 F3420.0\nG0 X320\nG0 Y350\nG0 X0\nG0 Y0\n\nM83\n\n{if is_extruder_used[0]}M104 T0 S{max(250, min(290, nozzle_temperature_initial_layer[0] + 15))}{endif}\n{if is_extruder_used[1]}M104 T1 S{max(250, min(290, nozzle_temperature_initial_layer[1] + 15))}{endif}\n\n{if is_extruder_used[0] and initial_extruder != 0}\n T0\nG0 Z20 F960.0\nG0 X{if 0 == 0}-10{else}330{endif} F3420.0\nG0 Y0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[0] + 15))} C2 W1; common flush temp\nG0 E45 F80.0\n\nM106 S{min(255, (fan_max_speed[0] + 10) * 2.55)}\nM104 S{nozzle_temperature_initial_layer[0] + 5}\n\nG0 E45 F200\n\nG0 E-0.5 F200\nM107\n\nG0 Z0.1 F960.0\nG0 X{if 0 == 0}10{else}310{endif} F3420.0\nG0 X{if 0 == 0}-10{else}330{endif}\n\nG0 Z1.0 F960.0\n\nM109 S{nozzle_temperature_initial_layer[0]} C3 W1\nG1 X{if 0 == 0}150.0{else}170.0{endif} F3420.0\nG1 Z0.3 F960.0\nG1 E4 F200\nG1 X{if 0 == 0}0{else}320{endif} E9.35442 F3420.0\nG1 Y11 E0.68599\nG1 X{if 0 == 0}0.5{else}319.5{endif}\nG1 E0.4\nG1 Y0.8 E0.6361\nG1 X{if 0 == 0}9.5{else}310.5{endif} E0.59245\nG1 E-0.5 F200\nG92 E0\n\n M104 S{temperature_vitrification[0]}\n{endif}\n{if is_extruder_used[1] and initial_extruder != 1}\n T1\nG0 Z20 F960.0\nG0 X{if 1 == 0}-10{else}330{endif} F3420.0\nG0 Y0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[1] + 15))} C2 W1; common flush temp\nG0 E45 F80.0\n\nM106 S{min(255, (fan_max_speed[1] + 10) * 2.55)}\nM104 S{nozzle_temperature_initial_layer[1] + 5}\n\nG0 E45 F200\n\nG0 E-0.5 F200\nM107\n\nG0 Z0.1 F960.0\nG0 X{if 1 == 0}10{else}310{endif} F3420.0\nG0 X{if 1 == 0}-10{else}330{endif}\n\nG0 Z1.0 F960.0\n\nM109 S{nozzle_temperature_initial_layer[1]} C3 W1\nG1 X{if 1 == 0}150.0{else}170.0{endif} F3420.0\nG1 Z0.3 F960.0\nG1 E4 F200\nG1 X{if 1 == 0}0{else}320{endif} E9.35442 F3420.0\nG1 Y11 E0.68599\nG1 X{if 1 == 0}0.5{else}319.5{endif}\nG1 E0.4\nG1 Y0.8 E0.6361\nG1 X{if 1 == 0}9.5{else}310.5{endif} E0.59245\nG1 E-0.5 F200\nG92 E0\n\n M104 S{temperature_vitrification[1]}\n{endif}\n\nT[initial_extruder]\nG0 Z20 F960.0\nG0 X{if initial_extruder == 0}-10{else}330{endif} F3420.0\nG0 Y0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[initial_extruder] + 15))} C2 W1; common flush temp\nG0 E45 F80.0\n\nM106 S{min(255, (fan_max_speed[initial_extruder] + 10) * 2.55)}\nM104 S{nozzle_temperature_initial_layer[initial_extruder] + 5}\n\nG0 E45 F200\n\nG0 E-0.5 F200\nM107\n\nG0 Z0.1 F960.0\nG0 X{if initial_extruder == 0}10{else}310{endif} F3420.0\nG0 X{if initial_extruder == 0}-10{else}330{endif}\n\nG0 Z1.0 F960.0\n\nM109 S{nozzle_temperature_initial_layer[initial_extruder]} C3 W1\nG1 X{if initial_extruder == 0}150.0{else}170.0{endif} F3420.0\nG1 Z0.3 F960.0\nG1 E4 F200\nG1 X{if initial_extruder == 0}0{else}320{endif} E9.35442 F3420.0\nG1 Y11 E0.68599\nG1 X{if initial_extruder == 0}0.5{else}319.5{endif}\nG1 E0.4\nG1 Y0.8 E0.6361\nG1 X{if initial_extruder == 0}9.5{else}310.5{endif} E0.59245\nG1 E-0.5 F200\nG92 E0\n\n; ready [plate_name]", - "machine_end_gcode": "G92 E0\n\nG0 Z{max_layer_z + 0.5} F600\n; retract the filament to make it easier to replace\nG0 E-35 F200\nG28\n\n {if is_extruder_used[0]}M104 T0 S0{endif}\n {if is_extruder_used[1]}M104 T1 S0{endif}\nM140 S0\nM107\nM220 S100\nM84\n\n;\n; DON'T REMOVE these lines if you're using the smfix (https://github.com/macdylan/SMFix)\n; min_x = [first_layer_print_min_0]\n; min_y = [first_layer_print_min_1]\n; max_x = [first_layer_print_max_0]\n; max_y = [first_layer_print_max_1]\n; max_z = [max_layer_z]\n; total_layer_number = [layer_num]\n;", - "change_filament_gcode": ";***** Update: 20230923\n{if current_extruder != next_extruder}\n; Change T[current_extruder] -> T[next_extruder] (layer [layer_num]\n; layer\nT{next_extruder}\n\nM107 P[current_extruder] ;fan off T[current_extruder]\nM104 T[current_extruder] S{temperature_vitrification[current_extruder]} ;standby T[current_extruder]\n\n{if layer_num == 1 &&\n ((filament_type[current_extruder] == \"PLA\" || filament_type[current_extruder] == \"TPU\")\n || (filament_type[next_extruder] == \"PLA\" || filament_type[next_extruder] == \"TPU\"))\n}\n ; set bed temp: {filament_type[current_extruder]}({bed_temperature[current_extruder]}) -> {filament_type[next_extruder]}({bed_temperature[next_extruder]})\n M140 S{min(bed_temperature[current_extruder], bed_temperature[next_extruder])}\n{endif}\n\nM109 T[next_extruder] S{if layer_num < 1}[nozzle_temperature_initial_layer]{else}[nozzle_temperature]{endif} C3 W1 ;wait T[next_extruder]\n{if layer_num == 1}\n G1 E{retraction_length[next_extruder]} F2000;deretract\n{endif}\n{if layer_z > first_layer_height && layer_num >= close_fan_the_first_x_layers[next_extruder]}\n; M106 P[next_extruder] S{fan_min_speed[next_extruder] * 255.0 / 100.0} ;restore fan speed for T[next_extruder]\n{endif}\n; End Toolchange\n{endif}", + "bed_exclude_area": [ + "0x330", + "320x330", + "320x350", + "0x350" + ], + "machine_start_gcode": "; Model: Snapmaker A350 Dual ({nozzle_diameter[0]}/{nozzle_diameter[1]})\n; Update: 20240428\n; Maintained by https://github.com/macdylan/3dp-configs\n; Printer : [printer_preset]\n; Profile : [print_preset]\n; Plate : [plate_name]\n; --- initial_extruder: [initial_extruder]\n; --- has_wipe_tower: [has_wipe_tower]\n; --- total_toolchanges: [total_toolchanges]\n; --- T0: {is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - 1, 0))]}\n; --- T1: {is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - 0, 0))]}\n\nT[initial_extruder]\n\nM140 S{first_layer_bed_temperature[initial_extruder]}\n\n; you can clean the nozzle\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n M104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))} S165\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n M104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))} S165\n {endif}\nM204 S100\nG28\nG0 Z190 F960.0\nG0 Y175.0 F3420.0\nG0 X160.0\n\nM190 R{first_layer_bed_temperature[initial_extruder]}\n\nG28\n{if 1==1}\n G0 X0\n G0 Z0.2 F960.0\n G0 Y0 F3420.0\n G0 X320\n G0 Y350\n G0 X0\n G0 Y0\n{endif}\n\nM83\n{if 1==1 && max(hot_plate_temp_initial_layer[initial_extruder], hot_plate_temp[initial_extruder]) >= 90}\nG0 Z0.06\nG92 Z0 ;reset z\n{endif}\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n; preheat 0\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))} S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 15))}\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n; preheat 1\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))} S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 15))}\n {endif}\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] and (initial_extruder % 2) != 0}\n; flush nozzle 0\nT{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))}\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 15))}; common flush temp\nG0 Z1.6 F960.0\nG0 X{( 0 % 2 == 0 ? 145.0 : 175.0 )} F3420.0\nG0 Y0 F3420.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 15))} C2 W1\nG1 E20 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 5}\n\nG1 E12.0 F200\nG92 E0\nG1 E8.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( 0 % 2 == 0 ? 100.0 : 220.0 )} F3420.0\nG0 Z0.3 F960.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( 0 % 2 == 0 ? 0 : 320 )} E6.23628 F3420.0\nG92 E0\n\nG1 E-{retract_length_toolchange[0]} F200\nG92 E0\nG0 Y20 F3420.0\nM104 S{temperature_vitrification[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n {endif}\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] and (initial_extruder % 2) != 1}\n; flush nozzle 1\nT{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))}\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 15))}; common flush temp\nG0 Z1.6 F960.0\nG0 X{( 1 % 2 == 0 ? 145.0 : 175.0 )} F3420.0\nG0 Y0 F3420.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 15))} C2 W1\nG1 E20 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 5}\n\nG1 E12.0 F200\nG92 E0\nG1 E8.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( 1 % 2 == 0 ? 100.0 : 220.0 )} F3420.0\nG0 Z0.3 F960.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( 1 % 2 == 0 ? 0 : 320 )} E6.23628 F3420.0\nG92 E0\n\nG1 E-{retract_length_toolchange[1]} F200\nG92 E0\nG0 Y20 F3420.0\nM104 S{temperature_vitrification[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n {endif}\n\n; flush initial nozzle\nT[initial_extruder]\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 15))}; common flush temp\nG0 Z1.6 F960.0\nG0 X{( initial_extruder % 2 == 0 ? 145.0 : 175.0 )} F3420.0\nG0 Y0 F3420.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 15))} C2 W1\nG1 E20 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 5}\n\nG1 E12.0 F200\nG92 E0\nG1 E8.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( initial_extruder % 2 == 0 ? 100.0 : 220.0 )} F3420.0\nG0 Z0.3 F960.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( initial_extruder % 2 == 0 ? 0 : 320 )} E6.23628 F3420.0\nG92 E0\n\nG1 E-{retraction_length[initial_extruder]} F200\nG92 E0\nG0 Y20 F3420.0\n\n; ready [plate_name]", + "machine_end_gcode": "G92 E0\n\nG0 Z{max_layer_z + 2.0} F600\n; retract the filament to make it easier to replace\nG0 E-10 F200\nG28\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))} S0\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))} S0\n {endif}\nM140 S0\nM107\nM220 S100\nM84\n\n;\n; DON'T REMOVE these lines if you're using the smfix (https://github.com/macdylan/SMFix)\n; min_x = [first_layer_print_min_0]\n; min_y = [first_layer_print_min_1]\n; max_x = [first_layer_print_max_0]\n; max_y = [first_layer_print_max_1]\n; max_z = [max_layer_z]\n; total_layer_number = [layer_num]\n;", + "change_filament_gcode": ";***** Update: 20230923\n{if current_extruder != next_extruder}\n; Change T[current_extruder] -> T[next_extruder] (layer [layer_num]\n; layer\nT{next_extruder}\n\nM107 P[current_extruder] ;fan off T[current_extruder]\nM104 T[current_extruder] S{temperature_vitrification[current_extruder]} ;standby T[current_extruder]\n\n{if layer_num == 1 &&\n ((filament_type[current_extruder] == \"PLA\" || filament_type[current_extruder] == \"TPU\")\n || (filament_type[next_extruder] == \"PLA\" || filament_type[next_extruder] == \"TPU\"))\n}\n ; set bed temp: {filament_type[current_extruder]}({bed_temperature[current_extruder]}) -> {filament_type[next_extruder]}({bed_temperature[next_extruder]})\n M140 S{min(bed_temperature[current_extruder], bed_temperature[next_extruder])}\n{endif}\n\nM109 T[next_extruder] S{if layer_num < 1}[nozzle_temperature_initial_layer]{else}[nozzle_temperature]{endif} C3 W1 ;wait T[next_extruder]\n{if layer_num == 1}\n G1 E{retraction_length[next_extruder]} F200;deretract\n{endif}\n\n{if layer_z > first_layer_height && layer_num >= close_fan_the_first_x_layers[next_extruder]}\n; M106 P[next_extruder] S{fan_min_speed[next_extruder] * 255.0 / 100.0} ;restore fan speed for T[next_extruder]\n{endif}\n; End Toolchange\n{endif}", "before_layer_change_gcode": "; layer_num: [layer_num]\nG92 E0" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a350_dual_bk.json b/resources/profiles/Snapmaker/machine/fdm_a350_dual_bk.json new file mode 100644 index 00000000000..5b16424711e --- /dev/null +++ b/resources/profiles/Snapmaker/machine/fdm_a350_dual_bk.json @@ -0,0 +1,39 @@ +{ + "type": "machine", + "from": "system", + "instantiation": "false", + "name": "fdm_a350_dual_bk", + "inherits": "fdm_a350_dual", + "machine_max_acceleration_x": [ + "3500" + ], + "machine_max_acceleration_y": [ + "3500" + ], + "machine_max_acceleration_z": [ + "3000" + ], + "machine_max_acceleration_travel": [ + "3500" + ], + "machine_max_acceleration_extruding": [ + "3500" + ], + "machine_max_acceleration_retracting": [ + "3500" + ], + "machine_max_jerk_y": [ + "5" + ], + "machine_max_jerk_z": [ + "3" + ], + "printable_height": "279", + "printer_notes": "PRINTER_MODEL_SNAPMAKER_A350_DUAL\nPRINTER_MODEL_SNAPMAKER_A350_DUAL_BRACINGKIT\n", + "bed_exclude_area": [ + "0x318", + "320x318", + "320x350", + "0x350" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a350_dual_qs.json b/resources/profiles/Snapmaker/machine/fdm_a350_dual_qs.json index b2505329ffb..0e4823e2be5 100644 --- a/resources/profiles/Snapmaker/machine/fdm_a350_dual_qs.json +++ b/resources/profiles/Snapmaker/machine/fdm_a350_dual_qs.json @@ -4,12 +4,11 @@ "instantiation": "false", "name": "fdm_a350_dual_qs", "inherits": "fdm_a350_dual", - "bed_texture": "Snapmaker A350 QSKit_texture.svg", - "printable_height": "300", + "printable_height": "270", "printer_notes": "PRINTER_MODEL_SNAPMAKER_A350_DUAL\nPRINTER_MODEL_SNAPMAKER_A350_DUAL_QUICKSWAPKIT\n", "bed_exclude_area": [ - "0x335", - "320x335", + "0x315", + "320x315", "320x350", "0x350" ] diff --git a/resources/profiles/Snapmaker/machine/fdm_a350_dual_qs_bk.json b/resources/profiles/Snapmaker/machine/fdm_a350_dual_qs_bk.json new file mode 100644 index 00000000000..0494b8e7eaa --- /dev/null +++ b/resources/profiles/Snapmaker/machine/fdm_a350_dual_qs_bk.json @@ -0,0 +1,39 @@ +{ + "type": "machine", + "from": "system", + "instantiation": "false", + "name": "fdm_a350_dual_qs_bk", + "inherits": "fdm_a350_dual", + "machine_max_acceleration_x": [ + "3500" + ], + "machine_max_acceleration_y": [ + "3500" + ], + "machine_max_acceleration_z": [ + "3000" + ], + "machine_max_acceleration_travel": [ + "3500" + ], + "machine_max_acceleration_extruding": [ + "3500" + ], + "machine_max_acceleration_retracting": [ + "3500" + ], + "machine_max_jerk_y": [ + "5" + ], + "machine_max_jerk_z": [ + "3" + ], + "printable_height": "264", + "printer_notes": "PRINTER_MODEL_SNAPMAKER_A350_DUAL\nPRINTER_MODEL_SNAPMAKER_A350_DUAL_BRACINGKIT\nPRINTER_MODEL_SNAPMAKER_A350_DUAL_QUICKSWAPKIT\n", + "bed_exclude_area": [ + "0x303", + "320x303", + "320x350", + "0x350" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a350_qs.json b/resources/profiles/Snapmaker/machine/fdm_a350_qs.json index 590161e292b..2b5eb369fcd 100644 --- a/resources/profiles/Snapmaker/machine/fdm_a350_qs.json +++ b/resources/profiles/Snapmaker/machine/fdm_a350_qs.json @@ -4,8 +4,7 @@ "instantiation": "false", "name": "fdm_a350_qs", "inherits": "fdm_a350", - "bed_texture": "Snapmaker A350 QSKit_texture.svg", - "printable_height": "315", + "printable_height": "310", "printer_notes": "PRINTER_MODEL_SNAPMAKER_A350\nPRINTER_MODEL_SNAPMAKER_A350_QUICKSWAPKIT\n", "bed_exclude_area": [ "0x335", diff --git a/resources/profiles/Snapmaker/machine/fdm_a350_qs_bk.json b/resources/profiles/Snapmaker/machine/fdm_a350_qs_bk.json new file mode 100644 index 00000000000..e3ede6d2a5a --- /dev/null +++ b/resources/profiles/Snapmaker/machine/fdm_a350_qs_bk.json @@ -0,0 +1,39 @@ +{ + "type": "machine", + "from": "system", + "instantiation": "false", + "name": "fdm_a350_qs_bk", + "inherits": "fdm_a350", + "machine_max_acceleration_x": [ + "3500" + ], + "machine_max_acceleration_y": [ + "3500" + ], + "machine_max_acceleration_z": [ + "3000" + ], + "machine_max_acceleration_travel": [ + "3500" + ], + "machine_max_acceleration_extruding": [ + "3500" + ], + "machine_max_acceleration_retracting": [ + "3500" + ], + "machine_max_jerk_y": [ + "5" + ], + "machine_max_jerk_z": [ + "3" + ], + "printable_height": "304", + "printer_notes": "PRINTER_MODEL_SNAPMAKER_A350\nPRINTER_MODEL_SNAPMAKER_A350_BRACINGKIT\nPRINTER_MODEL_SNAPMAKER_A350_QUICKSWAPKIT\n", + "bed_exclude_area": [ + "0x323", + "320x323", + "320x350", + "0x350" + ] +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_a400.json b/resources/profiles/Snapmaker/machine/fdm_a400.json new file mode 100644 index 00000000000..4bfd754b692 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/fdm_a400.json @@ -0,0 +1,59 @@ +{ + "type": "machine", + "from": "system", + "instantiation": "false", + "name": "fdm_a400", + "inherits": "fdm_linear2_dual", + "extruder_clearance_height_to_rod": "32", + "extruder_clearance_height_to_lid": "400", + "machine_max_acceleration_x": [ + "5000" + ], + "machine_max_acceleration_y": [ + "5000" + ], + "machine_max_acceleration_z": [ + "200" + ], + "machine_max_acceleration_travel": [ + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000" + ], + "machine_max_acceleration_retracting": [ + "2000" + ], + "machine_max_speed_x": [ + "300" + ], + "machine_max_speed_y": [ + "300" + ], + "machine_max_jerk_x": [ + "10" + ], + "machine_max_jerk_y": [ + "10" + ], + "machine_max_jerk_z": [ + "3" + ], + "thumbnails": [ + "600x600" + ], + "bed_model": "Snapmaker Artisan_bed.stl", + "bed_texture": "Snapmaker Artisan_texture.svg", + "printable_height": "400", + "printer_notes": "PRINTER_MODEL_SNAPMAKER_ARTISAN\nPRINTER_MODEL_SNAPMAKER_A400_DUAL\n", + "printable_area": [ + "0x0", + "400x0", + "400x400", + "0x400" + ], + "machine_start_gcode": "; Model: Snapmaker Artisan ({nozzle_diameter[0]}/{nozzle_diameter[1]})\n; Update: 20240428\n; Maintained by https://github.com/macdylan/3dp-configs\n; Printer : [printer_preset]\n; Profile : [print_preset]\n; Plate : [plate_name]\n; --- initial_extruder: [initial_extruder]\n; --- has_wipe_tower: [has_wipe_tower]\n; --- total_toolchanges: [total_toolchanges]\n; --- T0: {is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - 1, 0))]}\n; --- T1: {is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - 0, 0))]}\n\nT[initial_extruder]\n\nM205 V[machine_max_jerk_x] ;Junction Deviation (mm)\n\nM140 S{first_layer_bed_temperature[initial_extruder]}\n\n; you can clean the nozzle\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n M104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))} S165\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n M104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))} S165\n {endif}\nM204 S100\nG28\nG0 Z266 F960.0\nG0 Y200.0 F6840.0\nG0 X200.0\n\n{if first_layer_print_min[0] >= 70 && first_layer_print_max[0] <= 330 && first_layer_print_min[1] >= 70 && first_layer_print_max[1] <= 330}\nM190 P0 R{first_layer_bed_temperature[initial_extruder]} ;only inner part of the bed\n{else}\nM190 R{first_layer_bed_temperature[initial_extruder]}\n{endif}\n\nG28\n{if 1==1}\n G0 X0\n G0 Z0.2 F960.0\n G0 Y0 F6840.0\n G0 X400\n G0 Y400\n G0 X0\n G0 Y0\n{endif}\n\nM83\n{if 1==1 && max(hot_plate_temp_initial_layer[initial_extruder], hot_plate_temp[initial_extruder]) >= 90}\nG0 Z0.06\nG92 Z0 ;reset z\n{endif}\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n; preheat 0\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))} S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 15))}\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n; preheat 1\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))} S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 15))}\n {endif}\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] and (initial_extruder % 2) != 0}\n; flush nozzle 0\nT{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))}\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 15))}; common flush temp\nG0 Z1.6 F960.0\nG0 X{( 0 % 2 == 0 ? 185.0 : 215.0 )} F6840.0\nG0 Y0 F6840.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 15))} C2 W1\nG1 E20 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 5}\n\nG1 E12.0 F200\nG92 E0\nG1 E8.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( 0 % 2 == 0 ? 140.0 : 260.0 )} F6840.0\nG0 Z0.3 F960.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( 0 % 2 == 0 ? 0 : 400 )} E8.73079 F6840.0\nG92 E0\n\nG1 E-{retract_length_toolchange[0]} F200\nG92 E0\nG0 Y20 F6840.0\nM104 S{temperature_vitrification[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n {endif}\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] and (initial_extruder % 2) != 1}\n; flush nozzle 1\nT{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))}\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 15))}; common flush temp\nG0 Z1.6 F960.0\nG0 X{( 1 % 2 == 0 ? 185.0 : 215.0 )} F6840.0\nG0 Y0 F6840.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 15))} C2 W1\nG1 E20 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 5}\n\nG1 E12.0 F200\nG92 E0\nG1 E8.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( 1 % 2 == 0 ? 140.0 : 260.0 )} F6840.0\nG0 Z0.3 F960.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( 1 % 2 == 0 ? 0 : 400 )} E8.73079 F6840.0\nG92 E0\n\nG1 E-{retract_length_toolchange[1]} F200\nG92 E0\nG0 Y20 F6840.0\nM104 S{temperature_vitrification[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n {endif}\n\n; flush initial nozzle\nT[initial_extruder]\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 15))}; common flush temp\nG0 Z1.6 F960.0\nG0 X{( initial_extruder % 2 == 0 ? 185.0 : 215.0 )} F6840.0\nG0 Y0 F6840.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 15))} C2 W1\nG1 E20 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 5}\n\nG1 E12.0 F200\nG92 E0\nG1 E8.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( initial_extruder % 2 == 0 ? 140.0 : 260.0 )} F6840.0\nG0 Z0.3 F960.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( initial_extruder % 2 == 0 ? 0 : 400 )} E8.73079 F6840.0\nG92 E0\n\nG1 E-{retraction_length[initial_extruder]} F200\nG92 E0\nG0 Y20 F6840.0\n\n; ready [plate_name]", + "machine_end_gcode": "G92 E0\n\nG0 Z{max_layer_z + 2.0} F600\n; retract the filament to make it easier to replace\nG0 E-10 F200\nG28\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))} S0\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))} S0\n {endif}\nM140 S0\nM107\nM220 S100\nM84\n\n;\n; DON'T REMOVE these lines if you're using the smfix (https://github.com/macdylan/SMFix)\n; min_x = [first_layer_print_min_0]\n; min_y = [first_layer_print_min_1]\n; max_x = [first_layer_print_max_0]\n; max_y = [first_layer_print_max_1]\n; max_z = [max_layer_z]\n; total_layer_number = [layer_num]\n;", + "change_filament_gcode": ";***** Update: 20230923\n{if current_extruder != next_extruder}\n; Change T[current_extruder] -> T[next_extruder] (layer [layer_num]\n; layer\nT{next_extruder}\n\nM107 P[current_extruder] ;fan off T[current_extruder]\nM104 T[current_extruder] S{temperature_vitrification[current_extruder]} ;standby T[current_extruder]\n\n{if layer_num == 1 &&\n ((filament_type[current_extruder] == \"PLA\" || filament_type[current_extruder] == \"TPU\")\n || (filament_type[next_extruder] == \"PLA\" || filament_type[next_extruder] == \"TPU\"))\n}\n ; set bed temp: {filament_type[current_extruder]}({bed_temperature[current_extruder]}) -> {filament_type[next_extruder]}({bed_temperature[next_extruder]})\n M140 S{min(bed_temperature[current_extruder], bed_temperature[next_extruder])}\n{endif}\n\nM109 T[next_extruder] S{if layer_num < 1}[nozzle_temperature_initial_layer]{else}[nozzle_temperature]{endif} C3 W1 ;wait T[next_extruder]\n{if layer_num == 1}\n G1 E{retraction_length[next_extruder]} F200;deretract\n{endif}\n\n{if layer_z > first_layer_height && layer_num >= close_fan_the_first_x_layers[next_extruder]}\n; M106 P[next_extruder] S{fan_min_speed[next_extruder] * 255.0 / 100.0} ;restore fan speed for T[next_extruder]\n{endif}\n; End Toolchange\n{endif}", + "before_layer_change_gcode": "; layer_num: [layer_num]\nG92 E0" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_common.json b/resources/profiles/Snapmaker/machine/fdm_common.json index 6066188b5c1..9dde4953b3e 100644 --- a/resources/profiles/Snapmaker/machine/fdm_common.json +++ b/resources/profiles/Snapmaker/machine/fdm_common.json @@ -11,7 +11,7 @@ "auxiliary_fan": "0", "remaining_times": "1", "single_extruder_multi_material": "0", - "purge_in_prime_tower": "0", + "purge_in_prime_tower": "1", "enable_filament_ramming": "0", "nozzle_volume": "0", "cooling_tube_retraction": "0", diff --git a/resources/profiles/Snapmaker/machine/fdm_idex.json b/resources/profiles/Snapmaker/machine/fdm_idex.json index 867e6b31a57..28176df2d5d 100644 --- a/resources/profiles/Snapmaker/machine/fdm_idex.json +++ b/resources/profiles/Snapmaker/machine/fdm_idex.json @@ -11,28 +11,28 @@ "2" ], "retraction_speed": [ - "30", - "30" + "25", + "25" ], "deretraction_speed": [ - "30", - "30" + "25", + "25" ], "bed_model": "Snapmaker J1_bed.stl", "bed_texture": "Snapmaker J1_texture.svg", "printable_height": "200", - "extruder_clearance_radius": "68", - "extruder_clearance_height_to_rod": "36", - "extruder_clearance_height_to_lid": "90", + "extruder_clearance_radius": "35", + "extruder_clearance_height_to_rod": "35", + "extruder_clearance_height_to_lid": "150", "printer_notes": "PRINTER_MODEL_SNAPMAKER_J1\n", "fan_speedup_time": [ - "0.2" + "0.3" ], "machine_max_acceleration_x": [ - "11000" + "10000" ], "machine_max_acceleration_y": [ - "11000" + "8000" ], "machine_max_acceleration_z": [ "100" @@ -41,19 +41,19 @@ "6000" ], "machine_max_acceleration_travel": [ - "11000" + "10000" ], "machine_max_acceleration_extruding": [ - "11000" + "10000" ], "machine_max_acceleration_retracting": [ - "5000" + "6000" ], "machine_max_speed_x": [ "350" ], "machine_max_speed_y": [ - "350" + "300" ], "machine_max_speed_z": [ "10" @@ -62,10 +62,10 @@ "40" ], "machine_max_jerk_x": [ - "8" + "10" ], "machine_max_jerk_y": [ - "8" + "10" ], "machine_max_jerk_z": [ "3" @@ -100,8 +100,8 @@ "Snapmaker J1 PLA", "Snapmaker J1 PETG" ], - "machine_start_gcode": "; Model: Snapmaker J1 ({nozzle_diameter[0]}/{nozzle_diameter[1]})\n; Update: 20231019\n; Maintained by https://github.com/macdylan/3dp-configs\n; Printer : [printer_preset]\n; Profile : [print_preset]\n; Plate : [plate_name]\n; --- initial_extruder: [initial_extruder]\n; --- has_wipe_tower: [has_wipe_tower]\n; --- total_toolchanges: [total_toolchanges]\n; --- T0: {is_extruder_used[0]}\n; --- T1: {is_extruder_used[1]}\n\nT[initial_extruder]\n\nM205 V20 ;Junction Deviation (mm)\n\n{if plate_name =~/.*IDEXDupl.*/ || plate_name =~/.*IDEXCopy.*/ }\n M605 S2 X162 R0 ;IDEX Duplication\n{elsif plate_name =~/.*IDEXMirr.*/}\n M605 S3 ;IDEX Mirror\n{elsif plate_name =~/.*IDEXBack.*/}\n M605 S4 ;IDEX Backup\n{endif}\n\nM140 S{first_layer_bed_temperature[initial_extruder]}\n\n; you can clean the nozzle\n{if is_extruder_used[0]}M104 T0 S165{endif}\n{if is_extruder_used[1]}M104 T1 S165{endif}\nM204 S100\nG28\n\nG0 Z100.0\n{if is_extruder_used[0]}\n T0\n G0 X{if 0 == 0}80{else}240{endif} Y0 F7980.0\n {endif}\n{if is_extruder_used[1]}\n T1\n G0 X{if 1 == 0}80{else}240{endif} Y0 F7980.0\n {endif}\n\nM190 R{first_layer_bed_temperature[initial_extruder]}\n{if 1==1}; LED\n M355 S1 P64\n G4 P100\n M355 S1 P128\n G4 P100\n M355 S1 P64\n G4 P200\n M355 S1 P255\n G4 P100\n{endif}\nG28 X Y\n\nM83\n\n{if is_extruder_used[0]}M104 T0 S{max(250, min(290, nozzle_temperature_initial_layer[0] + 15))}{endif}\n{if is_extruder_used[1]}M104 T1 S{max(250, min(290, nozzle_temperature_initial_layer[1] + 15))}{endif}\n\n{if is_extruder_used[0] and initial_extruder != 0}\n T0\nG0 Z20 F240.0\nG0 X{if 0 == 0}-7{else}331{endif} F7980.0\nG0 Y0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[0] + 15))} C2 W1; common flush temp\nG0 E50 F80.0\n\nM106 S{min(255, (fan_max_speed[0] + 10) * 2.55)}\nM104 S{nozzle_temperature_initial_layer[0] + 5}\n\nG0 E50 F200\n\nG0 E-0.5 F200\nM107\n\nG28 X\n\nG0 Z1.0 F240.0\n\nM109 S{nozzle_temperature_initial_layer[0]} C3 W1\nG1 X{if 0 == 0}142.0{else}182.0{endif} F7980.0\nG1 Z0.3 F240.0\nG1 E4 F200\nG1 X{if 0 == 0}10{else}314{endif} E9.47915 F7980.0\nG1 Y11 E0.68599\nG1 X{if 0 == 0}10.5{else}313.5{endif}\nG1 E0.4\nG1 Y0.8 E0.6361\nG1 X{if 0 == 0}19.5{else}304.5{endif} E0.59245\nG1 E-0.5 F200\nG92 E0\n\n M104 S{temperature_vitrification[0]}\n{endif}\n{if is_extruder_used[1] and initial_extruder != 1}\n T1\nG0 Z20 F240.0\nG0 X{if 1 == 0}-7{else}331{endif} F7980.0\nG0 Y0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[1] + 15))} C2 W1; common flush temp\nG0 E50 F80.0\n\nM106 S{min(255, (fan_max_speed[1] + 10) * 2.55)}\nM104 S{nozzle_temperature_initial_layer[1] + 5}\n\nG0 E50 F200\n\nG0 E-0.5 F200\nM107\n\nG28 X\n\nG0 Z1.0 F240.0\n\nM109 S{nozzle_temperature_initial_layer[1]} C3 W1\nG1 X{if 1 == 0}142.0{else}182.0{endif} F7980.0\nG1 Z0.3 F240.0\nG1 E4 F200\nG1 X{if 1 == 0}10{else}314{endif} E9.47915 F7980.0\nG1 Y11 E0.68599\nG1 X{if 1 == 0}10.5{else}313.5{endif}\nG1 E0.4\nG1 Y0.8 E0.6361\nG1 X{if 1 == 0}19.5{else}304.5{endif} E0.59245\nG1 E-0.5 F200\nG92 E0\n\n M104 S{temperature_vitrification[1]}\n{endif}\n\nT[initial_extruder]\nG0 Z20 F240.0\nG0 X{if initial_extruder == 0}-7{else}331{endif} F7980.0\nG0 Y0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[initial_extruder] + 15))} C2 W1; common flush temp\nG0 E50 F80.0\n\nM106 S{min(255, (fan_max_speed[initial_extruder] + 10) * 2.55)}\nM104 S{nozzle_temperature_initial_layer[initial_extruder] + 5}\n\nG0 E50 F200\n\nG0 E-0.5 F200\nM107\n\nG28 X\n\nG0 Z1.0 F240.0\n\nM109 S{nozzle_temperature_initial_layer[initial_extruder]} C3 W1\nG1 X{if initial_extruder == 0}142.0{else}182.0{endif} F7980.0\nG1 Z0.3 F240.0\nG1 E4 F200\nG1 X{if initial_extruder == 0}10{else}314{endif} E9.47915 F7980.0\nG1 Y11 E0.68599\nG1 X{if initial_extruder == 0}10.5{else}313.5{endif}\nG1 E0.4\nG1 Y0.8 E0.6361\nG1 X{if initial_extruder == 0}19.5{else}304.5{endif} E0.59245\nG1 E-0.5 F200\nG92 E0\n\n; ready [plate_name]", - "machine_end_gcode": "G92 E0\n\nG0 Z{max_layer_z + 0.5} F600\n; retract the filament to make it easier to replace\nG0 E-40 F200\nG28\n\n {if is_extruder_used[0]}M104 T0 S0{endif}\n {if is_extruder_used[1]}M104 T1 S0{endif}\nM140 S0\nM107\nM220 S100\nM84\n\n;\n; DON'T REMOVE these lines if you're using the smfix (https://github.com/macdylan/SMFix)\n; min_x = [first_layer_print_min_0]\n; min_y = [first_layer_print_min_1]\n; max_x = [first_layer_print_max_0]\n; max_y = [first_layer_print_max_1]\n; max_z = [max_layer_z]\n; total_layer_number = [layer_num]\n;", - "change_filament_gcode": ";***** Update: 20230730\n{if current_extruder != next_extruder}\n; Change T[current_extruder] -> T[next_extruder] (layer [layer_num]\n; layer\nT{next_extruder}\n\nM107 P[current_extruder] ;fan off T[current_extruder]\nM104 T[current_extruder] S{temperature_vitrification[current_extruder]} ;standby T[current_extruder]\n\n{if layer_num == 1 &&\n ((filament_type[current_extruder] == \"PLA\" || filament_type[current_extruder] == \"TPU\")\n || (filament_type[next_extruder] == \"PLA\" || filament_type[next_extruder] == \"TPU\"))\n}\n; set bed temp: {filament_type[current_extruder]}({bed_temperature[current_extruder]}) -> {filament_type[next_extruder]}({bed_temperature[next_extruder]})\nM140 S{min(bed_temperature[current_extruder], bed_temperature[next_extruder])}\n{endif}\n\nM2000 S200 V[travel_speed] A[travel_acceleration] ;quick switch extruders, S:200 mode/V:speed/A:acceleration\nM109 T[next_extruder] S{if layer_num < 1}[nozzle_temperature_initial_layer]{else}[nozzle_temperature]{endif} C3 W1 ;wait T[next_extruder]\n{if layer_z > first_layer_height && layer_num >= close_fan_the_first_x_layers[next_extruder]}\n M106 P[next_extruder] S{fan_min_speed[next_extruder] * 255.0 / 100.0} ;restore fan speed for T[next_extruder]\n{endif}\n\n{endif}", + "machine_start_gcode": "; Model: Snapmaker J1 ({nozzle_diameter[0]}/{nozzle_diameter[1]})\n; Update: 20240428\n; Maintained by https://github.com/macdylan/3dp-configs\n; Printer : [printer_preset]\n; Profile : [print_preset]\n; Plate : [plate_name]\n; --- initial_extruder: [initial_extruder]\n; --- has_wipe_tower: [has_wipe_tower]\n; --- total_toolchanges: [total_toolchanges]\n; --- T0: {is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - 1, 0))]}\n; --- T1: {is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - 0, 0))]}\n\nT[initial_extruder]\n\nM205 V[machine_max_jerk_x] ;Junction Deviation (mm)\n\n{if plate_name =~/.*IDEXDupl.*/ || plate_name =~/.*IDEXCopy.*/ }\n M605 S2 X162 R0 ;IDEX Duplication\n{elsif plate_name =~/.*IDEXMirr.*/}\n M605 S3 ;IDEX Mirror\n{elsif plate_name =~/.*IDEXBack.*/}\n M605 S4 ;IDEX Backup\n{endif}\n\nM140 S{first_layer_bed_temperature[initial_extruder]}\n\n; you can clean the nozzle\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n M104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))} S165\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n M104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))} S165\n {endif}\nM204 S100\nG28\n\nG0 Z100.0\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))}\n G0 X{if 0 == 0}80{else}240{endif} Y0 F6840.0\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))}\n G0 X{if 1 == 0}80{else}240{endif} Y0 F6840.0\n {endif}\n\nM190 R{first_layer_bed_temperature[initial_extruder]}\n\n{if 1==1}; LED\n M355 S1 P64\n G4 P100\n M355 S1 P128\n G4 P100\n M355 S1 P64\n G4 P200\n M355 S1 P255\n G4 P100\n{endif}\nG28 X Y\n\nM83\n{if 1==1 && max(hot_plate_temp_initial_layer[initial_extruder], hot_plate_temp[initial_extruder]) >= 90}\nG0 Z0.06\nG92 Z0 ;reset z\n{endif}\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n; preheat 0\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))} S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 15))}\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n; preheat 1\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))} S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 15))}\n {endif}\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] and (initial_extruder % 2) != 0}\n; flush nozzle 0\nT{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))}\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 15))}; common flush temp\nG0 Z1.6 F240.0\nG0 X{( 0 % 2 == 0 ? 147.0 : 177.0 )} F6840.0\nG0 Y0 F6840.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 15))} C2 W1\nG1 E20 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] + 5}\n\nG1 E12.0 F200\nG92 E0\nG1 E8.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( 0 % 2 == 0 ? 137.0 : 187.0 )} F6840.0\nG0 Z0.3 F240.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( 0 % 2 == 0 ? 0 : 324 )} E8.5437 F6840.0\nG92 E0\n\nG1 E-{retract_length_toolchange[0]} F200\nG92 E0\nG0 Y20 F6840.0\nM104 S{temperature_vitrification[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\n {endif}\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] and (initial_extruder % 2) != 1}\n; flush nozzle 1\nT{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))}\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 15))}; common flush temp\nG0 Z1.6 F240.0\nG0 X{( 1 % 2 == 0 ? 147.0 : 177.0 )} F6840.0\nG0 Y0 F6840.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 15))} C2 W1\nG1 E20 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] + 5}\n\nG1 E12.0 F200\nG92 E0\nG1 E8.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( 1 % 2 == 0 ? 137.0 : 187.0 )} F6840.0\nG0 Z0.3 F240.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( 1 % 2 == 0 ? 0 : 324 )} E8.5437 F6840.0\nG92 E0\n\nG1 E-{retract_length_toolchange[1]} F200\nG92 E0\nG0 Y20 F6840.0\nM104 S{temperature_vitrification[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\n {endif}\n\n; flush initial nozzle\nT[initial_extruder]\nM104 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 15))}; common flush temp\nG0 Z1.6 F240.0\nG0 X{( initial_extruder % 2 == 0 ? 147.0 : 177.0 )} F6840.0\nG0 Y0 F6840.0\n\nM109 S{max(250, min(290, nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 15))} C2 W1\nG1 E20 F80.0\nG92 E0\n\nM106 S{min(255, (fan_max_speed[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 10) * 2.55)}\n\nM104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))] + 5}\n\nG1 E12.0 F200\nG92 E0\nG1 E8.0 Z4.6 F200\nG92 E0\n\nG0 Z5.6 F200\nM107\n\nG0 X{( initial_extruder % 2 == 0 ? 137.0 : 187.0 )} F6840.0\nG0 Z0.3 F240.0\nM109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))]} C3 W1\nG1 E3 F200\nG92 E0\nG1 X{( initial_extruder % 2 == 0 ? 0 : 324 )} E8.5437 F6840.0\nG92 E0\n\nG1 E-{retraction_length[initial_extruder]} F200\nG92 E0\nG0 Y20 F6840.0\n\n; ready [plate_name]", + "machine_end_gcode": "G92 E0\n\nG0 Z{max_layer_z + 2.0} F600\n; retract the filament to make it easier to replace\nG0 E-10 F200\nG28\n\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))} S0\n {endif}\n{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}\nM104 T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))} S0\n {endif}\nM140 S0\nM107\nM220 S100\nM84\n\n;\n; DON'T REMOVE these lines if you're using the smfix (https://github.com/macdylan/SMFix)\n; min_x = [first_layer_print_min_0]\n; min_y = [first_layer_print_min_1]\n; max_x = [first_layer_print_max_0]\n; max_y = [first_layer_print_max_1]\n; max_z = [max_layer_z]\n; total_layer_number = [layer_num]\n;", + "change_filament_gcode": ";***** Update: 20230730\n{if current_extruder != next_extruder}\n; Change T[current_extruder] -> T[next_extruder] (layer [layer_num] [toolchange_count]/[total_toolchanges])\n; layer [layer_num] at [layer_z]mm\nT[next_extruder]\n\nM107 P[current_extruder] ;fan off T[current_extruder]\nM104 T[current_extruder] S{temperature_vitrification[current_extruder]} ;standby T[current_extruder]\n\n{if layer_num == 1 &&\n ((filament_type[current_extruder] == \"PLA\" || filament_type[current_extruder] == \"TPU\")\n || (filament_type[next_extruder] == \"PLA\" || filament_type[next_extruder] == \"TPU\"))\n}\n; set bed temp: {filament_type[current_extruder]}({bed_temperature[current_extruder]}) -> {filament_type[next_extruder]}({bed_temperature[next_extruder]})\nM140 S{min(bed_temperature[current_extruder], bed_temperature[next_extruder])}\n{endif}\n\nM2000 S200 V[travel_speed] A[travel_acceleration] ;quick switch extruders, S:200 mode/V:speed/A:acceleration\nM109 T[next_extruder] S{if layer_num < 1}[nozzle_temperature_initial_layer]{else}[nozzle_temperature]{endif} C3 W1 ;wait T[next_extruder]\n{if layer_z > first_layer_height && layer_num >= close_fan_the_first_x_layers[next_extruder]}\n M106 P[next_extruder] S{fan_min_speed[next_extruder] * 255.0 / 100.0} ;restore fan speed for T[next_extruder]\n{endif}\n{endif}", "before_layer_change_gcode": "; layer_num: [layer_num]\nG92 E0" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/machine/fdm_linear2.json b/resources/profiles/Snapmaker/machine/fdm_linear2.json index 3a37a7f8ece..ed91a1489df 100644 --- a/resources/profiles/Snapmaker/machine/fdm_linear2.json +++ b/resources/profiles/Snapmaker/machine/fdm_linear2.json @@ -14,10 +14,10 @@ "Normal Lift" ], "extruder_clearance_radius": "75", - "extruder_clearance_height_to_rod": "25", - "extruder_clearance_height_to_lid": "90", + "extruder_clearance_height_to_rod": "35", + "extruder_clearance_height_to_lid": "325", "machine_max_acceleration_x": [ - "1000" + "1100" ], "machine_max_acceleration_y": [ "1000" @@ -29,13 +29,13 @@ "3000" ], "machine_max_acceleration_travel": [ - "1000" + "1100" ], "machine_max_acceleration_extruding": [ - "1000" + "1100" ], "machine_max_acceleration_retracting": [ - "2000" + "1100" ], "machine_max_speed_x": [ "150" @@ -50,7 +50,7 @@ "45" ], "machine_max_jerk_x": [ - "1" + "5" ], "machine_max_jerk_y": [ "1" diff --git a/resources/profiles/Snapmaker/machine/fdm_linear2_dual.json b/resources/profiles/Snapmaker/machine/fdm_linear2_dual.json index e335bdc4a03..fcd3e851540 100644 --- a/resources/profiles/Snapmaker/machine/fdm_linear2_dual.json +++ b/resources/profiles/Snapmaker/machine/fdm_linear2_dual.json @@ -12,18 +12,11 @@ "35", "35" ], - "extruder_clearance_radius": "110", - "extruder_clearance_height_to_rod": "45", - "extruder_clearance_height_to_lid": "133", - "machine_max_acceleration_retracting": [ - "1000" - ], - "machine_max_speed_e": [ - "35" - ], + "extruder_clearance_height_to_rod": "60", + "extruder_clearance_height_to_lid": "285", "retract_length_toolchange": [ - "8", - "8" + "18", + "18" ], "default_filament_profile": [ "Snapmaker PLA", diff --git a/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker (0.2 nozzle).json index 93ce6eb0e1d..ffbaf1b6495 100644 --- a/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker (0.2 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.2 nozzle)", "Snapmaker A250 QSKit (0.2 nozzle)", "Snapmaker A350 QSKit (0.2 nozzle)", + "Snapmaker A250 BKit (0.2 nozzle)", + "Snapmaker A350 BKit (0.2 nozzle)", + "Snapmaker A250 QS+B Kit (0.2 nozzle)", + "Snapmaker A350 QS+B Kit (0.2 nozzle)", "Snapmaker A250 Dual QSKit (0.2 nozzle)", - "Snapmaker A350 Dual QSKit (0.2 nozzle)" + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)" ], "bottom_shell_layers": "5", "bridge_flow": "1", diff --git a/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker Artisan (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker Artisan (0.2 nozzle).json new file mode 100644 index 00000000000..e28c15c8f79 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker Artisan (0.2 nozzle).json @@ -0,0 +1,27 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.06 Standard @Snapmaker Artisan (0.2 nozzle)", + "setting_id": "3200425436", + "compatible_printers": [ + "Snapmaker Artisan (0.2 nozzle)" + ], + "bottom_shell_layers": "4", + "bridge_flow": "1", + "initial_layer_line_width": "0.25", + "initial_layer_print_height": "0.1", + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "layer_height": "0.06", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "sparse_infill_line_width": "0.22", + "support_line_width": "0.22", + "top_shell_layers": "5", + "top_surface_line_width": "0.22", + "wall_loops": "4", + "initial_layer_infill_speed": "70", + "initial_layer_speed": "40", + "inner_wall_speed": "150" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker J1 (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker J1 (0.2 nozzle).json index a46f8f910eb..b6a267151df 100644 --- a/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker J1 (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.06 Standard @Snapmaker J1 (0.2 nozzle).json @@ -8,7 +8,7 @@ "compatible_printers": [ "Snapmaker J1 (0.2 nozzle)" ], - "bottom_shell_layers": "5", + "bottom_shell_layers": "4", "bridge_flow": "1", "initial_layer_line_width": "0.25", "initial_layer_print_height": "0.1", @@ -19,18 +19,9 @@ "outer_wall_line_width": "0.22", "sparse_infill_line_width": "0.22", "support_line_width": "0.22", - "top_shell_layers": "7", + "top_shell_layers": "5", "top_surface_line_width": "0.22", "wall_loops": "4", - "gap_infill_speed": "120", - "initial_layer_infill_speed": "70", - "initial_layer_speed": "40", - "inner_wall_speed": "200", - "internal_solid_infill_speed": "200", - "sparse_infill_speed": "100", - "support_interface_speed": "40", - "top_surface_speed": "150", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10" + "initial_layer_infill_speed": "80", + "inner_wall_speed": "145" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker (0.4 nozzle).json index b53e32ce637..a081fe766e9 100644 --- a/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker (0.4 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.4 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)" + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)" ], "bottom_shell_layers": "7", "bridge_flow": "1", diff --git a/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker Artisan (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker Artisan (0.4 nozzle).json new file mode 100644 index 00000000000..22bdb6cb08b --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker Artisan (0.4 nozzle).json @@ -0,0 +1,22 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.08 Extra Fine @Snapmaker Artisan (0.4 nozzle)", + "setting_id": "723238605", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.4 nozzle)" + ], + "bottom_shell_layers": "4", + "bridge_flow": "1", + "elefant_foot_compensation": "0.15", + "ironing_flow": "8%", + "layer_height": "0.08", + "initial_layer_print_height": "0.1", + "support_threshold_angle": "15", + "top_shell_layers": "5", + "initial_layer_infill_speed": "80", + "inner_wall_speed": "145", + "internal_solid_infill_speed": "150" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker J1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker J1 (0.4 nozzle).json index d15aa3175e6..eaf51d4cd63 100644 --- a/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker J1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.08 Extra Fine @Snapmaker J1 (0.4 nozzle).json @@ -8,20 +8,15 @@ "compatible_printers": [ "Snapmaker J1 (0.4 nozzle)" ], - "bottom_shell_layers": "7", + "bottom_shell_layers": "4", "bridge_flow": "1", "elefant_foot_compensation": "0.15", "ironing_flow": "8%", "layer_height": "0.08", "initial_layer_print_height": "0.1", "support_threshold_angle": "15", - "top_shell_layers": "9", - "gap_infill_speed": "160", - "initial_layer_infill_speed": "65", - "inner_wall_speed": "230", - "internal_solid_infill_speed": "230", - "sparse_infill_speed": "120", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10" + "top_shell_layers": "5", + "initial_layer_infill_speed": "80", + "inner_wall_speed": "145", + "internal_solid_infill_speed": "150" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker (0.2 nozzle).json index c7e117ba78c..10f10cbe484 100644 --- a/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker (0.2 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.2 nozzle)", "Snapmaker A250 QSKit (0.2 nozzle)", "Snapmaker A350 QSKit (0.2 nozzle)", + "Snapmaker A250 BKit (0.2 nozzle)", + "Snapmaker A350 BKit (0.2 nozzle)", + "Snapmaker A250 QS+B Kit (0.2 nozzle)", + "Snapmaker A350 QS+B Kit (0.2 nozzle)", "Snapmaker A250 Dual QSKit (0.2 nozzle)", - "Snapmaker A350 Dual QSKit (0.2 nozzle)" + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)" ], "layer_height": "0.1", "initial_layer_print_height": "0.1", diff --git a/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker Artisan (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker Artisan (0.2 nozzle).json new file mode 100644 index 00000000000..a1bc54d546c --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker Artisan (0.2 nozzle).json @@ -0,0 +1,25 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.10 Standard @Snapmaker Artisan (0.2 nozzle)", + "setting_id": "2309389761", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.2 nozzle)" + ], + "layer_height": "0.1", + "initial_layer_print_height": "0.1", + "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.25", + "sparse_infill_line_width": "0.22", + "inner_wall_line_width": "0.22", + "internal_solid_infill_line_width": "0.22", + "support_line_width": "0.22", + "top_surface_line_width": "0.22" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker J1 (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker J1 (0.2 nozzle).json index cc3a94a7bc6..f928d404ba5 100644 --- a/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker J1 (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.10 Standard @Snapmaker J1 (0.2 nozzle).json @@ -22,15 +22,6 @@ "internal_solid_infill_line_width": "0.22", "support_line_width": "0.22", "top_surface_line_width": "0.22", - "initial_layer_speed": "40", - "initial_layer_infill_speed": "70", - "sparse_infill_speed": "100", - "top_surface_speed": "150", - "gap_infill_speed": "120", - "inner_wall_speed": "200", - "internal_solid_infill_speed": "200", - "support_interface_speed": "40", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10" + "initial_layer_infill_speed": "80", + "inner_wall_speed": "145" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker (0.4 nozzle).json index 884381d1108..24216b3c5cb 100644 --- a/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker (0.4 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.4 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)" + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)" ], "layer_height": "0.12", "initial_layer_print_height": "0.2", diff --git a/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker Artisan (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker Artisan (0.4 nozzle).json new file mode 100644 index 00000000000..41cfa41d212 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker Artisan (0.4 nozzle).json @@ -0,0 +1,21 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.12 Fine @Snapmaker Artisan (0.4 nozzle)", + "setting_id": "3320746901", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.4 nozzle)" + ], + "layer_height": "0.12", + "bottom_shell_layers": "5", + "elefant_foot_compensation": "0.15", + "top_shell_layers": "5", + "top_shell_thickness": "0.6", + "bridge_flow": "1", + "support_threshold_angle": "20", + "initial_layer_infill_speed": "80", + "inner_wall_speed": "145", + "internal_solid_infill_speed": "150" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker J1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker J1 (0.4 nozzle).json index 5fce09ed241..1ff76293393 100644 --- a/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker J1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.12 Fine @Snapmaker J1 (0.4 nozzle).json @@ -15,13 +15,7 @@ "top_shell_thickness": "0.6", "bridge_flow": "1", "support_threshold_angle": "20", - "initial_layer_infill_speed": "60", - "inner_wall_speed": "230", - "internal_solid_infill_speed": "230", - "sparse_infill_speed": "120", - "top_surface_speed": "120", - "gap_infill_speed": "160", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10" + "initial_layer_infill_speed": "80", + "inner_wall_speed": "145", + "internal_solid_infill_speed": "150" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker (0.2 nozzle).json index 09d5e2d93f3..29567647aea 100644 --- a/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker (0.2 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.2 nozzle)", "Snapmaker A250 QSKit (0.2 nozzle)", "Snapmaker A350 QSKit (0.2 nozzle)", + "Snapmaker A250 BKit (0.2 nozzle)", + "Snapmaker A350 BKit (0.2 nozzle)", + "Snapmaker A250 QS+B Kit (0.2 nozzle)", + "Snapmaker A350 QS+B Kit (0.2 nozzle)", "Snapmaker A250 Dual QSKit (0.2 nozzle)", - "Snapmaker A350 Dual QSKit (0.2 nozzle)" + "Snapmaker A350 Dual QSKit (0.2 nozzle)", + "Snapmaker A250 Dual BKit (0.2 nozzle)", + "Snapmaker A350 Dual BKit (0.2 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.2 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.2 nozzle)" ], "layer_height": "0.14", "initial_layer_print_height": "0.2", diff --git a/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker Artisan (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker Artisan (0.2 nozzle).json new file mode 100644 index 00000000000..06f70315ba8 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker Artisan (0.2 nozzle).json @@ -0,0 +1,25 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.14 Standard @Snapmaker Artisan (0.2 nozzle)", + "setting_id": "1624466618", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.2 nozzle)" + ], + "layer_height": "0.14", + "wall_loops": "4", + "bottom_shell_layers": "4", + "top_shell_layers": "5", + "bridge_flow": "1", + "line_width": "0.22", + "outer_wall_line_width": "0.22", + "initial_layer_line_width": "0.25", + "sparse_infill_line_width": "0.22", + "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_infill_speed": "80" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker J1 (0.2 nozzle).json b/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker J1 (0.2 nozzle).json index 78827b21727..9370091a512 100644 --- a/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker J1 (0.2 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.14 Standard @Snapmaker J1 (0.2 nozzle).json @@ -10,8 +10,8 @@ ], "layer_height": "0.14", "wall_loops": "4", - "bottom_shell_layers": "5", - "top_shell_layers": "7", + "bottom_shell_layers": "4", + "top_shell_layers": "5", "bridge_flow": "1", "line_width": "0.22", "outer_wall_line_width": "0.22", @@ -21,15 +21,5 @@ "internal_solid_infill_line_width": "0.22", "support_line_width": "0.22", "top_surface_line_width": "0.22", - "initial_layer_speed": "40", - "initial_layer_infill_speed": "70", - "sparse_infill_speed": "100", - "top_surface_speed": "150", - "gap_infill_speed": "120", - "inner_wall_speed": "200", - "internal_solid_infill_speed": "200", - "support_interface_speed": "40", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10" + "initial_layer_infill_speed": "80" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker (0.4 nozzle).json index 0e68e7b1b09..119ae1e3e5b 100644 --- a/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker (0.4 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.4 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)" + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)" ], "layer_height": "0.16", "initial_layer_print_height": "0.2", diff --git a/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker Artisan (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker Artisan (0.4 nozzle).json new file mode 100644 index 00000000000..e2547e522bb --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker Artisan (0.4 nozzle).json @@ -0,0 +1,20 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.16 Optimal @Snapmaker Artisan (0.4 nozzle)", + "setting_id": "2870109378", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.4 nozzle)" + ], + "layer_height": "0.16", + "elefant_foot_compensation": "0.15", + "bottom_shell_layers": "4", + "top_shell_layers": "5", + "top_shell_thickness": "0.6", + "bridge_flow": "1", + "support_threshold_angle": "25", + "initial_layer_infill_speed": "80", + "inner_wall_speed": "145" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker J1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker J1 (0.4 nozzle).json index 3872ca6e362..77a170ef615 100644 --- a/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker J1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.16 Optimal @Snapmaker J1 (0.4 nozzle).json @@ -11,17 +11,10 @@ "layer_height": "0.16", "elefant_foot_compensation": "0.15", "bottom_shell_layers": "4", + "top_shell_layers": "5", "top_shell_thickness": "0.6", "bridge_flow": "1", "support_threshold_angle": "25", - "initial_layer_infill_speed": "60", - "inner_wall_speed": "200", - "internal_solid_infill_speed": "200", - "outer_wall_speed": "80", - "sparse_infill_speed": "140", - "top_surface_speed": "80", - "gap_infill_speed": "160", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10" + "initial_layer_infill_speed": "80", + "inner_wall_speed": "145" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker (0.6 nozzle).json index 064c5a4b249..fa83e160f89 100644 --- a/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker (0.6 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.6 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)" + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)" ], "layer_height": "0.18", "initial_layer_print_height": "0.2", diff --git a/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker Artisan (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker Artisan (0.6 nozzle).json new file mode 100644 index 00000000000..0993b706545 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker Artisan (0.6 nozzle).json @@ -0,0 +1,22 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.18 Standard @Snapmaker Artisan (0.6 nozzle)", + "setting_id": "3721468026", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.6 nozzle)" + ], + "layer_height": "0.18", + "wall_loops": "2", + "bridge_flow": "1", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "initial_layer_line_width": "0.62", + "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" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker J1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker J1 (0.6 nozzle).json index 822b4189bed..a514ec68702 100644 --- a/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker J1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.18 Standard @Snapmaker J1 (0.6 nozzle).json @@ -19,15 +19,6 @@ "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", - "outer_wall_speed": "120", - "inner_wall_speed": "150", - "sparse_infill_speed": "100", - "internal_solid_infill_speed": "150", - "top_surface_speed": "150", - "gap_infill_speed": "50", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "support_interface_speed": "35" + "inner_wall_speed": "145", + "internal_solid_infill_speed": "150" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker (0.4 nozzle).json index 075efd986b0..6780e6f04e1 100644 --- a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker (0.4 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.4 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)" + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)" ], "elefant_foot_compensation": "0.15", "initial_layer_infill_speed": "60", diff --git a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker Artisan (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker Artisan (0.4 nozzle).json new file mode 100644 index 00000000000..107a05eccf6 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker Artisan (0.4 nozzle).json @@ -0,0 +1,12 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.20 Standard @Snapmaker Artisan (0.4 nozzle)", + "setting_id": "864558918", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.4 nozzle)" + ], + "elefant_foot_compensation": "0.15" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker J1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker J1 (0.4 nozzle).json index 2e8d4d0f18c..54bd710c1ee 100644 --- a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker J1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker J1 (0.4 nozzle).json @@ -8,14 +8,5 @@ "compatible_printers": [ "Snapmaker J1 (0.4 nozzle)" ], - "elefant_foot_compensation": "0.15", - "outer_wall_speed": "140", - "inner_wall_speed": "240", - "sparse_infill_speed": "300", - "internal_solid_infill_speed": "240", - "top_surface_speed": "140", - "gap_infill_speed": "240", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10" + "elefant_foot_compensation": "0.15" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker (0.4 nozzle).json index 832d265b248..1d57dc14274 100644 --- a/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker (0.4 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.4 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)" + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)" ], "elefant_foot_compensation": "0.15", "wall_loops": "6", diff --git a/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker Artisan (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker Artisan (0.4 nozzle).json new file mode 100644 index 00000000000..de5b6b2cadd --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker Artisan (0.4 nozzle).json @@ -0,0 +1,15 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.20 Strength @Snapmaker Artisan (0.4 nozzle)", + "setting_id": "1825586885", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.4 nozzle)" + ], + "elefant_foot_compensation": "0.15", + "wall_loops": "6", + "bottom_shell_layers": "4", + "sparse_infill_density": "25%" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker J1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker J1 (0.4 nozzle).json index 4b03f36e16b..3bf46734bd4 100644 --- a/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker J1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.20 Strength @Snapmaker J1 (0.4 nozzle).json @@ -10,15 +10,6 @@ ], "elefant_foot_compensation": "0.15", "wall_loops": "6", - "outer_wall_speed": "120", - "top_surface_speed": "120", - "sparse_infill_density": "25%", - "gap_infill_speed": "160", - "initial_layer_infill_speed": "65", - "inner_wall_speed": "200", - "internal_solid_infill_speed": "200", - "sparse_infill_speed": "160", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10" + "bottom_shell_layers": "4", + "sparse_infill_density": "25%" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker (0.4 nozzle).json index 52f1e240657..17089131eb0 100644 --- a/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker (0.4 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.4 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)" + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)" ], "layer_height": "0.24", "elefant_foot_compensation": "0.15", diff --git a/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker Artisan (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker Artisan (0.4 nozzle).json new file mode 100644 index 00000000000..43947ed4273 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker Artisan (0.4 nozzle).json @@ -0,0 +1,18 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.24 Draft @Snapmaker Artisan (0.4 nozzle)", + "setting_id": "2003861482", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.4 nozzle)" + ], + "layer_height": "0.24", + "elefant_foot_compensation": "0.15", + "top_surface_line_width": "0.45", + "top_shell_layers": "3", + "top_shell_thickness": "0.6", + "support_threshold_angle": "35", + "initial_layer_infill_speed": "65" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker J1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker J1 (0.4 nozzle).json index a7609b7a3be..23877e116c1 100644 --- a/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker J1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.24 Draft @Snapmaker J1 (0.4 nozzle).json @@ -14,13 +14,5 @@ "top_shell_layers": "3", "top_shell_thickness": "0.6", "support_threshold_angle": "35", - "initial_layer_infill_speed": "65", - "inner_wall_speed": "190", - "internal_solid_infill_speed": "190", - "sparse_infill_speed": "160", - "top_surface_speed": "160", - "gap_infill_speed": "160", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10" + "initial_layer_infill_speed": "65" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker (0.6 nozzle).json index 75d8c107bad..4c1635b046c 100644 --- a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker (0.6 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.6 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)" + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)" ], "layer_height": "0.24", "wall_loops": "2", diff --git a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker (0.8 nozzle).json index fe005c6d895..f14c178747e 100644 --- a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker (0.8 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.8 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", "Snapmaker A350 QSKit (0.8 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)" ], "layer_height": "0.24", "wall_loops": "2", @@ -26,7 +34,6 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "90", diff --git a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker Artisan (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker Artisan (0.6 nozzle).json new file mode 100644 index 00000000000..b01cefd7e49 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker Artisan (0.6 nozzle).json @@ -0,0 +1,22 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.24 Standard @Snapmaker Artisan (0.6 nozzle)", + "setting_id": "4094373563", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.6 nozzle)" + ], + "layer_height": "0.24", + "wall_loops": "2", + "top_shell_layers": "3", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "initial_layer_line_width": "0.62", + "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" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker Artisan (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker Artisan (0.8 nozzle).json new file mode 100644 index 00000000000..4affcd8001e --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker Artisan (0.8 nozzle).json @@ -0,0 +1,23 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.24 Standard @Snapmaker Artisan (0.8 nozzle)", + "setting_id": "1019868457", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.8 nozzle)" + ], + "layer_height": "0.24", + "initial_layer_print_height": "0.3", + "wall_loops": "2", + "top_shell_layers": "3", + "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" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker J1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker J1 (0.6 nozzle).json index db6de9e9c7b..8fb9f65bc82 100644 --- a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker J1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker J1 (0.6 nozzle).json @@ -18,16 +18,5 @@ "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", - "outer_wall_speed": "120", - "inner_wall_speed": "150", - "sparse_infill_speed": "100", - "internal_solid_infill_speed": "150", - "top_surface_speed": "150", - "gap_infill_speed": "50", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "support_interface_speed": "35" + "top_surface_line_width": "0.62" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker J1 (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker J1 (0.8 nozzle).json index ae3070e3abb..e05c3bd7dfc 100644 --- a/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker J1 (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.24 Standard @Snapmaker J1 (0.8 nozzle).json @@ -19,19 +19,5 @@ "inner_wall_line_width": "0.82", "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", - "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "initial_layer_speed": "35", - "initial_layer_infill_speed": "55", - "outer_wall_speed": "120", - "inner_wall_speed": "150", - "sparse_infill_speed": "100", - "internal_solid_infill_speed": "150", - "top_surface_speed": "150", - "gap_infill_speed": "50", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "25", - "overhang_4_4_speed": "5", - "support_interface_speed": "35" + "top_surface_line_width": "0.82" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.25 Benchy @Snapmaker Artisan (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.25 Benchy @Snapmaker Artisan (0.4 nozzle).json new file mode 100644 index 00000000000..6cb96ddab12 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.25 Benchy @Snapmaker Artisan (0.4 nozzle).json @@ -0,0 +1,60 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.25 Benchy @Snapmaker Artisan (0.4 nozzle)", + "setting_id": "2853588009", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.4 nozzle)" + ], + "elefant_foot_compensation": "0.15", + "top_shell_layers": "3", + "top_shell_thickness": "0.5", + "initial_layer_speed": "100", + "initial_layer_infill_speed": "180", + "outer_wall_speed": "180", + "inner_wall_speed": "200", + "sparse_infill_speed": "200", + "internal_solid_infill_speed": "200", + "top_surface_speed": "180", + "gap_infill_speed": "200", + "ironing_speed": "30", + "enable_overhang_speed": "0", + "overhang_1_4_speed": "180", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "10", + "layer_height": "0.25", + "initial_layer_print_height": "0.25", + "detect_overhang_wall": "0", + "reduce_crossing_wall": "0", + "ensure_vertical_shell_thickness": "none", + "filename_format": "ArtisanBenchy_{print_time}.gcode", + "sparse_infill_density": "10%", + "sparse_infill_pattern": "alignedrectilinear", + "wall_generator": "classic", + "seam_position": "nearest", + "wall_loops": "2", + "minimum_sparse_infill_area": "0", + "infill_combination": "1", + "infill_direction": "90", + "gap_fill_target": "nowhere", + "line_width": "0.4", + "inner_wall_line_width": "0.5", + "internal_solid_infill_line_width": "0.5", + "outer_wall_line_width": "0.5", + "sparse_infill_line_width": "0.5", + "top_surface_line_width": "0.5", + "bottom_shell_layers": "2", + "initial_layer_travel_speed": "100%", + "bridge_acceleration": "3000", + "bridge_speed": "100", + "default_acceleration": "3000", + "inner_wall_acceleration": "3000", + "internal_solid_infill_acceleration": "3000", + "outer_wall_acceleration": "1600", + "small_perimeter_speed": "200", + "sparse_infill_acceleration": "3000", + "top_surface_acceleration": "3000", + "initial_layer_acceleration": "1600" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.25 Benchy @Snapmaker J1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.25 Benchy @Snapmaker J1 (0.4 nozzle).json index 3aed2018f26..da364c6b571 100644 --- a/resources/profiles/Snapmaker/process/0.25 Benchy @Snapmaker J1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.25 Benchy @Snapmaker J1 (0.4 nozzle).json @@ -9,47 +9,52 @@ "Snapmaker J1 (0.4 nozzle)" ], "elefant_foot_compensation": "0.15", + "top_shell_layers": "3", "top_shell_thickness": "0.5", - "initial_layer_infill_speed": "60", + "initial_layer_speed": "120", + "initial_layer_infill_speed": "200", "outer_wall_speed": "180", "inner_wall_speed": "280", "sparse_infill_speed": "200", "internal_solid_infill_speed": "280", "top_surface_speed": "200", "gap_infill_speed": "280", + "ironing_speed": "30", "enable_overhang_speed": "0", "overhang_1_4_speed": "150", "overhang_2_4_speed": "20", - "overhang_3_4_speed": "10", + "layer_height": "0.25", + "initial_layer_print_height": "0.25", "detect_overhang_wall": "0", "reduce_crossing_wall": "0", - "ensure_vertical_shell_thickness": "0", + "ensure_vertical_shell_thickness": "none", "filename_format": "J1Benchy_{print_time}.gcode", "sparse_infill_density": "10%", + "sparse_infill_pattern": "alignedrectilinear", "wall_generator": "classic", "seam_position": "nearest", "wall_loops": "2", - "only_one_wall_top": "1", - "only_one_wall_first_layer": "1", - "resolution": "0.05", "minimum_sparse_infill_area": "0", "infill_combination": "1", - "line_width": "0.5", + "infill_direction": "90", + "gap_fill_target": "nowhere", + "line_width": "0.4", "inner_wall_line_width": "0.5", - "initial_layer_print_height": "0.25", "internal_solid_infill_line_width": "0.5", "outer_wall_line_width": "0.5", "sparse_infill_line_width": "0.5", - "support_line_width": "0.5", "top_surface_line_width": "0.5", + "bottom_shell_layers": "2", + "initial_layer_travel_speed": "100%", "bridge_acceleration": "3000", "bridge_speed": "180", "default_acceleration": "15000", "inner_wall_acceleration": "15000", "internal_solid_infill_acceleration": "20000", - "outer_wall_acceleration": "3000", + "outer_wall_acceleration": "5000", "small_perimeter_speed": "200", "sparse_infill_acceleration": "15000", "top_surface_acceleration": "8000", - "travel_acceleration": "28000" + "travel_acceleration": "28000", + "initial_layer_acceleration": "5000" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker (0.4 nozzle).json index 7a5407da273..1fa3b0654e6 100644 --- a/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker (0.4 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.4 nozzle)", "Snapmaker A250 QSKit (0.4 nozzle)", "Snapmaker A350 QSKit (0.4 nozzle)", + "Snapmaker A250 BKit (0.4 nozzle)", + "Snapmaker A350 BKit (0.4 nozzle)", + "Snapmaker A250 QS+B Kit (0.4 nozzle)", + "Snapmaker A350 QS+B Kit (0.4 nozzle)", "Snapmaker A250 Dual QSKit (0.4 nozzle)", - "Snapmaker A350 Dual QSKit (0.4 nozzle)" + "Snapmaker A350 Dual QSKit (0.4 nozzle)", + "Snapmaker A250 Dual BKit (0.4 nozzle)", + "Snapmaker A350 Dual BKit (0.4 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.4 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.4 nozzle)" ], "layer_height": "0.28", "elefant_foot_compensation": "0.15", @@ -21,6 +29,7 @@ "top_shell_layers": "3", "top_shell_thickness": "0.6", "support_threshold_angle": "40", + "wall_loops": "2", "initial_layer_infill_speed": "65", "outer_wall_speed": "85", "inner_wall_speed": "95", diff --git a/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker Artisan (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker Artisan (0.4 nozzle).json new file mode 100644 index 00000000000..0780fd81b3a --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker Artisan (0.4 nozzle).json @@ -0,0 +1,19 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.28 Extra Draft @Snapmaker Artisan (0.4 nozzle)", + "setting_id": "3141987096", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.4 nozzle)" + ], + "layer_height": "0.28", + "elefant_foot_compensation": "0.15", + "top_surface_line_width": "0.45", + "top_shell_layers": "3", + "top_shell_thickness": "0.6", + "support_threshold_angle": "40", + "wall_loops": "2", + "initial_layer_infill_speed": "65" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker J1 (0.4 nozzle).json b/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker J1 (0.4 nozzle).json index b3831aaea28..b18c01c857c 100644 --- a/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker J1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.28 Extra Draft @Snapmaker J1 (0.4 nozzle).json @@ -14,12 +14,6 @@ "top_shell_layers": "3", "top_shell_thickness": "0.6", "support_threshold_angle": "40", - "initial_layer_infill_speed": "65", - "inner_wall_speed": "180", - "sparse_infill_speed": "160", - "top_surface_speed": "150", - "gap_infill_speed": "160", - "overhang_1_4_speed": "60", - "overhang_2_4_speed": "30", - "overhang_3_4_speed": "10" + "wall_loops": "2", + "initial_layer_infill_speed": "65" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker (0.6 nozzle).json index 49bf34e10ef..74c8bb139dd 100644 --- a/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker (0.6 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.6 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)" + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)" ], "layer_height": "0.3", "top_shell_layers": "3", @@ -26,6 +34,7 @@ "internal_solid_infill_line_width": "0.62", "support_line_width": "0.62", "top_surface_line_width": "0.62", + "wall_loops": "2", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "75", diff --git a/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker Artisan (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker Artisan (0.6 nozzle).json new file mode 100644 index 00000000000..76d5d0013b8 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker Artisan (0.6 nozzle).json @@ -0,0 +1,25 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.30 Standard @Snapmaker Artisan (0.6 nozzle)", + "setting_id": "1517142331", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.6 nozzle)" + ], + "layer_height": "0.3", + "top_shell_layers": "3", + "bridge_speed": "30", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "initial_layer_line_width": "0.62", + "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", + "wall_loops": "2", + "initial_layer_infill_speed": "55", + "initial_layer_speed": "40" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker J1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker J1 (0.6 nozzle).json index 323c6ce9aee..1573baaf496 100644 --- a/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker J1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.30 Standard @Snapmaker J1 (0.6 nozzle).json @@ -19,15 +19,7 @@ "internal_solid_infill_line_width": "0.62", "support_line_width": "0.62", "top_surface_line_width": "0.62", - "initial_layer_speed": "35", + "wall_loops": "2", "initial_layer_infill_speed": "55", - "outer_wall_speed": "120", - "inner_wall_speed": "150", - "sparse_infill_speed": "100", - "internal_solid_infill_speed": "150", - "top_surface_speed": "150", - "gap_infill_speed": "50", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "support_interface_speed": "35" + "initial_layer_speed": "40" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker (0.6 nozzle).json index 72a85a87d3c..471106ef3e0 100644 --- a/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker (0.6 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.6 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)" + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)" ], "layer_height": "0.3", "top_shell_layers": "3", diff --git a/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker Artisan (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker Artisan (0.6 nozzle).json new file mode 100644 index 00000000000..f564a36bc41 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker Artisan (0.6 nozzle).json @@ -0,0 +1,26 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.30 Strength @Snapmaker Artisan (0.6 nozzle)", + "setting_id": "87417016", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.6 nozzle)" + ], + "layer_height": "0.3", + "top_shell_layers": "3", + "bridge_speed": "30", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "initial_layer_line_width": "0.62", + "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", + "wall_loops": "5", + "sparse_infill_density": "25%", + "initial_layer_infill_speed": "55", + "initial_layer_speed": "40" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker J1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker J1 (0.6 nozzle).json index b2fc14f58ec..03e484da04c 100644 --- a/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker J1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.30 Strength @Snapmaker J1 (0.6 nozzle).json @@ -19,17 +19,8 @@ "internal_solid_infill_line_width": "0.62", "support_line_width": "0.62", "top_surface_line_width": "0.62", - "wall_loops": "6", + "wall_loops": "5", "sparse_infill_density": "25%", - "initial_layer_speed": "35", "initial_layer_infill_speed": "55", - "outer_wall_speed": "120", - "inner_wall_speed": "150", - "sparse_infill_speed": "100", - "internal_solid_infill_speed": "150", - "top_surface_speed": "150", - "gap_infill_speed": "50", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "support_interface_speed": "35" + "initial_layer_speed": "40" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker (0.8 nozzle).json index 93bb0015a1d..02058c5dfd0 100644 --- a/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker (0.8 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.8 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", "Snapmaker A350 QSKit (0.8 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)" ], "layer_height": "0.32", "wall_loops": "2", @@ -27,7 +35,6 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "75", diff --git a/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker Artisan (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker Artisan (0.8 nozzle).json new file mode 100644 index 00000000000..51103f39411 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker Artisan (0.8 nozzle).json @@ -0,0 +1,25 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.32 Standard @Snapmaker Artisan (0.8 nozzle)", + "setting_id": "195892532", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.8 nozzle)" + ], + "layer_height": "0.32", + "wall_loops": "2", + "top_shell_layers": "3", + "bridge_speed": "30", + "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_infill_speed": "55", + "initial_layer_speed": "40" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker J1 (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker J1 (0.8 nozzle).json index 07017dbce5b..37769e42d4d 100644 --- a/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker J1 (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.32 Standard @Snapmaker J1 (0.8 nozzle).json @@ -20,18 +20,6 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "initial_layer_speed": "35", "initial_layer_infill_speed": "55", - "outer_wall_speed": "120", - "inner_wall_speed": "150", - "sparse_infill_speed": "100", - "internal_solid_infill_speed": "150", - "top_surface_speed": "150", - "gap_infill_speed": "50", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "25", - "overhang_4_4_speed": "5", - "support_interface_speed": "35" + "initial_layer_speed": "40" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.34 Standard @Snapmaker (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.34 Standard @Snapmaker (0.6 nozzle).json index 4449b024c97..c8da8c45056 100644 --- a/resources/profiles/Snapmaker/process/0.34 Standard @Snapmaker (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.34 Standard @Snapmaker (0.6 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.6 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)" + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)" ], "layer_height": "0.34", "wall_loops": "2", @@ -27,7 +35,6 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", "gap_infill_speed": "50", "initial_layer_infill_speed": "55", "initial_layer_speed": "35", diff --git a/resources/profiles/Snapmaker/process/0.34 Standard @Snapmaker Artisan (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.34 Standard @Snapmaker Artisan (0.6 nozzle).json new file mode 100644 index 00000000000..836464a00ed --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.34 Standard @Snapmaker Artisan (0.6 nozzle).json @@ -0,0 +1,25 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.34 Standard @Snapmaker Artisan (0.6 nozzle)", + "setting_id": "3004749888", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.6 nozzle)" + ], + "layer_height": "0.34", + "wall_loops": "2", + "top_shell_layers": "3", + "bridge_speed": "30", + "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_infill_speed": "55", + "initial_layer_speed": "40" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.34 Standard @Snapmaker J1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.34 Standard @Snapmaker J1 (0.6 nozzle).json index 3eaae555ca5..37b2265fdf0 100644 --- a/resources/profiles/Snapmaker/process/0.34 Standard @Snapmaker J1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.34 Standard @Snapmaker J1 (0.6 nozzle).json @@ -20,16 +20,6 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "gap_infill_speed": "50", "initial_layer_infill_speed": "55", - "initial_layer_speed": "35", - "inner_wall_speed": "150", - "internal_solid_infill_speed": "150", - "outer_wall_speed": "120", - "sparse_infill_speed": "100", - "support_interface_speed": "35", - "top_surface_speed": "150", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50" + "initial_layer_speed": "40" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker (0.8 nozzle).json index 97b84293786..09d8603d8fd 100644 --- a/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker (0.8 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.8 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", "Snapmaker A350 QSKit (0.8 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)" ], "layer_height": "0.36", "wall_loops": "2", @@ -27,7 +35,6 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", "gap_infill_speed": "50", "initial_layer_infill_speed": "55", "initial_layer_speed": "35", diff --git a/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker Artisan (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker Artisan (0.8 nozzle).json new file mode 100644 index 00000000000..cc48b094d90 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker Artisan (0.8 nozzle).json @@ -0,0 +1,25 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.36 Standard @Snapmaker Artisan (0.8 nozzle)", + "setting_id": "3805809743", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.8 nozzle)" + ], + "layer_height": "0.36", + "wall_loops": "2", + "top_shell_layers": "3", + "bridge_speed": "30", + "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_infill_speed": "55", + "initial_layer_speed": "40" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker J1 (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker J1 (0.8 nozzle).json index 7830c7cb834..f76c40b9676 100644 --- a/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker J1 (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.36 Standard @Snapmaker J1 (0.8 nozzle).json @@ -20,18 +20,6 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "gap_infill_speed": "50", "initial_layer_infill_speed": "55", - "initial_layer_speed": "35", - "inner_wall_speed": "150", - "internal_solid_infill_speed": "150", - "outer_wall_speed": "120", - "sparse_infill_speed": "100", - "support_interface_speed": "35", - "top_surface_speed": "150", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "25", - "overhang_4_4_speed": "5" + "initial_layer_speed": "40" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.38 Standard @Snapmaker (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.38 Standard @Snapmaker (0.6 nozzle).json index d2e7d337f3a..803c9d21c97 100644 --- a/resources/profiles/Snapmaker/process/0.38 Standard @Snapmaker (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.38 Standard @Snapmaker (0.6 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.6 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)" + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)" ], "layer_height": "0.38", "wall_loops": "2", @@ -27,7 +35,6 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", "gap_infill_speed": "50", "initial_layer_infill_speed": "55", "initial_layer_speed": "35", diff --git a/resources/profiles/Snapmaker/process/0.38 Standard @Snapmaker Artisan (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.38 Standard @Snapmaker Artisan (0.6 nozzle).json new file mode 100644 index 00000000000..ba2d953ab18 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.38 Standard @Snapmaker Artisan (0.6 nozzle).json @@ -0,0 +1,25 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.38 Standard @Snapmaker Artisan (0.6 nozzle)", + "setting_id": "1408693644", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.6 nozzle)" + ], + "layer_height": "0.38", + "wall_loops": "2", + "top_shell_layers": "3", + "bridge_speed": "30", + "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_infill_speed": "55", + "initial_layer_speed": "40" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.38 Standard @Snapmaker J1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.38 Standard @Snapmaker J1 (0.6 nozzle).json index 5755a88be06..9c7105cdf6a 100644 --- a/resources/profiles/Snapmaker/process/0.38 Standard @Snapmaker J1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.38 Standard @Snapmaker J1 (0.6 nozzle).json @@ -20,16 +20,6 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "gap_infill_speed": "50", "initial_layer_infill_speed": "55", - "initial_layer_speed": "35", - "inner_wall_speed": "150", - "internal_solid_infill_speed": "150", - "outer_wall_speed": "120", - "sparse_infill_speed": "100", - "support_interface_speed": "35", - "top_surface_speed": "150", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50" + "initial_layer_speed": "40" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker (0.8 nozzle).json index ea1670e0c34..2604772bce0 100644 --- a/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker (0.8 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.8 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", "Snapmaker A350 QSKit (0.8 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)" ], "layer_height": "0.4", "top_shell_layers": "3", @@ -26,7 +34,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", + "wall_loops": "2", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "75", diff --git a/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker Artisan (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker Artisan (0.8 nozzle).json new file mode 100644 index 00000000000..37e1bd34586 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker Artisan (0.8 nozzle).json @@ -0,0 +1,25 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.40 Standard @Snapmaker Artisan (0.8 nozzle)", + "setting_id": "2628115465", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.8 nozzle)" + ], + "layer_height": "0.4", + "top_shell_layers": "3", + "bridge_speed": "30", + "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", + "wall_loops": "2", + "initial_layer_infill_speed": "55", + "initial_layer_speed": "40" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker J1 (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker J1 (0.8 nozzle).json index 74c2ab7f8b4..51fd196ebba 100644 --- a/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker J1 (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.40 Standard @Snapmaker J1 (0.8 nozzle).json @@ -19,18 +19,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "initial_layer_speed": "35", + "wall_loops": "2", "initial_layer_infill_speed": "55", - "outer_wall_speed": "120", - "inner_wall_speed": "150", - "sparse_infill_speed": "100", - "internal_solid_infill_speed": "150", - "top_surface_speed": "150", - "gap_infill_speed": "50", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "25", - "overhang_4_4_speed": "5", - "support_interface_speed": "35" + "initial_layer_speed": "40" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.42 Draft @Snapmaker (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.42 Draft @Snapmaker (0.6 nozzle).json index f7da29784ac..9bf1ccc2852 100644 --- a/resources/profiles/Snapmaker/process/0.42 Draft @Snapmaker (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.42 Draft @Snapmaker (0.6 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.6 nozzle)", "Snapmaker A250 QSKit (0.6 nozzle)", "Snapmaker A350 QSKit (0.6 nozzle)", + "Snapmaker A250 BKit (0.6 nozzle)", + "Snapmaker A350 BKit (0.6 nozzle)", + "Snapmaker A250 QS+B Kit (0.6 nozzle)", + "Snapmaker A350 QS+B Kit (0.6 nozzle)", "Snapmaker A250 Dual QSKit (0.6 nozzle)", - "Snapmaker A350 Dual QSKit (0.6 nozzle)" + "Snapmaker A350 Dual QSKit (0.6 nozzle)", + "Snapmaker A250 Dual BKit (0.6 nozzle)", + "Snapmaker A350 Dual BKit (0.6 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.6 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.6 nozzle)" ], "layer_height": "0.42", "wall_loops": "2", diff --git a/resources/profiles/Snapmaker/process/0.42 Draft @Snapmaker Artisan (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.42 Draft @Snapmaker Artisan (0.6 nozzle).json new file mode 100644 index 00000000000..af119895795 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.42 Draft @Snapmaker Artisan (0.6 nozzle).json @@ -0,0 +1,25 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.42 Draft @Snapmaker Artisan (0.6 nozzle)", + "setting_id": "1891109323", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.6 nozzle)" + ], + "layer_height": "0.42", + "wall_loops": "2", + "top_shell_layers": "3", + "bridge_speed": "30", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "initial_layer_line_width": "0.62", + "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_infill_speed": "55", + "initial_layer_speed": "40" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.42 Draft @Snapmaker J1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.42 Draft @Snapmaker J1 (0.6 nozzle).json index 23abeb1ed73..2ca0c16a989 100644 --- a/resources/profiles/Snapmaker/process/0.42 Draft @Snapmaker J1 (0.6 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.42 Draft @Snapmaker J1 (0.6 nozzle).json @@ -20,15 +20,6 @@ "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", - "outer_wall_speed": "120", - "inner_wall_speed": "150", - "sparse_infill_speed": "100", - "internal_solid_infill_speed": "150", - "top_surface_speed": "150", - "gap_infill_speed": "50", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "support_interface_speed": "35" + "initial_layer_speed": "40" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.48 Draft @Snapmaker (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.48 Draft @Snapmaker (0.8 nozzle).json index 733d0bc4926..3b793072018 100644 --- a/resources/profiles/Snapmaker/process/0.48 Draft @Snapmaker (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.48 Draft @Snapmaker (0.8 nozzle).json @@ -12,8 +12,16 @@ "Snapmaker A350 Dual (0.8 nozzle)", "Snapmaker A250 QSKit (0.8 nozzle)", "Snapmaker A350 QSKit (0.8 nozzle)", + "Snapmaker A250 BKit (0.8 nozzle)", + "Snapmaker A350 BKit (0.8 nozzle)", + "Snapmaker A250 QS+B Kit (0.8 nozzle)", + "Snapmaker A350 QS+B Kit (0.8 nozzle)", "Snapmaker A250 Dual QSKit (0.8 nozzle)", - "Snapmaker A350 Dual QSKit (0.8 nozzle)" + "Snapmaker A350 Dual QSKit (0.8 nozzle)", + "Snapmaker A250 Dual BKit (0.8 nozzle)", + "Snapmaker A350 Dual BKit (0.8 nozzle)", + "Snapmaker A250 Dual QS+B Kit (0.8 nozzle)", + "Snapmaker A350 Dual QS+B Kit (0.8 nozzle)" ], "layer_height": "0.48", "initial_layer_print_height": "0.4", @@ -28,7 +36,6 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "75", diff --git a/resources/profiles/Snapmaker/process/0.48 Draft @Snapmaker Artisan (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.48 Draft @Snapmaker Artisan (0.8 nozzle).json new file mode 100644 index 00000000000..477d70a63a0 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.48 Draft @Snapmaker Artisan (0.8 nozzle).json @@ -0,0 +1,26 @@ +{ + "type": "process", + "from": "system", + "instantiation": "true", + "name": "0.48 Draft @Snapmaker Artisan (0.8 nozzle)", + "setting_id": "1018401408", + "inherits": "fdm_process_a400", + "compatible_printers": [ + "Snapmaker Artisan (0.8 nozzle)" + ], + "layer_height": "0.48", + "initial_layer_print_height": "0.4", + "wall_loops": "2", + "top_shell_layers": "3", + "bridge_speed": "30", + "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_infill_speed": "55", + "initial_layer_speed": "40" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/0.48 Draft @Snapmaker J1 (0.8 nozzle).json b/resources/profiles/Snapmaker/process/0.48 Draft @Snapmaker J1 (0.8 nozzle).json index 92824980565..633be804e7a 100644 --- a/resources/profiles/Snapmaker/process/0.48 Draft @Snapmaker J1 (0.8 nozzle).json +++ b/resources/profiles/Snapmaker/process/0.48 Draft @Snapmaker J1 (0.8 nozzle).json @@ -21,18 +21,6 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", - "initial_layer_speed": "35", "initial_layer_infill_speed": "55", - "outer_wall_speed": "120", - "inner_wall_speed": "150", - "sparse_infill_speed": "100", - "internal_solid_infill_speed": "150", - "top_surface_speed": "150", - "gap_infill_speed": "50", - "overhang_1_4_speed": "0", - "overhang_2_4_speed": "50", - "overhang_3_4_speed": "25", - "overhang_4_4_speed": "5", - "support_interface_speed": "35" + "initial_layer_speed": "40" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/fdm_process_a400.json b/resources/profiles/Snapmaker/process/fdm_process_a400.json new file mode 100644 index 00000000000..90c851f1163 --- /dev/null +++ b/resources/profiles/Snapmaker/process/fdm_process_a400.json @@ -0,0 +1,37 @@ +{ + "type": "process", + "from": "system", + "instantiation": "false", + "name": "fdm_process_a400", + "setting_id": "3085664947", + "inherits": "fdm_process_common", + "initial_layer_print_height": "0.2", + "enable_arc_fitting": "1", + "initial_layer_infill_speed": "75", + "outer_wall_speed": "145", + "inner_wall_speed": "160", + "sparse_infill_speed": "160", + "internal_solid_infill_speed": "160", + "gap_infill_speed": "160", + "support_speed": "100", + "overhang_1_4_speed": "0", + "travel_speed": "190", + "default_acceleration": "2000", + "inner_wall_acceleration": "2000", + "sparse_infill_acceleration": "2000", + "internal_solid_infill_acceleration": "2000", + "travel_acceleration": "3000", + "infill_jerk": "8", + "initial_layer_jerk": "8", + "outer_wall_jerk": "4", + "top_surface_jerk": "4", + "travel_jerk": "10", + "support_filament": "1", + "support_interface_filament": "2", + "support_top_z_distance": "0", + "support_bottom_z_distance": "0", + "support_interface_top_layers": "3", + "support_interface_pattern": "rectilinear", + "small_perimeter_threshold": "0", + "support_material_synchronize_layers": "1" +} \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/fdm_process_common.json b/resources/profiles/Snapmaker/process/fdm_process_common.json index af5fba96171..f35f39ffb1d 100644 --- a/resources/profiles/Snapmaker/process/fdm_process_common.json +++ b/resources/profiles/Snapmaker/process/fdm_process_common.json @@ -42,7 +42,7 @@ "bridge_density": "100%", "thick_bridges": "1", "top_solid_infill_flow_ratio": "1", - "bottom_solid_infill_flow_ratio": "1", + "bottom_solid_infill_flow_ratio": "1.2", "only_one_wall_top": "0", "only_one_wall_first_layer": "0", "detect_overhang_wall": "1", @@ -56,14 +56,14 @@ "print_flow_ratio": "1", "wall_loops": "3", "detect_thin_wall": "0", - "top_surface_pattern": "monotonicline", + "top_surface_pattern": "monotonic", "top_shell_layers": "4", "top_shell_thickness": "0.8", "bottom_surface_pattern": "monotonic", "bottom_shell_layers": "3", "bottom_shell_thickness": "0", "sparse_infill_density": "15%", - "sparse_infill_pattern": "grid", + "sparse_infill_pattern": "cubic", "filter_out_gap_fill": "0", "infill_wall_overlap": "15%", "infill_direction": "45", @@ -84,7 +84,7 @@ "gap_infill_speed": "100", "support_speed": "80", "support_interface_speed": "50", - "ironing_speed": "50", + "ironing_speed": "35", "enable_overhang_speed": "1", "overhang_speed_classic": "0", "overhang_1_4_speed": "35", @@ -93,15 +93,15 @@ "overhang_4_4_speed": "10", "bridge_speed": "50", "travel_speed": "120", - "default_acceleration": "2000", + "default_acceleration": "1100", "outer_wall_acceleration": "1000", - "inner_wall_acceleration": "2000", + "inner_wall_acceleration": "1100", "bridge_acceleration": "1000", - "sparse_infill_acceleration": "2000", - "internal_solid_infill_acceleration": "2000", + "sparse_infill_acceleration": "1100", + "internal_solid_infill_acceleration": "1100", "initial_layer_acceleration": "500", "top_surface_acceleration": "1000", - "travel_acceleration": "2000", + "travel_acceleration": "1100", "default_jerk": "0", "infill_jerk": "4", "initial_layer_jerk": "4", @@ -124,7 +124,7 @@ "support_interface_filament": "0", "tree_support_branch_distance": "5", "tree_support_branch_diameter": "5", - "tree_support_branch_angle": "30", + "tree_support_branch_angle": "15", "tree_support_wall_count": "2", "tree_support_adaptive_layer_height": "1", "tree_support_auto_brim": "1", @@ -149,7 +149,7 @@ "skirt_height": "1", "brim_type": "auto_brim", "brim_width": "5", - "brim_object_gap": "0.1", + "brim_object_gap": "0", "enable_prime_tower": "1", "prime_tower_width": "25", "prime_volume": "7.3", @@ -167,13 +167,13 @@ "reduce_infill_retraction": "1", "gcode_comments": "0", "gcode_add_line_number": "0", - "gcode_label_objects": "0", + "gcode_label_objects": "1", "filename_format": "{input_filename_base}_{layer_height}mm_{print_time}.gcode", "post_process": "", "enforce_support_layers": "0", - "exclude_object": "1", + "exclude_object": "0", "standby_temperature_delta": "-45", "timelapse_type": "0", - "single_extruder_multi_material_priming": "0", - "gap_fill_enabled": "0" + "gap_fill_enabled": "0", + "single_extruder_multi_material_priming": "0" } \ No newline at end of file diff --git a/resources/profiles/Snapmaker/process/fdm_process_idex.json b/resources/profiles/Snapmaker/process/fdm_process_idex.json index bfaa964a0c0..7682a1e12db 100644 --- a/resources/profiles/Snapmaker/process/fdm_process_idex.json +++ b/resources/profiles/Snapmaker/process/fdm_process_idex.json @@ -8,27 +8,27 @@ "initial_layer_print_height": "0.2", "enable_arc_fitting": "1", "initial_layer_infill_speed": "75", - "outer_wall_speed": "100", + "outer_wall_speed": "145", "inner_wall_speed": "250", - "sparse_infill_speed": "150", - "internal_solid_infill_speed": "180", - "gap_infill_speed": "150", + "sparse_infill_speed": "250", + "internal_solid_infill_speed": "250", + "gap_infill_speed": "250", "support_speed": "100", - "ironing_speed": "30", - "travel_speed": "350", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "10", + "travel_speed": "300", "default_acceleration": "10000", - "outer_wall_acceleration": "5000", - "inner_wall_acceleration": "10000", + "inner_wall_acceleration": "6000", "bridge_acceleration": "2000", "sparse_infill_acceleration": "10000", "internal_solid_infill_acceleration": "10000", "top_surface_acceleration": "2000", - "travel_acceleration": "12000", - "infill_jerk": "9", - "initial_layer_jerk": "9", - "inner_wall_jerk": "9", - "outer_wall_jerk": "9", - "top_surface_jerk": "9", + "travel_acceleration": "10000", + "infill_jerk": "8", + "initial_layer_jerk": "8", + "outer_wall_jerk": "4", + "top_surface_jerk": "4", "travel_jerk": "10", "support_filament": "1", "support_interface_filament": "2", From d6080c262cecc78ae14c9934c22d746bd60119fd Mon Sep 17 00:00:00 2001 From: Kiss Lorand <50251547+kisslorand@users.noreply.github.com> Date: Sat, 18 May 2024 11:08:54 +0300 Subject: [PATCH 014/178] Fix Rectilinear sparse infill (#5308) Co-authored-by: SoftFever --- src/libslic3r/Fill/Fill.cpp | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/libslic3r/Fill/Fill.cpp b/src/libslic3r/Fill/Fill.cpp index 96f81541516..ea9f9d0cad1 100644 --- a/src/libslic3r/Fill/Fill.cpp +++ b/src/libslic3r/Fill/Fill.cpp @@ -78,7 +78,7 @@ struct SurfaceFillParams #define RETURN_COMPARE_NON_EQUAL_TYPED(TYPE, KEY) if (TYPE(this->KEY) < TYPE(rhs.KEY)) return true; if (TYPE(this->KEY) > TYPE(rhs.KEY)) return false; // Sort first by decreasing bridging angle, so that the bridges are processed with priority when trimming one layer by the other. - if (this->bridge_angle > rhs.bridge_angle) return true; + if (this->bridge_angle > rhs.bridge_angle) return true; if (this->bridge_angle < rhs.bridge_angle) return false; RETURN_COMPARE_NON_EQUAL(extruder); @@ -186,9 +186,9 @@ void split_solid_surface(size_t layer_id, const SurfaceFill &fill, ExPolygons &n Polygons inner_area = intersection(filled_area, opening(filled_area, 2 * scaled_spacing, 3 * scaled_spacing)); inner_area = shrink(inner_area, scaled_spacing * 0.5 - scaled(fill.params.overlap)); - + AABBTreeLines::LinesDistancer area_walls{to_lines(inner_area)}; - + const size_t n_vlines = (bb.max.x() - bb.min.x() + scaled_spacing - 1) / scaled_spacing; std::vector vertical_lines(n_vlines); coord_t y_min = bb.min.y(); @@ -203,7 +203,7 @@ void split_solid_surface(size_t layer_id, const SurfaceFill &fill, ExPolygons &n vertical_lines.back().a = Point{coord_t(bb.min.x() + n_vlines * double(scaled_spacing) + scaled_spacing * 0.5), y_min}; vertical_lines.back().b = Point{vertical_lines.back().a.x(), y_max}; } - + std::vector> polygon_sections(n_vlines); for (size_t i = 0; i < n_vlines; i++) { @@ -228,7 +228,7 @@ void split_solid_surface(size_t layer_id, const SurfaceFill &fill, ExPolygons &n bool neighbours_explored = false; std::vector> neighbours{}; }; - + coord_t length_filter = scale_(4); size_t skips_allowed = 2; size_t min_removal_conut = 5; @@ -301,7 +301,7 @@ void split_solid_surface(size_t layer_id, const SurfaceFill &fill, ExPolygons &n std::sort(polygon_sections[section_idx].begin(), polygon_sections[section_idx].end(), [](const Line &a, const Line &b) { return a.a.y() < b.b.y(); }); } - + Polygons reconstructed_area{}; // reconstruct polygon from polygon sections { @@ -496,10 +496,13 @@ std::vector group_fills(const Layer &layer) } } params.bridge_angle = float(surface.bridge_angle); - params.angle = float(Geometry::deg2rad(params.extrusion_role == erInternalInfill ? - region_config.infill_direction : - region_config.solid_infill_direction.value)); - params.rotate_angle = (params.extrusion_role != erInternalInfill) && region_config.rotate_solid_infill_direction; + if (params.extrusion_role == erInternalInfill) { + params.angle = float(Geometry::deg2rad(region_config.infill_direction.value)); + params.rotate_angle = (params.pattern == ipRectilinear); + } else { + params.angle = float(Geometry::deg2rad(region_config.solid_infill_direction.value)); + params.rotate_angle = region_config.rotate_solid_infill_direction; + } // Calculate the actual flow we'll be using for this infill. params.bridge = is_bridge || Fill::use_bridge_flow(params.pattern); @@ -660,7 +663,7 @@ std::vector group_fills(const Layer &layer) params.rotate_angle = layerm.region().config().rotate_solid_infill_direction; // calculate the actual flow we'll be using for this infill params.flow = layerm.flow(frSolidInfill); - params.spacing = params.flow.spacing(); + params.spacing = params.flow.spacing(); surface_fills.emplace_back(params); surface_fills.back().surface.surface_type = stInternalSolid; surface_fills.back().surface.thickness = layer.height; @@ -728,7 +731,7 @@ void export_group_fills_to_svg(const char *path, const std::vector for (const auto &expoly : fill.expolygons) svg.draw(expoly, surface_type_to_color_name(fill.surface.surface_type), transparency); export_surface_type_legend_to_svg(svg, legend_pos); - svg.Close(); + svg.Close(); } #endif @@ -994,7 +997,7 @@ void Layer::make_ironing() // ironing flowrate (5% percent) // ironing speed (10 mm/sec) - // Kisslicer: + // Kisslicer: // iron off, Sweep, Group // ironing speed: 15 mm/sec @@ -1014,7 +1017,7 @@ void Layer::make_ironing() const PrintRegionConfig &config = layerm->region().config(); if (config.ironing_type != IroningType::NoIroning && (config.ironing_type == IroningType::AllSolid || - (config.top_shell_layers > 0 && + (config.top_shell_layers > 0 && (config.ironing_type == IroningType::TopSurfaces || (config.ironing_type == IroningType::TopmostOnly && layerm->layer()->upper_layer == nullptr))))) { if (config.wall_filament == config.solid_infill_filament || config.wall_loops == 0) { From eeba4fb3f8feb125ad568206f37449bb550f8a8e Mon Sep 17 00:00:00 2001 From: yw4z Date: Sat, 18 May 2024 15:10:46 +0300 Subject: [PATCH 015/178] Add "Add Models" to plate and background context menu (#5319) * Add "Add Model" on plate and background context menu * Fix icon usage if its not windows os * Update item name with an existed translation "Add models" --- src/slic3r/GUI/GUI_Factories.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/slic3r/GUI/GUI_Factories.cpp b/src/slic3r/GUI/GUI_Factories.cpp index 30bbbd85944..20d9ea3a3bd 100644 --- a/src/slic3r/GUI/GUI_Factories.cpp +++ b/src/slic3r/GUI/GUI_Factories.cpp @@ -1241,11 +1241,17 @@ void MenuFactory::create_default_menu() []() {return true; }, m_parent); append_submenu(&m_default_menu, sub_menu_handy, wxID_ANY, _L("Add Handy models"), "", "menu_add_part", []() {return true; }, m_parent); + append_menu_item(&m_default_menu, wxID_ANY, _L("Add Models"), "", // ORCA: Add Models + [](wxCommandEvent&) { plater()->add_file(); }, "menu_add_part", &m_default_menu, + []() {return wxGetApp().plater()->can_add_model(); }, m_parent); #else append_submenu(&m_default_menu, sub_menu_primitives, wxID_ANY, _L("Add Primitive"), "", "", []() {return true; }, m_parent); append_submenu(&m_default_menu, sub_menu_handy, wxID_ANY, _L("Add Handy models"), "", "", []() {return true; }, m_parent); + append_menu_item(&m_default_menu, wxID_ANY, _L("Add Models"), "", // ORCA: Add Models + [](wxCommandEvent&) { plater()->add_file(); }, "", &m_default_menu, + []() {return wxGetApp().plater()->can_add_model(); }, m_parent); #endif m_default_menu.AppendSeparator(); @@ -1547,11 +1553,17 @@ void MenuFactory::create_plate_menu() []() {return true; }, m_parent); append_submenu(menu, sub_menu_handy, wxID_ANY, _L("Add Handy models"), "", "menu_add_part", []() {return true; }, m_parent); + append_menu_item(menu, wxID_ANY, _L("Add Models"), "", // ORCA: Add Models + [](wxCommandEvent&) { plater()->add_file(); }, "menu_add_part", menu, + []() {return wxGetApp().plater()->can_add_model(); }, m_parent); #else append_submenu(menu, sub_menu_primitives, wxID_ANY, _L("Add Primitive"), "", "", []() {return true; }, m_parent); append_submenu(menu, sub_menu_handy, wxID_ANY, _L("Add Handy models"), "", "", []() {return true; }, m_parent); + append_menu_item(menu, wxID_ANY, _L("Add Models"), "", // ORCA: Add Models + [](wxCommandEvent&) { plater()->add_file(); }, "", menu, + []() {return wxGetApp().plater()->can_add_model(); }, m_parent); #endif From 82bd6168c82954317957eb12474ce3da07c1ef1f Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Sat, 18 May 2024 21:18:46 +0800 Subject: [PATCH 016/178] QoL: Add option to not show non-utf8 step warn (#5327) * Add option to not show non-utf8 step warn --- src/slic3r/GUI/Plater.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 39f135c1083..afd1cb7c5b1 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -4049,9 +4049,18 @@ std::vector Plater::priv::load_files(const std::vector& input_ cancel = !cont; }, [](int isUtf8StepFile) { - if (!isUtf8StepFile) - Slic3r::GUI::show_info(nullptr, _L("Name of components inside step file is not UTF8 format!") + "\n\n" + _L("The name may show garbage characters!"), - _L("Attention!")); + if (!isUtf8StepFile) { + const auto no_warn = wxGetApp().app_config->get_bool("step_not_utf8_no_warn"); + if (!no_warn) { + MessageDialog dlg(nullptr, _L("Name of components inside step file is not UTF8 format!") + "\n\n" + _L("The name may show garbage characters!"), + wxString(SLIC3R_APP_FULL_NAME " - ") + _L("Attention!"), wxOK | wxICON_INFORMATION); + dlg.show_dsa_button(_L("Remember my choice.")); + dlg.ShowModal(); + if (dlg.get_checkbox_state()) { + wxGetApp().app_config->set_bool("step_not_utf8_no_warn", true); + } + } + } }, nullptr, 0, obj_color_fun); From caca543b263f2e7071ab87d916d9f9bce0c0e840 Mon Sep 17 00:00:00 2001 From: FlyingbearOfficial <150423627+FlyingbearOfficial@users.noreply.github.com> Date: Sat, 18 May 2024 21:41:01 +0800 Subject: [PATCH 017/178] fix parameters in process (#5331) * Update FlyingBear S1 0.4 nozzle.json * Update 0.16mm Optimal @FlyingBear Reborn3.json * Merge pull request #11 from FlyingbearOfficial/FlyingbearOfficial-patch-15 Update 0.16mm Optimal @FlyingBear Reborn3.json * Update 0.16mm Optimal @FlyingBear S1.json * Update fdm_process_common.json * Update fdm_klipper_common.json * Update fdm_machine_common.json * Update fdm_klipper_common.json * Update fdm_machine_common.json * Merge branch 'SoftFever:main' into main * Merge branch 'SoftFever:main' into main * Merge branch 'SoftFever:main' into main * Merge branch 'SoftFever:main' into main * Update fdm_process_common.json * Merge pull request #12 from FlyingbearOfficial/FlyingbearOfficial-patch-16 Update fdm_process_common.json * Update fdm_process_common_S1.json fix some parameters * Update fdm_process_common.json --- .../FlyingBear/process/S1/fdm_process_common_S1.json | 6 +++--- .../profiles/FlyingBear/process/fdm_process_common.json | 2 +- resources/profiles/InfiMech/process/fdm_process_common.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) 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 3f0d859e0da..fe805a2d6a1 100644 --- a/resources/profiles/FlyingBear/process/S1/fdm_process_common_S1.json +++ b/resources/profiles/FlyingBear/process/S1/fdm_process_common_S1.json @@ -61,7 +61,7 @@ "initial_layer_print_height": "0.2", "initial_layer_speed": "50", "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "10000", + "inner_wall_acceleration": "5000", "inner_wall_jerk": "9", "inner_wall_line_width": "0.45", "interface_shells": "0", @@ -84,7 +84,7 @@ "max_travel_detour_distance": "0", "min_bead_width": "85%", "min_feature_size": "25%", - "min_width_top_surface": "300%", + "min_width_top_surface": "100%", "minimum_sparse_infill_area": "15", "notes": "", "only_one_wall_first_layer": "0", @@ -219,4 +219,4 @@ "xy_contour_compensation": "0", "xy_hole_compensation": "0", "exclude_object": "1" -} \ No newline at end of file +} diff --git a/resources/profiles/FlyingBear/process/fdm_process_common.json b/resources/profiles/FlyingBear/process/fdm_process_common.json index af52cad7bc3..224330b4f63 100644 --- a/resources/profiles/FlyingBear/process/fdm_process_common.json +++ b/resources/profiles/FlyingBear/process/fdm_process_common.json @@ -84,7 +84,7 @@ "max_travel_detour_distance": "0", "min_bead_width": "85%", "min_feature_size": "25%", - "min_width_top_surface": "300%", + "min_width_top_surface": "100%", "minimum_sparse_infill_area": "15", "notes": "", "only_one_wall_first_layer": "0", diff --git a/resources/profiles/InfiMech/process/fdm_process_common.json b/resources/profiles/InfiMech/process/fdm_process_common.json index b8e90dd46a1..7981009e934 100644 --- a/resources/profiles/InfiMech/process/fdm_process_common.json +++ b/resources/profiles/InfiMech/process/fdm_process_common.json @@ -60,7 +60,7 @@ "initial_layer_print_height": "0.2", "initial_layer_speed": "50", "initial_layer_travel_speed": "100%", - "inner_wall_acceleration": "10000", + "inner_wall_acceleration": "5000", "inner_wall_jerk": "9", "inner_wall_line_width": "0.45", "interface_shells": "0", @@ -83,7 +83,7 @@ "max_travel_detour_distance": "0", "min_bead_width": "85%", "min_feature_size": "25%", - "min_width_top_surface": "300%", + "min_width_top_surface": "100%", "minimum_sparse_infill_area": "15", "notes": "", "only_one_wall_first_layer": "0", From 9ba46d17374ace4bcd831a707a0b47b51a75ca0b Mon Sep 17 00:00:00 2001 From: Valent Turkovic Date: Sat, 18 May 2024 15:41:28 +0200 Subject: [PATCH 018/178] =?UTF-8?q?RatRig=20machines=20which=20use=20Klipp?= =?UTF-8?q?er=20don't=20use=20M601=20but=20"PAUSE"=20for=20paus=E2=80=A6?= =?UTF-8?q?=20(#5335)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * RatRig machines which use Klipper don't use M601 but "PAUSE" for pause command RatRig machines which use Klipper don't use M601 but "PAUSE" for pause command --- resources/profiles/Ratrig/machine/fdm_klipper_common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/Ratrig/machine/fdm_klipper_common.json b/resources/profiles/Ratrig/machine/fdm_klipper_common.json index 71f5d189485..82b19d85c59 100644 --- a/resources/profiles/Ratrig/machine/fdm_klipper_common.json +++ b/resources/profiles/Ratrig/machine/fdm_klipper_common.json @@ -45,7 +45,7 @@ "silent_mode": "0", "single_extruder_multi_material": "1", "change_filament_gcode": "M600", - "machine_pause_gcode": "M601", + "machine_pause_gcode": "PAUSE", "wipe": ["1"], "default_filament_profile": ["RatRig Generic ABS"], "default_print_profile": "0.20mm Standard @RatRig", From 0050c4c08f4c60784090a80715b2304a2ac0ad85 Mon Sep 17 00:00:00 2001 From: Dima Buzdyk <46728448+buzzhuzz@users.noreply.github.com> Date: Sat, 18 May 2024 18:48:16 +0500 Subject: [PATCH 019/178] e3v3se profile updates (#5339) * e3v3se: remove jerk settings from processes Remove jerk settings from Ender3 V3 SE processes to prevent emission of M205 into gcode. This is due to E3 V3 SE does not use jerk, but has junction deviation enabled instead. Those two modes are mutually exclusive according to marlin configuration page: https://marlinfw.org/docs/configuration/configuration.html#default-acceleration- https://marlinfw.org/docs/configuration/configuration.html#junction-deviation- Based on M503 output, E3V3SE hase junction deviation enabled: echo:; Advanced: B S T J echo: M205 B20000.00 S0.00 T0.00 J0.10 "M205" emitted into gcode is useless since setting jerk settings via "M205 Xn Yn Zn" does not have any effect on the stock V3 SE firmware. * e3v3se: update machine retraction settings Set retraction speed to 40 mm/s as recommended by Creality Source: https://wiki.creality.com/en/ender-series/ender-3-v3-se/quick-start-guide/user-manual Set retraction acceleration to 500 mm/s2 to prevent extruder clicking on retraction. * e3v3se: update start gcode * Set and wait for bed temperature to stabilize prior to homing. Bed mesh calibration is done with the bed temp set to 60C. Performing G28 with bed at room temperature will not compensate for thermal deformation introduced by heated bed if there are any. * Remove explicit mesh levelling enable (M420). Creality FW auto enables M420 once homing (G28) is complete: "M420 S1 Z10.00" --- .../machine/Creality Ender-3 V3 SE 0.2 nozzle.json | 10 +++++----- .../machine/Creality Ender-3 V3 SE 0.4 nozzle.json | 10 +++++----- .../machine/Creality Ender-3 V3 SE 0.6 nozzle.json | 10 +++++----- .../machine/Creality Ender-3 V3 SE 0.8 nozzle.json | 10 +++++----- .../process/0.12mm Fine @Creality Ender3V3SE 0.2.json | 9 +-------- .../process/0.12mm Fine @Creality Ender3V3SE 0.4.json | 9 +-------- .../process/0.12mm Fine @Creality Ender3V3SE 0.6.json | 9 +-------- .../process/0.12mm Fine @Creality Ender3V3SE 0.8.json | 9 +-------- .../0.16mm Optimal @Creality Ender3V3SE 0.2.json | 9 +-------- .../0.16mm Optimal @Creality Ender3V3SE 0.4.json | 9 +-------- .../0.16mm Optimal @Creality Ender3V3SE 0.6.json | 9 +-------- .../0.16mm Optimal @Creality Ender3V3SE 0.8.json | 9 +-------- .../0.20mm Standard @Creality Ender3V3SE 0.2.json | 9 +-------- .../0.20mm Standard @Creality Ender3V3SE 0.4.json | 9 +-------- .../0.20mm Standard @Creality Ender3V3SE 0.6.json | 9 +-------- .../0.20mm Standard @Creality Ender3V3SE 0.8.json | 9 +-------- .../process/0.24mm Draft @Creality Ender3V3SE 0.2.json | 9 +-------- .../process/0.24mm Draft @Creality Ender3V3SE 0.4.json | 9 +-------- .../process/0.24mm Draft @Creality Ender3V3SE 0.6.json | 9 +-------- .../process/0.24mm Draft @Creality Ender3V3SE 0.8.json | 9 +-------- 20 files changed, 36 insertions(+), 148 deletions(-) diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.2 nozzle.json index c004b1c4cae..5c8c2b73b6e 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.2 nozzle.json @@ -32,8 +32,8 @@ "2500" ], "machine_max_acceleration_retracting": [ - "2500", - "2500" + "500", + "500" ], "machine_max_acceleration_travel": [ "2500", @@ -102,7 +102,7 @@ "1" ], "retraction_speed": [ - "30" + "40" ], "deretraction_speed": [ "30" @@ -114,10 +114,10 @@ "default_filament_profile": [ "Creality Generic PLA @Ender-3V3-all" ], - "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home \nM420 S1; Enable mesh leveling \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \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 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", + "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nM190 S[bed_temperature_initial_layer_single] ;Set and wait for bed temp to stabilize \nG28 ;Home \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positionning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z10 ;Raise Z more \nG90 ;Absolute positionning \n \nG1 X0 Y220 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \n \nM84 X Y E ;Disable all steppers but Z", "scan_first_layer": "0", "disable_m73": "1", "thumbnails": [ ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.4 nozzle.json index 532c2b1bfe4..15ddb3e2402 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.4 nozzle.json @@ -32,8 +32,8 @@ "2500" ], "machine_max_acceleration_retracting": [ - "2500", - "2500" + "500", + "500" ], "machine_max_acceleration_travel": [ "2500", @@ -102,7 +102,7 @@ "1" ], "retraction_speed": [ - "30" + "40" ], "deretraction_speed": [ "30" @@ -114,10 +114,10 @@ "default_filament_profile": [ "Creality Generic PLA @Ender-3V3-all" ], - "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home \nM420 S1; Enable mesh leveling \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \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 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", + "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nM190 S[bed_temperature_initial_layer_single] ;Set and wait for bed temp to stabilize \nG28 ;Home \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positionning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z10 ;Raise Z more \nG90 ;Absolute positionning \n \nG1 X0 Y220 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \n \nM84 X Y E ;Disable all steppers but Z", "scan_first_layer": "0", "disable_m73": "1", "thumbnails": [ ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.6 nozzle.json index f8f186ad436..ccc53b8c906 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.6 nozzle.json @@ -32,8 +32,8 @@ "2500" ], "machine_max_acceleration_retracting": [ - "2500", - "2500" + "500", + "500" ], "machine_max_acceleration_travel": [ "2500", @@ -102,7 +102,7 @@ "1" ], "retraction_speed": [ - "30" + "40" ], "deretraction_speed": [ "30" @@ -114,10 +114,10 @@ "default_filament_profile": [ "Creality Generic PLA @Ender-3V3-all" ], - "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home \nM420 S1; Enable mesh leveling \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \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 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", + "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nM190 S[bed_temperature_initial_layer_single] ;Set and wait for bed temp to stabilize \nG28 ;Home \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positionning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z10 ;Raise Z more \nG90 ;Absolute positionning \n \nG1 X0 Y220 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \n \nM84 X Y E ;Disable all steppers but Z", "scan_first_layer": "0", "disable_m73": "1", "thumbnails": [ ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.8 nozzle.json index 036ea052e39..f5e565f0cd6 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 SE 0.8 nozzle.json @@ -32,8 +32,8 @@ "2500" ], "machine_max_acceleration_retracting": [ - "2500", - "2500" + "500", + "500" ], "machine_max_acceleration_travel": [ "2500", @@ -102,7 +102,7 @@ "1" ], "retraction_speed": [ - "30" + "40" ], "deretraction_speed": [ "30" @@ -114,10 +114,10 @@ "default_filament_profile": [ "Creality Generic PLA @Ender-3V3-all" ], - "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home \nM420 S1; Enable mesh leveling \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \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 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", + "machine_start_gcode": "M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nM190 S[bed_temperature_initial_layer_single] ;Set and wait for bed temp to stabilize \nG28 ;Home \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positionning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z10 ;Raise Z more \nG90 ;Absolute positionning \n \nG1 X0 Y220 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \n \nM84 X Y E ;Disable all steppers but Z", "scan_first_layer": "0", "disable_m73": "1", "thumbnails": [ ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json index 49c2731f112..f4dc4ea3678 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.2 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json index 6193b866f66..229bccb94bb 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.4 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json index 155366410f8..a1e2e3e46c1 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.6 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json index e5ac797e01f..30a8b1627a0 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.8 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json index d2f8ed8eefa..21823a3011c 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.2 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.4.json index 9c5884cf056..369b0a1a4af 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.4.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.4 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json index f6dab37b93d..9075f1e446d 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.6 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json index f0989462d45..cc50cdfef3c 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.8 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json index b289cfe41ab..7d8f89a63f2 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.2 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.4.json index 55bf46c031c..73b1636de4d 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.4.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.4 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json index d55e0c50593..a21af6c10a1 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.6 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json index 84e860b5d9f..e096287f0fc 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.8 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json index ad47ef425fa..20add5298da 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.2 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json index 4883e507ac6..83e2f9d4e8f 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.4 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json index 5a8332d664d..9399833fed5 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.6 nozzle" ] -} \ No newline at end of file +} diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json index 597b70e6f1d..9953e957106 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json @@ -105,14 +105,7 @@ "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", - "default_jerk": "8", - "outer_wall_jerk": "20", - "inner_wall_jerk": "20", - "infill_jerk": "20", - "top_surface_jerk": "20", - "initial_layer_jerk": "8", - "travel_jerk": "8", "compatible_printers": [ "Creality Ender-3 V3 SE 0.8 nozzle" ] -} \ No newline at end of file +} From 1c78380e10b187a185d9ae0f4a4d8a66b1e6fc5b Mon Sep 17 00:00:00 2001 From: Stevetm2 <124851405+Stevetm2@users.noreply.github.com> Date: Sat, 18 May 2024 07:28:47 -0700 Subject: [PATCH 020/178] Creality Sermoon V1 Profies 0.16 and 0.28 - Reduced max speed to 195mm/s (#5385) * Add Sermoon V1 to Creality Generic PLA.json * Add Sermoon V1 to Creality Generic ABS.json * Add Sermoon V1 to Creality Generic PETG.json * Add Sermoon V1 to Creality Generic TPU.json * Add Generic TPU to Creality Sermoon V1.json * Update Creality Sermoon V1 0.4 nozzle.json Update nozzle_type and small 64x64 thumbnail size in Creality Sermoon V1 0.4 nozzle.json * Set initial extruder_clearance values Creality Sermoon V1 0.4 nozzle.json * Merge branch 'SoftFever:main' into main * Update 0.28mm Standard @Creality Sermoon V1.json - slower speeds * Update 0.16mm Optimal @Creality Sermoon V1.json - slower speeds * Merge branch 'SoftFever:main' into main --- .../0.16mm Optimal @Creality Sermoon V1.json | 8 ++++---- .../0.28mm Standard @Creality Sermoon V1.json | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon V1.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon V1.json index 2300af43a23..f99dffdbc31 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon V1.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Sermoon V1.json @@ -32,7 +32,7 @@ "inner_wall_speed": "195", "internal_bridge_support_thickness": "0.8", "internal_solid_infill_line_width": "0.32", - "internal_solid_infill_speed": "235", + "internal_solid_infill_speed": "195", "ironing_flow": "10%", "ironing_spacing": "0.15", "ironing_speed": "45", @@ -69,7 +69,7 @@ "sparse_infill_density": "4%", "sparse_infill_line_width": "0.4", "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": "215", + "sparse_infill_speed": "195", "support_base_pattern": "hollow", "support_base_pattern_spacing": "7", "support_bottom_z_distance": "0.7", @@ -80,7 +80,7 @@ "support_line_width": "0.56", "support_object_xy_distance": "1.2", "support_on_build_plate_only": "1", - "support_speed": "235", + "support_speed": "195", "support_style": "tree_slim", "support_threshold_angle": "40", "support_top_z_distance": "0.28", @@ -91,7 +91,7 @@ "top_surface_acceleration": "5000", "top_surface_jerk": "5", "top_surface_line_width": "0.32", - "top_surface_speed": "235", + "top_surface_speed": "195", "travel_acceleration": "4000", "travel_speed": "195", "tree_support_branch_angle": "50", diff --git a/resources/profiles/Creality/process/0.28mm Standard @Creality Sermoon V1.json b/resources/profiles/Creality/process/0.28mm Standard @Creality Sermoon V1.json index 1371d26cca6..f9e04752394 100644 --- a/resources/profiles/Creality/process/0.28mm Standard @Creality Sermoon V1.json +++ b/resources/profiles/Creality/process/0.28mm Standard @Creality Sermoon V1.json @@ -16,7 +16,7 @@ "enable_support": "1", "exclude_object": "1", "from": "User", - "gap_infill_speed": "235", + "gap_infill_speed": "195", "gcode_comments": "1", "infill_combination": "0", "infill_wall_overlap": "30%", @@ -29,10 +29,10 @@ "initial_layer_travel_speed": "150", "inner_wall_acceleration": "6000", "inner_wall_line_width": "0.61", - "inner_wall_speed": "235", + "inner_wall_speed": "195", "internal_bridge_support_thickness": "0.8", "internal_solid_infill_line_width": "0.32", - "internal_solid_infill_speed": "235", + "internal_solid_infill_speed": "195", "ironing_flow": "10%", "ironing_spacing": "0.15", "ironing_speed": "45", @@ -69,7 +69,7 @@ "sparse_infill_density": "4%", "sparse_infill_line_width": "0.4", "sparse_infill_pattern": "gyroid", - "sparse_infill_speed": "235", + "sparse_infill_speed": "195", "support_base_pattern": "hollow", "support_base_pattern_spacing": "7", "support_bottom_z_distance": "0.7", @@ -80,7 +80,7 @@ "support_line_width": "0.56", "support_object_xy_distance": "1.2", "support_on_build_plate_only": "1", - "support_speed": "235", + "support_speed": "195", "support_style": "tree_slim", "support_threshold_angle": "40", "support_top_z_distance": "0.28", @@ -91,9 +91,9 @@ "top_surface_acceleration": "6000", "top_surface_jerk": "5", "top_surface_line_width": "0.32", - "top_surface_speed": "235", + "top_surface_speed": "195", "travel_acceleration": "6000", - "travel_speed": "235", + "travel_speed": "195", "tree_support_branch_angle": "50", "tree_support_branch_diameter": "2", "tree_support_branch_distance": "10", From 30b9607739b55f6c7ce539ffb2e5b0f1dbc35d75 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 18 May 2024 16:29:37 +0200 Subject: [PATCH 021/178] Disabled arc fitting for Qidi X3/Q1 series (#5368) * Disabled arc fitting for Qidi X3 series --- resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json b/resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json index c5eb0d7061d..0bda5f22235 100644 --- a/resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json +++ b/resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json @@ -21,7 +21,7 @@ "bridge_no_support": "1", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", + "enable_arc_fitting": "0", "outer_wall_line_width": "0.42", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", From f7671af7b9708b5b9713b578cf22ae003dbab061 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 18 May 2024 16:30:16 +0200 Subject: [PATCH 022/178] Disabled Arc fitting for all Creality models that had it enabled (#5367) * Disabled Arc fitting for all Creality models that had it enabled --- .../process/0.12mm Fine @Creality Ender3V3 0.4 nozzle.json | 1 - .../Creality/process/0.12mm Fine @Creality Ender3V3KE.json | 1 - .../Creality/process/0.12mm Fine @Creality K1 (0.4 nozzle).json | 1 - .../Creality/process/0.12mm Fine @Creality K1C 0.4 nozzle.json | 1 - .../process/0.12mm Fine @Creality K1Max (0.4 nozzle).json | 1 - .../process/0.16mm Optimal @Creality Ender3V3 0.4 nozzle.json | 1 - .../Creality/process/0.16mm Optimal @Creality Ender3V3KE.json | 1 - .../process/0.16mm Optimal @Creality K1 (0.4 nozzle).json | 1 - .../process/0.16mm Optimal @Creality K1C 0.4 nozzle.json | 1 - .../process/0.16mm Optimal @Creality K1Max (0.4 nozzle).json | 1 - .../process/0.20mm Standard @Creality Ender3V3 0.4 nozzle.json | 1 - .../Creality/process/0.20mm Standard @Creality Ender3V3KE.json | 1 - .../process/0.20mm Standard @Creality K1 (0.4 nozzle).json | 1 - .../process/0.20mm Standard @Creality K1C 0.4 nozzle.json | 1 - .../process/0.20mm Standard @Creality K1Max (0.4 nozzle).json | 1 - .../process/0.24mm Draft @Creality Ender3V3 0.4 nozzle.json | 1 - .../Creality/process/0.24mm Draft @Creality Ender3V3KE.json | 1 - .../Creality/process/0.24mm Draft @Creality K1 (0.4 nozzle).json | 1 - .../Creality/process/0.24mm Draft @Creality K1C 0.4 nozzle.json | 1 - .../process/0.24mm Draft @Creality K1Max (0.4 nozzle).json | 1 - .../process/0.24mm Optimal @Creality K1 (0.6 nozzle).json | 1 - .../process/0.24mm Optimal @Creality K1C 0.6 nozzle.json | 1 - .../process/0.24mm Optimal @Creality K1Max (0.6 nozzle).json | 1 - .../process/0.30mm Standard @Creality Ender3V3 0.6 nozzle.json | 1 - .../process/0.30mm Standard @Creality K1 (0.6 nozzle).json | 1 - .../process/0.30mm Standard @Creality K1C 0.6 nozzle.json | 1 - .../process/0.30mm Standard @Creality K1Max (0.6 nozzle).json | 1 - .../process/0.32mm Optimal @Creality K1 (0.8 nozzle).json | 1 - .../process/0.32mm Optimal @Creality K1C 0.8 nozzle.json | 1 - .../process/0.32mm Optimal @Creality K1Max (0.8 nozzle).json | 1 - .../process/0.36mm Draft @Creality Ender3V3 0.6 nozzle.json | 1 - .../Creality/process/0.36mm Draft @Creality K1 (0.6 nozzle).json | 1 - .../Creality/process/0.36mm Draft @Creality K1C 0.6 nozzle.json | 1 - .../process/0.36mm Draft @Creality K1Max (0.6 nozzle).json | 1 - .../process/0.40mm Standard @Creality K1 (0.8 nozzle).json | 1 - .../process/0.40mm Standard @Creality K1C 0.8 nozzle.json | 1 - .../process/0.40mm Standard @Creality K1Max (0.8 nozzle).json | 1 - .../Creality/process/0.48mm Draft @Creality K1 (0.8 nozzle).json | 1 - .../Creality/process/0.48mm Draft @Creality K1C 0.8 nozzle.json | 1 - .../process/0.48mm Draft @Creality K1Max (0.8 nozzle).json | 1 - 40 files changed, 40 deletions(-) diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3 0.4 nozzle.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3 0.4 nozzle.json index faf79595baa..34970a3d414 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3 0.4 nozzle.json @@ -25,7 +25,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json index feebc0013b4..cb7661aff6c 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json @@ -24,7 +24,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality K1 (0.4 nozzle).json b/resources/profiles/Creality/process/0.12mm Fine @Creality K1 (0.4 nozzle).json index f292c68bb2a..c503e32cba7 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality K1 (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality K1 (0.4 nozzle).json @@ -25,7 +25,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality K1C 0.4 nozzle.json b/resources/profiles/Creality/process/0.12mm Fine @Creality K1C 0.4 nozzle.json index f36ef1fb772..9199ed6a00a 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality K1C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality K1C 0.4 nozzle.json @@ -25,7 +25,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality K1Max (0.4 nozzle).json b/resources/profiles/Creality/process/0.12mm Fine @Creality K1Max (0.4 nozzle).json index 976197fc3c6..83f8408910e 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality K1Max (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality K1Max (0.4 nozzle).json @@ -22,7 +22,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3 0.4 nozzle.json index 6e943bce523..ae6f465926e 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3 0.4 nozzle.json @@ -25,7 +25,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json index 13b0f53b366..4d815b6e114 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json @@ -24,7 +24,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 (0.4 nozzle).json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 (0.4 nozzle).json index 95bcfd2eee8..b941b2d0e10 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1 (0.4 nozzle).json @@ -25,7 +25,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1C 0.4 nozzle.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1C 0.4 nozzle.json index 404f7721222..f8a08a72ac6 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1C 0.4 nozzle.json @@ -25,7 +25,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1Max (0.4 nozzle).json b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1Max (0.4 nozzle).json index 43be3e0f16c..39fe0f1e4d0 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality K1Max (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality K1Max (0.4 nozzle).json @@ -22,7 +22,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3 0.4 nozzle.json index 8601eea9639..b8a656bcf3f 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3 0.4 nozzle.json @@ -25,7 +25,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json index e492dadef39..50255e5e7ee 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json @@ -24,7 +24,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K1 (0.4 nozzle).json b/resources/profiles/Creality/process/0.20mm Standard @Creality K1 (0.4 nozzle).json index 89e199b06b1..ad97aaed051 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K1 (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K1 (0.4 nozzle).json @@ -25,7 +25,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K1C 0.4 nozzle.json b/resources/profiles/Creality/process/0.20mm Standard @Creality K1C 0.4 nozzle.json index 9497a842ede..3593e9cbe52 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K1C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K1C 0.4 nozzle.json @@ -25,7 +25,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality K1Max (0.4 nozzle).json b/resources/profiles/Creality/process/0.20mm Standard @Creality K1Max (0.4 nozzle).json index 6b4ebe4779d..c42c3f8a681 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality K1Max (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality K1Max (0.4 nozzle).json @@ -22,7 +22,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3 0.4 nozzle.json index d39a5b25736..1c9ce442a21 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3 0.4 nozzle.json @@ -25,7 +25,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json index 2d2bfe25627..69af1d0ff97 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json @@ -24,7 +24,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.1", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "wall_infill_order": "inner wall/outer wall/infill", "line_width": "0.42", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K1 (0.4 nozzle).json b/resources/profiles/Creality/process/0.24mm Draft @Creality K1 (0.4 nozzle).json index b8483578604..973d268b3ae 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K1 (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K1 (0.4 nozzle).json @@ -25,7 +25,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K1C 0.4 nozzle.json b/resources/profiles/Creality/process/0.24mm Draft @Creality K1C 0.4 nozzle.json index 4c862e2725c..1284433e763 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K1C 0.4 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K1C 0.4 nozzle.json @@ -25,7 +25,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality K1Max (0.4 nozzle).json b/resources/profiles/Creality/process/0.24mm Draft @Creality K1Max (0.4 nozzle).json index 7375e35ee66..d79d500a1ae 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality K1Max (0.4 nozzle).json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality K1Max (0.4 nozzle).json @@ -22,7 +22,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.42", "outer_wall_speed": "200", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality K1 (0.6 nozzle).json b/resources/profiles/Creality/process/0.24mm Optimal @Creality K1 (0.6 nozzle).json index 38ec7ecd844..4b059570bc2 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality K1 (0.6 nozzle).json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality K1 (0.6 nozzle).json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.62", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality K1C 0.6 nozzle.json b/resources/profiles/Creality/process/0.24mm Optimal @Creality K1C 0.6 nozzle.json index b0d52c4fa04..6d73c353c8e 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality K1C 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality K1C 0.6 nozzle.json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.62", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.24mm Optimal @Creality K1Max (0.6 nozzle).json b/resources/profiles/Creality/process/0.24mm Optimal @Creality K1Max (0.6 nozzle).json index 71523cc4d7b..2ec4fb22ba2 100644 --- a/resources/profiles/Creality/process/0.24mm Optimal @Creality K1Max (0.6 nozzle).json +++ b/resources/profiles/Creality/process/0.24mm Optimal @Creality K1Max (0.6 nozzle).json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.62", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3 0.6 nozzle.json index 7735633a3cc..de751672f02 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3 0.6 nozzle.json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.62", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality K1 (0.6 nozzle).json b/resources/profiles/Creality/process/0.30mm Standard @Creality K1 (0.6 nozzle).json index c9a69fb9967..55658a15630 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality K1 (0.6 nozzle).json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality K1 (0.6 nozzle).json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.62", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality K1C 0.6 nozzle.json b/resources/profiles/Creality/process/0.30mm Standard @Creality K1C 0.6 nozzle.json index d56645b25c5..288de223711 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality K1C 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality K1C 0.6 nozzle.json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.62", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.30mm Standard @Creality K1Max (0.6 nozzle).json b/resources/profiles/Creality/process/0.30mm Standard @Creality K1Max (0.6 nozzle).json index 3280057fdef..59c5bd81760 100644 --- a/resources/profiles/Creality/process/0.30mm Standard @Creality K1Max (0.6 nozzle).json +++ b/resources/profiles/Creality/process/0.30mm Standard @Creality K1Max (0.6 nozzle).json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.62", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.32mm Optimal @Creality K1 (0.8 nozzle).json b/resources/profiles/Creality/process/0.32mm Optimal @Creality K1 (0.8 nozzle).json index 9ee4f69e996..f31734bf061 100644 --- a/resources/profiles/Creality/process/0.32mm Optimal @Creality K1 (0.8 nozzle).json +++ b/resources/profiles/Creality/process/0.32mm Optimal @Creality K1 (0.8 nozzle).json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.82", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.32mm Optimal @Creality K1C 0.8 nozzle.json b/resources/profiles/Creality/process/0.32mm Optimal @Creality K1C 0.8 nozzle.json index b5645bf4e76..f1b00104c99 100644 --- a/resources/profiles/Creality/process/0.32mm Optimal @Creality K1C 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.32mm Optimal @Creality K1C 0.8 nozzle.json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.82", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.32mm Optimal @Creality K1Max (0.8 nozzle).json b/resources/profiles/Creality/process/0.32mm Optimal @Creality K1Max (0.8 nozzle).json index 0e7533f7d13..905e8f7e8e0 100644 --- a/resources/profiles/Creality/process/0.32mm Optimal @Creality K1Max (0.8 nozzle).json +++ b/resources/profiles/Creality/process/0.32mm Optimal @Creality K1Max (0.8 nozzle).json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.82", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3 0.6 nozzle.json b/resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3 0.6 nozzle.json index b286de423b6..0b55b2ee1a9 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3 0.6 nozzle.json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.62", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality K1 (0.6 nozzle).json b/resources/profiles/Creality/process/0.36mm Draft @Creality K1 (0.6 nozzle).json index fadb5b0f595..a76f2ef0b5a 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality K1 (0.6 nozzle).json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality K1 (0.6 nozzle).json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.62", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality K1C 0.6 nozzle.json b/resources/profiles/Creality/process/0.36mm Draft @Creality K1C 0.6 nozzle.json index 3111169c9e4..9a0daf35d36 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality K1C 0.6 nozzle.json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality K1C 0.6 nozzle.json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.62", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.36mm Draft @Creality K1Max (0.6 nozzle).json b/resources/profiles/Creality/process/0.36mm Draft @Creality K1Max (0.6 nozzle).json index 0d9a8d151a4..196ef0e5525 100644 --- a/resources/profiles/Creality/process/0.36mm Draft @Creality K1Max (0.6 nozzle).json +++ b/resources/profiles/Creality/process/0.36mm Draft @Creality K1Max (0.6 nozzle).json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.62", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality K1 (0.8 nozzle).json b/resources/profiles/Creality/process/0.40mm Standard @Creality K1 (0.8 nozzle).json index 96e481e7be2..df6b99bbcfb 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality K1 (0.8 nozzle).json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality K1 (0.8 nozzle).json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.82", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality K1C 0.8 nozzle.json b/resources/profiles/Creality/process/0.40mm Standard @Creality K1C 0.8 nozzle.json index d84aea05e1d..c9cd9e1feb1 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality K1C 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality K1C 0.8 nozzle.json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.82", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.40mm Standard @Creality K1Max (0.8 nozzle).json b/resources/profiles/Creality/process/0.40mm Standard @Creality K1Max (0.8 nozzle).json index 6eaf18e02a7..c5605122a31 100644 --- a/resources/profiles/Creality/process/0.40mm Standard @Creality K1Max (0.8 nozzle).json +++ b/resources/profiles/Creality/process/0.40mm Standard @Creality K1Max (0.8 nozzle).json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.82", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.48mm Draft @Creality K1 (0.8 nozzle).json b/resources/profiles/Creality/process/0.48mm Draft @Creality K1 (0.8 nozzle).json index 28f226f4c34..be0f8bd7776 100644 --- a/resources/profiles/Creality/process/0.48mm Draft @Creality K1 (0.8 nozzle).json +++ b/resources/profiles/Creality/process/0.48mm Draft @Creality K1 (0.8 nozzle).json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.82", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.48mm Draft @Creality K1C 0.8 nozzle.json b/resources/profiles/Creality/process/0.48mm Draft @Creality K1C 0.8 nozzle.json index 95839ac90e0..e60df99e7d5 100644 --- a/resources/profiles/Creality/process/0.48mm Draft @Creality K1C 0.8 nozzle.json +++ b/resources/profiles/Creality/process/0.48mm Draft @Creality K1C 0.8 nozzle.json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.82", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", diff --git a/resources/profiles/Creality/process/0.48mm Draft @Creality K1Max (0.8 nozzle).json b/resources/profiles/Creality/process/0.48mm Draft @Creality K1Max (0.8 nozzle).json index 58fc8ffcce4..244c5c8adf3 100644 --- a/resources/profiles/Creality/process/0.48mm Draft @Creality K1Max (0.8 nozzle).json +++ b/resources/profiles/Creality/process/0.48mm Draft @Creality K1Max (0.8 nozzle).json @@ -21,7 +21,6 @@ "bridge_no_support": "0", "draft_shield": "disabled", "elefant_foot_compensation": "0.15", - "enable_arc_fitting": "1", "outer_wall_line_width": "0.82", "outer_wall_speed": "120", "outer_wall_acceleration": "5000", From af8a29e7a3382bba50f208094b3d67f9af3e9ebb Mon Sep 17 00:00:00 2001 From: Dima Buzdyk <46728448+buzzhuzz@users.noreply.github.com> Date: Sat, 18 May 2024 19:31:25 +0500 Subject: [PATCH 023/178] gui: improve RichMessageDialog (#5371) * gui: improve RichMessageDialog Current implementation of RichMessageDialog creates and pushes extra checkbox widget into button button sizer which already filled in with wxEXPAND items. That pushes position of newly added checkbox to the left-most position which makes it invisibe for some users. Optimize implementation of RichMessageDialog using m_checkbox_dsa of MessageDialog instead of creating a new one. As a result, position of the checkbox is right below the main text section. --- src/slic3r/GUI/MsgDialog.cpp | 23 ++++++++++++----------- src/slic3r/GUI/MsgDialog.hpp | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/slic3r/GUI/MsgDialog.cpp b/src/slic3r/GUI/MsgDialog.cpp index 4dd700fd467..fa0a13f9a50 100644 --- a/src/slic3r/GUI/MsgDialog.cpp +++ b/src/slic3r/GUI/MsgDialog.cpp @@ -383,26 +383,27 @@ RichMessageDialog::RichMessageDialog(wxWindow* parent, : MsgDialog(parent, caption.IsEmpty() ? wxString::Format(_L("%s info"), SLIC3R_APP_FULL_NAME) : caption, wxEmptyString, style) { add_msg_content(this, content_sizer, message); - - m_checkBox = new wxCheckBox(this, wxID_ANY, m_checkBoxText); - wxGetApp().UpdateDarkUI(m_checkBox); - m_checkBox->Bind(wxEVT_CHECKBOX, [this](wxCommandEvent&) { m_checkBoxValue = m_checkBox->GetValue(); }); - - btn_sizer->Insert(0, m_checkBox, wxALIGN_CENTER_VERTICAL); - finalize(); } int RichMessageDialog::ShowModal() { - if (m_checkBoxText.IsEmpty()) - m_checkBox->Hide(); - else - m_checkBox->SetLabelText(m_checkBoxText); + if (!m_checkBoxText.IsEmpty()) { + show_dsa_button(m_checkBoxText); + m_checkbox_dsa->SetValue(m_checkBoxValue); + } Layout(); return wxDialog::ShowModal(); } + +bool RichMessageDialog::IsCheckBoxChecked() const +{ + if (m_checkbox_dsa) + return m_checkbox_dsa->GetValue(); + + return m_checkBoxValue; +} #endif // InfoDialog diff --git a/src/slic3r/GUI/MsgDialog.hpp b/src/slic3r/GUI/MsgDialog.hpp index a7acc42de2f..e62251af7d5 100644 --- a/src/slic3r/GUI/MsgDialog.hpp +++ b/src/slic3r/GUI/MsgDialog.hpp @@ -193,7 +193,7 @@ public: } wxString GetCheckBoxText() const { return m_checkBoxText; } - bool IsCheckBoxChecked() const { return m_checkBoxValue; } + bool IsCheckBoxChecked() const; // This part o fcode isported from the "wx\msgdlg.h" using wxMD = wxMessageDialogBase; From f6906222d528c0c42f1b3b2e0bca158b3b2b8816 Mon Sep 17 00:00:00 2001 From: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com> Date: Sat, 18 May 2024 15:38:42 +0100 Subject: [PATCH 024/178] Updated arc fitting pop up to clarify that this option should not be enabled for Klipper machines (#5352) * Updated arc fitting pop up * Merge branch 'main' into Arc-fitting-updated-pop-up-for-Klipper-machines --- src/libslic3r/PrintConfig.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 03aac8f29c6..29eeba5ae60 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -2453,7 +2453,11 @@ def = this->add("filament_loading_speed", coFloats); def = this->add("enable_arc_fitting", coBool); def->label = L("Arc fitting"); def->tooltip = L("Enable this to get a G-code file which has G2 and G3 moves. " - "And the fitting tolerance is same with resolution"); + "The fitting tolerance is same as the resolution. \n\n" + "Note: For klipper machines, this option is recomended 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."); def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(0)); // BBS From 5ecb14751f7eadb8bf98ac518d043cacb3023f04 Mon Sep 17 00:00:00 2001 From: KrisMorr <154343071+KrisMorr@users.noreply.github.com> Date: Sat, 18 May 2024 16:45:13 +0200 Subject: [PATCH 025/178] Polish translation update (#5378) * Polish-translation-upd + fix * Polish-translation-upd * Polish translation updated + list.txt for new multi-device strings * Polish translation updated + list.txt for new multi-device strings * update list.txt + src/slic3r/GUI/SendMultiMachinePage.cpp --- localization/i18n/list.txt | 5 + localization/i18n/pl/OrcaSlicer_pl.po | 7711 +++++++------------------ src/slic3r/GUI/HMS.cpp | 1 - 3 files changed, 2041 insertions(+), 5676 deletions(-) diff --git a/localization/i18n/list.txt b/localization/i18n/list.txt index 68eb1c4cf3d..acd5ed40c85 100644 --- a/localization/i18n/list.txt +++ b/localization/i18n/list.txt @@ -53,6 +53,11 @@ src/slic3r/GUI/BBLTopbar.cpp src/slic3r/GUI/DownloadProgressDialog.cpp src/slic3r/GUI/RecenterDialog.cpp src/slic3r/GUI/BackgroundSlicingProcess.cpp +src/slic3r/GUI/MultiMachinePage.cpp +src/slic3r/GUI/MultiMachineManagerPage.cpp +src/slic3r/GUI/MultiMachine.cpp +src/slic3r/GUI/MultiTaskManagerPage.cpp +src/slic3r/GUI/SendMultiMachinePage.cpp src/slic3r/GUI/BedShapeDialog.cpp src/slic3r/GUI/BedShapeDialog.hpp src/slic3r/GUI/ConfigManipulation.cpp diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po index 1b9d28651c7..bbd2bdff2ad 100644 --- a/localization/i18n/pl/OrcaSlicer_pl.po +++ b/localization/i18n/pl/OrcaSlicer_pl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer 2.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-16 21:56+0200\n" "PO-Revision-Date: \n" "Last-Translator: Krzysztof Morga \n" "Language-Team: \n" @@ -10,9 +10,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 " -"|| n%100>14) ? 1 : 2);\n" -"X-Generator: Poedit 3.4.2\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" +"X-Generator: Poedit 3.4.4\n" msgid "Supports Painting" msgstr "Malowanie podpór" @@ -63,7 +62,7 @@ msgid "Perform" msgstr "Wykonaj" msgid "Gap area" -msgstr "Obszar przerwy" +msgstr "Obszar szczeliny" msgid "Tool type" msgstr "Typ narzędzia" @@ -87,7 +86,7 @@ msgid "Fill" msgstr "Wypełnienie" msgid "Gap Fill" -msgstr "Wypełnianie przerw" +msgstr "Wypełnienie szczelin" #, boost-format msgid "Allows painting only on facets selected by: \"%1%\"" @@ -109,12 +108,8 @@ msgid "Lay on face" msgstr "Połóż na powierzchni" #, 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 "" -"Liczba filamentów przekracza maksymalną ilość obsługiwaną przez narzędzie " -"malowania. Tylko pierwsze %1% filamenty będą dostępne w tym narzędziu." +msgid "Filament count exceeds the maximum number that painting tool supports. only the first %1% filaments will be available in painting tool." +msgstr "Liczba filamentów przekracza maksymalną ilość obsługiwaną przez narzędzie malowania. Tylko pierwsze %1% filamenty będą dostępne w tym narzędziu." msgid "Color Painting" msgstr "Malowanie kolorem" @@ -206,7 +201,7 @@ msgid "Gizmo-Scale" msgstr "Uchwyt-Skaluj" msgid "Error: Please close all toolbar menus first" -msgstr "Błąd: Proszę najpierw zamknąć wszystkie menu paska narzędziowego." +msgstr "Błąd: Proszę najpierw zamknąć wszystkie paski narzędziowe" msgid "in" msgstr "cal" @@ -309,13 +304,13 @@ msgid "Keep orientation" msgstr "Zachowaj orientację" msgid "Place on cut" -msgstr "Umieść na przecięciu" +msgstr "Pozostaw w miejscu cięcia" msgid "Flip upside down" msgstr "Obróć do góry nogami" msgid "Connectors" -msgstr "Złączki" +msgstr "Łączniki" msgid "Type" msgstr "Typ" @@ -362,10 +357,9 @@ msgid "" "Drag to move the cut plane\n" "Right-click a part to assign it to the other side" msgstr "" -"Kliknij, aby obrócić płaszczyznę cięcia.\n" -"Przeciągnij, aby przesunąć płaszczyznę cięcia.\n" -"Kliknij prawym przyciskiem myszy na części modelu, aby przypisać ją do " -"drugiej strony" +"Kliknij, aby obrócić płaszczyznę przekroju.\n" +"Przeciągnij, aby przesunąć płaszczyznę przekroju.\n" +"Kliknij prawym przyciskiem myszy na część modelu, aby przypisać ją do drugiej strony" msgid "Move cut plane" msgstr "Przesuń przekrój" @@ -395,19 +389,19 @@ msgid "Right click" msgstr "Prawy przycisk myszy" msgid "Remove connector" -msgstr "Usuń złączkę" +msgstr "Usuń łącznik" msgid "Move connector" -msgstr "Przesuń złączkę" +msgstr "Przesuń łącznik" msgid "Add connector to selection" -msgstr "Dodaj łącznik do zaznaczeni" +msgstr "Dodaj łącznik do zaznaczenia" msgid "Remove connector from selection" -msgstr "Usuń złączkę ze zaznaczenia" +msgstr "Usuń łącznik z zaznaczenia" msgid "Select all connectors" -msgstr "Zaznacz wszystkie złączki" +msgstr "Zaznacz wszystkie łączniki" msgid "Cut" msgstr "Przeciąć" @@ -416,7 +410,7 @@ msgid "Rotate cut plane" msgstr "Obróć przekrój" msgid "Remove connectors" -msgstr "Usuń złączki" +msgstr "Usuń łączniki" msgid "Bulge" msgstr "Wypukłość" @@ -431,7 +425,7 @@ msgid "Space proportion related to radius" msgstr "Proporcja przestrzeni do promienia" msgid "Confirm connectors" -msgstr "Potwierdź złączki" +msgstr "Potwierdź łączniki" msgid "Cancel" msgstr "Anuluj" @@ -495,24 +489,24 @@ msgid "Warning" msgstr "Ostrzeżenie" msgid "Invalid connectors detected" -msgstr "Wykryto nieprawidłowe złączki" +msgstr "Wykryto nieprawidłowe łączniki" #, c-format, 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 złączka jest poza konturem cięcia" -msgstr[1] "%1$d złączki są poza konturem cięcia" +msgstr[0] "%1$d łącznik jest poza konturem cięcia" +msgstr[1] "%1$d łączniki są poza konturem cięcia" msgstr[2] "%1$d złączek jest poza konturem cięcia" #, c-format, boost-format msgid "%1$d connector is out of object" msgid_plural "%1$d connectors are out of object" -msgstr[0] "%1$d złączka jest poza obiektem" -msgstr[1] "%1$d złączki są poza obiektem" -msgstr[2] "%1$d złączek jest poza obiektem" +msgstr[0] "%1$d łącznik jest poza obiektem" +msgstr[1] "%1$d łączniki są poza obiektem" +msgstr[2] "%1$d łączników jest poza obiektem" msgid "Some connectors are overlapped" -msgstr "Niektóre złączki się nakładają" +msgstr "Niektóre łączniki nakładają się" msgid "Select at least one object to keep after cutting." msgstr "Wybierz co najmniej jeden obiekt do zachowania po przecięciu." @@ -524,15 +518,13 @@ msgid "Cut plane with groove is invalid" msgstr "Płaszczyzna cięcia z rowkiem jest nieprawidłowa" msgid "Connector" -msgstr "Złączka" +msgstr "Łącznik" msgid "Cut by Plane" msgstr "Cięcie płaszczyzną" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" -msgstr "" -"niezamknięte krawędzie mogą być spowodowane narzędziem do przecinania, czy " -"chcesz to teraz naprawić?" +msgstr "niezamknięte krawędzie mogą być spowodowane narzędziem do przecinania, czy chcesz to teraz naprawić?" msgid "Repairing model object" msgstr "Naprawianie obiektu modelu" @@ -541,7 +533,7 @@ msgid "Cut by line" msgstr "Cięcie linią" msgid "Delete connector" -msgstr "Usuń złączkę" +msgstr "Usuń łącznik" msgid "Mesh name" msgstr "Nazwa siatki" @@ -553,12 +545,8 @@ msgid "Decimate ratio" msgstr "Współczynnik dziesiątkowania" #, boost-format -msgid "" -"Processing model '%1%' with more than 1M triangles could be slow. It is " -"highly recommended to simplify the model." -msgstr "" -"Przetwarzanie modelu '%1%' z więcej niż 1 mln trójkątów może być wolne. " -"Zaleca się zastosowanie uproszczenia modelu." +msgid "Processing model '%1%' with more than 1M triangles could be slow. It is highly recommended to simplify the model." +msgstr "Przetwarzanie modelu '%1%' z więcej niż 1 mln trójkątów może być wolne. Zaleca się zastosowanie uproszczenia modelu." msgid "Simplify model" msgstr "Uprość model" @@ -567,8 +555,7 @@ msgid "Simplify" msgstr "Uprość" msgid "Simplification is currently only allowed when a single part is selected" -msgstr "" -"Obecnie upraszczanie jest dozwolone tylko przy wybranej pojedynczej części" +msgstr "Obecnie upraszczanie jest dozwolone tylko przy wybranej pojedynczej części" msgid "Error" msgstr "Błąd" @@ -727,19 +714,14 @@ msgstr "Domyślna czcionka" msgid "Advanced" msgstr "Zaawansowane" -msgid "" -"The text cannot be written using the selected font. Please try choosing a " -"different font." -msgstr "" -"Nie można napisać tekstu przy użyciu wybranej czcionki. Spróbuj wybrać inną " -"czcionkę." +msgid "The text cannot be written using the selected font. Please try choosing a different font." +msgstr "Nie można napisać tekstu przy użyciu wybranej czcionki. Spróbuj wybrać inną czcionkę." msgid "Embossed text cannot contain only white spaces." msgstr "Pole do wprowadzania tekstu nie może być puste." msgid "Text contains character glyph (represented by '?') unknown by font." -msgstr "" -"Tekst zawiera znak znaków (reprezentowany przez '?') nieznany dla czcionki." +msgstr "Tekst zawiera znak znaków (reprezentowany przez '?') nieznany dla czcionki." msgid "Text input doesn't show font skew." msgstr "Wprowadzanie tekstu nie pokazuje nachylenia czcionki." @@ -751,12 +733,10 @@ msgid "Text input doesn't show gap between lines." msgstr "Wprowadzanie tekstu nie pokazuje odstępu między wierszami." msgid "Too tall, diminished font height inside text input." -msgstr "" -"Zmniejsz rozmiar czcionki, tekst jest za duży wewnątrz pola tekstowego." +msgstr "Zmniejsz rozmiar czcionki, tekst jest za duży wewnątrz pola tekstowego." msgid "Too small, enlarged font height inside text input." -msgstr "" -"Powiększ rozmiar czcionki, tekst jest za mały wewnątrz pola tekstowego." +msgstr "Powiększ rozmiar czcionki, tekst jest za mały wewnątrz pola tekstowego." msgid "Text doesn't show current horizontal alignment." msgstr "Tekst nie pokazuje aktualnego wyrównania poziomego." @@ -995,12 +975,10 @@ msgid "Rotate text Clock-wise." msgstr "Obróć tekst zgodnie z ruchem wskazówek zegara." msgid "Unlock the text's rotation when moving text along the object's surface." -msgstr "" -"Odblokuj obrót tekstu podczas przemieszczania go po powierzchni obiektu." +msgstr "Odblokuj obrót tekstu podczas przemieszczania go po powierzchni obiektu." msgid "Lock the text's rotation when moving text along the object's surface." -msgstr "" -"Zablokuj obrót tekstu podczas przemieszczania go po powierzchni obiektu." +msgstr "Zablokuj obrót tekstu podczas przemieszczania go po powierzchni obiektu." msgid "Select from True Type Collection." msgstr "Wybierz z kolekcji True Type." @@ -1012,13 +990,8 @@ msgid "Orient the text towards the camera." msgstr "Orientuj tekst w moim kierunku." #, boost-format -msgid "" -"Can't load exactly same font(\"%1%\"). Aplication selected a similar " -"one(\"%2%\"). You have to specify font for enable edit text." -msgstr "" -"Nie można załadować dokładnie tej samej czcionki (\"%1%\"). Aplikacja " -"wybrała podobną (\"%2%\"). Musisz określić czcionkę, aby umożliwić edycję " -"tekstu." +msgid "Can't load exactly same font(\"%1%\"). Aplication selected a similar one(\"%2%\"). You have to specify font for enable edit text." +msgstr "Nie można załadować dokładnie tej samej czcionki (\"%1%\"). Aplikacja wybrała podobną (\"%2%\"). Musisz określić czcionkę, aby umożliwić edycję tekstu." msgid "No symbol" msgstr "Brak symbolu" @@ -1133,12 +1106,8 @@ msgstr "Nie zdefiniowano rodzaju obrysu" msgid "Path can't be healed from selfintersection and multiple points." msgstr "Ścieżki nie można uleczyć z samoprzecięć i wielu punktów." -msgid "" -"Final shape constains selfintersection or multiple points with same " -"coordinate." -msgstr "" -"Ostateczny kształt zawiera samoprzecięcia lub wielokrotne punkty o tej samej " -"współrzędnej." +msgid "Final shape constains selfintersection or multiple points with same coordinate." +msgstr "Ostateczny kształt zawiera samoprzecięcia lub wielokrotne punkty o tej samej współrzędnej." #, boost-format msgid "Shape is marked as invisible (%1%)." @@ -1377,46 +1346,33 @@ msgid "Filament" msgstr "Filament" msgid "Machine" -msgstr "Drukarkę" +msgstr "Drukarka" msgid "Configuration package was loaded, but some values were not recognized." -msgstr "" -"Załadowano pakiet konfiguracyjny, ale niektóre wartości nie zostały " -"rozpoznane." +msgstr "Załadowano pakiet konfiguracyjny, ale niektóre wartości nie zostały rozpoznane." #, boost-format -msgid "" -"Configuration file \"%1%\" was loaded, but some values were not recognized." -msgstr "" -"Załadowano plik konfiguracyjny \"%1%\", ale niektóre wartości nie zostały " -"rozpoznane." +msgid "Configuration file \"%1%\" was loaded, but some values were not recognized." +msgstr "Plik konfiguracyjny \"%1%\" został załadowany, ale niektóre wartości nie zostały rozpoznane." msgid "V" msgstr "V" -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 zakończy działanie z powodu braku pamięci. To może być błąd. " -"Będziemy wdzięczni za zgłoszenie problemu naszemu zespołowi." +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 zakończy działanie z powodu braku pamięci. To może być błąd. Będziemy wdzięczni za zgłoszenie problemu naszemu zespołowi." msgid "Fatal error" msgstr "Błąd krytyczny" -msgid "" -"OrcaSlicer will terminate because of a localization error. It will be " -"appreciated if you report the specific scenario this issue happened." -msgstr "" -"OrcaSlicer zakończy działanie z powodu błędu lokalizacji. Będziemy wdzięczni " -"za zgłoszenie konkretnej sytuacji, w której wystąpił ten problem." +msgid "OrcaSlicer will terminate because of a localization error. It will be appreciated if you report the specific scenario this issue happened." +msgstr "OrcaSlicer zakończy działanie z powodu błędu lokalizacji. Będziemy wdzięczni za zgłoszenie konkretnej sytuacji, w której wystąpił ten problem." msgid "Critical error" msgstr "Błąd krytyczny" #, boost-format msgid "OrcaSlicer got an unhandled exception: %1%" -msgstr "OrcaSlicer napotkał niewłaściwy wyjątek: %1%" +msgstr "OrcaSlicer napotkał nieobsługiwany wyjątek: %1%" msgid "Untitled" msgstr "Bez tytułu" @@ -1435,12 +1391,10 @@ msgid "Connect %s failed! [SN:%s, code=%s]" msgstr "Połączenie z %s nie powiodło się! [SN:%s, kod=%s]" msgid "" -"Orca Slicer requires the Microsoft WebView2 Runtime to operate certain " -"features.\n" +"Orca Slicer requires the Microsoft WebView2 Runtime to operate certain features.\n" "Click Yes to install it now." msgstr "" -"Orca Slicer wymaga Microsoft WebView2 Runtime do działania niektórych " -"funkcji.\n" +"Orca Slicer wymaga Microsoft WebView2 Runtime do działania niektórych funkcji.\n" "Kliknij Tak, aby zainstalować go teraz." msgid "WebView2 Runtime" @@ -1476,14 +1430,11 @@ msgstr "Informacja" 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." +"Please note, application settings will be lost, but printer profiles will not be affected." msgstr "" -"Plik konfiguracyjny OrcaSlicer może być uszkodzony i nie może być " -"sparsowany.\n" +"Plik konfiguracyjny OrcaSlicer może być uszkodzony i nie może być sparsowany.\n" "OrcaSlicer próbował odtworzyć plik konfiguracyjny.\n" -"Należy pamiętać, że ustawienia aplikacji zostaną utracone, ale profile " -"drukarek nie będą dotknięte." +"Należy pamiętać, że ustawienia aplikacji zostaną utracone, ale profile drukarek nie będą dotknięte." msgid "Rebuild" msgstr "Przebudowywuje" @@ -1498,8 +1449,7 @@ msgid "Choose one file (3mf):" msgstr "Wybierz jeden plik (3mf):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" -msgstr "" -"Wybierz jeden lub więcej plików (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" +msgstr "Wybierz jeden lub więcej plików (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Wybierz jeden lub więcej plików (3mf/step/stl/svg/obj/amf):" @@ -1510,39 +1460,26 @@ msgstr "Wybierz jeden plik (gcode/3mf):" msgid "Some presets are modified." msgstr "Niektóre ustawienia zostały zmodyfikowane." -msgid "" -"You can keep the modifield presets to the new project, discard or save " -"changes as new presets." -msgstr "" -"Możesz zachować zmodyfikowane ustawienia w nowym projekcie, odrzucić je lub " -"zapisać jako nowe ustawienia." +msgid "You can keep the modifield presets to the new project, discard or save changes as new presets." +msgstr "Możesz zachować zmodyfikowane ustawienia w nowym projekcie, odrzucić je lub zapisać jako nowe ustawienia." msgid "User logged out" msgstr "Użytkownik wylogowany" msgid "new or open project file is not allowed during the slicing process!" -msgstr "" -"nowy lub otwarty plik projektu nie jest dozwolony podczas procesu cięcia!" +msgstr "nowy lub otwarty plik projektu nie jest dozwolony podczas procesu cięcia!" msgid "Open Project" msgstr "Otwórz projekt" -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 "" -"Wersja Orca Slicer jest zbyt niska i musi zostać zaktualizowana do " -"najnowszej wersji, aby działać normalnie" +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 "Wersja Bambu Studio jest przestarzała i musi zostać zaktualizowana do najnowszej wersji, aby działać normalnie" msgid "Privacy Policy Update" msgstr "Aktualizacja polityki prywatności" -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 "" -"Liczba zapisanych w chmurze ustawień użytkownika przekroczyła maksymalny " -"limit, każdy nowo utworzony profil użytkownika można używać tylko lokalnie." +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 "Liczba zapisanych w chmurze ustawień użytkownika przekroczyła maksymalny limit, każdy nowo utworzony profil użytkownika można używać tylko lokalnie." msgid "Sync user presets" msgstr "Synchronizuj ustawienia użytkownika" @@ -1624,7 +1561,7 @@ msgid "Top Minimum Shell Thickness" msgstr "Minimalna grubość górnej powłoki" msgid "Bottom Solid Layers" -msgstr "Dolne warstwy" +msgstr "Pełne warstwy dolne" msgid "Bottom Minimum Shell Thickness" msgstr "Minimalna grubość dolnej powłoki" @@ -1732,16 +1669,11 @@ msgid "Orca String Hell" msgstr "Orca String Hell" 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" +"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 "" -"Ten model posiada wytłoczenia tekstu na górnej powierzchni. Dla optymalnych " -"wyników zaleca się ustawienie 'Próg jednej ściany (min_width_top_surface)' " -"na 0, aby opcja 'Tylko jedna ściana na górnych powierzchniach' działała " -"najlepiej.\n" +"Ten model posiada wytłoczenia tekstu na górnej powierzchni. Dla optymalnych wyników zaleca się ustawienie 'Próg jednej ściany (min_width_top_surface)' na 0, aby opcja 'Tylko jedna ściana na górnych powierzchniach' działała najlepiej.\n" "Tak - Zmień te ustawienia automatycznie\n" "Nie - Nie zmieniaj tych ustawień" @@ -1810,10 +1742,10 @@ msgid "current" msgstr "bieżący" msgid "Scale to build volume" -msgstr "Skaluj do obszaru budowy" +msgstr "Skaluj do obszaru roboczego" msgid "Scale an object to fit the build volume" -msgstr "Skaluj obiekt, aby pasował do obszaru budowy" +msgstr "Skaluj obiekt, aby pasował do obszaru roboczego" msgid "Flush Options" msgstr "Opcje płukania" @@ -1846,7 +1778,7 @@ msgid "Assemble" msgstr "Złożenie" msgid "Assemble the selected objects to an object with multiple parts" -msgstr "Złożenie wybranych obiektów w obiekt z wieloma częściami" +msgstr "Zmontuj wybrane obiekty w obiekt wieloczęściowy" msgid "Assemble the selected objects to an object with single part" msgstr "Zmontuj wybrane obiekty w jedną część" @@ -1954,7 +1886,7 @@ msgid "Reload All" msgstr "Przeładuj wszystko" msgid "reload all from disk" -msgstr "Przeładuj z dysku" +msgstr "Przeładuj wszystko z dysku" msgid "Auto Rotate" msgstr "Automatyczna rotacja" @@ -2038,9 +1970,7 @@ msgid "Click the icon to reset all settings of the object" msgstr "Kliknij ikonę, aby zresetować wszystkie ustawienia obiektu" msgid "Right button click the icon to drop the object printable property" -msgstr "" -"Kliknij prawym przyciskiem myszy ikonę, aby włączyć/wyłączyć możliwość druku " -"obiektu" +msgstr "Kliknij prawym przyciskiem myszy ikonę, aby włączyć/wyłączyć możliwość druku obiektu" msgid "Click the icon to toggle printable property of the object" msgstr "Kliknij ikonę, aby włączyć/wyłączyć możliwość druku obiektu" @@ -2070,61 +2000,48 @@ msgid "Add Modifier" msgstr "Dodaj modyfikator" msgid "Switch to per-object setting mode to edit modifier settings." -msgstr "" -"Przełącz się w tryb edycji ustawień druku dla każdego obiektu, aby edytować " -"ustawienia modyfikatora." +msgstr "Przełącz się w tryb edycji ustawień druku dla każdego obiektu, aby edytować ustawienia modyfikatora." -msgid "" -"Switch to per-object setting mode to edit process settings of selected " -"objects." -msgstr "" -"Przełącz się w tryb edycji ustawień druku dla każdego obiektu, aby edytować " -"ustawienia procesu dla wybranych obiektów." +msgid "Switch to per-object setting mode to edit process settings of selected objects." +msgstr "Przełącz się w tryb edycji ustawień druku dla każdego obiektu, aby edytować ustawienia procesu dla wybranych obiektów." msgid "Delete connector from object which is a part of cut" -msgstr "Usuń łącznik z obiektu będącego częścią rozcięcia" +msgstr "Usuń łącznik z obiektu będącego częścią przecięcia" msgid "Delete solid part from object which is a part of cut" -msgstr "Usuń stałą część z obiektu będącego częścią rozcięcia" +msgstr "Usuń bryłę z obiektu, który jest częścią przecięcia" msgid "Delete negative volume from object which is a part of cut" -msgstr "Usuń ujemną objętość z obiektu będącego częścią rozcięcia" +msgstr "Usuń odejmowanie objętości z obiektu będącego częścią przecięcia." -msgid "" -"To save cut correspondence you can delete all connectors from all related " -"objects." -msgstr "" -"Aby zachować korespondencję cięcia, możesz usunąć wszystkie łączniki ze " -"wszystkich powiązanych obiektów." +msgid "To save cut correspondence you can delete all connectors from all related objects." +msgstr "Aby zachować korespondencję cięcia, możesz usunąć wszystkie łączniki ze wszystkich powiązanych obiektów." 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 infornation first." +"To manipulate with solid parts or negative volumes you have to invalidate cut infornation first." msgstr "" "To działanie przerwie korespondencję cięcia.\n" "Po tym nie można zagwarantować spójności modelu.\n" "\n" -"Aby manipulować bryłami lub modyfikatorami z odejmowaniem objętości musisz " -"najpierw unieważnić informację o przecinaniu." +"Aby manipulować bryłami lub modyfikatorami z odejmowaniem objętości musisz najpierw unieważnić informację o przecinaniu." msgid "Delete all connectors" msgstr "Usuń wszystkie łączniki" msgid "Deleting the last solid part is not allowed." -msgstr "Nie wolno usuwać ostatniej pełnej części." +msgstr "Usunięcie ostatniej części bryły jest niedozwolone." msgid "The target object contains only one part and can not be splited." -msgstr "" -"Obiekt docelowy zawiera tylko jedną część i nie może zostać podzielony." +msgstr "Obiekt docelowy zawiera tylko jedną część i nie może zostać podzielony." msgid "Assembly" msgstr "Zestawienie" msgid "Cut Connectors information" -msgstr "Informacje o łącznikach cięcia" +msgstr "Usuń informacje o łącznikach" msgid "Object manipulation" msgstr "Manipulacja obiektami" @@ -2157,20 +2074,13 @@ msgid "Layer" msgstr "Warstwa" msgid "Selection conflicts" -msgstr "Konflikty zaznaczeń" +msgstr "Konflikty wyboru" -msgid "" -"If first selected item is an object, the second one should also be object." -msgstr "" -"Jeśli pierwszy zaznaczony element to obiekt, to drugi powinien również być " -"obiektem." +msgid "If first selected item is an object, the second one should also be object." +msgstr "Jeśli pierwszy zaznaczony element to obiekt, to drugi powinien również być obiektem." -msgid "" -"If first selected item is a part, the second one should be part in the same " -"object." -msgstr "" -"Jeśli pierwszy zaznaczony element to część, to drugi powinien być częścią " -"tego samego obiektu." +msgid "If first selected item is a part, the second one should be part in the same object." +msgstr "Jeśli pierwszy zaznaczony element to część, to drugi powinien być częścią tego samego obiektu." msgid "The type of the last solid object part is not to be changed." msgstr "Nie można zmienić typu ostatniej pełnej części obiektu." @@ -2188,7 +2098,7 @@ msgid "Type:" msgstr "Typ:" msgid "Choose part type" -msgstr "Wybierz typ części" +msgstr "Wybierz rodzaj części" msgid "Enter new name" msgstr "Wprowadź nową nazwę" @@ -2230,9 +2140,7 @@ msgid "Invalid numeric." msgstr "Nieprawidłowa wartość numeryczna." msgid "one cell can only be copied to one or multiple cells in the same column" -msgstr "" -"jedna komórka może być skopiowana do jednej lub wielu komórek w tej samej " -"kolumnie" +msgstr "jedna komórka może być skopiowana do jednej lub wielu komórek w tej samej kolumnie" msgid "multiple cells copy is not supported" msgstr "kopiowanie wielu komórek nie jest obsługiwane" @@ -2349,7 +2257,7 @@ msgid "Add Custom Template" msgstr "Dodaj niestandardowy szablon" msgid "Insert template custom G-code at the beginning of this layer." -msgstr "Wstaw niestandardowy szablon kodu G na początku tej warstwy." +msgstr "Wstaw niestandardowy szablon G-code na początku tej warstwy." msgid "Filament " msgstr "Materiał " @@ -2391,8 +2299,7 @@ msgid "Failed to connect to cloud service" msgstr "Nie udało się połączyć z usługą w chmurze" msgid "Please click on the hyperlink above to view the cloud service status" -msgstr "" -"Proszę kliknąć na powyższy hiperłącze, aby zobaczyć status usługi w chmurze" +msgstr "Proszę kliknąć na powyższy hiperłącze, aby zobaczyć status usługi w chmurze" msgid "Failed to connect to the printer" msgstr "Nie udało się połączyć z drukarką" @@ -2431,10 +2338,10 @@ msgid "Unload" msgstr "Wyładuj" msgid "Ext Spool" -msgstr "Ext Spool" +msgstr "zew.Szpula" msgid "Tips" -msgstr "Porady" +msgstr "Wskazówki" msgid "Guide" msgstr "Instr." @@ -2446,8 +2353,7 @@ msgid "Calibrating AMS..." msgstr "Kalibracja AMS..." msgid "A problem occurred during calibration. Click to view the solution." -msgstr "" -"Wystąpił problem podczas kalibracji. Kliknij, aby zobaczyć rozwiązanie." +msgstr "Wystąpił problem podczas kalibracji. Kliknij, aby zobaczyć rozwiązanie." msgid "Calibrate again" msgstr "Kalibruj ponownie" @@ -2465,7 +2371,7 @@ msgid "Cut filament" msgstr "Odcinanie filamentu" msgid "Pull back current filament" -msgstr "Wycofaj obecny filament" +msgstr "Wycofuje obecny filament" msgid "Push new filament into extruder" msgstr "" @@ -2489,12 +2395,8 @@ msgstr "" "Załaduj nowy\n" "filament" -msgid "" -"Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " -"load or unload filaments." -msgstr "" -"Wybierz Slot AMS, a następnie naciśnij przycisk \"Ładuj\" lub \"Wyładuj\" ," -"aby automatycznie załadować lub wyładować filamenty." +msgid "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically load or unload filaments." +msgstr "Wybierz gniazdo AMS, a następnie naciśnij przycisk \"Ładuj\" lub \"Wyładuj\" ,aby automatycznie załadować lub wyładować filamenty." msgid "Edit" msgstr "Edytuj" @@ -2525,29 +2427,21 @@ msgstr "Układanie" msgid "Arranging canceled." msgstr "Układanie anulowane." -msgid "" -"Arranging is done but there are unpacked items. Reduce spacing and try again." -msgstr "" -"Rozmieszczanie zostało zakończone, ale istnieją nierozpakowane przedmioty. " -"Zmniejsz odstępy i spróbuj ponownie." +msgid "Arranging is done but there are unpacked items. Reduce spacing and try again." +msgstr "Ustawianie zostało zakończone, ale niektóre elementy nie mogły zostać ustawione. Zmniejsz odstępy i spróbuj ponownie." msgid "Arranging done." msgstr "Układanie zakończone." -msgid "" -"Arrange failed. Found some exceptions when processing object geometries." -msgstr "" -"Ułożenie nie powiodło się. Wykryto niektóre wyjątki podczas przetwarzania " -"geometrii obiektów." +msgid "Arrange failed. Found some exceptions when processing object geometries." +msgstr "Ułożenie nie powiodło się. Wykryto niektóre wyjątki podczas przetwarzania geometrii obiektów." #, c-format, boost-format msgid "" -"Arrangement ignored the following objects which can't fit into a single " -"bed:\n" +"Arrangement ignored the following objects which can't fit into a single bed:\n" "%s" msgstr "" -"Układanie zignorowało następujące obiekty, które nie zmieszczą się na jednym " -"stoisku:\n" +"Ustawienie zignorowało następujące obiekty, które nie mieszczą się na pojedynczej płycie:\n" "%s" msgid "" @@ -2607,9 +2501,7 @@ msgid "Task canceled." msgstr "Zadanie anulowane." msgid "Upload task timed out. Please check the network status and try again." -msgstr "" -"Przekroczono limit czasu zadania przesyłania. Sprawdź stan sieci i spróbuj " -"ponownie." +msgstr "Przekroczono limit czasu przesyłania. Sprawdź stan sieci i spróbuj ponownie." msgid "Cloud service connection failed. Please try again." msgstr "Nie udało się połączyć z usługą w chmurze. Spróbuj ponownie." @@ -2617,42 +2509,26 @@ msgstr "Nie udało się połączyć z usługą w chmurze. Spróbuj ponownie." msgid "Print file not found. please slice again." msgstr "Plik druku nie znaleziony. Proszę powtórzyć cięcie." -msgid "" -"The print file exceeds the maximum allowable size (1GB). Please simplify the " -"model and slice again." -msgstr "" -"Plik druku przekracza maksymalny dopuszczalny rozmiar (1GB). Proszę uprościć " -"model i ponownie dokonać podziału na warstwy." +msgid "The print file exceeds the maximum allowable size (1GB). Please simplify the model and slice again." +msgstr "Plik druku przekracza maksymalny dopuszczalny rozmiar (1GB). Proszę uprościć model i pociąć go ponownie." msgid "Failed to send the print job. Please try again." -msgstr "" -"Wysłanie zadania drukowania nie powiodło się. Proszę spróbować ponownie." +msgstr "Wysłanie zadania drukowania nie powiodło się. Proszę spróbować ponownie." msgid "Failed to upload file to ftp. Please try again." -msgstr "" -"Przesłanie pliku na serwer FTP nie powiodło się. Proszę spróbować ponownie." +msgstr "Przesłanie pliku na serwer FTP nie powiodło się. Proszę spróbować ponownie." -msgid "" -"Check the current status of the bambu server by clicking on the link above." +msgid "Check the current status of the bambu server by clicking on the link above." msgstr "Sprawdź aktualny stan serwera Bambu, klikając na powyższy link." -msgid "" -"The size of the print file is too large. Please adjust the file size and try " -"again." -msgstr "" -"Rozmiar pliku drukowania jest zbyt duży. Proszę dostosować rozmiar pliku i " -"spróbować ponownie." +msgid "The size of the print file is too large. Please adjust the file size and try again." +msgstr "Rozmiar pliku drukowania jest zbyt duży. Proszę dostosować rozmiar pliku i spróbować ponownie." msgid "Print file not found, Please slice it again and send it for printing." -msgstr "" -"Nie znaleziono pliku drukowania; proszę ponownie pociąć i wysłać do druku." +msgstr "Nie znaleziono pliku drukowania; proszę ponownie pociąć i wysłać do druku." -msgid "" -"Failed to upload print file to FTP. Please check the network status and try " -"again." -msgstr "" -"Przesłanie pliku drukowania na serwer FTP nie powiodło się. Sprawdź stan " -"sieci i spróbuj ponownie." +msgid "Failed to upload print file to FTP. Please check the network status and try again." +msgstr "Przesłanie pliku drukowania na serwer FTP nie powiodło się. Sprawdź stan sieci i spróbuj ponownie." msgid "Sending print job over LAN" msgstr "Wysyłanie zadania drukowania przez LAN" @@ -2699,12 +2575,8 @@ msgstr "Przed wysłaniem do drukarki należy włożyć kartę SD." msgid "Importing SLA archive" msgstr "Importowanie archiwum SLA" -msgid "" -"The SLA archive doesn't contain any presets. Please activate some SLA " -"printer preset first before importing that SLA archive." -msgstr "" -"Archiwum SLA nie zawiera żadnych ustawień. Przed zaimportowaniem tego " -"archiwum SLA należy najpierw aktywować profil drukarki SLA." +msgid "The SLA archive doesn't contain any presets. Please activate some SLA printer preset first before importing that SLA archive." +msgstr "Archiwum SLA nie zawiera żadnych ustawień. Przed zaimportowaniem tego archiwum SLA należy najpierw aktywować profil drukarki SLA." msgid "Importing canceled." msgstr "Importowanie anulowane." @@ -2712,12 +2584,8 @@ msgstr "Importowanie anulowane." msgid "Importing done." msgstr "Importowanie zakończone." -msgid "" -"The imported SLA archive did not contain any presets. The current SLA " -"presets were used as fallback." -msgstr "" -"Zaimportowane archiwum SLA nie zawierało żadnych ustawień wstępnych. " -"Aktualne ustawienia SLA zostały użyte jako alternatywa." +msgid "The imported SLA archive did not contain any presets. The current SLA presets were used as fallback." +msgstr "Zaimportowane archiwum SLA nie zawierało żadnych ustawień wstępnych. Aktualne ustawienia SLA zostały użyte jako alternatywa." msgid "You cannot load SLA project with a multi-part object on the bed" msgstr "Nie możesz wczytać projektu SLA mając na stole wieloczęściowy model" @@ -2761,24 +2629,14 @@ msgstr "Orca Slicer jest licencjonowany na zasadach " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, wersja 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" -msgstr "" -"Orca Slicer opiera się na BambuStudio od Bambulab, które wywodzi się z " -"PrusaSlicer od Prusa Research. PrusaSlicer z kolei bazuje na Slic3r od " -"Alessandro Ranellucci i społeczności RepRap" +msgid "Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and the RepRap community" +msgstr "Orca Slicer opiera się na BambuStudio od Bambulab, które wywodzi się z PrusaSlicer od Prusa Research. PrusaSlicer z kolei bazuje na Slic3r od Alessandro Ranellucci i społeczności RepRap" msgid "Libraries" msgstr "Biblioteki" -msgid "" -"This software uses open source components whose copyright and other " -"proprietary rights belong to their respective owners" -msgstr "" -"To oprogramowanie używa komponentów o otwartym kodzie źródłowym, których " -"prawa autorskie i inne prawa własności należą do ich właścicieli" +msgid "This software uses open source components whose copyright and other proprietary rights belong to their respective owners" +msgstr "To oprogramowanie używa komponentów o otwartym kodzie źródłowym, których prawa autorskie i inne prawa własności należą do ich właścicieli" #, c-format, boost-format msgid "About %s" @@ -2788,8 +2646,7 @@ msgid "Orca Slicer " msgstr "Orca Slicer " msgid "OrcaSlicer is based on BambuStudio, PrusaSlicer, and SuperSlicer." -msgstr "" -"OrcaSlicer opiera się na projektach BambuStudio, PrusaSlicer i SuperSlicer." +msgstr "OrcaSlicer opiera się na projektach BambuStudio, PrusaSlicer i SuperSlicer." msgid "BambuStudio is originally based on PrusaSlicer by PrusaResearch." msgstr "BambuStudio bazuje na PrusaSlicer od PrusaResearch." @@ -2797,12 +2654,9 @@ msgstr "BambuStudio bazuje na PrusaSlicer od PrusaResearch." msgid "PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci." msgstr "PrusaSlicer początkowo opiera się na Slic3r od Alessandro Ranellucci." -msgid "" -"Slic3r was created by Alessandro Ranellucci with the help of many other " -"contributors." +msgid "Slic3r was created by Alessandro Ranellucci with the help of many other contributors." msgstr "" -"Slic3r został stworzony przez Alessandro Ranellucci przy współpracy wielu " -"innych współtwórców.\n" +"Slic3r został stworzony przez Alessandro Ranellucci przy współpracy wielu innych współtwórców.\n" "\n" "Tłumaczenie na język polski: KrisMorr " @@ -2845,7 +2699,7 @@ msgid "Setting AMS slot information while printing is not supported" msgstr "Ustawianie informacji o slocie AMS podczas druku nie jest obsługiwane" msgid "Factors of Flow Dynamics Calibration" -msgstr "Współczynnik kalib. Dynamiki Przepływu" +msgstr "współczynnik kalibracji dynamiki przepływu" msgid "PA Profile" msgstr "Profil PA" @@ -2857,8 +2711,7 @@ msgid "Factor N" msgstr "Współczynnik N" msgid "Setting Virtual slot information while printing is not supported" -msgstr "" -"Ustawianie informacji o wirtualnym slocie podczas druku nie jest obsługiwane" +msgstr "Ustawianie informacji o wirtualnym slocie podczas druku nie jest obsługiwane" msgid "Are you sure you want to clear the filament information?" msgstr "Czy na pewno chcesz usunąć informacje o filamentach?" @@ -2870,9 +2723,7 @@ msgid "Please input a valid value (K in 0~0.3)" msgstr "Proszę podać prawidłową wartość (K w zakresie od 0 do 0.3)" msgid "Please input a valid value (K in 0~0.3, N in 0.6~2.0)" -msgstr "" -"Proszę podać prawidłową wartość (K w zakresie od 0 do 0.3, N w zakresie od " -"0.6 do 2.0)" +msgstr "Proszę podać prawidłową wartość (K w zakresie od 0 do 0.3, N w zakresie od 0.6 do 2.0)" msgid "Other Color" msgstr "Inny kolor" @@ -2881,16 +2732,10 @@ msgid "Custom Color" msgstr "Własny kolor" msgid "Dynamic flow calibration" -msgstr "Kalibracja dynamicznego przepływu" +msgstr "Kalibracja dynamiki przepływu" -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 "" -"Temperatura dyszy i maksymalna prędkość przepływu mogą wpływać na wyniki " -"kalibracji. Proszę podać takie same wartości jak w rzeczywistym druku. Mogą " -"być automatycznie wypełnione poprzez wybranie ustawień filamentu." +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 "Temperatura dyszy i maksymalna prędkość przepływu mogą wpływać na wyniki kalibracji. Proszę podać takie same wartości jak w rzeczywistym druku. Mogą być automatycznie wypełnione poprzez wybranie ustawień filamentu." msgid "Nozzle Diameter" msgstr "Średnica dyszy" @@ -2905,7 +2750,7 @@ msgid "Bed Temperature" msgstr "Temperatura stołu" msgid "Max volumetric speed" -msgstr "Maksymalny przepływ" +msgstr "Maksymalna prędkość przepływu" msgid "℃" msgstr "℃" @@ -2922,14 +2767,8 @@ msgstr "Rozpocznij kalibrację" msgid "Next" msgstr "Dalej" -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 "" -"Kalibracja zakończona. Proszę znaleźć na płycie, linie ekstruzji o " -"najbardziej jednolitym wyglądzie, podobne do przedstawionego poniżej obrazu, " -"i wprowadź tę wartość w pole wprowadzania współczynnika K" +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 "Kalibracja zakończona. Proszę znaleźć na płycie roboczej, linie ekstruzji o najbardziej jednolitym wyglądzie, podobne do przedstawionego poniżej obrazu, i wprowadź tę wartość w pole wprowadzania współczynnika K." msgid "Save" msgstr "Zapisz" @@ -2952,7 +2791,7 @@ msgid "%s does not support %s" msgstr "%s nie obsługuje %s" msgid "Dynamic flow Calibration" -msgstr "Kalibracja dynamicznego przepływu" +msgstr "Kalibracja Dynamiki Przepływu" msgid "Step" msgstr "Krok" @@ -2960,17 +2799,14 @@ msgstr "Krok" msgid "AMS Slots" msgstr "Sloty AMS" -msgid "" -"Note: Only the AMS slots loaded with the same material type can be selected." -msgstr "" -"Uwaga: można wybierać tylko sloty AMS załadowane tym samym rodzajem " -"filamentu." +msgid "Note: Only the AMS slots loaded with the same material type can be selected." +msgstr "Uwaga: można wybierać tylko sloty AMS załadowane tym samym rodzajem filamentu." msgid "Enable AMS" msgstr "Włącz AMS" msgid "Print with filaments in the AMS" -msgstr "Drukowanie za pomocą AMS" +msgstr "Drukowanie filamentem z AMS" msgid "Disable AMS" msgstr "Wyłącz AMS" @@ -2979,25 +2815,13 @@ msgid "Print with the filament mounted on the back of chassis" msgstr "Drukuj z filamentem zamontowanym na tylnej części obudowy" msgid "Current Cabin humidity" -msgstr "Aktualna wilgotność w kabinie" +msgstr "Aktualna wilgotność w komorze" -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, low " -"temperatures also slow down the process." -msgstr "" -"Pamiętaj o wymianie pakietu pochłaniacza wilgoci gdy stanie się on zbyt " -"mokry. Wskaźnik może nie dokładnie odzwierciedlać stan wilgotności gdy: " -"otwarta jest pokrywa lub pakiet pochłaniacza został nie dawno wymieniony. " -"Proces absorpcji wilgoci może zająć kilka godzin, a niskie temperatury " -"również spowolnią ten proces." +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, low temperatures also slow down the process." +msgstr "Pamiętaj o wymianie pakietu pochłaniacza wilgoci gdy stanie się on zbyt mokry. Wskaźnik może nie dokładnie odzwierciedlać stan wilgotności gdy: otwarta jest pokrywa lub pakiet pochłaniacza został nie dawno wymieniony. Proces absorpcji wilgoci może zająć kilka godzin, a niskie temperatury również spowolnią ten proces." -msgid "" -"Config which AMS slot should be used for a filament used in the print job" -msgstr "" -"Skonfiguruj, który slot AMS powinien być używany dla filamentu używanego w " -"zadaniu druku" +msgid "Config which AMS slot should be used for a filament used in the print job" +msgstr "Konfiguruj, które gniazdo AMS powinno być używane dla filamentu w trakcie zadania drukowania" msgid "Filament used in this print job" msgstr "Filament używany w tym zadaniu druku" @@ -3012,22 +2836,16 @@ msgid "Do not Enable AMS" msgstr "Nie włączaj AMS" msgid "Print using materials mounted on the back of the case" -msgstr "" -"Drukowanie przy użyciu materiałów zamontowanych na tylnej części obudowy" +msgstr "Drukowanie przy użyciu materiałów zamontowanych na tylnej części obudowy" msgid "Print with filaments in ams" -msgstr "Drukowanie za pomocą AMS" +msgstr "Drukowanie filamentem z AMS" msgid "Print with filaments mounted on the back of the chassis" -msgstr "" -"Drukowanie przy użyciu materiałów zamontowanych na tylnej części obudowy" +msgstr "Drukowanie przy użyciu materiałów zamontowanych na tylnej części obudowy" -msgid "" -"When the current material run out, the printer will continue to print in the " -"following order." -msgstr "" -"Gdy obecny filament się skończy, drukarka będzie kontynuować druk w " -"następującej kolejności." +msgid "When the current material run out, the printer will continue to print in the following order." +msgstr "Gdy obecny filament się skończy, drukarka będzie kontynuować druk w następującej kolejności." msgid "Group" msgstr "Grupa" @@ -3035,22 +2853,15 @@ msgstr "Grupa" msgid "The printer does not currently support auto refill." msgstr "Obecnie drukarka nie obsługuje automatycznego uzupełniania." -msgid "" -"AMS filament backup is not enabled, please enable it in the AMS settings." -msgstr "" -"Kopia zapasowa filamentu AMS nie jest włączona, proszę włączyć ją w " -"ustawieniach AMS." +msgid "AMS filament backup is not enabled, please enable it in the AMS settings." +msgstr "Kopia zapasowa filamentu AMS nie jest włączona, proszę włączyć ją w ustawieniach AMS." msgid "" -"If there are two identical filaments in AMS, AMS filament backup will be " -"enabled. \n" -"(Currently supporting automatic supply of consumables with the same brand, " -"material type, and color)" +"If there are two identical filaments in AMS, AMS filament backup will be enabled. \n" +"(Currently supporting automatic supply of consumables with the same brand, material type, and color)" msgstr "" -"W przypadku, gdy podczas drukowania w systemie AMS zużyje się jeden z " -"filamentów, system automatycznie przełączy na drugi identyczny filament.\n" -"(System obecnie wspiera automatyczne przełączanie na materiały " -"eksploatacyjne tej samej marki, rodzaju i koloru)" +"W przypadku, gdy podczas drukowania w systemie AMS zużyje się jeden z filamentów, system automatycznie przełączy na drugi identyczny filament.\n" +"(System obecnie wspiera automatyczne przełączanie na materiały eksploatacyjne tej samej marki, rodzaju i koloru)" msgid "DRY" msgstr "SUCHY" @@ -3064,80 +2875,41 @@ msgstr "Ustawienia AMS" msgid "Insertion update" msgstr "Aktualizacja wymiany" -msgid "" -"The AMS will automatically read the filament information when inserting a " -"new Bambu Lab filament. This takes about 20 seconds." -msgstr "" -"AMS automatycznie odczyta informacje o filamencie Bambu Lab zaraz po jego " -"włożeniu. To zajmie około 20 sekund." +msgid "The AMS will automatically read the filament information when inserting a new Bambu Lab filament. This takes about 20 seconds." +msgstr "AMS automatycznie odczyta informacje o filamencie Bambu Lab zaraz po jego włożeniu. To zajmie około 20 sekund." -msgid "" -"Note: if a new filament is inserted during printing, the AMS will not " -"automatically read any information until printing is completed." -msgstr "" -"Uwaga: jeśli podczas drukowania zostanie włożony nowy filament, system AMS " -"nie będzie automatycznie odczytywał żadnych informacji do momentu " -"zakończenia drukowania." +msgid "Note: if a new filament is inserted during printing, the AMS will not automatically read any information until printing is completed." +msgstr "Uwaga: jeśli podczas drukowania zostanie włożony nowy filament, system AMS nie będzie automatycznie odczytywał żadnych informacji do momentu zakończenia drukowania." -msgid "" -"When inserting a new filament, the AMS will not automatically read its " -"information, leaving it blank for you to enter manually." -msgstr "" -"Podczas wkładania nowego filamentu, AMS nie będzie automatycznie odczytywać " -"jego informacji, pozostawiając je puste, abyś mógł wprowadzić je ręcznie." +msgid "When inserting a new filament, the AMS will not automatically read its information, leaving it blank for you to enter manually." +msgstr "Podczas wkładania nowego filamentu, AMS nie będzie automatycznie odczytywać jego informacji, pozostawiając je puste, abyś mógł wprowadzić je ręcznie." msgid "Power on update" msgstr "Aktualizacja po włączeniu zasilania" -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 filament " -"spools." -msgstr "" -"AMS automatycznie odczyta informacje o włożonym filamencie podczas " -"uruchamiania. To zajmie około 1 minuty. Proces odczytu sprawi, że rolki " -"filamentów się obrócą." +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 filament spools." +msgstr "AMS automatycznie odczyta informacje o włożonym filamencie podczas uruchamiania. To zajmie około 1 minuty. Proces odczytu sprawi, że rolki filamentów się obrócą." -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 nie będzie automatycznie odczytywać informacji z włożonego filamentu " -"podczas uruchamiania i będzie kontynuować korzystanie z informacji " -"zapisanych przed ostatnim wyłączeniem." +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 nie będzie automatycznie odczytywać informacji z włożonego filamentu podczas uruchamiania i będzie kontynuować korzystanie z informacji zapisanych przed ostatnim wyłączeniem." msgid "Update remaining capacity" msgstr "Aktualizuj pozostałą ilość" -msgid "" -"The AMS will estimate Bambu filament's remaining capacity after the filament " -"info is updated. During printing, remaining capacity will be updated " -"automatically." -msgstr "" -"AMS oszacuje pozostałą ilość filamentu Bambu po aktualizacji informacji o " -"filamencie. Podczas drukowania, pozostała ilość na szpuli będzie " -"aktualizowana automatycznie." +msgid "The AMS will estimate Bambu filament's remaining capacity after the filament info is updated. During printing, remaining capacity will be updated automatically." +msgstr "AMS oszacuje pozostałą ilość filamentu Bambu po aktualizacji informacji o filamencie. Podczas drukowania, pozostała ilość na szpuli będzie aktualizowana automatycznie." msgid "AMS filament backup" msgstr "Automatyczne przełączenie filamentu AMS" -msgid "" -"AMS will continue to another spool with the same properties of filament " -"automatically when current filament runs out" -msgstr "" -"AMS automatycznie przełączy się na inną szpule z tym samym rodzajem " -"filamentu, gdy obecny filament się skończy" +msgid "AMS will continue to another spool with the same properties of filament automatically when current filament runs out" +msgstr "AMS automatycznie przełączy się na inną szpule z tym samym rodzajem filamentu, gdy obecny filament się skończy" msgid "Air Printing Detection" msgstr "Wykrywanie druku w powietrzu" -msgid "" -"Detects clogging and filament grinding, halting printing immediately to " -"conserve time and filament." -msgstr "" -"Wykrywa zatkanie i zacięcie się filamentu, natychmiast zatrzymując " -"drukowanie w celu oszczędzenia czasu i filamentu." +msgid "Detects clogging and filament grinding, halting printing immediately to conserve time and filament." +msgstr "Wykrywa zatkanie i zacięcie się filamentu, natychmiast zatrzymując drukowanie w celu oszczędzenia czasu i filamentu." msgid "File" msgstr "Plik" @@ -3145,19 +2917,11 @@ msgstr "Plik" msgid "Calibration" msgstr "Kalibracja" -msgid "" -"Failed to download the plug-in. Please check your firewall settings and vpn " -"software, check and retry." -msgstr "" -"Nie udało się pobrać wtyczki. Sprawdź ustawienia zapory ogniowej i " -"oprogramowania VPN, sprawdź i spróbuj ponownie." +msgid "Failed to download the plug-in. Please check your firewall settings and vpn software, check and retry." +msgstr "Nie udało się pobrać wtyczki. Sprawdź ustawienia zapory ogniowej i oprogramowania VPN, sprawdź i spróbuj ponownie." -msgid "" -"Failed to install the plug-in. Please check whether it is blocked or deleted " -"by anti-virus software." -msgstr "" -"Nie udało się zainstalować wtyczki. Sprawdź, czy nie jest zablokowana lub " -"usunięta przez oprogramowanie antywirusowe." +msgid "Failed to install the plug-in. Please check whether it is blocked or deleted by anti-virus software." +msgstr "Nie udało się zainstalować wtyczki. Sprawdź, czy nie jest zablokowana lub usunięta przez oprogramowanie antywirusowe." msgid "click here to see more info" msgstr "cliknij tutaj, aby zobaczyć więcej informacji" @@ -3165,27 +2929,20 @@ msgstr "cliknij tutaj, aby zobaczyć więcej informacji" msgid "Please home all axes (click " msgstr "Ustaw wszystkie osie na pozycje domową (kliknij " -msgid "" -") to locate the toolhead's position. This prevents device moving beyond the " -"printable boundary and causing equipment wear." -msgstr "" -") aby określić pozycję głowicy drukującej. To uniemożliwi narzędziu wyjście " -"poza możliwy obszar druku, co chroni sprzęt przed zużyciem." +msgid ") to locate the toolhead's position. This prevents device moving beyond the printable boundary and causing equipment wear." +msgstr ") aby określić pozycję głowicy drukującej. To uniemożliwi narzędziu wyjście poza możliwy obszar druku, co chroni sprzęt przed zużyciem." msgid "Go Home" msgstr "Poz.Domowa" -msgid "" -"A error occurred. Maybe memory of system is not enough or it's a bug of the " -"program" -msgstr "" -"Wystąpił błąd. Być może brakuje pamięci w systemie lub to błąd programu" +msgid "A error occurred. Maybe memory of system is not enough or it's a bug of the program" +msgstr "Wystąpił błąd. Być może brakuje pamięci w systemie lub jest to błąd programu" msgid "Please save project and restart the program. " msgstr "Proszę zapisać projekt i ponownie uruchomić program. " msgid "Processing G-Code from Previous file..." -msgstr "Przetwarzanie kodu G z poprzedniego pliku..." +msgstr "Przetwarzanie G-code z poprzedniego pliku..." msgid "Slicing complete" msgstr "Cięcie zakończone" @@ -3218,61 +2975,38 @@ msgid "Successfully executed post-processing script" msgstr "Pomyślnie wykonano skrypt post-processingu" msgid "Unknown error occured during exporting G-code." -msgstr "Nieznany błąd podczas eksportowania kodu G." +msgstr "Nieznany błąd podczas eksportowania G-code." #, boost-format msgid "" -"Copying of the temporary G-code to the output G-code failed. Maybe the SD " -"card is write locked?\n" +"Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\n" "Error message: %1%" msgstr "" -"Kopiowanie tymczasowego G-code do wyjściowego pliku G-code nie powiodło się. " -"Być może karta SD jest zablokowana do zapisu?\n" +"Kopiowanie tymczasowego G-code do wyjściowego pliku G-code nie powiodło się. Być może karta SD jest zablokowana do zapisu?\n" "Komunikat błędu: %1%" #, 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 "" -"Kopiowanie tymczasowego G-code do wyjściowego pliku G-code nie powiodło się. " -"Może być problem z urządzeniem docelowym, spróbuj ponownie wyeksportować lub " -"użyć innego urządzenia. Uszkodzony plik wyjściowego G-code znajduje się w " -"pliku %1%.tmp." +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 "Kopiowanie tymczasowego G-code do wyjściowego pliku G-code nie powiodło się. Może być problem z urządzeniem docelowym, spróbuj ponownie wyeksportować lub użyć innego urządzenia. Uszkodzony plik wyjściowego G-code znajduje się w pliku %1%.tmp." #, 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 "" -"Zmiana nazwy G-code po skopiowaniu pliku do folderu docelowego nie powiodła " -"się. Bieżąca ścieżka to %1%.tmp. Spróbuj ponownie go wyeksportować." +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 "Zmiana nazwy G-code po skopiowaniu pliku do folderu docelowego nie powiodła się. Bieżąca ścieżka to %1%.tmp. Spróbuj ponownie go wyeksportować." #, 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 "" -"Kopiowanie tymczasowego G-code zakończono, ale oryginalny G-code w " -"lokalizacji %1% nie mógł być otwarty podczas sprawdzania kopii. Wygenerowany " -"G-code znajduje się w lokalizacji %2%.tmp." +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 "Kopiowanie tymczasowego G-code zakończono, ale oryginalny G-code w lokalizacji %1% nie mógł być otwarty podczas sprawdzania kopii. Wygenerowany G-code znajduje się w lokalizacji %2%.tmp." #, 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 "" -"Kopiowanie tymczasowego G-code zakończono, ale wyeksportowany G-code nie " -"mógł być otwarty podczas sprawdzania kopii. Wygenerowany G-code znajduje się " -"w lokalizacji %1%.tmp." +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 "Kopiowanie tymczasowego G-code zakończono, ale wyeksportowany G-code nie mógł być otwarty podczas sprawdzania kopii. Wygenerowany G-code znajduje się w lokalizacji %1%.tmp." #, boost-format msgid "G-code file exported to %1%" msgstr "Plik G-code został wyeksportowany do %1%" msgid "Unknown error when export G-code." -msgstr "Nieznany błąd podczas eksportowania kodu G." +msgstr "Nieznany błąd podczas eksportowania G-code." #, boost-format msgid "" @@ -3285,13 +3019,151 @@ msgstr "" "Plik źródłowy %2%." msgid "Copying of the temporary G-code to the output G-code failed" -msgstr "Kopiowanie tymczasowego kodu G do kodu G wynikowego nie powiodło się" +msgstr "Kopiowanie tymczasowego G-kodu do G-kodu wyjściowego nie powiodło się" #, boost-format msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" -msgstr "" -"Planowanie przesyłania do `%1%`. Zobacz Okno -> Kolejka przesyłania do hosta " -"drukarki" +msgstr "Planowanie przesyłania do `%1%`. Zobacz Okno -> Kolejka przesyłania do hosta drukarki" + +msgid "Device" +msgstr "Urządzenie" + +msgid "Task Sending" +msgstr "Wysyłanie zadań" + +msgid "Task Sent" +msgstr "Wysłane do druku" + +msgid "Edit multiple printers" +msgstr "Edycja drukarek" + +msgid "Select connected printetrs (0/6)" +msgstr "Wybierz połączone drukarki (0/6)" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "Wybierz Połączone Drukarki (%d/6)" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "Maksymalna liczba drukarek, które można wybrać, to %d" + +msgid "Offline" +msgstr "Offline" + +msgid "No task" +msgstr "Brak zadania" + +msgid "View" +msgstr "Widok" + +msgid "N/A" +msgstr "N/D" + +msgid "Edit Printers" +msgstr "Edycja drukarek" + +msgid "Device Name" +msgstr "Nazwa urządzenia" + +msgid "Task Name" +msgstr "Nazwa zadania" + +msgid "Device Status" +msgstr "Status urządzenia" + +msgid "Actions" +msgstr "Działania" + +msgid "Please select the devices you would like to manage here (up to 6 devices)" +msgstr "Proszę wybrać urządzenia, którymi chciałbyś tutaj zarządzać (do 6 urządzeń)" + +msgid "Add" +msgstr "Dodaj" + +msgid "Resume" +msgstr "Wznów" + +msgid "Stop" +msgstr "Zatrzymaj" + +msgid "Task Status" +msgstr "Status Zadania" + +msgid "Sent Time" +msgstr "Czas wysłania" + +msgid "There are no tasks to be sent!" +msgstr "Brak zadań do wysłania!" + +msgid "No historical tasks!" +msgstr "Brak historii zadań!" + +msgid "Loading..." +msgstr "Wczytywanie..." + +msgid "No AMS" +msgstr "Brak AMS" + +msgid "Send to Multi-device" +msgstr "Wyślij do wielu urządzeń" + +msgid "Preparing print job" +msgstr "Przygotowywanie zadania do druku" + +msgid "Abnormal print file data. Please slice again" +msgstr "Nieprawidłowe dane pliku druku. Proszę ponownie przetnij" + +msgid "Use External Spool" +msgstr "Użyj zewnętrznej szpuli" + +msgid "Use AMS" +msgstr "Użyj AMS" + +msgid "Select Printers" +msgstr "Wybierz drukarki" + +msgid "Ams Status" +msgstr "Ams Status" + +msgid "Printing Options" +msgstr "Opcje drukowania" + +msgid "Send Options" +msgstr "Opcje wysyłania" + +msgid "Send" +msgstr "Wyślij" + +msgid "printers at the same time.(It depends on how many devices can undergo heating at the same time.)" +msgstr "jednocześnie drukowanie na kilku drukarkach (zależy to od liczby urządzeń, które można podgrzewać jednocześnie.)" + +msgid "Wait" +msgstr "Czekaj" + +msgid "minute each batch.(It depends on how long it takes to complete the heating.)" +msgstr "minut na każdą partię. (To zależy od tego, jak długo trwa proces nagrzewania.)" + +msgid "Name is invalid;" +msgstr "Nazwa jest nieprawidłowa;" + +msgid "illegal characters:" +msgstr "niedozwolone znaki:" + +msgid "illegal suffix:" +msgstr "niedozwolony sufiks:" + +msgid "The name is not allowed to be empty." +msgstr "Nazwa nie może być pusta." + +msgid "The name is not allowed to start with space character." +msgstr "Nazwa nie może zaczynać się od znaku spacji." + +msgid "The name is not allowed to end with space character." +msgstr "Nazwa nie może kończyć się na znak spacji." + +msgid "The name length exceeds the limit." +msgstr "Długość nazwy przekracza limit." msgid "Origin" msgstr "Punkt bazowy" @@ -3299,17 +3171,11 @@ msgstr "Punkt bazowy" msgid "Size in X and Y of the rectangular plate." msgstr "Rozmiar w osi X i Y prostokątnej płyty." -msgid "" -"Distance of the 0,0 G-code coordinate from the front left corner of the " -"rectangle." -msgstr "Odległość punktu 0,0 w kodzie G od lewego górnego rogu prostokąta." +msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." +msgstr "Odległość punktu 0,0 w G-code od lewego górnego rogu prostokąta." -msgid "" -"Diameter of the print bed. It is assumed that origin (0,0) is located in the " -"center." -msgstr "" -"Średnica stołu drukarki. Przyjmuje się, że punkt początkowy (0,0) znajduje " -"się w centrum." +msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." +msgstr "Średnica stołu drukarki. Przyjmuje się, że punkt początkowy (0,0) znajduje się na środku." msgid "Rectangular" msgstr "Prostokątna" @@ -3347,10 +3213,8 @@ msgstr "Błąd! Nieprawidłowy model" msgid "The selected file contains no geometry." msgstr "Wybrany plik nie zawiera geometrii." -msgid "" -"The selected file contains several disjoint areas. This is not supported." -msgstr "" -"Wybrany plik zawiera kilka niepołączonych obszarów. To nie jest obsługiwane." +msgid "The selected file contains several disjoint areas. This is not supported." +msgstr "Wybrany plik zawiera kilka niepołączonych obszarów. To nie jest obsługiwane." msgid "Choose a file to import bed texture from (PNG/SVG):" msgstr "Wybierz plik do zaimportowania tekstury stołu (PNG/SVG):" @@ -3361,19 +3225,11 @@ msgstr "Wybierz plik STL do zaimportowania modelu stołu z:" msgid "Bed Shape" msgstr "Kształt stołu" -msgid "" -"The recommended minimum temperature is less than 190 degree or the " -"recommended maximum temperature is greater than 300 degree.\n" -msgstr "" -"Zalecana temperatura jest poniżej minimalnych 190 stopni lub temperatura " -"przekracza zalecane maksimum 300 stopni.\n" +msgid "The recommended minimum temperature is less than 190 degree or the recommended maximum temperature is greater than 300 degree.\n" +msgstr "Zalecana temperatura jest poniżej minimalnych 190 stopni lub temperatura przekracza zalecane maksimum 300 stopni.\n" -msgid "" -"The recommended minimum temperature cannot be higher than the recommended " -"maximum temperature.\n" -msgstr "" -"Minimalna zalecana temperatura nie może być wyższa niż zalecana temperatura " -"maksymalna.\n" +msgid "The recommended minimum temperature cannot be higher than the recommended maximum temperature.\n" +msgstr "Minimalna zalecana temperatura nie może być wyższa niż zalecana temperatura maksymalna.\n" msgid "Please check.\n" msgstr "Sprawdź.\n" @@ -3383,18 +3239,13 @@ msgid "" "Please make sure whether to use the temperature to print.\n" "\n" msgstr "" -"Dysza może zostać zablokowana, gdy temperatura wykracza poza zalecany " -"zakres.\n" +"Dysza może zostać zablokowana, gdy temperatura wykracza poza zalecany zakres.\n" "Upewnij się, czy temperatura do druku jest odpowiednia.\n" "\n" #, c-format, boost-format -msgid "" -"Recommended nozzle temperature of this filament type is [%d, %d] degree " -"centigrade" -msgstr "" -"Zalecana temperatura dyszy dla tego typu filamentu wynosi [%d, %d] stopni " -"Celsjusza" +msgid "Recommended nozzle temperature of this filament type is [%d, %d] degree centigrade" +msgstr "Zalecana temperatura dyszy dla tego typu filamentu wynosi [%d, %d] stopni Celsjusza" msgid "" "Too small max volumetric speed.\n" @@ -3404,14 +3255,8 @@ msgstr "" "Zresetowano do 0,5" #, c-format, boost-format -msgid "" -"Current chamber temperature is higher than the material's safe temperature," -"it may result in material softening and clogging.The maximum safe " -"temperature for the material is %d" -msgstr "" -"Obecna temperatura komory jest wyższa niż bezpieczna temperatura dla " -"filamentu, co może prowadzić do jego mięknięcia i zatykania. Maksymalna " -"bezpieczna temperatura dla tego filamentu wynosi %d" +msgid "Current chamber temperature is higher than the material's safe temperature,it may result in material softening and clogging.The maximum safe temperature for the material is %d" +msgstr "Obecna temperatura komory jest wyższa niż bezpieczna temperatura dla filamentu, co może prowadzić do jego mięknięcia i zatykania. Maksymalna bezpieczna temperatura dla tego filamentu wynosi %d" msgid "" "Too small layer height.\n" @@ -3437,17 +3282,14 @@ msgstr "" "Wysokość pierwszej warstwy zostanie zresetowana do 0,2." msgid "" -"This setting is only used for model size tunning with small value in some " -"cases.\n" +"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 "" -"To ustawienie jest stosowane tylko do dostrojenia rozmiaru modelu z małą " -"wartością w niektórych przypadkach.\n" -"Na przykład, gdy rozmiar modelu ma mały błąd i trudno go złożyć.\n" -"Do dostrojenia dużego rozmiaru, proszę użyć funkcji skalowania modelu.\n" +"To ustawienie jest używane tylko do dostrajania rozmiaru modelu w niewielkim stopniu.\n" +"Na przykład, gdy rozmiar modelu ma małe błędy lub gdy tolerancje są nieprawidłowe. W przypadku wprowadzania dużych zmian należy do tego użyć funkcji skalowania modelu.\n" "\n" "Wartość zostanie zresetowana do 0." @@ -3458,44 +3300,34 @@ msgid "" "\n" "The value will be reset to 0." msgstr "" -"Zbyt duża kompensacja efektu \"stopy słonia\" nie jest wskazane.\n" -"Jeśli rzeczywiście występuje poważny efekt stopy słonia, proszę sprawdzić " -"inne ustawienia.\n" +"Zbyt duża kompensacja efektu \"stopy słonia\" nie jest wskazana.\n" +"Jeśli rzeczywiście występuje poważny efekt stopy słonia, proszę sprawdzić inne ustawienia.\n" "Na przykład, czy temperatura stołu jest zbyt wysoka.\n" "\n" "Wartość zostanie zresetowana do 0." -msgid "" -"Alternate extra wall does't work well when ensure vertical shell thickness " -"is set to All. " -msgstr "" -"Alternatywna dodatkowa ściana działa tylko wtedy, gdy jest wyłączona opcja " -"\"zapewnij stałą grubość pionowej powłoki\". " +msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All. " +msgstr "Alternatywna dodatkowa ściana działa tylko wtedy, gdy jest wyłączona opcja \"zapewnij stałą grubość pionowej powłoki\". " msgid "" "Change these settings automatically? \n" -"Yes - Change ensure vertical shell thickness to Moderate and enable " -"alternate extra wall\n" +"Yes - Change ensure vertical shell thickness to Moderate and enable alternate extra wall\n" "No - Dont use alternate extra wall" msgstr "" "Zmienić te ustawienia automatycznie?\n" -"Tak - Wyłącz \"zapewnij pionową grubość powłoki\" i włącz \"alternatywną " -"dodatkową ścianę\"\n" +"Tak - Wyłącz \"zapewnij pionową grubość powłoki\" i włącz \"alternatywną dodatkową ścianę\"\n" "Nie - Nie używaj \"alternatywnej dodatkowej ściany\"" msgid "" -"Prime tower does not work when Adaptive Layer Height or Independent Support " -"Layer Height is on.\n" +"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 "" -"Wieża czyszcząca nie działa, gdy włączona jest Zmienna Wysokość Warstwy lub " -"Niezależna Wysokość Warstwy podpory.\n" +"Wieża czyszcząca nie działa, gdy włączona jest Adaptacyjna wysokość warstwy lub Niezależna wysokość warstwy podpory.\n" "Którą opcję chcesz zachować?\n" "TAK - Zachowaj Wieżę czyszczącą\n" -"NIE - Zachowaj Zmienną Wysokość Warstwy i Niezależną Wysokość Warstwy " -"podpory" +"NIE - Zachowaj Adaptacyjną wysokość warstwy i Niezależną wysokość warstwy podpory" msgid "" "Prime tower does not work when Adaptive Layer Height is on.\n" @@ -3514,18 +3346,16 @@ msgid "" "YES - Keep Prime Tower\n" "NO - Keep Independent Support Layer Height" msgstr "" -"Wieża czyszcząca nie działa, gdy włączona jest Niezależna Wysokość Warstwy " -"podpory.\n" +"Wieża czyszcząca nie działa, gdy włączona jest Niezależna wysokość warstwy podpory.\n" "Którą opcję chcesz zachować?\n" "TAK - Zachowaj Wieżę czyszczącą\n" -"NIE - Zachowaj Niezależną Wysokość Warstwy podpory" +"NIE - Zachowaj Niezależną wysokość warstwy podpory" msgid "" "While printing by Object, the extruder may collide skirt.\n" "Thus, reset the skirt layer to 1 to avoid that." msgstr "" -"Podczas drukowania według obiektu extruder może zderzyć się z obrysem " -"skirtu.\n" +"Podczas drukowania według obiektu extruder może zderzyć się z obrysem skirtu.\n" "Dlatego zresetuj wysokość skirtu na 1, aby tego uniknąć." msgid "" @@ -3535,13 +3365,8 @@ msgstr "" "seam_slope_start_height musi być mniejsza niż wysokość warstwy. \n" "Zresetuj do wartości 0" -msgid "" -"Spiral mode only works when wall loops is 1, support is disabled, top shell " -"layers is 0, sparse infill density is 0 and timelapse type is traditional." -msgstr "" -"Tryb Wazy działa tylko wtedy gdy liczba pętli ściany wynosi 1, wyłączone są " -"podpory, ilość warstw górnej powłoki wynosi 0, gęstość wypełnienia wynosi 0, " -"a tryb Timelaps ustawiony jest na Tradycyjny." +msgid "Spiral mode only works when wall loops is 1, support is disabled, top shell layers is 0, sparse infill density is 0 and timelapse type is traditional." +msgstr "Tryb Wazy działa tylko wtedy gdy liczba pętli ściany wynosi 1, wyłączone są podpory, ilość warstw górnej powłoki wynosi 0, gęstość wypełnienia wynosi 0, a tryb Timelaps ustawiony jest na Tradycyjny." msgid " But machines with I3 structure will not generate timelapse videos." msgstr " Jednak maszyny z budową I3 nie będą generować filmów timelapse." @@ -3562,7 +3387,7 @@ msgid "Heatbed preheating" msgstr "Rozgrzewanie stołu" msgid "Sweeping XY mech mode" -msgstr "Tryb czyszczenia mechanizmu XY" +msgstr "Pomiar rezonansu osi XY" msgid "Changing filament" msgstr "Zmiana filamentu" @@ -3592,7 +3417,7 @@ msgid "Calibrating Micro Lidar" msgstr "Kalibracja Mikro Lidar" msgid "Homing toolhead" -msgstr "Przywracanie głowicy na pozycję wyjściową" +msgstr "Przywracanie głowicy drukującej na pozycję bazową" msgid "Cleaning nozzle tip" msgstr "Czyszczenie końcówki dyszy" @@ -3604,7 +3429,7 @@ msgid "Printing was paused by the user" msgstr "Druk został wstrzymany przez użytkownika" msgid "Pause of front cover falling" -msgstr "Pauza z powodu opadnięcia przedniej osłony" +msgstr "Pauza - osłona głowicy drukującej odpadła" msgid "Calibrating the micro lida" msgstr "Kalibracja mikro Lidaru" @@ -3634,7 +3459,7 @@ msgid "Paused due to AMS lost" msgstr "Pauza z powodu utraty AMS" msgid "Paused due to low speed of the heat break fan" -msgstr "Pauza z powodu niskiej prędkości wentylatora heat break" +msgstr "Wstrzymano z powodu niskiej prędkości wentylatora chłodzącego hotend" msgid "Paused due to chamber temperature control error" msgstr "Pauza z powodu błędu kontroli temperatury komory" @@ -3649,7 +3474,7 @@ msgid "Motor noise showoff" msgstr "Prezentacja hałasu silnika" msgid "Nozzle filament covered detected pause" -msgstr "Pauza wykrywająca zakrycie dyszy przez filament" +msgstr "Pauza - dysza pokryta filamentem" msgid "Cutter error pause" msgstr "Pauza z powodu błędu noża" @@ -3670,7 +3495,7 @@ msgid "Serious" msgstr "Poważny" msgid "Common" -msgstr "Zwykły" +msgstr "Wspólny" msgid "Update successful." msgstr "Aktualizacja udana." @@ -3684,38 +3509,19 @@ msgstr "Weryfikacja nieudana." msgid "Update failed." msgstr "Aktualizacja nieudana." -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 "" -"Aktualna temperatura komory lub docelowa temperatura komory przekracza 45℃. " -"Aby uniknąć zatkania extrudera, niedopuszczalne jest ładowanie filamentu o " -"niskiej temperaturze (PLA/PETG/TPU)." +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 "Aktualna temperatura komory lub docelowa temperatura komory przekracza 45℃. Aby uniknąć zatkania extrudera, niedopuszczalne jest ładowanie filamentu o niskiej temperaturze (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 " -"above 45℃." -msgstr "" -"W extruderze jest załadowany filament o niskiej temperaturze (PLA/PETG/TPU). " -"Aby uniknąć zatkania extrudera, nie wolno ustawiać temperatury komory " -"powyżej 45℃." +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 above 45℃." +msgstr "W extruderze jest załadowany filament o niskiej temperaturze (PLA/PETG/TPU). Aby uniknąć zatkania extrudera, nie wolno ustawiać temperatury komory powyżej 45℃." -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 "" -"Jeśli ustawisz temperaturę komory poniżej 40℃, kontrola temperatury komory " -"nie będzie aktywowana. Docelowa temperatura komory zostanie automatycznie " -"ustawiona na 0℃." +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 "Jeśli ustawisz temperaturę komory poniżej 40℃, kontrola temperatury komory nie będzie aktywowana. Docelowa temperatura komory zostanie automatycznie ustawiona na 0℃." msgid "Failed to start printing job" msgstr "Nie udało się rozpocząć zadania drukowania" -msgid "" -"This calibration does not support the currently selected nozzle diameter" +msgid "This calibration does not support the currently selected nozzle diameter" msgstr "Ta kalibracja nie obsługuje obecnie wybranego średnicy dyszy" msgid "Current flowrate cali param is invalid" @@ -3736,19 +3542,11 @@ msgstr "TPU nie jest obsługiwane przez AMS." msgid "Bambu PET-CF/PA6-CF is not supported by AMS." msgstr "Bambu PET-CF/PA6-CF nie jest obsługiwane przez AMS." -msgid "" -"Damp PVA will become flexible and get stuck inside AMS,please take care to " -"dry it before use." -msgstr "" -"Wilgotne PVA staje się elastyczne i może utknąć wewnątrz AMS, proszę " -"pamiętać o wysuszeniu go przed użyciem." +msgid "Damp PVA will become flexible and get stuck inside AMS,please take care to dry it before use." +msgstr "Wilgotne PVA staje się elastyczne i może utknąć wewnątrz AMS, proszę pamiętać o wysuszeniu go przed użyciem." -msgid "" -"CF/GF filaments are hard and brittle, It's easy to break or get stuck in " -"AMS, please use with caution." -msgstr "" -"Filamenty CF/GF są twarde i kruche, łatwo je złamać i zaklinować w AMS, " -"proszę używać ostrożnie." +msgid "CF/GF filaments are hard and brittle, It's easy to break or get stuck in AMS, please use with caution." +msgstr "Filamenty CF/GF są twarde i kruche, łatwo je złamać i zaklinować w AMS, proszę używać ostrożnie." msgid "default" msgstr "domyślny" @@ -3818,9 +3616,6 @@ msgstr "Ustawienia drukarki" msgid "parameter name" msgstr "nazwa parametru" -msgid "N/A" -msgstr "N/D" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s nie może być procentem" @@ -3926,10 +3721,10 @@ msgid "Total Estimation" msgstr "Podsumowanie" msgid "Total time" -msgstr "Całkowity czas" +msgstr "Czas całkowity" msgid "Total cost" -msgstr "Całkowity koszt" +msgstr "Koszt całkowity" msgid "up to" msgstr "do" @@ -4138,9 +3933,6 @@ msgstr "Unikaj obszaru kalibracji ekstruzji" msgid "Align to Y axis" msgstr "Wyrównaj do osi Y" -msgid "Add" -msgstr "Dodaj" - msgid "Add plate" msgstr "Dodaj płytę" @@ -4196,12 +3988,8 @@ msgid "Size:" msgstr "Rozmiar:" #, c-format, boost-format -msgid "" -"Conflicts of gcode paths have been found at layer %d, z = %.2lf mm. Please " -"separate the conflicted objects farther (%s <-> %s)." -msgstr "" -"Wykryto konflikty ścieżek G-kodów na warstwie %d, z = %.2lf mm. Proszę " -"oddzielić konfliktujące obiekty dalej (%s <-> %s)." +msgid "Conflicts of gcode paths have been found at layer %d, z = %.2lf mm. Please separate the conflicted objects farther (%s <-> %s)." +msgstr "Wykryto konflikty ścieżek G-code na warstwie %d, z = %.2lf mm. Proszę oddalić od siebie obiekty będące w konflikcie (%s <-> %s)." msgid "An object is layed over the boundary of plate." msgstr "Obiekt jest położony poza granicą płyty." @@ -4217,12 +4005,10 @@ msgstr "Widoczny jest tylko edytowany obiekt." 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." +"Please solve the problem by moving it totally on or off the plate, and confirming that the height is within the build volume." msgstr "" "Obiekt jest umieszczony poza granicą płyty lub przekracza limit wysokości.\n" -"Rozwiąż problem, przesuwając go całkowicie na płytę lub poza nią oraz " -"potwierdzając, że wysokość mieści się w obszarze budowy." +"Rozwiąż problem, przesuwając go całkowicie na płytę lub poza nią oraz potwierdzając, że wysokość mieści się w obszarze roboczym." msgid "Calibration step selection" msgstr "Wybór kroku kalibracji" @@ -4243,12 +4029,10 @@ msgid "Calibration program" msgstr "Program kalibracji" msgid "" -"The calibration program detects the status of your device automatically to " -"minimize deviation.\n" +"The calibration program detects the status of your device automatically to minimize deviation.\n" "It keeps the device performing optimally." msgstr "" -"Program kalibracji automatycznie wykrywa stan urządzenia, aby zminimalizować " -"odchylenia.\n" +"Program kalibracji automatycznie wykrywa stan urządzenia, aby zminimalizować odchylenia.\n" "Utrzymuje urządzenie w optymalnej wydajności." msgid "Calibration Flow" @@ -4333,11 +4117,8 @@ msgstr "Przygotowanie" msgid "Preview" msgstr "Podgląd" -msgid "Device" -msgstr "Urządzenie" - msgid "Multi-device" -msgstr "Wiele-Urządzeń" +msgstr "Wiele urządzeń" msgid "Project" msgstr "Projekt" @@ -4349,24 +4130,20 @@ msgid "No" msgstr "Nie" msgid "will be closed before creating a new model. Do you want to continue?" -msgstr "" -"zostanie zamknięta przed utworzeniem nowego modelu. Czy chcesz kontynuować?" +msgstr "zostanie zamknięta przed utworzeniem nowego modelu. Czy chcesz kontynuować?" msgid "Slice plate" -msgstr "Potnij płytę" +msgstr "Potnij aktualną płytę" msgid "Print plate" -msgstr "Drukuj płytę" +msgstr "Drukuj aktualną płytę" msgid "Slice all" -msgstr "Potnij wszystko" +msgstr "Potnij wszystkie płyty" msgid "Export G-code file" msgstr "Eksportuj plik G-code" -msgid "Send" -msgstr "Wyślij" - msgid "Export plate sliced file" msgstr "Eksportuj plik pociętej płyty" @@ -4374,14 +4151,11 @@ msgid "Export all sliced file" msgstr "Eksportuj wszystkie pocięte płyty" msgid "Print all" -msgstr "Drukuj wszystko" +msgstr "Drukuj wszystkie płyty" msgid "Send all" msgstr "Wyślij wszystko" -msgid "Send to Multi-device" -msgstr "Wyślij do wielu urządzeń" - msgid "Keyboard Shortcuts" msgstr "Skróty klawiszowe" @@ -4512,10 +4286,10 @@ msgid "Export 3mf file without using some 3mf-extensions" msgstr "Eksportuj plik 3MF bez użycia niektórych rozszerzeń 3MF" msgid "Export current sliced file" -msgstr "Eksportuj bieżący plik nagraj na płytę" +msgstr "Eksportuj bieżący plik cięcia" msgid "Export all plate sliced file" -msgstr "Eksportuj wszystkie pliki nagraj na płytę" +msgstr "Eksportuj wszystkie pliki po pocięciu płyt" msgid "Export G-code" msgstr "Eksportuj plik G-code" @@ -4625,9 +4399,6 @@ msgstr "Pokaż podświetlenie nawisów obiektów w scenie 3D" msgid "Preferences" msgstr "Preferencje" -msgid "View" -msgstr "Widok" - msgid "Help" msgstr "Pomoc" @@ -4638,16 +4409,16 @@ msgid "Pass 1" msgstr "Procedura 1" msgid "Flow rate test - Pass 1" -msgstr "Test przepływu - Procedura 1" +msgstr "Test natężenia przepływu - Procedura 1" msgid "Pass 2" msgstr "Procedura 2" msgid "Flow rate test - Pass 2" -msgstr "Test przepływu - Procedura 2" +msgstr "Test natężenia przepływu - Procedura 2" msgid "Flow rate" -msgstr "Przepływ" +msgstr "Natężenie przepływu" msgid "Pressure advance" msgstr "Kalibracja PA" @@ -4659,7 +4430,7 @@ msgid "Orca Tolerance Test" msgstr "Orca Test Tolerancji" msgid "Max flowrate" -msgstr "Maksymalne Natężenie Przepływu" +msgstr "Maksymalne natężenie przepływu" msgid "VFA" msgstr "Test VFA" @@ -4751,26 +4522,17 @@ msgstr "Wybierz profil do wczytania:" #, c-format, 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] "" -"Zaimportowano %d konfigurację (tylko te, które nie są systemowe i " -"kompatybilne)." -msgstr[1] "" -"Zaimportowano %d konfiguracje (tylko te, które nie są systemowe i " -"kompatybilne)." -msgstr[2] "" -"Zaimportowano %d konfiguracji (tylko te, które nie są systemowe i " -"kompatybilne)." +msgid_plural "There are %d configs imported. (Only non-system and compatible configs)" +msgstr[0] "Zaimportowano %d konfigurację (tylko te, które nie są systemowe i kompatybilne)." +msgstr[1] "Zaimportowano %d konfiguracje (tylko te, które nie są systemowe i kompatybilne)." +msgstr[2] "Zaimportowano %d konfiguracji (tylko te, które nie są systemowe i kompatybilne)." msgid "" "\n" -"Hint: Make sure you have added the corresponding printer before importing " -"the configs." +"Hint: Make sure you have added the corresponding printer before importing the configs." msgstr "" "\n" -"Podpowiedź: Upewnij się, że dodałeś odpowiednią drukarkę przed " -"zaimportowaniem konfiguracji." +"Podpowiedź: Upewnij się, że dodałeś odpowiednią drukarkę przed zaimportowaniem konfiguracji." msgid "Import result" msgstr "Wynik importu" @@ -4801,43 +4563,28 @@ msgid "Synchronization" msgstr "Synchronizacja" msgid "The device cannot handle more conversations. Please retry later." -msgstr "" -"Urządzenie nie może obsłużyć więcej rozmów. Proszę spróbować ponownie " -"później." +msgstr "Urządzenie nie może obsługiwać kolejnych połączeń. Proszę spróbować ponownie później." msgid "Player is malfunctioning. Please reinstall the system player." -msgstr "" -"Odtwarzacz nie działa poprawnie. Proszę ponownie zainstalować odtwarzacz " -"systemowy." +msgstr "Odtwarzacz nie działa poprawnie. Proszę ponownie zainstalować odtwarzacz systemowy." msgid "The player is not loaded, please click \"play\" button to retry." -msgstr "" -"Odtwarzacz nie został załadowany, proszę kliknąć przycisk \"Odtwórz\", aby " -"spróbować ponownie." +msgstr "Odtwarzacz nie został załadowany, proszę kliknąć przycisk \"Odtwórz\", aby spróbować ponownie." msgid "Please confirm if the printer is connected." msgstr "Proszę potwierdzić, czy drukarka jest podłączona." -msgid "" -"The printer is currently busy downloading. Please try again after it " -"finishes." -msgstr "" -"Drukarka aktualnie pobiera dane. Proszę spróbować ponownie po zakończeniu " -"tego procesu." +msgid "The printer is currently busy downloading. Please try again after it finishes." +msgstr "Drukarka aktualnie pobiera dane. Proszę spróbować ponownie po zakończeniu tego procesu." msgid "Printer camera is malfunctioning." msgstr "Kamera drukarki jest uszkodzona." msgid "Problem occured. Please update the printer firmware and try again." -msgstr "" -"Wystąpił problem. Proszę zaktualizować oprogramowanie drukarki i spróbować " -"ponownie." +msgstr "Wystąpił problem. Proszę zaktualizować oprogramowanie drukarki i spróbować ponownie." -msgid "" -"LAN Only Liveview is off. Please turn on the liveview on printer screen." -msgstr "" -"Tryb podglądu LAN jest wyłączony. Proszę włączyć podgląd na żywo na ekranie " -"drukarki." +msgid "LAN Only Liveview is off. Please turn on the liveview on printer screen." +msgstr "Tryb podglądu LAN jest wyłączony. Proszę włączyć podgląd na żywo na ekranie drukarki." msgid "Please enter the IP of printer to connect." msgstr "Proszę podać adres IP drukarki, aby nawiązać połączenie." @@ -4846,16 +4593,10 @@ msgid "Initializing..." msgstr "Inicjalizacja..." msgid "Connection Failed. Please check the network and try again" -msgstr "" -"Połączenie nieudane. Proszę sprawdzić połączenie sieciowe i spróbować " -"ponownie." +msgstr "Połączenie nieudane. Proszę sprawdzić połączenie sieciowe i spróbować ponownie." -msgid "" -"Please check the network and try again, You can restart or update the " -"printer if the issue persists." -msgstr "" -"Proszę sprawdzić połączenie sieciowe i spróbować ponownie. Jeśli problem " -"nadal występuje, można ponownie uruchomić lub zaktualizować drukarkę." +msgid "Please check the network and try again, You can restart or update the printer if the issue persists." +msgstr "Proszę sprawdzić połączenie sieciowe i spróbować ponownie. Jeśli problem nadal występuje, można ponownie uruchomić lub zaktualizować drukarkę." msgid "The printer has been logged out and cannot connect." msgstr "Drukarka została wylogowana i nie można się z nią połączyć." @@ -4898,9 +4639,6 @@ msgstr "Informacja" msgid "Playing..." msgstr "Odtwarzanie..." -msgid "Loading..." -msgstr "Wczytywanie..." - msgid "Year" msgstr "Rok" @@ -4974,23 +4712,17 @@ msgstr "Błąd ładowania" msgid "Initialize failed (Device connection not ready)!" msgstr "Inicjalizacja nie powiodła się (Brak gotowości połączenia urządzenia)!" -msgid "" -"Browsing file in SD card is not supported in current firmware. Please update " -"the printer firmware." -msgstr "" -"Przeglądanie plików na karcie SD nie jest obsługiwane w bieżącym " -"oprogramowaniu. Proszę zaktualizować oprogramowanie drukarki." +msgid "Browsing file in SD card is not supported in current firmware. Please update the printer firmware." +msgstr "Przeglądanie plików na karcie SD nie jest obsługiwane w bieżącym oprogramowaniu. Proszę zaktualizować oprogramowanie drukarki." msgid "Initialize failed (Storage unavailable, insert SD card.)!" -msgstr "" -"Inicjalizacja nie powiodła się (brak dostępu do pamięci, włóż kartę SD)!" +msgstr "Inicjalizacja nie powiodła się (brak dostępu do pamięci, włóż kartę SD)!" msgid "LAN Connection Failed (Failed to view sdcard)" msgstr "Połączenie LAN nieudane (Nie udało się wyświetlić zawartości karty SD)" msgid "Browsing file in SD card is not supported in LAN Only Mode." -msgstr "" -"Przeglądanie plików na karcie SD nie jest obsługiwane w trybie tylko LAN." +msgstr "Przeglądanie plików na karcie SD nie jest obsługiwane w trybie tylko LAN." #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -4998,14 +4730,10 @@ msgstr "Inicjalizacja nie powiodła się (%s)!" #, c-format, 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] "" -"Zamierzasz usunąć %u plik z drukarki. Czy na pewno chcesz kontynuować?" -msgstr[1] "" -"Zamierzasz usunąć %u pliki z drukarki. Czy na pewno chcesz kontynuować?" -msgstr[2] "" -"Zamierzasz usunąć %u plików z drukarki. Czy na pewno chcesz kontynuować?" +msgid_plural "You are going to delete %u files from printer. Are you sure to continue?" +msgstr[0] "Zamierzasz usunąć %u plik z drukarki. Czy na pewno chcesz kontynuować?" +msgstr[1] "Zamierzasz usunąć %u pliki z drukarki. Czy na pewno chcesz kontynuować?" +msgstr[2] "Zamierzasz usunąć %u plików z drukarki. Czy na pewno chcesz kontynuować?" msgid "Delete files" msgstr "Usuń pliki" @@ -5026,12 +4754,8 @@ msgstr "Nie udało się pobrać informacji o modelu z drukarki." msgid "Failed to parse model information." msgstr "Nie udało się przeanalizować informacji o modelu." -msgid "" -"The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " -"and export a new .gcode.3mf file." -msgstr "" -"Plik .gcode.3mf nie zawiera danych G-code. Proszę poddać go obróbce w " -"programie Orca Slicer i wyeksportować jako nowy plik .gcode.3mf." +msgid "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer and export a new .gcode.3mf file." +msgstr "Plik .gcode.3mf nie zawiera danych G-code. Proszę poddać go obróbce w programie Orca Slicer i wyeksportować jako nowy plik .gcode.3mf." #, c-format, boost-format msgid "File '%s' was lost! Please download it again." @@ -5061,19 +4785,11 @@ msgstr "Pobieranie zakończone" msgid "Downloading %d%%..." msgstr "Pobieranie %d%%..." -msgid "" -"Reconnecting the printer, the operation cannot be completed immediately, " -"please try again later." -msgstr "" -"Ponowne łączenie z drukarką, operacja nie może być teraz zakończona, spróbuj " -"ponownie później." +msgid "Reconnecting the printer, the operation cannot be completed immediately, please try again later." +msgstr "Ponowne łączenie z drukarką, operacja nie może być teraz zakończona, spróbuj ponownie później." -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" -"Więcej niż 4 aplikacje Studio/Handy korzystają z dostępu zdalnego, możesz " -"zamknąć kilka z nich i spróbować ponownie." +msgid "Over 4 systems/handy are using remote access, you can close some and try again." +msgstr "Więcej niż 4 aplikacje Studio/Handy korzystają z dostępu zdalnego, możesz zamknąć kilka z nich i spróbować ponownie." msgid "File does not exist." msgstr "Plik nie istnieje." @@ -5133,12 +4849,6 @@ msgstr "Odwróć oś obrotu (Roll)" msgid "Printing Progress" msgstr "Postęp druku" -msgid "Resume" -msgstr "Wznów" - -msgid "Stop" -msgstr "Zatrzymaj" - msgid "0" msgstr "0" @@ -5158,9 +4868,7 @@ msgstr "" msgid "How do you like this printing file?" msgstr "Co sądzisz o tym pliku druku?" -msgid "" -"(The model has already been rated. Your rating will overwrite the previous " -"rating.)" +msgid "(The model has already been rated. Your rating will overwrite the previous rating.)" msgstr "(Ten model już został oceniony. Twoja ocena zastąpi poprzednią ocenę.)" msgid "Rate" @@ -5182,7 +4890,7 @@ msgid "Control" msgstr "Sterowanie" msgid "Printer Parts" -msgstr "Części drukarki" +msgstr "Części głowicy" msgid "Print Options" msgstr "Opcje drukowania" @@ -5221,7 +4929,7 @@ msgid "Downloading..." msgstr "Pobieranie..." msgid "Cloud Slicing..." -msgstr "Krojenie w chmurze..." +msgstr "Cięcie w chmurze..." #, c-format, boost-format msgid "In Cloud Slicing Queue, there are %s tasks ahead." @@ -5235,28 +4943,20 @@ msgstr "Warstwa: %s" msgid "Layer: %d/%d" msgstr "Warstwa: %d/%d" -msgid "" -"Please heat the nozzle to above 170 degree before loading or unloading " -"filament." -msgstr "" -"Przed załadowaniem lub wyładunkiem filamentu, podgrzej dyszę do temperatury " -"powyżej 170 stopni." +msgid "Please heat the nozzle to above 170 degree before loading or unloading filament." +msgstr "Przed załadowaniem lub wyładunkiem filamentu, podgrzej dyszę do temperatury powyżej 170 stopni." msgid "Still unload" -msgstr "Wyładuj" +msgstr "Wycofaj" msgid "Still load" -msgstr "Załaduj" +msgstr "Podaj" msgid "Please select an AMS slot before calibration" msgstr "Przed kalibracją wybierz gniazdo AMS" -msgid "" -"Cannot read filament info: the filament is loaded to the tool head,please " -"unload the filament and try again." -msgstr "" -"Nie można odczytać informacji o filamentach: filament jest załadowany w " -"głowicy narzędzia, proszę go wyładować i spróbować ponownie." +msgid "Cannot read filament info: the filament is loaded to the tool head,please unload the filament and try again." +msgstr "Nie można odczytać informacji o filamentach: filament jest załadowany w głowicy drukującej, proszę go wyładować i spróbować ponownie." msgid "This only takes effect during printing" msgstr "To działa tylko podczas drukowania" @@ -5265,10 +4965,10 @@ msgid "Silent" msgstr "Cichy" msgid "Standard" -msgstr "Standardowy" +msgstr "Standard" msgid "Sport" -msgstr "Sportowy" +msgstr "Sport" msgid "Ludicrous" msgstr "Szalony" @@ -5322,12 +5022,10 @@ msgid " can not be opened\n" msgstr " nie można otworzyć\n" msgid "" -"The following issues occurred during the process of uploading images. Do you " -"want to ignore them?\n" +"The following issues occurred during the process of uploading images. Do you want to ignore them?\n" "\n" msgstr "" -"Podczas procesu przesyłania obrazów wystąpiły następujące problemy. Czy " -"chcesz je zignorować?\n" +"Podczas procesu przesyłania obrazów wystąpiły następujące problemy. Czy chcesz je zignorować?\n" "\n" msgid "info" @@ -5347,8 +5045,7 @@ msgid "" "\n" " error code: " msgstr "" -"Wynik twojego komentarza nie może być przesłany z powodu pewnych przyczyn. " -"Jak następuje:\n" +"Wynik twojego komentarza nie może być przesłany z powodu następujących przyczyn:\n" "\n" " kod błędu: " @@ -5364,12 +5061,8 @@ msgstr "" "\n" "Czy chcesz przenieść się na stronę internetową w celu oceny?" -msgid "" -"Some of your images failed to upload. Would you like to redirect to the " -"webpage for rating?" -msgstr "" -"Niektóre z twoich zdjęć nie zostały przesłane. Chcesz przekierować się na " -"stronę internetową w celu oceny?" +msgid "Some of your images failed to upload. Would you like to redirect to the webpage for rating?" +msgstr "Niektóre z twoich zdjęć nie zostały przesłane. Chcesz przekierować się na stronę internetową w celu oceny?" msgid "You can select up to 16 images." msgstr "Możesz wybrać maksymalnie 16 zdjęć." @@ -5420,12 +5113,8 @@ msgstr "Pomiń" msgid "Newer 3mf version" msgstr "Nowa wersja 3mf" -msgid "" -"The 3mf file version is in Beta and it is newer than the current OrcaSlicer " -"version." -msgstr "" -"Wersja pliku 3MF jest w wersji Beta i jest nowsza niż obecna wersja " -"OrcaSlicer." +msgid "The 3mf file version is in Beta and it is newer than the current OrcaSlicer version." +msgstr "Wersja pliku 3MF jest w wersji Beta i jest nowsza niż obecna wersja OrcaSlicer." msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "Jeśli chciałbyś wypróbować OrcaSlicer Beta, możesz kliknąć tutaj." @@ -5437,9 +5126,7 @@ msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "Wersja pliku 3MF jest nowsza niż obecna w wersji OrcaSlicer." msgid "Update your Orca Slicer could enable all functionality in the 3mf file." -msgstr "" -"Zaktualizowanie OrcaSlicer może umożliwić korzystanie ze wszystkich funkcji " -"pliku 3MF." +msgstr "Zaktualizowanie OrcaSlicer może umożliwić korzystanie ze wszystkich funkcji pliku 3MF." msgid "Current Version: " msgstr "Obecna wersja:" @@ -5571,7 +5258,7 @@ msgid "Color painting" msgstr "Malowanie kolorem" msgid "Cut connectors" -msgstr "Usuń połączenie" +msgstr "Utnij łącznik" msgid "Layers" msgstr "Warstwy" @@ -5579,12 +5266,8 @@ msgstr "Warstwy" msgid "Range" msgstr "Zakres" -msgid "" -"The application cannot run normally because OpenGL version is lower than " -"2.0.\n" -msgstr "" -"Aplikacja nie może działać poprawnie, ponieważ wersja OpenGL jest niższa niż " -"2.0.\n" +msgid "The application cannot run normally because OpenGL version is lower than 2.0.\n" +msgstr "Aplikacja nie może działać poprawnie, ponieważ wersja OpenGL jest niższa niż 2.0.\n" msgid "Please upgrade your graphics card driver." msgstr "Proszę zaktualizować sterownik karty graficznej." @@ -5615,17 +5298,13 @@ msgid "Enable AI monitoring of printing" msgstr "Włącz monitorowanie drukowania przez sztuczną inteligencję" msgid "Sensitivity of pausing is" -msgstr "Czułość wstrzymywania wynosi" +msgstr "Czułość pauzy wynosi" msgid "Enable detection of build plate position" msgstr "Włącz wykrywanie położenia płyty roboczej" -msgid "" -"The localization tag of build plate is detected, and printing is paused if " -"the tag is not in predefined range." -msgstr "" -"Jeśli punkt kontrolny lokalizacji płyty roboczej (kod QR), zostanie wykryty " -"w niewłaściwym miejscu, drukowanie zostanie wstrzymane." +msgid "The localization tag of build plate is detected, and printing is paused if the tag is not in predefined range." +msgstr "Jeśli punkt kontrolny lokalizacji płyty roboczej (kod QR), zostanie wykryty w niewłaściwym miejscu, drukowanie zostanie wstrzymane." msgid "First Layer Inspection" msgstr "Inspekcja pierwszej warstwy" @@ -5643,9 +5322,7 @@ msgid "Nozzle Clumping Detection" msgstr "Wykrywanie \"zalepienia\" się dyszy" msgid "Check if the nozzle is clumping by filament or other foreign objects." -msgstr "" -"Sprawdź, czy dysza nie została zatkana filamentem lub innych obcych " -"przedmiotem." +msgstr "Sprawdź, czy dysza nie została zatkana filamentem lub innym obcym przedmiotem." msgid "Nozzle Type" msgstr "Rodzaj dyszy" @@ -5654,7 +5331,7 @@ msgid "Stainless Steel" msgstr "Stal nierdzewna" msgid "Hardened Steel" -msgstr "Stal utwardzana" +msgstr "Stal hartowana" #, c-format, boost-format msgid "%.1f" @@ -5704,7 +5381,7 @@ msgid "Invalid name, the following characters are not allowed:" msgstr "Nieprawidłowa nazwa, poniższe znaki są niedozwolone:" msgid "Sliced Info" -msgstr "Informacje o nałożeniu warstw" +msgstr "Informacje o cięciu" msgid "Used Filament (m)" msgstr "Użyty filament (m)" @@ -5751,28 +5428,17 @@ msgstr "Wybierz filamenty do użycia" msgid "Search plate, object and part." msgstr "Szukaj stołu, obiektu i części." -msgid "" -"No AMS filaments. Please select a printer in 'Device' page to load AMS info." -msgstr "" -"Brak odczytu filamentów w AMS. Aby wyświetlić informacje AMS, wybierz " -"drukarkę na stronie Urządzenia." +msgid "No AMS filaments. Please select a printer in 'Device' page to load AMS info." +msgstr "Brak odczytu filamentów w AMS. Aby wyświetlić informacje AMS, wybierz drukarkę na stronie Urządzenia." msgid "Sync filaments with AMS" msgstr "Synchronizuj filamenty z AMS" -msgid "" -"Sync filaments with AMS will drop all current selected filament presets and " -"colors. Do you want to continue?" -msgstr "" -"Synchronizacja filamentów z AMS usunie wszystkie obecnie wybrane profile " -"filamentu i koloru. Czy chcesz kontynuować?" +msgid "Sync filaments with AMS will drop all current selected filament presets and colors. Do you want to continue?" +msgstr "Synchronizacja filamentów z AMS usunie wszystkie obecnie wybrane profile filamentu i koloru. Czy chcesz kontynuować?" -msgid "" -"Already did a synchronization, do you want to sync only changes or resync " -"all?" -msgstr "" -"Synchronizacja została już wykonana. Chcesz synchronizować tylko zmiany czy " -"zaktualizować wszystko ponownie?" +msgid "Already did a synchronization, do you want to sync only changes or resync all?" +msgstr "Synchronizacja została już wykonana. Chcesz synchronizować tylko zmiany czy zaktualizować wszystko ponownie?" msgid "Sync" msgstr "Tylko zmiany" @@ -5783,26 +5449,16 @@ msgstr "Zaktualizuj wszystko" msgid "There are no compatible filaments, and sync is not performed." msgstr "Brak kompatybilnych filamentów, synchronizacja nie została wykonana." -msgid "" -"There are some unknown filaments mapped to generic preset. Please update " -"Orca Slicer or restart Orca Slicer to check if there is an update to system " -"presets." -msgstr "" -"Istnieją nieznane filamenty przypisane do ogólnych profili. Proszę " -"zaktualizować Orca Slicer lub zrestartować go, aby sprawdzić dostępność " -"aktualizacji profili systemowych." +msgid "There are some unknown filaments mapped to generic preset. Please update Orca Slicer or restart Orca Slicer to check if there is an update to system presets." +msgstr "Istnieją nieznane filamenty przypisane do ogólnych profili. Proszę zaktualizować Orca Slicer lub zrestartować go, aby sprawdzić dostępność aktualizacji profili systemowych." #, boost-format msgid "Do you want to save changes to \"%1%\"?" msgstr "Czy chcesz zapisać zmiany w \"%1%\"?" #, c-format, boost-format -msgid "" -"Successfully unmounted. The device %s(%s) can now be safely removed from the " -"computer." -msgstr "" -"Pomyślnie odmontowano. Urządzenie %s(%s) może teraz być bezpiecznie usunięte " -"z komputera." +msgid "Successfully unmounted. The device %s(%s) can now be safely removed from the computer." +msgstr "Pomyślnie odmontowano. Urządzenie %s(%s) może teraz być bezpiecznie usunięte z komputera." #, c-format, boost-format msgid "Ejecting of device %s(%s) has failed." @@ -5814,30 +5470,14 @@ msgstr "Wykryto poprzedni niezapisany projekt. Czy chcesz go przywrócić?" msgid "Restore" msgstr "Przywróć" -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 "" -"Aktualna temperatura podgrzewanego stołu jest stosunkowo wysoka. Dysza może " -"się zatkać podczas drukowania tym filamentu w zamkniętej obudowie. Proszę " -"otworzyć drzwi przednie i/lub zdjąć górny panel." +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 "Aktualna temperatura podgrzewanego stołu jest stosunkowo wysoka. Dysza może się zatkać podczas drukowania tym filamentu w zamkniętej obudowie. Proszę otworzyć drzwi przednie i/lub zdjąć górny panel." -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 "" -"Twardość dyszy wymagana przez filament jest wyższa niż domyślna twardość " -"dyszy drukarki. Proszę wymienić dyszę na hartowaną lub zmienić filament, w " -"przeciwnym razie dysza może ulec zużyciu lub uszkodzeniu." +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 "Twardość dyszy wymagana przez filament jest wyższa niż domyślna twardość dyszy drukarki. Proszę wymienić dyszę na hartowaną lub zmienić filament, w przeciwnym razie dysza może ulec zużyciu lub uszkodzeniu." -msgid "" -"Enabling traditional timelapse photography may cause surface imperfections. " -"It is recommended to change to smooth mode." -msgstr "" -"Włączenie tradycyjnego timelapsu może powodować niedoskonałości powierzchni. " -"Zaleca się zmianę trybu na płynny." +msgid "Enabling traditional timelapse photography may cause surface imperfections. It is recommended to change to smooth mode." +msgstr "Włączenie tradycyjnego timelapsu może powodować niedoskonałości powierzchni. Zaleca się zmianę trybu na płynny." msgid "Expand sidebar" msgstr "Rozwiń pasek boczny" @@ -5850,30 +5490,21 @@ msgid "Loading file: %s" msgstr "Wczytywanie pliku: %s" msgid "The 3mf is not supported by OrcaSlicer, load geometry data only." -msgstr "" -"Plik 3MF nie jest obsługiwany przez OrcaSlicer, wczytuj tylko dane geometrii." +msgstr "Plik 3MF nie jest obsługiwany przez OrcaSlicer, wczytuj tylko dane geometrii." msgid "Load 3mf" msgstr "Wczytaj 3MF" #, c-format, boost-format -msgid "" -"The 3mf's version %s is newer than %s's version %s, Found following keys " -"unrecognized:" -msgstr "" -"Wersja 3mf %s jest nowsza niż wersja %s %s, znaleziono następujące " -"nierozpoznane klucze:" +msgid "The 3mf's version %s is newer than %s's version %s, Found following keys unrecognized:" +msgstr "Wersja 3mf %s jest nowsza niż wersja %s %s, znaleziono następujące nierozpoznane klucze:" msgid "You'd better upgrade your software.\n" msgstr "Lepiej zaktualizuj swoje oprogramowanie.\n" #, c-format, boost-format -msgid "" -"The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your " -"software." -msgstr "" -"Wersja 3mf %s jest nowsza niż wersja %s %s, sugeruje się aktualizację " -"oprogramowania." +msgid "The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your software." +msgstr "Wersja 3mf %s jest nowsza niż wersja %s %s, sugeruje się aktualizację oprogramowania." msgid "Invalid values found in the 3mf:" msgstr "Znaleziono nieprawidłowe wartości w pliku 3MF:" @@ -5882,29 +5513,19 @@ msgid "Please correct them in the param tabs" msgstr "Proszę poprawić je na kartach parametrów" msgid "The 3mf has following modified G-codes in filament or printer presets:" -msgstr "" -"Plik 3MF ma następujące zmodyfikowane kody G w profilach filamentu lub " -"drukarki:" +msgstr "Plik 3MF ma następujące zmodyfikowane G-code w profilach filamentu lub drukarki:" -msgid "" -"Please confirm that these modified G-codes are safe to prevent any damage to " -"the machine!" -msgstr "" -"Proszę potwierdzić, że te zmodyfikowane kody G są bezpieczne, aby zapobiec " -"ewentualnym uszkodzeniom maszyny!" +msgid "Please confirm that these modified G-codes are safe to prevent any damage to the machine!" +msgstr "Proszę potwierdzić, że te zmodyfikowane G-code są bezpieczne, aby zapobiec ewentualnym uszkodzeniom maszyny!" msgid "Modified G-codes" -msgstr "Zmodyfikowane kody G" +msgstr "Zmodyfikowane G-codes" msgid "The 3mf has following customized filament or printer presets:" msgstr "Plik 3MF ma następujące dostosowane profile filamentu lub drukarki:" -msgid "" -"Please confirm that the G-codes within these presets are safe to prevent any " -"damage to the machine!" -msgstr "" -"Proszę potwierdzić, że G-code w tych profilach są bezpieczne, aby zapobiec " -"ewentualnym uszkodzeniom maszyny!" +msgid "Please confirm that the G-codes within these presets are safe to prevent any damage to the machine!" +msgstr "Proszę potwierdzić, że G-code w tych profilach są bezpieczne, aby zapobiec ewentualnym uszkodzeniom maszyny!" msgid "Customized Preset" msgstr "Dostosowany profil" @@ -5917,14 +5538,13 @@ msgstr "Nazwa może zawierać nieczytelne znaki!" #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." -msgstr "" -"Nie udało się wczytać pliku \"%1%\". Znaleziono nieprawidłową konfigurację." +msgstr "Nie udało się wczytać pliku \"%1%\". Znaleziono nieprawidłową konfigurację." msgid "Objects with zero volume removed" msgstr "Usunięto obiekty o zerowym wolumenie" msgid "The volume of the object is zero" -msgstr "Wolumen tego obiektu wynosi zero" +msgstr "Objętość tego obiektu wynosi zero" #, c-format, boost-format msgid "" @@ -5950,9 +5570,7 @@ msgid "Multi-part object detected" msgstr "Wykryto obiekt składający się z wielu części" msgid "Load these files as a single object with multiple parts?\n" -msgstr "" -"Czy chcesz wczytać te pliki jako pojedynczy obiekt składający się z wielu " -"części?\n" +msgstr "Czy chcesz wczytać te pliki jako pojedynczy obiekt składający się z wielu części?\n" msgid "Object with multiple parts was detected" msgstr "Wykryto obiekt składający się z wielu części" @@ -5960,12 +5578,8 @@ msgstr "Wykryto obiekt składający się z wielu części" msgid "The file does not contain any geometry data." msgstr "Plik nie zawiera żadnych danych geometrycznych." -msgid "" -"Your object appears to be too large, Do you want to scale it down to fit the " -"heat bed automatically?" -msgstr "" -"Importowany model przekracza wymiary przestrzeni roboczej. Czy chcesz go " -"przeskalowanć do odpowiednich rozmiarów?" +msgid "Your object appears to be too large, Do you want to scale it down to fit the heat bed automatically?" +msgstr "Importowany model przekracza wymiary przestrzeni roboczej. Czy chcesz go przeskalowanć do odpowiednich rozmiarów?" msgid "Object too large" msgstr "Obiekt jest zbyt duży" @@ -5994,7 +5608,7 @@ msgid "Comfirm Save As" msgstr "Potwierdź Zapisz jako" msgid "Delete object which is a part of cut object" -msgstr "Usuń obiekt będący częścią wyciętego obiektu" +msgstr "Usuń obiekt będący częścią przeciętego obiektu" msgid "" "You try to delete an object which is a part of a cut object.\n" @@ -6048,7 +5662,7 @@ msgid "Slicing" msgstr "Cięcie" msgid "There are warnings after slicing models:" -msgstr "Po wykonaniu cięcia występują ostrzeżenia w modelach:" +msgstr "Po wykonaniu cięcia modeli występują ostrzeżenia:" msgid "warnings" msgstr "ostrzeżenia" @@ -6066,11 +5680,8 @@ msgstr "Krojenie płyty %d" msgid "Please resolve the slicing errors and publish again." msgstr "Rozwiąż błędy w cięciu i opublikuj ponownie." -msgid "" -"Network Plug-in is not detected. Network related features are unavailable." -msgstr "" -"Wtyczka sieciowa nie jest wykrywana. Funkcje związane z siecią są " -"niedostępne." +msgid "Network Plug-in is not detected. Network related features are unavailable." +msgstr "Wtyczka sieciowa nie jest wykrywana. Funkcje związane z siecią są niedostępne." msgid "" "Preview only mode:\n" @@ -6080,8 +5691,7 @@ msgstr "" "Wczytany plik zawiera tylko G-code, nie można wejść na stronę Przygotuj" msgid "You can keep the modified presets to the new project or discard them" -msgstr "" -"Możesz zachować zmodyfikowane profile w nowym projekcie lub je odrzucić" +msgstr "Możesz zachować zmodyfikowane profile w nowym projekcie lub je odrzucić" msgid "Creating a new project" msgstr "Tworzenie nowego projektu" @@ -6091,12 +5701,10 @@ msgstr "Wczytaj projekt" msgid "" "Failed to save the project.\n" -"Please check whether the folder exists online or if other programs open the " -"project file." +"Please check whether the folder exists online or if other programs open the project file." msgstr "" "Nie udało się zapisać projektu.\n" -"Sprawdź, czy folder istnieje w trybie online lub czy inne programy nie " -"używają pliku projektu." +"Sprawdź, czy folder istnieje w trybie online lub czy inne programy nie używają pliku projektu." msgid "Save project" msgstr "Zapisz projekt" @@ -6120,12 +5728,8 @@ msgstr "Pobieranie nie powiodło się, wyjątek - rozmiar pliku." msgid "Project downloaded %d%%" msgstr "Projekt pobrany w %d%%" -msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " -"import it." -msgstr "" -"Importowanie do OrcaSlicer nie powiodło się. Proszę pobrać plik i ręcznie go " -"zaimportować." +msgid "Importing to Bambu Studio failed. Please download the file and manually import it." +msgstr "Importowanie do OrcaSlicer nie powiodło się. Proszę pobrać plik i ręcznie go zaimportować." msgid "Import SLA archive" msgstr "Importuj archiwum SLA" @@ -6134,10 +5738,10 @@ msgid "The selected file" msgstr "Wybrany plik" msgid "does not contain valid gcode." -msgstr "nie zawiera prawidłowego kodu G." +msgstr "nie zawiera prawidłowego gcode." msgid "Error occurs while loading G-code file" -msgstr "Wystąpił błąd podczas wczytywania pliku z kodem G" +msgstr "Wystąpił błąd podczas wczytywania pliku z G-code" msgid "Drop project file" msgstr "Upuść plik projektu" @@ -6170,8 +5774,7 @@ msgid "All objects will be removed, continue?" msgstr "Wszystkie obiekty zostaną usunięte, kontynuować?" msgid "The current project has unsaved changes, save it before continue?" -msgstr "" -"Aktualny projekt ma niezapisane zmiany, zapisać go przed kontynuowaniem?" +msgstr "Aktualny projekt ma niezapisane zmiany, czy zapisać go przed kontynuacją?" msgid "Remember my choice." msgstr "Zapamiętaj moją decyzję." @@ -6198,19 +5801,11 @@ msgid "Save Sliced file as:" msgstr "Zapisz plik po wykonaniu cięcia jako:" #, c-format, boost-format -msgid "" -"The file %s has been sent to the printer's storage space and can be viewed " -"on the printer." -msgstr "" -"Plik %s został wysłany do przestrzeni magazynowej drukarki i może być " -"oglądany na drukarce." +msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." +msgstr "Plik %s został wysłany do pamięci drukarki i można go obejrzeć na urządzeniu." -msgid "" -"Unable to perform boolean operation on model meshes. Only positive parts " -"will be kept. You may fix the meshes and try agian." -msgstr "" -"Nie można wykonać operacji boolowskich na siatkach modelu. Eksportowane będą " -"tylko części dodatnie" +msgid "Unable to perform boolean operation on model meshes. Only positive parts will be kept. You may fix the meshes and try agian." +msgstr "Nie można wykonać operacji boolowskich na siatkach modelu. Eksportowane będą tylko części dodatnie" #, boost-format msgid "Reason: part \"%1%\" is empty." @@ -6229,22 +5824,17 @@ msgid "Reason: \"%1%\" and another part have no intersection." msgstr "Przyczyna: \"%1%\" i inna część nie mają wspólnego przecięcia." msgid "" -"Are you sure you want to store original SVGs with their local paths into the " -"3MF file?\n" +"Are you sure you want to store original SVGs with their local paths into the 3MF file?\n" "If you hit 'NO', all SVGs in the project will not be editable any more." msgstr "" -"Czy na pewno chcesz przechowywać oryginalne pliki SVG wraz z ich lokalnymi " -"ścieżkami w pliku 3MF?\n" -"Jeśli wybierzesz 'NIE', wszystkie pliki SVG w projekcie przestaną być " -"edytowalne." +"Czy na pewno chcesz przechowywać oryginalne pliki SVG wraz z ich lokalnymi ścieżkami w pliku 3MF?\n" +"Jeśli wybierzesz 'NIE', wszystkie pliki SVG w projekcie przestaną być edytowalne." msgid "Private protection" msgstr "Ochrona prywatności" msgid "Is the printer ready? Is the print sheet in place, empty and clean?" -msgstr "" -"Czy drukarka jest gotowa? Czy arkusz drukujący jest na miejscu, pusty i " -"czysty?" +msgstr "Czy drukarka jest gotowa? Czy arkusz drukujący jest na miejscu, pusty i czysty?" msgid "Upload and Print" msgstr "Prześlij i drukuj" @@ -6254,8 +5844,7 @@ msgid "" "Suggest to use auto-arrange to avoid collisions when printing." msgstr "" "Drukowanie według obiektu: \n" -"Zalecamy użycie automatycznego rozmieszczenia, aby uniknąć kolizji podczas " -"drukowania." +"Zalecamy użycie automatycznego rozmieszczenia, aby uniknąć kolizji podczas drukowania." msgid "Send G-code" msgstr "Wyślij G-code" @@ -6314,23 +5903,12 @@ msgstr "Trójkąty: %1%\n" msgid "Tips:" msgstr "Wskazówki:" -msgid "" -"\"Fix Model\" feature is currently only on Windows. Please repair the model " -"on Orca Slicer(windows) or CAD softwares." -msgstr "" -"Funkcja „Napraw model” jest obecnie dostępna tylko w systemie Windows. " -"Proszę naprawić model za pomocą programu Orca Slicer (Windows) lub " -"oprogramowania CAD." +msgid "\"Fix Model\" feature is currently only on Windows. Please repair the model on Orca Slicer(windows) or CAD softwares." +msgstr "Funkcja „Napraw model” jest obecnie dostępna tylko w systemie Windows. Proszę naprawić model za pomocą programu Orca Slicer (Windows) lub oprogramowania CAD." #, c-format, boost-format -msgid "" -"Plate% d: %s is not suggested to be used to print filament %s(%s). If you " -"still want to do this printing, please set this filament's bed temperature " -"to non zero." -msgstr "" -"Płyta% d:%s Nie zaleca się używania do druku filamentu %s(%s). Jeśli nadal " -"chcesz wydrukować ten filament, ustaw temperaturę stołu dla tego filamentu " -"na większą niż zero." +msgid "Plate% d: %s is not suggested to be used to print filament %s(%s). If you still want to do this printing, please set this filament's bed temperature to non zero." +msgstr "Płyta% d:%s Nie zaleca się używania do druku filamentu %s(%s). Jeśli nadal chcesz wydrukować ten filament, ustaw temperaturę stołu dla tego filamentu na większą niż zero." msgid "Switching the language requires application restart.\n" msgstr "Zmiana języka wymaga ponownego uruchomienia aplikacji.\n" @@ -6342,9 +5920,7 @@ msgid "Language selection" msgstr "Wybór języka" msgid "Switching application language while some presets are modified." -msgstr "" -"Zmiana języka aplikacji przy jednoczesnym istniejących zmodyfikowanych " -"ustawieniach." +msgstr "Zmiana języka aplikacji przy jednoczesnym istniejących zmodyfikowanych ustawieniach." msgid "Changing application language" msgstr "Zmiana języka aplikacji" @@ -6388,6 +5964,9 @@ msgstr "Region Logowania" msgid "Stealth Mode" msgstr "Tryb \"Niewidzialny\"" +msgid "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." +msgstr "Zatrzymuje to transmisję danych do chmury Bambu. Użytkownicy, którzy nie korzystają z maszyn BBL lub używają tylko trybu LAN, mogą bezpiecznie włączyć tę funkcję." + msgid "Enable network plugin" msgstr "Włącz wtyczkę sieciową (BambuLab)" @@ -6406,23 +5985,11 @@ msgstr "Jednostki" msgid "Allow only one OrcaSlicer instance" msgstr "Zezwól tylko na jedną instancję programu 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 "" -"W systemie macOS domyślnie działa tylko jedna instancja aplikacji. Jednak z " -"wiersza poleceń można uruchomić kilka instancji tej samej aplikacji. W takim " -"przypadku te ustawienia umożliwią działanie tylko jednej instancji." +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 "W systemie macOS domyślnie działa tylko jedna instancja aplikacji. Jednak z wiersza poleceń można uruchomić kilka instancji tej samej aplikacji. W takim przypadku te ustawienia umożliwią działanie tylko jednej instancji." -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 "" -"Jeśli ta opcja jest włączona, po uruchomieniu OrcaSlicer, gdy inna instancja " -"tego samego OrcaSlicer jest już uruchomiona, ta instancja zostanie ponownie " -"aktywowana." +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 "Jeśli ta opcja jest włączona, po uruchomieniu OrcaSlicer, gdy inna instancja tego samego OrcaSlicer jest już uruchomiona, ta instancja zostanie ponownie aktywowana." msgid "Home" msgstr "Strona główna" @@ -6451,19 +6018,14 @@ msgstr "" msgid "Zoom to mouse position" msgstr "Powiększ do pozycji myszki" -msgid "" -"Zoom in towards the mouse pointer's position in the 3D view, rather than the " -"2D window center." -msgstr "" -"Powiększ do pozycji wskaźnika myszy w widoku 3D, zamiast do środka okna 2D." +msgid "Zoom in towards the mouse pointer's position in the 3D view, rather than the 2D window center." +msgstr "Powiększ do pozycji wskaźnika myszy w widoku 3D, zamiast do środka okna 2D." msgid "Use free camera" msgstr "Użyj swobodnej kamery" msgid "If enabled, use free camera. If not enabled, use constrained camera." -msgstr "" -"Jeśli włączone, to używany będzie wolny widok. Jeśli wyłączone, to widok " -"będzie ograniczony." +msgstr "Jeśli włączone, to używany będzie wolny widok. Jeśli wyłączone, to widok będzie ograniczony." msgid "Reverse mouse zoom" msgstr "Odwrócone przybliżanie myszką" @@ -6484,52 +6046,34 @@ msgid "If enabled, useful hints are displayed at startup." msgstr "Jeśli włączone, przy uruchamianiu wyświetlane są przydatne wskazówki." msgid "Flushing volumes: Auto-calculate everytime the color changed." -msgstr "" -"Objętości płukania: Automatyczne obliczanie za każdym razem, gdy zmieni się " -"kolor" +msgstr "Objętości płukania: Automatyczne obliczanie za każdym razem, gdy zmieni się kolor" msgid "If enabled, auto-calculate everytime the color changed." -msgstr "" -"Jeśli włączone, automatyczne obliczanie za każdym razem, gdy zmieni się kolor" +msgstr "Jeśli włączone, automatyczne obliczanie za każdym razem, gdy zmieni się kolor" -msgid "" -"Flushing volumes: Auto-calculate every time when the filament is changed." -msgstr "" -"Objętości płukania: Automatycznie obliczaj za każdym razem, gdy zmieniany " -"jest filament" +msgid "Flushing volumes: Auto-calculate every time when the filament is changed." +msgstr "Objętości płukania: Automatycznie obliczaj za każdym razem, gdy zmieniany jest filament" msgid "If enabled, auto-calculate every time when filament is changed" -msgstr "" -"Jeśli ta opcja jest włączona, automatycznie obliczaj za każdym razem, gdy " -"zmieniany jest filament." +msgstr "Jeśli ta opcja jest włączona, automatycznie obliczaj za każdym razem, gdy zmieniany jest filament." msgid "Remember printer configuration" msgstr "Zapamiętaj konfigurację drukarki" -msgid "" -"If enabled, Orca will remember and switch filament/process configuration for " -"each printer automatically." -msgstr "" -"Jeśli ta opcja jest włączona, Orca będzie automatycznie zapamiętywać i " -"przełączać konfigurację filamentu/procesu dla każdej drukarki." +msgid "If enabled, Orca will remember and switch filament/process configuration for each printer automatically." +msgstr "Jeśli ta opcja jest włączona, Orca będzie automatycznie zapamiętywać i przełączać konfigurację filamentu/procesu dla każdej drukarki." msgid "Multi-device Management(Take effect after restarting Studio)." -msgstr "" -"Obsługa wielu urządzeń (zacznie być aktywna po ponownym uruchomieniu Slicera)" +msgstr "Obsługa wielu urządzeń (zacznie być aktywna po ponownym uruchomieniu Slicera)" -msgid "" -"With this option enabled, you can send a task to multiple devices at the " -"same time and manage multiple devices." -msgstr "" -"Dzięki tej opcji możesz wysyłać zadania do wielu urządzeń jednocześnie i " -"zarządzać nimi." +msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." +msgstr "Dzięki tej opcji możesz wysyłać zadania do wielu urządzeń jednocześnie i zarządzać nimi." msgid "Network" msgstr "Sieć" msgid "Auto sync user presets(Printer/Filament/Process)" -msgstr "" -"Automatyczna synchronizacja profili użytkownika (Drukarka/Filament/Proces)" +msgstr "Automatyczna synchronizacja profili użytkownika (Drukarka/Filament/Proces)" msgid "User Sync" msgstr "Synchronizacja użytkownika" @@ -6550,25 +6094,19 @@ msgid "Associate .3mf files to OrcaSlicer" msgstr "Skojarz pliki .3mf z OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .3mf files" -msgstr "" -"Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania " -"plików .3mf" +msgstr "Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania plików .3mf" msgid "Associate .stl files to OrcaSlicer" msgstr "Skojarz pliki .stl z OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .stl files" -msgstr "" -"Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania " -"plików .stl" +msgstr "Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania plików .stl" msgid "Associate .step/.stp files to OrcaSlicer" msgstr "Skojarz pliki .step/.stp z OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .step files" -msgstr "" -"Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania " -"plików .step" +msgstr "Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania plików .step" msgid "Maximum recent projects" msgstr "Maksymalna liczba ostatnich projektów" @@ -6585,11 +6123,8 @@ msgstr "Brak ostrzeżeń przy wczytywaniu plików 3MF z zmodyfikowanymi G-code" msgid "Auto-Backup" msgstr "Auto-Zapis" -msgid "" -"Backup your project periodically for restoring from the occasional crash." -msgstr "" -"Wykonuj okresowe kopie zapasowe projektu w celu przywracania po " -"sporadycznych awariach." +msgid "Backup your project periodically for restoring from the occasional crash." +msgstr "Wykonuj okresowe kopie zapasowe projektu w celu przywracania po sporadycznych awariach." msgid "every" msgstr "każdy" @@ -6799,8 +6334,7 @@ msgid "Log Out" msgstr "Wyloguj się" msgid "Slice all plate to obtain time and filament estimation" -msgstr "" -"Przetnij wszystkie płyty, aby uzyskać oszacowanie czasu i ilości filamentu" +msgstr "Potnij wszystkie płyty, aby uzyskać oszacowany czas i ilości filamentu" msgid "Packing project data into 3mf file" msgstr "Pakowanie danych projektu do pliku 3mf" @@ -6839,15 +6373,6 @@ msgstr "Profil użytkownika" msgid "Preset Inside Project" msgstr "Profil wewnątrz projektu" -msgid "Name is invalid;" -msgstr "Nazwa jest nieprawidłowa;" - -msgid "illegal characters:" -msgstr "niedozwolone znaki:" - -msgid "illegal suffix:" -msgstr "niedozwolony sufiks:" - msgid "Name is unavailable." msgstr "Nazwa jest niedostępna." @@ -6860,20 +6385,11 @@ msgstr "Profil \"%1%\" już istnieje." #, boost-format msgid "Preset \"%1%\" already exists and is incompatible with current printer." -msgstr "Profil \"%1%\" już istnieje i jest niekompatybilny z obecnym drukarką." +msgstr "Profil \"%1%\" już istnieje i jest niekompatybilny z aktualną drukarką." msgid "Please note that saving action will replace this preset" msgstr "Zwróć uwagę, że zapisanie spowoduje zastąpienie tego profilu" -msgid "The name is not allowed to be empty." -msgstr "Nazwa nie może być pusta." - -msgid "The name is not allowed to start with space character." -msgstr "Nazwa nie może zaczynać się od znaku spacji." - -msgid "The name is not allowed to end with space character." -msgstr "Nazwa nie może kończyć się na znak spacji." - msgid "The name cannot be the same as a preset alias name." msgstr "Nazwa nie może być taka sama, jak nazwa profilu ustawień" @@ -6931,9 +6447,6 @@ msgstr "Nie możesz znaleźć moich urządzeń?" msgid "Log out successful." msgstr "Wylogowanie powiodło się." -msgid "Offline" -msgstr "Offline" - msgid "Busy" msgstr "Zajęty" @@ -6962,7 +6475,7 @@ msgid "Bed Leveling" msgstr "Poziomowanie stołu" msgid "Flow Dynamics Calibration" -msgstr "Kalibracja Flow Dynamics" +msgstr "Kalibracja Dynamiki Przepływu" msgid "Click here if you can't connect to the printer" msgstr "Kliknij tutaj, jeśli nie możesz połączyć się z drukarką" @@ -6974,8 +6487,7 @@ msgid "Error code" msgstr "Kod błędu" msgid "Printer local connection failed, please try again." -msgstr "" -"Nie udało się nawiązać lokalnego połączenia z drukarką, spróbuj ponownie." +msgstr "Nie udało się nawiązać lokalnego połączenia z drukarką, spróbuj ponownie." msgid "No login account, only printers in LAN mode are displayed" msgstr "Bez logowania na koncie, wyświetlane są tylko drukarki w trybie LAN" @@ -6990,88 +6502,49 @@ msgid "Synchronizing device information time out" msgstr "Upłynął czas synchronizacji informacji o urządzeniu" msgid "Cannot send the print job when the printer is updating firmware" -msgstr "" -"Nie można wysłać zadania do druku, gdy drukarka aktualizuje oprogramowanie" +msgstr "Nie można wysłać zadania do druku, gdy drukarka aktualizuje oprogramowanie" -msgid "" -"The printer is executing instructions. Please restart printing after it ends" -msgstr "" -"Drukarka wykonuje instrukcje. Proszę wznowić drukowanie po ich zakończeniu" +msgid "The printer is executing instructions. Please restart printing after it ends" +msgstr "Drukarka wykonuje instrukcje. Proszę wznowić drukowanie po ich zakończeniu" msgid "The printer is busy on other print job" msgstr "Drukarka jest zajęta innym zadaniem drukowania" #, c-format, boost-format -msgid "" -"Filament %s exceeds the number of AMS slots. Please update the printer " -"firmware to support AMS slot assignment." -msgstr "" -"Filament %s przekracza liczbę slotów AMS. Proszę zaktualizować " -"oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." +msgid "Filament %s exceeds the number of AMS slots. Please update the printer firmware to support AMS slot assignment." +msgstr "Filament %s przekracza liczbę slotów AMS. Proszę zaktualizować oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." -msgid "" -"Filament exceeds the number of AMS slots. Please update the printer firmware " -"to support AMS slot assignment." -msgstr "" -"Filament przekracza liczbę slotów AMS. Proszę zaktualizować oprogramowanie " -"drukarki, aby obsługiwało przypisywanie slotów AMS." +msgid "Filament exceeds the number of AMS slots. Please update the printer firmware to support AMS slot assignment." +msgstr "Filament przekracza liczbę slotów AMS. Proszę zaktualizować oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." -msgid "" -"Filaments to AMS slots mappings have been established. You can click a " -"filament above to change its mapping AMS slot" -msgstr "" -"Ustalono przyporządkowanie filamentów do slotów AMS. Możesz kliknąć na " -"dowolny filament powyżej, aby zmienić jego przypisanie do slotu AMS" +msgid "Filaments to AMS slots mappings have been established. You can click a filament above to change its mapping AMS slot" +msgstr "Ustalono przyporządkowanie filamentów do gniazd w AMS. Możesz kliknąć na dowolny filament powyżej, aby zmienić jego przypisanie do innego gniazda w AMS" -msgid "" -"Please click each filament above to specify its mapping AMS slot before " -"sending the print job" -msgstr "" -"Proszę kliknąć na każdy filament powyżej, aby określić jego przypisany slot " -"AMS przed wysłaniem zadania druku" +msgid "Please click each filament above to specify its mapping AMS slot before sending the print job" +msgstr "Proszę kliknąć na każdy filament powyżej, aby określić jego przypisany slot AMS przed wysłaniem zadania druku" #, c-format, 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 "" -"Filament %s nie pasuje do filamentu w slocie AMS %s. Proszę zaktualizować " -"oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." +msgid "Filament %s does not match the filament in AMS slot %s. Please update the printer firmware to support AMS slot assignment." +msgstr "Filament %s nie pasuje do filamentu w slocie AMS %s. Proszę zaktualizować oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." -msgid "" -"Filament does not match the filament in AMS slot. Please update the printer " -"firmware to support AMS slot assignment." -msgstr "" -"Filament nie pasuje do filamentu w slocie AMS. Proszę zaktualizować " -"oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." +msgid "Filament does not match the filament in AMS slot. Please update the printer firmware to support AMS slot assignment." +msgstr "Filament nie pasuje do filamentu w slocie AMS. Proszę zaktualizować oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." -msgid "" -"The printer firmware only supports sequential mapping of filament => AMS " -"slot." -msgstr "" -"Oprogramowanie drukarki obsługuje tylko sekwencyjne mapowanie filamentu => " -"slot AMS." +msgid "The printer firmware only supports sequential mapping of filament => AMS slot." +msgstr "Oprogramowanie drukarki obsługuje tylko sekwencyjne mapowanie filamentu => slot AMS." msgid "An SD card needs to be inserted before printing." msgstr "Przed rozpoczęciem drukowania należy włożyć kartę SD." #, c-format, boost-format -msgid "" -"The selected printer (%s) is incompatible with the chosen printer profile in " -"the slicer (%s)." -msgstr "" -"Wybrana drukarka (%s) jest niezgodna z wybranym profilem drukarki w " -"programie (%s)." +msgid "The selected printer (%s) is incompatible with the chosen printer profile in the slicer (%s)." +msgstr "Wybrana drukarka (%s) jest niezgodna z wybranym profilem drukarki w programie (%s)." msgid "An SD card needs to be inserted to record timelapse." msgstr "Aby nagrywać timelapse, należy włożyć kartę SD." -msgid "" -"Cannot send the print job to a printer whose firmware is required to get " -"updated." -msgstr "" -"Nie można wysłać zadania druku do drukarki, której oprogramowanie wymaga " -"aktualizacji." +msgid "Cannot send the print job to a printer whose firmware is required to get updated." +msgstr "Nie można wysłać zadania druku do drukarki, której oprogramowanie wymaga aktualizacji." msgid "Cannot send the print job for empty plate" msgstr "Nie można wysłać zadania druku dla pustej płyty" @@ -7079,18 +6552,11 @@ msgstr "Nie można wysłać zadania druku dla pustej płyty" msgid "This printer does not support printing all plates" msgstr "Ta drukarka nie obsługuje drukowania na wszystkich płytach" -msgid "" -"When enable spiral vase mode, machines with I3 structure will not generate " -"timelapse videos." -msgstr "" -"Po włączeniu trybu 'spiralna waza', maszyny o strukturze I3 nie będą " -"generować filmów timelapse." +msgid "When enable spiral vase mode, machines with I3 structure will not generate timelapse videos." +msgstr "Po włączeniu trybu 'spiralna waza', maszyny o strukturze I3 nie będą generować filmów timelapse." -msgid "" -"Timelapse is not supported because Print sequence is set to \"By object\"." -msgstr "" -"Timelapse nie jest obsługiwany, ponieważ sekwencja druku jest ustawiona na " -"\"Obiekt po obiekcie\"." +msgid "Timelapse is not supported because Print sequence is set to \"By object\"." +msgstr "Timelapse nie jest obsługiwany, ponieważ sekwencja druku jest ustawiona na \"Obiekt po obiekcie\"." msgid "Errors" msgstr "Błędy" @@ -7098,22 +6564,11 @@ msgstr "Błędy" msgid "Please check the following:" msgstr "Proszę sprawdzić następujące rzeczy:" -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 "" -"Typ drukarki wybrany podczas generowania G-code nie jest zgodny z aktualnie " -"wybraną drukarką. Zaleca się używanie tego samego typu drukarki do cięcia." +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 "Typ drukarki wybrany podczas generowania G-code nie jest zgodny z aktualnie wybraną drukarką. Zaleca się używanie tego samego typu drukarki do cięcia." -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 "" -"W mapowaniu AMS znajdują się nieznane filamenty. Proszę sprawdzić, czy są to " -"wymagane filamenty. Jeśli wszystko jest w porządku, naciśnij \"Potwierdź\", " -"aby rozpocząć drukowanie." +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 "W mapowaniu AMS znajdują się nieznane filamenty. Proszę sprawdzić, czy są to wymagane filamenty. Jeśli wszystko jest w porządku, naciśnij \"Potwierdź\", aby rozpocząć drukowanie." #, c-format, boost-format msgid "nozzle in preset: %s %s" @@ -7123,53 +6578,24 @@ msgstr "dysza w profilu: %s %s" msgid "nozzle memorized: %.1f %s" msgstr "zapamiętana dysza: %.1f %s" -msgid "" -"Your nozzle diameter in sliced file is not consistent with memorized nozzle. " -"If you changed your nozzle lately, please go to Device > Printer Parts to " -"change settings." -msgstr "" -"Średnica dyszy w przetworzonym pliku nie jest zgodna z średnicą dyszy w " -"ustawieniach. Jeśli ostatnio zmieniłeś dyszę, przejdź do opcji Urządzenie > " -"Części drukarki, aby zmienić to ustawienie." +msgid "Your nozzle diameter in sliced file is not consistent with memorized nozzle. If you changed your nozzle lately, please go to Device > Printer Parts to change settings." +msgstr "Średnica dyszy w przetworzonym pliku nie jest zgodna z średnicą dyszy w ustawieniach. Jeśli ostatnio zmieniłeś dyszę, przejdź do opcji Urządzenie > Części głowicy, aby zmienić to ustawienie." #, c-format, boost-format -msgid "" -"Printing high temperature material(%s material) with %s may cause nozzle " -"damage" -msgstr "" -"Drukowanie materiału o wysokiej temperaturze (%s materiał) z %s może " -"spowodować uszkodzenie dyszy." +msgid "Printing high temperature material(%s material) with %s may cause nozzle damage" +msgstr "Drukowanie materiału o wysokiej temperaturze (%s materiał) z %s może spowodować uszkodzenie dyszy." msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "" -"Proszę naprawić powyższy błąd, w przeciwnym razie drukowanie nie może być " -"kontynuowane." +msgstr "Proszę naprawić powyższy błąd, w przeciwnym razie drukowanie nie może być kontynuowane." -msgid "" -"Please click the confirm button if you still want to proceed with printing." -msgstr "" -"Proszę nacisnąć przycisk potwierdzenia, jeśli nadal chcesz kontynuować " -"drukowanie." +msgid "Please click the confirm button if you still want to proceed with printing." +msgstr "Proszę nacisnąć przycisk potwierdzenia, jeśli nadal chcesz kontynuować drukowanie." -msgid "" -"Connecting to the printer. Unable to cancel during the connection process." +msgid "Connecting to the printer. Unable to cancel during the connection process." msgstr "Łączenie z drukarką. Nie można anulować w trakcie procesu łączenia." -msgid "Preparing print job" -msgstr "Przygotowywanie zadania do druku" - -msgid "Abnormal print file data. Please slice again" -msgstr "Nieprawidłowe dane pliku druku. Proszę ponownie przetnij" - -msgid "The name length exceeds the limit." -msgstr "Długość nazwy przekracza limit." - -msgid "" -"Caution to use! Flow calibration on Textured PEI Plate may fail due to the " -"scattered surface." -msgstr "" -"Ostrożnie! Kalibracja przepływu na Texture PEI może nie powieść się z powodu " -"nierównomiernie rozłożonej powierzchni." +msgid "Caution to use! Flow calibration on Textured PEI Plate may fail due to the scattered surface." +msgstr "Ostrożnie! Kalibracja przepływu na Texture PEI może nie powieść się z powodu nierównomiernie rozłożonej powierzchni." msgid "Automatic flow calibration using Micro Lidar" msgstr "Automatyczna kalibracja przepływu za pomocą mikrolidaru" @@ -7187,8 +6613,7 @@ msgid "Cannot send the print task when the upgrade is in progress" msgstr "Nie można wysłać zadania druku podczas aktualizacji" msgid "The selected printer is incompatible with the chosen printer presets." -msgstr "" -"Wybrana drukarka jest niekompatybilna z wybranymi ustawieniami drukarki." +msgstr "Wybrana drukarka jest niekompatybilna z wybranymi ustawieniami drukarki." msgid "An SD card needs to be inserted before send to printer SD card." msgstr "Przed wysłaniem na kartę SD drukarki, należy włożyć kartę SD." @@ -7269,19 +6694,8 @@ msgstr "Przeczytaj i zaakceptuj" msgid "Terms and Conditions" msgstr "Warunki i zasady" -msgid "" -"Thank you for purchasing a Bambu Lab device.Before using your Bambu Lab " -"device, please read the termsand conditions.By clicking to agree to use your " -"Bambu Lab device, you agree to abide by the Privacy Policyand 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 "" -"Dziękujemy za zakup urządzenia Bambu Lab. Przed użyciem urządzenia Bambu Lab " -"proszę przeczytać warunki i zasady. Klikając, aby zgodzić się na używanie " -"urządzenia Bambu Lab, zgadzasz się przestrzegać Polityki Prywatności i " -"Warunków Użytkowania (razem \"Warunki\"). Jeśli nie zgadzasz się lub nie " -"przestrzegasz Polityki Prywatności Bambu Lab, proszę nie używać sprzętu i " -"usług Bambu Lab." +msgid "Thank you for purchasing a Bambu Lab device.Before using your Bambu Lab device, please read the termsand conditions.By clicking to agree to use your Bambu Lab device, you agree to abide by the Privacy Policyand 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 "Dziękujemy za zakup urządzenia Bambu Lab. Przed użyciem urządzenia Bambu Lab proszę przeczytać warunki i zasady. Klikając, aby zgodzić się na używanie urządzenia Bambu Lab, zgadzasz się przestrzegać Polityki Prywatności i Warunków Użytkowania (razem \"Warunki\"). Jeśli nie zgadzasz się lub nie przestrzegasz Polityki Prywatności Bambu Lab, proszę nie używać sprzętu i usług Bambu Lab." msgid "and" msgstr "i" @@ -7296,31 +6710,8 @@ msgid "Statement about User Experience Improvement Program" msgstr "Oświadczenie o programie poprawy doświadczenia użytkownika" #, c-format, 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 "" -"W społeczności druku 3D uczymy się od siebie nawzajem, korzystając z " -"sukcesów i porażek, aby dostosować nasze parametry i ustawienia cięcia. %s " -"stosuje tę samą zasadę i wykorzystuje uczenie maszynowe do poprawy swojej " -"wydajności na podstawie sukcesów i porażek ogromnej liczby wydruków naszych " -"użytkowników. Szkolimy %s, aby było mądrzejsze, dostarczając mu danych z " -"rzeczywistego świata. Jeśli wyrażasz zgodę, ta usługa uzyska dostęp do " -"informacji z Twoich logów błędów i dzienników użycia, które mogą zawierać " -"informacje opisane w Polityce Prywatności. Nie będziemy zbierać żadnych " -"danych osobowych, dzięki którym można by bezpośrednio lub pośrednio " -"zidentyfikować osobę, w tym między innymi nanawisk, adresów, informacji o " -"płatnościach czy numerów telefonów. Włączając tę usługę, zgadzasz się na te " -"warunki i oświadczenie o Polityce Prywatności." +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 "W społeczności druku 3D uczymy się od siebie nawzajem, korzystając z sukcesów i porażek, aby dostosować nasze parametry i ustawienia cięcia. %s stosuje tę samą zasadę i wykorzystuje uczenie maszynowe do poprawy swojej wydajności na podstawie sukcesów i porażek ogromnej liczby wydruków naszych użytkowników. Szkolimy %s, aby było mądrzejsze, dostarczając mu danych z rzeczywistego świata. Jeśli wyrażasz zgodę, ta usługa uzyska dostęp do informacji z Twoich logów błędów i dzienników użycia, które mogą zawierać informacje opisane w Polityce Prywatności. Nie będziemy zbierać żadnych danych osobowych, dzięki którym można by bezpośrednio lub pośrednio zidentyfikować osobę, w tym między innymi nanawisk, adresów, informacji o płatnościach czy numerów telefonów. Włączając tę usługę, zgadzasz się na te warunki i oświadczenie o Polityce Prywatności." msgid "Statement on User Experience Improvement Plan" msgstr "Oświadczenie o planie poprawy doświadczenia użytkownika" @@ -7355,35 +6746,23 @@ msgid "Search in preset" msgstr "Szukaj w profilu" msgid "Click to reset all settings to the last saved preset." -msgstr "" -"Kliknij, aby zresetować wszystkie ustawienia do ostatnio zapisanego profilu." +msgstr "Kliknij, aby zresetować wszystkie ustawienia do ostatnio zapisanego profilu." -msgid "" -"Prime tower is required for smooth timeplase. There may be flaws on the " -"model without prime tower. Are you sure you want to disable prime tower?" -msgstr "" -"Wieża czyszcząca jest wymagana dla płynnego timelapse'u. Możliwe są wady na " -"modelu bez wieży czyszczącej. Czy na pewno chcesz ją wyłączyć?" +msgid "Prime tower is required for smooth timeplase. There may be flaws on the model without prime tower. Are you sure you want to disable prime tower?" +msgstr "Wieża czyszcząca jest wymagana dla płynnego timelapse'u. Możliwe są wady na modelu bez wieży czyszczącej. Czy na pewno chcesz ją wyłączyć?" -msgid "" -"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 "" -"Wieża czyszcząca jest wymagana dla płynnego timelapse'u. Możliwe są wady na " -"modelu bez wieży czyszczącej. Czy chcesz włączyć wieżę czyszczącą?" +msgid "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 "Wieża czyszcząca jest wymagana dla płynnego timelapse'u. Możliwe są wady na modelu bez wieży czyszczącej. Czy chcesz włączyć wieżę czyszczącą?" msgid "Still print by object?" msgstr "Czy nadal drukować według obiektu?" msgid "" -"We have added an experimental style \"Tree Slim\" that features smaller " -"support volume but weaker strength.\n" +"We have added an experimental style \"Tree Slim\" that features smaller support volume but weaker strength.\n" "We recommend using it with: 0 interface layers, 0 top distance, 2 walls." msgstr "" -"Dodaliśmy eksperymentalny styl \"Cienkie Drzewo\", który charakteryzuje się " -"mniejszą objętością podpór, ale i słabszą wytrzymałością.\n" -"Zalecamy używanie go z: 0 warstw łączących, 0 odległością od góry, 2 " -"ścianami." +"Dodaliśmy eksperymentalny styl \"Cienkie Drzewo\", który charakteryzuje się mniejszą objętością podpór, ale i słabszą wytrzymałością.\n" +"Zalecamy używanie go z: 0 warstw łączących, 0 odległością od góry, 2 ścianami." msgid "" "Change these settings automatically? \n" @@ -7394,35 +6773,18 @@ msgstr "" "Tak - Zmień te ustawienia automatycznie\n" "Nie - Nie zmieniaj tych ustawień dla mnie" -msgid "" -"For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following " -"settings: at least 2 interface layers, at least 0.1mm top z distance or " -"using support materials on interface." -msgstr "" -"Dla stylów \"Drzewo Grube\" i \"Drzewo Hybrydowe\" zalecamy następujące " -"ustawienia: co najmniej 2 warstwy łączące, co najmniej 0,1 mm odległości od " -"góry lub używanie materiałów podporowych na łączeniach." +msgid "For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following settings: at least 2 interface layers, at least 0.1mm top z distance or using support materials on interface." +msgstr "Dla stylów \"Drzewo Grube\" i \"Drzewo Hybrydowe\" zalecamy następujące ustawienia: co najmniej 2 warstwy łączące, co najmniej 0,1 mm odległości od góry lub używanie materiałów podporowych na łączeniach." msgid "" -"When using support material for the support interface, We recommend the " -"following settings:\n" -"0 top z distance, 0 interface spacing, concentric pattern and disable " -"independent support layer height" +"When using support material for the support interface, We recommend the following settings:\n" +"0 top z distance, 0 interface spacing, concentric pattern and disable independent support layer height" msgstr "" -"Przy użyciu materiału podporowego do warstw łączących podpory zalecamy " -"następujące ustawienia:\n" -"0 odległość osu Z od góry, 0 odstęp warstwy łączącej, wzór koncentryczny i " -"wyłączenie niezależnej wysokości warstwy podpory" +"Przy użyciu materiału podporowego do warstw łączących podpory zalecamy następujące ustawienia:\n" +"0 odległość osu Z od góry, 0 odstęp warstwy łączącej, wzór koncentryczny i wyłączenie niezależnej wysokości warstwy podpory" -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 "" -"Włączenie tej opcji spowoduje zmianę kształtu modelu. Jeśli druk wymaga " -"precyzyjnych wymiarów lub jest częścią złożonego projektu, ważne jest " -"dokładne sprawdzenie, czy ta zmiana geometrii nie wpłynie na funkcjonalność " -"druku." +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 "Włączenie tej opcji spowoduje zmianę kształtu modelu. Jeśli druk wymaga precyzyjnych wymiarów lub jest częścią złożonego projektu, ważne jest dokładne sprawdzenie, czy ta zmiana geometrii nie wpłynie na funkcjonalność druku." msgid "Are you sure you want to enable this option?" msgstr "Czy na pewno chcesz włączyć tę opcję?" @@ -7434,12 +6796,8 @@ msgstr "" "Wysokość warstwy jest zbyt mała.\n" "Ustawione zostanie na min_layer_height\n" -msgid "" -"Layer height exceeds the limit in Printer Settings -> Extruder -> Layer " -"height limits ,this may cause printing quality issues." -msgstr "" -"Wysokość warstwy przekracza limit w Ustawieniach Drukarki -> Extruder -> " -"Limity wysokości warstwy, co może powodować problemy z jakością druku." +msgid "Layer height exceeds the limit in Printer Settings -> Extruder -> Layer height limits ,this may cause printing quality issues." +msgstr "Wysokość warstwy przekracza limit w Ustawieniach Drukarki -> Extruder -> Limity wysokości warstwy, co może powodować problemy z jakością druku." msgid "Adjust to the set range automatically? \n" msgstr "Dostosować automatycznie do ustawionego zakresu? \n" @@ -7450,39 +6808,18 @@ msgstr "Dostosuj" msgid "Ignore" msgstr "Ignoruj" -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 "" -"Funkcja eksperymentalna: Polega na wycofywaniu filamentu na większą " -"odległość w celu zminimalizowania płukania, a następne jego odcięcie. Choć " -"może to znacząco zmniejszyć ilość zużytego filamentu, może również zwiększyć " -"ryzyko zatknięcia dyszy lub innych problemów z drukowaniem." +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 "Funkcja eksperymentalna: Polega na wycofywaniu filamentu na większą odległość w celu zminimalizowania płukania, a następne jego odcięcie. Choć może to znacząco zmniejszyć ilość zużytego filamentu, może również zwiększyć ryzyko zatknięcia dyszy lub innych problemów z drukowaniem." + +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 "Funkcja eksperymentalna: Polega na wycofywaniu filamentu na większą odległość w celu zminimalizowania płukania, a następne jego odcięcie. Choć może to znacząco zmniejszyć ilość zużytego filamentu, może również zwiększyć ryzyko zatknięcia dyszy lub innych problemów z drukowaniem. Proszę używać z najnowszym oprogramowaniem drukarki." 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." +"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 "" -"Funkcja eksperymentalna: Polega na wycofywaniu filamentu na większą " -"odległość w celu zminimalizowania płukania, a następne jego odcięcie. Choć " -"może to znacząco zmniejszyć ilość zużytego filamentu, może również zwiększyć " -"ryzyko zatknięcia dyszy lub innych problemów z drukowaniem. Proszę używać z " -"najnowszym oprogramowaniem drukarki." - -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 "" -"Podczas nagrywania timelapse'a bez głowicy narzędziowej zaleca się dodanie " -"\"Timelaps - Wieża Czyszcząca\" \n" -"przez kliknięcie prawym przyciskiem myszy na pustym miejscu płyty i wybranie " -"\"Dodaj Prymityw\"->\"Timelaps - Wieża Czyszcząca\"." +"Podczas nagrywania timelapse'a bez głowicy drukującej zaleca się dodanie \"Timelaps - Wieża Czyszcząca\" \n" +"przez kliknięcie prawym przyciskiem myszy na pustym miejscu płyty i wybranie \"Dodaj Prymityw\"->\"Timelaps - Wieża Czyszcząca\"." msgid "Line width" msgstr "Szerokość linii" @@ -7520,15 +6857,8 @@ msgstr "Szybkość innych warstw" msgid "Overhang speed" msgstr "Szybkość drukowania nawisów" -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 "" -"To jest szybkość dla różnych stopni nawisu. Stopnie nawisu są wyrażane jako " -"procent szerokości linii. Szybkość 0 oznacza brak zwolnienia dla zakresu " -"stopnia nawisu, a używana jest szybkość ściany. Szybkość dla pośrednich " -"wartości jest obliczana za pomocą interpolacji liniowej" +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 "To jest prędkość dla różnych stopni nawisu. Stopnie nawisu są wyrażane jako procent szerokości linii. Prędkość 0 oznacza brak spowolnienia, a używana jest prędkość ściany" msgid "Bridge" msgstr "Mosty" @@ -7575,24 +6905,19 @@ msgstr "Cz.używ." #, c-format, boost-format msgid "" "Following line %s contains reserved keywords.\n" -"Please remove it, or will beat G-code visualization and printing time " -"estimation." +"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." +"Please remove them, or will beat G-code visualization and printing time estimation." msgstr[0] "" "Następująca linia %s zawiera zarezerwowane słowa kluczowe.\n" -"Proszę ją usunąć, inaczej może to zakłócić wizualizację G-code i oszacowanie " -"czasu druku." +"Proszę ją usunąć, inaczej może to zakłócić wizualizację G-code i oszacowanie czasu druku." msgstr[1] "" "Następujące %s linie zawierają zarezerwowane słowa kluczowe.\n" -"Proszę je usunąć, inaczej może to zakłócić wizualizację G-code i oszacowanie " -"czasu druku." +"Proszę je usunąć, inaczej może to zakłócić wizualizację G-code i oszacowanie czasu druku." msgstr[2] "" "Następujące %s linii zawiera zarezerwowane słowa kluczowe.\n" -"Proszę je usunąć, inaczej może to zakłócić wizualizację G-code i oszacowanie " -"czasu druku." +"Proszę je usunąć, inaczej może to zakłócić wizualizację G-code i oszacowanie czasu druku." msgid "Reserved keywords found" msgstr "Znaleziono zarezerwowane słowa kluczowe" @@ -7610,8 +6935,7 @@ msgid "Recommended nozzle temperature" msgstr "Zalecana temperatura dyszy" msgid "Recommended nozzle temperature range of this filament. 0 means no set" -msgstr "" -"Zalecany zakres temperatury dyszy dla tego filamentu. 0 oznacza brak ustawień" +msgstr "Zalecany zakres temperatury dyszy dla tego filamentu. 0 oznacza brak ustawień" msgid "Print chamber temperature" msgstr "Temperatura komory druku" @@ -7628,44 +6952,26 @@ msgstr "Temperatura dyszy podczas druku" msgid "Cool plate" msgstr "Cool plate / PLA Plate" -msgid "" -"Bed temperature when cool plate is installed. Value 0 means the filament " -"does not support to print on the Cool Plate" -msgstr "" -"Temperatura stołu, gdy zainstalowana jest Cool Plate. Wartość 0 oznacza, że " -"filament nie jest przystosowany do druku na Cool Plate" +msgid "Bed temperature when cool plate is installed. Value 0 means the filament does not support to print on the Cool Plate" +msgstr "Temperatura stołu, gdy zainstalowana jest Cool Plate. Wartość 0 oznacza, że filament nie jest przystosowany do druku na Cool Plate" msgid "Engineering plate" msgstr "Engineering Plate" -msgid "" -"Bed temperature when engineering plate is installed. Value 0 means the " -"filament does not support to print on the Engineering Plate" -msgstr "" -"Temperatura stołu, gdy zainstalowana jest Engineering Plate. Wartość 0 " -"oznacza, że filament nie jest przystosowany do druku na Engineering Plate" +msgid "Bed temperature when engineering plate is installed. Value 0 means the filament does not support to print on the Engineering Plate" +msgstr "Temperatura stołu, gdy zainstalowana jest Engineering Plate. Wartość 0 oznacza, że filament nie jest przystosowany do druku na Engineering Plate" msgid "Smooth PEI Plate / High Temp Plate" msgstr "Smooth PEI Plate / High Temp Plate" -msgid "" -"Bed temperature when Smooth PEI Plate/High temperature plate is installed. " -"Value 0 means the filament does not support to print on the Smooth PEI Plate/" -"High Temp Plate" -msgstr "" -"Temperatura stołu, gdy zainstalowana jest Smooth PEI Plate/High Temp Plate. " -"Wartość 0 oznacza, że filament nie jest przystosowany do druku na Smooth PEI " -"Plate/High Temp Plate" +msgid "Bed temperature when Smooth PEI Plate/High temperature plate is installed. Value 0 means the filament does not support to print on the Smooth PEI Plate/High Temp Plate" +msgstr "Temperatura stołu, gdy zainstalowana jest Smooth PEI Plate/High Temp Plate. Wartość 0 oznacza, że filament nie jest przystosowany do druku na Smooth PEI Plate/High Temp Plate" msgid "Textured PEI Plate" msgstr "Textured PEI Plate" -msgid "" -"Bed temperature when Textured PEI Plate is installed. Value 0 means the " -"filament does not support to print on the Textured PEI Plate" -msgstr "" -"Temperatura stołu, gdy zainstalowana jest Textured PEI Plate. Wartość 0 " -"oznacza, że filament nie jest przystosowany do druku na Textured PEI Plate" +msgid "Bed temperature when Textured PEI Plate is installed. Value 0 means the filament does not support to print on the Textured PEI Plate" +msgstr "Temperatura stołu, gdy zainstalowana jest Textured PEI Plate. Wartość 0 oznacza, że filament nie jest przystosowany do druku na Textured PEI Plate" msgid "Volumetric speed limitation" msgstr "Ograniczenie prędkości przepływu" @@ -7682,27 +6988,14 @@ msgstr "Wentylator chłodzący części" msgid "Min fan speed threshold" msgstr "Minimalny próg prędkości wentylatora" -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 "" -"Prędkość wentylatora chłodzącego części zacznie pracować z minimalną " -"prędkością, gdy szacowany czas warstwy nie będzie dłuższy niż czas warstwy w " -"ustawieniach. Gdy czas warstwy jest krótszy niż próg, prędkość wentylatora " -"jest interpolowana między minimalną a maksymalną prędkością wentylatora " -"zgodnie z czasem druku warstwy" +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 "Prędkość wentylatora chłodzącego części zacznie pracować z minimalną prędkością, gdy szacowany czas warstwy nie będzie dłuższy niż czas warstwy w ustawieniach. Gdy czas warstwy jest krótszy niż próg, prędkość wentylatora jest interpolowana między minimalną a maksymalną prędkością wentylatora zgodnie z czasem druku warstwy" msgid "Max fan speed threshold" msgstr "Maksymalny próg prędkości wentylatora" -msgid "" -"Part cooling fan speed will be max when the estimated layer time is shorter " -"than the setting value" -msgstr "" -"Prędkość wentylatora chłodzącego części będzie maksymalna, gdy szacowany " -"czas warstwy będzie krótszy niż wartość ustawiona" +msgid "Part cooling fan speed will be max when the estimated layer time is shorter than the setting value" +msgstr "Prędkość wentylatora chłodzącego części będzie maksymalna, gdy szacowany czas warstwy będzie krótszy niż wartość ustawiona" msgid "Auxiliary part cooling fan" msgstr "Pomocniczy wentylator chłodzący części" @@ -7801,7 +7094,7 @@ msgid "Acceleration limitation" msgstr "Ograniczenie przyspieszenia" msgid "Jerk limitation" -msgstr "Ograniczenie zrywu (Jerk)" +msgstr "Ograniczenie Jerk" msgid "Single extruder multimaterial setup" msgstr "Konfiguracja pojedynczego extrudera wielomateriałowego" @@ -7826,8 +7119,7 @@ msgid "" "\n" "Shall I disable it in order to enable Firmware Retraction?" msgstr "" -"Opcja czyszczenia nie jest dostępna podczas korzystania z trybu retrakcji " -"zaszytego w firmware. \n" +"Opcja czyszczenia nie jest dostępna podczas korzystania z trybu retrakcji zaszytego w firmware. \n" "\n" "Czy powinienem ją wyłączyć, aby umożliwić włączenie retrakcji z firmware?" @@ -7838,12 +7130,8 @@ msgid "Detached" msgstr "Odłączony" #, c-format, 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 profil filamentu i %d profil procesu jest przypisany do tej drukarki. Te " -"profile zostaną skasowane, jeśli drukarka zostanie usunięta." +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 profil filamentu i %d profil procesu jest przypisany do tej drukarki. Te profile zostaną skasowane, jeśli drukarka zostanie usunięta." msgid "Presets inherited by other presets can not be deleted!" msgstr "Profile dziedziczone przez inne profile nie mogą być usunięte!" @@ -7867,12 +7155,10 @@ msgstr[2] "Następujące profile również zostaną usunięte." 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." +"If the preset corresponds to a filament currently in use on your printer, please reset the filament information for that slot." msgstr "" "Czy na pewno chcesz usunąć wybrany profil? \n" -"Jeśli profil odpowiada filamentowi aktualnie używanemu w twojej drukarce, " -"proszę zresetować informacje o filamentach dla tego slotu." +"Jeśli profil odpowiada filamentowi aktualnie używanemu w twojej drukarce, proszę zresetować informacje o filamentach dla tego slotu." #, boost-format msgid "Are you sure to %1% the selected preset?" @@ -7885,12 +7171,10 @@ msgid "Set" msgstr "Ustaw" msgid "Click to reset current value and attach to the global value." -msgstr "" -"Kliknij, aby zresetować bieżącą wartość i przypiąć ją do wartości globalnej." +msgstr "Kliknij, aby zresetować bieżącą wartość i przypiąć ją do wartości globalnej." msgid "Click to drop current modify and reset to saved value." -msgstr "" -"Kliknij, aby odrzucić bieżące zmiany i zresetować do zapisanej wartości." +msgstr "Kliknij, aby odrzucić bieżące zmiany i zresetować do zapisanej wartości." msgid "Process Settings" msgstr "Ustawienia procesu" @@ -7958,20 +7242,12 @@ msgid "Preset \"%1%\" contains the following unsaved changes:" msgstr "Profil \"%1%\" zawiera następujące niezapisane zmiany:" #, boost-format -msgid "" -"Preset \"%1%\" is not compatible with the new printer profile and it " -"contains the following unsaved changes:" -msgstr "" -"Profil \"%1%\" nie jest kompatybilny z nowym profilem drukarki i zawiera " -"następujące niezapisane zmiany:" +msgid "Preset \"%1%\" is not compatible with the new printer profile and it contains the following unsaved changes:" +msgstr "Profil \"%1%\" nie jest kompatybilny z nowym profilem drukarki i zawiera następujące niezapisane zmiany:" #, boost-format -msgid "" -"Preset \"%1%\" is not compatible with the new process profile and it " -"contains the following unsaved changes:" -msgstr "" -"Profil \"%1%\" nie jest kompatybilny z nowym profilem procesu i zawiera " -"następujące niezapisane zmiany:" +msgid "Preset \"%1%\" is not compatible with the new process profile and it contains the following unsaved changes:" +msgstr "Profil \"%1%\" nie jest kompatybilny z nowym profilem procesu i zawiera następujące niezapisane zmiany:" #, boost-format msgid "You have changed some settings of preset \"%1%\". " @@ -7986,24 +7262,20 @@ msgstr "" 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." +"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" -"Możesz zapisać lub odrzucić zmodyfikowane wartości profilu, lub kontynuować " -"ich używanie w nowym profilu." +"Możesz zapisać lub odrzucić zmodyfikowane wartości profilu, lub kontynuować ich używanie w nowym profilu." msgid "You have previously modified your settings." msgstr "Wcześniej zmodyfikowałeś swoje ustawienia." msgid "" "\n" -"You can discard the preset values you have modified, or choose to transfer " -"the modified values to the new project" +"You can discard the preset values you have modified, or choose to transfer the modified values to the new project" msgstr "" "\n" -"Możesz zapisać lub odrzucić zmodyfikowane wartości w profilu, lub " -"kontynuować ich używanie w nowym profilu" +"Możesz zapisać lub odrzucić zmodyfikowane wartości w profilu, lub kontynuować ich używanie w nowym profilu" msgid "Extruders count" msgstr "Liczba extruderów" @@ -8020,31 +7292,21 @@ msgstr "Pokaż wszystkie profile (łącznie z niekompatybilnymi)" msgid "Select presets to compare" msgstr "Wybierz profile do porównania" -msgid "" -"You can only transfer to current active profile because it has been modified." -msgstr "" -"Możesz przenieść tylko do aktualnie aktywnego profilu, ponieważ został on " -"zmodyfikowany." +msgid "You can only transfer to current active profile because it has been modified." +msgstr "Możesz przenieść tylko do aktualnie aktywnego profilu, ponieważ został on zmodyfikowany." 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." +"Note: New modified presets will be selected in settings tabs after close this dialog." msgstr "" "Przenieś wybrane opcje z lewego zestawu ustawień do prawego.\n" -"Uwaga: nowe, zmodyfikowane ustawienia zostaną wybrane w zakładkach ustawień " -"po zamknięciu tego okna dialogowego." +"Uwaga: nowe, zmodyfikowane ustawienia zostaną wybrane w zakładkach ustawień po zamknięciu tego okna dialogowego." msgid "Transfer values from left to right" msgstr "Przenieś wartości z lewej do prawej" -msgid "" -"If enabled, this dialog can be used for transfer selected values from left " -"to right preset." -msgstr "" -"Jeśli ta opcja jest aktywowana, to okno dialogowe może być używane do " -"przenoszenia wybranych wartości z profilu po lewej do profilu po prawej " -"stronie." +msgid "If enabled, this dialog can be used for transfer selected values from left to right preset." +msgstr "Jeśli ta opcja jest aktywowana, to okno dialogowe może być używane do przenoszenia wybranych wartości z profilu po lewej do profilu po prawej stronie." msgid "Add File" msgstr "Dodaj plik" @@ -8053,7 +7315,7 @@ msgid "Set as cover" msgstr "Ustaw jako okładkę" msgid "Cover" -msgstr "Okładka" +msgstr "Osłona" #, boost-format msgid "The name \"%1%\" already exists." @@ -8105,8 +7367,7 @@ msgid "" "%s will update the configuration package, Otherwise it won't be able to start" msgstr "" "Pakiet konfiguracyjny jest niekompatybilny z obecną aplikacją.\n" -"%s zaktualizuje pakiet konfiguracyjny, w przeciwnym razie nie będzie mógł " -"się uruchomić" +"%s zaktualizuje pakiet konfiguracyjny, w przeciwnym razie nie będzie mógł się uruchomić" #, c-format, boost-format msgid "Exit %s" @@ -8128,25 +7389,13 @@ msgid "Ramming customization" msgstr "Dostosowanie wyciskania" 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" +"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." +"This is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." msgstr "" -"Ramming oznacza szybką ekstruzję tuż przed zmianą narzędzia w drukarce " -"jednoextruderowej MM. Jego celem jest odpowiednie ukształtowanie końca " -"wyładowanego filamentu, aby nie przeszkadzał on w wstawieniu nowego " -"filamentu i mógł być później ponownie wstawiony. Ta faza jest ważna, a różne " -"filamenty mogą wymagać różnych prędkości ekstruzji, aby uzyskać dobrą formę. " -"Z tego powodu prędkości ekstruzji podczas wyciskania są regulowane.\n" +"Ramming oznacza szybką ekstruzję tuż przed zmianą narzędzia w drukarce jednoextruderowej MM. Jego celem jest odpowiednie ukształtowanie końca wyładowanego filamentu, aby nie przeszkadzał on w wstawieniu nowego filamentu i mógł być później ponownie wstawiony. Ta faza jest ważna, a różne filamenty mogą wymagać różnych prędkości ekstruzji, aby uzyskać dobrą formę. Z tego powodu prędkości ekstruzji podczas wyciskania są regulowane.\n" "\n" -"Jest to ustawienie na poziomie eksperta, nieprawidłowa regulacja " -"prawdopodobnie doprowadzi do zacięć filamentu, zgrzytania koła extrudera itp." +"Jest to ustawienie na poziomie eksperta, nieprawidłowa regulacja prawdopodobnie doprowadzi do zacięć filamentu, zgrzytania koła extrudera itp." msgid "Total ramming time" msgstr "Całkowity czas wyciskania" @@ -8155,7 +7404,7 @@ msgid "s" msgstr "s" msgid "Total rammed volume" -msgstr "Całkowity objętość wyciskania" +msgstr "Całkowita objętość wyciskania" msgid "Ramming line width" msgstr "Szerokość linii wyciskania" @@ -8172,13 +7421,8 @@ msgstr "Przelicz ponownie" msgid "Flushing volumes for filament change" msgstr "Objętości płukania przy zmianie filamentu" -msgid "" -"Orca would re-calculate your flushing volumes everytime the filaments color " -"changed. You could disable the auto-calculate in Orca Slicer > Preferences" -msgstr "" -"Orca będzie przeliczał objętość płukania za każdym razem, gdy zmieni się " -"kolor filamentu. Możesz wyłączyć auto-przeliczanie w Orca Slicer > " -"Preferencje" +msgid "Orca would re-calculate your flushing volumes everytime the filaments color changed. You could disable the auto-calculate in Orca Slicer > Preferences" +msgstr "Orca będzie przeliczał objętość płukania za każdym razem, gdy zmieni się kolor filamentu. Możesz wyłączyć auto-przeliczanie w Orca Slicer > Preferencje" msgid "Flushing volume (mm³) for each filament pair." msgstr "Objętość płukania (mm³) dla każdej pary filamentów." @@ -8219,8 +7463,7 @@ msgid "Login" msgstr "Logowanie" msgid "The configuration package is changed in previous Config Guide" -msgstr "" -"Pakiet konfiguracyjny został zmieniony w poprzednim Przewodniku konfiguracji" +msgstr "Pakiet konfiguracyjny został zmieniony w poprzednim Przewodniku konfiguracji" msgid "Configuration package changed" msgstr "Zmieniono pakiet konfiguracyjny" @@ -8273,14 +7516,8 @@ msgstr "Shift+A" msgid "Shift+R" msgstr "Shift+R" -msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." -msgstr "" -"Automatycznie orientuje wybrane obiekty lub wszystkie obiekty. Jeśli są " -"wybrane obiekty, orientuje tylko wybrane. W przeciwnym razie orientuje " -"wszystkie obiekty na bieżącym dysku." +msgid "Auto orientates selected objects or all objects.If there are selected objects, it just orientates the selected ones.Otherwise, it will orientates all objects in the current disk." +msgstr "Ta funkcja automatycznie ustawia orientację zaznaczonych lub wszystkich obiektów. Jeśli są wybrane obiekty, ustawi tylko te wybrane. W przeciwnym razie ustawia wszystkie obiekty na aktualnej płycie roboczej." msgid "Shift+Tab" msgstr "Shift+Tab" @@ -8412,7 +7649,7 @@ msgid "Switch between Prepare/Preview" msgstr "Przełączanie między przygotowaniem/podglądem" msgid "Plater" -msgstr "Płyta drukująca" +msgstr "Płyta" msgid "Move: press to snap by 1mm" msgstr "Przesuń: naciśnij, aby przyciągnąć co 1 mm" @@ -8421,13 +7658,13 @@ msgid "⌘+Mouse wheel" msgstr "⌘+Kółko myszy" msgid "Support/Color Painting: adjust pen radius" -msgstr "Wsparcie/Kolorowanie: dostosuj promień pędzla" +msgstr "Podpory/Kolorowanie: dostosuj promień pędzla" msgid "⌥+Mouse wheel" msgstr "⌥+Kółko myszy" msgid "Support/Color Painting: adjust section position" -msgstr "Wsparcie/Kolorowanie: dostosuj pozycję sekcji" +msgstr "Podpory/Kolorowanie: dostosuj pozycję sekcji" msgid "Ctrl+Mouse wheel" msgstr "Ctrl+Kółko myszy" @@ -8490,11 +7727,8 @@ msgstr "informacje o aktualizacji wersji %s:" msgid "Network plug-in update" msgstr "Aktualizacja wtyczki sieciowej" -msgid "" -"Click OK to update the Network plug-in when Orca Slicer launches next time." -msgstr "" -"Kliknij OK, aby zaktualizować wtyczkę sieciową przy następnym uruchomieniu " -"Orca Slicer." +msgid "Click OK to update the Network plug-in when Orca Slicer launches next time." +msgstr "Kliknij OK, aby zaktualizować wtyczkę sieciową przy następnym uruchomieniu Orca Slicer." #, c-format, boost-format msgid "A new Network plug-in(%s) available, Do you want to install it?" @@ -8551,18 +7785,11 @@ msgstr "Potwierdź i zaktualizuj dyszę" msgid "LAN Connection Failed (Sending print file)" msgstr "Nieudane połączenie LAN (wysyłanie pliku do druku)" -msgid "" -"Step 1, please confirm Orca Slicer and your printer are in the same LAN." -msgstr "" -"Krok 1, proszę potwierdzić, że Orca Slicer i drukarka są w tej samej sieci " -"LAN." +msgid "Step 1, please confirm Orca Slicer and your printer are in the same LAN." +msgstr "Krok 1, proszę potwierdzić, że Orca Slicer i drukarka są w tej samej sieci LAN." -msgid "" -"Step 2, if the IP and Access Code below are different from the actual values " -"on your printer, please correct them." -msgstr "" -"Krok 2, jeśli IP i kod dostępu poniżej różnią się od rzeczywistych wartości " -"na drukarce, proszę je poprawić." +msgid "Step 2, if the IP and Access Code below are different from the actual values on your printer, please correct them." +msgstr "Krok 2, jeśli IP i kod dostępu poniżej różnią się od rzeczywistych wartości na drukarce, proszę je poprawić." msgid "IP" msgstr "IP" @@ -8574,9 +7801,7 @@ msgid "Where to find your printer's IP and Access Code?" msgstr "Gdzie znaleźć IP i kod dostępu do drukarki?" msgid "Step 3: Ping the IP address to check for packet loss and latency." -msgstr "" -"Krok 3: Sprawdź adres IP za pomocą polecenia ping, aby sprawdzić utratę " -"pakietów i opóźnienia." +msgstr "Krok 3: Sprawdź adres IP za pomocą polecenia ping, aby sprawdzić utratę pakietów i opóźnienia." msgid "Test" msgstr "Test" @@ -8598,7 +7823,7 @@ msgid "Model:" msgstr "Model:" msgid "Serial:" -msgstr "Numer seryjny:" +msgstr "Seria:" msgid "Version:" msgstr "Wersja:" @@ -8627,31 +7852,14 @@ msgstr "Aktualizacja nieudana" msgid "Updating successful" msgstr "Aktualizacja udana" -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 "" -"Czy na pewno chcesz zaktualizować? To zajmie około 10 minut. Nie wyłączaj " -"zasilania podczas aktualizacji drukarki." +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 "Czy na pewno chcesz zaktualizować? To zajmie około 10 minut. Nie wyłączaj zasilania podczas aktualizacji drukarki." -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 "" -"Wykryto ważną aktualizację, która musi zostać uruchomiona, zanim będzie " -"można kontynuować drukowanie. Czy chcesz teraz dokonać aktualizacji? Możesz " -"również dokonać aktualizacji później, wybierając opcję 'Aktualizacja " -"oprogramowania'." +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 "Wykryto ważną aktualizację, która musi zostać uruchomiona, zanim będzie można kontynuować drukowanie. Czy chcesz teraz dokonać aktualizacji? Możesz również dokonać aktualizacji później, wybierając opcję 'Aktualizacja oprogramowania'." -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 the studio." -msgstr "" -"Błąd wersji oprogramowania układowego. Naprawa i aktualizacja są wymagane " -"przed drukowaniem. Czy chcesz zaktualizować teraz? Możesz to również zrobić " -"później na drukarce lub przy następnym uruchomieniu studia." +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 the studio." +msgstr "Błąd wersji oprogramowania układowego. Naprawa i aktualizacja są wymagane przed drukowaniem. Czy chcesz zaktualizować teraz? Możesz to również zrobić później na drukarce lub przy następnym uruchomieniu studia." msgid "Extension Board" msgstr "Płyta rozszerzeń" @@ -8720,28 +7928,19 @@ msgstr " aktualizacja do " msgid "Open G-code file:" msgstr "Otwórz plik G-code:" -msgid "" -"One object has empty initial layer and can't be printed. Please Cut the " -"bottom or enable supports." -msgstr "" -"Jeden obiekt ma pustą pierwszą warstwę i nie może być wydrukowany. Proszę " -"przyciąć dolną część modelu lub włączyć podpory." +msgid "One object has empty initial layer and can't be printed. Please Cut the bottom or enable supports." +msgstr "Jeden obiekt ma pustą pierwszą warstwę i nie może być wydrukowany. Proszę przyciąć dolną część modelu lub włączyć podpory." #, boost-format msgid "Object can't be printed for empty layer between %1% and %2%." -msgstr "" -"Obiekt nie może być wydrukowany z powodu pustej warstwy między %1% a %2%." +msgstr "Obiekt nie może być wydrukowany z powodu pustej warstwy między %1% a %2%." #, boost-format msgid "Object: %1%" msgstr "Obiekt: %1%" -msgid "" -"Maybe parts of the object at these height are too thin, or the object has " -"faulty mesh" -msgstr "" -"Możliwe, że części obiektu na tej wysokości są zbyt cienkie, lub obiekt ma " -"wadliwą siatkę" +msgid "Maybe parts of the object at these height are too thin, or the object has faulty mesh" +msgstr "Możliwe, że części obiektu na tej wysokości są zbyt cienkie, lub obiekt ma wadliwą siatkę" msgid "No object can be printed. Maybe too small" msgstr "Żaden obiekt nie może być wydrukowany. Może jest za mały" @@ -8749,14 +7948,10 @@ msgstr "Żaden obiekt nie może być wydrukowany. Może jest za mały" msgid "" "Failed to generate gcode for invalid custom G-code.\n" "\n" -msgstr "" -"Nie udało się wygenerować G-code dla nieprawidłowego niestandardowego G-" -"code.\n" +msgstr "Nie udało się wygenerować G-code dla nieprawidłowego niestandardowego G-code.\n" msgid "Please check the custom G-code or use the default custom G-code." -msgstr "" -"Proszę sprawdzić niestandardowy G-code lub użyć domyślnego niestandardowego " -"G-code." +msgstr "Proszę sprawdzić niestandardowy G-code lub użyć domyślnego niestandardowego G-code." #, boost-format msgid "Generating G-code: layer %1%" @@ -8803,16 +7998,10 @@ msgstr "Wielokrotne" #, boost-format msgid "Failed to calculate line width of %1%. Can not get value of \"%2%\" " -msgstr "" -"Nie udało się obliczyć szerokości linii %1%. Nie można uzyskać wartości \"%2%" -"\" " +msgstr "Nie udało się obliczyć szerokości linii %1%. Nie można uzyskać wartości \"%2%\" " -msgid "" -"Invalid spacing supplied to Flow::with_spacing(), check your layer height " -"and extrusion width" -msgstr "" -"Nieprawidłowy odstęp podany do Flow::with_spacing(), sprawdź wysokość " -"warstwy i szerokość ekstruzji." +msgid "Invalid spacing supplied to Flow::with_spacing(), check your layer height and extrusion width" +msgstr "Nieprawidłowy odstęp podany do Flow::with_spacing(), sprawdź wysokość warstwy i szerokość ekstruzji." msgid "undefined error" msgstr "nieznany błąd" @@ -8908,11 +8097,8 @@ msgid "write callback failed" msgstr "błąd zapisu funkcji zwrotnej" #, boost-format -msgid "" -"%1% is too close to exclusion area, there may be collisions when printing." -msgstr "" -"%1% jest zbyt blisko obszaru wykluczenia, mogą wystąpić kolizje podczas " -"drukowania." +msgid "%1% is too close to exclusion area, there may be collisions when printing." +msgstr "%1% jest zbyt blisko obszaru wykluczenia, mogą wystąpić kolizje podczas drukowania." #, boost-format msgid "%1% is too close to others, and collisions may be caused." @@ -8923,13 +8109,10 @@ msgid "%1% is too tall, and collisions will be caused." msgstr "%1% jest zbyt wysoki, mogą wystąpić kolizje." msgid " is too close to others, there may be collisions when printing." -msgstr "" -" jest zbyt blisko innych modeli, mogą wystąpić kolizje podczas drukowania." +msgstr " jest zbyt blisko innych modeli, mogą wystąpić kolizje podczas drukowania." msgid " is too close to exclusion area, there may be collisions when printing." -msgstr "" -" jest zbyt blisko obszaru wykluczenia, mogą wystąpić kolizje podczas " -"drukowania." +msgstr " jest zbyt blisko obszaru wykluczenia, mogą wystąpić kolizje podczas drukowania." msgid "Prime Tower" msgstr "Wieża Czyszcząca" @@ -8940,126 +8123,67 @@ msgstr " jest zbyt blisko innych modeli, mogą wystąpić kolizje.\n" msgid " is too close to exclusion area, and collisions will be caused.\n" msgstr " jest zbyt blisko obszaru wykluczenia, mogą wystąpić kolizje.\n" -msgid "" -"Can not print multiple filaments which have large difference of temperature " -"together. Otherwise, the extruder and nozzle may be blocked or damaged " -"during printing" -msgstr "" -"Nie można drukować jednocześnie wieloma filamentami o znacznych różnicach " -"temperatur. Może to spowodować zablokowanie lub uszkodzenie extrudera i dyszy" +msgid "Can not print multiple filaments which have large difference of temperature together. Otherwise, the extruder and nozzle may be blocked or damaged during printing" +msgstr "Nie można drukować jednocześnie wieloma filamentami o znacznych różnicach temperatur. Może to spowodować zablokowanie lub uszkodzenie extrudera i dyszy" msgid "No extrusions under current settings." msgstr "Brak ekstruzji przy obecnych ustawieniach." -msgid "" -"Smooth mode of timelapse is not supported when \"by object\" sequence is " -"enabled." -msgstr "" -"Tryb \"Wygładzony\" timelapsu nie jest wspierany, gdy włączona jest " -"sekwencja \"według obiektu\"." +msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." +msgstr "Tryb \"Wygładzony\" timelapsu nie jest wspierany, gdy włączona jest sekwencja \"według obiektu\"." -msgid "" -"Please select \"By object\" print sequence to print multiple objects in " -"spiral vase mode." -msgstr "" -"Proszę wybrać sekwencję druku \"Według obiektu\", aby drukować wiele " -"obiektów w trybie wazy." +msgid "Please select \"By object\" print sequence to print multiple objects in spiral vase mode." +msgstr "Proszę wybrać sekwencję druku \"Według obiektu\", aby drukować wiele obiektów w trybie wazy." -msgid "" -"The spiral vase mode does not work when an object contains more than one " -"materials." -msgstr "" -"Tryb \"Wazy\" nie działa, gdy obiekt zawiera więcej niż jeden filament." +msgid "The spiral vase mode does not work when an object contains more than one materials." +msgstr "Tryb \"Wazy\" nie działa, gdy obiekt zawiera więcej niż jeden filament." #, boost-format msgid "The object %1% exceeds the maximum build volume height." msgstr "Obiekt %1% przekracza maksymalną wysokość objętości budowy." #, boost-format -msgid "" -"While the object %1% itself fits the build volume, its last layer exceeds " -"the maximum build volume height." -msgstr "" -"Podczas gdy sam obiekt %1% mieści się w przestrzeni roboczej, jego ostatnia " -"warstwa przekracza maksymalną wysokość przestrzeni roboczej." +msgid "While the object %1% itself fits the build volume, its last layer exceeds the maximum build volume height." +msgstr "Podczas gdy sam obiekt %1% mieści się w przestrzeni roboczej, jego ostatnia warstwa przekracza maksymalną wysokość przestrzeni roboczej." -msgid "" -"You might want to reduce the size of your model or change current print " -"settings and retry." -msgstr "" -"Może być konieczne zmniejszenie rozmiaru modelu lub zmiana bieżących " -"ustawień druku i ponowienie próby." +msgid "You might want to reduce the size of your model or change current print settings and retry." +msgstr "Może być konieczne zmniejszenie rozmiaru modelu lub zmiana bieżących ustawień druku i ponowienie próby." msgid "Variable layer height is not supported with Organic supports." -msgstr "" -"Zmienna wysokość warstwy nie jest dostępna w przypadku podpór organicznych." +msgstr "Zmienna wysokość warstwy nie jest dostępna w przypadku podpór organicznych." -msgid "" -"Different nozzle diameters and different filament diameters is not allowed " -"when prime tower is enabled." -msgstr "" -"Różne średnice dysz i różne średnice filamentów nie są dozwolone, gdy " -"włączona jest wieża czyszcząca." +msgid "Different nozzle diameters and different filament diameters is not allowed when prime tower is enabled." +msgstr "Różne średnice dysz i różne średnice filamentów nie są dozwolone, gdy włączona jest wieża czyszcząca." -msgid "" -"The Wipe Tower is currently only supported with the relative extruder " -"addressing (use_relative_e_distances=1)." -msgstr "" -"Wieża czyszcząca jest obecnie wspierana tylko z relatywnym adresowaniem " -"extrudera (use_relative_e_distances=1)." +msgid "The Wipe Tower is currently only supported with the relative extruder addressing (use_relative_e_distances=1)." +msgstr "Wieża czyszcząca jest obecnie wspierana tylko z relatywnym adresowaniem extrudera (use_relative_e_distances=1)." -msgid "" -"Ooze prevention is currently not supported with the prime tower enabled." -msgstr "" -"Zapobieganie wyciekom nie jest obecnie wspierane, gdy włączona jest wieża " -"czyszcząca." +msgid "Ooze prevention is currently not supported with the prime tower enabled." +msgstr "Zapobieganie wyciekom nie jest obecnie wspierane, gdy włączona jest wieża czyszcząca." -msgid "" -"The prime tower is currently only supported for the Marlin, RepRap/Sprinter, " -"RepRapFirmware and Repetier G-code flavors." -msgstr "" -"Wieża czyszcząca jest obecnie obsługiwana tylko dla wariantów G-code Marlin, " -"Klipper, RepRap/Sprinter, RepRapFirmware i Repetier." +msgid "The prime tower is currently only supported for the Marlin, RepRap/Sprinter, RepRapFirmware and Repetier G-code flavors." +msgstr "Wieża czyszcząca jest obecnie obsługiwana tylko dla wariantów G-code Marlin, Klipper, RepRap/Sprinter, RepRapFirmware i Repetier." msgid "The prime tower is not supported in \"By object\" print." msgstr "Wieża czyszcząca nie jest wspierana w druku \"Według obiektu\"." -msgid "" -"The prime tower is not supported when adaptive layer height is on. It " -"requires that all objects have the same layer height." -msgstr "" -"Wieża czyszcząca nie jest wspierana, gdy włączona jest adaptacyjna wysokość " -"warstwy. Wymaga to, aby wszystkie obiekty miały tę samą wysokość warstwy." +msgid "The prime tower is not supported when adaptive layer height is on. It requires that all objects have the same layer height." +msgstr "Wieża czyszcząca nie jest wspierana, gdy włączona jest adaptacyjna wysokość warstwy. Wymaga to, aby wszystkie obiekty miały tę samą wysokość warstwy." msgid "The prime tower requires \"support gap\" to be multiple of layer height" -msgstr "" -"Wieża czyszcząca wymaga, aby \"szczelina podpory\" była wielokrotnością " -"wysokości warstwy" +msgstr "Wieża czyszcząca wymaga, aby \"szczelina podpory\" była wielokrotnością wysokości warstwy" msgid "The prime tower requires that all objects have the same layer heights" -msgstr "" -"Wieża czyszcząca wymaga, aby wszystkie obiekty miały tę samą wysokość warstwy" +msgstr "Wieża czyszcząca wymaga, aby wszystkie obiekty miały tę samą wysokość warstwy" -msgid "" -"The prime tower requires that all objects are printed over the same number " -"of raft layers" -msgstr "" -"Wieża czyszcząca wymaga, aby wszystkie obiekty były drukowane na tej samej " -"liczbie warstw tratwy" +msgid "The prime tower requires that all objects are printed over the same number of raft layers" +msgstr "Wieża czyszcząca wymaga, aby wszystkie obiekty były drukowane na tej samej liczbie warstw tratwy" -msgid "" -"The prime tower requires that all objects are sliced with the same layer " -"heights." -msgstr "" -"Wieża czyszcząca wymaga, aby wszystkie obiekty były cięte na tej samej " -"wysokości warstw." +msgid "The prime tower requires that all objects are sliced with the same layer heights." +msgstr "Wieża czyszcząca wymaga, aby wszystkie obiekty były cięte na tej samej wysokości warstw." -msgid "" -"The prime tower is only supported if all objects have the same variable " -"layer height" -msgstr "" -"Wieża czyszcząca jest dostępna dla wielu modeli pod warunkiem, że mają one " -"taką samą wysokość warstwy" +msgid "The prime tower is only supported if all objects have the same variable layer height" +msgstr "Wieża czyszcząca jest dostępna dla wielu modeli pod warunkiem, że mają one taką samą wysokość warstwy" msgid "Too small line width" msgstr "Zbyt mała szerokość linii" @@ -9067,119 +8191,66 @@ msgstr "Zbyt mała szerokość linii" msgid "Too large line width" msgstr "Zbyt duża szerokość linii" -msgid "" -"The prime tower requires that support has the same layer height with object." -msgstr "" -"Wieża czyszcząca wymaga, aby wsparcie miało tę samą wysokość warstwy co " -"obiekt." +msgid "The prime tower requires that support has the same layer height with object." +msgstr "Wieża czyszcząca wymaga, aby podpory miały tę samą wysokość warstwy co obiekt." -msgid "" -"Organic support tree tip diameter must not be smaller than support material " -"extrusion width." -msgstr "" -"Średnica końcówki drzewa organicznego nie może być mniejsza niż szerokość " -"ekstruzji filamentu podpory." +msgid "Organic support tree tip diameter must not be smaller than support material extrusion width." +msgstr "Średnica końcówki drzewa organicznego nie może być mniejsza niż szerokość ekstruzji filamentu podpory." -msgid "" -"Organic support branch diameter must not be smaller than 2x support material " -"extrusion width." -msgstr "" -"Średnica gałęzi organicznego wsparcia (drzewo) nie może być mniejsza niż 2x " -"szerokość ekstruzji filamentu podpory." +msgid "Organic support branch diameter must not be smaller than 2x support material extrusion width." +msgstr "Średnica gałęzi organicznego wsparcia (drzewo) nie może być mniejsza niż 2x szerokość ekstruzji filamentu podpory." -msgid "" -"Organic support branch diameter must not be smaller than support tree tip " -"diameter." -msgstr "" -"Średnica gałęzi organicznego wsparcia nie może być mniejsza niż średnica " -"końcówki podpory (drzewo)." +msgid "Organic support branch diameter must not be smaller than support tree tip diameter." +msgstr "Średnica gałęzi organicznego wsparcia nie może być mniejsza niż średnica końcówki podpory (drzewo)." -msgid "" -"Support enforcers are used but support is not enabled. Please enable support." -msgstr "" -"Używane są wzmocnienia podpór, ale funkcja podpór nie jest włączona. Proszę " -"ją włączyć." +msgid "Support enforcers are used but support is not enabled. Please enable support." +msgstr "Używane są wzmocnienia podpór, ale funkcja podpór nie jest włączona. Proszę ją włączyć." msgid "Layer height cannot exceed nozzle diameter" msgstr "Wysokość warstwy nie może przekraczać średnicy dyszy" -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 "" -"Relatywne adresowanie extrudera wymaga resetowania pozycji extrudera na " -"każdej warstwie, aby zapobiec utracie dokładności zmiennoprzecinkowej. Dodaj " -"\"G92 E0\" do layer_gcode." +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 "Relatywne adresowanie extrudera wymaga resetowania pozycji extrudera na każdej warstwie, aby zapobiec utracie dokładności zmiennoprzecinkowej. Dodaj \"G92 E0\" do layer_gcode." -msgid "" -"\"G92 E0\" was found in before_layer_gcode, which is incompatible with " -"absolute extruder addressing." -msgstr "" -"Znaleziono \"G92 E0\" w before_layer_gcode, co jest niezgodne z absolutnym " -"adresowaniem extrudera." +msgid "\"G92 E0\" was found in before_layer_gcode, which is incompatible with absolute extruder addressing." +msgstr "Znaleziono \"G92 E0\" w before_layer_gcode, co jest niezgodne z absolutnym adresowaniem extrudera." -msgid "" -"\"G92 E0\" was found in layer_gcode, which is incompatible with absolute " -"extruder addressing." -msgstr "" -"Znaleziono \"G92 E0\" w layer_gcode, co jest niezgodne z absolutnym " -"adresowaniem extrudera." +msgid "\"G92 E0\" was found in layer_gcode, which is incompatible with absolute extruder addressing." +msgstr "Znaleziono \"G92 E0\" w layer_gcode, co jest niezgodne z absolutnym adresowaniem extrudera." #, c-format, boost-format msgid "Plate %d: %s does not support filament %s" -msgstr "Płytka %d: %s nie obsługuje filamentu %s" +msgstr "Płyta robocza %d: %s nie obsługuje filamentu %s." + +msgid "Setting the jerk speed too low could lead to artifacts on curved surfaces" +msgstr "Ustawienie zbyt niskiej prędkości jerk może prowadzić do artefaktów na zakrzywionych powierzchniach." msgid "" -"Setting the jerk speed too low could lead to artifacts on curved surfaces" +"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 "" -"Ustawienie zbyt niskiej prędkości jerk może prowadzić do artefaktów na " -"zakrzywionych powierzchniach." +"Ustawienie jerk przekracza maksymalne jerk drukarki (machine_max_jerk_x/machine_max_jerk_y).\n" +"Orca automatycznie ograniczy prędkość jerku, aby nie przekroczyć zdolności drukarki.\n" +"Możesz dostosować ustawienie maksymalnego jerku w konfiguracji swojej drukarki, aby uzyskać wyższe prędkości." 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." +"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 "" -"Ustawienie jerk przekracza maksymalne jerk drukarki (machine_max_jerk_x/" -"machine_max_jerk_y).\n" -"Orca automatycznie ograniczy prędkość jerku, aby nie przekroczyć zdolności " -"drukarki.\n" -"Możesz dostosować ustawienie maksymalnego jerku w konfiguracji swojej " -"drukarki, aby uzyskać wyższe prędkości." +"Ustawienie przyspieszenia przekracza maksymalne przyspieszenie drukarki (machine_max_acceleration_extruding).\n" +"Orca automatycznie ograniczy prędkość przyspieszenia, aby nie przekroczyć zdolności drukarki.\n" +"Możesz dostosować wartość machine_max_acceleration_extruding w konfiguracji swojej drukarki, aby uzyskać wyższe prędkości." 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." +"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 "" -"Ustawienie przyspieszenia przekracza maksymalne przyspieszenie drukarki " -"(machine_max_acceleration_extruding).\n" -"Orca automatycznie ograniczy prędkość przyspieszenia, aby nie przekroczyć " -"zdolności drukarki.\n" -"Możesz dostosować wartość machine_max_acceleration_extruding w konfiguracji " -"swojej drukarki, aby uzyskać wyższe prędkości." - -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 "" -"Ustawienie przyspieszenia przekracza maksymalne przyspieszenie drukarki " -"(machine_max_acceleration_extruding).\n" -"Orca automatycznie ograniczy prędkość przyspieszenia, aby nie przekroczyć " -"zdolności drukarki.\n" -"Możesz dostosować wartość machine_max_acceleration_extruding w konfiguracji " -"swojej drukarki, aby uzyskać wyższe prędkości." +"Ustawienie przyspieszenia przekracza maksymalne przyspieszenie drukarki (machine_max_acceleration_extruding).\n" +"Orca automatycznie ograniczy prędkość przyspieszenia, aby nie przekroczyć zdolności drukarki.\n" +"Możesz dostosować wartość machine_max_acceleration_extruding w konfiguracji swojej drukarki, aby uzyskać wyższe prędkości." msgid "Generating skirt & brim" msgstr "Generowanie Skirtu i Brimu" @@ -9199,15 +8270,8 @@ msgstr "Obszar druku" msgid "Bed exclude area" msgstr "Obszar wykluczony z druku" -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 "" -"Obszar niemożliwy do wydrukowania w płaszczyźnie XY. Na przykład, drukarki " -"serii X1 używają przedniego lewego rogu do cięcia filamentu podczas jego " -"zmiany. Obszar jest wyrażony jako wielokąt punktami w następującym formacie: " -"\"XxY, XxY, ...\"" +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 "Obszar niemożliwy do wydrukowania w płaszczyźnie XY. Na przykład, drukarki serii X1 używają przedniego lewego rogu do cięcia filamentu podczas jego zmiany. Obszar jest wyrażony jako wielokąt punktami w następującym formacie: \"XxY, XxY, ...\"" msgid "Bed custom texture" msgstr "Niestandardowa tekstura stołu" @@ -9218,96 +8282,59 @@ msgstr "Niestandardowy model stołu" msgid "Elephant foot compensation" msgstr "Kompensacja \"stopy słonia\"" -msgid "" -"Shrink the initial layer on build plate to compensate for elephant foot " -"effect" -msgstr "" -"Zmniejszenie pierwszej warstwy w płaszczyźnie XY o określoną wartość, aby " -"skompensować efekt \"stopy słonia\"" +msgid "Shrink the initial layer on build plate to compensate for elephant foot effect" +msgstr "Zmniejszenie pierwszej warstwy w płaszczyźnie XY o określoną wartość, aby skompensować efekt \"stopy słonia\"" msgid "Elephant foot compensation layers" msgstr "Warstwy kompensacji \"stopy słonia\"" -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 "" -"Ilość warstw, na które będzie rozciągać się kompensacja \"stopy słonia\". " -"Pierwsza warstwa zostanie zmniejszona o wartość kompensacji 'stopy słonia', " -"a następne warstwy będą liniowo zmniejszane mniej, aż do warstwy wskazanej " -"przez tę wartość." +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 "Ilość warstw, na które będzie rozciągać się kompensacja \"stopy słonia\". Pierwsza warstwa zostanie zmniejszona o wartość kompensacji 'stopy słonia', a następne warstwy będą liniowo zmniejszane mniej, aż do warstwy wskazanej przez tę wartość." msgid "layers" msgstr "warstwy" -msgid "" -"Slicing height for each layer. Smaller layer height means more accurate and " -"more printing time" -msgstr "" -"Wysokość każdej warstwy. Mniejsza wysokość warstwy oznacza większą " -"dokładność, ale dłuższy czas drukowania" +msgid "Slicing height for each layer. Smaller layer height means more accurate and more printing time" +msgstr "Wysokość każdej warstwy. Mniejsza wysokość warstwy oznacza większą dokładność, ale dłuższy czas drukowania" msgid "Printable height" msgstr "Maksymalna wysokość" msgid "Maximum printable height which is limited by mechanism of printer" -msgstr "" -"Maksymalna wysokość możliwa do wydrukowania, ograniczona przez mechanizm " -"drukarki" +msgstr "Maksymalna wysokość możliwa do wydrukowania, ograniczona przez mechanizm drukarki" msgid "Preferred orientation" msgstr "Preferowana orientacja" msgid "Automatically orient stls on the Z-axis upon initial import" -msgstr "" -"Automatyczne orientowanie plików STL na osi Z przy początkowym imporcie" +msgstr "Automatyczne orientowanie plików STL na osi Z przy początkowym imporcie" msgid "Printer preset names" msgstr "Nazwy profilu drukarki" msgid "Use 3rd-party print host" -msgstr "Użyj zewnętrznego serwera druku" +msgstr "Użyj serwera druku firm trzecich" msgid "Allow controlling BambuLab's printer through 3rd party print hosts" -msgstr "" -"Zezwól na kontrolowanie drukarki BambuLab przez serwery druku innych firm" +msgstr "Zezwól na kontrolowanie drukarki BambuLab przez serwery druku innych firm" msgid "Hostname, IP or URL" msgstr "Nazwa hosta, IP lub 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 może przesyłać pliki G-code na hosta drukarki. To pole powinno " -"zawierać nazwę hosta, adres IP lub URL hosta drukarki. Host drukowania za " -"HAProxy z włączoną autoryzacją podstawową można uzyskać, wpisując nazwę " -"użytkownika i hasło w URL w następującym formacie: https://username:" -"password@your-octopi-address/" +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 może przesyłać pliki G-code na hosta drukarki. To pole powinno zawierać nazwę hosta, adres IP lub URL hosta drukarki. Host drukowania za HAProxy z włączoną autoryzacją podstawową można uzyskać, wpisując nazwę użytkownika i hasło w URL w następującym formacie: https://username:password@your-octopi-address/" msgid "Device UI" msgstr "Interfejs użytkownika urządzenia" -msgid "" -"Specify the URL of your device user interface if it's not same as print_host" -msgstr "" -"Podaj URL interfejsu użytkownika swojego urządzenia, jeśli nie jest taki sam " -"jak print_host" +msgid "Specify the URL of your device user interface if it's not same as print_host" +msgstr "Podaj URL interfejsu użytkownika swojego urządzenia, jeśli nie jest taki sam jak print_host" msgid "API Key / Password" msgstr "Klucz API / Hasło" -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 może przesyłać pliki G-code na hosta drukarki. To pole powinno " -"zawierać klucz API lub hasło wymagane do uwierzytelnienia." +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 może przesyłać pliki G-code na hosta drukarki. To pole powinno zawierać klucz API lub hasło wymagane do uwierzytelnienia." msgid "Name of the printer" msgstr "Nazwa drukarki" @@ -9315,14 +8342,8 @@ msgstr "Nazwa drukarki" msgid "HTTPS CA File" msgstr "Plik CA HTTPS" -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 "" -"Można określić niestandardowy plik certyfikatu CA dla połączeń HTTPS " -"OctoPrint, w formacie crt/pem. Jeśli pozostanie puste, używane jest domyślne " -"repozytorium certyfikatów CA systemu operacyjnego." +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 "Można określić niestandardowy plik certyfikatu CA dla połączeń HTTPS OctoPrint, w formacie crt/pem. Jeśli pozostanie puste, używane jest domyślne repozytorium certyfikatów CA systemu operacyjnego." msgid "User" msgstr "Użytkownik" @@ -9333,14 +8354,8 @@ msgstr "Hasło" msgid "Ignore HTTPS certificate revocation checks" msgstr "Ignoruj sprawdzanie unieważnienia certyfikatów 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 "" -"Ignoruj sprawdzanie unieważnienia certyfikatów HTTPS w przypadku braku lub " -"offline punktów dystrybucji. Można chcieć włączyć tę opcję dla " -"samopodpisanych certyfikatów, jeśli połączenie zawodzi." +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 "Ignoruj sprawdzanie unieważnienia certyfikatów HTTPS w przypadku braku lub offline punktów dystrybucji. Można chcieć włączyć tę opcję dla samopodpisanych certyfikatów, jeśli połączenie zawodzi." msgid "Names of presets related to the physical printer" msgstr "Nazwy profili odnoszących się do drukarki fizycznej" @@ -9358,25 +8373,15 @@ msgid "Avoid crossing wall" msgstr "Unikaj ruchów nad obrysami" msgid "Detour and avoid to travel across wall which may cause blob on surface" -msgstr "" -"Omijaj i unikaj przemieszczania się nad ścianą, co może spowodować powstanie " -"grudek na powierzchni" +msgstr "Omijaj i unikaj przemieszczania się nad ścianą, co może spowodować powstanie grudek na powierzchni" msgid "Avoid crossing wall - Max detour length" msgstr "Maksymalna długość objazdu" -msgid "" -"Maximum detour distance for avoiding crossing wall. Don't detour if the " -"detour distance is large 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" +msgid "Maximum detour distance for avoiding crossing wall. Don't detour if the detour distance is large 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 "" "Unikaj ruchów nad obrysami-\n" -"Maksymalna długość objazdu przy unikaniu przejeżdżania nad obrysami. Jeśli " -"objazd miałby wykroczyć poza tę wartość, funkcja \"unikaj ruchów nad " -"obrysami\" zostanie zignorowana dla tej ścieżki. Długość objazdu można " -"zdefiniować jako wartość absolutna lub obliczona procentowo (np. 50%) z " -"długości ruchu bezpośredniego." +"Maksymalna długość objazdu przy unikaniu przejeżdżania nad obrysami. Jeśli objazd miałby wykroczyć poza tę wartość, funkcja \"unikaj ruchów nad obrysami\" zostanie zignorowana dla tej ścieżki. Długość objazdu można zdefiniować jako wartość absolutna lub obliczona procentowo (np. 50%) z długości ruchu bezpośredniego." msgid "mm or %" msgstr "mm lub %" @@ -9384,36 +8389,20 @@ msgstr "mm lub %" msgid "Other layers" msgstr "Pozostałe warstwy" -msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the Cool Plate" -msgstr "" -"Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament " -"nie obsługuje drukowania na Cool Plate" +msgid "Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the Cool Plate" +msgstr "Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament nie obsługuje drukowania na Cool Plate" msgid "°C" msgstr "°C" -msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the Engineering Plate" -msgstr "" -"Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament " -"nie obsługuje drukowania na Engineering Plate" +msgid "Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the Engineering Plate" +msgstr "Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament nie obsługuje drukowania na Engineering Plate" -msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the High Temp Plate" -msgstr "" -"Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament " -"nie obsługuje drukowania na High Temp Plate" +msgid "Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the High Temp Plate" +msgstr "Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament nie obsługuje drukowania na High Temp Plate" -msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the Textured PEI Plate" -msgstr "" -"Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament " -"nie obsługuje drukowania na Textured PEI Plate" +msgid "Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the Textured PEI Plate" +msgstr "Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament nie obsługuje drukowania na Textured PEI Plate" msgid "Initial layer" msgstr "Pierwsza warstwa" @@ -9421,33 +8410,17 @@ msgstr "Pierwsza warstwa" msgid "Initial layer bed temperature" msgstr "Temperatura stołu pierwszej warstwy" -msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not " -"support to print on the Cool Plate" -msgstr "" -"Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie " -"obsługuje drukowania na Cool Plate" +msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the Cool Plate" +msgstr "Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie obsługuje drukowania na Cool Plate" -msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not " -"support to print on the Engineering Plate" -msgstr "" -"Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie " -"obsługuje drukowania na Engineering Plate" +msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the Engineering Plate" +msgstr "Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie obsługuje drukowania na Engineering Plate" -msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not " -"support to print on the High Temp Plate" -msgstr "" -"Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie " -"obsługuje drukowania na High Temp Plate" +msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the High Temp Plate" +msgstr "Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie obsługuje drukowania na High Temp Plate" -msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not " -"support to print on the Textured PEI Plate" -msgstr "" -"Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie " -"obsługuje drukowania na Textured PEI Plate" +msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the Textured PEI Plate" +msgstr "Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie obsługuje drukowania na Textured PEI Plate" msgid "Bed types supported by the printer" msgstr "Rodzaje płyt roboczych obsługiwanych przez drukarkę" @@ -9471,62 +8444,36 @@ msgid "Other layers filament sequence" msgstr "Kolejność filamenu dla pozostałych warstw" msgid "This G-code is inserted at every layer change before lifting z" -msgstr "" -"Ten G-code jest wstawiany przy każdej zmianie warstwy, tuż przed " -"podniesieniem osi Z" +msgstr "Ten G-code jest wstawiany przy każdej zmianie warstwy, tuż przed podniesieniem osi Z" msgid "Bottom shell layers" msgstr "Dolne warstwy powłoki" -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 "" -"Ilość zwartych warstw przy druku dolnej powierzchni modelu, włączając w to " -"dolną warstwę powierzchniową. Jeżeli grubość wyliczona przez tę wartość jest " -"cieńsza niż grubość dolnej powłoki, liczba warstw dolnej powłoki zostanie " -"zwiększona" +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 "To jest liczba pełnych warstw dolnej powłoki, włączając w to dolną powierzchnie. Jeżeli grubość obliczona na podstawie tej wartości jest mniejsza niż grubość dolnej powłoki, liczba warstw dolnej powłoki zostanie zwiększona" msgid "Bottom shell thickness" msgstr "Grubość dolnej powłoki" -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 determained by " -"bottom shell layers" -msgstr "" -"Ilość dolnych, pełnych warstw zostaje zwiększona podczas przygotowywania " -"modelu do druku (slicingu), jeżeli wyliczona grubość dolnych warstw powłoki " -"jest mniejsza niż ta wartość. Dzięki temu można uniknąć zbyt cienkiej " -"powłoki, gdy wysokość warstwy jest niska. Wartość 0 oznacza wyłączenie tego " -"ustawienia, a grubość dolnej powłoki jest wówczas wyznaczana wyłącznie przez " -"ilość warstw dolnej powłoki" +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 determained by bottom shell layers" +msgstr "Ilość dolnych, pełnych warstw zostaje zwiększona podczas przygotowywania modelu do druku (slicingu), jeżeli wyliczona grubość dolnych warstw powłoki jest mniejsza niż ta wartość. Dzięki temu można uniknąć zbyt cienkiej powłoki, gdy wysokość warstwy jest niska. Wartość 0 oznacza wyłączenie tego ustawienia, a grubość dolnej powłoki jest wówczas wyznaczana wyłącznie przez ilość warstw dolnej powłoki" msgid "Apply gap fill" msgstr "Zastosuj wypełnienie szczelin" msgid "" -"Enables gap fill for the selected surfaces. The minimum gap length that will " -"be filled can be controlled from the filter out tiny gaps option below.\n" +"Enables gap fill for the selected 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\n" -"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces " -"only\n" +"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces only\n" "3. Nowhere: Disables gap fill\n" msgstr "" -"Umożliwia wypełnienie szpar/szczelin dla wybranych powierzchni. Minimalną " -"długość szczeliny, która zostanie wypełniona, można kontrolować poprzez " -"opcję 'filtruj wąskie szczeliny' znajdującej się poniżej.\n" +"Umożliwia wypełnienie szpar/szczelin dla wybranych powierzchni. Minimalną długość szczeliny, która zostanie wypełniona, można kontrolować poprzez opcję 'filtruj wąskie szczeliny' znajdującej się poniżej.\n" "\n" "Opcje:\n" -"1. Wszędzie: Stosuje wypełnienie na górnych, dolnych i wewnętrznych " -"powierzchniach stałych\n" -"2. Powierzchnie górne i dolne: Stosuje wypełnienie tylko na górnych i " -"dolnych powierzchniach\n" +"1. Wszędzie: Stosuje wypełnienie na górnych, dolnych i wewnętrznych powierzchniach stałych\n" +"2. Powierzchnie górne i dolne: Stosuje wypełnienie tylko na górnych i dolnych powierzchniach\n" "3. Nigdzie: Wyłącza wypełnienie\n" msgid "Everywhere" @@ -9541,169 +8488,97 @@ msgstr "Nigdzie" msgid "Force cooling for overhang and bridge" msgstr "Wymuszone chłodzenie dla nawisów i mostów" -msgid "" -"Enable this option to optimize part cooling fan speed for overhang and " -"bridge to get better cooling" -msgstr "" -"Włącz tę opcję, aby zoptymalizować prędkość wentylatora chłodzącego części " -"dla nawisów i mostów, aby uzyskać lepsze chłodzenie" +msgid "Enable this option to optimize part cooling fan speed for overhang and bridge to get better cooling" +msgstr "Włącz tę opcję, aby zoptymalizować prędkość wentylatora chłodzącego części dla nawisów i mostów, aby uzyskać lepsze chłodzenie" msgid "Fan speed for overhang" msgstr "Prędkość wentylatora dla nawisów" -msgid "" -"Force part cooling fan to be this speed when printing bridge or overhang " -"wall which has large overhang degree. Forcing cooling for overhang and " -"bridge can get better quality for these part" -msgstr "" -"Wymuś pracę wentylatora chłodzącego części na tej prędkości podczas " -"drukowania mostu lub ściany nawisającej, która ma duży stopień nawisu. " -"Wymuszanie chłodzenia dla nawisów i mostów może poprawić jakość tych części " -"modelu" +msgid "Force part cooling fan to be this speed when printing bridge or overhang wall which has large overhang degree. Forcing cooling for overhang and bridge can get better quality for these part" +msgstr "Wymuś pracę wentylatora chłodzącego części na tej prędkości podczas drukowania mostu lub ściany nawisającej, która ma duży stopień nawisu. Wymuszanie chłodzenia dla nawisów i mostów może poprawić jakość tych części modelu" msgid "Cooling overhang threshold" msgstr "Próg chłodzenia dla nawisów" #, c-format -msgid "" -"Force cooling fan to be specific speed when overhang degree of printed part " -"exceeds this value. Expressed as percentage which indicides how much width " -"of the line without support from lower layer. 0% means forcing cooling for " -"all outer wall no matter how much overhang degree" -msgstr "" -"Wymuś pracę wentylatora chłodzącego na określoną prędkość, gdy stopień " -"nawisu drukowanej części przekracza tę wartość. Wyrażone w procentach, co " -"wskazuje, jak duża jest szerokość linii bez podpór z niższej warstwy. 0%% " -"oznacza wymuszanie chłodzenia dla całej zewnętrznej ściany, bez względu na " -"stopień nawisu" +msgid "Force cooling fan to be specific speed when overhang degree of printed part exceeds this value. Expressed as percentage which indicides how much width of the line without support from lower layer. 0% means forcing cooling for all outer wall no matter how much overhang degree" +msgstr "Wymuś pracę wentylatora chłodzącego na określoną prędkość, gdy stopień nawisu drukowanej części przekracza tę wartość. Wyrażone w procentach, co wskazuje, jak duża jest szerokość linii bez podpór z niższej warstwy. 0%% oznacza wymuszanie chłodzenia dla całej zewnętrznej ściany, bez względu na stopień nawisu" msgid "Bridge infill direction" msgstr "Kierunek wypełnienia mostu" -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 "" -"Zmiana ustawienia kąta linii mostów. Gdy ustawienie będzie równe 0, kąt " -"zostanie wyliczony automatycznie. W przeciwnym wypadku, wybrany kąt będzie " -"zastosowany do wszystkich mostów. Aby ustawić kąt na zero, wybierz 180°." +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 "Zmiana ustawienia kąta linii mostów. Gdy ustawienie będzie równe 0, kąt zostanie wyliczony automatycznie. W przeciwnym wypadku, wybrany kąt będzie zastosowany do wszystkich mostów. Aby ustawić kąt na zero, wybierz 180°." msgid "Bridge density" msgstr "Gęstość mostu" msgid "Density of external bridges. 100% means solid bridge. Default is 100%." -msgstr "" -"Gęstość zewnętrznych mostów. 100% oznacza pełne wypełnienie mostu. Domyślnie " -"jest 100%." +msgstr "Gęstość zewnętrznych mostów. 100% oznacza pełne wypełnienie mostu. Domyślnie jest 100%." msgid "Bridge flow ratio" msgstr "Współczynnik przepływu przy mostach" -msgid "" -"Decrease this value slightly(for example 0.9) to reduce the amount of " -"material for bridge, to improve sag" -msgstr "" -"Zmniejsz tę wartość minimalnie (na przykład do 0.9), aby zmniejszyć ilość " -"filamentu na most, co poprawi jego przewisanie" +msgid "Decrease this value slightly(for example 0.9) to reduce the amount of material for bridge, to improve sag" +msgstr "Zmniejsz tę wartość minimalnie (na przykład do 0.9), aby zmniejszyć ilość filamentu dla mostu, co zmniejszy jego wygięcie" msgid "Internal bridge flow ratio" msgstr "Współczynnik przepływu dla wewnętrznych mostów" -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." -msgstr "" -"Ta wartość określa grubość wewnętrznej warstwy mostu. Jest to pierwsza " -"warstwa nad rzadkim wypełnieniem. Aby poprawić jakość powierzchni nad tym " -"wypełnieniem, możesz zmniejszyć trochę tą wartość (na przykład do 0.9)" +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." +msgstr "Ta wartość określa grubość wewnętrznej warstwy mostu. Jest to pierwsza warstwa nad rzadkim wypełnieniem. Aby poprawić jakość powierzchni nad tym wypełnieniem, możesz zmniejszyć trochę tą wartość (na przykład do 0.9)" msgid "Top surface flow ratio" msgstr "Współczynnik przepływu górnej powierzchni" -msgid "" -"This factor affects the amount of material for top solid infill. You can " -"decrease it slightly to have smooth surface finish" -msgstr "" -"Ten współczynnik wpływa na ilość materiału na górne pełne wypełnienie. " -"Możesz go nieco zmniejszyć, aby uzyskać gładkie wykończenie powierzchni" +msgid "This factor affects the amount of material for top solid infill. You can decrease it slightly to have smooth surface finish" +msgstr "Czynnik ten wpływa na ilość filamentu na górne pełne wypełnienie. Możesz go nieco zmniejszyć, aby uzyskać gładkie wykończenie powierzchni" msgid "Bottom surface flow ratio" msgstr "Współczynnik przepływu dolnej powierzchni" msgid "This factor affects the amount of material for bottom solid infill" -msgstr "" -"Ten współczynnik wpływa na ilość materiału w dolnej warstwie pełnego " -"wypełnienia" +msgstr "Ten współczynnik wpływa na ilość materiału w dolnej warstwie pełnego wypełnienia" msgid "Precise wall" msgstr "Ściany o wysokiej precyzji" msgid "" -"Improve shell precision by adjusting outer wall spacing. This also improves " -"layer consistency.\n" -"Note: This setting will only take effect if the wall sequence is configured " -"to Inner-Outer" +"Improve shell precision by adjusting outer wall spacing. This also improves layer consistency.\n" +"Note: This setting will only take effect if the wall sequence is configured to Inner-Outer" msgstr "" -"Popraw precyzję powłoki poprzez dostosowanie odstępów zewnętrznych ścian. To " -"również poprawia spójność warstw.\n" -"Uwaga: To ustawienie będzie miało wpływ tylko wtedy, gdy sekwencja ściany " -"jest skonfigurowana jako Wewnętrzna-Zewnętrzna." +"Popraw precyzję powłoki poprzez dostosowanie odstępów zewnętrznych ścian. To również poprawia spójność warstw.\n" +"Uwaga: To ustawienie będzie miało wpływ tylko wtedy, gdy sekwencja ściany jest skonfigurowana jako Wewnętrzna-Zewnętrzna." msgid "Only one wall on top surfaces" msgstr "Tylko jedna ściana na górnych powierzchniach" -msgid "" -"Use only one wall on flat top surface, to give more space to the top infill " -"pattern" -msgstr "" -"Użyj tylko jednej ściany na płaskiej górnej powierzchni, aby zapewnić więcej " -"miejsca dla wzoru górnego wypełnienia" +msgid "Use only one wall on flat top surface, to give more space to the top infill pattern" +msgstr "Użyj tylko jednej ściany na płaskiej górnej powierzchni, aby zapewnić więcej miejsca dla wzoru górnego wypełnienia" msgid "One wall threshold" msgstr "Próg jednej ściany" #, 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." +"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 "" -"Jeśli górna powierzchnia ma być drukowana i jest częściowo zakryta inną " -"warstwą, nie będzie traktowana jako górna warstwa, jeśli jej szerokość jest " -"mniejsza niż ta wartość. \n" -"Może to być przydatne, aby zapobiec uruchamianiu funkcji 'jeden perymetr na " -"górze' na powierzchni, która powinna być pokryta tylko perymetrami. Ta " -"wartość może być podawana w mm lub jako % szerokości ekstruzji perymetru.\n" -"Uwaga: Jeśli ta funkcja jest włączona, mogą pojawić się artefakty, jeśli " -"masz na następnej warstwie jakieś cienkie elementy, na przykład litery. " -"Ustaw tę opcję na 0, aby usunąć te artefakty." +"Jeśli górna powierzchnia ma być drukowana i jest częściowo zakryta inną warstwą, nie będzie traktowana jako górna warstwa, jeśli jej szerokość jest mniejsza niż ta wartość. \n" +"Może to być przydatne, aby zapobiec uruchamianiu funkcji 'jeden perymetr na górze' na powierzchni, która powinna być pokryta tylko perymetrami. Ta wartość może być podawana w mm lub jako % szerokości ekstruzji perymetru.\n" +"Uwaga: Jeśli ta funkcja jest włączona, mogą pojawić się artefakty, jeśli masz na następnej warstwie jakieś cienkie elementy, na przykład litery. Ustaw tę opcję na 0, aby usunąć te artefakty." msgid "Only one wall on first layer" msgstr "Tylko jedna ściana na pierwszej warstwie" -msgid "" -"Use only one wall on first layer, to give more space to the bottom infill " -"pattern" -msgstr "" -"Użyj tylko jednej ściany na pierwszej warstwie, aby dać więcej miejsca na " -"wzór dolnego wypełnienia" +msgid "Use only one wall on first layer, to give more space to the bottom infill pattern" +msgstr "Użyj tylko jednej ściany na pierwszej warstwie, aby dać więcej miejsca na wzór dolnego wypełnienia" msgid "Extra perimeters on overhangs" msgstr "Dodatkowe obrysy na nawisach" -msgid "" -"Create additional perimeter paths over steep overhangs and areas where " -"bridges cannot be anchored. " -msgstr "" -"Tworzy dodatkowe ścieżeki nad stromymi nawisami i w obszarach, gdzie nie " -"można zakotwiczyć mostów. " +msgid "Create additional perimeter paths over steep overhangs and areas where bridges cannot be anchored. " +msgstr "Tworzy dodatkowe ścieżeki nad stromymi nawisami i w obszarach, gdzie nie można zakotwiczyć mostów. " msgid "Reverse on odd" msgstr "Przeciwny kierunek na nieparzystych warstwach" @@ -9712,19 +8587,13 @@ msgid "Overhang reversal" msgstr "Przeciwny kierunek przy nawisach" msgid "" -"Extrude perimeters that have a part over an overhang in the reverse " -"direction on odd layers. This alternating pattern can drastically improve " -"steep overhangs.\n" +"Extrude perimeters that have a part over an overhang in the reverse direction on odd 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." +"This setting can also help reduce part warping due to the reduction of stresses in the part walls." msgstr "" -"Ekstruzja obrysów mających część z nawisem. Będą one drukowane, w przeciwnym " -"kierunku na nieparzystych warstwach. Ten naprzemienny wzór może znacznie " -"poprawić strome nawisy.\n" +"Ekstruzja obrysów mających część z nawisem. Będą one drukowane, w przeciwnym kierunku na nieparzystych warstwach. Ten naprzemienny wzór może znacznie poprawić strome nawisy.\n" "\n" -"Ustawienie to może również pomóc zmniejszyć deformację części dzięki " -"zmniejszeniu naprężeń w ścianach części." +"Ustawienie to może również pomóc zmniejszyć deformację części dzięki zmniejszeniu naprężeń w ścianach części." msgid "Reverse only internal perimeters" msgstr "Przeciwny kierunek tylko dla wewnętrznych obrysów" @@ -9732,47 +8601,28 @@ msgstr "Przeciwny kierunek tylko dla wewnętrznych obrysów" 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" +"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 recomended to set the " -"Reverse Threshold to 0 so that all internal walls print in alternating " -"directions on odd layers irrespective of their overhang degree." +"For this setting to be the most effective, it is recomended to set the Reverse Threshold to 0 so that all internal walls print in alternating directions on odd layers irrespective of their overhang degree." msgstr "" "Zastosuj logikę przeciwnych obrysów tylko na wewnętrznych obrysach. \n" "\n" -"To ustawienie znacznie zmniejsza naprężenia części, ponieważ są one teraz " -"rozdzielone w przemiennych kierunkach. Powinno to zmniejszyć deformację " -"części, jednocześnie zachowując jakość zewnętrznych ścian. Funkcja ta może " -"być bardzo przydatna dla filamentów podatnych na deformację, takich jak ABS/" -"ASA, a także dla elastycznych filamentów, takich jak TPU i Silk PLA. Może to " -"również pomóc zmniejszyć deformację w unoszących się regionach nad " -"podporami.\n" +"To ustawienie znacznie zmniejsza naprężenia części, ponieważ są one teraz rozdzielone w przemiennych kierunkach. Powinno to zmniejszyć deformację części, jednocześnie zachowując jakość zewnętrznych ścian. Funkcja ta może być bardzo przydatna dla filamentów podatnych na deformację, takich jak ABS/ASA, a także dla elastycznych filamentów, takich jak TPU i Silk PLA. Może to również pomóc zmniejszyć deformację w unoszących się regionach nad podporami.\n" "\n" -"Aby to ustawienie było najbardziej skuteczne, zaleca się ustawienie Progu " -"Odwrócenia na 0, aby wszystkie wewnętrzne ściany drukowały się w " -"przemiennych kierunkach na nieparzystych warstwach, niezależnie od stopnia " -"nawisu." +"Aby to ustawienie było najbardziej skuteczne, zaleca się ustawienie Progu Odwrócenia na 0, aby wszystkie wewnętrzne ściany drukowały się w przemiennych kierunkach na nieparzystych warstwach, niezależnie od stopnia nawisu." msgid "Bridge counterbore holes" msgstr "Mostek dla fazowanych otworów" msgid "" -"This option creates bridges for counterbore holes, allowing them to be " -"printed without support. Available modes include:\n" +"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 "" -"Ta opcja generuje mostki (wsparcie) dla otworów z fazowaniem, co pozwala na " -"ich drukowanie bez konieczności stosowania dodatkowych podpór. Wybierz:\n" +"Ta opcja generuje mostki (wsparcie) dla otworów z fazowaniem, co pozwala na ich drukowanie bez konieczności stosowania dodatkowych podpór. Wybierz:\n" "1. Brak (czyli wyłączone)\n" -"2. Częściowy most (mostek będzie konstruowany tylko nad niektórymi obszarami " -"bez podpory)\n" +"2. Częściowy most (mostek będzie konstruowany tylko nad niektórymi obszarami bez podpory)\n" "3. Warstwa pomocnicza (tworzy pełnowartościową warstwę podpory mostu)." msgid "Partially bridged" @@ -9789,14 +8639,11 @@ msgstr "Próg odwrócenia przy nawisach" #, 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" +"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 odd layers regardless." msgstr "" -"Ilość mm, jaką musi mieć nawis, aby odwrócenie było uznane za użyteczne. " -"Może być to % szerokości obryski.\n" -"Wartość 0 umożliwia odwrócenie na każdej nieparzystej warstwie, niezależnie " -"od wszystkiego." +"Ilość mm, jaką musi mieć nawis, aby odwrócenie było uznane za użyteczne. Może być to % szerokości obryski.\n" +"Wartość 0 umożliwia odwrócenie na każdej nieparzystej warstwie, niezależnie od wszystkiego." msgid "Classic mode" msgstr "Tryb klasyczny" @@ -9813,12 +8660,8 @@ msgstr "Włącz tę opcję, aby zwolnić drukowanie dla różnych stopni nawisu" msgid "Slow down for curled perimeters" msgstr "Zwalnienie na łukach" -msgid "" -"Enable this option to slow printing down in areas where potential curled " -"perimeters may exist" -msgstr "" -"Włącz tę opcję, aby zwolnić drukowanie w obszarach, gdzie istnieje " -"potencjalne zagrożenie odkształceniem obwodów" +msgid "Enable this option to slow printing down in areas where potential curled perimeters may exist" +msgstr "Włącz tę opcję, aby zwolnić drukowanie w obszarach, gdzie istnieje potencjalne zagrożenie odkształceniem obwodów" msgid "mm/s or %" msgstr "mm/s lub %" @@ -9835,12 +8678,8 @@ msgstr "mm/s" msgid "Internal" msgstr "Wewn." -msgid "" -"Speed of internal bridge. If the value is expressed as a percentage, it will " -"be calculated based on the bridge_speed. Default value is 150%." -msgstr "" -"Prędkość wewnętrznego mostu. Jeśli wartość jest wyrażona w procentach, " -"będzie obliczana na podstawie prędkości mostu. Domyślna wartość to 150%." +msgid "Speed of internal bridge. If the value is expressed as a percentage, it will be calculated based on the bridge_speed. Default value is 150%." +msgstr "Prędkość wewnętrznego mostu. Jeśli wartość jest wyrażona w procentach, będzie obliczana na podstawie prędkości mostu. Domyślna wartość to 150%." msgid "Brim width" msgstr "Szerokość Brimu" @@ -9851,23 +8690,14 @@ msgstr "Odległość od modelu do najbardziej zewnętrznej linii Brimu" msgid "Brim type" msgstr "Typ Brimu" -msgid "" -"This controls the generation of the brim at outer and/or inner side of " -"models. Auto means the brim width is analysed and calculated automatically." -msgstr "" -"To kontroluje generowanie Brimu na zewnętrznej i/lub wewnętrznej stronie " -"modeli. Auto oznacza, że szerokość Brimu jest analizowana i obliczana " -"automatycznie." +msgid "This controls the generation of the brim at outer and/or inner side of models. Auto means the brim width is analysed and calculated automatically." +msgstr "To kontroluje generowanie Brimu na zewnętrznej i/lub wewnętrznej stronie modeli. Auto oznacza, że szerokość Brimu jest analizowana i obliczana automatycznie." msgid "Brim-object gap" msgstr "Odstęp Brimu od obiektu" -msgid "" -"A gap between innermost brim line and object can make brim be removed more " -"easily" -msgstr "" -"Szczelina między najbardziej wewnętrzną linią Brimu a obiektem może ułatwić " -"usunięcie Brimu" +msgid "A gap between innermost brim line and object can make brim be removed more easily" +msgstr "Szczelina między najbardziej wewnętrzną linią Brimu a obiektem może ułatwić usunięcie Brimu" msgid "Brim ears" msgstr "Uszy Brim" @@ -9885,23 +8715,20 @@ msgid "" msgstr "" "Maksymalny kąt, przy którym pojawia się ucho Brimu.\n" "Jeśli ustawione na 0, Brim nie zostanie utworzony.\n" -"Jeśli ustawione na ~180, Brim zostanie utworzony wszędzie, oprócz prostych " -"sekcji." +"Jeśli ustawione na ~180, Brim zostanie utworzony wszędzie, oprócz prostych sekcji." msgid "Brim ear detection radius" msgstr "Promień wykrywania uszu Brimu" msgid "" -"The geometry will be decimated before dectecting sharp angles. This " -"parameter indicates the minimum length of the deviation for the decimation.\n" +"The geometry will be decimated before dectecting sharp angles. This parameter indicates the minimum length of the deviation for the decimation.\n" "0 to deactivate" msgstr "" -"Kształt zostanie zredukowany przed wykryciem ostrych kątów. Ten parametr " -"wskazuje minimalną długość odchylenia dla redukcji.\n" +"Kształt zostanie zredukowany przed wykryciem ostrych kątów. Ten parametr wskazuje minimalną długość odchylenia dla redukcji.\n" "0, aby dezaktywować" msgid "Compatible machine" -msgstr "Kompatybilna drukarka" +msgstr "Kompatybilna maszyna" msgid "upward compatible machine" msgstr "drukarka kompatybilna i wzwyż" @@ -9928,9 +8755,7 @@ msgid "Intra-layer order" msgstr "Kolejność warstw" msgid "Print order within a single layer" -msgstr "" -"Kolejność druku obiektów w obrębie jednej warstwy. Domyślnie lub według " -"listy obiektów" +msgstr "Kolejność druku obiektów w obrębie jednej warstwy. Domyślnie lub według listy obiektów" msgid "As object list" msgstr "Wg.listy obiektów" @@ -9938,26 +8763,14 @@ msgstr "Wg.listy obiektów" msgid "Slow printing down for better layer cooling" msgstr "Zwolnienie druku dla lepszego chłodzenia warstw" -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 "" -"Włącz tę opcję, aby zwolnić prędkość druku, aby czas końcowej warstwy nie " -"był krótszy niż próg czasu warstwy w \"Próg maksymalnej prędkości " -"wentylatora\", tak aby warstwa mogła być chłodzona przez dłuższy czas. Może " -"to poprawić jakość chłodzenia dla igieł i małych detali" +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 "Włącz tę opcję, aby zmniejszyć prędkość drukowania, aby czas ostatniej warstwy nie był krótszy niż próg czasu warstwy w „Maksymalny próg prędkości wentylatora”, aby warstwa mogła być chłodzona przez dłuższy czas. Może to poprawić jakość drobnych szczegółów i małych detali" msgid "Normal printing" msgstr "Normalne drukowanie" -msgid "" -"The default acceleration of both normal printing and travel except initial " -"layer" -msgstr "" -"Domyślne przyspieszenie zarówno normalnego druku, jak i podróży, z wyjątkiem " -"pierwszej warstwy" +msgid "The default acceleration of both normal printing and travel except initial layer" +msgstr "Domyślne przyspieszenie zarówno normalnego druku, jak i prędkości jałowej, z wyjątkiem pierwszej warstwy" msgid "mm/s²" msgstr "mm/s²" @@ -9978,18 +8791,13 @@ msgid "Activate air filtration" msgstr "Aktywuj filtrację powietrza" msgid "Activate for better air filtration. G-code command: M106 P3 S(0-255)" -msgstr "" -"Aktywuj dla lepszej filtracji powietrza. Komenda G-code: M106 P3 S(0-255)" +msgstr "Aktywuj dla lepszej filtracji powietrza. Komenda G-code: M106 P3 S(0-255)" msgid "Fan speed" msgstr "Prędkość wentylatora" -msgid "" -"Speed of exhaust fan during printing.This speed will overwrite the speed in " -"filament custom gcode" -msgstr "" -"Prędkość wentylatora wyciągowego podczas drukowania. Ta prędkość zastąpi " -"ustawienia prędkości w niestandardowym G-code dla filamentu" +msgid "Speed of exhaust fan during printing.This speed will overwrite the speed in filament custom gcode" +msgstr "Prędkość wentylatora wyciągowego podczas drukowania. Ta prędkość zastąpi ustawienia prędkości w niestandardowym G-code dla filamentu" msgid "Speed of exhaust fan after printing completes" msgstr "Prędkość wentylatora wyciągowego po zakończeniu drukowania" @@ -9997,107 +8805,58 @@ msgstr "Prędkość wentylatora wyciągowego po zakończeniu drukowania" msgid "No cooling for the first" msgstr "Brak chłodzenia na pierwszych" -msgid "" -"Close all cooling fan for the first certain layers. Cooling fan of the first " -"layer used to be closed to get better build plate adhesion" -msgstr "" -"Wyłącz wszystkie wentylatory chłodzące na pierwszych określonych warstwach. " -"Wentylator chłodzący pierwszą warstwę był zazwyczaj wyłączony, aby uzyskać " -"lepsze przyleganie do stołu drukarki" +msgid "Close all cooling fan for the first certain layers. Cooling fan of the first layer used to be closed to get better build plate adhesion" +msgstr "Wyłącz wszystkie wentylatory chłodzące na pierwszych określonych warstwach. Wentylator chłodzący pierwszą warstwę był zazwyczaj wyłączony, aby uzyskać lepsze przyleganie do stołu drukarki" msgid "Don't support bridges" msgstr "Nie twórz podpór pod mostami" -msgid "" -"Don't support the whole bridge area which make support very large. Bridge " -"usually can be printing directly without support if not very long" -msgstr "" -"Nie używaj podpór dla całego obszaru mostu, co powoduje, że podpora jest " -"bardzo duża. Most zwykle może być drukowany bezpośrednio bez podpór, jeśli " -"nie jest zbyt długi" +msgid "Don't support the whole bridge area which make support very large. Bridge usually can be printing directly without support if not very long" +msgstr "Nie używaj podpór dla całego obszaru mostu, co powoduje, że podpora jest bardzo duża. Most zwykle może być drukowany bezpośrednio bez podpór, jeśli nie jest zbyt długi" msgid "Thick bridges" msgstr "Grube mosty" -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 "" -"Jeśli włączone, mosty są bardziej niezawodne, mogą obejmować dłuższe " -"odległości, ale mogą wyglądać gorzej. Jeśli wyłączone, mosty wyglądają " -"lepiej, ale są niezawodne tylko na krótszych dystansach." +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 "Jeśli włączone, mosty są bardziej niezawodne, mogą obejmować dłuższe odległości, ale mogą wyglądać gorzej. Jeśli wyłączone, mosty wyglądają lepiej, ale są niezawodne tylko na krótszych dystansach." msgid "Thick internal bridges" msgstr "Grube wewnętrzne mosty" -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 "" -"Jeśli włączone, będą używane grube wewnętrzne mosty. Zazwyczaj zaleca się " -"użycie tej funkcji. Jednak rozważ jej wyłączenie, jeśli używasz dużych dysz." +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 "Jeśli włączone, będą używane grube wewnętrzne mosty. Zazwyczaj zaleca się użycie tej funkcji. Jednak rozważ jej wyłączenie, jeśli używasz dużych dysz." msgid "Don't filter out small internal bridges (beta)" msgstr "Nie filtruj małych wewnętrznych mostów (beta)" msgid "" -"This option can help reducing pillowing on top surfaces in heavily slanted " -"or curved models.\n" +"This option can help reducing pillowing on top surfaces in heavily slanted or curved models.\n" "\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" +"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" "\n" -"However, in heavily slanted or curved models especially where too low sparse " -"infill density is used, this may result in curling of the unsupported solid " -"infill, causing pillowing.\n" +"However, in heavily slanted or curved models especially where too low sparse infill density is used, this may result in curling of the unsupported solid infill, causing pillowing.\n" "\n" -"Enabling this option will print internal bridge layer over slightly " -"unsupported internal solid infill. The options below control the amount of " -"filtering, i.e. the amount of internal bridges created.\n" +"Enabling this option will print internal bridge layer over slightly unsupported internal solid infill. The options below control the amount of filtering, i.e. the amount of internal bridges created.\n" "\n" -"Disabled - Disables this option. This is the default behaviour and works " -"well in most cases.\n" +"Disabled - Disables this option. This is the default behaviour and works well in most cases.\n" "\n" -"Limited filtering - Creates internal bridges on heavily slanted surfaces, " -"while avoiding creating uncessesary interal bridges. This works well for " -"most difficult models.\n" +"Limited filtering - Creates internal bridges on heavily slanted surfaces, while avoiding creating uncessesary interal bridges. This works well for most difficult models.\n" "\n" -"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 unecessary bridges." +"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 unecessary bridges." msgstr "" -"To opcja może pomóc w redukcji efektu \"pillowing\" na górnych " -"powierzchniach w mocno pochylonych lub zakrzywionych modelach.\n" +"To opcja może pomóc w redukcji efektu \"pillowing\" na górnych powierzchniach w mocno pochylonych lub zakrzywionych modelach.\n" "\n" -"Domyślnie, małe wewnętrzne mosty są odfiltrowywane, a wewnętrzna struktura " -"jest drukowana bezpośrednio na rzadkiej strukturze wypełnienia. To działa " -"dobrze w większości przypadków, przyspieszając drukowanie bez zbyt dużego " -"kompromisu w jakości górnej powierzchni. \n" +"Domyślnie, małe wewnętrzne mosty są odfiltrowywane, a wewnętrzna struktura jest drukowana bezpośrednio na rzadkiej strukturze wypełnienia. To działa dobrze w większości przypadków, przyspieszając drukowanie bez zbyt dużego kompromisu w jakości górnej powierzchni. \n" "\n" -"Jednakże w mocno pochylonych lub zakrzywionych modelach, zwłaszcza przy " -"niskiej gęstości struktury wypełnienia, może to prowadzić do wywijania się " -"niewspieranej struktury wypełnienia, co powoduje efekt \"pillowing\".\n" +"Jednakże w mocno pochylonych lub zakrzywionych modelach, zwłaszcza przy niskiej gęstości struktury wypełnienia, może to prowadzić do wywijania się niewspieranej struktury wypełnienia, co powoduje efekt \"pillowing\".\n" "\n" -"Włączenie tej opcji spowoduje drukowanie wewnętrznej warstwy mostka nad " -"nieco niewspieraną wewnętrzną strukturą wypełnienia. Poniższe opcje " -"kontrolują stopień filtrowania, czyli ilość tworzonych wewnętrznych " -"mostków.\n" +"Włączenie tej opcji spowoduje drukowanie wewnętrznej warstwy mostka nad nieco niewspieraną wewnętrzną strukturą wypełnienia. Poniższe opcje kontrolują stopień filtrowania, czyli ilość tworzonych wewnętrznych mostków.\n" "\n" -"Wyłączone - Wyłącza tę opcję. Jest to zachowanie domyślne i działa dobrze w " -"większości przypadków.\n" +"Wyłączone - Wyłącza tę opcję. Jest to zachowanie domyślne i działa dobrze w większości przypadków.\n" "\n" -"Ograniczone filtrowanie - Tworzy wewnętrzne mosty na mocno pochylonych " -"powierzchniach, unikając tworzenia niepotrzebnych wewnętrznych mostków. To " -"działa dobrze dla większości trudnych modeli.\n" +"Ograniczone filtrowanie - Tworzy wewnętrzne mosty na mocno pochylonych powierzchniach, unikając tworzenia niepotrzebnych wewnętrznych mostków. To działa dobrze dla większości trudnych modeli.\n" "\n" -"Brak filtrowania - Tworzy wewnętrzne mosty na każdym potencjalnym " -"wewnętrznym występie. Ta opcja jest przydatna dla mocno pochylonych modeli " -"górnych powierzchni. Jednakże w większości przypadków tworzy zbyt wiele " -"niepotrzebnych mostów." +"Brak filtrowania - Tworzy wewnętrzne mosty na każdym potencjalnym wewnętrznym występie. Ta opcja jest przydatna dla mocno pochylonych modeli górnych powierzchni. Jednakże w większości przypadków tworzy zbyt wiele niepotrzebnych mostów." msgid "Disabled" msgstr "Wyłączona" @@ -10111,14 +8870,8 @@ msgstr "Bez filtracji" msgid "Max bridge length" msgstr "Maksymalna długość mostu" -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 "" -"Maksymalna długość mostów, które nie potrzebują podpór. Ustaw na 0, jeśli " -"chcesz, aby wszystkie mosty były podparte lub ustaw większą wartość, jeśli " -"nie chcesz, aby jakiekolwiek most były podpierany." +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 "Maksymalna długość mostów, które nie potrzebują podpór. Ustaw na 0, jeśli chcesz, aby wszystkie mosty były podparte lub ustaw większą wartość, jeśli nie chcesz, aby jakiekolwiek most były podpierany." msgid "End G-code" msgstr "Końcowy G-code" @@ -10129,12 +8882,8 @@ msgstr "Końcowy G-code po zakończeniu całego druku" msgid "Between Object Gcode" msgstr "G-code między obiektami" -msgid "" -"Insert Gcode between objects. This parameter will only come into effect when " -"you print your models object by object" -msgstr "" -"Wstaw G-code między obiektami. Ten parametr będzie miał wpływ tylko wtedy, " -"gdy drukujesz swoje modele obiekt po obiekcie" +msgid "Insert Gcode between objects. This parameter will only come into effect when you print your models object by object" +msgstr "Wstaw G-code między obiektami. Ten parametr będzie miał wpływ tylko wtedy, gdy drukujesz swoje modele obiekt po obiekcie" msgid "End G-code when finish the printing of this filament" msgstr "Końcowy G-code po zakończeniu drukowania tym filamentem" @@ -10143,28 +8892,22 @@ msgid "Ensure vertical shell thickness" msgstr "Zapewnij stałą grubość pionowej powłoki" 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" +"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 "" -"Dodaj pełne wypełnienie w pobliżu nachylonych powierzchni, aby zagwarantować " -"grubość pionowej powłoki (górne + dolne pełne warstwy).\n" +"Dodaj pełne wypełnienie w pobliżu nachylonych powierzchni, aby zagwarantować grubość pionowej powłoki (górne + dolne pełne warstwy).\n" "\n" -"Brak: Nie umieszczaj pełnego wypełnienia w żadnym miejscu. Uwaga: Korzystaj " -"z tej opcji ostrożnie, jeśli twój model posiada nachylone powierzchnie.\n" +"Brak: Nie umieszczaj pełnego wypełnienia w żadnym miejscu. Uwaga: Korzystaj z tej opcji ostrożnie, jeśli twój model posiada nachylone powierzchnie.\n" "\n" "Tylko krytyczne: Unikaj dodawania pełnego wypełnienia dla ścian.\n" "\n" -"Umiarkowane: Dodaj pełne wypełnienie tylko dla silnie nachylonych " -"powierzchni.\n" +"Umiarkowane: Dodaj pełne wypełnienie tylko dla silnie nachylonych powierzchni.\n" "\n" -"Wszystkie: Dodaj pełne wypełnienie dla wszystkich odpowiednio nachylonych " -"powierzchni.\n" +"Wszystkie: Dodaj pełne wypełnienie dla wszystkich odpowiednio nachylonych powierzchni.\n" "\n" "Domyślna wartość to Wszystkie." @@ -10208,54 +8951,30 @@ msgid "Bottom surface pattern" msgstr "Wzór dolnej powierzchni" msgid "Line pattern of bottom surface infill, not bridge infill" -msgstr "" -"Wzór linii wypełnienia dolnej powierzchni, nie dotyczy wypełnienia mostu" +msgstr "Wzór linii wypełnienia dolnej powierzchni, nie dotyczy wypełnienia mostu" msgid "Internal solid infill pattern" msgstr "Wzór wewnętrznego pełnego wypełnienia" -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 "" -"Wzór wewnętrznego pełnego wypełnienia. Jeśli zostanie włączona funkcja " -"wykrywania wąskiego wewnętrznego pełnego wypełnienia, dla małego obszaru " -"użyty zostanie wzór koncentryczny." +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 "Wzór linii wewnętrznego pełnego wypełnienia. Jeśli zostanie włączona funkcja wykrywania wąskiego wewnętrznego pełnego wypełnienia, dla małego obszaru użyty zostanie wzór koncentryczny." -msgid "" -"Line width of outer wall. If expressed as a %, it will be computed over the " -"nozzle diameter." -msgstr "" -"Szerokość zewnętrznej ściany. Jeśli wyrażona w %, zostanie obliczona na " -"podstawie średnicy dyszy." +msgid "Line width of outer wall. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Szerokość zewnętrznej ściany. Jeśli wyrażona w %, zostanie obliczona na podstawie średnicy dyszy." -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 "" -"Prędkość druku zewnętrznej ściany, która jest najbardziej widoczną " -"zewnętrzną powłoką modelu . Zwykle jest drukowana wolniej niż wewnętrzne " -"ściany, aby uzyskać lepszą jej jakość." +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 "Prędkość druku zewnętrznej ściany, która jest najbardziej widoczną zewnętrzną powłoką modelu . Zwykle jest drukowana wolniej niż wewnętrzne ściany, aby uzyskać lepszą jej jakość." msgid "Small perimeters" msgstr "Małe obrysy" -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 "" -"To ustawienie reguluje prędkość obrysów posiadających promień <= próg małego " -"obrysu (zazwyczaj chodzi o otwory). Jeśli ustawisz wartość procentową (np. " -"80%) to zostanie obliczona z prędkości obrysów ustawionej powyżej. Ustaw " -"zero, aby użyć ustawień automatycznych." +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 "To ustawienie reguluje prędkość obrysów posiadających promień <= próg małego obrysu (zazwyczaj chodzi o otwory). Jeśli ustawisz wartość procentową (np. 80%) to zostanie obliczona z prędkości obrysów ustawionej powyżej. Ustaw zero, aby użyć ustawień automatycznych." msgid "Small perimeters threshold" msgstr "Próg małego obrysu" -msgid "" -"This sets the threshold for small perimeter length. Default threshold is 0mm" +msgid "This sets the threshold for small perimeter length. Default threshold is 0mm" msgstr "To ustawia próg długości małych obrysów. Domyślny próg to 0 mm" msgid "Walls printing order" @@ -10264,50 +8983,21 @@ msgstr "Kolejność drukowania ścian" 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 neighouring 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" +"Use Inner/Outer for best overhangs. This is because the overhanging walls can adhere to a neighouring 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 recomended against the Outer/Inner option " -"in most cases. \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 recomended 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.\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.\n" "\n" " " msgstr "" "Sekwencja druku zewnętrznych i wewnętrznych ścian.\n" "\n" -"Użyj opcji \"wewnętrzna/zewnętrzna\" dla najlepszego efektu nawisów. Jest to " -"spowodowane tym, że ściany zwisające mogą przylegać do sąsiednich obwodów " -"podczas drukowania. Jednakże, opcja ta skutkuje delikatnie obniżoną jakością " -"powierzchni, ponieważ zewnętrzny obrys jest deformowany przez ścianę " -"wewnętrzną, która jest do niej dociskana.\n" +"Użyj opcji \"wewnętrzna/zewnętrzna\" dla najlepszego efektu nawisów. Jest to spowodowane tym, że ściany zwisające mogą przylegać do sąsiednich obwodów podczas drukowania. Jednakże, opcja ta skutkuje delikatnie obniżoną jakością powierzchni, ponieważ zewnętrzny obrys jest deformowany przez ścianę wewnętrzną, która jest do niej dociskana.\n" "\n" -"Użyj opcji \"wewnętrzna/zewnętrzna/wewnętrzna\" dla najlepszego wykończenia " -"zewnętrznej powierzchni i dokładności wymiarowej, ponieważ zewnętrzna ściana " -"jest drukowana niezakłócona przez wewnętrzny obwód. Jednak wydajność druku " -"przy nawisach będzie niższa, ponieważ nie ma wewnętrznego obwodu, który " -"mógłby podeprzeć druk zewnętrznej ściany. Ta opcja wymaga co najmniej 3 " -"ścian, aby była skuteczna, ponieważ najpierw drukuje wewnętrzne ściany " -"zaczynając od trzeciego obwodu, następnie zewnętrzny obwód i w końcu " -"pierwszy wewnętrzny obwód. W większości przypadków ta opcja jest polecana " -"jako alternatywa dla opcji zewnętrzna/wewnętrzna.\n" +"Użyj opcji \"wewnętrzna/zewnętrzna/wewnętrzna\" dla najlepszego wykończenia zewnętrznej powierzchni i dokładności wymiarowej, ponieważ zewnętrzna ściana jest drukowana niezakłócona przez wewnętrzny obwód. Jednak wydajność druku przy nawisach będzie niższa, ponieważ nie ma wewnętrznego obwodu, który mógłby podeprzeć druk zewnętrznej ściany. Ta opcja wymaga co najmniej 3 ścian, aby była skuteczna, ponieważ najpierw drukuje wewnętrzne ściany zaczynając od trzeciego obwodu, następnie zewnętrzny obwód i w końcu pierwszy wewnętrzny obwód. W większości przypadków ta opcja jest polecana jako alternatywa dla opcji zewnętrzna/wewnętrzna.\n" "\n" -"Użyj opcji \"zewnętrzna/wewnętrzna\", aby uzyskać taką samą jakość " -"zewnętrznej ściany i precyzję wymiarową jak w opcji \"wewnętrzna/zewnętrzna/" -"wewnętrzna\". Jednakże, szwy na osi Z będą wydawać się mniej spójne, " -"ponieważ pierwsza ekstruzja nowej warstwy rozpoczyna się na widocznej " -"powierzchni." +"Użyj opcji \"zewnętrzna/wewnętrzna\", aby uzyskać taką samą jakość zewnętrznej ściany i precyzję wymiarową jak w opcji \"wewnętrzna/zewnętrzna/wewnętrzna\". Jednakże, szwy na osi Z będą wydawać się mniej spójne, ponieważ pierwsza ekstruzja nowej warstwy rozpoczyna się na widocznej powierzchni." msgid "Inner/Outer" msgstr "Wewnętrzna/Zewnętrzna" @@ -10322,44 +9012,27 @@ msgid "Print infill first" msgstr "Drukuj najpierw wypełnienie" msgid "" -"Order of wall/infill. When the tickbox is unchecked the walls are printed " -"first, which works best in most cases.\n" +"Order of wall/infill. When the tickbox is unchecked the walls are printed first, which works best in most cases.\n" "\n" -"Printing walls first may help with extreme overhangs as the walls have the " -"neighbouring infill to adhere to. However, the infill will slighly 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." +"Printing walls first may help with extreme overhangs as the walls have the neighbouring infill to adhere to. However, the infill will slighly 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 "" -"Kolejność drukowania ścian/wypełnienia. Gdy pole wyboru nie jest zaznaczone, " -"najpierw drukowane są ściany, co w większości przypadków działa najlepiej.\n" +"Kolejność drukowania ścian/wypełnienia. Gdy pole wyboru nie jest zaznaczone, najpierw drukowane są ściany, co w większości przypadków działa najlepiej.\n" "\n" -"Drukowanie najpierw ścian, może pomóc przy ekstremalnych nawisach, ponieważ " -"ściany mają sąsiednie wypełnienie, do którego przylegają. Jednak wypełnienie " -"może nieznacznie wypchnąć tam wydrukowane ściany w miejscu gdzie są do nich " -"przymocowane. Skutkuje to gorszym wykończeniem zewnętrznej powierzchni. Może " -"to również spowodować prześwitywanie wypełnienia przez zewnętrzne " -"powierzchnie części." +"Drukowanie najpierw ścian, może pomóc przy ekstremalnych nawisach, ponieważ ściany mają sąsiednie wypełnienie, do którego przylegają. Jednak wypełnienie może nieznacznie wypchnąć tam wydrukowane ściany w miejscu gdzie są do nich przymocowane. Skutkuje to gorszym wykończeniem zewnętrznej powierzchni. Może to również spowodować prześwitywanie wypełnienia przez zewnętrzne powierzchnie części." msgid "Wall loop direction" msgstr "Kierunek obwodu ściany" msgid "" -"The direction which the wall loops are extruded when looking down from the " -"top.\n" +"The direction which the wall loops are extruded when looking down from the top.\n" "\n" -"By default all walls are extruded in counter-clockwise, unless Reverse on " -"odd is enabled. Set this to any option other than Auto will force the wall " -"direction regardless of the Reverse on odd.\n" +"By default all walls are extruded in counter-clockwise, unless Reverse on odd is enabled. Set this to any option other than Auto will force the wall direction regardless of the Reverse on odd.\n" "\n" "This option will be disabled if sprial vase mode is enabled." msgstr "" "Kierunek, w którym są drukowane obwody ściany, patrząc z góry.\n" "\n" -"Domyślnie wszystkie ściany są drukowane w kierunku przeciwnym do ruchu " -"wskazówek zegara, chyba że włączona jest opcja Odwróć dla nieparzystych " -"warstw.Ustawienie tego na dowolną inną opcję niż Auto spowoduje, że kierunek " -"ściany będzie ustalony niezależnie od ustawienia Odwróć dla nieparzystych.\n" +"Domyślnie wszystkie ściany są drukowane w kierunku przeciwnym do ruchu wskazówek zegara, chyba że włączona jest opcja Odwróć dla nieparzystych warstw.Ustawienie tego na dowolną inną opcję niż Auto spowoduje, że kierunek ściany będzie ustalony niezależnie od ustawienia Odwróć dla nieparzystych.\n" "\n" "Ta opcja będzie wyłączona, jeśli aktywowany jest tryb Wazy.\n" "\n" @@ -10374,31 +9047,19 @@ msgid "Clockwise" msgstr "Zgodnie" msgid "Height to rod" -msgstr "Wysokość do pręta" +msgstr "Odległość od prowadnicy" -msgid "" -"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " -"by-object printing." -msgstr "" -"Odległość od końcówki dyszy do dolnego pręta. Używane do unikania kolizji w " -"druku obiekt-po-obiekcie." +msgid "Distance of the nozzle tip to the lower rod. Used for collision avoidance in by-object printing." +msgstr "Odległość od końcówki dyszy do dolnej części prowadnicy. Używane do unikania kolizji w druku według obiektu." msgid "Height to lid" -msgstr "Wysokość do pokrywy" +msgstr "Odległość do pokrywy" -msgid "" -"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" -"object printing." -msgstr "" -"Odległość od końcówki dyszy do pokrywy. Używane do unikania kolizji w druku " -"obiekt-po-obiekcie." +msgid "Distance of the nozzle tip to the lid. Used for collision avoidance in by-object printing." +msgstr "Odległość od końcówki dyszy do pokrywy. Używane do unikania kolizji w druku według obiektu." -msgid "" -"Clearance radius around extruder. Used for collision avoidance in by-object " -"printing." -msgstr "" -"Promień odstępu wokół extrudera. Używane do unikania kolizji w druku obiekt-" -"po-obiekcie." +msgid "Clearance radius around extruder. Used for collision avoidance in by-object printing." +msgstr "Promień odstępu wokół extrudera. Używane do unikania kolizji w druku obiekt-po-obiekcie." msgid "Nozzle height" msgstr "Wysokość dyszy" @@ -10409,69 +9070,26 @@ msgstr "Wysokość końcówki dyszy." msgid "Bed mesh min" msgstr "Min. obszar skanowania stołu" -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 "" -"Ta opcja ustawia minimalny punkt dla dozwolonego obszaru siatki stołu. Ze " -"względu na przesunięcie XY sondy większość drukarek nie jest w stanie " -"zeskanować całego stołu. Aby upewnić się, że punkt skanowania nie wychodzi " -"poza obszar stołu, minimalne i maksymalne punkty siatki stołu powinny być " -"odpowiednio ustawione. OrcaSlicer sprawdza, czy wartości " -"adaptive_bed_mesh_min/adaptive_bed_mesh_max nie przekraczają tych punktów " -"min./maks. Te informacje zazwyczaj można uzyskać od producenta drukarki. " -"Domyślne ustawienie to (-99999, -99999), co oznacza brak ograniczeń, " -"umożliwiając skanowanie całego stołu." +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 "Ta opcja ustawia minimalny punkt dla dozwolonego obszaru siatki stołu. Ze względu na przesunięcie XY sondy większość drukarek nie jest w stanie zeskanować całego stołu. Aby upewnić się, że punkt skanowania nie wychodzi poza obszar stołu, minimalne i maksymalne punkty siatki stołu powinny być odpowiednio ustawione. OrcaSlicer sprawdza, czy wartości adaptive_bed_mesh_min/adaptive_bed_mesh_max nie przekraczają tych punktów min./maks. Te informacje zazwyczaj można uzyskać od producenta drukarki. Domyślne ustawienie to (-99999, -99999), co oznacza brak ograniczeń, umożliwiając skanowanie całego stołu." msgid "Bed mesh max" msgstr "Maks. obszar skanowania stołu" -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 "" -"Ta opcja ustawia maksymalny punkt dla dozwolonego obszaru siatki stołu. Ze " -"względu na przesunięcie XY sondy większość drukarek nie jest w stanie " -"zeskanować całego stołu. Aby upewnić się, że punkt skanowania nie wychodzi " -"poza obszar stołu, minimalne i maksymalne punkty siatki stołu powinny być " -"odpowiednio ustawione. OrcaSlicer sprawdza, czy wartości " -"adaptive_bed_mesh_min/adaptive_bed_mesh_max nie przekraczają tych punktów " -"min./maks. Te informacje zazwyczaj można uzyskać od producenta drukarki. " -"Domyślne ustawienie to (-99999, -99999), co oznacza brak ograniczeń, " -"umożliwiając skanowanie całego stołu" +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 "Ta opcja ustawia maksymalny punkt dla dozwolonego obszaru siatki stołu. Ze względu na przesunięcie XY sondy większość drukarek nie jest w stanie zeskanować całego stołu. Aby upewnić się, że punkt skanowania nie wychodzi poza obszar stołu, minimalne i maksymalne punkty siatki stołu powinny być odpowiednio ustawione. OrcaSlicer sprawdza, czy wartości adaptive_bed_mesh_min/adaptive_bed_mesh_max nie przekraczają tych punktów min./maks. Te informacje zazwyczaj można uzyskać od producenta drukarki. Domyślne ustawienie to (-99999, -99999), co oznacza brak ograniczeń, umożliwiając skanowanie całego stołu" msgid "Probe point distance" msgstr "Odległość między punktami skanowania" -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 "" -"Ta opcja ustawia preferowaną odległość między punktami skanowania (rozmiar " -"siatki) w kierunku X i Y, przy czym wartość domyślna dla obu kierunków " -"wynosi 50 mm." +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 "Ta opcja ustawia preferowaną odległość między punktami skanowania (rozmiar siatki) w kierunku X i Y, przy czym wartość domyślna dla obu kierunków wynosi 50 mm." msgid "Mesh margin" msgstr "Obszar skanowania" -msgid "" -"This option determines the additional distance by which the adaptive bed " -"mesh area should be expanded in the XY directions." -msgstr "" -"Ta opcja określa dodatkową odległość, o którą ma być rozszerzony adaptacyjny " -"obszar siatki stołu w kierunkach XY." +msgid "This option determines the additional distance by which the adaptive bed mesh area should be expanded in the XY directions." +msgstr "Ta opcja określa dodatkową odległość, o którą ma być rozszerzony adaptacyjny obszar siatki stołu w kierunkach XY." msgid "Extruder Color" msgstr "Kolor extrudera" @@ -10485,64 +9103,32 @@ msgstr "Margines ekstrudera" msgid "Flow ratio" msgstr "Współczynnik przepływu" -msgid "" -"The material may have volumetric change after switching between molten state " -"and crystalline state. This setting changes all extrusion flow of this " -"filament in gcode proportionally. Recommended value range is between 0.95 " -"and 1.05. Maybe you can tune this value to get nice flat surface when there " -"has slight overflow or underflow" -msgstr "" -"Materiał może ulegać zmianie objętościowej po przejściu między stanem " -"ciekłym a krystalicznym. Ustawienie to proporcjonalnie zmienia przepływ " -"ekstruzji tego filamentu w G-code. Zalecany zakres wartości mieści się " -"między 0,95 a 1,05. Być może możesz dostroić tę wartość, aby uzyskać gładką " -"powierzchnię, gdy występuje lekkie przelewanie lub niedomiar" +msgid "The material may have volumetric change after switching between molten state and crystalline state. This setting changes all extrusion flow of this filament in gcode proportionally. Recommended value range is between 0.95 and 1.05. Maybe you can tune this value to get nice flat surface when there has slight overflow or underflow" +msgstr "Materiał może ulegać zmianie objętościowej po przejściu między stanem ciekłym a krystalicznym. Ustawienie to proporcjonalnie zmienia przepływ ekstruzji tego filamentu w G-code. Zalecany zakres wartości mieści się między 0,95 a 1,05. Być może możesz dostroić tę wartość, aby uzyskać gładką powierzchnię, gdy występuje lekkie przelewanie lub niedomiar" msgid "Enable pressure advance" msgstr "Włącz przyspieszenie ciśnienia" -msgid "" -"Enable pressure advance, auto calibration result will be overwriten once " -"enabled." -msgstr "" -"Włącz przyspieszenie ciśnienia, wynik automatycznej kalibracji zostanie " -"nadpisany po włączeniu." +msgid "Enable pressure advance, auto calibration result will be overwriten once enabled." +msgstr "Włącz przyspieszenie ciśnienia, wynik automatycznej kalibracji zostanie nadpisany po włączeniu." msgid "Pressure advance(Klipper) AKA Linear advance factor(Marlin)" -msgstr "" -"Przyspieszenie ciśnienia (Klipper), znane również jako współczynnik " -"przyspieszenia liniowego (Marlin)." +msgstr "Przyspieszenie ciśnienia (Klipper), znane również jako współczynnik przyspieszenia liniowego (Marlin)." -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 "" -"Domyślna szerokość linii, jeśli inne szerokości linii są ustawione na 0. " -"Jeśli wyrażona w %, zostanie obliczona na podstawie średnicy dyszy." +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 "Domyślna szerokość linii, jeśli inne szerokości linii są ustawione na 0. Jeśli wyrażona w %, zostanie obliczona na podstawie średnicy dyszy." msgid "Keep fan always on" msgstr "Wentylator zawsze włączony" -msgid "" -"If enable this setting, part cooling fan will never be stoped and will run " -"at least at minimum speed to reduce the frequency of starting and stoping" -msgstr "" -"Jeśli włączysz to ustawienie, wentylator chłodzący części nigdy nie zostanie " -"zatrzymany i będzie pracował przynajmniej z minimalną prędkością, aby " -"zmniejszyć częstotliwość włączania i wyłączania" +msgid "If enable this setting, part cooling fan will never be stoped and will run at least at minimum speed to reduce the frequency of starting and stoping" +msgstr "Jeśli włączysz to ustawienie, wentylator chłodzący części nigdy nie zostanie zatrzymany i będzie pracował przynajmniej z minimalną prędkością, aby zmniejszyć częstotliwość włączania i wyłączania" msgid "Layer time" msgstr "Czas warstwy" -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 "" -"Wentylator chłodzący części zostanie włączony dla warstw, których szacowany " -"czas jest krótszy niż ta wartość. Prędkość wentylatora jest interpolowana " -"między minimalną a maksymalną prędkością wentylatora zgodnie z czasem druku " -"warstwy" +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 "Wentylator chłodzący części zostanie włączony dla warstw, których szacowany czas jest krótszy niż ta wartość. Prędkość wentylatora jest interpolowana między minimalną a maksymalną prędkością wentylatora zgodnie z czasem druku warstwy" msgid "Default color" msgstr "Domyślny kolor" @@ -10559,22 +9145,11 @@ msgstr "Tutaj możesz umieścić notatki dotyczące filamentu." msgid "Required nozzle HRC" msgstr "Wymagana dysza HRC" -msgid "" -"Minimum HRC of nozzle required to print the filament. Zero means no checking " -"of nozzle's HRC." -msgstr "" -"Minimalna twardość dyszy HRC wymagana do druku filamentu. Zero oznacza brak " -"sprawdzania twardości HRC dyszy." +msgid "Minimum HRC of nozzle required to print the filament. Zero means no checking of nozzle's HRC." +msgstr "Minimalna twardość dyszy HRC wymagana do druku filamentu. Zero oznacza brak sprawdzania twardości HRC dyszy." -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 "" -"To ustawienie określa, ile objętości filamentu może być stopione i " -"wyciśnięte na sekundę. Prędkość drukowania jest ograniczana przez maksymalną " -"prędkość przepływu, w przypadku zbyt wysokiego i nieuzasadnionego ustawienia " -"prędkości. Nie może wynosić zero" +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 "To ustawienie określa, ile objętości filamentu może być stopione i wyciśnięte na sekundę. Prędkość drukowania jest ograniczana przez maksymalną prędkość przepływu, w przypadku zbyt wysokiego i nierealistycznego ustawienia prędkości. Nie może wynosić zero" msgid "mm³/s" msgstr "mm³/s" @@ -10583,41 +9158,25 @@ msgid "Filament load time" msgstr "Czas ładowania filamentu" msgid "Time to load new filament when switch filament. For statistics only" -msgstr "" -"Czas ładowania nowego filamentu podczas zmiany filamentu. Tylko do celów " -"statystycznych" +msgstr "Czas ładowania nowego filamentu podczas zmiany filamentu. Tylko do celów statystycznych" msgid "Filament unload time" msgstr "Czas rozładowania filamentu" msgid "Time to unload old filament when switch filament. For statistics only" -msgstr "" -"Czas rozładunku poprzedniego filamentu podczas zmiany filamentu. Tylko do " -"celów statystycznych" +msgstr "Czas rozładunku poprzedniego filamentu podczas zmiany filamentu. Tylko do celów statystycznych" -msgid "" -"Filament diameter is used to calculate extrusion in gcode, so it's important " -"and should be accurate" -msgstr "" -"Średnica filamentu jest używana do obliczania ekstruzji w G-code, więc jest " -"bardzo ważna i powinna być dokładna" +msgid "Filament diameter is used to calculate extrusion in gcode, so it's important and should be accurate" +msgstr "Średnica filamentu jest używana do obliczania ekstruzji w G-code, więc jest bardzo ważna i powinna być dokładna" msgid "Shrinkage" msgstr "Skurcz" #, 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. Only the filament used for the perimeter is taken into account.\n" -"Be sure to allow enough space between objects, as this compensation is done " -"after the checks." -msgstr "" -"Podaj procent skurczu, którego filament doświadczy po schłodzeniu (94% jeśli " -"zmierzyłeś 94mm zamiast 100mm). Część będzie skalowana w płaszczyźnie xy, " -"aby to zrekompensować. Wzięto pod uwagę tylko filament używany do obwodu. " -"Upewnij się, że pozostawiłeś wystarczająco dużo miejsca między obiektami, " -"ponieważ ta kompensacja jest wykonywana po przeprowadzeniu kontroli." +"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. Only the filament used for the perimeter is taken into account.\n" +"Be sure to allow enough space between objects, as this compensation is done after the checks." +msgstr "Podaj procent skurczu, którego filament doświadczy po schłodzeniu (94% jeśli zmierzyłeś 94mm zamiast 100mm). Część będzie skalowana w płaszczyźnie xy, aby to zrekompensować. Wzięto pod uwagę tylko filament używany do obwodu. Upewnij się, że pozostawiłeś wystarczająco dużo miejsca między obiektami, ponieważ ta kompensacja jest wykonywana po przeprowadzeniu kontroli." msgid "Loading speed" msgstr "Prędkość ładowania" @@ -10634,44 +9193,26 @@ msgstr "Prędkość używana na samym początku fazy ładowania." msgid "Unloading speed" msgstr "Prędkość rozładowania" -msgid "" -"Speed used for unloading the filament on the wipe tower (does not affect " -"initial part of unloading just after ramming)." -msgstr "" -"Prędkość stosowana do usuwania filamentu na wieży czyszczącej (nie ma wpływu " -"na wstępną część usuwania filamentu, następującą bezpośrednio po procesie " -"wtłaczania)." +msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming)." +msgstr "Prędkość stosowana do usuwania filamentu na wieży czyszczącej (nie ma wpływu na wstępną część usuwania filamentu, następującą bezpośrednio po procesie wtłaczania)." msgid "Unloading speed at the start" msgstr "Początkowa prędkość rozładowania" -msgid "" -"Speed used for unloading the tip of the filament immediately after ramming." -msgstr "" -"Prędkość używana do rozładowywania końcówki filamentu zaraz po ramming-u." +msgid "Speed used for unloading the tip of the filament immediately after ramming." +msgstr "Prędkość używana do rozładowywania końcówki filamentu zaraz po ramming-u." msgid "Delay after unloading" msgstr "Opóźnienie po rozładowaniu" -msgid "" -"Time to wait after the filament is unloaded. May help to get reliable " -"toolchanges with flexible materials that may need more time to shrink to " -"original dimensions." -msgstr "" -"Czas bezczynności po rozładowaniu filamentu. Może pomóc w bezproblemowej " -"zmianie narzędzia podczas druku z materiałami elastycznymi, które mogą " -"potrzebować więcej czasu na skurcz termiczny wracając do nominalnego " -"rozmiaru." +msgid "Time to wait after the filament is unloaded. May help to get reliable toolchanges with flexible materials that may need more time to shrink to original dimensions." +msgstr "Czas bezczynności po rozładowaniu filamentu. Może pomóc w bezproblemowej zmianie narzędzia podczas druku z materiałami elastycznymi, które mogą potrzebować więcej czasu na skurcz termiczny wracając do nominalnego rozmiaru." msgid "Number of cooling moves" msgstr "Liczba ruchów chłodzących" -msgid "" -"Filament is cooled by being moved back and forth in the cooling tubes. " -"Specify desired number of these moves." -msgstr "" -"Filament jest chłodzony poprzez poruszanie go tam i z powrotem w ruchach " -"chłodzących. Określ pożądaną liczbę tych ruchów." +msgid "Filament is cooled by being moved back and forth in the cooling tubes. Specify desired number of these moves." +msgstr "Filament jest chłodzony poprzez poruszanie go tam i z powrotem w ruchach chłodzących. Określ pożądaną liczbę tych ruchów." msgid "Speed of the first cooling move" msgstr "Prędkość pierwszego ruchu chłodzącego" @@ -10682,19 +9223,8 @@ msgstr "Ruchy chłodzące stopniowo przyspieszają, zaczynając od tej prędkoś msgid "Minimal purge on wipe tower" msgstr "Minimalna objętość czyszczenia" -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 "" -"Po zmianie narzędzia dokładna pozycja nowo załadowanego filamentu wewnątrz " -"dyszy może nie być znana, a ciśnienie filamentu prawdopodobnie jeszcze nie " -"jest stabilne. Przed wyczyszczeniem głowicy drukującej do wypełnienia lub " -"obiektu poświęcnego, Orca Slicer zawsze wstępnie poda tę ilość filamentu do " -"wieży czyszczącej, aby niezawodnie produkować kolejne wypełnienia lub " -"ekstruzje obiektów poświęcnych." +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 "Po zmianie narzędzia dokładna pozycja nowo załadowanego filamentu wewnątrz dyszy może nie być znana, a ciśnienie filamentu prawdopodobnie jeszcze nie jest stabilne. Przed wyczyszczeniem głowicy drukującej do wypełnienia lub do obiektu, OrcaSlicer zawsze wstępnie wytłoczy tę ilość filamentu do wieży czyszczącej, aby zapewnić niezawodną dalszą ekstruzję." msgid "Speed of the last cooling move" msgstr "Prędkość ostatniego ruchu chłodzącego" @@ -10702,48 +9232,23 @@ msgstr "Prędkość ostatniego ruchu chłodzącego" msgid "Cooling moves are gradually accelerating towards this speed." msgstr "Ruchy chłodzące stopniowo przyspieszają do tej prędkości." -msgid "" -"Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " -"filament during a tool change (when executing the T code). This time is " -"added to the total print time by the G-code time estimator." -msgstr "" -"Czas, który drukarka (lub dodatek Multi Material 2.0) poświęca na ładowanie " -"nowego filamentu podczas zmiany narzędzia (przy wykonywaniu kodu T). Ten " -"czas jest dodawany do szacowanego czasu druku." +msgid "Time for the printer firmware (or the Multi Material Unit 2.0) to load a new filament during a tool change (when executing the T code). This time is added to the total print time by the G-code time estimator." +msgstr "Czas, który drukarka (lub dodatek Multi Material 2.0) poświęca na ładowanie nowego filamentu podczas zmiany narzędzia (przy wykonywaniu kodu T). Ten czas jest dodawany do szacowanego czasu druku." msgid "Ramming parameters" msgstr "Parametry wyciskania" -msgid "" -"This string is edited by RammingDialog and contains ramming specific " -"parameters." -msgstr "" -"Ten ciąg jest edytowany przez RammingDialog i zawiera parametry właściwe dla " -"wyciskania." +msgid "This string is edited by RammingDialog and contains ramming specific parameters." +msgstr "Ten ciąg jest edytowany przez RammingDialog i zawiera parametry właściwe dla wyciskania." -msgid "" -"Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " -"filament during a tool change (when executing the T code). This time is " -"added to the total print time by the G-code time estimator." -msgstr "" -"Czas, który drukarka (lub dodatek Multi Material 2.0) poświęca na " -"rozładowanie nowego filamentu podczas zmiany narzędzia (przy wykonywaniu " -"kodu T). Ten czas jest dodawany do szacowanego czasu druku." +msgid "Time for the printer firmware (or the Multi Material Unit 2.0) to unload a filament during a tool change (when executing the T code). This time is added to the total print time by the G-code time estimator." +msgstr "Czas, który drukarka (lub dodatek Multi Material 2.0) poświęca na rozładowanie nowego filamentu podczas zmiany narzędzia (przy wykonywaniu kodu T). Ten czas jest dodawany do szacowanego czasu druku." msgid "Enable ramming for multitool setups" msgstr "Włącz wbijanie dla konfiguracji wielonarzędziowych" -msgid "" -"Perform ramming when using multitool 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 " -"toolchange. This option is only used when the wipe tower is enabled." -msgstr "" -"Wykonuj raming podczas korzystania z drukarki wieloinstrumentowej (tj. gdy " -"opcja „Pojedynczy extruder wielomateriałowy” w ustawieniach drukarki jest " -"odznaczona). Po zaznaczeniu tej opcji, niewielka ilość filamentu jest szybko " -"wytłaczana na wieżę czyszczącą tuż przed zmianą narzędzia. Ta opcja jest " -"używana tylko wtedy, gdy wieża czyszcząca jest włączona." +msgid "Perform ramming when using multitool 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 toolchange. This option is only used when the wipe tower is enabled." +msgstr "Wykonuj raming podczas korzystania z drukarki wieloinstrumentowej (tj. gdy opcja „Pojedynczy extruder wielomateriałowy” w ustawieniach drukarki jest odznaczona). Po zaznaczeniu tej opcji, niewielka ilość filamentu jest szybko wytłaczana na wieżę czyszczącą tuż przed zmianą narzędzia. Ta opcja jest używana tylko wtedy, gdy wieża czyszcząca jest włączona." msgid "Multitool ramming volume" msgstr "Objętość ramingu wieloinstrumentowego" @@ -10772,32 +9277,20 @@ msgstr "Typ filamentu" msgid "Soluble material" msgstr "Materiał rozpuszczalny" -msgid "" -"Soluble material is commonly used to print support and support interface" -msgstr "" -"Materiał rozpuszczalny jest powszechnie używany do drukowania podpór i " -"warstw łączących podpory z modelem" +msgid "Soluble material is commonly used to print support and support interface" +msgstr "Materiał rozpuszczalny jest powszechnie używany do drukowania podpór i warstw łączących podpory z modelem" msgid "Support material" msgstr "Materiał podporowy" -msgid "" -"Support material is commonly used to print support and support interface" -msgstr "" -"Materiał podporowy jest powszechnie używany do drukowania podpór i warstw " -"łączących podpory z modelem" +msgid "Support material is commonly used to print support and support interface" +msgstr "Materiał podporowy jest powszechnie używany do drukowania podpór i warstw łączących podpory z modelem" msgid "Softening temperature" msgstr "Temperatura mięknięcia" -msgid "" -"The material softens at this temperature, so when the bed temperature is " -"equal to or greater than it, it's highly recommended to open the front door " -"and/or remove the upper glass to avoid cloggings." -msgstr "" -"Materiał mięknie w tej temperaturze, więc gdy temperatura stołu jest równa " -"lub wyższa, zaleca się otwarcie drzwi przednich i/lub usunięcie górnej " -"szyby, aby uniknąć zatykania." +msgid "The material softens at this temperature, so when the bed temperature is equal to or greater than it, it's highly recommended to open the front door and/or remove the upper glass to avoid cloggings." +msgstr "Materiał mięknie w tej temperaturze, więc gdy temperatura stołu jest równa lub wyższa, zaleca się otwarcie drzwi przednich i/lub usunięcie górnej szyby, aby uniknąć zatykania." msgid "Price" msgstr "Cena" @@ -10817,25 +9310,30 @@ msgstr "Dostawca filamentu. Tylko do celów prezentacyjnych" msgid "(Undefined)" msgstr "(Nieokreślone)" -msgid "Infill direction" -msgstr "Kierunek wypełnienia" +msgid "Sparse infill direction" +msgstr "Kierunek wzoru wypełnienia" -msgid "" -"Angle for sparse infill pattern, which controls the start or main direction " -"of line" -msgstr "" -"Kąt dla wzoru linii wypełnienia, który kontroluje początek lub ich kierunek" +msgid "Angle for sparse infill pattern, which controls the start or main direction of line" +msgstr "Kąt dla wzoru wypełnienia, który kontroluje początek lub główny kierunek linii" + +msgid "Solid infill direction" +msgstr "Kierunek wzoru pełnego wypełnienia" + +msgid "Angle for solid infill pattern, which controls the start or main direction of line" +msgstr "Kąt wyznaczający główny kierunek linii dla wzoru pełnego wypełnienia" + +msgid "Rotate solid infill direction" +msgstr "Zmień kierunek pełnego wypełnienia" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "Zmień kierunek pełnego wypełnienia o 90° dla każdej warstwy." msgid "Sparse infill density" msgstr "Gęstość wypełnienia" #, 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 "" -"Gęstość wewnętrznego wypełnienia, 100% przekształca całe rzadkie wypełnienie " -"w wypełnienie pełne, a użyty zostanie wzór wewnętrznego pełnego wypełnienia" +msgid "Density of internal sparse infill, 100% turns all sparse infill into solid infill and internal solid infill pattern will be used" +msgstr "Gęstość wewnętrznego wypełnienia, 100% przekształca całe rzadkie wypełnienie w wypełnienie pełne, a użyty zostanie wzór wewnętrznego pełnego wypełnienia" msgid "Sparse infill pattern" msgstr "Wzór wypełnienia" @@ -10880,28 +9378,11 @@ msgid "Sparse infill anchor length" msgstr "Długość kotwiczenia wypełnienia" 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." +"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 "" -"Połączenie wypełnienia z wewnętrznym obrysem poprzez dodawanie krótkich " -"segmentów obrysu. Gdy wartość jest podana w procentach (przykład: 15%), " -"zostanie ona obliczona na podstawie szerokości ścieżki wypełnienia. Slicer " -"stara się łączyć dwie sąsiednie linie wypełnienia za pomocą krótkiego " -"segmentu obrysu. W sytuacji, gdy nie znajdzie segmentu krótszego niż " -"określony parametr, linia wypełnienia zostanie połączona z segmentem obrysu " -"tylko z jednej strony. Długość tego segmentu zostanie ograniczona do " -"wartości określonej w parametrze infill_anchor, ale nie przekroczy tej " -"wartości. \n" -"Aby wyłączyć funkcję kotwiczenia, należy ustawić wartość na zero. Ustaw " -"zero, aby wyłączyć kotwiczenie obrysów do pojedynczej linii wypełnienia." +"Połączenie wypełnienia z wewnętrznym obrysem poprzez dodawanie krótkich segmentów obrysu. Gdy wartość jest podana w procentach (przykład: 15%), zostanie ona obliczona na podstawie szerokości ścieżki wypełnienia. Slicer stara się łączyć dwie sąsiednie linie wypełnienia za pomocą krótkiego segmentu obrysu. W sytuacji, gdy nie znajdzie segmentu krótszego niż określony parametr, linia wypełnienia zostanie połączona z segmentem obrysu tylko z jednej strony. Długość tego segmentu zostanie ograniczona do wartości określonej w parametrze infill_anchor, ale nie przekroczy tej wartości. \n" +"Aby wyłączyć funkcję kotwiczenia, należy ustawić wartość na zero. Ustaw zero, aby wyłączyć kotwiczenie obrysów do pojedynczej linii wypełnienia." msgid "0 (no open anchors)" msgstr "0 (brak otwartych kotwic)" @@ -10913,27 +9394,11 @@ msgid "Maximum length of the infill anchor" msgstr "Maksymalna długość kotwiczenia wypełnienia" 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." +"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 "" -"Łączenie wypełnienia z wewnętrznym obrysem przez dodanie krótkiego segmentu " -"obrysu. Jeśli wyrażone w procentach (np. 15%), zostanie obliczone z " -"szerokości ścieżki wypełnienia. Orca Slicer spróbuje połączyć dwie " -"najbliższe linie wypełnienia krótkim segmentem obrysu. Jeśli nie zostanie " -"znaleziony segment krótszy, niż ten parametr, linia wypełnienia zostanie " -"dołączona do segmentu obrysu tylko z jednej strony, a długość segmentu " -"będzie ograniczona do wartości parametru infill_anchor, ale nie dłuższa niż " -"ten parametr.\n" -"Jeśli ustawione na 0, zostanie użyty stary algorytm łączenia wypełnienia, " -"powinien dać ten sam wynik co przy ustawieniu 1000 & 0." +"Łączenie wypełnienia z wewnętrznym obrysem przez dodanie krótkiego segmentu obrysu. Jeśli wyrażone w procentach (np. 15%), zostanie obliczone z szerokości ścieżki wypełnienia. Orca Slicer spróbuje połączyć dwie najbliższe linie wypełnienia krótkim segmentem obrysu. Jeśli nie zostanie znaleziony segment krótszy, niż ten parametr, linia wypełnienia zostanie dołączona do segmentu obrysu tylko z jednej strony, a długość segmentu będzie ograniczona do wartości parametru infill_anchor, ale nie dłuższa niż ten parametr.\n" +"Jeśli ustawione na 0, zostanie użyty stary algorytm łączenia wypełnienia, powinien dać ten sam wynik co przy ustawieniu 1000 & 0." msgid "0 (Simple connect)" msgstr "0 (bez przymocowania)" @@ -10947,69 +9412,39 @@ msgstr "Przyspieszenie na wewnętrznych ścianach" msgid "Acceleration of travel moves" msgstr "Przyspieszenie ruchów podróżnych" -msgid "" -"Acceleration of top surface infill. Using a lower value may improve top " -"surface quality" -msgstr "" -"Przyspieszenie dla wypełnienia górnej powierzchni. Użycie niższej wartości " -"może poprawić jakość górnej powierzchni" +msgid "Acceleration of top surface infill. Using a lower value may improve top surface quality" +msgstr "Przyspieszenie dla wypełnienia górnej powierzchni. Użycie niższej wartości może poprawić jakość górnej powierzchni" msgid "Acceleration of outer wall. Using a lower value can improve quality" -msgstr "" -"Przyspieszenie na zewnętrznej ścianie. Użycie niższej wartości może poprawić " -"jakość" +msgstr "Przyspieszenie na zewnętrznej ścianie. Użycie niższej wartości może poprawić jakość" -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 "" -"Przyspieszenie na mostkach. Jeśli wartość jest wyrażona w procentach (np. " -"50%), będzie obliczana na podstawie przyspieszenia zewnętrznej ściany." +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 "Przyspieszenie na mostkach. Jeśli wartość jest wyrażona w procentach (np. 50%), będzie obliczana na podstawie przyspieszenia zewnętrznej ściany." msgid "mm/s² or %" msgstr "mm/s² lub %" -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 "" -"Przyspieszenie na rzadkim wypełnieniu. Jeśli wartość jest wyrażona w " -"procentach (np. 100%), będzie obliczana na podstawie domyślnego " -"przyspieszenia." +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 "Przyspieszenie na rzadkim wypełnieniu. Jeśli wartość jest wyrażona w procentach (np. 100%), będzie obliczana na podstawie domyślnego przyspieszenia." -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 "" -"Przyspieszenie wewnętrznego, pełnego wypełnienia. Jeśli wartość jest " -"wyrażona w procentach (np. 100%), będzie obliczana na podstawie domyślnego " -"przyspieszenia." +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 "Przyspieszenie wewnętrznego, pełnego wypełnienia. Jeśli wartość jest wyrażona w procentach (np. 100%), będzie obliczana na podstawie domyślnego przyspieszenia." -msgid "" -"Acceleration of initial layer. Using a lower value can improve build plate " -"adhesive" -msgstr "" -"Przyspieszenie dla pierwszej warstwy. Użycie niższej wartości może poprawić " -"przyczepność do stołu" +msgid "Acceleration of initial layer. Using a lower value can improve build plate adhesive" +msgstr "Przyspieszenie dla pierwszej warstwy. Użycie niższej wartości może poprawić przyczepność do stołu" msgid "Enable accel_to_decel" -msgstr "Włącz przyspieszanie do hamowania" +msgstr "Włącz accel_to_decel" msgid "Klipper's max_accel_to_decel will be adjusted automatically" -msgstr "" -"Maksymalne przyspieszenie hamowania Klippera zostanie dostosowane " -"automatycznie" +msgstr "Maksymalne przyspieszenie hamowania Klippera zostanie dostosowane automatycznie" msgid "accel_to_decel" -msgstr "przyspieszanie do hamowania" +msgstr "Dopasuj przyspieszenie przed zmianą kierunku" #, c-format, boost-format -msgid "" -"Klipper's max_accel_to_decel will be adjusted to this %% of acceleration" -msgstr "" -"Maksymalne przyspieszenie hamowania Klippera zostanie dostosowane do tego %% " -"przyspieszenia" +msgid "Klipper's max_accel_to_decel will be adjusted to this %% of acceleration" +msgstr "Maksymalne przyspieszenie hamowania Klippera zostanie dostosowane do tego %% przyspieszenia" msgid "Jerk of outer walls" msgstr "Jerk zewnętrznych ścian" @@ -11029,25 +9464,17 @@ msgstr "Jerk pierwszej warstwy" msgid "Jerk for travel" msgstr "Jerk ruchu jałowego" -msgid "" -"Line width of initial layer. If expressed as a %, it will be computed over " -"the nozzle diameter." -msgstr "" -"Szerokość linii dla pierwszej warstwy. Jeśli jest wyrażona jako %, zostanie " -"obliczona na podstawie średnicy dyszy." +msgid "Line width of initial layer. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Szerokość linii dla pierwszej warstwy. Jeśli jest wyrażona jako %, zostanie obliczona na podstawie średnicy dyszy." msgid "Initial layer height" msgstr "Wysokość pierwszej warstwy" -msgid "" -"Height of initial layer. Making initial layer height to be thick slightly " -"can improve build plate adhension" -msgstr "" -"Wysokość pierwszej warstwy. Nieznaczne zwiększenie grubości pierwszej " -"warstwy może poprawić przyczepność do stołu" +msgid "Height of initial layer. Making initial layer height to be thick slightly can improve build plate adhension" +msgstr "Wysokość pierwszej warstwy. Nieznaczne zwiększenie grubości pierwszej warstwy może poprawić przyczepność do stołu" msgid "Speed of initial layer except the solid infill part" -msgstr "Prędkość pierwszej warstwy poza pełnym wypełnieniem" +msgstr "Prędkość pierwszej warstwy z wyjątkiem pełnego wypełnienia" msgid "Initial layer infill" msgstr "Wypełnienie pierwszej warstwy" @@ -11064,57 +9491,35 @@ msgstr "Prędkość jałowa dla pierwszej warstwy" msgid "Number of slow layers" msgstr "Ilość warstw o niższej prędkości" -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 "" -"Pierwsze kilka warstw jest drukowane wolniej niż zwykle. Prędkość jest " -"stopniowo zwiększana w sposób liniowy przez określoną liczbę warstw." +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 "Pierwsze kilka warstw jest drukowane wolniej niż zwykle. Prędkość jest stopniowo zwiększana w sposób liniowy przez określoną liczbę warstw." msgid "Initial layer nozzle temperature" msgstr "Temperatura dyszy dla pierwszej warstwy" msgid "Nozzle temperature to print initial layer when using this filament" -msgstr "" -"Temperatura dyszy do drukowania pierwszej warstwy przy użyciu tego filamentu" +msgstr "Temperatura dyszy do drukowania pierwszej warstwy przy użyciu tego filamentu" msgid "Full fan speed at layer" msgstr "Pełna prędkość wentylatora na warstwie" -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 "" -"Prędkość wentylatora będzie stopniowo zwiększana liniowo od zera na warstwie " -"\"close_fan_the_first_x_layers\" do maksymalnej na warstwie " -"\"full_fan_speed_layer\". Jeśli \"full_fan_speed_layer\" jest niższa niż " -"\"close_fan_the_first_x_layers\", to wentylator będzie pracować z maksymalną " -"dozwoloną prędkością na warstwie \"close_fan_the_first_x_layers\" + 1." +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 "Prędkość wentylatora będzie stopniowo zwiększana liniowo od zera na warstwie \"close_fan_the_first_x_layers\" do maksymalnej na warstwie \"full_fan_speed_layer\". Jeśli \"full_fan_speed_layer\" jest niższa niż \"close_fan_the_first_x_layers\", to wentylator będzie pracować z maksymalną dozwoloną prędkością na warstwie \"close_fan_the_first_x_layers\" + 1." msgid "Support interface fan speed" msgstr "Prędkość wentylatora dla warstwy łączącej podpory" msgid "" -"This fan speed is enforced during all support interfaces, to be able to " -"weaken their bonding with a high fan speed.\n" +"This fan speed is enforced during all support interfaces, to be able to weaken their bonding with a high fan speed.\n" "Set to -1 to disable this override.\n" "Can only be overriden by disable_fan_first_layers." msgstr "" -"Ta prędkość wentylatora jest narzucana podczas drukowania wszystkich warstw " -"łączących podpory,\n" -"aby osłabić ich wiązanie przy wyższej prędkości wentylatora. Ustaw na -1, " -"aby wyłączyć to narzucenie.\n" +"Ta prędkość wentylatora jest narzucana podczas drukowania wszystkich warstw łączących podpory,\n" +"aby osłabić ich wiązanie przy wyższej prędkości wentylatora. Ustaw na -1, aby wyłączyć to narzucenie.\n" "Można to nadpisać tylko za pomocą opcji disable_fan_first_layers." -msgid "" -"Randomly jitter while printing the wall, so that the surface has a rough " -"look. This setting controls the fuzzy position" -msgstr "" -"Losowe wibracje podczas drukowania ścian, aby nadać powierzchni chropowaty " -"wygląd.To ustawienie reguluje \"chropowatość\"" +msgid "Randomly jitter while printing the wall, so that the surface has a rough look. This setting controls the fuzzy position" +msgstr "Losowe wibracje podczas drukowania ścian, aby nadać powierzchni chropowaty wygląd.To ustawienie reguluje \"chropowatość\"" msgid "Contour" msgstr "Kontur" @@ -11128,22 +9533,14 @@ msgstr "Wszystkie ściany" msgid "Fuzzy skin thickness" msgstr "Grubość skóry Fuzzy" -msgid "" -"The width within which to jitter. It's adversed to be below outer wall line " -"width" -msgstr "" -"Szerokość w granicach której występuje drganie. Zaleca się, aby była poniżej " -"szerokości linii zewnętrznej ściany." +msgid "The width within which to jitter. It's adversed to be below outer wall line width" +msgstr "Szerokość w granicach której występuje drganie. Zaleca się, aby była poniżej szerokości linii zewnętrznej ściany." msgid "Fuzzy skin point distance" msgstr "Odstęp między punktami na skórze Fuzzy" -msgid "" -"The average diatance between the random points introducded on each line " -"segment" -msgstr "" -"Średnia odległość między losowymi punktami wprowadzonymi na każdym odcinku " -"linii" +msgid "The average diatance between the random points introducded on each line segment" +msgstr "Średnia odległość między losowymi punktami wprowadzonymi na każdym odcinku linii" msgid "Apply fuzzy skin to first layer" msgstr "Zastosuj skórę Fuzzy na pierwszej warstwie" @@ -11160,35 +9557,20 @@ msgstr "Warstwy i obwody" msgid "Filter out gaps smaller than the threshold specified" msgstr "Filtruj szczeliny mniejsze niż podany próg" -msgid "" -"Speed of gap infill. Gap usually has irregular line width and should be " -"printed more slowly" -msgstr "" -"Prędkość wypełniania przerw. Przerwa zazwyczaj ma nieregularną szerokość " -"linii i powinna być drukowana wolniej" +msgid "Speed of gap infill. Gap usually has irregular line width and should be printed more slowly" +msgstr "Prędkość wypełniania szczelin. Przerwa zazwyczaj ma nieregularną szerokość linii i powinna być drukowana wolniej" msgid "Precise Z height" msgstr "Precyzyjna wysokość 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 "" -"Aktywuj tę opcję, aby uzyskać precyzyjną wysokość obiektu po przetworzeniu " -"na warstwy. Precyzyjna wysokość obiektu zostanie uzyskana poprzez dokładne " -"dostosowanie wysokości ostatnich kilku warstw. Należy pamiętać, że jest to " -"parametr eksperymentalny." +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 "Aktywuj tę opcję, aby uzyskać precyzyjną wysokość obiektu po przetworzeniu na warstwy. Precyzyjna wysokość obiektu zostanie uzyskana poprzez dokładne dostosowanie wysokości ostatnich kilku warstw. Należy pamiętać, że jest to parametr eksperymentalny." msgid "Arc fitting" msgstr "Dopasowanie łuków" -msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" -msgstr "" -"Włącz tę opcję, aby uzyskać plik G-code zawierający ruchy G2 i G3. " -"Tolerancja dopasowania jest taka sama jak rozdzielczość" +msgid "Enable this to get a G-code file which has G2 and G3 moves. And the fitting tolerance is same with resolution" +msgstr "Włącz tę opcję, aby uzyskać plik G-code zawierający ruchy G2 i G3. Tolerancja dopasowania jest taka sama jak rozdzielczość" msgid "Add line number" msgstr "Dodaj numer linii" @@ -11199,22 +9581,14 @@ msgstr "Włącz to, aby dodać numer linii (Nx) na początku każdej linii G-Cod msgid "Scan first layer" msgstr "Skanuj pierwszą warstwę" -msgid "" -"Enable this to enable the camera on printer to check the quality of first " -"layer" -msgstr "" -"Włącz to, aby włączyć kamerę w drukarce do sprawdzania jakości pierwszej " -"warstwy" +msgid "Enable this to enable the camera on printer to check the quality of first layer" +msgstr "Włącz to, aby włączyć kamerę w drukarce do sprawdzania jakości pierwszej warstwy" msgid "Nozzle type" msgstr "Typ dyszy" -msgid "" -"The metallic material of nozzle. This determines the abrasive resistance of " -"nozzle, and what kind of filament can be printed" -msgstr "" -"Materiał metalu dyszy. Określa on odporność na ścieranie dyszy oraz rodzaj " -"filamentu, który można drukować" +msgid "The metallic material of nozzle. This determines the abrasive resistance of nozzle, and what kind of filament can be printed" +msgstr "Materiał metalu dyszy. Określa on odporność na ścieranie dyszy oraz rodzaj filamentu, który można drukować" msgid "Undefine" msgstr "Nie zdefiniowane" @@ -11231,12 +9605,8 @@ msgstr "Mosiądz" msgid "Nozzle HRC" msgstr "Twardość dyszy (HRC)" -msgid "" -"The nozzle's hardness. Zero means no checking for nozzle's hardness during " -"slicing." -msgstr "" -"Twardość dyszy. Zero oznacza brak sprawdzania twardości dyszy podczas " -"procesu cięcia." +msgid "The nozzle's hardness. Zero means no checking for nozzle's hardness during slicing." +msgstr "Twardość dyszy. Zero oznacza brak sprawdzania twardości dyszy podczas procesu cięcia." msgid "HRC" msgstr "HRC" @@ -11263,37 +9633,22 @@ msgid "Best object position" msgstr "Najlepsza pozycja obiektu" msgid "Best auto arranging position in range [0,1] w.r.t. bed shape." -msgstr "" -"Najlepsza automatyczna pozycja w zakresie [0,1] w stosunku do kształtu stołu." +msgstr "Najlepsza automatyczna pozycja w zakresie [0,1] w stosunku do kształtu stołu." + +msgid "Enable this option if machine has auxiliary part cooling fan. G-code command: M106 P2 S(0-255)." +msgstr "Włącz tę opcję, jeśli urządzenie ma dodatkowy wentylator chłodzenia części. Polecenie G-code: M106 P2 S(0-255)." msgid "" -"Enable this option if machine has auxiliary part cooling fan. G-code " -"command: M106 P2 S(0-255)." -msgstr "" -"Włącz tę opcję, jeśli urządzenie ma dodatkowy wentylator chłodzenia części. " -"Polecenie G-code: 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 comands from custom gcodes (they act as a sort of " -"'barrier').\n" -"It won't move fan comands into the start gcode if the 'only custom start " -"gcode' is activated.\n" +"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 comands from custom gcodes (they act as a sort of 'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start gcode' is activated.\n" "Use 0 to deactivate." msgstr "" -"Uruchom wentylator na określoną liczbę sekund wcześniej niż planowany czas " -"startu (możliwe jest użycie ułamków sekundy). Przyjmuje się nieskończone " -"przyspieszenie dla oszacowania tego czasu, przy uwzględnieniu jedynie ruchów " -"G1 i G0 (obsługa ruchów po łuku nie jest wspierana).\n" +"Uruchom wentylator na określoną liczbę sekund wcześniej niż planowany czas startu (możliwe jest użycie ułamków sekundy). Przyjmuje się nieskończone przyspieszenie dla oszacowania tego czasu, przy uwzględnieniu jedynie ruchów G1 i G0 (obsługa ruchów po łuku nie jest wspierana).\n" "\n" -"To nie spowoduje zmiany ustawień wentylatora z niestandardowych G-code " -"(działają one jak rodzaj bariery).\n" +"To nie spowoduje zmiany ustawień wentylatora z niestandardowych G-code (działają one jak rodzaj bariery).\n" "\n" -"Nie spowoduje to również zmiany ustawień wentylatora w początkowym G-code, " -"jeśli aktywowana jest opcja \"tylko niestandardowy początkowy G-code\".\n" +"Nie spowoduje to również zmiany ustawień wentylatora w początkowym G-code, jeśli aktywowana jest opcja \"tylko niestandardowy początkowy G-code\".\n" "\n" "Ustaw 0, aby wyłączyć tę funkcję." @@ -11307,18 +9662,12 @@ msgid "Fan kick-start time" msgstr "Czas działania wentylatora w trybie wymuszonego startu" 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" +"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 "" -"Wysyła polecenie maksymalnej prędkości wentylatora na określony czas, zanim " -"zostanie zmniejszona do docelowej prędkości, aby uruchomić wentylator " -"chłodzenia.\n" -"Jest to przydatne dla wentylatorów, gdzie niskie PWM/moc może być " -"niewystarczające do uruchomienia wentylatora po zatrzymaniu lub do szybszego " -"zwiększenia prędkości obrotowej\n" +"Wysyła polecenie maksymalnej prędkości wentylatora na określony czas, zanim zostanie zmniejszona do docelowej prędkości, aby uruchomić wentylator chłodzenia.\n" +"Jest to przydatne dla wentylatorów, gdzie niskie PWM/moc może być niewystarczające do uruchomienia wentylatora po zatrzymaniu lub do szybszego zwiększenia prędkości obrotowej\n" "\n" "Ustaw 0, aby wyłączyć tę funkcję." @@ -11338,8 +9687,7 @@ msgid "" "This option is enabled if machine support controlling chamber temperature\n" "G-code command: M141 S(0-255)" msgstr "" -"Ta opcja jest włączona, jeśli drukarka obsługuje kontrolę temperatury " -"komory\n" +"Ta opcja jest włączona, jeśli drukarka obsługuje kontrolę temperatury komory\n" "Polecenie G-code: M141 S(0-255)" msgid "Support air filtration" @@ -11370,66 +9718,44 @@ msgstr "Włącz tę opcję, jeśli chcesz używać wielu rodzajów płyt roboczy msgid "Label objects" msgstr "Etykietuj obiekty" -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 " -"plugin. This settings is NOT compatible with Single Extruder Multi Material " -"setup and Wipe into Object / Wipe into Infill." -msgstr "" -"Włącz to, aby dodać komentarze do pliku G-Code, oznaczające ruchy druku, do " -"jakiego obiektu należą. Jest to przydatne dla wtyczki Octoprint " -"CancelObject. Te ustawienia NIE są kompatybilne z konfiguracją Single " -"Extruder Multi Material i opcją Wipe into Object / Wipe into Infill." +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 plugin. This settings is NOT compatible with Single Extruder Multi Material setup and Wipe into Object / Wipe into Infill." +msgstr "Włącz to, aby dodać komentarze do pliku G-Code, oznaczające ruchy druku, do jakiego obiektu należą. Jest to przydatne dla wtyczki Octoprint CancelObject. Te ustawienia NIE są kompatybilne z konfiguracją Single Extruder Multi Material i opcją Wipe into Object / Wipe into Infill." msgid "Exclude objects" msgstr "Wyłącz obiekty" msgid "Enable this option to add EXCLUDE OBJECT command in g-code" -msgstr "Włącz tę opcję, aby dodać polecenie EXCLUDE OBJECT do kodu G" +msgstr "Włącz tę opcję, aby dodać polecenie EXCLUDE OBJECT do G-code" msgid "Verbose G-code" msgstr "Rozszerzony 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 "" -"Włącz to, aby uzyskać plik G-code z komentarzami, w którym każda linia jest " -"wyjaśniana przez opisowy tekst. Jeśli drukujesz z karty SD, dodatkowy " -"rozmiar pliku może spowolnić twoje oprogramowanie." +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 "Włącz to, aby uzyskać plik G-code z komentarzami, w którym każda linia jest wyjaśniana przez opisowy tekst. Jeśli drukujesz z karty SD, dodatkowy rozmiar pliku może spowolnić twoje oprogramowanie." msgid "Infill combination" msgstr "Kombinacja wypełnienia" -msgid "" -"Automatically Combine sparse infill of several layers to print together to " -"reduce time. Wall is still printed with original layer height." -msgstr "" -"Automatyczne scalanie rzadkiego wypełnienia kilku warstw, aby drukować je " -"jednocześnie, co redukuje czas druku. Ściana jest wciąż drukowana z " -"zachowaniem oryginalnej wysokości warstwy." +msgid "Automatically Combine sparse infill of several layers to print together to reduce time. Wall is still printed with original layer height." +msgstr "Automatycznie łącz wypełnienie z kilku warstw, aby wydrukować je razem i zaoszczędzić czas. Ściana będzie nadal drukowana z pierwotną wysokością warstwy." msgid "Filament to print internal sparse infill." msgstr "Filament do druku wewnętrznego wypełnienia." -msgid "" -"Line width of internal sparse infill. If expressed as a %, it will be " -"computed over the nozzle diameter." -msgstr "" -"Szerokość linii wewnętrznego wypełnienia. Jeśli jest wyrażona w procentach, " -"zostanie obliczona na podstawie średnicy dyszy." +msgid "Line width of internal sparse infill. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Szerokość linii wewnętrznego wypełnienia. Jeśli jest wyrażona w procentach, zostanie obliczona na podstawie średnicy dyszy." msgid "Infill/Wall overlap" msgstr "Nakładanie wypełnienia na obrysy" -msgid "" -"Infill area is enlarged slightly to overlap with wall for better bonding. " -"The percentage value is relative to line width of sparse infill" -msgstr "" -"Powierzchnia wypełnienia jest delikatnie powiększana, aby zachodziła na " -"ścianę w celu lepszego połączenia. Wartość procentowa jest określona " -"względem szerokości linii rzadkiego wypełnienia" +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 "Obszar wypełnienia jest nieznacznie powiększony, aby częściowo zachodzić na ścianę i tym zapewnić lepsze połączenie. Wartość procentowa odnosi się do szerokości linii wypełnienia. Ustaw tę wartość na około 10-15%, aby uniknąć nadmiernej ekstruzji materiału, co może prowadzić do nierówności na górnej powierzchni wydruku." + +msgid "Top/Bottom solid infill/wall overlap" +msgstr "Nachodzenie pełnego wypełnienia na ściany" + +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, minimising the appearance of pinholes. The percentage value is relative to line width of sparse infill" +msgstr "Górny obszar wypełnienia jest nieznacznie powiększony, aby zachodził na ścianę w celu lepszego połączenia i zminimalizowania pojawiania się otworów w miejscu, w którym górne wypełnienie styka się ze ścianami. Wartość 25-30% jest dobrym punktem wyjścia, minimalizującym pojawianie się otworów. Wartość procentowa odnosi się do szerokości linii wypełnienia" msgid "Speed of internal sparse infill" msgstr "Prędkość wewnętrznego wypełnienia" @@ -11437,39 +9763,26 @@ msgstr "Prędkość wewnętrznego wypełnienia" msgid "Interface shells" msgstr "Powłoki łączące" -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 "" -"Wymuszaj generowanie zwartych warstw między sąsiadującymi materiałami/" -"woluminami. Przydatne przy wydrukach z wieloma extruderami z materiałami o " -"przejrzystej strukturze lub ręcznym rozpuszczalnym materiale podporowym" +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 "Wymuszaj generowanie warstw między sąsiadującymi materiałami/woluminami. Przydatne przy wydrukach z wieloma ekstruderami, materiałów o przejrzystej strukturze lub rozpuszczalnym materiale do drukowania podpór" msgid "Maximum width of a segmented region" msgstr "Maksymalna szerokość segmentowanej strefy" msgid "Maximum width of a segmented region. Zero disables this feature." -msgstr "" -"Maksymalna szerokość segmentowanej strefy. Wartość zero wyłącza tę funkcję." +msgstr "Maksymalna szerokość segmentowanej strefy. Wartość zero wyłącza tę funkcję." msgid "Interlocking depth of a segmented region" msgstr "Głębokość zazębiania się podzielonego na segmenty obszaru" msgid "Interlocking depth of a segmented region. Zero disables this feature." -msgstr "" -"Głębokość blokowania obszaru segmentowego. Wartość zero wyłącza tę funkcję." +msgstr "Głębokość blokowania obszaru segmentowego. Wartość zero wyłącza tę funkcję." msgid "Ironing Type" msgstr "Rodzaj prasowania" -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 "" -"Prasowanie polega na używaniu małego przepływu, aby ponownie wydrukować na " -"tej samej wysokości powierzchnię, w celu uzyskania bardziej gładkiej " -"powierzchni. Ta opcja kontroluje, który poziom jest prasowany" +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 "Prasowanie polega na używaniu małego przepływu, aby ponownie wydrukować na tej samej wysokości powierzchnię, w celu uzyskania bardziej gładkiej powierzchni. Ta opcja kontroluje, który poziom jest prasowany" msgid "No ironing" msgstr "Bez prasowania" @@ -11492,13 +9805,8 @@ msgstr "Wzór, który zostanie użyty podczas prasowania" msgid "Ironing flow" msgstr "Przepływ prasowania" -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 "" -"Ilość filamentu do wytłaczania podczas prasowania. Względem przepływu " -"normalnej wysokości warstwy. Zbyt wysoka wartość powoduje nadmierny wyciek " -"na powierzchni" +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 "Ilość materiału do wytłoczenia podczas prasowania. Względem przepływu o normalnej wysokości warstwy. Zbyt wysoka wartość powoduje nadmierną ekstruzję na powierzchni" msgid "Ironing line spacing" msgstr "Odstęp między liniami" @@ -11515,30 +9823,20 @@ msgstr "Prędkość drukowania linii dla prasowania" msgid "Ironing angle" msgstr "Kąt prasowania" -msgid "" -"The angle ironing is done at. A negative number disables this function and " -"uses the default method." -msgstr "" -"Kąt, pod jakim wykonywane jest prasowanie. Liczba ujemna wyłącza tę funkcję " -"i używa domyślnej metody." +msgid "The angle ironing is done at. A negative number disables this function and uses the default method." +msgstr "Kąt, pod jakim wykonywane jest prasowanie. Liczba ujemna wyłącza tę funkcję i używa domyślnej metody." msgid "This gcode part is inserted at every layer change after lift z" -msgstr "" -"Ten fragment kodu G jest wstawiany przy każdej zmianie warstwy po " -"podniesieniu osi Z" +msgstr "Ten fragment G-code jest wstawiany przy każdej zmianie warstwy po podniesieniu osi Z" msgid "Supports silent mode" msgstr "Obsługuje tryb cichy" -msgid "" -"Whether the machine supports silent mode in which machine use lower " -"acceleration to print" -msgstr "" -"Czy drukarka obsługuje tryb cichy, w którym drukarka używa niższego " -"przyspieszenia do druku" +msgid "Whether the machine supports silent mode in which machine use lower acceleration to print" +msgstr "Czy drukarka obsługuje tryb cichy, w którym drukarka używa niższego przyspieszenia do druku" msgid "Emit limits to G-code" -msgstr "Wysyłaj limity do kodu G" +msgstr "Wysyłaj limity do G-code" msgid "Machine limits" msgstr "Limity maszyny" @@ -11547,16 +9845,11 @@ 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 "" -"Jeśli ta opcja jest włączona, limity maszyny zostaną wysłane do pliku G-" -"code.\n" +"Jeśli ta opcja jest włączona, limity maszyny zostaną wysłane do pliku G-code.\n" "Ta opcja zostanie zignorowana, jeśli wybrany jest G-code Klipper." -msgid "" -"This G-code will be used as a code for the pause print. User can insert " -"pause G-code in gcode viewer" -msgstr "" -"Ten G-code zostanie użyty przy pauzie wydruku. Użytkownik może wstawić G-" -"code do przeglądarki gcode" +msgid "This G-code will be used as a code for the pause print. User can insert pause G-code in gcode viewer" +msgstr "Ten G-code zostanie użyty przy pauzie wydruku. Użytkownik może wstawić G-code do przeglądarki gcode" msgid "This G-code will be used as a custom code" msgstr "Ten G-code będzie użyty jako niestandardowy" @@ -11569,22 +9862,13 @@ msgstr "" "Włącz kompensację przepływu dla małych obszarów wypełnienia\n" "\n" "\n" -"Jest to zaawansowana funkcja, która umożliwia dokładniejsze kontrolowanie, " -"jak materiał wypełnienia jest nanoszony na małych obszarach" +"Jest to zaawansowana funkcja, która umożliwia dokładniejsze kontrolowanie, jak materiał wypełnienia jest nanoszony na małych obszarach" msgid "Flow Compensation Model" -msgstr "Model kompensacji przepływu" +msgstr "Model Kompensacji Przepływu" -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 factors, one per line, in the following format: " -"\"1.234,5.678\"" -msgstr "" -"Model kompensacji przepływu, używany do dostosowywania przepływu dla małych " -"obszarów wypełnienia. Model jest wyrażony jako para wartości oddzielonych " -"przecinkiem dla długości wytłoczenia i czynników korekty przepływu, jeden " -"zestaw na linię, w następującym formacie: \"1.234,5.678\"" +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 factors, one per line, in the following format: \"1.234,5.678\"" +msgstr "Model kompensacji przepływu, używany do dostosowywania przepływu dla małych obszarów wypełnienia. Model jest wyrażony jako para wartości oddzielonych przecinkiem dla długości wytłoczenia i czynników korekty przepływu, jeden zestaw na linię, w następującym formacie: \"1.234,5.678\"" msgid "Maximum speed X" msgstr "Maksymalna prędkość X" @@ -11688,81 +9972,42 @@ msgstr "Maksymalne przyspieszenie podczas ruchów jałowych" msgid "Maximum acceleration for travel (M204 T), it only applies to Marlin 2" msgstr "Maksymalne przyspieszenie podróży (M204 T), dotyczy tylko Marlin 2" -msgid "" -"Part cooling fan speed may be increased when auto cooling is enabled. This " -"is the maximum speed limitation of part cooling fan" -msgstr "" -"Prędkość wentylatora chłodzenia części może być zwiększona, gdy jest " -"włączona funkcja automatycznego chłodzenia. To jest maksymalne ograniczenie " -"prędkości wentylatora chłodzenia części" +msgid "Part cooling fan speed may be increased when auto cooling is enabled. This is the maximum speed limitation of part cooling fan" +msgstr "Prędkość wentylatora chłodzenia części może być zwiększona, gdy jest włączona funkcja automatycznego chłodzenia. To jest maksymalne ograniczenie prędkości wentylatora chłodzenia części" msgid "Max" msgstr "Max" -msgid "" -"The largest printable layer height for extruder. Used tp limits the maximum " -"layer hight when enable adaptive layer height" -msgstr "" -"Największa wysokość warstwy drukowalnej dla extrudera. Używane do " -"ograniczenia maksymalnej wysokości warstwy podczas włączonej adaptacyjnej " -"wysokości warstwy" +msgid "The largest printable layer height for extruder. Used tp limits the maximum layer hight when enable adaptive layer height" +msgstr "Największa wysokość warstwy drukowalnej dla extrudera. Używane do ograniczenia maksymalnej wysokości warstwy podczas włączonej adaptacyjnej wysokości warstwy" msgid "Extrusion rate smoothing" msgstr "Wygładzanie przepływu ekstruzji" 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" +"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 mm3/sec " -"can change over time. Higher values mean higher extrusion rate changes are " -"allowed, resulting in faster speed transitions.\n" +"It defines the maximum rate by which the extruded volumetric flow in mm3/sec 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-350mm3/s2 is recommended as this allows for " -"just enough smoothing to assist pressure advance achieve a smoother flow " -"transition.\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-350mm3/s2 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-15mm3/s2 is a good starting point for direct drive " -"extruders and 5-10mm3/s2 for Bowden style. \n" +"For slower printers without pressure advance, the value should be set much lower. A value of 10-15mm3/s2 is a good starting point for direct drive extruders and 5-10mm3/s2 for Bowden style. \n" "\n" "This feature is known as Pressure Equalizer in Prusa slicer.\n" "\n" "Note: this parameter disables arc fitting." msgstr "" -"Ten parametr wygładza nagłe zmiany szybkości wytłaczania, które występują, " -"gdy drukarka przechodzi od drukowania wytłaczania o wysokim przepływie (duża " -"prędkość/większa szerokość) do wytłaczania o niższym przepływie (mniejsza " -"prędkość/mniejsza szerokość) i odwrotnie.\n" +"Ten parametr wygładza nagłe zmiany szybkości wytłaczania, które występują, gdy drukarka przechodzi od drukowania wytłaczania o wysokim przepływie (duża prędkość/większa szerokość) do wytłaczania o niższym przepływie (mniejsza prędkość/mniejsza szerokość) i odwrotnie.\n" "\n" -"Określa maksymalną szybkość, o jaką natężenie przepływu wytłaczania w mm3/s " -"może zmieniać się w czasie. Wyższe wartości oznaczają, że dozwolone są " -"większe zmiany szybkości wytłaczania, co skutkuje szybszymi przejściami " -"prędkości.\n" +"Określa maksymalną szybkość, o jaką natężenie przepływu wytłaczania w mm3/s może zmieniać się w czasie. Wyższe wartości oznaczają, że dozwolone są większe zmiany szybkości wytłaczania, co skutkuje szybszymi przejściami prędkości.\n" "\n" "Wartość 0 wyłącza tę funkcję.\n" "\n" -"W przypadku drukarek z napędem bezpośrednim o dużej prędkości i wysokim " -"przepływie (takich jak Bambu lab lub Voron) wartość ta zwykle nie jest " -"potrzebna. Może ona jednak zapewnić pewne marginalne korzyści w niektórych " -"przypadkach, gdy prędkości funkcji znacznie się różnią. Na przykład, gdy " -"występują agresywne spowolnienia spowodowane nawisami. W takich przypadkach " -"zalecana jest wysoka wartość około 300-350 mm3/s2, ponieważ pozwala to na " -"wystarczające wygładzenie, aby wspomóc wzrost ciśnienia w celu uzyskania " -"płynniejszego przejścia przepływu.\n" +"W przypadku drukarek z napędem bezpośrednim o dużej prędkości i wysokim przepływie (takich jak Bambu lab lub Voron) wartość ta zwykle nie jest potrzebna. Może ona jednak zapewnić pewne marginalne korzyści w niektórych przypadkach, gdy prędkości funkcji znacznie się różnią. Na przykład, gdy występują agresywne spowolnienia spowodowane nawisami. W takich przypadkach zalecana jest wysoka wartość około 300-350 mm3/s2, ponieważ pozwala to na wystarczające wygładzenie, aby wspomóc wzrost ciśnienia w celu uzyskania płynniejszego przejścia przepływu.\n" "\n" -"W przypadku wolniejszych drukarek bez przyspieszenia ciśnienia wartość ta " -"powinna być znacznie niższa. Wartość 10-15 mm3/s2 jest dobrym punktem " -"wyjścia dla extruderów z napędem bezpośrednim i 5-10 mm3/s2 dla extruderów " -"typu Bowden.\n" +"W przypadku wolniejszych drukarek bez przyspieszenia ciśnienia wartość ta powinna być znacznie niższa. Wartość 10-15 mm3/s2 jest dobrym punktem wyjścia dla extruderów z napędem bezpośrednim i 5-10 mm3/s2 dla extruderów typu Bowden.\n" "\n" "Ta funkcja jest znana jako Pressure Equalizer w Prusa slicer.\n" "\n" @@ -11775,21 +10020,15 @@ msgid "Smoothing segment length" msgstr "Długość odcinka do wygładzenia" msgid "" -"A lower value results in smoother extrusion rate transitions. However, this " -"results in a significantly larger gcode file and more instructions for the " -"printer to process. \n" +"A lower value results in smoother extrusion rate transitions. However, this results in a significantly larger gcode 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" +"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: 1-5" msgstr "" -"Mniejsza wartość skutkuje płynniejszymi przejściami prędkości ekstruzji. " -"Jednakże prowadzi to do znacznie większego pliku gcode i większej liczby " -"instrukcji do przetworzenia przez drukarkę.\n" +"Mniejsza wartość skutkuje płynniejszymi przejściami prędkości ekstruzji. Jednakże prowadzi to do znacznie większego pliku gcode i większej liczby instrukcji do przetworzenia przez drukarkę.\n" "\n" -"Domyślna wartość 3 działa dobrze dla większości przypadków. Jeśli Twoja " -"drukarka się zacina, zwiększ tę wartość, aby zredukować liczbę dostosowań.\n" +"Domyślna wartość 3 działa dobrze dla większości przypadków. Jeśli Twoja drukarka się zacina, zwiększ tę wartość, aby zredukować liczbę dostosowań.\n" "\n" "Dozwolone wartości: 1-5" @@ -11797,39 +10036,23 @@ msgid "Minimum speed for part cooling fan" msgstr "Minimalna prędkość wentylatora chłodzenia części" 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)" +"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 "" -"Prędkość wentylatora pomocniczego. Wentylator pomocniczy będzie pracować z " -"tą prędkością podczas drukowania, z wyjątkiem pierwszych kilku warstw, które " -"są określone jako warstwy bez chłodzenia.\n" -"Proszę włączyć opcję auxiliary_fan w ustawieniach drukarki, aby skorzystać z " -"tej funkcji. Polecenie G-code: M106 P2 S(0-255)" +"Prędkość wentylatora pomocniczego. Wentylator pomocniczy będzie pracować z tą prędkością podczas drukowania, z wyjątkiem pierwszych kilku warstw, które są określone jako warstwy bez chłodzenia.\n" +"Proszę włączyć opcję auxiliary_fan w ustawieniach drukarki, aby skorzystać z tej funkcji. Polecenie G-code: M106 P2 S(0-255)" msgid "Min" msgstr "Min" -msgid "" -"The lowest printable layer height for extruder. Used tp limits the minimum " -"layer hight when enable adaptive layer height" -msgstr "" -"Najniższa możliwa do wydrukowania wysokość warstwy dla extrudera. Stosowana " -"jako dolna granica dla adaptacyjnej wysokości warstw" +msgid "The lowest printable layer height for extruder. Used tp limits the minimum layer hight when enable adaptive layer height" +msgstr "Najniższa możliwa do wydrukowania wysokość warstwy dla extrudera. Stosowana jako dolna granica dla adaptacyjnej wysokości warstw" msgid "Min print speed" msgstr "Minimalna prędkość druku" -msgid "" -"The minimum printing speed that the printer will slow down to to attempt to " -"maintain the minimum layer time above, when slow down for better layer " -"cooling is enabled." -msgstr "" -"Minimalna prędkość druku, do której drukarka zwolni, aby zachować minimalny " -"czas warstwy powyżej, gdy włączona jest opcja zwalniania dla lepszego " -"schładzania warstwy." +msgid "The minimum printing speed that the printer will slow down to to attempt to maintain the minimum layer time above, when slow down for better layer cooling is enabled." +msgstr "Minimalna prędkość druku, do której drukarka zwolni, aby zachować minimalny czas warstwy powyżej, gdy włączona jest opcja zwalniania dla lepszego schładzania warstwy." msgid "Nozzle diameter" msgstr "Średnica dyszy" @@ -11840,21 +10063,14 @@ msgstr "Średnica dyszy" msgid "Configuration notes" msgstr "Uwagi do konfiguracji" -msgid "" -"You can put here your personal notes. This text will be added to the G-code " -"header comments." -msgstr "" -"Tutaj możesz umieścić notatki, które zostaną dodane do nagłówka pliku G-code." +msgid "You can put here your personal notes. This text will be added to the G-code header comments." +msgstr "Tutaj możesz umieścić notatki, które zostaną dodane do nagłówka pliku G-code." msgid "Host Type" msgstr "Typ hosta" -msgid "" -"Orca Slicer can upload G-code files to a printer host. This field must " -"contain the kind of the host." -msgstr "" -"Orca Slicer może przesyłać pliki G-code do hosta drukarki. To pole musi " -"zawierać rodzaj hosta." +msgid "Orca Slicer can upload G-code files to a printer host. This field must contain the kind of the host." +msgstr "Orca Slicer może przesyłać pliki G-code do hosta drukarki. To pole musi zawierać rodzaj hosta." msgid "Nozzle volume" msgstr "Objętość dyszy" @@ -11872,45 +10088,25 @@ msgid "Cooling tube length" msgstr "Długość rurki chłodzącej" msgid "Length of the cooling tube to limit space for cooling moves inside it." -msgstr "" -"Długość rurki chłodzącej ograniczająca przestrzeń na ruchy chłodzące " -"wewnątrz." +msgstr "Długość rurki chłodzącej ograniczająca przestrzeń na ruchy chłodzące wewnątrz." msgid "High extruder current on filament swap" msgstr "Wysoki prąd extrudera przy wymianie filamentu" -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 "" -"Może być korzystne zwiększenie prądu silnika extrudera podczas wymiany " -"filamentu, aby umożliwić szybkie podawanie i przezwyciężenie oporu podczas " -"ładowania filamentu o nieprawidłowym kształcie końcówki." +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 "Może być korzystne zwiększenie prądu silnika extrudera podczas wymiany filamentu, aby umożliwić szybkie podawanie i przezwyciężenie oporu podczas ładowania filamentu o nieprawidłowym kształcie końcówki." msgid "Filament parking position" msgstr "Pozycja parkowania filamentu" -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 "" -"Odległość końcówki extrudera od pozycji, gdzie filament jest parkowany przy " -"rozładowaniu. Powinno to odpowiadać wartości w oprogramowaniu drukarki." +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 "Odległość końcówki extrudera od pozycji, gdzie filament jest parkowany przy rozładowaniu. Powinno to odpowiadać wartości w oprogramowaniu drukarki." msgid "Extra loading distance" msgstr "Dodatkowa długość ładowania" -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 "" -"Gdy ta wartość wynosi zero, to długość ładowania filamentu z pozycji " -"zaparkowanej jest dokładnie taka sama, jak podczas rozładowywania. Jeśli " -"jest dodatnia to jest większa (więcej filamentu zostanie załadowane), jeśli " -"ujemna to jest mniejsza niż przy rozładowywaniu." +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 "Gdy ta wartość wynosi zero, to długość ładowania filamentu z pozycji zaparkowanej jest dokładnie taka sama, jak podczas rozładowywania. Jeśli jest dodatnia to jest większa (więcej filamentu zostanie załadowane), jeśli ujemna to jest mniejsza niż przy rozładowywaniu." msgid "Start end points" msgstr "Początkowe i końcowe punkty" @@ -11921,54 +10117,32 @@ msgstr "Punkty początkowe i końcowe, od obszaru cięcia do kanału wyrzutowego msgid "Reduce infill retraction" msgstr "Zmniejszanie retrakcji wypełnienia" -msgid "" -"Don't retract when the travel is in infill area absolutely. 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" -msgstr "" -"Nie wykonuj retrakcji, gdy ruch odbywa się całkowicie w obszarze " -"wypełnienia. Oznacza to, że wyciek nie będzie widoczny. Może to zmniejszyć " -"liczbę retrakcji dla skomplikowanego modelu i zaoszczędzić czas druku, ale " -"spowolnić krojenie i generowanie G-code" +msgid "Don't retract when the travel is in infill area absolutely. 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" +msgstr "Nie wykonuj retrakcji, gdy ruch odbywa się całkowicie w obszarze wypełnienia. Oznacza to, że wyciek nie będzie widoczny. Może to zmniejszyć liczbę retrakcji dla skomplikowanego modelu i zaoszczędzić czas druku, ale spowolnić krojenie i generowanie G-code" msgid "Filename format" msgstr "Format nazwy pliku" msgid "User can self-define the project file name when export" -msgstr "" -"Użytkownik może samodzielnie zdefiniować nazwę pliku projektu podczas " -"eksportu" +msgstr "Użytkownik może samodzielnie zdefiniować nazwę pliku projektu podczas eksportu" msgid "Make overhangs printable" msgstr "Drukuj nawisy bez podpór" msgid "Modify the geometry to print overhangs without support material." -msgstr "" -"Modyfikuje tak geometrię, aby drukować elementy wystające bez materiału " -"podporowego." +msgstr "Modyfikuje tak geometrię, aby drukować elementy wystające bez materiału podporowego." msgid "Make overhangs printable - Maximum angle" msgstr "Drukuj nawisy bez podpór - Maksymalny kąt" -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 "" -"Maksymalny kąt elementów wystających dozwolony po umożliwieniu drukowania " -"bardziej stromych elementów. 90° nie zmieni w ogóle modelu i pozwoli na " -"dowolny element wystający, podczas gdy 0° zastąpi wszystkie elementy " -"wystające materiałem stożkowym." +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 "Maksymalny kąt elementów wystających dozwolony po umożliwieniu drukowania bardziej stromych elementów. 90° nie zmieni w ogóle modelu i pozwoli na dowolny element wystający, podczas gdy 0° zastąpi wszystkie elementy wystające materiałem stożkowym." msgid "Make overhangs printable - Hole area" msgstr "Drukuj nawisy bez podpór - Obszar otworów" -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 "" -"Maksymalna powierzchnia otworu w podstawie modelu przed jego wypełnieniem " -"materiałem stożkowym. Wartość 0 wypełni wszystkie otwory w podstawie modelu." +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 "Maksymalna powierzchnia otworu w podstawie modelu przed jego wypełnieniem materiałem stożkowym. Wartość 0 wypełni wszystkie otwory w podstawie modelu." msgid "mm²" msgstr "mm²" @@ -11977,19 +10151,11 @@ msgid "Detect overhang wall" msgstr "Wykrywanie ścian nawisu" #, c-format, 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 "" -"Określ procentowy udział nawisów w stosunku do szerokości ekstruzji i użyj " -"różnych prędkości do druku. Dla 100%% nawisów, zostanie użyta prędkość mostu." +msgid "Detect the overhang percentage relative to line width and use different speed to print. For 100%% overhang, bridge speed is used." +msgstr "Określ procentowy udział nawisów w stosunku do szerokości ekstruzji i użyj różnych prędkości do druku. Dla 100%% nawisów, zostanie użyta prędkość mostu." -msgid "" -"Line width of inner wall. If expressed as a %, it will be computed over the " -"nozzle diameter." -msgstr "" -"Szerokość linii wewnętrznej ściany. Jeśli wyrażona w procentach, zostanie " -"obliczona na podstawie średnicy dyszy." +msgid "Line width of inner wall. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Szerokość linii wewnętrznej ściany. Jeśli wyrażona w procentach, zostanie obliczona na podstawie średnicy dyszy." msgid "Speed of inner wall" msgstr "Prędkość wewnętrznej ściany" @@ -12001,38 +10167,20 @@ msgid "Alternate extra wall" msgstr "Alternatywna dodatkowa ściana" 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" +"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" +"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." +"Using lightning infill together with this option is not recommended as there is limited infill to anchor the extra perimeters to." msgstr "" -"To ustawienie dodaje dodatkową ścianę do co drugiej warstwy. W ten sposób " -"wypełnienie jest osadzone pionowo między ścianami, co prowadzi do uzyskania " -"wydruków o większej wytrzymałości.\n" +"To ustawienie dodaje dodatkową ścianę do co drugiej warstwy. W ten sposób wypełnienie jest osadzone pionowo między ścianami, co prowadzi do uzyskania wydruków o większej wytrzymałości.\n" "\n" -"Kiedy ta opcja jest włączona, to opcja \"zapewnij stałą pionową grubość " -"powłoki\" musi być wyłączona.\n" +"Kiedy ta opcja jest włączona, to opcja \"zapewnij stałą pionową grubość powłoki\" musi być wyłączona.\n" "\n" -"Nie jest zalecane korzystanie z wypełnienia typu \"lightning\" jednocześnie " -"z tą opcją, ponieważ wypełnienie to jest ograniczone i nie jest w stanie " -"dostarczyć wystarczającego wsparcia dla dodatkowych obwodów." +"Nie jest zalecane korzystanie z wypełnienia typu \"lightning\" jednocześnie z tą opcją, ponieważ wypełnienie to jest ograniczone i nie jest w stanie dostarczyć wystarczającego wsparcia dla dodatkowych obwodów." -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 "" -"Jeśli chcesz przetworzyć wynikowy G-code za pomocą niestandardowych " -"skryptów, wystarczy, że wpiszesz tutaj ich pełne ścieżki. Aby oddzielić " -"kilka skryptów, użyj średnika. Skrypty otrzymają pełną ścieżkę do pliku G-" -"code jako pierwszy argument, a także będą mogły uzyskać dostęp do ustawień " -"konfiguracyjnych Orca Slicer, zytając zmienne środowiskowe." +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 "Jeśli chcesz przetworzyć wynikowy G-code za pomocą niestandardowych skryptów, wystarczy, że wpiszesz tutaj ich pełne ścieżki. Aby oddzielić kilka skryptów, użyj średnika. Skrypty otrzymają pełną ścieżkę do pliku G-code jako pierwszy argument, a także będą mogły uzyskać dostęp do ustawień konfiguracyjnych Orca Slicer, zytając zmienne środowiskowe." msgid "Printer notes" msgstr "Notatki o drukarce" @@ -12041,12 +10189,10 @@ msgid "You can put your notes regarding the printer here." msgstr "Tutaj możesz umieścić notatki dotyczące drukarki." msgid "Raft contact Z distance" -msgstr "Odległość kontaktu tratwy Z" +msgstr "Odległość Z kontaktu z tratwą" msgid "Z gap between object and raft. Ignored for soluble interface" -msgstr "" -"Dystans między modelem, a raftem, mierzony w poziomie. Ignorowany dla " -"rozpuszczalnych warstw łączących" +msgstr "Dystans między modelem, a raftem, mierzony w poziomie. Ignorowany dla rozpuszczalnych warstw łączących" msgid "Raft expansion" msgstr "Rozszerzenie tratwy" @@ -12064,47 +10210,28 @@ msgid "Initial layer expansion" msgstr "Rozszerzenie pierwszej warstwy" msgid "Expand the first raft or support layer to improve bed plate adhesion" -msgstr "" -"Rozszerz pierwszą warstwę tratwy lub podpory, aby poprawić przyczepność do " -"płyty grzewczej" +msgstr "Rozszerz pierwszą warstwę tratwy lub podpory, aby poprawić przyczepność do płyty grzewczej" msgid "Raft layers" msgstr "Ilość warstw tratwy" -msgid "" -"Object will be raised by this number of support layers. Use this function to " -"avoid wrapping when print ABS" -msgstr "" -"Model zostanie podniesiony o zadaną ilość warstw i umieszczony na podporach. " -"Użyj tej funkcji, aby uniknąć deformacji podczas drukowania ABS" +msgid "Object will be raised by this number of support layers. Use this function to avoid wrapping when print ABS" +msgstr "Model zostanie podniesiony o zadaną ilość warstw i umieszczony na podporach. Użyj tej funkcji, aby uniknąć deformacji podczas drukowania ABS" -msgid "" -"G-code path is genereated after simplifing the contour of model to avoid too " -"much points and gcode lines in gcode file. Smaller value means higher " -"resolution and more time to slice" -msgstr "" -"Ścieżka G-code jest generowana po uproszczeniu konturu modelu, aby uniknąć " -"zbyt wielu punktów i linii w pliku G-code. Mniejsza wartość oznacza wyższą " -"rozdzielczość i więcej czasu na krojenie" +msgid "G-code path is genereated after simplifing the contour of model to avoid too much points and gcode lines in gcode file. Smaller value means higher resolution and more time to slice" +msgstr "Ścieżka G-code jest generowana po uproszczeniu konturu modelu, aby uniknąć zbyt wielu punktów i linii w pliku G-code. Mniejsza wartość oznacza wyższą rozdzielczość i więcej czasu na krojenie" msgid "Travel distance threshold" msgstr "Próg odległości podróży" -msgid "" -"Only trigger retraction when the travel distance is longer than this " -"threshold" -msgstr "" -"Wywołaj retrakcję tylko wtedy, gdy dystans ruchu jałowego jest dłuższy niż " -"ta wartość" +msgid "Only trigger retraction when the travel distance is longer than this threshold" +msgstr "Wywołaj retrakcję tylko wtedy, gdy dystans ruchu jałowego jest dłuższy niż ta wartość" msgid "Retract amount before wipe" msgstr "Długość retrakcji przed ruchem czyszczącym" -msgid "" -"The length of fast retraction before wipe, relative to retraction length" -msgstr "" -"Długość szybkiej retrakcji przed czyszczeniem, w stosunku do długości " -"retrakcji." +msgid "The length of fast retraction before wipe, relative to retraction length" +msgstr "Długość szybkiej retrakcji przed czyszczeniem, w stosunku do długości retrakcji." msgid "Retract when change layer" msgstr "Retrakcja przy zmianie warstwy" @@ -12115,71 +10242,38 @@ msgstr "Wymuś retrakcję przy zmianie warstwy" msgid "Retraction Length" msgstr "Długość retrakcji" -msgid "" -"Some amount of material in extruder is pulled back to avoid ooze during long " -"travel. Set zero to disable retraction" -msgstr "" -"Pewna ilość materiału w ekstruderze jest cofana, aby zapobiec wyciekowi " -"filamentu podczas długiego ruchu. Ustaw zero, aby zablokować retrakcje" +msgid "Some amount of material in extruder is pulled back to avoid ooze during long travel. Set zero to disable retraction" +msgstr "Pewna ilość materiału w ekstruderze jest cofana, aby zapobiec wyciekowi filamentu podczas długiego ruchu. Ustaw zero, aby zablokować retrakcje" msgid "Long retraction when cut(experimental)" -msgstr "Dłuższa retrakcja podczas cięcia (eksperymentalna)" +msgstr "Długość retrakcji przed odcięciem filamentu (eksperymentalna)" -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 "" -"Funkcja eksperymentalna. Wycofanie i odcięcie filamentu na większej " -"odległości podczas jego zmian w celu zminimalizowania objętości płukania. " -"Chociaż znacząco zmniejszy to zużycie filamentu, może to również zwiększyć " -"ryzyko zatkania dyszy lub innych problemów podczas drukowania." +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 "Funkcja eksperymentalna. Wycofanie i odcięcie filamentu na większej odległości podczas jego zmian w celu zminimalizowania objętości płukania. Chociaż znacząco zmniejszy to zużycie filamentu, może to również zwiększyć ryzyko zatkania dyszy lub innych problemów podczas drukowania." msgid "Retraction distance when cut" msgstr "Długość retrakcji podczas cięcia" -msgid "" -"Experimental feature.Retraction length before cutting off during filament " -"change" -msgstr "" -"Funkcja eksperymentalna. Długość retrakcji przed odcięciem podczas zmiany " -"filamentu" +msgid "Experimental feature.Retraction length before cutting off during filament change" +msgstr "Funkcja eksperymentalna. Długość retrakcji przed odcięciem podczas zmiany filamentu" msgid "Z hop when retract" msgstr "Z-hop podczas retrakcji" -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 line to lift z can prevent stringing" -msgstr "" -"Zawsze gdy wykonana jest retrakcja, dysza jest nieco podnoszona, aby " -"stworzyć odstęp między dyszą a wydrukiem. Zapobiega to uderzeniu dyszy w " -"wydruk podczas ruchu jałowego. Użycie linii spiralnej do podniesienia Z może " -"zapobiec powstawaniu strun" +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 line to lift z can prevent stringing" +msgstr "Zawsze gdy wykonana jest retrakcja, dysza jest nieco podnoszona, aby stworzyć odstęp między dyszą a wydrukiem. Zapobiega to uderzeniu dyszy w wydruk podczas ruchu jałowego. Użycie linii spiralnej do podniesienia Z może zapobiec powstawaniu strun" msgid "Z hop lower boundary" msgstr "Dolna granica 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 "" -"Jeśli podana jest dodatnia wartość, oś Z będzie podnosić się tylko poniżej " -"ustawionej tutaj granicy. W ten sposób możesz zablokować podnoszenie się osi " -"Z powyżej ustawionej wysokości." +msgid "Z hop will only come into effect when Z is above this value and is below the parameter: \"Z hop upper boundary\"" +msgstr "Jeśli podana jest dodatnia wartość, oś Z będzie podnosić się tylko poniżej ustawionej tutaj granicy. W ten sposób możesz zablokować podnoszenie się osi Z powyżej ustawionej wysokości." msgid "Z hop upper boundary" msgstr "Górna granica 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 "" -"Jeśli podano wartość dodatnią, oś Z będzie podnosić się tylko powyżej " -"określonej tutaj wysokości. Dzięki temu możesz wyłączyć podnoszenie osi Z " -"podczas drukowania pierwszych warstw (na początku drukowania)." +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 "Jeśli podano wartość dodatnią, oś Z będzie podnosić się tylko powyżej określonej tutaj wysokości. Dzięki temu możesz wyłączyć podnoszenie osi Z podczas drukowania pierwszych warstw (na początku drukowania)." msgid "Z hop type" msgstr "Typ Z-hop" @@ -12193,32 +10287,20 @@ msgstr "Spiralny" msgid "Only lift Z above" msgstr "Z-hop tylko powyżej" -msgid "" -"If you set this to a positive value, Z lift will only take place above the " -"specified absolute Z." -msgstr "" -"Jeśli ustawisz to na wartość dodatnią, podnoszenie Z będzie miało miejsce " -"tylko powyżej określonego bezwzględnego Z." +msgid "If you set this to a positive value, Z lift will only take place above the specified absolute Z." +msgstr "Jeśli ustawisz to na wartość dodatnią, podnoszenie Z będzie miało miejsce tylko powyżej określonego bezwzględnego Z." msgid "Only lift Z below" msgstr "Z-hop tylko poniżej" -msgid "" -"If you set this to a positive value, Z lift will only take place below the " -"specified absolute Z." -msgstr "" -"Jeśli ustawisz to na wartość dodatnią, podnoszenie Z będzie miało miejsce " -"tylko poniżej określonego bezwzględnego Z." +msgid "If you set this to a positive value, Z lift will only take place below the specified absolute Z." +msgstr "Jeśli ustawisz to na wartość dodatnią, podnoszenie Z będzie miało miejsce tylko poniżej określonego bezwzględnego Z." msgid "On surfaces" msgstr "Na powierzchniach" -msgid "" -"Enforce Z Hop behavior. This setting is impacted by the above settings (Only " -"lift Z above/below)." -msgstr "" -"Wymuszaj zachowanie Z-hop. To ustawienie jest zależne od ustawień powyżej (Z-" -"hop tylko powyżej/poniżej)." +msgid "Enforce Z Hop behavior. This setting is impacted by the above settings (Only lift Z above/below)." +msgstr "Wymuszaj zachowanie Z-hop. To ustawienie jest zależne od ustawień powyżej (Z-hop tylko powyżej/poniżej)." msgid "All Surfaces" msgstr "Wszystkie powierzchnie" @@ -12235,19 +10317,11 @@ msgstr "Na górnych i dolnych" msgid "Extra length on restart" msgstr "Dodatkowa długość przed wznowieniem" -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 "" -"Gdy retrakcja jest kompensowana po ruchu jałowym, extruder przepych tę " -"dodatkową ilość filamentu. To opcja jest rzadko potrzebna." +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 "Gdy retrakcja jest kompensowana po ruchu jałowym, ekstruder przepycha tę dodatkową ilość filamentu. To opcja jest rzadko potrzebna." -msgid "" -"When the retraction is compensated after changing tool, the extruder will " -"push this additional amount of filament." -msgstr "" -"Jeśli retrakcja jest korygowana po zmianie narzędzia, extruder przepchnie " -"taką dodatkową ilość filamentu." +msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." +msgstr "Jeśli retrakcja jest korygowana po zmianie narzędzia, extruder przepchnie taką dodatkową ilość filamentu." msgid "Retraction Speed" msgstr "Prędkość retrakcji" @@ -12258,23 +10332,14 @@ msgstr "Prędkość retrakcji" msgid "Deretraction Speed" msgstr "Prędkość deretrakcji" -msgid "" -"Speed for reloading filament into extruder. Zero means same speed with " -"retraction" -msgstr "" -"Prędkość ponownego załadowania filamentu do extrudera. Zero oznacza tę samą " -"prędkość co retrakcja" +msgid "Speed for reloading filament into extruder. Zero means same speed with retraction" +msgstr "Prędkość ponownego załadowania filamentu do extrudera. Zero oznacza tę samą prędkość co retrakcja" msgid "Use firmware retraction" msgstr "Użyj retrakcji z firmware" -msgid "" -"This experimental setting uses G10 and G11 commands to have the firmware " -"handle the retraction. This is only supported in recent Marlin." -msgstr "" -"To eksperymentalne ustawienie używa komend G10 i G11, aby oprogramowanie " -"obsługiwało retrakcję. Jest to obsługiwane tylko w najnowszych wersjach " -"Marlin." +msgid "This experimental setting uses G10 and G11 commands to have the firmware handle the retraction. This is only supported in recent Marlin." +msgstr "To eksperymentalne ustawienie używa komend G10 i G11, aby oprogramowanie obsługiwało retrakcję. Jest to obsługiwane tylko w najnowszych wersjach Marlin." msgid "Show auto-calibration marks" msgstr "Pokaż znaczniki autokalibracji" @@ -12282,11 +10347,8 @@ msgstr "Pokaż znaczniki autokalibracji" msgid "Disable set remaining print time" msgstr "Wyłącz ustawianie pozostałego czasu druku" -msgid "" -"Disable generating of the M73: Set remaining print time in the final gcode" -msgstr "" -"Zablokuj generowanie polecenia M73: Ustaw pozostały czas druku w końcowym " -"kodzie G-code" +msgid "Disable generating of the M73: Set remaining print time in the final gcode" +msgstr "Zablokuj generowanie polecenia M73: Ustaw pozostały czas druku w końcowym G-code" msgid "Seam position" msgstr "Pozycja szwu" @@ -12309,118 +10371,69 @@ msgstr "Losowo" msgid "Staggered inner seams" msgstr "Przesunięte wewnętrzne szwy" -msgid "" -"This option causes the inner seams to be shifted backwards based on their " -"depth, forming a zigzag pattern." -msgstr "" -"Ta opcja powoduje, że wewnętrzne szwy są przesunięte do tyłu w oparciu o ich " -"głębokość, tworząc wzór zygzaka." +msgid "This option causes the inner seams to be shifted backwards based on their depth, forming a zigzag pattern." +msgstr "Ta opcja powoduje, że wewnętrzne szwy są przesunięte do tyłu w oparciu o ich głębokość, tworząc wzór zygzaka." msgid "Seam gap" msgstr "Szczelina szwu" 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%." +"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 "" -"Aby zmniejszyć widoczność szwu w ekstruzji zamkniętej pętli, pętla jest " -"przerywana i skracana o określoną ilość.\n" -"Ta ilość może być określona w milimetrach lub jako procent obecnej średnicy " -"extrudera. Domyślna wartość tego parametru to 10%." +"Aby zmniejszyć widoczność szwu w ekstruzji zamkniętej pętli, pętla jest przerywana i skracana o określoną ilość.\n" +"Ta ilość może być określona w milimetrach lub jako procent obecnej średnicy extrudera. Domyślna wartość tego parametru to 10%." msgid "Scarf joint seam (beta)" msgstr "Szew ukośny (beta)" msgid "Use scarf joint to minimize seam visibility and increase seam strength." -msgstr "" -"Zastosuj szew ukośny, aby zminimalizować widoczność szwu i zwiększyć jego " -"wytrzymałość." +msgstr "Zastosuj szew ukośny, aby zminimalizować widoczność szwu i zwiększyć jego wytrzymałość." msgid "Conditional scarf joint" msgstr "Warunkowe szwy ukośne" -msgid "" -"Apply scarf joints only to smooth perimeters where traditional seams do not " -"conceal the seams at sharp corners effectively." -msgstr "" -"Zastosuj szwy ukośne jedynie do gładkich obwodów, gdzie tradycyjne szwy nie " -"maskują skutecznie szwów w ostrych narożnikach." +msgid "Apply scarf joints only to smooth perimeters where traditional seams do not conceal the seams at sharp corners effectively." +msgstr "Zastosuj szwy ukośne jedynie do gładkich obwodów, gdzie tradycyjne szwy nie maskują skutecznie szwów w ostrych narożnikach." msgid "Conditional angle threshold" msgstr "Warunkowy próg kąta" 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°." +"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 "" "Ten parametr określa minimalny kąt do zastosowania szwu ukośnego.\n" -"Jeśli maksymalny kąt w obrębie pętli obwodu przekroczy tę wartość (co " -"wskazuje na brak ostrych narożników), zostanie użyty szew ukośny. Domyślna " -"wartość to 155°." +"Jeśli maksymalny kąt w obrębie pętli obwodu przekroczy tę wartość (co wskazuje na brak ostrych narożników), zostanie użyty szew ukośny. Domyślna wartość to 155°." msgid "Conditional overhang threshold" msgstr "Wartość progowa nawisu" #, 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 "" -"Ten parametr określa wartości progowe nawisu dla zastosowania szwu ukośnego. " -"Jeśli niepodparta część obwodu jest mniejsza niż ten próg, zostanie " -"zastosowany szew ukośny. Domyślny próg jest ustawiony na 40% szerokości " -"zewnętrznego obwodu. Ze względów wydajnościowych stopień nawisu jest " -"szacowany." +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 "Ten parametr określa wartości progowe nawisu dla zastosowania szwu ukośnego. Jeśli niepodparta część obwodu jest mniejsza niż ten próg, zostanie zastosowany szew ukośny. Domyślny próg jest ustawiony na 40% szerokości zewnętrznego obwodu. Ze względów wydajnościowych stopień nawisu jest szacowany." msgid "Scarf joint speed" msgstr "Prędkość szwu ukośnego" -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 "" -"Ta opcja ustawia prędkość druku dla szwów ukośnych. Zaleca się drukowanie " -"szwów ukośnych z niższą prędkością (poniżej 100 mm/s). Zaleca się również " -"włączenie 'Wygładzania współczynnika ekstruzji', jeśli ustawiona prędkość " -"znacząco różni się od prędkości zewnętrznych lub wewnętrznych obwodów. " -"Jeżeli prędkość określona tutaj jest wyższa niż prędkość zewnętrznych lub " -"wewnętrznych obwodów, drukarka domyślnie użyje wolniejszej z dwóch " -"prędkości. Jeśli prędkość jest podana w procentach (np. 80%), jest ona " -"obliczana na podstawie prędkości zewnętrznego lub wewnętrznego obwodu. " -"Wartość domyślna wynosi 100%." +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 "Ta opcja ustawia prędkość druku dla szwów ukośnych. Zaleca się drukowanie szwów ukośnych z niższą prędkością (poniżej 100 mm/s). Zaleca się również włączenie 'Wygładzania współczynnika ekstruzji', jeśli ustawiona prędkość znacząco różni się od prędkości zewnętrznych lub wewnętrznych obwodów. Jeżeli prędkość określona tutaj jest wyższa niż prędkość zewnętrznych lub wewnętrznych obwodów, drukarka domyślnie użyje wolniejszej z dwóch prędkości. Jeśli prędkość jest podana w procentach (np. 80%), jest ona obliczana na podstawie prędkości zewnętrznego lub wewnętrznego obwodu. Wartość domyślna wynosi 100%." msgid "Scarf joint flow ratio" msgstr "Współczynnik przepływu szwu ukośnego" msgid "This factor affects the amount of material for scarf joints." -msgstr "" -"Ten współczynnik wpływa na ilość materiału potrzebną dla szwów ukośnych." +msgstr "Ten współczynnik wpływa na ilość materiału potrzebną dla szwów ukośnych." msgid "Scarf start height" msgstr "Wysokość początkowa szwu ukośnego" 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." +"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 "" "Początkowa wysokość szwu ukośnego.\n" -"Ta wartość może być określona w milimetrach lub jako procent bieżącej " -"wysokości warstwy. Domyślna wartość tego parametru to 0." +"Ta wartość może być określona w milimetrach lub jako procent bieżącej wysokości warstwy. Domyślna wartość tego parametru to 0." msgid "Scarf around entire wall" msgstr "Szew ukośny obejmujący cały obrys ściany" @@ -12431,11 +10444,8 @@ msgstr "Szew rozciąga się na całą długość ściany" msgid "Scarf length" msgstr "Długość szwu ukośnego" -msgid "" -"Length of the scarf. Setting this parameter to zero effectively disables the " -"scarf." -msgstr "" -"Długość szwu ukośnego. Ustawienie tego parametru na zero wyłączy tą funkcje." +msgid "Length of the scarf. Setting this parameter to zero effectively disables the scarf." +msgstr "Długość szwu ukośnego. Ustawienie tego parametru na zero wyłączy tą funkcje." msgid "Scarf steps" msgstr "Kroki szwu ukośnego" @@ -12452,66 +10462,32 @@ msgstr "Zastosuj szwy ukośne również do wewnętrznych obrysów." msgid "Role base wipe speed" msgstr "Prędkość czyszczenia w oparciu o rolę ekstruzji" -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 "" -"Szybkość czyszczenia głowicy jest ustalana na podstawie prędkości aktualnie " -"używanej w procesie ekstruzji. Na przykład, jeżeli czyszczenie jest " -"przeprowadzane zaraz po wydrukowaniu zewnętrznej ścianki modelu, to dla " -"czyszczenia wykorzystywana jest prędkość, która została zastosowana przy " -"drukowaniu tej ścianki." +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 "Szybkość czyszczenia głowicy drukującej jest ustalana na podstawie prędkości aktualnie używanej w procesie ekstruzji. Na przykład, jeżeli czyszczenie jest przeprowadzane zaraz po wydrukowaniu zewnętrznej ścianki modelu, to dla czyszczenia wykorzystywana jest prędkość, która została zastosowana przy drukowaniu tej ścianki." msgid "Wipe on loops" msgstr "Czyszczenie na pętlach" -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 "" -"Aby zminimalizować widoczność szwu w ekstruzji zamkniętej pętli, przed " -"opuszczeniem pętli przez extruder wykonuje się mały ruch do wewnątrz." +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 "Aby zminimalizować widoczność szwu w ekstruzji zamkniętej pętli, przed opuszczeniem pętli przez extruder wykonuje się mały ruch do wewnątrz." msgid "Wipe before external loop" msgstr "Czyszczenie przed zewnętrzną pętlą" msgid "" -"To minimise visibility of potential overextrusion at the start of an " -"external perimeter when printing with Outer/Inner or Inner/Outer/Inner wall " -"print order, the deretraction 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" +"To minimise visibility of potential overextrusion at the start of an external perimeter when printing with Outer/Inner or Inner/Outer/Inner wall print order, the deretraction 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 deretraction move." +"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 deretraction move." msgstr "" -"Aby zminimalizować widoczność potencjalnego nadmiernego wytłaczania na " -"początku zewnętrznego obwodu podczas drukowania z kolejnością drukowania " -"Ściana Zewnętrzna/Wewnętrzna lub Wewnętrzna/Zewnętrzna/Wewnętrzna, " -"deretrakcja jest wykonana nieco od wewnątrz od początku zewnętrznego obwodu. " -"W ten sposób wszelkie potencjalne nadmierne wytłaczanie jest ukryte przed " -"zewnętrzną powierzchnią. \n" +"Aby zminimalizować widoczność potencjalnego nadmiernego wytłaczania na początku zewnętrznego obwodu podczas drukowania z kolejnością drukowania Ściana Zewnętrzna/Wewnętrzna lub Wewnętrzna/Zewnętrzna/Wewnętrzna, deretrakcja jest wykonana nieco od wewnątrz od początku zewnętrznego obwodu. W ten sposób wszelkie potencjalne nadmierne wytłaczanie jest ukryte przed zewnętrzną powierzchnią. \n" "\n" -"Jest to przydatne podczas drukowania z kolejnością drukowania Ściana " -"zewnętrzna/Wewnętrzna lub Wewnętrzna/Zewnętrzna/Wewnętrzna, ponieważ w tych " -"trybach jest bardziej prawdopodobne, że zewnętrzny obrys zostanie " -"wydrukowany bezpośrednio po ruchu deretrakcji." +"Jest to przydatne podczas drukowania z kolejnością drukowania Ściana zewnętrzna/Wewnętrzna lub Wewnętrzna/Zewnętrzna/Wewnętrzna, ponieważ w tych trybach jest bardziej prawdopodobne, że zewnętrzny obrys zostanie wydrukowany bezpośrednio po ruchu deretrakcji." msgid "Wipe speed" msgstr "Prędkość czyszczenia" -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 "" -"Prędkość czyszczenia jest ustalona przez ustawienie prędkości określone w " -"tej konfiguracji. Jeśli wartość jest wyrażona w procentach (np. 80%), będzie " -"obliczana na podstawie wcześniej ustawionej prędkości. Domyślna wartość dla " -"tego parametru to 80%" +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 "Prędkość czyszczenia jest ustalona przez ustawienie prędkości określone w tej konfiguracji. Jeśli wartość jest wyrażona w procentach (np. 80%), będzie obliczana na podstawie wcześniej ustawionej prędkości. Domyślna wartość dla tego parametru to 80%" msgid "Skirt distance" msgstr "Odstęp Skirtu od obiektu" @@ -12529,95 +10505,46 @@ msgid "Skirt loops" msgstr "Ilość pętli Skirtu" msgid "Number of loops for the skirt. Zero means disabling skirt" -msgstr "Liczba pętli Skirtu. Zero oznacza wyłączenie Skirtu" +msgstr "To jest liczba pętli Skirtu. Zero oznacza, wyłączone tej funkcji" msgid "Skirt speed" msgstr "Prędkość Skirtu" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." -msgstr "" -"Prędkość Skirtu, w mm/s. Zero oznacza użycie domyślnej prędkości ekstruzji " -"warstwy." +msgstr "Prędkość Skirtu, w mm/s. Zero oznacza użycie domyślnej prędkości ekstruzji warstwy." -msgid "" -"The printing speed in exported gcode will be slowed down, when the estimated " -"layer time is shorter than this value, to get better cooling for these layers" -msgstr "" -"Prędkość drukowania w wyeksportowanym gcode zostanie zwolniona, gdy " -"szacowany czas warstwy jest krótszy niż ta wartość, aby uzyskać lepsze " -"chłodzenie tych warstw" +msgid "The printing speed in exported gcode will be slowed down, when the estimated layer time is shorter than this value, to get better cooling for these layers" +msgstr "Prędkość drukowania w wyeksportowanym gcode zostanie zwolniona, gdy szacowany czas warstwy jest krótszy niż ta wartość, aby uzyskać lepsze chłodzenie tych warstw" msgid "Minimum sparse infill threshold" msgstr "Minimalny próg wypełnienia" -msgid "" -"Sparse infill area which is smaller than threshold value is replaced by " -"internal solid infill" -msgstr "" -"Obszar wypełnienia, który jest mniejszy niż wartość progu, jest zastępowany " -"przez wewnętrzne mocniejsze wypełnienie" +msgid "Sparse infill area which is smaller than threshold value is replaced by internal solid infill" +msgstr "Obszar wypełnienia, który jest mniejszy od wartości progowej zostaje zastąpiony wewnętrznym, pełnym wypełnieniem" -msgid "" -"Line width of internal solid infill. If expressed as a %, it will be " -"computed over the nozzle diameter." -msgstr "" -"Szerokość linii wewnętrznego pełnego wypełnienia. Jeśli wyrażona w " -"procentach, będzie obliczana na podstawie średnicy dyszy." +msgid "Line width of internal solid infill. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Szerokość linii wewnętrznego pełnego wypełnienia. Jeśli wyrażona w procentach, będzie obliczana na podstawie średnicy dyszy." msgid "Speed of internal solid infill, not the top and bottom surface" -msgstr "" -"Prędkość wewnętrznego pełnego wypełnienia, nie dotyczy górnej i dolnej " -"powierzchni" +msgstr "Prędkość wewnętrznego pełnego wypełnienia, nie dotyczy górnej i dolnej powierzchni" -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 "" -"Tryb Wazy wygładza ruchy osi z zewnętrznego konturu. Zamienia cały model w " -"wydruk jednościenny z pełnymi dolnymi warstwami. Końcowy wygenerowany model " -"nie ma szwu" +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 "Tryb Wazy wygładza ruchy osi z zewnętrznego konturu. Zamienia cały model w wydruk jednościenny z pełnymi dolnymi warstwami. Końcowy wygenerowany model nie ma szwu" msgid "Smooth Spiral" msgstr "Wygładzona Spirala" -msgid "" -"Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " -"at all, even in the XY directions on walls that are not vertical" -msgstr "" -"Wygładzona Spirala wygładza również ruchy w osiach X i Y, dzięki czemu nie " -"jest widoczny żaden szew, nawet w kierunkach XY na ścianach, które nie są " -"pionowe" +msgid "Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam at all, even in the XY directions on walls that are not vertical" +msgstr "Wygładzona Spirala wygładza również ruchy w osiach X i Y, dzięki czemu nie jest widoczny żaden szew, nawet w kierunkach XY na ścianach, które nie są pionowe" msgid "Max XY Smoothing" msgstr "Maksymalne Wygładzanie XY" -msgid "" -"Maximum distance to move points in XY to try to achieve a smooth spiralIf " -"expressed as a %, it will be computed over nozzle diameter" -msgstr "" -"Maksymalna odległość przesuwania punktów w XY, aby osiągnąć gładką spiralę. " -"Jeśli zostanie wyrażona w procentach, będzie obliczona na podstawie średnicy " -"dyszy" +msgid "Maximum distance to move points in XY to try to achieve a smooth spiralIf expressed as a %, it will be computed over nozzle diameter" +msgstr "Maksymalna odległość, o którą można przesunąć punkty w płaszczyźnie XY, aby spróbować uzyskać gładką spiralę. Jeśli wyrażone jako %, będzie obliczane względem średnicy dyszy." -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, prime tower is required for smooth mode to " -"wipe nozzle." -msgstr "" -"Jeśli wybrany jest tryb \"Tradycyjny\", dla każdego wydruku będzie tworzony " -"film poklatkowy (timelapse). Po wydrukowaniu każdej warstwy robione jest " -"zdjęcie kamerą w komorze. Wszystkie te zdjęcia są komponowane w film " -"poklatkowy po zakończeniu drukowania. Jeśli wybrany jest tryb \"Wygładź\", " -"głowica narzędziowa przesunie się nad wieżę po wydrukowaniu każdej warstwy, " -"a następnie zrobi zdjęcie. Ponieważ stopiony filament może wyciekać z dyszy " -"podczas robienia zdjęcia, wieża czyszcząca jest wymagana w trybie " -"\"Wygładź\" do czyszczenia dyszy." +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, prime tower is required for smooth mode to wipe nozzle." +msgstr "Jeśli wybrany jest tryb \"Tradycyjny\", dla każdego wydruku będzie tworzony film poklatkowy (timelapse). Po wydrukowaniu każdej warstwy robione jest zdjęcie kamerą w komorze. Wszystkie te zdjęcia są komponowane w film poklatkowy po zakończeniu drukowania. Jeśli wybrany jest tryb \"Wygładź\", głowica drukująca przesunie się w pobliże otworu wyrzutowego przy każdej zmianie warstwy, a następnie zrobi zdjęcie. Ponieważ stopiony filament może wyciekać z dyszy podczas robienia zdjęcia, wieża czyszcząca jest wymagana w trybie \"Wygładź\" do czyszczenia dyszy." msgid "Traditional" msgstr "Tradycyjny" @@ -12643,18 +10570,8 @@ msgstr "Użyj pojedynczej dyszy do drukowania wieloma filamentami" msgid "Manual Filament Change" msgstr "Ręczna zmiana filamentu" -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 "" -"Włącz tę opcję, aby pominąć niestandardowy G-code zmiany filamentu tylko na " -"początku druku. Komenda zmiany narzędzia (np. T0) będzie pomijana przez cały " -"proces drukowania. Jest to przydatne przy ręcznym drukowaniu " -"wielomateriałowym, gdzie używamy M600/PAUSE, aby wywołać akcję ręcznej " -"zmiany filamentu." +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 "Włącz tę opcję, aby pominąć niestandardowy G-code zmiany filamentu tylko na początku druku. Komenda zmiany narzędzia (np. T0) będzie pomijana przez cały proces drukowania. Jest to przydatne przy ręcznym drukowaniu wielomateriałowym, gdzie używamy M600/PAUSE, aby wywołać akcję ręcznej zmiany filamentu." msgid "Purge in prime tower" msgstr "Oczyszczanie na wieży czyszczącej" @@ -12668,49 +10585,26 @@ msgstr "Włącz szybką ekstruzję filamentu" msgid "No sparse layers (beta)" msgstr "Brak warstw bez czyszczenia (beta)" -msgid "" -"If enabled, the wipe tower will not be printed on layers with no " -"toolchanges. On layers with a toolchange, extruder will travel downward to " -"print the wipe tower. User is responsible for ensuring there is no collision " -"with the print." -msgstr "" -"Jeśli włączone, wieża czyszcząca nie będzie drukowana na warstwach bez zmian " -"narzędzi. Na warstwach ze zmianą narzędzia, extruder przemieści się w dół, " -"aby wydrukować wieżę czyszczącą. Użytkownik jest odpowiedzialny za " -"zapewnienie, że nie dojdzie do kolizji z wydrukiem." +msgid "If enabled, the wipe tower will not be printed on layers with no toolchanges. On layers with a toolchange, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +msgstr "Jeśli włączone, wieża czyszcząca nie będzie drukowana na warstwach bez zmian narzędzi. Na warstwach ze zmianą narzędzia, extruder przemieści się w dół, aby wydrukować wieżę czyszczącą. Użytkownik jest odpowiedzialny za zapewnienie, że nie dojdzie do kolizji z wydrukiem." msgid "Prime all printing extruders" msgstr "Przygotuj wszystkie extrudery do drukowania" -msgid "" -"If enabled, all printing extruders will be primed at the front edge of the " -"print bed at the start of the print." -msgstr "" -"Jeśli włączone, wszystkie extrudery do drukowania będą przygotowane na " -"przedniej krawędzi stołu drukującego na początku druku." +msgid "If enabled, all printing extruders will be primed at the front edge of the print bed at the start of the print." +msgstr "Jeśli włączone, wszystkie extrudery do drukowania będą przygotowane na przedniej krawędzi stołu drukującego na początku druku." msgid "Slice gap closing radius" msgstr "Promień zamykania szpar" -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 "" -"Szpary mniejsze niż dwukrotność wartości parametru \"promień zamykania " -"szpar\" zostaną zamknięte przy cięciu. Operacja zamykania szpar może " -"zmniejszyć finalną rozdzielczość wydruku, więc zalecane jest ustawienie tej " -"wartości na rozsądnie niskim poziomie." +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 "Szpary mniejsze niż dwukrotność wartości parametru \"promień zamykania szpar\" zostaną zamknięte przy cięciu. Operacja zamykania szpar może zmniejszyć finalną rozdzielczość wydruku, więc zalecane jest ustawienie tej wartości na rozsądnie niskim poziomie." msgid "Slicing Mode" msgstr "Tryb cięcia" -msgid "" -"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " -"close all holes in the model." -msgstr "" -"Użyj \"Parzysto-nieparzysty\" dla modeli samolotów 3DLabPrint. Użyj " -"\"Zamknij otwory\" do zamknięcia wszystkich otworów w modelu." +msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." +msgstr "Użyj \"Parzysto-nieparzysty\" dla modeli samolotów 3DLabPrint. Użyj \"Zamknij otwory\" do zamknięcia wszystkich otworów w modelu." msgid "Regular" msgstr "Regularny" @@ -12724,16 +10618,8 @@ msgstr "Zamknij otwory" msgid "Z offset" msgstr "Przesunięcie w osi 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 "" -"Wartość tego ustawienia zostanie dodana (lub odjęta) od wszystkich koordynat " -"w osi Z w pliku wyjściowym G-code. Jest używana dla korekcji złego położenia " -"wyłącznika krańcowego osi Z. Np. jeśli końcówka dyszy znajduje się 0.3 mm " -"ponad położeniem zerowym, ustaw tutaj -0.3 (lub napraw krańcówkę).\"" +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 "Wartość tego ustawienia zostanie dodana (lub odjęta) od wszystkich koordynat w osi Z w pliku wyjściowym G-code. Jest używana dla korekcji złego położenia wyłącznika krańcowego osi Z. Np. jeśli końcówka dyszy znajduje się 0.3 mm ponad położeniem zerowym, ustaw tutaj -0.3 (lub napraw krańcówkę).\"" msgid "Enable support" msgstr "Włącz" @@ -12741,14 +10627,8 @@ msgstr "Włącz" msgid "Enable support generation." msgstr "Włącz generowanie podpór." -msgid "" -"normal(auto) and tree(auto) is used to generate support automatically. If " -"normal(manual) or tree(manual) is selected, only support enforcers are " -"generated" -msgstr "" -"tryb 'normalny(auto)' oraz 'drzewo(auto)' służą do automatycznego " -"generowania podpór. Jeśli wybierzesz 'normalny(manual)' lub " -"'drzewo(manual)', zostaną wygenerowane jedynie podpory wymuszone" +msgid "normal(auto) and tree(auto) is used to generate support automatically. If normal(manual) or tree(manual) is selected, only support enforcers are generated" +msgstr "tryb 'normalny(auto)' oraz 'drzewo(auto)' służą do automatycznego generowania podpór. Jeśli wybierzesz 'normalny(manual)' lub 'drzewo(manual)', zostaną wygenerowane jedynie podpory wymuszone" msgid "normal(auto)" msgstr "normalny (auto)" @@ -12772,9 +10652,7 @@ msgid "Pattern angle" msgstr "Kąt wzoru" msgid "Use this setting to rotate the support pattern on the horizontal plane." -msgstr "" -"To ustawienie odpowiada za obrót materiału podporowego w płaszczyźnie " -"poziomej." +msgstr "To ustawienie odpowiada za obrót materiału podporowego w płaszczyźnie poziomej." msgid "On build plate only" msgstr "Tylko na stole" @@ -12785,12 +10663,8 @@ msgstr "Nie twórz podpór na powierzchni modelu, tylko na stole" msgid "Support critical regions only" msgstr "Podpory tylko dla krytycznych obszarów" -msgid "" -"Only create support for critical regions including sharp tail, cantilever, " -"etc." -msgstr "" -"Twórz tylko podparcie dla krytycznych obszarów, takich jak ostra krawędź, " -"wspornik, itp." +msgid "Only create support for critical regions including sharp tail, cantilever, etc." +msgstr "Twórz podpory tylko dla krytycznych obszarów, takich jak ostra krawędź, wspornik, itp." msgid "Remove small overhangs" msgstr "Usuń małe nawisy" @@ -12802,7 +10676,7 @@ msgid "Top Z distance" msgstr "Odstęp góry w osi Z" msgid "The z gap between the top support interface and object" -msgstr "Odległość w osi Z między górną warstwą łączącą podporę z obiektem" +msgstr "Odstęp osi Z między górną warstwą łączącą podporę z obiektem" msgid "Bottom Z distance" msgstr "Odstęp spodu w osi Z" @@ -12813,45 +10687,29 @@ msgstr "Odległość w osi Z między dolną warstwą łączącyą a obiektem" msgid "Support/raft base" msgstr "Podstawa podpory/tratwy" -msgid "" -"Filament to print support base and raft. \"Default\" means no specific " -"filament for support and current filament is used" -msgstr "" -"Filament do drukowania podstawy podpory i raftu. \"Domyślnie\" oznacza brak " -"wyboru konkretnego filamentu dla ich podstawy. Zostanie użyty obecny filament" +msgid "Filament to print support base and raft. \"Default\" means no specific filament for support and current filament is used" +msgstr "Filament do drukowania podstawy podpory i raftu. \"Domyślnie\" oznacza brak wyboru konkretnego filamentu dla ich podstawy. Zostanie użyty obecny filament" msgid "Avoid interface filament for base" msgstr "Zredukuj ilość materiału warstwy łączącej dla podstawy" -msgid "" -"Avoid using support interface filament to print support base if possible." -msgstr "" -"Jeśli to możliwe, unikaj używania filamentu podporowego do drukowania " -"podstawy podpór." +msgid "Avoid using support interface filament to print support base if possible." +msgstr "Jeśli to możliwe, unikaj używania filamentu podporowego do drukowania podstawy podpór." -msgid "" -"Line width of support. If expressed as a %, it will be computed over the " -"nozzle diameter." -msgstr "" -"Szerokość linii podpory. Jeśli wyrażona w procentach, będzie obliczona na " -"podstawie średnicy dyszy." +msgid "Line width of support. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Szerokość linii podpory. Jeśli wyrażona w procentach, będzie obliczona na podstawie średnicy dyszy." msgid "Interface use loop pattern" msgstr "Użyj wzoru pętli dla warstw łączących" -msgid "" -"Cover the top contact layer of the supports with loops. Disabled by default." -msgstr "Pokryj pętlą górną warstwę podpór. Domyślnie wyłączone." +msgid "Cover the top contact layer of the supports with loops. Disabled by default." +msgstr "Przykryj górną warstwę stykową podpór pętlami. Domyślnie wyłączone." msgid "Support/raft interface" msgstr "Warstwy łączące podpory/tratwy" -msgid "" -"Filament to print support interface. \"Default\" means no specific filament " -"for support interface and current filament is used" -msgstr "" -"Filament do drukowania warstw łączących podpory z modelem. \"Domyślnie\" " -"oznacza brak konkretnego filamentu dla podpory i używanie obecnego filamentu" +msgid "Filament to print support interface. \"Default\" means no specific filament for support interface and current filament is used" +msgstr "Filament do drukowania warstw łączących podpory z modelem. \"Domyślnie\" oznacza brak konkretnego filamentu dla podpory i używanie obecnego filamentu" msgid "Top interface layers" msgstr "Górne warstwy łączące" @@ -12872,17 +10730,13 @@ msgid "Top interface spacing" msgstr "Rozstaw górnych warstw łączących" msgid "Spacing of interface lines. Zero means solid interface" -msgstr "" -"Odstęp między liniami powierzchni warstwy łączącej. Wartość zero oznacza, że " -"warstwa łącząca jest jednolita i bez przerw" +msgstr "Odstęp między liniami powierzchni warstwy łączącej. Wartość zero oznacza, że warstwa łącząca jest jednolita i bez przerw" msgid "Bottom interface spacing" msgstr "Rozstaw dolnych warstw łączących" msgid "Spacing of bottom interface lines. Zero means solid interface" -msgstr "" -"Odstęp między liniami dolnej powierzchni warstwy łączącej. Wartość zero " -"oznacza, że warstwa łącząca jest jednolita i bez przerw" +msgstr "Odstęp między liniami dolnej powierzchni warstwy łączącej. Wartość zero oznacza, że warstwa łącząca jest jednolita i bez przerw" msgid "Speed of support interface" msgstr "Prędkość dla warstw łączących" @@ -12897,19 +10751,13 @@ msgid "Rectilinear grid" msgstr "Siatka prostoliniowa" msgid "Hollow" -msgstr "Pusta" +msgstr "Wydrążony" msgid "Interface pattern" msgstr "Wzór warstwy łączącej" -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 "" -"Wzór linii dla warstw łączących podpory. Standardowy wzór dla warstwy " -"łączącej podpory nierozpuszczalnej jest Prostoliniowy, natomiast dla warstwy " -"łączącej podpory rozpuszczalnej jest Koncentryczny" +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 "Wzór linii dla warstw łączących podpory. Standardowy wzór dla warstwy łączącej podpory nierozpuszczalnej jest Prostoliniowy, natomiast dla warstwy łączącej podpory rozpuszczalnej jest Koncentryczny" msgid "Rectilinear Interlaced" msgstr "Prostoliniowe przeplatane" @@ -12930,21 +10778,11 @@ msgid "Speed of support" msgstr "Prędkość podpory" 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." +"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 "" -"Styl i kształt podpory. Dla normalnego wsparcia, rzutowanie wsparć na " -"regularną siatkę stworzy stabilniejsze wsparcia (domyślne), podczas gdy " -"wąskie wieże wsparcia zaoszczędzą filament i zmniejszą uszkodzenia obiektu.\n" -"Dla podpory drzewa, stylu Cinkiego i Organicznego połączy gałęzie bardziej " -"agresywnie i zaoszczędzi dużo filamentu (domyślnie organiczny), podczas gdy " -"styl hybrydowy stworzy podobną strukturę do normalnego wsparcia pod dużymi " -"płaskimi występami." +"Styl i kształt podpory. Dla normalnego wsparcia, rzutowanie wsparć na regularną siatkę stworzy stabilniejsze wsparcia (domyślne), podczas gdy wąskie wieże podporowe zaoszczędzą filament i zmniejszą uszkodzenia obiektu.\n" +"Dla podpory drzewa, stylu Cinkiego i Organicznego połączy gałęzie bardziej agresywnie i zaoszczędzi dużo filamentu (domyślnie organiczny), podczas gdy styl hybrydowy stworzy podobną strukturę do normalnego wsparcia pod dużymi płaskimi nawisami." msgid "Snug" msgstr "Przylegający" @@ -12964,94 +10802,52 @@ msgstr "Organiczne" msgid "Independent support layer height" msgstr "Niezależna wysokość warstwy podpory" -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 "" -"Warstwa podpory używa niezależnej wysokości warstwy od warstwy obiektu. " -"Służy to dostosowywaniu odstępu osi Z i oszczędzaniu czasu drukowania. Opcja " -"ta będzie nieaktywna, gdy włączona jest wieża czyszcząca." +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 "Warstwa podpory używa niezależnej wysokości warstwy od warstwy obiektu. Służy to dostosowywaniu odstępu osi Z i oszczędzaniu czasu drukowania. Opcja ta będzie nieaktywna, gdy włączona jest wieża czyszcząca." msgid "Threshold angle" msgstr "Kąt progowy" -msgid "" -"Support will be generated for overhangs whose slope angle is below the " -"threshold." -msgstr "" -"Podpora zostanie wygenerowana dla nawisów, których kąt nachylenia jest " -"poniżej tego progu." +msgid "Support will be generated for overhangs whose slope angle is below the threshold." +msgstr "Podpora zostanie wygenerowana dla nawisów, których kąt nachylenia jest poniżej tego progu." msgid "Tree support branch angle" msgstr "Kąt nachylenia gałęzi" -msgid "" -"This setting determines the maximum overhang angle that t he branches of " -"tree support allowed to make.If the angle is increased, the branches can be " -"printed more horizontally, allowing them to reach farther." -msgstr "" -"To ustawienie określa maksymalny kąt nawisu, jaki mogą tworzyć gałęzie " -"podpory (drzewo). Jeśli kąt zostanie zwiększony, gałęzie mogą być drukowane " -"bardziej poziomo, pozwalając im sięgać dalej." +msgid "This setting determines the maximum overhang angle that t he branches of tree support allowed to make.If the angle is increased, the branches can be printed more horizontally, allowing them to reach farther." +msgstr "To ustawienie określa maksymalny kąt nawisu, jaki mogą tworzyć gałęzie podpory (drzewo). Jeśli kąt zostanie zwiększony, gałęzie mogą być drukowane bardziej poziomo, pozwalając im sięgać dalej." msgid "Preferred Branch Angle" msgstr "Preferowany kąt gałęzi" #. 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 "" -"Preferowany kąt nachylenia gałęzi, gdy nie muszą one omijać modelu. Użyj " -"mniejszego kąta, aby były bardziej pionowe i stabilne. Użyj większego kąta, " -"aby gałęzie szybciej się łączyły." +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 "Preferowany kąt nachylenia gałęzi, gdy nie muszą one omijać modelu. Użyj mniejszego kąta, aby były bardziej pionowe i stabilne. Użyj większego kąta, aby gałęzie szybciej się łączyły." msgid "Tree support branch distance" msgstr "Odstęp gałęzi podpór drzewa" -msgid "" -"This setting determines the distance between neighboring tree support nodes." -msgstr "" -"To ustawienie określa odległość między sąsiednimi węzłami podpory (drzewa)." +msgid "This setting determines the distance between neighboring tree support nodes." +msgstr "To ustawienie określa odległość między sąsiednimi węzłami podpory (drzewa)." msgid "Branch Density" msgstr "Gęstość gałęzi" #. 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 "" -"Dostosowuje gęstość struktury podpory używanej do generowania końcówek " -"gałęzi. Wyższa wartość skutkuje lepszymi występami, ale podpory są " -"trudniejsze do usunięcia, dlatego zaleca się włączenie górnych łączników " -"podpór zamiast wysokiej wartości gęstości gałęzi, jeśli potrzebne są gęste " -"podpory." +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 "Dostosowuje gęstość konstrukcji nośnej używanej do generowania końcówek gałęzi. Wyższa wartość skutkuje lepszymi nawisami, ale podpory są trudniejsze do usunięcia, dlatego zaleca się włączenie górnych łączników podpór zamiast wysokiej gęstości gałęzi, jeśli potrzebne są gęste podpory." msgid "Adaptive layer height" msgstr "Adaptacyjna wysokość warstwy" -msgid "" -"Enabling this option means the height of tree support layer except the " -"first will be automatically calculated " -msgstr "" -"Włączenie tej opcji oznacza, że wysokość warstwy podpory drzewo, z wyjątkiem " -"pierwszej, zostanie automatycznie obliczona " +msgid "Enabling this option means the height of tree support layer except the first will be automatically calculated " +msgstr "Włączenie tej opcji oznacza, że wysokość warstwy podpory drzewo, z wyjątkiem pierwszej, zostanie automatycznie obliczona " msgid "Auto brim width" msgstr "Automatyczna szerokość Brimu" -msgid "" -"Enabling this option means the width of the brim for tree support will be " -"automatically calculated" -msgstr "" -"Włączenie tej opcji oznacza, że szerokość Brimu dla podpory drzewo będzie " -"automatycznie obliczana" +msgid "Enabling this option means the width of the brim for tree support will be automatically calculated" +msgstr "Włączenie tej opcji oznacza, że szerokość Brimu dla podpory drzewo będzie automatycznie obliczana" msgid "Tree support brim width" msgstr "Szerokość Brimu dla podpory drzewa" @@ -13077,28 +10873,15 @@ msgid "Branch Diameter Angle" msgstr "Kąt średnicy gałęzi" #. 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 "" -"Kąt średnicy gałęzi w miarę stopniowego zagęszczania się ich ku dołowi. Kąt " -"0 spowoduje, że gałęzie będą miały jednakową grubość na całej długości. " -"Niewielki kąt może zwiększyć stabilność podpór organicznych." +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 "Kąt średnicy gałęzi w miarę stopniowego zagęszczania się ich ku dołowi. Kąt 0 spowoduje, że gałęzie będą miały jednakową grubość na całej długości. Niewielki kąt może zwiększyć stabilność podpór organicznych." msgid "Branch Diameter with double walls" msgstr "Średnica gałęzi z podwójnymi ścianami" #. TRN PrintSettings: "Organic supports" > "Branch Diameter" -msgid "" -"Branches with area larger than the area of a circle of this diameter will be " -"printed with double walls for stability. Set this value to zero for no " -"double walls." -msgstr "" -"Gałęzie o powierzchni większej niż powierzchnia koła o tej średnicy będą " -"drukowane z podwójnymi ścianami dla stabilności. Ustaw tę wartość na zero, " -"aby nie było podwójnych ścian." +msgid "Branches with area larger than the area of a circle of this diameter will be printed with double walls for stability. Set this value to zero for no double walls." +msgstr "Gałęzie o powierzchni większej niż powierzchnia koła o tej średnicy będą drukowane z podwójnymi ścianami dla stabilności. Ustaw tę wartość na zero, aby nie było podwójnych ścian." msgid "Support wall loops" msgstr "Pętle ścian podpory" @@ -13107,46 +10890,26 @@ msgid "This setting specify the count of walls around support" msgstr "To ustawienie określa liczbę ścian wokół podpory" msgid "Tree support with infill" -msgstr "Wsparcie drzewa z wypełnieniem" +msgstr "Podpora w formie drzewa z wypełnieniem" -msgid "" -"This setting specifies whether to add infill inside large hollows of tree " -"support" -msgstr "" -"To ustawienie określa, czy dodać wypełnienie wewnątrz dużych pustych " -"przestrzeni podpor (drzewa)" +msgid "This setting specifies whether to add infill inside large hollows of tree support" +msgstr "To ustawienie określa, czy dodać wypełnienie wewnątrz dużych pustych przestrzeni podpor (drzewa)" msgid "Activate temperature control" msgstr "Aktywuj kontrolę temperatury" msgid "" -"Enable this option for chamber temperature control. An M191 command will be " -"added before \"machine_start_gcode\"\n" +"Enable this option for chamber temperature control. An M191 command will be added before \"machine_start_gcode\"\n" "G-code commands: M141/M191 S(0-255)" msgstr "" -"Włącz tę opcję dla kontroli temperatury komory. Komenda M191 zostanie dodana " -"przed \"początkowy G-code drukarki\"\n" +"Włącz tę opcję dla kontroli temperatury komory. Komenda M191 zostanie dodana przed \"początkowy G-code drukarki\"\n" "Komendy G-code: M141/M191 S(0-255)" msgid "Chamber temperature" msgstr "Temperatura komory" -msgid "" -"Higher chamber temperature can help suppress or reduce warping and " -"potentially lead to higher interlayer bonding strength for high temperature " -"materials like ABS, ASA, PC, PA and so on.At the same time, the air " -"filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and " -"other low temperature materials,the actual chamber temperature should not be " -"high to avoid cloggings, so 0 which stands for turning off is highly " -"recommended" -msgstr "" -"Wyższa temperatura komory może pomóc w tłumieniu lub zmniejszeniu " -"odkształceń i potencjalnie prowadzić do wyższej wytrzymałości wiązań " -"międzywarstwowych dla filamentów o wysokiej temperaturze, takich jak ABS, " -"ASA, PC, PA i tak dalej. Jednocześnie filtracja powietrza dla ABS i ASA " -"pogorszy się. Natomiast dla PLA, PETG, TPU, PVA i innych filamentów o " -"niskiej temperaturze, rzeczywista temperatura komory nie powinna być wysoka, " -"aby uniknąć zatorów, więc zaleca się ustawienie 0, oznaczające wyłączenie" +msgid "Higher chamber temperature can help suppress or reduce warping and potentially lead to higher interlayer bonding strength for high temperature materials like ABS, ASA, PC, PA and so on.At the same time, the air filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and other low temperature materials,the actual chamber temperature should not be high to avoid cloggings, so 0 which stands for turning off is highly recommended" +msgstr "Wyższa temperatura komory może pomóc w redukcji wypaczania i potencjalnie prowadzić do większej siły wiązania międzywarstwowego w przypadku materiałów wysokotemperaturowych, takich jak ABS, ASA, PC, PA itp. Dla filametów PLA, PETG, TPU, PVA i innych materiałów niskotemperaturowych temperatura komory nie powinna być wysoka. Aby uniknąć zatykania sie dyszy zaleca się ustawienia na wartość 0 (wyłączone)." msgid "Nozzle temperature for layers after the initial one" msgstr "Temperatura dyszy dla warstw po początkowej" @@ -13154,29 +10917,17 @@ msgstr "Temperatura dyszy dla warstw po początkowej" msgid "Detect thin wall" msgstr "Wykrywanie cienkich ścian" -msgid "" -"Detect thin wall which can't contain two line width. And use single line to " -"print. Maybe printed not very well, because it's not closed loop" -msgstr "" -"Wykrywaj ściany o grubości jednego obrysu. Są to obszary, gdzie 2 obrysy nie " -"zmieszczą się i trzeba będzie połączyć je w jedną linię" +msgid "Detect thin wall which can't contain two line width. And use single line to print. Maybe printed not very well, because it's not closed loop" +msgstr "Wykrywaj ściany o grubości jednego obrysu. Są to obszary, gdzie 2 obrysy nie zmieszczą się i trzeba będzie połączyć je w jedną linię" -msgid "" -"This gcode is inserted when change filament, including T command to trigger " -"tool change" -msgstr "" -"Ten G-code jest wstawiany podczas zmiany filamentu, w tym komendy T do " -"wywołania zmiany narzędzia" +msgid "This gcode is inserted when change filament, including T command to trigger tool change" +msgstr "Ten gcode jest wstawiany podczas zmiany filamentu, w tym komendy T do wywołania zmiany narzędzia" msgid "This gcode is inserted when the extrusion role is changed" msgstr "Ten G-code jest dodawany przy zmianie funkcji ekstruzji" -msgid "" -"Line width for top surfaces. If expressed as a %, it will be computed over " -"the nozzle diameter." -msgstr "" -"Szerokość linii dla górnych powierzchni. Jeśli wyrażona w procentach, będzie " -"obliczona na podstawie średnicy dyszy." +msgid "Line width for top surfaces. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Szerokość linii dla górnych powierzchni. Jeśli wyrażona w procentach, będzie obliczona na podstawie średnicy dyszy." msgid "Speed of top surface infill which is solid" msgstr "Prędkość wypełnienia górnej powierzchni, która jest zwarta" @@ -13184,33 +10935,17 @@ msgstr "Prędkość wypełnienia górnej powierzchni, która jest zwarta" msgid "Top shell layers" msgstr "Górne warstwy powłoki" -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 "" -"To jest liczba zwartych warstw górnej powłoki, w tym warstwy górnej " -"powierzchni. Gdy grubość obliczona na podstawie tej wartości jest cieńsza " -"niż grubość górnej powłoki, liczba warstw górnej powłoki zostanie zwiększona" +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 "To jest liczba pełnych warstw górnej powłoki, włączając w to górną powierzchnie. Jeżeli grubość obliczona na podstawie tej wartości jest mniejsza niż grubość górnej powłoki, liczba warstw górnej powłoki zostanie zwiększona" msgid "Top solid layers" -msgstr "Pełne Górne warstwy" +msgstr "Pełne warstwy górne" msgid "Top shell thickness" msgstr "Grubość górnej powłoki" -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 determained by top " -"shell layers" -msgstr "" -"Liczba górnych zwartych warstw jest zwiększana podczas cięcia, jeśli grubość " -"obliczona przez górną warstwe powłoki jest cieńsza niż ta wartość. Można w " -"ten sposób uniknąć zbyt cienkiej powłoki, gdy wysokość warstwy jest mała. 0 " -"oznacza, że to ustawienie jest wyłączone, a grubość górnej powłoki jest " -"absolutnie określona przez górne warstwy powłoki" +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 determained by top shell layers" +msgstr "Liczba górnych zwartych warstw jest zwiększana podczas cięcia, jeśli grubość obliczona przez górną warstwe powłoki jest cieńsza niż ta wartość. Można w ten sposób uniknąć zbyt cienkiej powłoki, gdy wysokość warstwy jest mała. 0 oznacza, że to ustawienie jest wyłączone, a grubość górnej powłoki jest absolutnie określona przez górne warstwy powłoki" msgid "Speed of travel which is faster and without extrusion" msgstr "Prędkość jałowa, która jest szybsza i bez ekstruzji" @@ -13218,47 +10953,27 @@ msgstr "Prędkość jałowa, która jest szybsza i bez ekstruzji" msgid "Wipe while retracting" msgstr "Czyszczenie przy retrakcji" -msgid "" -"Move nozzle along the last extrusion path when retracting to clean leaked " -"material on nozzle. This can minimize blob when print new part after travel" -msgstr "" -"Przesuń dyszę wzdłuż ostatniej ścieżki ekstruzji podczas cofania, aby " -"oczyścić wyciekły filament na dyszy. Może to zminimalizować grudkę podczas " -"drukowania nowej części po podróży" +msgid "Move nozzle along the last extrusion path when retracting to clean leaked material on nozzle. This can minimize blob when print new part after travel" +msgstr "Przesuń dyszę wzdłuż ostatniej ścieżki ekstruzji podczas cofania, aby oczyścić wyciekły filament na dyszy. Może to zminimalizować wystąpienie grudek podczas drukowania nowej części po przejeździe" msgid "Wipe Distance" msgstr "Odległość czyszczenia" msgid "" -"Discribe how long the nozzle will move along the last path when " -"retracting. \n" +"Discribe 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" +"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." +"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 "" -"Opisz, jak długo dysza będzie się przesuwać wzdłuż ostatniej ścieżki podczas " -"cofania. \n" +"Opisz, jak długo dysza będzie się przesuwać wzdłuż ostatniej ścieżki podczas cofania. \n" "\n" -"W zależności od tego, jak długo trwa operacja czyszczenia oraz jak szybkie i " -"długie są ustawienia cofania extrudera/filamentu, może być potrzebny ruch " -"cofania, aby cofnąć pozostały filament. \n" +"W zależności od tego, jak długo trwa operacja czyszczenia oraz jak szybkie i długie są ustawienia cofania extrudera/filamentu, może być potrzebny ruch cofania, aby cofnąć pozostały filament. \n" "\n" -"Ustawienie wartości w ilości cofania przed ustawieniem czyszczenia poniżej " -"spowoduje wykonanie nadmiernego cofania przed czyszczeniem, w przeciwnym " -"razie zostanie wykonane po nim." +"Ustawienie wartości w ilości cofania przed ustawieniem czyszczenia poniżej spowoduje wykonanie nadmiernego cofania przed czyszczeniem, w przeciwnym razie zostanie wykonane po nim." -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 "" -"Wieża czyszcząca może być używana do czyszczenia resztek na dyszy i " -"stabilizacji ciśnienia w komorze wewnątrz dyszy, aby uniknąć defektów " -"wyglądu podczas drukowania obiektów." +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 "Wieża czyszcząca może być używana do czyszczenia resztek na dyszy i stabilizacji ciśnienia w komorze wewnątrz dyszy, aby uniknąć defektów wyglądu podczas drukowania obiektów." msgid "Purging volumes" msgstr "Objętości czyszczenia" @@ -13266,19 +10981,14 @@ msgstr "Objętości czyszczenia" msgid "Flush multiplier" msgstr "Mnożnik płukania" -msgid "" -"The actual flushing volumes is equal to the flush multiplier multiplied by " -"the flushing volumes in the table." -msgstr "" -"Aktualna objętość płukania jest równa mnożnikowi płukania pomnożonemu przez " -"objętości płukania w tabeli." +msgid "The actual flushing volumes is equal to the flush multiplier multiplied by the flushing volumes in the table." +msgstr "Aktualna objętość płukania jest równa mnożnikowi płukania pomnożonemu przez objętości płukania w tabeli." msgid "Prime volume" -msgstr "Objętość Wieży" +msgstr "Objętość czyszczenia" msgid "The volume of material to prime extruder on tower." -msgstr "" -"Objętość materiału, który ekstruder powinien upuścić na wieży czyszczącej." +msgstr "Objętość materiału, który ekstruder powinien upuścić na wieży czyszczącej." msgid "Width of prime tower" msgstr "Szerokość wieży czyszczącej" @@ -13292,116 +11002,72 @@ msgstr "Kąt obrotu wieży czyszczącej względem osi x." msgid "Stabilization cone apex angle" msgstr "Kąt wierzchołka stożka stabilizacji" -msgid "" -"Angle at the apex of the cone that is used to stabilize the wipe tower. " -"Larger angle means wider base." -msgstr "" -"Kąt w wierzchołku stożka, który jest używany do stabilizacji wieży " -"czyszczącej. Większy kąt oznacza szerszą podstawę." +msgid "Angle at the apex of the cone that is used to stabilize the wipe tower. Larger angle means wider base." +msgstr "Kąt w wierzchołku stożka, który jest używany do stabilizacji wieży czyszczącej. Większy kąt oznacza szerszą podstawę." msgid "Wipe tower purge lines spacing" -msgstr "Rozmieszczenie linii czyszczących" +msgstr "Odległość między liniami na wieży oczyszczającej" msgid "Spacing of purge lines on the wipe tower." msgstr "Rozmieszczenie linii czyszczenia na wieży czyszczącej." +msgid "Maximum print speed when purging" +msgstr "Maksymalna prędkość druku podczas czyszczenia" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill speed or calculated speed from the filament max volumetric speed is lower, the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be performed over sparse layers. Before increasing this parameter beyond the default of 90mm/sec, make sure your printer can reliably bridge at the increased speeds." +msgstr "" +"Maksymalna prędkość drukowania podczas oczyszczania w wieży czyszczącej. Jeśli prędkość wypełnienia rzadkiego lub prędkość obliczona na podstawie maksymalnej prędkości przepływu filamentu jest niższa, zostanie użyta najniższa prędkość.\n" +"Zwiększenie tej prędkości może wpłynąć na stabilność wieży, ponieważ oczyszczanie może być wykonywane na rzadkich warstwach. Przed zwiększeniem tego parametru ponad domyślną wartość 90 mm/s należy upewnić się, że drukarka może niezawodnie drukować ze zwiększoną prędkością." + msgid "Wipe tower extruder" msgstr "Ekstruder dla wieży czyszczącej" -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 "" -"Extruder używany do drukowania obrysów wieży czyszczącej. Ustaw na 0, aby " -"użyć tego, który jest dostępny (preferowany jest ten, w którym załadowany " -"jest filament nierozpuszczalny)." +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 "Extruder używany do drukowania obrysów wieży czyszczącej. Ustaw na 0, aby użyć tego, który jest dostępny (preferowany jest ten, w którym załadowany jest filament nierozpuszczalny)." msgid "Purging volumes - load/unload volumes" msgstr "Objętości czyszczenia - objętości ładowania/rozładowania" -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 "" -"To ustawienie określa wymaganą objętość wieży czyszczącej przy zmianie " -"danego narzędzia. Te wartości używane są do uproszczenia określenia pełnych " -"wartości czyszczenia poniżej" +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 "To ustawienie określa wymaganą objętość wieży czyszczącej przy zmianie danego narzędzia. Te wartości używane są do uproszczenia określenia pełnych wartości czyszczenia poniżej" -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 "" -"Czyszczenie po zmianie filamentu będzie wykonane wewnątrz wypełnień " -"obiektów. Może to zmniejszyć ilość odpadów i skrócić czas druku. Jeśli " -"ściany są drukowane przezroczystym filamentem, mieszane kolorowe wypełnienie " -"będzie widoczne na zewnątrz. Nie będzie miało efektu, chyba że wieża " -"czyszcząca jest włączona." +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 "Czyszczenie po zmianie filamentu będzie wykonane wewnątrz wypełnień obiektów. Może to zmniejszyć ilość odpadów i skrócić czas druku. Jeśli ściany są drukowane przezroczystym filamentem, mieszane kolorowe wypełnienie będzie widoczne na zewnątrz. Nie będzie miało efektu, chyba że wieża czyszcząca jest włączona." -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 "" -"Czyszczenie po zmianie filamentu będzie wykonane wewnątrz podpory obiektów. " -"Może to zmniejszyć ilość odpadów i skrócić czas druku. Nie będzie miało " -"efektu, chyba że wieża czyszcząca jest włączona." +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 "Czyszczenie po zmianie filamentu będzie wykonane wewnątrz podpory obiektów. Może to zmniejszyć ilość odpadów i skrócić czas druku. Nie będzie miało efektu, chyba że wieża czyszcząca jest włączona." -msgid "" -"This object will be used to purge the nozzle after a filament change to save " -"filament and decrease the print time. Colours of the objects will be mixed " -"as a result. It will not take effect, unless the prime tower is enabled." -msgstr "" -"To jest obiekt wykorzystywany do oczyszczenia dyszy po zmianie filamentu, co " -"pozwala zaoszczędzić filament i skrócić czas druku. W wyniku tego procesu " -"kolory filamentów mogą się wymieszać." +msgid "This object will be used to purge the nozzle after a filament change to save filament and decrease the print time. Colours of the objects will be mixed as a result. It will not take effect, unless the prime tower is enabled." +msgstr "To jest obiekt wykorzystywany do oczyszczenia dyszy po zmianie filamentu, co pozwala zaoszczędzić filament i skrócić czas druku. W wyniku tego procesu kolory filamentów mogą się wymieszać." msgid "Maximal bridging distance" msgstr "Maksymalna odległość mostkowania" msgid "Maximal distance between supports on sparse infill sections." -msgstr "" -"Maksymalna odległość między podporami na rzadkich sekcjach wypełnienia." +msgstr "Maksymalna odległość między podporami na rzadkich sekcjach wypełnienia." msgid "X-Y hole compensation" msgstr "Kompensacja otworów X-Y" -msgid "" -"Holes of object will be grown or shrunk in XY plane by the configured value. " -"Positive value makes holes bigger. Negative value makes holes smaller. This " -"function is used to adjust size slightly when the object has assembling issue" -msgstr "" -"Otwory obiektu będą powiększane lub zmniejszane w płaszczyźnie XY przez " -"zadaną wartość (ujemna = zmniejszenie, dodatnia = zwiększenie). Funkcja ta " -"jest używana do lekkiej regulacji rozmiaru, gdy obiekt ma problem z montażem" +msgid "Holes of object will be grown or shrunk in XY plane by the configured value. Positive value makes holes bigger. Negative value makes holes smaller. This function is used to adjust size slightly when the object has assembling issue" +msgstr "Otwory obiektu będą powiększane lub zmniejszane w płaszczyźnie XY przez zadaną wartość (ujemna = zmniejszenie, dodatnia = zwiększenie). Funkcja ta jest używana do lekkiej regulacji rozmiaru, gdy obiekt ma problem z montażem" msgid "X-Y contour compensation" msgstr "Kompensacja konturu X-Y" -msgid "" -"Contour of object will be grown or shrunk in XY plane by the configured " -"value. Positive value makes contour bigger. Negative value makes contour " -"smaller. This function is used to adjust size slightly when the object has " -"assembling issue" -msgstr "" -"Model zostanie zmniejszony lub zwiększony w osiach X i Y o zadaną wartość " -"(ujemna = zmniejszenie, dodatnia = zwiększenie). Może być przydatne przy " -"kalibracji średnic otworów" +msgid "Contour of object will be grown or shrunk in XY plane by the configured value. Positive value makes contour bigger. Negative value makes contour smaller. This function is used to adjust size slightly when the object has assembling issue" +msgstr "Model zostanie zmniejszony lub zwiększony w osiach X i Y o zadaną wartość (ujemna = zmniejszenie, dodatnia = zwiększenie). Może być przydatne przy kalibracji średnic otworów" msgid "Convert holes to polyholes" msgstr "Konwertuj otwory na poligonalne" 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" +"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 "" -"Szukaj niemal okrągłych otworów obejmujących więcej niż jedną warstwę i " -"konwertuj geometrię na poliotwory. Użyj rozmiaru dyszy i (największej) " -"średnicy do obliczenia poliotworu.\n" +"Szukaj niemal okrągłych otworów obejmujących więcej niż jedną warstwę i konwertuj geometrię na poliotwory. Użyj rozmiaru dyszy i (największej) średnicy do obliczenia poliotworu.\n" "Zobacz http://hydraraptor.blogspot.com/2011/02/polyholes.html" msgid "Polyhole detection margin" @@ -13410,15 +11076,11 @@ msgstr "Margines wykrywania poliotworów" #, 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 leway to " -"broaden the detection.\n" +"As cylinders are often exported as triangles of varying size, points may not be on the circle circumference. This setting allows you some leway to broaden the detection.\n" "In mm or in % of the radius." msgstr "" "Maksymalne odchylenie punktu od szacowanego promienia koła.\n" -"Ponieważ cylindry często eksportowane są jako trójkąty o różnej wielkości, " -"punkty mogą nie znajdować się na obwodzie koła. To ustawienie pozwala na " -"pewną swobodę w poszerzaniu wykrywania.\n" +"Ponieważ cylindry często eksportowane są jako trójkąty o różnej wielkości, punkty mogą nie znajdować się na obwodzie koła. To ustawienie pozwala na pewną swobodę w poszerzaniu wykrywania.\n" "W mm lub w % promienia." msgid "Polyhole twist" @@ -13430,47 +11092,25 @@ msgstr "Obracaj poliotwor co warstwę." msgid "G-code thumbnails" msgstr "Miniatury G-code" -msgid "" -"Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the " -"following format: \"XxY, XxY, ...\"" -msgstr "" -"Rozmiary obrazów do przechowywania w plikach .gcode i .sl1 / .sl1s, w " -"następującym formacie: \"XxY, XxY, ...\"" +msgid "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: \"XxY, XxY, ...\"" +msgstr "Rozmiary obrazów do przechowywania w plikach .gcode i .sl1 / .sl1s, w następującym formacie: \"XxY, XxY, ...\"" msgid "Format of G-code thumbnails" msgstr "Format miniatur G-code" -msgid "" -"Format of G-code thumbnails: PNG for best quality, JPG for smallest size, " -"QOI for low memory firmware" -msgstr "" -"Format miniatur G-code: PNG dla najlepszej jakości, JPG dla najmniejszego " -"rozmiaru, QOI dla oprogramowania o niskiej pamięci" +msgid "Format of G-code thumbnails: PNG for best quality, JPG for smallest size, QOI for low memory firmware" +msgstr "Format miniatur G-code: PNG dla najlepszej jakości, JPG dla najmniejszego rozmiaru, QOI dla oprogramowania o niskiej pamięci" msgid "Use relative E distances" msgstr "" "Użyj względnych \n" "wartości dla Extrudera" -msgid "" -"Relative extrusion is recommended when using \"label_objects\" option.Some " -"extruders work better with this option unckecked (absolute extrusion mode). " -"Wipe tower is only compatible with relative mode. It is recommended on most " -"printers. Default is checked" -msgstr "" -"Względna ekstruzja jest zalecana przy użyciu opcji \"label_objects\". " -"Niektóre extrudery działają lepiej z tą opcją odznaczoną (tryb absolutnej " -"ekstruzji). Wieża czyszcząca jest kompatybilna tylko z trybem względnym. " -"Zalecana na większości drukarek. Domyślnie zaznaczone" +msgid "Relative extrusion is recommended when using \"label_objects\" option.Some extruders work better with this option unckecked (absolute extrusion mode). Wipe tower is only compatible with relative mode. It is recommended on most printers. Default is checked" +msgstr "Względna ekstruzja jest zalecana przy użyciu opcji \"label_objects\". Niektóre extrudery działają lepiej z tą opcją odznaczoną (tryb absolutnej ekstruzji). Wieża czyszcząca jest kompatybilna tylko z trybem względnym. Zalecana na większości drukarek. Domyślnie zaznaczone" -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 "" -"Klasyczny generator ścian tworzy ściany o stałej szerokości ekstruzji, a do " -"bardzo cienkich obszarów używa wypełnienia luk. Silnik Arachne produkuje " -"ściany o zmiennej szerokości ekstruzji." +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 "Klasyczny generator ścian tworzy ściany o stałej szerokości ekstruzji, a do bardzo cienkich obszarów używa wypełnienia szczelin. Silnik Arachne generuje ściany o zmiennej szerokości ekstruzji" msgid "Classic" msgstr "Klasyczny" @@ -13481,140 +11121,62 @@ msgstr "Arachne" msgid "Wall transition length" msgstr "Długość przejścia ściany" -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 "" -"Podczas przechodzenia między różnymi liczbami obrysów, gdy część staje się " -"cieńsza, przydzielana jest pewna ilość miejsca na rozdzielenie lub " -"połączenie segmentów obrysu. Jeśli jest wyrażona w procentach (na przykład " -"100%), zostanie obliczona na podstawie średnicy dyszy." +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 "Podczas przechodzenia między różnymi liczbami obrysów, gdy część staje się cieńsza, przydzielana jest pewna ilość miejsca na rozdzielenie lub połączenie segmentów obrysu. Jest wyrażona w procentach i zostanie obliczona na podstawie średnicy dyszy." msgid "Wall transitioning filter margin" msgstr "Margines filtra przejścia ściany" -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 "" -"Zapobiega przejściu w tył i w przód między jedną dodatkową ścianą a jedną " -"mniej. Ten margines rozszerza zakres szerokości ekstruzji, który następuje " -"do [Minimalna szerokość ściany - margines, 2 * Minimalna szerokość ściany + " -"margines]. Zwiększenie tego marginesu zmniejsza liczbę przejść, co zmniejsza " -"liczbę rozpoczęć/zakończeń ekstruzji i czas podróży. Jednak duża zmienność " -"szerokości ekstruzji może prowadzić do problemów z niedo- lub nadmierną " -"ekstruzją. Jest to wyrażone jako procent średnicy dyszy" +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 "Unikaj zmiany między zbyt grubą a zbyt cienką ścianą. Ten margines rozszerza zakres szerokości ekstruzji na [Minimalną szerokość ściany - margines, 2 * Minimalną szerokość ściany + margines]. Zwiększenie tego marginesu zmniejsza liczbę zmian, co skraca czas wydruku poprzez redukcję liczby startów i zatrzymań ekstruzji. Należy jednak pamiętać, że duże wahania w szerokości ekstruzji mogą prowadzić do problemów z jakością wydruku w postaci nadmiernej lub niewystarczającej ekstruzji. Wartość wyrażana jest jako procent średnicy dyszy" msgid "Wall transitioning threshold angle" msgstr "Kąt progowy przejścia ściany" -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 "" -"Kiedy tworzyć przejścia między parzystą i nieparzystą liczbą obrysów. " -"Kształt klina o kącie większym niż to ustawienie nie będzie miał przejść, a " -"w środku nie zostaną wydrukowane żadne obrysy, które wypełniłyby pozostałą " -"przestrzeń. Zmniejszenie tego ustawienia zmniejsza liczbę i długość obrysów " -"centralnych, ale może powodować powstawanie szczelin lub nadmierne " -"wytłaczanie." +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 "Kiedy tworzyć przejścia między parzystą i nieparzystą liczbą obrysów. Kształt klina o kącie większym niż to ustawienie nie będzie miał przejść, a w środku nie zostaną wydrukowane żadne obrysy, które wypełniłyby pozostałą przestrzeń. Zmniejszenie tego ustawienia zmniejsza liczbę i długość obrysów centralnych, ale może powodować powstawanie szczelin lub nadmierne wytłaczanie." msgid "Wall distribution count" msgstr "Liczba rozdzielanych ścian" -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 "" -"Ilość ścian, licząc od środka, na których należy rozłożyć zmienność. Niższe " -"wartości oznaczają, że zewnętrzne ściany nie zmieniają szerokości" +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 "Ilość ścian, licząc od środka, na których należy rozłożyć zmienność. Niższe wartości oznaczają, że zewnętrzne ściany nie zmieniają szerokości" msgid "Minimum feature size" msgstr "Minimalny rozmiar detalu" -msgid "" -"Minimum thickness of thin features. Model features that are thinner than " -"this value will not be printed, while features thicker than the Minimum " -"feature size will be widened to the Minimum wall width. It's expressed as a " -"percentage over nozzle diameter" -msgstr "" -"Minimalna grubość cienkich detali. Detale modelu, które są cieńsze niż ta " -"wartość, nie będą drukowane, natomiast detale grubsze niż minimalny rozmiar " -"detalu zostaną poszerzone do minimalnej szerokości ściany. Jest to wyrażone " -"jako procent średnicy dyszy" +msgid "Minimum thickness of thin features. Model features that are thinner than this value will not be printed, while features thicker than the Minimum feature size will be widened to the Minimum wall width. It's expressed as a percentage over nozzle diameter" +msgstr "Minimalna grubość cienkich detali. Detale modelu, które są cieńsze niż ta wartość, nie będą drukowane, natomiast detale grubsze niż minimalny rozmiar detalu zostaną poszerzone do minimalnej szerokości ściany. Jest to wyrażone jako procent średnicy dyszy" msgid "Minimum wall length" msgstr "Minimalna szerokość ściany" 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" +"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 ouside 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 visibile if this setting is set " -"above the default value of 0.5, or if single-wall top surfaces is enabled." +"NOTE: Bottom and top surfaces will not be affected by this value to prevent visual gaps on the ouside 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 visibile if this setting is set above the default value of 0.5, or if single-wall top surfaces is enabled." msgstr "" -"Zmodyfikuj tę wartość, aby uniknąć drukowania krótkich, otwartych ścianek, " -"co może prowadzić do wydłużenia czasu druku. Wyższe wartości spowodują " -"usunięcie większej ilości dłuższych ścianek.\n" +"Zmodyfikuj tę wartość, aby uniknąć drukowania krótkich, otwartych ścianek, co może prowadzić do wydłużenia czasu druku. Wyższe wartości spowodują usunięcie większej ilości dłuższych ścianek.\n" "\n" -"UWAGA: Ta wartość nie wpłynie na dolne i górne powierzchnie modelu i może " -"zapobiec widocznym przerwom na zewnątrz. Aby dostosować czułość określającą, " -"co jest uważane za górną powierzchnię, dostosuj 'Próg jednej ściany' w " -"zaawansowanych ustawieniach poniżej. 'Próg jednej ściany' jest widoczny " -"tylko wtedy, gdy to ustawienie jest ustawione na wartość wyższą niż domyślna " -"wartość 0,5 lub jeśli opcja pojedynczych ścianek na górze jest włączona." +"UWAGA: Ta wartość nie wpłynie na dolne i górne powierzchnie modelu i może zapobiec widocznym przerwom na zewnątrz. Aby dostosować czułość określającą, co jest uważane za górną powierzchnię, dostosuj 'Próg jednej ściany' w zaawansowanych ustawieniach poniżej. 'Próg jednej ściany' jest widoczny tylko wtedy, gdy to ustawienie jest ustawione na wartość wyższą niż domyślna wartość 0,5 lub jeśli opcja pojedynczych ścianek na górze jest włączona." msgid "First layer minimum wall width" msgstr "Minimalna szerokość ściany pierwszej warstwy" -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 "" -"Zaleca się, aby minimalna szerokość ściany, która powinna być używana dla " -"pierwszej warstwy, była ustawiona na tę samą wielkość co dysza. Oczekuje " -"się, że to dostosowanie zwiększy przyczepność." +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 "Zaleca się, aby minimalna szerokość ściany, która powinna być używana dla pierwszej warstwy, była ustawiona na tę samą wielkość co dysza. Oczekuje się, że to dostosowanie zwiększy przyczepność." msgid "Minimum wall width" msgstr "Minimalna szerokość ściany" -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 "" -"Szerokość obrysu, który zastąpi cienkie detale modelu (zgodnie z minimalnym " -"rozmiarem detalu). Jeśli minimalna szerokość obrysu jest mniejsza niż " -"grubość detalu, obrys będzie miał taką samą grubość jak sam element. Jeśli " -"jest wyrażona w procentach (na przykład 85%), zostanie obliczona na " -"podstawie średnicy dyszy." +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 "Szerokość obrysu, który zastąpi cienkie detale modelu (zgodnie z minimalnym rozmiarem detalu). Jeśli minimalna szerokość obrysu jest mniejsza niż grubość detalu, obrys będzie miał taką samą grubość jak sam element. Jest wyrażona w procentach i zostanie obliczona na podstawie średnicy dyszy." msgid "Detect narrow internal solid infill" msgstr "Wykryj wąskie wewnętrzne pełne wypełnienie" -msgid "" -"This option will auto detect narrow internal solid infill area. If enabled, " -"concentric pattern will be used for the area to speed printing up. " -"Otherwise, rectilinear pattern is used defaultly." -msgstr "" -"Ta opcja automatycznie wykryje wąski obszar wewnętrznego pełnego " -"wypełnienia. Jeśli włączone, zostanie użyty wzór koncentryczny dla tego " -"obszaru, aby przyspieszyć drukowanie. W przeciwnym razie domyślnie używany " -"jest wzór prostoliniowy." +msgid "This option will auto detect narrow internal solid infill area. If enabled, concentric pattern will be used for the area to speed printing up. Otherwise, rectilinear pattern is used defaultly." +msgstr "Ta opcja automatycznie wykryje wąski obszar wewnętrznego pełnego wypełnienia. Jeśli włączone, zostanie użyty wzór koncentryczny dla tego obszaru, aby przyspieszyć drukowanie. W przeciwnym razie domyślnie używany jest wzór prostoliniowy." msgid "invalid value " msgstr "nieprawidłowa wartość " @@ -13638,17 +11200,13 @@ msgid "No check" msgstr "Brak sprawdzania" msgid "Do not run any validity checks, such as gcode path conflicts check." -msgstr "" -"Nie przeprowadzaj żadnych kontroli ważności, takich jak sprawdzanie " -"konfliktów ścieżek gcode." +msgstr "Nie uruchamiaj żadnych testów poprawności, takich jak sprawdzanie konfliktów ścieżek gcode." msgid "Ensure on bed" msgstr "Zapewnij na łóżku" -msgid "" -"Lift the object above the bed when it is partially below. Disabled by default" -msgstr "" -"Podnieś obiekt ponad łóżko, gdy jest częściowo poniżej. Domyślnie wyłączone" +msgid "Lift the object above the bed when it is partially below. Disabled by default" +msgstr "Podnieś obiekt ponad łóżko, gdy jest częściowo poniżej. Domyślnie wyłączone" msgid "Orient Options" msgstr "Opcje orientacji" @@ -13668,13 +11226,8 @@ msgstr "Kąt obrotu wokół osi Y w stopniach." msgid "Data directory" msgstr "Katalog danych" -msgid "" -"Load and store settings at the given directory. This is useful for " -"maintaining different profiles or including configurations from a network " -"storage." -msgstr "" -"Załaduj i zapisz ustawienia w podanym katalogu. Jest to przydatne do " -"utrzymania różnych profili lub dołączania konfiguracji z pamięci sieciowej." +msgid "Load and store settings at the given directory. This is useful for maintaining different profiles or including configurations from a network storage." +msgstr "Załaduj i zapisz ustawienia w podanym katalogu. Jest to przydatne do utrzymania różnych profili lub dołączania konfiguracji z pamięci sieciowej." msgid "Load custom gcode" msgstr "Załaduj własny gcode" @@ -13688,32 +11241,17 @@ msgstr "Bieżący Z-hop" msgid "Contains z-hop present at the beginning of the custom G-code block." msgstr "Zawiera z-hop obecny na początku bloku niestandardowego 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 " -"PrusaSlicer knows where it travels from when it gets control back." -msgstr "" -"Pozycja ekstrudera na początku bloku niestandardowego G-kodu. Jeśli " -"niestandardowy G-code przemieszcza się gdzieś indziej, powinien zostać " -"zapisany do tej zmiennej, aby OrcaSlicer wiedział, skąd się przemieszcza, " -"gdy odzyska kontrolę." +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 PrusaSlicer knows where it travels from when it gets control back." +msgstr "Pozycja ekstrudera na początku bloku niestandardowego G-kodu. Jeśli niestandardowy G-code przemieszcza się gdzieś indziej, powinien zostać zapisany do tej zmiennej, aby OrcaSlicer wiedział, skąd się przemieszcza, gdy odzyska kontrolę." -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 " -"PrusaSlicer deretracts correctly when it gets control back." -msgstr "" -"Stan retrakcji na początku bloku niestandardowego G-code. Jeśli " -"niestandardowy G-code przesunie oś ekstrudera, powinien zostać zapisany do " -"tej zmiennej, aby OrcaSlicer prawidłowo wykonał retrakcję, gdy odzyska " -"kontrolę." +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 PrusaSlicer deretracts correctly when it gets control back." +msgstr "Stan retrakcji na początku bloku niestandardowego G-code. Jeśli niestandardowy G-code przesunie oś ekstrudera, powinien zostać zapisany do tej zmiennej, aby OrcaSlicer prawidłowo wykonał retrakcję, gdy odzyska kontrolę." msgid "Extra deretraction" msgstr "Dodatkowa deretrakcja" msgid "Currently planned extra extruder priming after deretraction." -msgstr "" -"Obecnie planowane dodatkowe czyszczenie ekstrudera po powrocie z retrakcji." +msgstr "Obecnie planowane dodatkowe czyszczenie ekstrudera po powrocie z retrakcji." msgid "Current extruder" msgstr "Aktualny extruder" @@ -13724,12 +11262,8 @@ msgstr "Indeks aktualnie używanego extrudera wynosi - zero" msgid "Current object index" msgstr "Zapisz bieżący projekt do pliku" -msgid "" -"Specific for sequential printing. Zero-based index of currently printed " -"object." -msgstr "" -"Specyficzne dla druku sekwencyjnego. Indeks obecnie drukowanego obiektu, " -"zaczynający się od zera." +msgid "Specific for sequential printing. Zero-based index of currently printed object." +msgstr "Specyficzne dla druku sekwencyjnego. Indeks obecnie drukowanego obiektu, zaczynający się od zera." msgid "Has wipe tower" msgstr "Ma wieżę czyszczącą" @@ -13740,37 +11274,26 @@ msgstr "Określa, czy dla tego wydruku generowana jest wieża czyszcząca." msgid "Initial extruder" msgstr "Początkowy ekstruder" -msgid "" -"Zero-based index of the first extruder used in the print. Same as " -"initial_tool." -msgstr "" -"Indeks pierwszego extrudera używanego w wydruku, uwzględniający zero. To " -"samo, co initial_tool." +msgid "Zero-based index of the first extruder used in the print. Same as initial_tool." +msgstr "Indeks pierwszego extrudera używanego w wydruku, uwzględniający zero. To samo, co initial_tool." msgid "Initial tool" msgstr "Początkowe narzędzie" -msgid "" -"Zero-based index of the first extruder used in the print. Same as " -"initial_extruder." -msgstr "" -"Index pierwszego ekstrudera używanego podczas drukowania, licząc od zera. To " -"samo, co initial_extruder" +msgid "Zero-based index of the first extruder used in the print. Same as initial_extruder." +msgstr "Index pierwszego ekstrudera używanego podczas drukowania, licząc od zera. To samo, co initial_extruder" msgid "Is extruder used?" msgstr "Czy ekstruder jest używany?" msgid "Vector of bools stating whether a given extruder is used in the print." -msgstr "" -"Wektory logiczne określające, czy dany ekstruder jest używany w wydruku" +msgstr "Wektory logiczne określające, czy dany ekstruder jest używany w wydruku" msgid "Volume per extruder" msgstr "Objętość na extruder" msgid "Total filament volume extruded per extruder during the entire print." -msgstr "" -"Całkowita objętość filamentu wytłoczona przez każdy extruder podczas całego " -"wydruku" +msgstr "Całkowita objętość filamentu wytłoczona przez każdy ekstruder podczas całego wydruku" msgid "Total toolchanges" msgstr "Całkowita zmiana narzędzia" @@ -13787,22 +11310,14 @@ msgstr "Całkowita objętość filamentu użytego podczas całego wydruku." msgid "Weight per extruder" msgstr "Waga na ekstruder" -msgid "" -"Weight per extruder extruded during the entire print. Calculated from " -"filament_density value in Filament Settings." -msgstr "" -"Waga wytłaczanego filamentu przypadająca na każdy extruder podczas całego " -"wydruku. Obliczana na podstawie gęstości w sekcji Ustawienia filamentu." +msgid "Weight per extruder extruded during the entire print. Calculated from filament_density value in Filament Settings." +msgstr "Waga wytłaczanego filamentu przypadająca na każdy extruder podczas całego wydruku. Obliczana na podstawie gęstości w sekcji Ustawienia filamentu." msgid "Total weight" -msgstr "Całkowita waga" +msgstr "Waga całkowita" -msgid "" -"Total weight of the print. Calculated from filament_density value in " -"Filament Settings." -msgstr "" -"Całkowita waga wydruku. Obliczana na podstawie wartości w sekcji Ustawienia " -"filamentu." +msgid "Total weight of the print. Calculated from filament_density value in Filament Settings." +msgstr "Całkowita waga wydruku. Obliczana na podstawie wartości w sekcji Ustawienia filamentu." msgid "Total layer count" msgstr "Całkowita liczba warstw" @@ -13820,22 +11335,16 @@ msgid "Number of instances" msgstr "Liczba instancji" msgid "Total number of object instances in the print, summed over all objects." -msgstr "" -"Całkowita liczba instancji obiektów w druku, zsumowana dla wszystkich " -"obiektów." +msgstr "Całkowita liczba instancji obiektów w druku, zsumowana dla wszystkich obiektów." msgid "Scale per object" msgstr "Skalowanie wg obiektu" 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" +"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 "" -"Zawiera ciąg znaków z informacją o zastosowanej skali dla poszczególnych " -"obiektów. Numeracja obiektów zaczyna się od zera (pierwszy obiekt ma indeks " -"0).\n" +"Zawiera ciąg znaków z informacją o zastosowanej skali dla poszczególnych obiektów. Numeracja obiektów zaczyna się od zera (pierwszy obiekt ma indeks 0).\n" "Przykład: 'x:100% y:50% z:100'." msgid "Input filename without extension" @@ -13844,26 +11353,17 @@ msgstr "Podaj nazwę pliku wejściowego bez rozszerzenia" msgid "Source filename of the first object, without extension." msgstr "Nazwa pliku źródłowego pierwszego obiektu, bez rozszerzenia." -msgid "" -"The vector has two elements: x and y coordinate of the point. Values in mm." -msgstr "" -"Wektor składa się z dwóch elementów: współrzędnych x i y punktu. Wartości w " -"mm." +msgid "The vector has two elements: x and y coordinate of the point. Values in mm." +msgstr "Wektor składa się z dwóch elementów: współrzędnych x i y punktu. Wartości w mm." -msgid "" -"The vector has two elements: x and y dimension of the bounding box. Values " -"in mm." +msgid "The vector has two elements: x and y dimension of the bounding box. Values in mm." msgstr "Wektor ma dwa elementy: wymiar x i y obwiedni. Wartości w mm." msgid "First layer convex hull" msgstr "Otoczka wypukła pierwszej warstwy" -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 "" -"Wektor punktów otoczki wypukłej pierwszej warstwy. Każdy element ma " -"następujący format: '[x, y]' (x i y są liczbami zmiennoprzecinkowymi w mm)." +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 "Wektor punktów otoczki wypukłej pierwszej warstwy. Każdy element ma następujący format: '[x, y]' (x i y są liczbami zmiennoprzecinkowymi w mm)." msgid "Bottom-left corner of first layer bounding box" msgstr "Ogranicznik lewego dolnego narożnika obszaru pierwszej warstwy" @@ -13907,12 +11407,8 @@ msgstr "Nazwa profilu druku używanego do cięcia." msgid "Filament preset name" msgstr "Nazwa profilu filamentu" -msgid "" -"Names of the filament presets used for slicing. The variable is a vector " -"containing one name for each extruder." -msgstr "" -"Nazwy profili filamentu używane do cięcia.\" Zmienna jest wektorem " -"zawierającym jedną nazwę dla każdego extrudera" +msgid "Names of the filament presets used for slicing. The variable is a vector containing one name for each extruder." +msgstr "Nazwy profili filamentu używane do cięcia.\" Zmienna jest wektorem zawierającym jedną nazwę dla każdego extrudera" msgid "Printer preset name" msgstr "Nazwa profilu drukarki" @@ -13930,18 +11426,13 @@ msgid "Layer number" msgstr "Numer warstwy" msgid "Index of the current layer. One-based (i.e. first layer is number 1)." -msgstr "" -"Indeks aktualnej warstwy uwzględniający zero (pierwsza warstwa ma wartość 1)." +msgstr "Indeks aktualnej warstwy uwzględniający zero (pierwsza warstwa ma wartość 1)." msgid "Layer z" msgstr "Warstwa Z" -msgid "" -"Height of the current layer above the print bed, measured to the top of the " -"layer." -msgstr "" -"Wysokość bieżącej warstwy nad stołem roboczym, mierzona do górnej krawędzi " -"warstwy" +msgid "Height of the current layer above the print bed, measured to the top of the layer." +msgstr "Wysokość bieżącej warstwy nad stołem roboczym, mierzona do górnej krawędzi warstwy" msgid "Maximal layer z" msgstr "Maksymalna warstwa Z" @@ -13968,7 +11459,7 @@ msgid "Generating infill toolpath" msgstr "Generowanie ścieżki narzędzia wypełnienia" msgid "Detect overhangs for auto-lift" -msgstr "Wykryj wystające części do automatycznego podnoszenia" +msgstr "Wykrywanie nawisów do automatycznego podnoszenia" msgid "Generating support" msgstr "Generowanie podpór" @@ -13980,18 +11471,14 @@ msgid "floating regions" msgstr "unoszące się obszary" msgid "floating cantilever" -msgstr "nawisająca pozioma konstrukcja (cantilever)" +msgstr "nawisająca konstrukcja (cantilever)" msgid "large overhangs" msgstr "duże nawisy" #, c-format, boost-format -msgid "" -"It seems object %s has %s. Please re-orient the object or enable support " -"generation." -msgstr "" -"Wydaje się, że obiekt %s ma %s. Proszę ponownie ustawić obiekt lub włączyć " -"generowanie podpór." +msgid "It seems object %s has %s. Please re-orient the object or enable support generation." +msgstr "Wydaje się, że obiekt %s ma %s. Proszę ponownie ustawić obiekt lub włączyć generowanie podpór." msgid "Optimizing toolpath" msgstr "Optymalizowanie ścieżki narzędzia" @@ -13999,58 +11486,49 @@ msgstr "Optymalizowanie ścieżki narzędzia" msgid "Slicing mesh" msgstr "Krojenie siatki" -msgid "" -"No layers were detected. You might want to repair your STL file(s) or check " -"their size or thickness and retry.\n" -msgstr "" -"Nie wykryto żadnych warstw. Możesz chcieć naprawić swoje pliki STL lub " -"sprawdzić ich rozmiar lub grubość i spróbować ponownie.\n" +msgid "No layers were detected. You might want to repair your STL file(s) or check their size or thickness and retry.\n" +msgstr "Nie wykryto żadnych warstw. Możesz chcieć naprawić swoje pliki STL lub sprawdzić ich rozmiar lub grubość i spróbować ponownie.\n" msgid "" -"An object's XY size compensation will not be used because it is also color-" -"painted.\n" +"An object's XY size compensation will not be used because it is also color-painted.\n" "XY Size compensation can not be combined with color-painting." msgstr "" -"Kompensacja rozmiaru XY obiektu nie będzie używana, ponieważ jest także " -"malowany na kolor.\n" +"Kompensacja rozmiaru XY obiektu nie będzie używana, ponieważ jest także malowany na kolor.\n" "Kompensacja rozmiaru XY nie może być połączona z malowaniem kolorów." #, c-format, boost-format msgid "Support: generate toolpath at layer %d" -msgstr "Wsparcie: generuj ścieżkę narzędzia na warstwie %d" +msgstr "Podpory: generuj ścieżkę narzędzia na warstwie %d" msgid "Support: detect overhangs" -msgstr "Wsparcie: wykryj wysięgnięcia" +msgstr "Podpory: wykryj nawisy" msgid "Support: generate contact points" -msgstr "Wsparcie: generuj punkty kontaktowe" +msgstr "Podpory: Tworzenie miejsc kontaktowych" msgid "Support: propagate branches" -msgstr "Wsparcie: rozprzestrzeniaj gałęzie" +msgstr "Podpory: rozprzestrzeniaj gałęzie" msgid "Support: draw polygons" -msgstr "Wsparcie: rysuj poligony" +msgstr "Podpory: rysuj poligony" msgid "Support: generate toolpath" -msgstr "Wsparcie: generuj ścieżkę narzędzia" +msgstr "Podpory: generuj ścieżkę narzędzia" #, c-format, boost-format msgid "Support: generate polygons at layer %d" -msgstr "Wsparcie: generuj poligony na warstwie %d" +msgstr "Podpory: generuj poligony na warstwie %d" #, c-format, boost-format msgid "Support: fix holes at layer %d" -msgstr "Wsparcie: napraw dziury na warstwie %d" +msgstr "Podpory: napraw dziury na warstwie %d" #, c-format, boost-format msgid "Support: propagate branches at layer %d" -msgstr "Wsparcie: rozprzestrzeniaj gałęzie na warstwie %d" +msgstr "Podpory: rozprzestrzeniaj gałęzie na warstwie %d" -msgid "" -"Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension." -msgstr "" -"Nieznany format pliku. Plik wejściowy musi mieć rozszerzenie .stl, .obj, ." -"amf(.xml)." +msgid "Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension." +msgstr "Nieznany format pliku. Plik wejściowy musi mieć rozszerzenie .stl, .obj, .amf(.xml)." msgid "Loading of a model file failed." msgstr "Ładowanie pliku modelu nie powiodło się." @@ -14059,9 +11537,7 @@ msgid "The supplied file couldn't be read because it's empty" msgstr "Dostarczony plik nie mógł być odczytany, ponieważ jest pusty" msgid "Unknown file format. Input file must have .3mf or .zip.amf extension." -msgstr "" -"Nieznany format pliku. Plik wejściowy musi mieć rozszerzenie .3mf lub .zip." -"amf." +msgstr "Nieznany format pliku. Plik wejściowy musi mieć rozszerzenie .3mf lub .zip.amf." msgid "Canceled" msgstr "Anulowano" @@ -14085,7 +11561,7 @@ msgid "This OBJ file couldn't be read because it's empty." msgstr "Ten plik OBJ nie mógł zostać odczytany, ponieważ jest pusty." msgid "Flow Rate Calibration" -msgstr "Kalibracja Flow Rate" +msgstr "Kalibracja Natężenie Przepływu" msgid "Max Volumetric Speed Calibration" msgstr "Kalibracja Maks. Prędkości Przepływu" @@ -14120,11 +11596,8 @@ msgstr "Zakończ" msgid "How to use calibration result?" msgstr "Jak używać wyniku kalibracji?" -msgid "" -"You could change the Flow Dynamics Calibration Factor in material editing" -msgstr "" -"Możesz zmienić współczynnik Kalibracji Dynamiki Przepływu podczas edycji " -"profilu filamentu" +msgid "You could change the Flow Dynamics Calibration Factor in material editing" +msgstr "Możesz zmienić współczynnik Kalibracji Dynamiki Przepływu podczas edycji profilu filamentu" msgid "" "The current firmware version of the printer does not support calibration.\n" @@ -14143,10 +11616,10 @@ msgid "Extra info" msgstr "Dodatkowe informacje" msgid "Flow Dynamics" -msgstr "Flow Dynamics" +msgstr "Dynamika Przepływu" msgid "Flow Rate" -msgstr "Flow Rate" +msgstr "Natężenie Przepływu" msgid "Max Volumetric Speed" msgstr "Maksymalny przepływ" @@ -14181,10 +11654,8 @@ msgstr "Nazwa jest taka sama jak nazwa innego istniejącego ustwienia" msgid "create new preset failed." msgstr "utworzenie nowego profilu nie powiodło się." -msgid "" -"Are you sure to cancel the current calibration and return to the home page?" -msgstr "" -"Czy na pewno chcesz anulować bieżącą kalibrację i powrócić do strony głównej?" +msgid "Are you sure to cancel the current calibration and return to the home page?" +msgstr "Czy na pewno chcesz anulować bieżącą kalibrację i powrócić do strony głównej?" msgid "No Printer Connected!" msgstr "Żadna drukarka nie jest podłączona!" @@ -14199,16 +11670,9 @@ msgid "The input value size must be 3." msgstr "Rozmiar wartości wejściowej musi wynosić 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" +"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 "" -"To urządzenie może przechowywać tylko 16 wyników w historii dla jednej " -"dyszy. Możesz usunąć istniejące wyniki w historii, a następnie rozpocząć " -"kalibrację lub kontynuować, ale nie będzie można tworzyć nowych wyników " -"kalibracji. Czy nadal chcesz kontynuować kalibrację?" +msgstr "To urządzenie może przechowywać tylko 16 wyników w historii dla jednej dyszy. Możesz usunąć istniejące wyniki w historii, a następnie rozpocząć kalibrację lub kontynuować, ale nie będzie można tworzyć nowych wyników kalibracji. Czy nadal chcesz kontynuować kalibrację?" msgid "Connecting to printer..." msgstr "Łączenie z drukarką..." @@ -14220,21 +11684,12 @@ msgid "Flow Dynamics Calibration result has been saved to the printer" msgstr "Wynik Kalibracji Dynamiki Przepływu został zapisany w drukarce" #, c-format, 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 "" -"W historii kalibracji istnieje już wynik o nazwie: %s. Czy na pewno chcesz " -"zastąpić poprzedni wynik?" +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 "W historii kalibracji istnieje już wynik o nazwie: %s. Czy na pewno chcesz zastąpić poprzedni wynik?" #, c-format, boost-format -msgid "" -"This machine type can only hold %d history results per nozzle. This result " -"will not be saved." -msgstr "" -"To urządzenie może przechowywać tylko %d wyników w historii dla jednej " -"dyszy. Ten wynik nie zostanie zapisany." +msgid "This machine type can only hold %d history results per nozzle. This result will not be saved." +msgstr "To urządzenie może przechowywać tylko %d wyników w historii dla jednej dyszy. Ten wynik nie zostanie zapisany." msgid "Internal Error" msgstr "Błąd wewnętrzny" @@ -14243,7 +11698,7 @@ msgid "Please select at least one filament for calibration" msgstr "Proszę wybrać co najmniej jeden filament do kalibracji" msgid "Flow rate calibration result has been saved to preset" -msgstr "Wynik kalibracji przepływu został zapisany w profilu" +msgstr "Wynik kalibracji natężenia przepływu został zapisany w profilu" msgid "Max volumetric speed calibration result has been saved to preset" msgstr "Wynik kalibracji maksymalnego przepływu został zapisany do profilu" @@ -14252,24 +11707,15 @@ msgid "When do you need Flow Dynamics Calibration" msgstr "Kiedy potrzebujesz Kalibracji Dynamiki Przepływu" 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" +"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." +"3. If the max volumetric speed or print temperature is changed in the filament setting." msgstr "" -"Teraz dodaliśmy automatyczną kalibrację dla różnych filamentów, która jest w " -"pełni zautomatyzowana, a wynik zostanie zapisany w drukarce do przyszłego " -"użycia. Musisz przeprowadzić kalibrację tylko w następujących ograniczonych " -"przypadkach:\n" -"1. Jeśli wprowadzasz nowy filament innej marki/modelu lub filament jest " -"wilgotny;\n" +"Teraz dodaliśmy automatyczną kalibrację dla różnych filamentów, która jest w pełni zautomatyzowana, a wynik zostanie zapisany w drukarce do przyszłego użycia. Musisz przeprowadzić kalibrację tylko w następujących ograniczonych przypadkach:\n" +"1. Jeśli wprowadzasz nowy filament innej marki/modelu lub filament jest wilgotny;\n" "2. Jeśli dysza jest zużyta lub została wymieniona na nową;\n" -"3. Jeśli maksymalna prędkość przepływu lub temperatura druku zostaną " -"zmienione w ustawieniach filamentu." +"3. Jeśli maksymalna prędkość przepływu lub temperatura druku zostaną zmienione w ustawieniach filamentu." msgid "About this calibration" msgstr "O tej kalibracji" @@ -14277,131 +11723,54 @@ msgstr "O tej kalibracji" 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" +"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 there are a few cases that will make the calibration result not " -"reliable: using a texture plate to do the calibration; the build plate does " -"not have good adhesion (please wash the build plate or apply gluestick!) ..." -"You can find more from our wiki.\n" +"Please note there are a few cases that will make the calibration result not reliable: using a texture plate to do the calibration; the build plate does not have good adhesion (please wash the build plate or apply gluestick!) ...You can find more from 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." +"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 "" -"Proszę znaleźć szczegóły dotyczące kalibracji dynamiki przepływu w naszej " -"wiki.\n" +"Proszę znaleźć szczegóły dotyczące kalibracji dynamiki przepływu w naszej wiki.\n" "\n" -"Zazwyczaj kalibracja nie jest konieczna. Gdy rozpoczynasz druk w jednym " -"kolorze/materiale i zaznaczasz opcję \"kalibracja dynamiki przepływu\" w " -"menu rozpoczęcia druku. Drukarka będzie postępować w tradycyjny sposób, " -"kalibrując filament przed rozpoczęciem druku. W przypadku druku w wielu " -"kolorach/materiałach drukarka będzie używać domyślnego parametru kompensacji " -"dla filamentu podczas każdej jego zmiany, co w większości przypadków daje " -"dobre rezultaty.\n" +"Zazwyczaj kalibracja nie jest konieczna. Gdy rozpoczynasz druk w jednym kolorze/materiale i zaznaczasz opcję \"kalibracja dynamiki przepływu\" w menu rozpoczęcia druku. Drukarka będzie postępować w tradycyjny sposób, kalibrując filament przed rozpoczęciem druku. W przypadku druku w wielu kolorach/materiałach drukarka będzie używać domyślnego parametru kompensacji dla filamentu podczas każdej jego zmiany, co w większości przypadków daje dobre rezultaty.\n" "\n" -"Proszę jednak zauważyć, że istnieją pewne przypadki, w których wynik " -"kalibracji może być niesolidny: korzystanie z Texture PEI do kalibracji; " -"brak dobrej przyczepności podłoża (proszę umyć płytę lub nałożyć klej!)... " -"Więcej informacji można znaleźć w naszej wiki.\n" +"Proszę jednak zauważyć, że istnieją pewne przypadki, w których wynik kalibracji może być niesolidny: korzystanie z Texture PEI do kalibracji; brak dobrej przyczepności podłoża (proszę umyć płytę lub nałożyć klej!)... Więcej informacji można znaleźć w naszej wiki.\n" "\n" -"Wyniki kalibracji mają około 10 procent fluktuacji w naszych testach, co " -"może powodować, że wynik nie będzie dokładnie taki sam w każdej kalibracji. " -"Wciąż badamy źródło tych fluktuacji i pracujemy nad wprowadzeniem ulepszeń w " -"nowych aktualizacjach." +"Wyniki kalibracji mają około 10 procent fluktuacji w naszych testach, co może powodować, że wynik nie będzie dokładnie taki sam w każdej kalibracji. Wciąż badamy źródło tych fluktuacji i pracujemy nad wprowadzeniem ulepszeń w nowych aktualizacjach." msgid "When to use Flow Rate Calibration" -msgstr "Kiedy użyć Kalibracji Przepływu" +msgstr "Kiedy użyć Kalibracji Natężenia Przepływu" 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" +"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." +"4. Weak Structural Integrity: Prints break easily or don't seem as sturdy as they should be." msgstr "" -"Po użyciu kalibracji dynamiki przepływu mogą nadal występować pewne problemy " -"z ekstruzją, takie jak:\n" -"1. Nadmierna ekstruzja: Nadmiar filamentu na twoim wydrukowanym obiekcie, " -"tworzenie grudek i wybrzuszeń, lub warstwy wydają się być grubsze i nierówne " -"niż oczekiwano.\n" -"2. Niedostateczna ekstruzja: Bardzo cienkie warstwy, słaba wytrzymałość " -"wypełnienia, lub przerwy w górnej warstwie modelu, nawet przy wolnym " -"drukowaniu.\n" -"3. Słaba jakość powierzchni: Powierzchnia twoich wydruków wydaje się być " -"szorstka lub nierówna.\n" -"4. Słaba wytrzymałość strukturalna: Wydruki łatwo się łamią lub nie wydają " -"się być tak wytrzymałe, jak powinny." +"Po użyciu kalibracji dynamiki przepływu mogą nadal występować pewne problemy z ekstruzją, takie jak:\n" +"1. Nadmierna ekstruzja: Nadmiar filamentu na twoim wydrukowanym obiekcie, tworzenie grudek i wybrzuszeń, lub warstwy wydają się być grubsze i nierówne niż oczekiwano.\n" +"2. Niedostateczna ekstruzja: Bardzo cienkie warstwy, słaba wytrzymałość wypełnienia, lub przerwy w górnej warstwie modelu, nawet przy wolnym drukowaniu.\n" +"3. Słaba jakość powierzchni: Powierzchnia twoich wydruków wydaje się być szorstka lub nierówna.\n" +"4. Słaba wytrzymałość strukturalna: Wydruki łatwo się łamią lub nie wydają się być tak wytrzymałe, jak powinny." + +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 "Dodatkowo, kalibracja natężenia przepływu jest kluczowa dla materiałów piankowych, takich jak LW-PLA używane w samolotach RC. Te filamenty znacząco się rozprężają pod wpływem temperatury, a kalibracja zapewnia przydatną referencyjną prędkość przepływu." + +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 "Kalibracja Natężenie Przepływu mierzy stosunek oczekiwanej do rzeczywistej objętości ekstruzji. Domyślne ustawienie dobrze funkcjonuje w drukarkach Bambu Lab i oficjalnych filamentach, ponieważ były one wcześniej skalibrowane i dokładnie dostrojone. Dla zwykłego filamentu zazwyczaj nie będziesz musiał przeprowadzać kalibracji natężenia przepływu, chyba że nadzieja widoczne wymienione wady po wykonaniu innych kalibracji. Po więcej szczegółów proszę sprawdzić artykuł w naszej stronie Wiki." 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." +"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 "" -"Dodatkowo, kalibracja prędkości przepływu jest kluczowa dla materiałów " -"piankowych, takich jak LW-PLA używane w samolotach RC. Te filamenty znacząco " -"się rozprężają pod wpływem temperatury, a kalibracja zapewnia przydatną " -"referencyjną prędkość przepływu." - -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 "" -"Kalibracja przepływu mierzy stosunek oczekiwanego do rzeczywistego objętości " -"ekstruzji. Domyślne ustawienie dobrze funkcjonuje w drukarkach Bambu Lab i " -"oficjalnych filamentach, ponieważ były one wcześniej skalibrowane i " -"dokładnie dostrojone. Dla zwykłego filamentu zazwyczaj nie będziesz musiał " -"przeprowadzać kalibracji przepływu, chyba że nadzieja widoczne wymienione " -"wady po wykonaniu innych kalibracji. Po więcej szczegółów proszę sprawdzić " -"artykuł w naszej wiki." - -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" +"Automatyczna kalibracja natężenia przepływu wykorzystuje technologię Micro-Lidar firmy Bambu Lab, bezpośrednio mierząc wzorce kalibracyjne. Jednak należy pamiętać, że skuteczność i dokładność tej metody mogą być ograniczone w przypadku konkretnych rodzajów filamentów. Szczególnie filamenty, które są przezroczyste lub półprzezroczyste, z iskrzącymi cząstkami lub o wysokim połysku mogą być nieodpowiednie do tej kalibracji i mogą dawać mniej niż pożądane wyniki.\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" +"Wyniki kalibracji mogą się różnić między poszczególnymi kalibracjami lub filamentami. Nadal pracujemy nad poprawą dokładności i kompatybilności tej kalibracji za pomocą aktualizacji oprogramowania.\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 "" -"Automatyczna kalibracja przepływu wykorzystuje technologię Micro-Lidar firmy " -"Bambu Lab, bezpośrednio mierząc wzorce kalibracyjne. Jednak należy pamiętać, " -"że skuteczność i dokładność tej metody mogą być ograniczone w przypadku " -"konkretnych rodzajów filamentów. Szczególnie filamenty, które są " -"przezroczyste lub półprzezroczyste, z iskrzącymi cząstkami lub o wysokim " -"połysku mogą być nieodpowiednie do tej kalibracji i mogą dawać mniej niż " -"pożądane wyniki.\n" -"\n" -"Wyniki kalibracji mogą się różnić między poszczególnymi kalibracjami lub " -"filamentami. Nadal pracujemy nad poprawą dokładności i kompatybilności tej " -"kalibracji za pomocą aktualizacji oprogramowania.\n" -"\n" -"Ostrzeżenie: Kalibracja przepływu jest zaawansowanym procesem, który " -"powinien być przeprowadzany tylko przez osoby, które w pełni rozumieją jego " -"cel i implikacje. Niewłaściwe użycie może prowadzić do niskiej jakości " -"wydruków lub uszkodzenia drukarki. Przed przystąpieniem do kalibracji " -"upewnij się, że dokładnie przeczytałeś i zrozumiałeś proces." +"Ostrzeżenie: Kalibracja przepływu jest zaawansowanym procesem, który powinien być przeprowadzany tylko przez osoby, które w pełni rozumieją jego cel i implikacje. Niewłaściwe użycie może prowadzić do niskiej jakości wydruków lub uszkodzenia drukarki. Przed przystąpieniem do kalibracji upewnij się, że dokładnie przeczytałeś i zrozumiałeś proces." msgid "When you need Max Volumetric Speed Calibration" msgstr "Kiedy potrzebujesz kalibracji Maksymalnej Prędkości Przepływu" @@ -14421,19 +11790,11 @@ msgstr "filamentami z niedokładną średnicą" msgid "We found the best Flow Dynamics Calibration Factor" msgstr "Znaleźliśmy najlepszy współczynnik Kalibracji Dynamiki Przepływu" -msgid "" -"Part of the calibration failed! You may clean the plate and retry. The " -"failed test result would be dropped." -msgstr "" -"Część kalibracji nie powiodła się! Możesz oczyścić płytę i spróbować " -"ponownie. Niewłaściwy wynik testu zostanie odrzucony." +msgid "Part of the calibration failed! You may clean the plate and retry. The failed test result would be dropped." +msgstr "Część kalibracji nie powiodła się! Możesz oczyścić płytę i spróbować ponownie. Niewłaściwy wynik testu zostanie odrzucony." -msgid "" -"*We recommend you to add brand, materia, type, and even humidity level in " -"the Name" -msgstr "" -"*Zalecamy dodanie do nazwy marki i typu filamentu, a nawet poziomu " -"wilgotności" +msgid "*We recommend you to add brand, materia, type, and even humidity level in the Name" +msgstr "*Zalecamy dodanie do nazwy marki i typu filamentu, a nawet poziomu wilgotności" msgid "Failed" msgstr "Nieudane" @@ -14444,22 +11805,12 @@ msgstr "Proszę wprowadzić nazwę, którą chcesz zapisać w drukarce." msgid "The name cannot exceed 40 characters." msgstr "Nazwa nie może przekraczać 40 znaków." -msgid "" -"Only one of the results with the same name will be saved. Are you sure you " -"want to overrides the other results?" -msgstr "" -"Tylko jeden z wyników o tej samej nazwie zostanie zapisany. Czy na pewno " -"chcesz zastąpić inne wyniki?" +msgid "Only one of the results with the same name will be saved. Are you sure you want to overrides the other results?" +msgstr "Tylko jeden z wyników o tej samej nazwie zostanie zapisany. Czy na pewno chcesz zastąpić inne wyniki?" #, c-format, 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 overrides the historical result?" -msgstr "" -"Istnieje już historia wyników kalibracji o tej samej nazwie: %s. Tylko jeden " -"z wyników o tej samej nazwie zostanie zapisany. Czy na pewno chcesz zastąpić " -"ten wynik?" +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 overrides the historical result?" +msgstr "Istnieje już historia wyników kalibracji o tej samej nazwie: %s. Tylko jeden z wyników o tej samej nazwie zostanie zapisany. Czy na pewno chcesz zastąpić ten wynik?" msgid "Please find the best line on your plate" msgstr "Znajdź najlepszą linię na swojej płycie" @@ -14517,8 +11868,7 @@ msgid "Please choose a block with smoothest top surface." msgstr "Wybierz blok z najgładszą górną powierzchnią." msgid "Please input a valid value (0 <= Max Volumetric Speed <= 60)" -msgstr "" -"Proszę wprowadzić prawidłową wartość (0 <= Max Prędkość Przepływu <= 60)" +msgstr "Proszę wprowadzić prawidłową wartość (0 <= Max Prędkość Przepływu <= 60)" msgid "Calibration Type" msgstr "Typ kalibracji" @@ -14532,12 +11882,8 @@ msgstr "Dokładna kalibracja na podstawie współczynnika przepływu" msgid "Title" msgstr "Tytuł" -msgid "" -"A test model will be printed. Please clear the build plate and place it back " -"to the hot bed before calibration." -msgstr "" -"Będzie wydrukowany model testowy. Przed kalibracją oczyść płytę roboczą i " -"umieść ją z powrotem na stole grzewczym." +msgid "A test model will be printed. Please clear the build plate and place it back to the hot bed before calibration." +msgstr "Będzie wydrukowany model testowy. Przed kalibracją oczyść płytę roboczą i umieść ją z powrotem na stole grzewczym." msgid "Printing Parameters" msgstr "Parametry drukowania" @@ -14574,8 +11920,7 @@ msgid "%s is not compatible with %s" msgstr "%s nie jest kompatybilne z %s" msgid "TPU is not supported for Flow Dynamics Auto-Calibration." -msgstr "" -"TPU nie jest obsługiwane dla automatycznej kalibracji dynamiki przepływu." +msgstr "TPU nie jest obsługiwane dla automatycznej kalibracji dynamiki przepływu." msgid "Connecting to printer" msgstr "Łączenie z drukarką" @@ -14611,15 +11956,14 @@ msgid "Success to get history result" msgstr "Pomyślnie załadowano historie wyników" msgid "Refreshing the historical Flow Dynamics Calibration records" -msgstr "Odświeżanie historii zapisów kalibracji Flow Dynamics" +msgstr "Odświeżanie zapisanej historii kalibracji dynamika przepływu" msgid "Action" msgstr "Akcja" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "" -"To urządzenie może przechowywać tylko %d wyników w historii dla jednej dyszy." +msgstr "To urządzenie może przechowywać tylko %d wyników w historii dla jednej dyszy." msgid "Edit Flow Dynamics Calibration" msgstr "Edytuj Kalibrację Dynamiki Przepływu" @@ -14812,17 +12156,14 @@ msgid "Upload to Printer Host with the following filename:" msgstr "Prześlij do serwera druku z następującą nazwą pliku:" msgid "Use forward slashes ( / ) as a directory separator if needed." -msgstr "" -"Użyj prawego ukośnika ( / ) jako separatora katalogów, jeśli jest to " -"potrzebne." +msgstr "Użyj prawego ukośnika ( / ) jako separatora katalogów, jeśli jest to potrzebne." msgid "Upload to storage" msgstr "Prześlij do pamięci" #, c-format, boost-format msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?" -msgstr "" -"Przesyłana nazwa pliku nie kończy się z \\\"‪%s‬\\\". Czy chcesz kontynuować?" +msgstr "Przesyłana nazwa pliku nie kończy się z \\\"‪%s‬\\\". Czy chcesz kontynuować?" msgid "Upload" msgstr "Załaduj" @@ -14967,7 +12308,7 @@ msgid "Input Custom Vendor" msgstr "Wprowadź niestandardowego dostawcę" msgid "Can't find vendor I want" -msgstr "Nie mogę znaleźć potrzebnego producenta" +msgstr "Nie mogę znaleźć potrzebnego dostawcy" msgid "Select Type" msgstr "Wybierz typ" @@ -14976,7 +12317,7 @@ msgid "Select Filament Preset" msgstr "Wybierz profil filamentu" msgid "Serial" -msgstr "Rodzaj" +msgstr "Seria" msgid "e.g. Basic, Matte, Silk, Marble" msgstr "np. Basic, Matte, Silk, Marble" @@ -14988,56 +12329,39 @@ msgid "Create" msgstr "Utwórz" msgid "Vendor is not selected, please reselect vendor." -msgstr "Producent nie jest wybrany, proszę ponownie wybrać producenta." +msgstr "Dostawca nie jest wybrany, proszę ponownie wybrać producenta." msgid "Custom vendor is not input, please input custom vendor." -msgstr "" -"Nie wprowadzono producenta, proszę wprowadzić niestandardowego producenta." +msgstr "Nie wprowadzono dostawcy, proszę wprowadzić niestandardowego producenta." -msgid "" -"\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." -msgstr "" -"\"Bambu\" lub \"Generic\" nie mogą być używane jako Producent dla " -"niestandardowych filamentów." +msgid "\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." +msgstr "\"Bambu\" lub \"Generic\" nie mogą być używane jako Dostawca dla niestandardowych filamentów." msgid "Filament type is not selected, please reselect type." msgstr "Typ filamentu nie jest wybrany, proszę ponownie wybrać typ." msgid "Filament serial is not inputed, please input serial." -msgstr "" -"Numer seryjny filamentu nie jest wprowadzony, proszę wprowadzić numer " -"seryjny." +msgstr "Seria filamentu nie jest wprowadzona, proszę wprowadzić serie." -msgid "" -"There may be escape characters in the vendor or serial input of filament. " -"Please delete and re-enter." -msgstr "" -"W polu Producenta lub Numeru seryjnego filamentu mogą występować znaki " -"specjalne. Proszę usunąć i ponownie wprowadzić." +msgid "There may be escape characters in the vendor or serial input of filament. Please delete and re-enter." +msgstr "W polu Dostawcy lub Serii filamentu nie mogą występować znaki specjalne. Proszę usunąć i ponownie wprowadzić." msgid "All inputs in the custom vendor or serial are spaces. Please re-enter." -msgstr "" -"Wszystkie wprowadzone dane w niestandardowym producencie lub numerze " -"seryjnym to spacje. Proszę wprowadzić ponownie." +msgstr "Wszystkie wprowadzone dane w niestandardowym dostawcy lub serii to spacje. Proszę wprowadzić ponownie." msgid "The vendor can not be a number. Please re-enter." -msgstr "Producent nie może być liczbą. Proszę wprowadzić ponownie." +msgstr "Dostawca nie może być liczbą. Proszę wprowadzić ponownie." -msgid "" -"You have not selected a printer or preset yet. Please select at least one." -msgstr "" -"Nie wybrałeś jeszcze żadnej drukarki ani ustawień wstępnych. Proszę wybierz " -"przynajmniej jedno." +msgid "You have not selected a printer or preset yet. Please select at least one." +msgstr "Nie wybrałeś jeszcze żadnej drukarki ani ustawień wstępnych. Proszę wybierz przynajmniej jedno." #, c-format, boost-format msgid "" "The Filament name %s you created already exists. \n" -"If you continue creating, the preset created will be displayed with its full " -"name. Do you want to continue?" +"If you continue creating, the preset created will be displayed with its full name. Do you want to continue?" msgstr "" "Nazwa filamentu %s, którą utworzyłeś, już istnieje. \n" -"Jeśli będziesz kontynuować, utworzony preset będzie wyświetlany pod swoją " -"pełną nazwą. Czy chcesz kontynuować?" +"Jeśli będziesz kontynuować, utworzony preset będzie wyświetlany pod swoją pełną nazwą. Czy chcesz kontynuować?" msgid "Some existing presets have failed to be created, as follows:\n" msgstr "Niektóre istniejące profile nie zostały utworzone:\n" @@ -15050,12 +12374,10 @@ msgstr "" "Czy chcesz go zastąpić?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you " -"selected\". \n" +"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 "" -"Nazwa profilu zostanie zmieniona na \"Producent Typ Rodzaj @nazwa drukarki, " -"którą wybrałeś\".\n" +"Nazwa profilu zostanie zmieniona na \"Dostawca Typ Seria @nazwa drukarki, którą wybrałeś\".\n" "Aby dodać profil dla innych drukarek, przejdź do wyboru drukarki." msgid "Create Printer/Nozzle" @@ -15126,13 +12448,10 @@ msgid "The file exceeds %d MB, please import again." msgstr "Plik przekracza %d MB, proszę zaimportuj ponownie." msgid "Exception in obtaining file size, please import again." -msgstr "" -"Wyjątek podczas uzyskiwania rozmiaru pliku, proszę zaimportuj ponownie." +msgstr "Wyjątek podczas uzyskiwania rozmiaru pliku, proszę zaimportuj ponownie." msgid "Preset path is not find, please reselect vendor." -msgstr "" -"Ścieżka ustawień wstępnych nie została znaleziona, proszę wybrać dostawcę " -"ponownie." +msgstr "Ścieżka ustawień wstępnych nie została znaleziona, proszę wybrać dostawcę ponownie." msgid "The printer model was not found, please reselect." msgstr "Model drukarki nie został znaleziony, proszę wybrać ponownie" @@ -15158,30 +12477,19 @@ msgstr "Opracuj Profil Procesu" msgid "Back Page 1" msgstr "Poprzednia Strona 1" -msgid "" -"You have not yet chosen which printer preset to create based on. Please " -"choose the vendor and model of the printer" -msgstr "" -"Jeszcze nie dokonano wyboru, na podstawie którego profilu drukarki ma być " -"utworzony nowy profil. Proszę wybrać producenta i model drukarki." +msgid "You have not yet chosen which printer preset to create based on. Please choose the vendor and model of the printer" +msgstr "Jeszcze nie dokonano wyboru, na podstawie którego profilu drukarki ma być utworzony nowy profil. Proszę wybrać dostawce i model drukarki." -msgid "" -"You have entered an illegal input in the printable area section on the first " -"page. Please check before creating it." -msgstr "" -"W sekcji \"Obszar drukowania\" na pierwszej stronie wprowadzono " -"nieprawidłową wartość. Sprawdź wprowadzone dane przed utworzeniem." +msgid "You have entered an illegal input in the printable area section on the first page. Please check before creating it." +msgstr "W sekcji \"Obszar drukowania\" na pierwszej stronie wprowadzono nieprawidłową wartość. Sprawdź wprowadzone dane przed utworzeniem." msgid "The custom printer or model is not inputed, place input." msgstr "Brakuje niestandardowej drukarki lub modelu, proszę wprowadzić dane." 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" +"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 "" "Profil drukarki o tej nazwie już istnieje. Czy chcesz go zastąpić?\n" @@ -15207,36 +12515,20 @@ msgstr "Dostawca nie został znaleziony, proszę wybrać ponownie." msgid "Current vendor has no models, please reselect." msgstr "Obecny dostawca nie ma modeli, proszę wybrać ponownie." -msgid "" -"You have not selected the vendor and model or inputed the custom vendor and " -"model." -msgstr "" -"Nie wybrano dostawcy ani modelu lub nie wprowadzono niestandardowego " -"dostawcy i modelu" +msgid "You have not selected the vendor and model or inputed the custom vendor and model." +msgstr "Nie wybrano dostawcy ani modelu lub nie wprowadzono niestandardowego dostawcy i modelu" -msgid "" -"There may be escape characters in the custom printer vendor or model. Please " -"delete and re-enter." -msgstr "" -"W polu Dostawcy lub Modelu drukarki mogą występować znaki Specjalne. Proszę " -"usunąć i wprowadzić ponownie." +msgid "There may be escape characters in the custom printer vendor or model. Please delete and re-enter." +msgstr "W polu Dostawcy lub Modelu drukarki nie mogą występować znaki Specjalne. Proszę usunąć i wprowadzić ponownie." -msgid "" -"All inputs in the custom printer vendor or model are spaces. Please re-enter." -msgstr "" -"W polach dotyczących niestandardowego producenta lub modelu drukarki " -"wprowadzono spacje. Proszę ponownie wprowadzić poprawne dane." +msgid "All inputs in the custom printer vendor or model are spaces. Please re-enter." +msgstr "W polach dotyczących niestandardowego producenta lub modelu drukarki wprowadzono spacje. Proszę ponownie wprowadzić poprawne dane." msgid "Please check bed printable shape and origin input." -msgstr "" -"Proszę sprawdzić kształt stołu do druku oraz dane dotyczące jego położenia " -"początkowego" +msgstr "Proszę sprawdzić kształt stołu do druku oraz dane dotyczące jego położenia początkowego" -msgid "" -"You have not yet selected the printer to replace the nozzle, please choose." -msgstr "" -"Nie wybrałeś jeszcze drukarki, do której chcesz zamienić dyszę, proszę " -"dokonaj wyboru." +msgid "You have not yet selected the printer to replace the nozzle, please choose." +msgstr "Nie wybrałeś jeszcze drukarki, do której chcesz zamienić dyszę, proszę dokonaj wyboru." msgid "Create Printer Successful" msgstr "Utworzenie profilu drukarki zakończyło się powodzeniem" @@ -15255,29 +12547,18 @@ msgstr "Utworzono Profil Filamentu" 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 "" -"Jeżeli zajdzie taka potrzeba, przejdź do ustawień filamentu, aby edytować " -"swoje profile. Należy pamiętać, że temperatura dyszy, temperatura stołu i " -"maksymalna prędkość objętościowa mają znaczący wpływ na jakość druku. Proszę " -"ustawiać je ostrożnie." +"Please note that nozzle temperature, hot bed temperature, and maximum volumetric speed has a significant impact on printing quality. Please set them carefully." +msgstr "Jeżeli zajdzie taka potrzeba, przejdź do ustawień filamentu, aby edytować swoje profile. Należy pamiętać, że temperatura dyszy, temperatura stołu i maksymalna prędkość objętościowa mają znaczący wpływ na jakość druku. Proszę ustawiać je ostrożnie." msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " -"enabled, which may result in unsuccessful Filament settings on the Device " -"page. \n" +"Studio 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 "" "\n" "\n" -"Slicer wykrył, że funkcja synchronizacji profili użytkownika nie jest " -"włączona, co może skutkować niepoprawnymi ustawieniami filamentu na stronie " -"Urządzenia. Kliknij \"Synchronizuj profile użytkownika\", aby włączyć " -"funkcję synchronizacji." +"Slicer wykrył, że funkcja synchronizacji profili użytkownika nie jest włączona, co może skutkować niepoprawnymi ustawieniami filamentu na stronie Urządzenia. Kliknij \"Synchronizuj profile użytkownika\", aby włączyć funkcję synchronizacji." msgid "Printer Setting" msgstr "Ustawienia drukarki" @@ -15320,10 +12601,8 @@ msgstr "Eksport zakończony sukcesem" #, c-format, 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." +"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 "" "Plik '%s' już istnieje w bieżącym katalogu. Czy chcesz go nadpisać?\n" "Jeśli nie, zostanie dodany sufiks czasowy do nazwy pliku." @@ -15332,8 +12611,7 @@ msgid "" "Printer and all the filament&&process presets that belongs to the printer. \n" "Can be shared with others." msgstr "" -"Profil drukarki oraz wszystkie ustawienia filamentu i procesu, które do niej " -"należą. \n" +"Profil drukarki oraz wszystkie ustawienia filamentu i procesu, które do niej należą. \n" "Można je udostępniać innym osobom." msgid "" @@ -15343,42 +12621,27 @@ msgstr "" "Profile filamentu.\n" "Można je udostępniać innym osobom." -msgid "" -"Only display printer names with changes to printer, filament, and process " -"presets." -msgstr "" -"Wyświetlone są jedynie nazwy drukarek, które miały zmienione ustawienia " -"filamentu lub procesu." +msgid "Only display printer names with changes to printer, filament, and process presets." +msgstr "Wyświetlone są jedynie nazwy drukarek, które miały zmienione ustawienia filamentu lub procesu." msgid "Only display the filament names with changes to filament presets." -msgstr "" -"Wyświetlone są jedynie nazwy filamentów, które zostały zmodyfikowane w " -"ustawieniach." +msgstr "Wyświetlone są jedynie nazwy filamentów, które zostały zmodyfikowane w ustawieniach." -msgid "" -"Only printer names with user printer presets will be displayed, and each " -"preset you choose will be exported as a zip." -msgstr "" -"Wyświetlane są tylko nazwy drukarek z ustawieniami użytkownika, wybrany " -"zestaw zostanie wyeksportowany jako plik zip." +msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." +msgstr "Wyświetlane są tylko nazwy drukarek z ustawieniami użytkownika, wybrany zestaw zostanie wyeksportowany jako plik 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." +"and all user filament presets in each filament name you select will be exported as a zip." msgstr "" -"Na liście widoczne są tylko nazwy filamentów ze zmodyfikowanymi " -"ustawieniami, \n" -"a dla każdej wybranej nazwy filamentu zostaną wyeksportowane wszystkie " -"ustawienia jako archiwum zip." +"Na liście widoczne są tylko nazwy filamentów ze zmodyfikowanymi ustawieniami, \n" +"a dla każdej wybranej nazwy filamentu zostaną wyeksportowane wszystkie ustawienia jako archiwum 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." +"and all user process presets in each printer name you select will be exported as a zip." msgstr "" -"Na liście widoczne są tylko nazwy drukarek ze zmodyfikowanymi ustawieniami " -"procesu, \n" +"Na liście widoczne są tylko nazwy drukarek ze zmodyfikowanymi ustawieniami procesu, \n" "a dla każdej wybranej nazwy drukarki zostaną wyeksportowane wszystkie \n" "ustawienia procesu jako archiwum zip." @@ -15389,9 +12652,7 @@ msgid "Please select a type you want to export" msgstr "Proszę wybierz co chcesz wyeksportować" msgid "Failed to create temporary folder, please try Export Configs again." -msgstr "" -"Nie udało się utworzyć tymczasowego folderu. Spróbuj ponownie wyeksportować " -"konfiguracje." +msgstr "Nie udało się utworzyć tymczasowego folderu. Spróbuj ponownie wyeksportować konfiguracje." msgid "Edit Filament" msgstr "Edytuj Filament" @@ -15399,12 +12660,8 @@ msgstr "Edytuj Filament" msgid "Filament presets under this filament" msgstr "Dodaj profil filamentu poniżej" -msgid "" -"Note: If the only preset under this filament is deleted, the filament will " -"be deleted after exiting the dialog." -msgstr "" -"Uwaga: Jeśli ostatni profil tego filamentu zostanie usunięty, wszystkie " -"ustawienia tego filamentu zostaną skasowane po wyjściu z okna dialogowego." +msgid "Note: If the only preset under this filament is deleted, the filament will be deleted after exiting the dialog." +msgstr "Uwaga: Jeśli ostatni profil tego filamentu zostanie usunięty, wszystkie ustawienia tego filamentu zostaną skasowane po wyjściu z okna dialogowego." msgid "Presets inherited by other presets can not be deleted" msgstr "Nie można usunąć profili dziedziczonych przez inne profile" @@ -15432,13 +12689,10 @@ msgstr "Usuń Filament" 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." +"If you are using this filament on your printer, please reset the filament information for that slot." msgstr "" -"Wszystkie ustawienia wstępne filamentu przypisane do tego profilu zostaną " -"usunięte.\n" -"Jeśli używasz tego filamentu w swojej drukarce, proszę zresetuj informacje o " -"filamencie dla tego slotu." +"Wszystkie ustawienia wstępne filamentu przypisane do tego profilu zostaną usunięte.\n" +"Jeśli używasz tego filamentu w swojej drukarce, proszę zresetuj informacje o filamencie dla tego slotu." msgid "Delete filament" msgstr "Usuń filament" @@ -15453,9 +12707,7 @@ msgid "Copy preset from filament" msgstr "Skopiuj ustawienie z filamentu" msgid "The filament choice not find filament preset, please reselect it" -msgstr "" -"Nie znaleziono profilu dla wybranego filamentu, proszę dokonać ponownego " -"wyboru" +msgstr "Nie znaleziono profilu dla wybranego filamentu, proszę dokonać ponownego wyboru" msgid "[Delete Required]" msgstr "[Usuń Wymagane]" @@ -15472,17 +12724,12 @@ msgstr "Zwiń" msgid "Daily Tips" msgstr "Porada Dnia" -msgid "" -"Your nozzle diameter in preset is not consistent with memorized nozzle " -"diameter. Did you change your nozzle lately?" -msgstr "" -"Średnica Twojej dyszy w profilu nie jest zgodna ze zapamiętaną średnicą " -"dyszy. Czy ostatnio zmieniałeś swoją dyszę?" +msgid "Your nozzle diameter in preset is not consistent with memorized nozzle diameter. Did you change your nozzle lately?" +msgstr "Średnica Twojej dyszy w profilu nie jest zgodna ze zapamiętaną średnicą dyszy. Czy ostatnio zmieniałeś swoją dyszę?" #, c-format, boost-format msgid "*Printing %s material with %s may cause nozzle damage" -msgstr "" -"*Drukowanie filamentu %s z użyciem %s może spowodować uszkodzenie dyszy" +msgstr "*Drukowanie filamentu %s z użyciem %s może spowodować uszkodzenie dyszy" msgid "Need select printer" msgstr "Konieczny jest wybór drukarki" @@ -15490,12 +12737,8 @@ msgstr "Konieczny jest wybór drukarki" msgid "The start, end or step is not valid value." msgstr "Wartość początkowa, końcowa lub krokowa jest nieprawidłowa." -msgid "" -"Unable to calibrate: maybe because the set calibration value range is too " -"large, or the step is too small" -msgstr "" -"Nie można skalibrować: być może zakres ustawionych wartości kalibracyjnych " -"jest zbyt duży, lub krok jest zbyt mały" +msgid "Unable to calibrate: maybe because the set calibration value range is too large, or the step is too small" +msgstr "Nie można skalibrować: być może zakres ustawionych wartości kalibracyjnych jest zbyt duży, lub krok jest zbyt mały" msgid "Physical Printer" msgstr "Fizyczna drukarka" @@ -15515,12 +12758,8 @@ msgstr "Czy na pewno chcesz się wylogować?" msgid "Refresh Printers" msgstr "Odśwież drukarki" -msgid "" -"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" -"signed certificate." -msgstr "" -"Plik HTTPS CA jest opcjonalny. Jest potrzebny tylko w przypadku uzycia HTTPS " -"z certyfikatem wlasnego podpisu." +msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." +msgstr "Plik HTTPS CA jest opcjonalny. Jest potrzebny tylko w przypadku uzycia HTTPS z certyfikatem wlasnego podpisu." msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "Pliki certyfikatów (.crt, .pem)|.crt;.pem|Wszystkie pliki|*.*" @@ -15529,26 +12768,17 @@ msgid "Open CA certificate file" msgstr "Otwórz plik certyfikatu CA" #, c-format, boost-format -msgid "" -"On this system, %s uses HTTPS certificates from the system Certificate Store " -"or Keychain." -msgstr "" -"W tym systemie %s używa certyfikatów HTTPS z systemowego magazynu " -"certyfikatów lub łańcucha kluczy." +msgid "On this system, %s uses HTTPS certificates from the system Certificate Store or Keychain." +msgstr "W tym systemie %s używa certyfikatów HTTPS z systemowego magazynu certyfikatów lub łańcucha kluczy." -msgid "" -"To use a custom CA file, please import your CA file into Certificate Store / " -"Keychain." -msgstr "" -"Aby użyć własnego certyfikatu, zaimportuj plik do magazynu (Certificate " -"Store / Keychain)." +msgid "To use a custom CA file, please import your CA file into Certificate Store / Keychain." +msgstr "Aby użyć własnego certyfikatu, zaimportuj plik do magazynu (Certificate Store / Keychain)." msgid "Login/Test" msgstr "Logowanie/Test" msgid "Connection to printers connected via the print host failed." -msgstr "" -"Połączenie z drukarkami podłączonymi przez hosta drukowania nie powiodło się." +msgstr "Połączenie z drukarkami podłączonymi przez hosta drukowania nie powiodło się." #, c-format, boost-format msgid "Mismatched type of print host: %s" @@ -15587,12 +12817,8 @@ msgstr "Połączenie z FlashAir działa poprawnie, a przesyłanie jest włączon msgid "Could not connect to FlashAir" msgstr "Nie udało się połączyć z FlashAir" -msgid "" -"Note: FlashAir with firmware 2.00.02 or newer and activated upload function " -"is required." -msgstr "" -"Uwaga: Wymagany jest FlashAir z oprogramowaniem 2.00.02 lub nowszym oraz " -"aktywowaną funkcją przesyłania." +msgid "Note: FlashAir with firmware 2.00.02 or newer and activated upload function is required." +msgstr "Uwaga: Wymagany jest FlashAir z oprogramowaniem 2.00.02 lub nowszym oraz aktywowaną funkcją przesyłania." msgid "Connection to MKS works correctly." msgstr "Połączenie z MKS działa poprawnie." @@ -15637,8 +12863,7 @@ msgstr "%1% : brak wolnego miejsca" #. TRN %1% = host #, boost-format msgid "Upload has failed. There is no suitable storage found at %1%." -msgstr "" -"Przesyłanie nie powiodło się. Nie znaleziono odpowiedniego nośnika w %1%.." +msgstr "Przesyłanie nie powiodło się. Nie znaleziono odpowiedniego nośnika w %1%.." msgid "Connection to Prusa Connect works correctly." msgstr "Połączenie z Prusa Connect działa poprawnie." @@ -15683,271 +12908,89 @@ msgstr "" "Treść wiadomości: \"%1%\"\n" "Błąd: \"%2%\"" -msgid "" -"It has a small layer height, and results in almost negligible layer lines " -"and high printing quality. It is suitable for most general printing cases." -msgstr "" -"Ta niska wysokość warstwy prowadzi do praktycznie niewidocznych warstw i " -"wysokiej jakości wydruku. Nadaje się do większości standardowych przypadków " -"druku." +msgid "It has a small layer height, and results in almost negligible layer lines and high printing quality. It is suitable for most general printing cases." +msgstr "Ta niska wysokość warstwy prowadzi do praktycznie niewidocznych warstw i wysokiej jakości wydruku. Nadaje się do większości standardowych przypadków druku." -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. So, it results in " -"much higher printing quality, but a much longer printing time." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.2 mm, ma niższe " -"prędkości i przyspieszenia, a wzorzec rzadkiego wypełnienia to Gyroidalny. " -"Dlatego daje znacznie lepszą jakość druku, ale znacznie wydłuża czas druku." +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. So, it results in much higher printing quality, but a much longer printing time." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.2 mm, ma niższe prędkości i przyspieszenia, a wzorzec rzadkiego wypełnienia to Gyroidalny. Dlatego daje znacznie lepszą jakość druku, ale znacznie wydłuża czas druku." -msgid "" -"Compared with the default profile of a 0.2 mm nozzle, it has a slightly " -"bigger layer height, and results in almost negligible layer lines, and " -"slightly shorter printing time." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.2 mm, ma " -"nieznacznie większą wysokość warstwy, co skutkuje praktycznie " -"niezauważalnymi liniami warstw i nieco krótszym czasem druku." +msgid "Compared with the default profile of a 0.2 mm nozzle, it has a slightly bigger layer height, and results in almost negligible layer lines, and slightly shorter printing time." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.2 mm, ma nieznacznie większą wysokość warstwy, co skutkuje praktycznie niezauważalnymi liniami warstw i nieco krótszym czasem druku." -msgid "" -"Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " -"height, and results in slightly visible layer lines, but shorter printing " -"time." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.2 mm, ma większą " -"wysokość warstwy, co skutkuje lekko widocznymi liniami warstw, ale krótszym " -"czasem druku." +msgid "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer height, and results in slightly visible layer lines, but shorter printing time." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.2 mm, ma większą wysokość warstwy, co skutkuje lekko widocznymi liniami warstw, ale krótszym czasem druku." -msgid "" -"Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " -"height, and results in almost invisible layer lines and higher printing " -"quality, but shorter printing time." -msgstr "" -"W porównaniu z domyślnym profilem dyszy o średnicy 0.2 mm, ma mniejszą " -"wysokość warstwy, co prowadzi do praktycznie niewidocznych linii warstw i " -"wyższej jakości druku, ale wydłuża czas druku." +msgid "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer height, and results in almost invisible layer lines and higher printing quality, but shorter printing time." +msgstr "W porównaniu z domyślnym profilem dyszy o średnicy 0.2 mm, ma mniejszą wysokość warstwy, co prowadzi do praktycznie niewidocznych linii warstw i wyższej jakości druku, ale wydłuża czas druku." -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. So, it results in almost invisible layer lines and much higher " -"printing quality, but much longer printing time." -msgstr "" -"W porównaniu z domyślnym profilem dyszy 0.2 mm, ma mniejszą wysokość " -"warstwy, niższe prędkości i przyspieszenie, oraz wzór wypełnienia jest " -"gyroidalny. To prowadzi do praktycznie niewidocznych linii warstw i wyższej " -"jakości druku, ale znacznie wydłuża czasu druku." +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. So, it results in almost invisible layer lines and much higher printing quality, but much longer printing time." +msgstr "W porównaniu z domyślnym profilem dyszy 0.2 mm, ma mniejszą wysokość warstwy, niższe prędkości i przyspieszenie, oraz wzór wypełnienia jest gyroidalny. To prowadzi do praktycznie niewidocznych linii warstw i wyższej jakości druku, ale znacznie wydłuża czasu druku." -msgid "" -"Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " -"height, and results in minimal layer lines and higher printing quality, but " -"shorter printing time." -msgstr "" -"W porównaniu ze standardowym profilem dyszy o średnicy 0.2 mm, ten profil ma " -"mniejszą wysokość warstwy, co prowadzi do praktycznie niewidocznych linii " -"warstw i znacznie wyższa jakość wydruku, ale jednocześnie wydłuża jego czas." +msgid "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer height, and results in minimal layer lines and higher printing quality, but shorter printing time." +msgstr "W porównaniu ze standardowym profilem dyszy o średnicy 0.2 mm, ten profil ma mniejszą wysokość warstwy, co prowadzi do praktycznie niewidocznych linii warstw i znacznie wyższa jakość wydruku, ale jednocześnie wydłuża jego czas." -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. So, it results in minimal layer lines and much higher printing " -"quality, but much longer printing time." -msgstr "" -"W porównaniu ze standardowym profilem dyszy o średnicy 0.2 mm, ma on " -"mniejszą wysokość warstwy, niższe prędkości i przyspieszenia, a także " -"zastosowany jest wzór wypełnienia Gyroid. To prowadzi do praktycznie " -"niewidocznych warstw i znacznie lepszej jakości wydruku, ale jednocześnie " -"wydłuża jego czas." +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. So, it results in minimal layer lines and much higher printing quality, but much longer printing time." +msgstr "W porównaniu ze standardowym profilem dyszy o średnicy 0.2 mm, ma on mniejszą wysokość warstwy, niższe prędkości i przyspieszenia, a także zastosowany jest wzór wypełnienia Gyroid. To prowadzi do praktycznie niewidocznych warstw i znacznie lepszej jakości wydruku, ale jednocześnie wydłuża jego czas." -msgid "" -"It has a general layer height, and results in general layer lines and " -"printing quality. It is suitable for most general printing cases." -msgstr "" -"Ta standardowa wysokość warstwy zapewnia normalną jakość druku, odpowiednią " -"dla większości standardowych przypadków druku." +msgid "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases." +msgstr "Ta standardowa wysokość warstwy zapewnia normalną jakość druku, odpowiednią dla większości standardowych przypadków druku." -msgid "" -"Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " -"and a higher sparse infill density. So, it results in higher strength of the " -"prints, but more filament consumption and longer printing time." -msgstr "" -"W porównaniu ze standardowym profilem dla dyszy o średnicy 0.4 mm, ten " -"profil ma więcej obwodów i większą gęstość wypełnienia. To zwiększa " -"wytrzymałość wydruku, ale prowadzi także do większego zużycia materiału i " -"dłuższego czasu druku." +msgid "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time." +msgstr "W porównaniu ze standardowym profilem dla dyszy o średnicy 0.4 mm, ten profil ma więcej obwodów i większą gęstość wypełnienia. To zwiększa wytrzymałość wydruku, ale prowadzi także do większego zużycia materiału i dłuższego czasu druku." -msgid "" -"Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " -"height, and results in more apparent layer lines and lower printing quality, " -"but slightly shorter printing time." -msgstr "" -"W porównaniu ze standardowym profilem dla dyszy o średnicy 0.4 mm, ten " -"profil ma większą wysokość warstwy. W rezultacie warstwy są bardziej " -"widoczne, co obniża jakość druku, ale jednocześnie delikatnie skraca jego " -"czas." +msgid "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but slightly shorter printing time." +msgstr "W porównaniu ze standardowym profilem dla dyszy o średnicy 0.4 mm, ten profil ma większą wysokość warstwy. W rezultacie warstwy są bardziej widoczne, co obniża jakość druku, ale jednocześnie delikatnie skraca jego czas." -msgid "" -"Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " -"height, and results in more apparent layer lines and lower printing quality, " -"but shorter printing time." -msgstr "" -"W porównaniu ze standardowym profilem dla dyszy o średnicy 0.4 mm, ten " -"profil ma większą wysokość warstwy. W rezultacie warstwy są bardziej " -"widoczne, co obniża jakość druku, ale jednocześnie skraca jego czas." +msgid "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time." +msgstr "W porównaniu ze standardowym profilem dla dyszy o średnicy 0.4 mm, ten profil ma większą wysokość warstwy. W rezultacie warstwy są bardziej widoczne, co obniża jakość druku, ale jednocześnie skraca jego czas." -msgid "" -"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " -"height, and results in less apparent layer lines and higher printing " -"quality, but longer printing time." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma " -"mniejszą wysokość warstwy. W rezultacie warstwy są mniej widoczne, co " -"skutkuje wyższą jakością druku, ale jednocześnie wydłuża się jego czas." +msgid "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma mniejszą wysokość warstwy. W rezultacie warstwy są mniej widoczne, co skutkuje wyższą jakością druku, ale jednocześnie wydłuża się jego czas." -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. So, it results in less apparent layer lines and much higher printing " -"quality, but much longer printing time." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma " -"mniejszą wysokość warstwy, niższe prędkości i przyspieszenia, oraz wzór " -"wypełnienia Gyroidalny. W rezultacie warstwy są mniej widoczne, co prowadzi " -"do znacznie wyższej jakości druku, ale zauważalnie dłuższego czasu druku." +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. So, it results in less apparent layer lines and much higher printing quality, but much longer printing time." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma mniejszą wysokość warstwy, niższe prędkości i przyspieszenia, oraz wzór wypełnienia Gyroidalny. W rezultacie warstwy są mniej widoczne, co prowadzi do znacznie wyższej jakości druku, ale zauważalnie dłuższego czasu druku." -msgid "" -"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " -"height, and results in almost negligible layer lines and higher printing " -"quality, but longer printing time." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma " -"mniejszą wysokość warstwy. W rezultacie warstwy są prawie niewidoczne, co " -"prowadzi do wyższej jakości druku, ale wydłużenia jego czas." +msgid "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and higher printing quality, but longer printing time." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma mniejszą wysokość warstwy. W rezultacie warstwy są prawie niewidoczne, co prowadzi do wyższej jakości druku, ale wydłużenia jego czas." -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. So, it results in almost negligible layer lines and much higher " -"printing quality, but much longer printing time." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma " -"mniejszą wysokość warstwy, niższe prędkości i przyspieszenia, a także " -"zastosowany wzór wypełnienia gyroidalnego. W rezultacie warstwy są prawie " -"niewidoczne, co prowadzi do znacznie wyższej jakości druku, ale wydłuża jego " -"czas." +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. So, it results in almost negligible layer lines and much higher printing quality, but much longer printing time." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma mniejszą wysokość warstwy, niższe prędkości i przyspieszenia, a także zastosowany wzór wypełnienia gyroidalnego. W rezultacie warstwy są prawie niewidoczne, co prowadzi do znacznie wyższej jakości druku, ale wydłuża jego czas." -msgid "" -"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " -"height, and results in almost negligible layer lines and longer printing " -"time." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma " -"mniejszą wysokość warstwy. W rezultacie warstwy są prawie niewidoczne, co " -"prowadzi do wyższej jakości druku, ale wydłużenia jego czas." +msgid "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and longer printing time." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma mniejszą wysokość warstwy. W rezultacie warstwy są prawie niewidoczne, co prowadzi do wyższej jakości druku, ale wydłużenia jego czas." -msgid "" -"It has a big layer height, and results in apparent layer lines and ordinary " -"printing quality and printing time." -msgstr "" -"Ta wyższa wysokość warstwy, skutkuje widocznymi liniami warstw i zwykłą " -"jakością i czasem druku." +msgid "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time." +msgstr "Ta wyższa wysokość warstwy, skutkuje widocznymi liniami warstw i zwykłą jakością i czasem druku." -msgid "" -"Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " -"and a higher sparse infill density. So, it results in higher strength of the " -"prints, but more filament consumption and longer printing time." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma " -"więcej obwodów i większą gęstość wypełnienia. Skutkuje to zwiększeniem " -"wytrzymałości wydrukowanego elementu, ale zwiększa zużycie materiału i czas " -"wydruku." +msgid "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma więcej obwodów i większą gęstość wypełnienia. Skutkuje to zwiększeniem wytrzymałości wydrukowanego elementu, ale zwiększa zużycie materiału i czas wydruku." -msgid "" -"Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " -"height, and results in more apparent layer lines and lower printing quality, " -"but shorter printing time in some printing cases." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma " -"większą wysokość warstwy. Skutkuje to bardziej zauważalnymi warstwami i " -"obniżeniem jakości druku, chociaż w niektórych przypadkach może skrócić jego " -"czas." +msgid "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma większą wysokość warstwy. Skutkuje to bardziej zauważalnymi warstwami i obniżeniem jakości druku, chociaż w niektórych przypadkach może skrócić jego czas." -msgid "" -"Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " -"height, and results in much more apparent layer lines and much lower " -"printing quality, but shorter printing time in some printing cases." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma " -"większą wysokość warstwy. Skutkuje to bardziej zauważalnymi warstwami i " -"znacznym obniżeniem jakości druku, chociaż w niektórych przypadkach może " -"skrócić jego czas." +msgid "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma większą wysokość warstwy. Skutkuje to bardziej zauważalnymi warstwami i znacznym obniżeniem jakości druku, chociaż w niektórych przypadkach może skrócić jego czas." -msgid "" -"Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " -"height, and results in less apparent layer lines and slight higher printing " -"quality, but longer printing time." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma " -"mniejszą wysokość warstwy. W rezultacie warstwy są mniej zauważalne, co " -"powoduje nieznaczny wzrost jakości druku, ale jednocześnie zwiększa czas " -"wydruku." +msgid "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma mniejszą wysokość warstwy. W rezultacie warstwy są mniej zauważalne, co powoduje nieznaczny wzrost jakości druku, ale jednocześnie zwiększa czas wydruku." -msgid "" -"Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " -"height, and results in less apparent layer lines and higher printing " -"quality, but longer printing time." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma " -"mniejszą wysokość warstwy. W rezultacie warstwy są mniej zauważalne, co " -"prowadzi do wyższej jakości druku, ale wydłuża jego czas." +msgid "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma mniejszą wysokość warstwy. W rezultacie warstwy są mniej zauważalne, co prowadzi do wyższej jakości druku, ale wydłuża jego czas." -msgid "" -"It has a very big layer height, and results in very apparent layer lines, " -"low printing quality and general printing time." -msgstr "" -"Ta bardzo duża wysokość warstwy skutkuje wyraźnie widocznymi liniami warstw, " -"niską jakością druku, a także standardowym czasem druku." +msgid "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time." +msgstr "Ta bardzo duża wysokość warstwy skutkuje wyraźnie widocznymi liniami warstw, niską jakością druku, a także standardowym czasem druku." -msgid "" -"Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " -"height, and results in very apparent layer lines and much lower printing " -"quality, but shorter printing time in some printing cases." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.8 mm, ten profil ma " -"nieco większą wysokość warstwy. W rezultacie są to wyraźnie widoczne warstwy " -"i znacznie niższa jakość druku, ale w niektórych przypadkach skraca to czas " -"wydruku." +msgid "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.8 mm, ten profil ma nieco większą wysokość warstwy. W rezultacie są to wyraźnie widoczne warstwy i znacznie niższa jakość druku, ale w niektórych przypadkach skraca to czas wydruku." -msgid "" -"Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " -"layer height, and results in extremely apparent layer lines and much lower " -"printing quality, but much shorter printing time in some printing cases." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0,8 mm, ten profil ma " -"znacznie większą wysokość warstwy. W rezultacie warstwy są bardzej widoczne, " -"a jakość druku znacznie niższa, ale w niektórych przypadkach znacznie skraca " -"się czas wydruku." +msgid "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger layer height, and results in extremely apparent layer lines and much lower printing quality, but much shorter printing time in some printing cases." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0,8 mm, ten profil ma znacznie większą wysokość warstwy. W rezultacie warstwy są bardzej widoczne, a jakość druku znacznie niższa, ale w niektórych przypadkach znacznie skraca się czas wydruku." -msgid "" -"Compared with the default profile of a 0.8 mm nozzle, it has a slightly " -"smaller layer height, and results in slightly less but still apparent layer " -"lines and slightly higher printing quality, but longer printing time in some " -"printing cases." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0,8 mm, ten profil ma " -"nieco mniejszą wysokość warstwy. W rezultacie warstwy są nieco mniej " -"widoczne, a jakość druku jest nieco lepsza, ale w niektórych przypadkach " -"czas druku może się nieco wydłużyć." +msgid "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0,8 mm, ten profil ma nieco mniejszą wysokość warstwy. W rezultacie warstwy są nieco mniej widoczne, a jakość druku jest nieco lepsza, ale w niektórych przypadkach czas druku może się nieco wydłużyć." -msgid "" -"Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " -"height, and results in less but still apparent layer lines and slightly " -"higher printing quality, but longer printing time in some printing cases." -msgstr "" -"W porównaniu z domyślnym profilem dla dyszy o średnicy 0,8 mm, ten profil ma " -"mniejszą wysokość warstwy, co prowadzi do mniejszych, ale nadal widocznych " -"warstw i lepszej jakości druku, a w niektórych przypadkach może się wydłużyć " -"czas wydruku." +msgid "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases." +msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0,8 mm, ten profil ma mniejszą wysokość warstwy, co prowadzi do mniejszych, ale nadal widocznych warstw i lepszej jakości druku, a w niektórych przypadkach może się wydłużyć czas wydruku." msgid "Connected to Obico successfully!" msgstr "Pomyślnie połączono z SimplyPrint!" @@ -15962,16 +13005,10 @@ msgid "Could not connect to SimplyPrint" msgstr "Nie można połączyć się z SimplyPrint" msgid "SimplyPrint account not linked. Go to Connect options to set it up." -msgstr "" -"Nie połączono z kontem SimplyPrint. Przejdź do opcji Połącz, aby go " -"skonfigurować." +msgstr "Nie połączono z kontem SimplyPrint. Przejdź do opcji Połącz, aby go skonfigurować." -msgid "" -"File size exceeds the 100MB upload limit. Please upload your file through " -"the panel." -msgstr "" -"Rozmiar pliku przekracza limit przesyłania 100 MB. Proszę przesłać plik za " -"pomocą panelu." +msgid "File size exceeds the 100MB upload limit. Please upload your file through the panel." +msgstr "Rozmiar pliku przekracza limit przesyłania 100 MB. Proszę przesłać plik za pomocą panelu." msgid "Unknown error" msgstr "Nieznany błąd" @@ -15986,8 +13023,7 @@ msgid "The provided state is not correct." msgstr "Podany stan nie jest właściwy" msgid "Please give the required permissions when authorizing this application." -msgstr "" -"Proszę udzielić wymaganych uprawnień podczas autoryzacji tej aplikacji." +msgstr "Proszę udzielić wymaganych uprawnień podczas autoryzacji tej aplikacji." msgid "Something unexpected happened when trying to log in, please try again." msgstr "Wystąpił problem podczas próby logowania, proszę spróbować ponownie." @@ -15998,24 +13034,18 @@ msgstr "Anulowane przez użytkownika." #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" -"Did you know that turning on precise wall can improve precision and layer " -"consistency?" +"Did you know that turning on precise wall can improve precision and layer consistency?" msgstr "" "Precyzyjna ściana\n" -"Czy wiesz, że włączenie \"ściany o wysokiej precyzji\" może poprawić ich " -"jakość i spójność warstw?" +"Czy wiesz, że włączenie \"ściany o wysokiej precyzji\" może poprawić ich jakość i spójność warstw?" #: resources/data/hints.ini: [hint:Sandwich mode] msgid "" "Sandwich mode\n" -"Did 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?" +"Did 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 "" "Tryb kanapki\n" -"Czy wiesz, że możesz użyć trybu kanapki (wewnętrzna-zewnętrzna-wewnętrzna) " -"do poprawy precyzji i spójności warstw, jeśli twój model nie ma bardzo " -"stromych występów?" +"Czy wiesz, że możesz użyć trybu kanapki (wewnętrzna-zewnętrzna-wewnętrzna) do poprawy precyzji i spójności warstw, jeśli twój model nie ma bardzo stromych występów?" #: resources/data/hints.ini: [hint:Chamber temperature] msgid "" @@ -16028,12 +13058,10 @@ msgstr "" #: resources/data/hints.ini: [hint:Calibration] msgid "" "Calibration\n" -"Did you know that calibrating your printer can do wonders? Check out our " -"beloved calibration solution in OrcaSlicer." +"Did you know that calibrating your printer can do wonders? Check out our beloved calibration solution in OrcaSlicer." msgstr "" "Kalibracja\n" -"Czy wiesz, że kalibrowanie twojej drukarki może zdziałać cuda? Sprawdź nasze " -"ukochane rozwiązanie kalibracyjne w OrcaSlicer." +"Czy wiesz, że kalibrowanie twojej drukarki może zdziałać cuda? Sprawdź nasze ukochane rozwiązanie kalibracyjne w OrcaSlicer." #: resources/data/hints.ini: [hint:Auxiliary fan] msgid "" @@ -16049,8 +13077,7 @@ msgid "" "Did you know that OrcaSlicer can support Air filtration/Exhaust Fan?" msgstr "" "Filtracja powietrza/Wentylator wyciągowy\n" -"Czy wiesz, że OrcaSlicer może obsługiwać filtrację powietrza/wentylator " -"wyciągowy?" +"Czy wiesz, że OrcaSlicer może obsługiwać filtrację powietrza/wentylator wyciągowy?" #: resources/data/hints.ini: [hint:G-code window] msgid "" @@ -16063,52 +13090,42 @@ msgstr "" #: resources/data/hints.ini: [hint:Switch workspaces] msgid "" "Switch workspaces\n" -"You can switch between Prepare and Preview workspaces by " -"pressing the Tab key." +"You can switch between Prepare and Preview workspaces by pressing the Tab key." msgstr "" "Przełączanie przestrzeni roboczych\n" -"Możesz przełączać się między przestrzeniami roboczymi Przygotowanie i " -"Podgląd za pomocą klawisza Tab." +"Możesz przełączać się między przestrzeniami roboczymi Przygotowanie i Podgląd za pomocą klawisza Tab." #: resources/data/hints.ini: [hint:How to use keyboard shortcuts] msgid "" "How to use keyboard shortcuts\n" -"Did you know that Orca Slicer offers a wide range of keyboard shortcuts and " -"3D scene operations." +"Did you know that Orca Slicer offers a wide range of keyboard shortcuts and 3D scene operations." msgstr "" "Jak korzystać ze skrótów klawiszowych\n" -"Czy wiesz, że Orca Slicer oferuje szeroki zakres skrótów klawiszowych i " -"operacji na scenie 3D." +"Czy wiesz, że Orca Slicer oferuje szeroki zakres skrótów klawiszowych i operacji na scenie 3D." #: resources/data/hints.ini: [hint:Reverse on odd] msgid "" "Reverse on odd\n" -"Did you know that Reverse on odd feature can significantly improve " -"the surface quality of your overhangs?" +"Did you know that Reverse on odd feature can significantly improve the surface quality of your overhangs?" msgstr "" "Odwróć na nieparzystych\n" -"Czy wiesz, że funkcja Odwróć na nieparzystych może znacząco poprawić " -"jakość powierzchni twoich występów?" +"Czy wiesz, że funkcja Odwróć na nieparzystych może znacząco poprawić jakość powierzchni twoich występów?" #: resources/data/hints.ini: [hint:Cut Tool] msgid "" "Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" +"Did you know that you can cut a model at any angle and position with the cutting tool?" msgstr "" -"Narzędzie cięcia\n" -"Czy wiesz, że możesz ciąć model pod dowolnym kątem i w dowolnej pozycji za " -"pomocą narzędzia do cięcia?" +"Narzędzie przecinania\n" +"Czy wiesz, że możesz ciąć model pod dowolnym kątem i w dowolnej pozycji za pomocą narzędzia do przecinania?" #: resources/data/hints.ini: [hint:Fix Model] msgid "" "Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems on the Windows system?" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing problems on the Windows system?" msgstr "" "Napraw model\n" -"Czy wiesz, że możesz naprawić uszkodzony model 3D, aby uniknąć wielu " -"problemów z krojeniem w systemie Windows?" +"Czy wiesz, że możesz naprawić uszkodzony model 3D, aby uniknąć wielu problemów z krojeniem w systemie Windows?" #: resources/data/hints.ini: [hint:Timelapse] msgid "" @@ -16124,209 +13141,153 @@ msgid "" "Did you know that you can auto-arrange all objects in your project?" msgstr "" "Automatyczne rozmieszczanie\n" -"Czy wiesz, że możesz automatycznie ułożyć wszystkie obiekty w swoim " -"projekcie?" +"Czy wiesz, że możesz automatycznie rozmieścić wszystkie obiekty w swoim projekcie?" #: resources/data/hints.ini: [hint:Auto-Orient] msgid "" "Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" +"Did you know that you can rotate objects to an optimal orientation for printing by a simple click?" msgstr "" "Automatyczna orientacja\n" -"Czy wiesz, że możesz obracać obiekty do optymalnej orientacji do druku za " -"pomocą jednego kliknięcia?" +"Czy wiesz, że możesz obracać obiekty do optymalnej orientacji do druku za pomocą jednego kliknięcia?" #: resources/data/hints.ini: [hint:Lay on Face] msgid "" "Lay on Face\n" -"Did 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." +"Did 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 "" "Połóż na powierzchni\n" -"Czy wiesz, że możesz szybko ustawić model tak, aby jedna z jego powierzchni " -"znalazła się na łóżku drukarki? Wybierz funkcję \"Połóż na powierzchni\" lub " -"naciśnij klawisz F." +"Czy wiesz, że możesz szybko ułożyć model tak, aby Czy wiesz, że możesz szybko ustawić model tak, aby jedna z jego ścian znajdowała się na stole roboczym? Wybierz funkcję „Umieść na powierzchni” lub naciśnij F." #: resources/data/hints.ini: [hint:Object List] msgid "" "Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" +"Did you know that you can view all objects/parts in a list and change settings for each object/part?" msgstr "" "Lista obiektów\n" -"Czy wiesz, że możesz wyświetlać wszystkie obiekty/części na liście i " -"zmieniać ustawienia dla każdego obiektu/części?" +"Czy wiesz, że możesz wyświetlać wszystkie obiekty/części na liście i zmieniać ustawienia dla każdego obiektu/części?" #: resources/data/hints.ini: [hint:Search Functionality] msgid "" "Search Functionality\n" -"Did you know that you use the Search tool to quickly find a specific Orca " -"Slicer setting?" +"Did you know that you use the Search tool to quickly find a specific Orca Slicer setting?" msgstr "" "Funkcja wyszukiwania\n" -"Czy wiesz, że możesz użyć narzędzia wyszukiwania, aby szybko znaleźć " -"konkretne ustawienie Orca Slicer?" +"Czy wiesz, że możesz użyć narzędzia wyszukiwania, aby szybko znaleźć konkretne ustawienie Orca Slicer?" #: resources/data/hints.ini: [hint:Simplify Model] msgid "" "Simplify Model\n" -"Did 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." +"Did 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 "" "Uprość model\n" -"Czy wiesz, że możesz zmniejszyć liczbę trójkątów w siatce za pomocą funkcji " -"upraszczania siatki? Kliknij prawym przyciskiem myszy model i wybierz opcję " -"Uprość model." +"Czy wiesz, że możesz zmniejszyć liczbę trójkątów w siatce za pomocą funkcji upraszczania siatki? Kliknij prawym przyciskiem myszy model i wybierz opcję Uprość model." #: resources/data/hints.ini: [hint:Slicing Parameter Table] msgid "" "Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" +"Did you know that you can view all objects/parts on a table and change settings for each object/part?" msgstr "" "Tabela Parametrów Cięcia\n" -"Czy wiesz, że możesz wyświetlić wszystkie obiekty/części na tabeli i " -"zmieniać ustawienia dla każdego obiektu/części?" +"Czy wiesz, że możesz wyświetlić wszystkie obiekty/części na tabeli i zmieniać ustawienia dla każdego obiektu/części?" #: resources/data/hints.ini: [hint:Split to Objects/Parts] msgid "" "Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" +"Did you know that you can split a big object into small ones for easy colorizing or printing?" msgstr "" "Podziel na obiekty/części\n" -"Czy wiesz, że możesz podzielić duży obiekt na mniejsze, aby łatwiej je " -"kolorować lub drukować?" +"Czy wiesz, że możesz podzielić duży obiekt na mniejsze, aby łatwiej je kolorować lub drukować?" #: resources/data/hints.ini: [hint:Subtract a Part] msgid "" "Subtract a Part\n" -"Did 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." +"Did 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 "" "Odejmowanie części\n" -"Czy wiesz, że możesz odjąć jedną siatkę od drugiej, używając modyfikatora " -"części negatywnej? W ten sposób możesz na przykład łatwo tworzyć otwory o " -"zmiennym rozmiarze bezpośrednio w Orca Slicer." +"Czy wiesz, że możesz odjąć jedną siatkę od drugiej, używając modyfikatora części negatywnej? W ten sposób możesz na przykład łatwo tworzyć otwory o zmiennym rozmiarze bezpośrednio w Orca Slicer." #: resources/data/hints.ini: [hint:STEP] msgid "" "STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" +"Did you know that you can improve your print quality by slicing a STEP file instead of an STL?\n" +"Orca Slicer supports slicing STEP files, providing smoother results than a lower resolution STL. Give it a try!" msgstr "" "STEP\n" -"Czy wiesz, że możesz poprawić jakość swojego druku, krojąc plik STEP zamiast " -"STL?\n" -"Orca Slicer wspiera krojenie plików STEP, oferując gładniejsze rezultaty niż " -"STL o niższej rozdzielczości. Wypróbuj to!" +"Czy wiesz, że możesz poprawić jakość swojego druku, krojąc plik STEP zamiast STL?\n" +"Orca Slicer wspiera krojenie plików STEP, oferując lepszą jakość niż STL o niższej rozdzielczości. Wypróbuj to!" #: resources/data/hints.ini: [hint:Z seam location] msgid "" "Z seam location\n" -"Did 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!" +"Did 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 "" "Lokalizacja szwu Z\n" -"Czy wiesz, że możesz dostosować lokalizację szwu Z, a nawet namalować go na " -"swoim wydruku, aby był w mniej widocznej lokalizacji? Poprawia to ogólny " -"wygląd twojego modelu. Sprawdź to!" +"Czy wiesz, że możesz dostosować lokalizację szwu Z, a nawet namalować go na swoim wydruku, aby był w mniej widocznej lokalizacji? Poprawia to ogólny wygląd twojego modelu. Sprawdź to!" #: resources/data/hints.ini: [hint:Fine-tuning for flow rate] msgid "" "Fine-tuning for flow rate\n" -"Did 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." +"Did 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 "" "Dopasowanie prędkości przepływu\n" -"Czy wiesz, że prędkość przepływu może być dopasowana dla jeszcze lepszego " -"wyglądu wydruków? W zależności od filamentu, możesz poprawić ogólne " -"wykończenie wydrukowanego modelu poprzez dokonanie kilku drobnych regulacji." +"Czy wiesz, że prędkość przepływu może być dopasowana dla jeszcze lepszego wyglądu wydruków? W zależności od filamentu, możesz poprawić ogólne wykończenie wydrukowanego modelu poprzez dokonanie kilku drobnych regulacji." #: resources/data/hints.ini: [hint:Split your prints into plates] msgid "" "Split your prints into plates\n" -"Did 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." +"Did 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 "" "Podziel swoje wydruki na płyty\n" -"Czy wiesz, że możesz podzielić model, który ma wiele części, na indywidualne " -"płyty gotowe do druku? Ułatwi to proces śledzenia wszystkich części." +"Czy wiesz, że możesz podzielić model, który ma wiele części, na indywidualne płyty gotowe do druku? Ułatwi to proces śledzenia wszystkich części." -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer Height] msgid "" "Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" +"Did you know that you can print a model even faster, by using the Adaptive Layer Height option? Check it out!" msgstr "" "Przyspiesz swój wydruk z adaptacyjną wysokością warstwy\n" -"Czy wiesz, że możesz wydrukować model jeszcze szybciej, używając opcji " -"adaptacyjnej wysokości warstwy? Sprawdź to!" +"Czy wiesz, że możesz wydrukować model jeszcze szybciej, używając opcji adaptacyjnej wysokości warstwy? Sprawdź to!" #: resources/data/hints.ini: [hint:Support painting] msgid "" "Support painting\n" -"Did 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." +"Did 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 "" "Namaluj Podpory\n" -"Czy wiesz, że możesz malować lokalizację swoich podpór? Ta funkcja ułatwia " -"umieszczenie filamentu podporowego tylko w tych sekcjach modelu, które go " -"faktycznie potrzebują." +"Czy wiesz, że możesz malować lokalizację swoich podpór? Ta funkcja ułatwia umieszczenie filamentu podporowego tylko w tych sekcjach modelu, które go faktycznie potrzebują." #: resources/data/hints.ini: [hint:Different types of supports] msgid "" "Different types of supports\n" -"Did 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!" +"Did 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 "" "Różne rodzaje podpór\n" -"Czy wiesz, że możesz wybierać spośród wielu rodzajów podpór? Podpory " -"drzewiaste świetnie sprawdzają się w modelach organicznych, jednocześnie " -"oszczędzając filament i poprawiając prędkość druku. Sprawdź je!" +"Czy wiesz, że możesz wybierać spośród wielu rodzajów podpór? Podpory drzewiaste świetnie sprawdzają się w modelach organicznych, jednocześnie oszczędzając filament i poprawiając prędkość druku. Sprawdź je!" #: resources/data/hints.ini: [hint:Printing Silk Filament] msgid "" "Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it " -"successfully? Higher temperature and lower speed are always recommended for " -"the best results." +"Did 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 "" -"Drukowanie filamentem jedwabnym\n" -"Czy wiesz, że filament jedwabny wymaga szczególnego uwzględnienia, aby go " -"skutecznie wydrukować? Zalecana jest zawsze wyższa temperatura i niższa " -"prędkość, aby osiągnąć najlepsze rezultaty." +"Drukowanie filamentem jedwabnym (Slik)\n" +"Czy wiesz, że filament jedwabny wymaga szczególnej uwagi, aby go skutecznie wydrukować? Zalecana jest zawsze wyższa temperatura i niższa prędkość, aby osiągnąć najlepsze rezultaty." #: resources/data/hints.ini: [hint:Brim for better adhesion] msgid "" "Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" +"Did you know that when printing models have a small contact interface with the printing surface, it's recommended to use a brim?" msgstr "" "Brim dla lepszej przyczepności\n" -"Czy wiesz, że przy drukowaniu modeli o małej powierzchni styku z " -"powierzchnią druku, zaleca się użycie brimu?" +"Czy wiesz, że przy drukowaniu modeli o małej powierzchni styku z powierzchnią druku, zaleca się użycie brimu?" #: resources/data/hints.ini: [hint:Set parameters for multiple objects] msgid "" "Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" +"Did you know that you can set slicing parameters for all selected objects at one time?" msgstr "" "Ustawianie parametrów dla wielu obiektów\n" -"Czy wiesz, że możesz ustawić parametry cięcia dla wszystkich wybranych " -"obiektów jednocześnie?" +"Czy wiesz, że możesz ustawić parametry cięcia dla wszystkich wybranych obiektów jednocześnie?" #: resources/data/hints.ini: [hint:Stack objects] msgid "" @@ -16339,48 +13300,34 @@ msgstr "" #: resources/data/hints.ini: [hint:Flush into support/objects/infill] msgid "" "Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" +"Did you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?" msgstr "" "Czyszczenie do podpór/obiektów/wypełnienia\n" -"Czy wiesz, że możesz zaoszczędzić marnowany filament, przepłukując go do " -"podpór/obiektów/wypełnienia podczas zmiany filamentu?" +"Czy wiesz, że możesz zaoszczędzić marnowany filament, przepłukując go do podpór/obiektów/wypełnienia podczas zmiany filamentu?" #: resources/data/hints.ini: [hint:Improve strength] msgid "" "Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" +"Did you know that you can use more wall loops and higher sparse infill density to improve the strength of the model?" msgstr "" "Zwiększanie wytrzymałości\n" -"Czy wiesz, że możesz użyć więcej pętli ścian i większej gęstości " -"wypełnienia, aby zwiększyć wytrzymałość modelu?" +"Czy wiesz, że możesz użyć więcej pętli ścian i większej gęstości wypełnienia, aby zwiększyć wytrzymałość modelu?" -#: resources/data/hints.ini: [hint:When need to print with the printer door -#: opened] +#: resources/data/hints.ini: [hint:When need to print with the printer door opened] msgid "" "When need to print with the printer door opened\n" -"Did 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." +"Did 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 "" -"Gdy potrzebna jest drukarka z otwartymi drzwiami\n" -"Czy wiesz, że otwarcie drzwi drukarki może zmniejszyć prawdopodobieństwo " -"zapychania się extrudera/głowicy grzejnej podczas drukowania filamentem o " -"niższej temperaturze przy wyższej temperaturze obudowy. Więcej informacji na " -"ten temat znajdziesz w Wiki." +"Kiedy należy drukować przy otwartych drzwiach drukarki? \n" +"Czy wiesz, że otwarcie drzwiczek drukarki może zmniejszyć prawdopodobieństwo zatkania ekstrudera/hotendu podczas drukowania filamentem o niższej temperaturze gdy temperatura obudowy jest wyższa? Więcej informacji na ten temat znajdziesz na Wiki." #: resources/data/hints.ini: [hint:Avoid warping] msgid "" "Avoid warping\n" -"Did 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." +"Did 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 "" "Unikaj odkształceń\n" -"Czy wiesz, że podczas drukowania filamentami podatnymi na odkształcenia, " -"takimi jak ABS, odpowiednie zwiększenie temperatury podgrzewanej płyty może " -"zmniejszyć prawdopodobieństwo odkształceń." +"Czy wiesz, że podczas drukowania filamentami podatnymi na odkształcenia, takimi jak ABS, odpowiednie zwiększenie temperatury podgrzewanej płyty może zmniejszyć prawdopodobieństwo odkształceń." #~ msgid "Actions For Unsaved Changes" #~ msgstr "Działania dotyczące niezapisanych zmian" @@ -16409,29 +13356,21 @@ msgstr "" #~ msgid "" #~ "\n" -#~ "Would you like to keep these changed settings(modified value) after " -#~ "switching preset?" +#~ "Would you like to keep these changed settings(modified value) after switching preset?" #~ msgstr "" #~ "\n" #~ "\n" -#~ "Czy chciałbyś zachować te zmienione ustawienia (zmodyfikowaną wartość) po " -#~ "przełączeniu profilu?" +#~ "Czy chciałbyś zachować te zmienione ustawienia (zmodyfikowaną wartość) po przełączeniu profilu?" -#~ msgid "" -#~ "You have previously modified your settings and are about to overwrite " -#~ "them with new ones." -#~ msgstr "" -#~ "Wcześniej zmodyfikowałeś swoje ustawienia i masz zamiar nadpisać je " -#~ "nowymi." +#~ msgid "You have previously modified your settings and are about to overwrite them with new ones." +#~ msgstr "Wcześniej zmodyfikowałeś swoje ustawienia i masz zamiar nadpisać je nowymi." #~ msgid "" #~ "\n" -#~ "Do you want to keep your current modified settings, or use preset " -#~ "settings?" +#~ "Do you want to keep your current modified settings, or use preset settings?" #~ msgstr "" #~ "\n" -#~ "Czy chcesz zachować obecnie zmienione ustawienia, czy może chcesz użyć " -#~ "ustawień domyślnych?" +#~ "Czy chcesz zachować obecnie zmienione ustawienia, czy może chcesz użyć ustawień domyślnych?" #~ msgid "" #~ "\n" @@ -16444,8 +13383,7 @@ msgstr "" #~ msgstr "Wyładuj" #~ msgid "A problem occured during calibration. Click to view the solution." -#~ msgstr "" -#~ "Wystąpił problem podczas kalibracji. Kliknij, aby zobaczyć rozwiązanie." +#~ msgstr "Wystąpił problem podczas kalibracji. Kliknij, aby zobaczyć rozwiązanie." #~ msgid "MC" #~ msgstr "MC (Płytka główna)" @@ -16480,42 +13418,20 @@ msgstr "" #~ msgid "Cabin humidity" #~ msgstr "Wilgotność w kabinie" -#~ msgid "" -#~ "Green means that AMS humidity is normal, orange represent humidity is " -#~ "high, red represent humidity is too high.(Hygrometer: lower the better.)" -#~ msgstr "" -#~ "Zielony kolor oznacza, że wilgotność w AMS jest normalna, pomarańczowy " -#~ "oznacza wysoką wilgotność, czerwony oznacza zbyt wysoką wilgotność. " -#~ "(Higrometr: im niższa, tym lepiej.)" +#~ msgid "Green means that AMS humidity is normal, orange represent humidity is high, red represent humidity is too high.(Hygrometer: lower the better.)" +#~ msgstr "Zielony kolor oznacza, że wilgotność w AMS jest normalna, pomarańczowy oznacza wysoką wilgotność, czerwony oznacza zbyt wysoką wilgotność. (Higrometr: im niższa, tym lepiej.)" #~ msgid "Desiccant status" #~ msgstr "Stan wilgotności" -#~ msgid "" -#~ "A desiccant status lower than two bars indicates that desiccant may be " -#~ "inactive. Please change the desiccant.(The bars: higher the better.)" -#~ msgstr "" -#~ "Stan wilgotności poniżej dwóch kresek oznacza, że sorbent może być " -#~ "nieaktywny. Proszę wymień sorbent. (Im więcej kresek, tym lepiej.)" +#~ msgid "A desiccant status lower than two bars indicates that desiccant may be inactive. Please change the desiccant.(The bars: higher the better.)" +#~ msgstr "Stan wilgotności poniżej dwóch kresek oznacza, że sorbent może być nieaktywny. Proszę wymień sorbent. (Im więcej kresek, tym lepiej.)" -#~ msgid "" -#~ "Note: When the lid is open or the desiccant pack is changed, it can take " -#~ "hours or a night to absorb the moisture. Low temperatures also slow down " -#~ "the process. During this time, the indicator may not represent the " -#~ "chamber accurately." -#~ msgstr "" -#~ "Uwaga: gdy pokrywa jest otwarta lub zmieniono pakiet sorbentu, może " -#~ "potrwać kilka godzin lub noc, aby wchłonąć wilgoć. Niska temperatura " -#~ "również spowalnia proces. W tym czasie wskaźnik może nie dokładnie " -#~ "odzwierciedlać stan komory." +#~ msgid "Note: When the lid is open or the desiccant pack is changed, it can take hours or a night to absorb the moisture. Low temperatures also slow down the process. During this time, the indicator may not represent the chamber accurately." +#~ msgstr "Uwaga: gdy pokrywa jest otwarta lub zmieniono pakiet sorbentu, może potrwać kilka godzin lub noc, aby wchłonąć wilgoć. Niska temperatura również spowalnia proces. W tym czasie wskaźnik może nie dokładnie odzwierciedlać stan komory." -#~ msgid "" -#~ "Note: if new filament is inserted during printing, the AMS will not " -#~ "automatically read any information until printing is completed." -#~ msgstr "" -#~ "Uwaga: jeśli podczas drukowania włożony zostanie nowy filament, AMS nie " -#~ "będzie automatycznie odczytywać żadnych informacji do zakończenia " -#~ "drukowania." +#~ msgid "Note: if new filament is inserted during printing, the AMS will not automatically read any information until printing is completed." +#~ msgstr "Uwaga: jeśli podczas drukowania włożony zostanie nowy filament, AMS nie będzie automatycznie odczytywać żadnych informacji do zakończenia drukowania." #, boost-format #~ msgid "Succeed to export G-code to %1%" @@ -16527,22 +13443,17 @@ msgstr "" #~ msgid "Initialize failed (No Camera Device)!" #~ msgstr "Inicjalizacja nie powiodła się (Brak urządzenia kamery)!" -#~ msgid "" -#~ "Printer is busy downloading, Please wait for the downloading to finish." -#~ msgstr "" -#~ "Drukarka jest zajęta pobieraniem. Proszę czekać, aż pobieranie zostanie " -#~ "zakończone." +#~ msgid "Printer is busy downloading, Please wait for the downloading to finish." +#~ msgstr "Drukarka jest zajęta pobieraniem. Proszę czekać, aż pobieranie zostanie zakończone." #~ msgid "Initialize failed (Not supported on the current printer version)!" -#~ msgstr "" -#~ "Inicjalizacja nie powiodła się (Nieobsługiwane w obecnej wersji drukarki)!" +#~ msgstr "Inicjalizacja nie powiodła się (Nieobsługiwane w obecnej wersji drukarki)!" #~ msgid "Initialize failed (Not accessible in LAN-only mode)!" #~ msgstr "Inicjalizacja nie powiodła się (Niedostępne w trybie tylko LAN)!" #~ msgid "Initialize failed (Missing LAN ip of printer)!" -#~ msgstr "" -#~ "Inicjalizacja nie powiodła się (Brak adresu IP drukarki w sieci LAN)!" +#~ msgstr "Inicjalizacja nie powiodła się (Brak adresu IP drukarki w sieci LAN)!" #, c-format, boost-format #~ msgid "Stopped [%d]!" @@ -16572,46 +13483,33 @@ msgstr "" #~ msgid "File not exists." #~ msgstr "Plik nie istnieje." -#~ msgid "" -#~ "Unable to perform boolean operation on model meshes. Only positive parts " -#~ "will be exported." -#~ msgstr "" -#~ "Nie można wykonywać operacji boolowskich na siatkach modeli. Eksportowane " -#~ "będą tylko części dodatnie." +#~ msgid "Unable to perform boolean operation on model meshes. Only positive parts will be exported." +#~ msgstr "Nie można wykonywać operacji boolowskich na siatkach modeli. Eksportowane będą tylko części dodatnie." #, boost-format #~ msgid "" #~ "You have changed some settings of preset \"%1%\". \n" -#~ "Would you like to keep these changed settings (new value) after switching " -#~ "preset?" +#~ "Would you like to keep these changed settings (new value) after switching preset?" #~ msgstr "" #~ "Zmieniłeś niektóre ustawienia profilu \"%1%\". \n" -#~ "Czy chciałbyś zachować te zmienione ustawienia (nowa wartość) po zmianie " -#~ "profilu?" +#~ "Czy chciałbyś zachować te zmienione ustawienia (nowa wartość) po zmianie profilu?" #~ msgid "" #~ "You have changed some preset settings. \n" -#~ "Would you like to keep these changed settings (new value) after switching " -#~ "preset?" +#~ "Would you like to keep these changed settings (new value) after switching preset?" #~ msgstr "" #~ "Zmieniłeś niektóre ustawienia profilu. \n" -#~ "Czy chciałbyś zachować te zmienione ustawienia (nowa wartość) po zmianie " -#~ "profilu?" +#~ "Czy chciałbyś zachować te zmienione ustawienia (nowa wartość) po zmianie profilu?" #~ msgid " ℃" #~ 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 have a significant impact on printing quality. Please " -#~ "set them carefully." +#~ "Please note that nozzle temperature, hot bed temperature, and maximum volumetric speed have a significant impact on printing quality. Please set them carefully." #~ msgstr "" -#~ "Jeśli zajdzie taka potrzeba, proszę przejść do ustawień filamentu, aby " -#~ "edytować swoje zmiany.\n" -#~ "Zwróć uwagę, że temperatura dyszy, temperatura podgrzewanego stołu oraz " -#~ "maksymalna prędkość przepływu mają znaczący wpływ na jakość druku 3D. " -#~ "Proszę ustawić je z rozwagą." +#~ "Jeśli zajdzie taka potrzeba, proszę przejść do ustawień filamentu, aby edytować swoje zmiany.\n" +#~ "Zwróć uwagę, że temperatura dyszy, temperatura podgrzewanego stołu oraz maksymalna prędkość przepływu mają znaczący wpływ na jakość druku 3D. Proszę ustawić je z rozwagą." #~ msgid "Timeout when authenticating with the account server." #~ msgstr "Przekroczono limit czasu serwera podczas uwierzytelniania." @@ -16621,8 +13519,7 @@ msgstr "" #~ "Did you know that OrcaSlicer can support Air filtration/Exhuast Fan?" #~ msgstr "" #~ "Filtracja powietrza/Wentylator wyciągowy\n" -#~ "Czy wiesz, że OrcaSlicer może obsługiwać filtrację powietrza/wentylator " -#~ "wyciągowy?" +#~ "Czy wiesz, że OrcaSlicer może obsługiwać filtrację powietrza/wentylator wyciągowy?" #~ msgid "Studio Version:" #~ msgstr "Wersja Studio:" @@ -16667,29 +13564,19 @@ msgstr "" #~ msgstr "Test załadunku przechowywania" #~ msgid "" -#~ "The speed setting exceeds the printer's maximum speed " -#~ "(machine_max_speed_x/machine_max_speed_y).\n" -#~ "Orca will automatically cap the print speed to ensure it doesn't surpass " -#~ "the printer's capabilities.\n" -#~ "You can adjust the maximum speed setting in your printer's configuration " -#~ "to get higher speeds." +#~ "The speed setting exceeds the printer's maximum speed (machine_max_speed_x/machine_max_speed_y).\n" +#~ "Orca will automatically cap the print speed to ensure it doesn't surpass the printer's capabilities.\n" +#~ "You can adjust the maximum speed setting in your printer's configuration to get higher speeds." #~ msgstr "" -#~ "Ustawienie prędkości przekracza maksymalną prędkość drukarki " -#~ "(machine_max_speed_x/machine_max_speed_y).\n" -#~ "Orca automatycznie ograniczy prędkość druku, aby nie przekroczyć " -#~ "zdolności drukarki.\n" -#~ "Możesz dostosować ustawienie maksymalnej prędkości w konfiguracji swojej " -#~ "drukarki, aby uzyskać wyższe prędkości." +#~ "Ustawienie prędkości przekracza maksymalną prędkość drukarki (machine_max_speed_x/machine_max_speed_y).\n" +#~ "Orca automatycznie ograniczy prędkość druku, aby nie przekroczyć zdolności drukarki.\n" +#~ "Możesz dostosować ustawienie maksymalnej prędkości w konfiguracji swojej drukarki, aby uzyskać wyższe prędkości." #~ msgid "Choose ZIP file" #~ msgstr "Wybierz plik ZIP" -#~ msgid "" -#~ "Could not start URL download. Destination folder is not set. Please " -#~ "choose destination folder in Configuration Wizard." -#~ msgstr "" -#~ "Nie można rozpocząć pobierania pliku z adresu URL. Folder docelowy nie " -#~ "jest ustawiony. Proszę wybrać folder docelowy w Kreatorze Konfiguracji" +#~ msgid "Could not start URL download. Destination folder is not set. Please choose destination folder in Configuration Wizard." +#~ msgstr "Nie można rozpocząć pobierania pliku z adresu URL. Folder docelowy nie jest ustawiony. Proszę wybrać folder docelowy w Kreatorze Konfiguracji" #~ msgid "Import Zip Archive" #~ msgstr "Importuj archiwum ZIP" @@ -16707,68 +13594,46 @@ msgstr "" #, boost-format #~ msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." -#~ msgstr "" -#~ "Nie udało się znaleźć rozpakowanego pliku pod adresem %1%. Rozpakowywanie " -#~ "pliku nie powiodło się." +#~ msgstr "Nie udało się znaleźć rozpakowanego pliku pod adresem %1%. Rozpakowywanie pliku nie powiodło się." #~ msgid "Allow downloads from Printables.com" #~ msgstr "Zezwól na pobieranie modeli z Printables.com" #~ msgid "" #~ "When using scarf joint, we recommend the following settings:\n" -#~ "print outer wall first, disable wipe before external loop, reduce outer " -#~ "wall speed to no greater than 50mm/s, and don't use random or nearest " -#~ "seam position" +#~ "print outer wall first, disable wipe before external loop, reduce outer wall speed to no greater than 50mm/s, and don't use random or nearest seam position" #~ msgstr "" #~ "Przy korzystaniu ze szwu szalikowego zalecamy następujące ustawienia: \n" -#~ "drukuj zewnętrzną ściane jako pierwszą, wyłączenie czyszczenia przed " -#~ "zewnętrzną pętlą, ograniczenie prędkości zewnętrznej ściany do " -#~ "maksymalnie 50 mm/s oraz unikanie stosowania pozycji szwu \"losowo\" lub " -#~ "\"najbliższy\"." +#~ "drukuj zewnętrzną ściane jako pierwszą, wyłączenie czyszczenia przed zewnętrzną pętlą, ograniczenie prędkości zewnętrznej ściany do maksymalnie 50 mm/s oraz unikanie stosowania pozycji szwu \"losowo\" lub \"najbliższy\"." -#~ msgid "" -#~ "Add solid infill near sloping surfaces to guarantee the vertical shell " -#~ "thickness (top+bottom solid layers)" -#~ msgstr "" -#~ "Dodaj pełne wypełnienie w pobliżu nachylonych powierzchni, aby " -#~ "zagwarantować pionową grubość powłoki (górne+ dolne pełne warstwy)" +#~ msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)" +#~ msgstr "Dodaj pełne wypełnienie w pobliżu nachylonych powierzchni, aby zagwarantować pionową grubość powłoki (górne+ dolne pełne warstwy)" #~ msgid "Further reduce solid infill on walls (beta)" #~ msgstr "Dodatkowe zmniejszenie gęstości wypełnienia na obwodzie (beta)" #~ msgid "" -#~ "Further reduces any solid infill applied to walls. As there will be very " -#~ "limited infill supporting solid surfaces, make sure that you are using " -#~ "adequate number of walls to support the part on sloping surfaces.\n" +#~ "Further reduces any solid infill applied to walls. As there will be very limited infill supporting solid surfaces, make sure that you are using adequate number of walls to support the part on sloping surfaces.\n" #~ "\n" -#~ "For heavily sloped surfaces this option is not suitable as it will " -#~ "generate too thin of a top layer and should be disabled." +#~ "For heavily sloped surfaces this option is not suitable as it will generate too thin of a top layer and should be disabled." #~ msgstr "" #~ "Dodatkowo redukuje ilość stałego wypełnienia aplikowanego na ściany. \n" #~ "\n" -#~ "Ponieważ ilość wypełnienia podpory powierzchni stałych będzie bardzo " -#~ "ograniczona, upewnij się, że używasz odpowiedniej liczby ścian do " -#~ "podparcia części na nachylonych powierzchniach." +#~ "Ponieważ ilość wypełnienia podpory powierzchni stałych będzie bardzo ograniczona, upewnij się, że używasz odpowiedniej liczby ścian do podparcia części na nachylonych powierzchniach." #~ msgid "Scarf joint seam" #~ msgstr "Szew szalikowy (beta)" #~ 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.05mm." +#~ "This amount can be specified in millimeters or as a percentage of the current layer height. The default value for this parameter is 0.05mm." #~ msgstr "" #~ "Początkowa wysokość szwu szalikowego.\n" #~ "\n" -#~ "Ta wartość może być określona w milimetrach lub jako procent bieżącej " -#~ "wysokości warstwy. Domyślna wartość tego parametru to 0,05 mm." +#~ "Ta wartość może być określona w milimetrach lub jako procent bieżącej wysokości warstwy. Domyślna wartość tego parametru to 0,05 mm." -#~ msgid "" -#~ "Speed of exhuast fan during printing.This speed will overwrite the speed " -#~ "in filament custom gcode" -#~ msgstr "" -#~ "Prędkość wentylatora wyciągowego podczas druku. Ta prędkość zastąpi " -#~ "prędkość w niestandardowym gcode filamentu" +#~ msgid "Speed of exhuast fan during printing.This speed will overwrite the speed in filament custom gcode" +#~ msgstr "Prędkość wentylatora wyciągowego podczas druku. Ta prędkość zastąpi prędkość w niestandardowym gcode filamentu" #~ msgid "Speed of exhuast fan after printing completes" #~ msgstr "Prędkość wentylatora wyciągowego po zakończeniu druku" @@ -16830,22 +13695,14 @@ msgstr "" #~ msgstr "Witam" #, c-format, boost-format -#~ msgid "" -#~ "Hello, welcome to %s! This %s helps you with the initial configuration; " -#~ "just a few settings and you will be ready to print." -#~ msgstr "" -#~ "Witaj w %s! Ten %s pomoże Ci z konfiguracją początkową - wszystko będzie " -#~ "gotowe do drukowania po zaledwie kilku kliknięciach" +#~ msgid "Hello, welcome to %s! This %s helps you with the initial configuration; just a few settings and you will be ready to print." +#~ msgstr "Witaj w %s! Ten %s pomoże Ci z konfiguracją początkową - wszystko będzie gotowe do drukowania po zaledwie kilku kliknięciach" #~ msgid "Remove user profiles (a snapshot will be taken beforehand)" #~ msgstr "Usuń profile użytkownika (zostanie wykonany zrzut)" -#~ msgid "" -#~ "Perform desktop integration (Sets this binary to be searchable by the " -#~ "system)." -#~ msgstr "" -#~ "Wykonaj integrację z pulpitem (ustawia ten plik binarny tak, aby był " -#~ "możliwy do wyszukania przez system)." +#~ msgid "Perform desktop integration (Sets this binary to be searchable by the system)." +#~ msgstr "Wykonaj integrację z pulpitem (ustawia ten plik binarny tak, aby był możliwy do wyszukania przez system)." #, c-format, boost-format #~ msgid "%s Family" @@ -16864,12 +13721,8 @@ msgstr "" #~ msgstr "(Wszystko)" #, boost-format -#~ msgid "" -#~ "%1% marked with * are not compatible with some installed " -#~ "printers." -#~ msgstr "" -#~ "%1% oznaczone symbolem *niekompatybilne z niektórymi " -#~ "zainstalowanymi drukarkami." +#~ msgid "%1% marked with * are not compatible with some installed printers." +#~ msgstr "%1% oznaczone symbolem *niekompatybilne z niektórymi zainstalowanymi drukarkami." #~ msgid "SLA materials" #~ msgstr "Materiał rozpuszczalny" @@ -16884,19 +13737,11 @@ msgstr "" #~ msgid "SLA material" #~ msgstr "Materiał rozpuszczalny" -#~ msgid "" -#~ "Only the following installed printers are compatible with the selected " -#~ "filaments" -#~ msgstr "" -#~ "Tylko następujące zainstalowane drukarki są kompatybilne z wybranymi " -#~ "filamentami" +#~ msgid "Only the following installed printers are compatible with the selected filaments" +#~ msgstr "Tylko następujące zainstalowane drukarki są kompatybilne z wybranymi filamentami" -#~ msgid "" -#~ "Only the following installed printers are compatible with the selected " -#~ "SLA materials" -#~ msgstr "" -#~ "Tylko następujące zainstalowane drukarki są kompatybilne z wybranymi " -#~ "materiałami SLA" +#~ msgid "Only the following installed printers are compatible with the selected SLA materials" +#~ msgstr "Tylko następujące zainstalowane drukarki są kompatybilne z wybranymi materiałami SLA" #~ msgid "Custom Printer Setup" #~ msgstr "Ustawienie Własnej Drukarki" @@ -16943,12 +13788,8 @@ msgstr "" #~ msgid "Enter the diameter of your filament." #~ msgstr "Wprowadź średnicę filamentu." -#~ msgid "" -#~ "Good precision is required, so use a caliper and do multiple measurements " -#~ "along the filament, then compute the average." -#~ msgstr "" -#~ "Wymagana jest spora precyzja, użyj więc suwmiarki, przeprowadź kilka " -#~ "pomiarów w sporych odstępach od siebie i oblicz średnią." +#~ msgid "Good precision is required, so use a caliper and do multiple measurements along the filament, then compute the average." +#~ msgstr "Wymagana jest spora precyzja, użyj więc suwmiarki, przeprowadź kilka pomiarów w sporych odstępach od siebie i oblicz średnią." #~ msgid "Filament Diameter:" #~ msgstr "Średnica filamentu:" @@ -16960,25 +13801,16 @@ msgstr "" #~ msgstr "Wprowadź temperaturę dyszy potrzebną do ekstruzji filamentu." #~ msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." -#~ msgstr "" -#~ "Generalną zasadą jest 160 do 230 °C dla PLA i 215 do 250 °C dla ABS." +#~ msgstr "Generalną zasadą jest 160 do 230 °C dla PLA i 215 do 250 °C dla ABS." #~ msgid "Extrusion Temperature:" #~ msgstr "Temperatura ekstrudera:" -#~ msgid "" -#~ "Enter the bed temperature needed for getting your filament to stick to " -#~ "your heated bed." -#~ msgstr "" -#~ "Wprowadź temperaturę potrzebną do dobrego przylegania filamentu do " -#~ "powierzchni podgrzewanego stołu." +#~ msgid "Enter the bed temperature needed for getting your filament to stick to your heated bed." +#~ msgstr "Wprowadź temperaturę potrzebną do dobrego przylegania filamentu do powierzchni podgrzewanego stołu." -#~ msgid "" -#~ "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you " -#~ "have no heated bed." -#~ msgstr "" -#~ "Generalną zasadą jest 60 °C dla PLA i 110 °C dla ABS. Ustaw zero, jeśli " -#~ "nie masz podgrzewanego stołu." +#~ msgid "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have no heated bed." +#~ msgstr "Generalną zasadą jest 60 °C dla PLA i 110 °C dla ABS. Ustaw zero, jeśli nie masz podgrzewanego stołu." #~ msgid "Bed Temperature:" #~ msgstr "Temperatura stołu" @@ -16993,26 +13825,17 @@ msgstr "" #~ msgstr "Technologia druku SLA" #, boost-format -#~ msgid "" -#~ "Following printer profiles has no default filament: %1%Please select one " -#~ "manually." -#~ msgstr "" -#~ "Następujące profile druku nie mają domyślnego filamentu: %1% Wybierz " -#~ "jeden ręcznie." +#~ msgid "Following printer profiles has no default filament: %1%Please select one manually." +#~ msgstr "Następujące profile druku nie mają domyślnego filamentu: %1% Wybierz jeden ręcznie." #, boost-format -#~ msgid "" -#~ "Following printer profiles has no default material: %1%Please select one " -#~ "manually." -#~ msgstr "" -#~ "Następujące profile druku nie mają domyślnego materiału: %1% Wybierz " -#~ "jeden ręcznie." +#~ msgid "Following printer profiles has no default material: %1%Please select one manually." +#~ msgstr "Następujące profile druku nie mają domyślnego materiału: %1% Wybierz jeden ręcznie." #~ msgid "The following FFF printer models have no filament selected:" #~ msgstr "Następujące modele drukarek FFF nie mają przypisanych filamentów:" -#~ msgid "" -#~ "Do you want to select default filaments for these FFF printer models?" +#~ msgid "Do you want to select default filaments for these FFF printer models?" #~ msgstr "Czy chcesz ustawić domyślne filamenty dla tych modeli drukarek FFF?" #~ msgid "Configuration is edited in ConfigWizard" @@ -17022,17 +13845,10 @@ msgstr "" #~ msgstr "Wszystkie profile ustawień użytkownika zostaną usunięte." #~ msgid "A new vendor was installed and one of its printers will be activated" -#~ msgid_plural "" -#~ "New vendors were installed and one of theirs printers will be activated" -#~ msgstr[0] "" -#~ "Nowy producent drukarki został dodany i jedna z jego drukarek zostanie " -#~ "aktywowana" -#~ msgstr[1] "" -#~ "Nowych producentów drukarek zostało dodanych i jedna z ich drukarek " -#~ "zostanie aktywowana." -#~ msgstr[2] "" -#~ "Nowych producentów drukarek zostało dodanych i jedna z ich drukarek " -#~ "zostanie aktywowana." +#~ msgid_plural "New vendors were installed and one of theirs printers will be activated" +#~ msgstr[0] "Nowy producent drukarki został dodany i jedna z jego drukarek zostanie aktywowana" +#~ msgstr[1] "Nowych producentów drukarek zostało dodanych i jedna z ich drukarek zostanie aktywowana." +#~ msgstr[2] "Nowych producentów drukarek zostało dodanych i jedna z ich drukarek zostanie aktywowana." #~ msgid "A new Printer was installed and it will be activated." #~ msgstr "Zainstalowano nową drukarkę i zostanie ona aktywowana." @@ -17050,8 +13866,7 @@ msgstr "" #~ msgstr "Niektóre filamenty zostały odinstalowane." #~ msgid "Custom printer was installed and it will be activated." -#~ msgstr "" -#~ "Niestandardowa drukarka została zainstalowana i zostanie aktywowana." +#~ msgstr "Niestandardowa drukarka została zainstalowana i zostanie aktywowana." #~ msgid " Extruder -> Layer " -#~ "height limits, this may cause printing quality issues." -#~ msgstr "" -#~ "Wysokość warstwy przekracza limit w Ustawieniach Drukarki -> Extruder -> " -#~ "Limity wysokości warstwy, co może powodować problemy z jakością druku." +#~ msgid "Layer height exceeds the limit in Printer Settings -> Extruder -> Layer height limits, this may cause printing quality issues." +#~ msgstr "Wysokość warstwy przekracza limit w Ustawieniach Drukarki -> Extruder -> Limity wysokości warstwy, co może powodować problemy z jakością druku." #~ msgid "Delete objects, parts, modifiers " #~ msgstr "Usuń obiekty, części, modyfikatory " -#~ msgid "" -#~ "Connection failed! If your IP and Access Code is correct, please move to " -#~ "step 3 for troubleshooting network issues" -#~ msgstr "" -#~ "Połączenie nieudane! Jeśli twój IP i kod dostępu są poprawne, przejdź do " -#~ "kroku 3, aby rozwiązać problemy z siecią" +#~ msgid "Connection failed! If your IP and Access Code is correct, please move to step 3 for troubleshooting network issues" +#~ msgstr "Połączenie nieudane! Jeśli twój IP i kod dostępu są poprawne, przejdź do kroku 3, aby rozwiązać problemy z siecią" #, c-format -#~ msgid "" -#~ "Force cooling fan to be specific speed when overhang degree of printed " -#~ "part exceeds this value.Expressed as percentage which indicides how much " -#~ "width of the line without support from lower layer. 0% means forcing " -#~ "cooling for all outer wall no matter how much overhang degree" -#~ msgstr "" -#~ "Wymuś pracę wentylatora chłodzącego na określoną prędkość, gdy stopień " -#~ "nawisu drukowanej części przekracza tę wartość. Wyrażone w procentach, co " -#~ "wskazuje, jak duża jest szerokość linii bez podpór z niższej warstwy. 0%% " -#~ "oznacza wymuszanie chłodzenia dla całej zewnętrznej ściany, bez względu " -#~ "na stopień nawisu" +#~ msgid "Force cooling fan to be specific speed when overhang degree of printed part exceeds this value.Expressed as percentage which indicides how much width of the line without support from lower layer. 0% means forcing cooling for all outer wall no matter how much overhang degree" +#~ msgstr "Wymuś pracę wentylatora chłodzącego na określoną prędkość, gdy stopień nawisu drukowanej części przekracza tę wartość. Wyrażone w procentach, co wskazuje, jak duża jest szerokość linii bez podpór z niższej warstwy. 0%% oznacza wymuszanie chłodzenia dla całej zewnętrznej ściany, bez względu na stopień nawisu" #, c-format, 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" +#~ "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 odd layers regardless." #~ msgstr "" -#~ "Ilość mm, jaką musi mieć nawis, aby odwrócenie było uznane za użyteczne. " -#~ "Może być to %% szerokości obryski.\n" -#~ "Wartość 0 umożliwia odwrócenie na każdej nieparzystej warstwie, " -#~ "niezależnie od wszystkiego." +#~ "Ilość mm, jaką musi mieć nawis, aby odwrócenie było uznane za użyteczne. Może być to %% szerokości obryski.\n" +#~ "Wartość 0 umożliwia odwrócenie na każdej nieparzystej warstwie, niezależnie od wszystkiego." -#~ msgid "" -#~ "Smooth Spiral smoothes 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 wygładza również ruchy w osiach X i Y, co skutkuje brakiem " -#~ "widocznych szwów, nawet w kierunkach XY na ścianach, które nie są pionowe" +#~ msgid "Smooth Spiral smoothes 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 wygładza również ruchy w osiach X i Y, co skutkuje brakiem widocznych szwów, nawet w kierunkach XY na ścianach, które nie są pionowe" -#~ 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 "" -#~ "Maksymalna odległość przesuwania punktów w XY, aby osiągnąć gładką " -#~ "spiralę. Jeśli wyrażona w procentach, będzie obliczona na podstawie " -#~ "średnicy dyszy" +#~ 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 "Maksymalna odległość przesuwania punktów w XY, aby osiągnąć gładką spiralę. Jeśli wyrażona w procentach, będzie obliczona na podstawie średnicy dyszy" #, c-format, 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 leway to " -#~ "broaden the detection.\n" +#~ "As cylinders are often exported as triangles of varying size, points may not be on the circle circumference. This setting allows you some leway to broaden the detection.\n" #~ "In mm or in %% of the radius." #~ msgstr "" #~ "Maksymalne odchylenie punktu od szacowanego promienia koła.\n" -#~ "Ponieważ cylindry często eksportowane są jako trójkąty o różnej " -#~ "wielkości, punkty mogą nie znajdować się na obwodzie koła. To ustawienie " -#~ "pozwala na pewną swobodę w poszerzaniu wykrywania.\n" +#~ "Ponieważ cylindry często eksportowane są jako trójkąty o różnej wielkości, punkty mogą nie znajdować się na obwodzie koła. To ustawienie pozwala na pewną swobodę w poszerzaniu wykrywania.\n" #~ "W mm lub w %% promienia." #~ msgid "Certificate files (.crt, .pem)|.crt;.pem|All files|." #~ msgstr "Pliki certyfikatów (.crt, .pem)|.crt;.pem|Wszystkie pliki|." -#~ 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 always " -#~ "enabled on BambuLab printers. Default is checked" -#~ msgstr "" -#~ "Przy użyciu opcji \"label_objects\" zaleca się ekstruzję względną. " -#~ "Niektóre ekstrudery działają lepiej, gdy ta opcja jest odznaczona (tryb " -#~ "ekstruzji absolutnej). Wieża czyszcząca jest kompatybilna tylko z trybem " -#~ "względnym. Jest zawsze włączona w drukarkach BambuLab. Domyślnie " -#~ "zaznaczone" +#~ 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 always enabled on BambuLab printers. Default is checked" +#~ msgstr "Przy użyciu opcji \"label_objects\" zaleca się ekstruzję względną. Niektóre ekstrudery działają lepiej, gdy ta opcja jest odznaczona (tryb ekstruzji absolutnej). Wieża czyszcząca jest kompatybilna tylko z trybem względnym. Jest zawsze włączona w drukarkach BambuLab. Domyślnie zaznaczone" #~ msgid "Error! Unable to create thread!" #~ msgstr "Błąd! Nie można utworzyć wątku!" @@ -18189,34 +14667,22 @@ msgstr "" #~ msgid "Exception" #~ msgstr "Wyjątek" -#~ msgid "" -#~ "Discribe how long the nozzle will move along the last path when retracting" -#~ msgstr "" -#~ "Opisz, jak długo dysza będzie się poruszać wzdłuż ostatniej ścieżki " -#~ "podczas retrakcji" +#~ msgid "Discribe how long the nozzle will move along the last path when retracting" +#~ msgstr "Opisz, jak długo dysza będzie się poruszać wzdłuż ostatniej ścieżki podczas retrakcji" #~ msgid "" #~ "Simplify Model\n" -#~ "Did 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. Read more in the documentation." +#~ "Did 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. Read more in the documentation." #~ msgstr "" #~ "Uprość model\n" -#~ "Czy wiedziałeś, że możesz zmniejszyć liczbę trójkątów w siatce za pomocą " -#~ "funkcji Uprość siatkę? Kliknij prawym przyciskiem myszy na model i " -#~ "wybierz Uprość model. Więcej informacji znajdziesz w dokumentacji." +#~ "Czy wiedziałeś, że możesz zmniejszyć liczbę trójkątów w siatce za pomocą funkcji Uprość siatkę? Kliknij prawym przyciskiem myszy na model i wybierz Uprość model. Więcej informacji znajdziesz w dokumentacji." #~ msgid "" #~ "Subtract a Part\n" -#~ "Did 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. Read more in the documentation." +#~ "Did 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. Read more in the documentation." #~ msgstr "" #~ "Odejmowanie części\n" -#~ "Czy wiedziałeś, że możesz odjąć jedną siatkę od drugiej, używając " -#~ "modyfikatora negatywnej części? W ten sposób na przykład możesz łatwo " -#~ "tworzyć otwory o zmiennej wielkości bezpośrednio w Orca Slicer. " -#~ "Przeczytaj więcej w dokumentacji." +#~ "Czy wiedziałeś, że możesz odjąć jedną siatkę od drugiej, używając modyfikatora negatywnej części? W ten sposób na przykład możesz łatwo tworzyć otwory o zmiennej wielkości bezpośrednio w Orca Slicer. Przeczytaj więcej w dokumentacji." #~ msgid "Filling bed " #~ msgstr "Wypełnianie podłoża " @@ -18235,8 +14701,7 @@ msgstr "" #~ "Nie - automatycznie zresetuj gęstość do domyślnej wartości nie 100%" #~ msgid "Please heat the nozzle to above 170 degree before loading filament." -#~ msgstr "" -#~ "Proszę podgrzać dyszę do ponad 170 stopni przed załadowaniem filamentu." +#~ msgstr "Proszę podgrzać dyszę do ponad 170 stopni przed załadowaniem filamentu." #~ msgid "Show g-code window" #~ msgstr "Pokaż okno G-kodu" @@ -18246,9 +14711,7 @@ msgstr "" #, fuzzy, c-format #~ msgid "Density of internal sparse infill, 100% means solid throughout" -#~ msgstr "" -#~ "Gęstość wewnętrznego rzadkiego wypełnienia, 100% oznacza pełne w całym " -#~ "zakresie" +#~ msgstr "Gęstość wewnętrznego rzadkiego wypełnienia, 100% oznacza pełne w całym zakresie" #~ msgid "Tree support wall loops" #~ msgstr "Pętle ścienne podpory drzewnej" @@ -18276,9 +14739,7 @@ msgstr "" #~ msgstr "Proszę wprowadzić prawidłową wartość (K w zakresie 0~0,5)" #~ msgid "Please input a valid value (K in 0~0.5, N in 0.6~2.0)" -#~ msgstr "" -#~ "Proszę wprowadzić prawidłową wartość (K w zakresie 0~0,5, N w zakresie " -#~ "0,6~2,0)" +#~ msgstr "Proszę wprowadzić prawidłową wartość (K w zakresie 0~0,5, N w zakresie 0,6~2,0)" #~ msgid "Export all objects as STL" #~ msgstr "Eksportuj wszystkie obiekty jako STL" @@ -18292,12 +14753,8 @@ msgstr "" #~ msgid "Add/Remove printers" #~ msgstr "Dodaj/Usuń drukarki" -#~ msgid "" -#~ "When print by object, machines with I3 structure will not generate " -#~ "timelapse videos." -#~ msgstr "" -#~ "Podczas drukowania według obiektu, maszyny ze strukturą I3 nie będą " -#~ "tworzyć filmów poklatkowych." +#~ msgid "When print by object, machines with I3 structure will not generate timelapse videos." +#~ msgstr "Podczas drukowania według obiektu, maszyny ze strukturą I3 nie będą tworzyć filmów poklatkowych." #, c-format, boost-format #~ msgid "%s is not supported by AMS." @@ -18309,21 +14766,14 @@ msgstr "" #~ msgid "Error: IP or Access Code are not correct" #~ msgstr "Błąd: IP lub kod dostępu są niepoprawne" -#~ msgid "" -#~ "Extrude perimeters that have a part over an overhang in the reverse " -#~ "direction on odd layers. This alternating pattern can drastically improve " -#~ "steep overhang." -#~ msgstr "" -#~ "Ekstruduj obwody, które mają część nad występem w przeciwnym kierunku na " -#~ "nieparzystych warstwach. Ten naprzemienny wzór może drastycznie poprawić " -#~ "strome nawisy." +#~ msgid "Extrude perimeters that have a part over an overhang in the reverse direction on odd layers. This alternating pattern can drastically improve steep overhang." +#~ msgstr "Ekstruduj obwody, które mają część nad występem w przeciwnym kierunku na nieparzystych warstwach. Ten naprzemienny wzór może drastycznie poprawić strome nawisy." #~ msgid "Order of inner wall/outer wall/infil" #~ msgstr "Kolejność wewnętrznej ściany/zewnętrznej ściany/wypełnienia" #~ msgid "Print sequence of inner wall, outer wall and infill. " -#~ msgstr "" -#~ "Sekwencja druku wewnętrznej ściany, zewnętrznej ściany i wypełnienia. " +#~ msgstr "Sekwencja druku wewnętrznej ściany, zewnętrznej ściany i wypełnienia. " #~ msgid "inner/outer/infill" #~ msgstr "wewnętrzna/zewnętrzna/wypełnienie" @@ -18384,9 +14834,7 @@ msgstr "" #~ msgstr "Załaduj domyślne filamenty" #~ msgid "Load first filament as default for those not loaded" -#~ msgstr "" -#~ "Załaduj pierwszy filament jako domyślny dla tych, które nie zostały " -#~ "załadowane" +#~ msgstr "Załaduj pierwszy filament jako domyślny dla tych, które nie zostały załadowane" #~ msgid "mtcpp" #~ msgstr "mtcpp" @@ -18470,16 +14918,10 @@ msgstr "" #~ msgstr "Pomiń niektóre obiekty w tym druku" #~ msgid "load uptodate process/machine settings when using uptodate" -#~ msgstr "" -#~ "załaduj aktualne ustawienia procesu/maszyny podczas korzystania z " -#~ "aktualizacji" +#~ msgstr "załaduj aktualne ustawienia procesu/maszyny podczas korzystania z aktualizacji" -#~ msgid "" -#~ "load uptodate process/machine settings from the specified file when using " -#~ "uptodate" -#~ msgstr "" -#~ "załaduj aktualne ustawienia procesu/maszyny z określonego pliku podczas " -#~ "korzystania z aktualizacji" +#~ msgid "load uptodate process/machine settings from the specified file when using uptodate" +#~ msgstr "załaduj aktualne ustawienia procesu/maszyny z określonego pliku podczas korzystania z aktualizacji" #~ msgid "Output directory" #~ msgstr "Katalog wyjściowy" @@ -18490,43 +14932,31 @@ msgstr "" #~ msgid "Debug level" #~ msgstr "Poziom debugowania" -#~ msgid "" -#~ "Sets debug logging level. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:" -#~ "trace\n" -#~ msgstr "" -#~ "Ustawia poziom logowania debugowania. 0:fatal, 1:error, 2:warning, 3:" -#~ "info, 4:debug, 5:trace\n" +#~ msgid "Sets debug logging level. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" +#~ msgstr "Ustawia poziom logowania debugowania. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" #~ msgid "The selected preset: %1% is not found." #~ msgstr "Wybrana przędło: %1% nie została znaleziona." #~ msgid "" #~ "3D Scene Operations\n" -#~ "Did you know how to control view and object/part selection with mouse and " -#~ "touchpanel in the 3D scene?" +#~ "Did you know how to control view and object/part selection with mouse and touchpanel in the 3D scene?" #~ msgstr "" #~ "Operacje w scenie 3D\n" -#~ "Czy wiesz, jak kontrolować widok i wybór obiektów/części za pomocą myszy " -#~ "i panelu dotykowego w scenie 3D?" +#~ "Czy wiesz, jak kontrolować widok i wybór obiektów/części za pomocą myszy i panelu dotykowego w scenie 3D?" #~ msgid "" #~ "Fix Model\n" -#~ "Did you know that you can fix a corrupted 3D model to avoid a lot of " -#~ "slicing problems?" +#~ "Did you know that you can fix a corrupted 3D model to avoid a lot of slicing problems?" #~ msgstr "" #~ "Napraw model\n" -#~ "Czy wiesz, że możesz naprawić uszkodzony model 3D, aby uniknąć wielu " -#~ "problemów z krojeniem?" +#~ "Czy wiesz, że możesz naprawić uszkodzony model 3D, aby uniknąć wielu problemów z krojeniem?" #~ msgid "Embeded" #~ msgstr "Osadzone" -#~ msgid "" -#~ "OrcaSlicer configuration file may be corrupted and is not abled to be " -#~ "parsed.Please delete the file and try again." -#~ msgstr "" -#~ "Plik konfiguracyjny OrcaSlicer może być uszkodzony i nie można go " -#~ "przeanalizować. Proszę usunąć plik i spróbować ponownie." +#~ msgid "OrcaSlicer configuration file may be corrupted and is not abled to be parsed.Please delete the file and try again." +#~ msgstr "Plik konfiguracyjny OrcaSlicer może być uszkodzony i nie można go przeanalizować. Proszę usunąć plik i spróbować ponownie." #~ msgid "Online Models" #~ msgstr "Modele online" @@ -18538,70 +14968,41 @@ msgstr "" #~ msgstr "Minimalna prędkość drukowania przy zwolnieniu do chłodzenia" #~ msgid "" -#~ "There are currently no identical spare consumables available, and " -#~ "automatic replenishment is currently not possible. \n" -#~ "(Currently supporting automatic supply of consumables with the same " -#~ "brand, material type, and color)" +#~ "There are currently no identical spare consumables available, and automatic replenishment is currently not possible. \n" +#~ "(Currently supporting automatic supply of consumables with the same brand, material type, and color)" #~ msgstr "" -#~ "Obecnie nie ma dostępnych identycznych zapasowych materiałów " -#~ "eksploatacyjnych, i automatyczne uzupełnianie nie jest obecnie możliwe. \n" -#~ "(Obecnie obsługiwane jest automatyczne zaopatrzenie w materiały " -#~ "eksploatacyjne tej samej marki, typu materiału i koloru)" +#~ "Obecnie nie ma dostępnych identycznych zapasowych materiałów eksploatacyjnych, i automatyczne uzupełnianie nie jest obecnie możliwe. \n" +#~ "(Obecnie obsługiwane jest automatyczne zaopatrzenie w materiały eksploatacyjne tej samej marki, typu materiału i koloru)" #~ msgid "Invalid nozzle diameter" #~ msgstr "Nieprawidłowa średnica dyszy" -#~ msgid "" -#~ "The bed temperature exceeds filament's vitrification temperature. Please " -#~ "open the front door of printer before printing to avoid nozzle clog." -#~ msgstr "" -#~ "Temperatura łóżka przekracza temperaturę witrifikacji filamentu. Proszę " -#~ "otworzyć przednie drzwi drukarki przed drukowaniem, aby uniknąć zatkania " -#~ "dyszy." +#~ msgid "The bed temperature exceeds filament's vitrification temperature. Please open the front door of printer before printing to avoid nozzle clog." +#~ msgstr "Temperatura łóżka przekracza temperaturę witrifikacji filamentu. Proszę otworzyć przednie drzwi drukarki przed drukowaniem, aby uniknąć zatkania dyszy." #~ msgid "Temperature of vitrificaiton" #~ msgstr "Temperatura witrifikacji" -#~ msgid "" -#~ "Material becomes soft at this temperature. Thus the heatbed cannot be " -#~ "hotter than this tempature" -#~ msgstr "" -#~ "Materiał staje się miękki w tej temperaturze. Dlatego podgrzewane łóżko " -#~ "nie może być gorętsze niż ta temperatura" +#~ msgid "Material becomes soft at this temperature. Thus the heatbed cannot be hotter than this tempature" +#~ msgstr "Materiał staje się miękki w tej temperaturze. Dlatego podgrzewane łóżko nie może być gorętsze niż ta temperatura" #~ msgid "Enable this option if machine has auxiliary part cooling fan" -#~ msgstr "" -#~ "Włącz tę opcję, jeśli maszyna ma dodatkowy wentylator chłodzenia części" +#~ msgstr "Włącz tę opcję, jeśli maszyna ma dodatkowy wentylator chłodzenia części" -#~ msgid "" -#~ "This option is enabled if machine support controlling chamber temperature" -#~ msgstr "" -#~ "Ta opcja jest włączona, jeśli maszyna obsługuje kontrolę temperatury " -#~ "komory" +#~ msgid "This option is enabled if machine support controlling chamber temperature" +#~ msgstr "Ta opcja jest włączona, jeśli maszyna obsługuje kontrolę temperatury komory" #~ msgid "Enable this if printer support air filtration" #~ msgstr "Włącz to, jeśli drukarka obsługuje filtrację powietrza" -#~ 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" -#~ msgstr "" -#~ "Prędkość wentylatora chłodzenia pomocniczej części. Wentylator pomocniczy " -#~ "będzie pracować z tą prędkością podczas drukowania, z wyjątkiem " -#~ "pierwszych kilku warstw, które są zdefiniowane jako warstwy bez chłodzenia" +#~ 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" +#~ msgstr "Prędkość wentylatora chłodzenia pomocniczej części. Wentylator pomocniczy będzie pracować z tą prędkością podczas drukowania, z wyjątkiem pierwszych kilku warstw, które są zdefiniowane jako warstwy bez chłodzenia" -#~ msgid "" -#~ "Filter out gaps smaller than the threshold specified. This setting won't " -#~ "affect top/bottom layers" -#~ msgstr "" -#~ "Filtruj przerwy mniejsze niż określony próg. To ustawienie nie wpłynie na " -#~ "warstwy górne/dolne" +#~ msgid "Filter out gaps smaller than the threshold specified. This setting won't affect top/bottom layers" +#~ msgstr "Filtruj przerwy mniejsze niż określony próg. To ustawienie nie wpłynie na warstwy górne/dolne" #~ msgid "Empty layers around bottom are replaced by nearest normal layers." -#~ msgstr "" -#~ "Puste warstwy wokół dolnej części są zastępowane najbliższymi normalnymi " -#~ "warstwami." +#~ msgstr "Puste warstwy wokół dolnej części są zastępowane najbliższymi normalnymi warstwami." #~ msgid "The model has too many empty layers." #~ msgstr "Model ma zbyt wiele pustych warstw." @@ -18617,26 +15018,20 @@ msgstr "" #, c-format, boost-format #~ msgid "" -#~ "Bed temperature of other layer is lower than bed temperature of initial " -#~ "layer for more than %d degree centigrade.\n" +#~ "Bed temperature of other layer is lower than bed temperature of initial layer for more than %d degree centigrade.\n" #~ "This may cause model broken free from build plate during printing" #~ msgstr "" -#~ "Temperatura podłoża innych warstw jest niższa niż temperatura podłoża " -#~ "pierwszej warstwy o więcej niż %d stopni Celsjusza.\n" +#~ "Temperatura podłoża innych warstw jest niższa niż temperatura podłoża pierwszej warstwy o więcej niż %d stopni Celsjusza.\n" #~ "Może to spowodować oderwanie modelu od płyty budowlanej podczas drukowania" #~ msgid "" -#~ "Bed temperature is higher than vitrification temperature of this " -#~ "filament.\n" +#~ "Bed temperature is higher than vitrification temperature of this filament.\n" #~ "This may cause nozzle blocked and printing failure\n" -#~ "Please keep the printer open during the printing process to ensure air " -#~ "circulation or reduce the temperature of the hot bed" +#~ "Please keep the printer open during the printing process to ensure air circulation or reduce the temperature of the hot bed" #~ msgstr "" -#~ "Temperatura podłoża jest wyższa niż temperatura witrifikacji tego " -#~ "filamentu.\n" +#~ "Temperatura podłoża jest wyższa niż temperatura witrifikacji tego filamentu.\n" #~ "Może to spowodować zablokowanie dyszy i niepowodzenie drukowania\n" -#~ "Proszę pozostawić drukarkę otwartą podczas procesu drukowania, aby " -#~ "zapewnić cyrkulację powietrza lub obniżyć temperaturę podgrzewanego łóżka" +#~ "Proszę pozostawić drukarkę otwartą podczas procesu drukowania, aby zapewnić cyrkulację powietrza lub obniżyć temperaturę podgrzewanego łóżka" #~ msgid "Total Time Estimation" #~ msgstr "Całkowity szacowany czas" @@ -18665,53 +15060,25 @@ msgstr "" #~ msgid "High Temp Plate" #~ msgstr "Płyta wysokotemperaturowa" -#~ msgid "" -#~ "Bed temperature when high temperature plate is installed. Value 0 means " -#~ "the filament does not support to print on the High Temp Plate" -#~ msgstr "" -#~ "Temperatura podłoża, gdy jest zainstalowana płyta wysokotemperaturowa. " -#~ "Wartość 0 oznacza, że filament nie obsługuje drukowania na Płycie " -#~ "Wysokotemperaturowej" +#~ msgid "Bed temperature when high temperature plate is installed. Value 0 means the filament does not support to print on the High Temp Plate" +#~ msgstr "Temperatura podłoża, gdy jest zainstalowana płyta wysokotemperaturowa. Wartość 0 oznacza, że filament nie obsługuje drukowania na Płycie Wysokotemperaturowej" #~ msgid "Internal bridge support thickness" #~ msgstr "Grubość wewnętrznej podpory mostu" -#~ msgid "" -#~ "If enabled, support loops will be generated under the contours of " -#~ "internal bridges.These support loops could prevent internal bridges from " -#~ "extruding over the air and improve the top surface quality, especially " -#~ "when the sparse infill density is low. This value determines the " -#~ "thickness of the support loops. 0 means disable this feature" -#~ msgstr "" -#~ "Jeśli włączone, pętle podpory zostaną wygenerowane pod konturami " -#~ "wewnętrznych mostów. Te pętle podpory mogą zapobiec wyciskaniu mostów do " -#~ "powietrza i poprawić jakość górnej powierzchni, szczególnie gdy gęstość " -#~ "wypełnienia jest niska. Ta wartość określa grubość pętli podpory. 0 " -#~ "oznacza wyłączenie tej funkcji" +#~ msgid "If enabled, support loops will be generated under the contours of internal bridges.These support loops could prevent internal bridges from extruding over the air and improve the top surface quality, especially when the sparse infill density is low. This value determines the thickness of the support loops. 0 means disable this feature" +#~ msgstr "Jeśli włączone, pętle podpory zostaną wygenerowane pod konturami wewnętrznych mostów. Te pętle podpory mogą zapobiec wyciskaniu mostów do powietrza i poprawić jakość górnej powierzchni, szczególnie gdy gęstość wypełnienia jest niska. Ta wartość określa grubość pętli podpory. 0 oznacza wyłączenie tej funkcji" #, fuzzy, c-format, boost-format -#~ msgid "" -#~ "Klipper's max_accel_to_decel will be adjusted to this % of acceleration" -#~ msgstr "" -#~ "Maksymalne przyspieszenie Klippera max_accel_to_decel zostanie " -#~ "dostosowane do tego % przyspieszenia" +#~ msgid "Klipper's max_accel_to_decel will be adjusted to this % of acceleration" +#~ msgstr "Maksymalne przyspieszenie Klippera max_accel_to_decel zostanie dostosowane do tego % przyspieszenia" #~ 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 style will merge branches more aggressively and " -#~ "save a lot of material (default), while hybrid style will create similar " -#~ "structure to normal support under large flat overhangs." +#~ "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 style will merge branches more aggressively and save a lot of material (default), while hybrid style will create similar structure to normal support under large flat overhangs." #~ msgstr "" -#~ "Styl i kształt podpory. Dla normalnej podpory, rzutowanie podpór na " -#~ "regularną siatkę stworzy stabilniejsze podpory (domyślnie), podczas gdy " -#~ "ciasne wieże podpory zaoszczędzą materiał i zmniejszą blizny na " -#~ "obiekcie.\n" -#~ "Dla podpory drzewa, szczupły styl połączy gałęzie agresywniej i " -#~ "zaoszczędzi dużo materiału (domyślnie), podczas gdy styl hybrydowy " -#~ "stworzy podobną strukturę do normalnej podpory pod dużymi płaskimi " -#~ "zwisami." +#~ "Styl i kształt podpory. Dla normalnej podpory, rzutowanie podpór na regularną siatkę stworzy stabilniejsze podpory (domyślnie), podczas gdy ciasne wieże podpory zaoszczędzą materiał i zmniejszą blizny na obiekcie.\n" +#~ "Dla podpory drzewa, szczupły styl połączy gałęzie agresywniej i zaoszczędzi dużo materiału (domyślnie), podczas gdy styl hybrydowy stworzy podobną strukturę do normalnej podpory pod dużymi płaskimi zwisami." #~ msgid "Target chamber temperature" #~ msgstr "Docelowa temperatura komory" @@ -18719,14 +15086,8 @@ msgstr "" #~ msgid "Bed temperature difference" #~ msgstr "Różnica temperatury podłoża" -#~ msgid "" -#~ "Do not recommend bed temperature of other layer to be lower than initial " -#~ "layer for more than this threshold. Too low bed temperature of other " -#~ "layer may cause the model broken free from build plate" -#~ msgstr "" -#~ "Nie zaleca się, aby temperatura łóżka innej warstwy była niższa niż " -#~ "początkowa warstwa o więcej niż ten próg. Zbyt niska temperatura podłoża " -#~ "innej warstwy może spowodować oderwanie modelu od blatu budowlanego" +#~ msgid "Do not recommend bed temperature of other layer to be lower than initial layer for more than this threshold. Too low bed temperature of other layer may cause the model broken free from build plate" +#~ msgstr "Nie zaleca się, aby temperatura łóżka innej warstwy była niższa niż początkowa warstwa o więcej niż ten próg. Zbyt niska temperatura podłoża innej warstwy może spowodować oderwanie modelu od blatu budowlanego" #~ msgid "Orient the model" #~ msgstr "Zorientuj model" diff --git a/src/slic3r/GUI/HMS.cpp b/src/slic3r/GUI/HMS.cpp index 898ed9aa1aa..be5effc74c0 100644 --- a/src/slic3r/GUI/HMS.cpp +++ b/src/slic3r/GUI/HMS.cpp @@ -163,7 +163,6 @@ std::string HMSQuery::hms_language_code() std::string lang_code = wxGetApp().app_config->get_language_code(); if (lang_code.compare("uk") == 0 || lang_code.compare("cs") == 0 - || lang_code.compare("pl") == 0 || lang_code.compare("ru") == 0) { BOOST_LOG_TRIVIAL(info) << "HMS: using english for lang_code = " << lang_code; return "en"; From 2c695101abfa267a9b07fe3996ffc33bbef4ac0e Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Sat, 18 May 2024 22:49:03 +0800 Subject: [PATCH 026/178] Best effort for pixel perfect icon rendering (#4552) * Make sure all icons & toolbars have sizes & locations in whole number pixels, so icons won't be blurry * Make every size even so it scales well on screen --- src/slic3r/GUI/GLCanvas3D.cpp | 19 +++++++++++-------- src/slic3r/GUI/GLCanvas3D.hpp | 6 +++--- src/slic3r/GUI/Gizmos/GLGizmosManager.cpp | 6 +++--- src/slic3r/GUI/Gizmos/GLGizmosManager.hpp | 6 +++--- src/slic3r/GUI/Plater.cpp | 4 ++-- 5 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index b4778e39325..327c3572eb6 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -6292,8 +6292,8 @@ bool GLCanvas3D::_init_main_toolbar() //BBS: main toolbar is at the top and left, we don't need the rounded-corner effect at the right side and the top side m_main_toolbar.set_horizontal_orientation(GLToolbar::Layout::HO_Right); m_main_toolbar.set_vertical_orientation(GLToolbar::Layout::VO_Top); - m_main_toolbar.set_border(5.0f); - m_main_toolbar.set_separator_size(5); + m_main_toolbar.set_border(4.0f); + m_main_toolbar.set_separator_size(4); m_main_toolbar.set_gap_size(4); m_main_toolbar.del_all_item(); @@ -6483,7 +6483,7 @@ bool GLCanvas3D::_init_assemble_view_toolbar() //BBS: assemble toolbar is at the top and right, we don't need the rounded-corner effect at the left side and the top side m_assemble_view_toolbar.set_horizontal_orientation(GLToolbar::Layout::HO_Left); m_assemble_view_toolbar.set_vertical_orientation(GLToolbar::Layout::VO_Top); - m_assemble_view_toolbar.set_border(5.0f); + m_assemble_view_toolbar.set_border(4.0f); m_assemble_view_toolbar.set_separator_size(10); m_assemble_view_toolbar.set_gap_size(4); @@ -6540,7 +6540,7 @@ bool GLCanvas3D::_init_separator_toolbar() //BBS: assemble toolbar is at the top and right, we don't need the rounded-corner effect at the left side and the top side m_separator_toolbar.set_horizontal_orientation(GLToolbar::Layout::HO_Left); m_separator_toolbar.set_vertical_orientation(GLToolbar::Layout::VO_Top); - m_separator_toolbar.set_border(5.0f); + m_separator_toolbar.set_border(4.0f); m_separator_toolbar.del_all_item(); @@ -7383,8 +7383,11 @@ void GLCanvas3D::_check_and_update_toolbar_icon_scale() Size cnv_size = get_canvas_size(); //BBS: GUI refactor: GLToolbar - float size = GLToolbar::Default_Icons_Size * scale; - //float main_size = GLGizmosManager::Default_Icons_Size * scale; + int size_i = int(GLToolbar::Default_Icons_Size * scale); + // force even size + if (size_i % 2 != 0) + size_i -= 1; + float size = size_i; // Set current size for all top toolbars. It will be used for next calculations #if ENABLE_RETINA_GL @@ -7401,7 +7404,7 @@ void GLCanvas3D::_check_and_update_toolbar_icon_scale() m_gizmos.set_overlay_scale(sc); #else //BBS: GUI refactor: GLToolbar - m_main_toolbar.set_icons_size(GLGizmosManager::Default_Icons_Size * scale); + m_main_toolbar.set_icons_size(size); m_assemble_view_toolbar.set_icons_size(size); m_separator_toolbar.set_icons_size(size); collapse_toolbar.set_icons_size(size / 2.0); @@ -7662,7 +7665,7 @@ void GLCanvas3D::_render_gizmos_overlay() } } -float GLCanvas3D::get_main_toolbar_offset() const +int GLCanvas3D::get_main_toolbar_offset() const { const float cnv_width = get_canvas_size().get_width(); const float collapse_toolbar_width = get_collapse_toolbar_width() * 2; diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 5af8ee8aa9f..7a748ad009d 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -850,9 +850,9 @@ public: //BBS: add part plate related logic void select_plate(); //BBS: GUI refactor: GLToolbar&&gizmo - float get_main_toolbar_offset() const; - float get_main_toolbar_height() const { return m_main_toolbar.get_height(); } - float get_main_toolbar_width() const { return m_main_toolbar.get_width(); } + int get_main_toolbar_offset() const; + int get_main_toolbar_height() const { return m_main_toolbar.get_height(); } + int get_main_toolbar_width() const { return m_main_toolbar.get_width(); } float get_assemble_view_toolbar_width() const { return m_assemble_view_toolbar.get_width(); } float get_assemble_view_toolbar_height() const { return m_assemble_view_toolbar.get_height(); } float get_assembly_paint_toolbar_width() const { return m_paint_toolbar_width; } diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp index 322d93210b5..7a3a65cf4bf 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp @@ -1101,10 +1101,10 @@ void GLGizmosManager::do_render_overlay() const //float space_width = GLGizmosManager::Default_Icons_Size * wxGetApp().toolbar_icon_scale(); //float zoomed_top_x = 0.5f *(cnv_w + main_toolbar_width - 2 * space_width - width) * inv_zoom; - float main_toolbar_left = -0.5f * cnv_w + m_parent.get_main_toolbar_offset(); + int main_toolbar_left = -cnv_w + m_parent.get_main_toolbar_offset() * 2; //float zoomed_top_x = 0.5f *(main_toolbar_width + collapse_width - width - assemble_view_width) * inv_zoom; - top_x = main_toolbar_left + main_toolbar_width + separator_width / 2; - top_x = top_x * inv_cnv_w * 2; + top_x = main_toolbar_left + main_toolbar_width * 2 + separator_width; + top_x = top_x * inv_cnv_w; } float top_y = 1.0f; diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp index 687b8de27cf..1b8fcc3050c 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp @@ -102,10 +102,10 @@ private: { float scale{ 1.0f }; float icons_size{ Default_Icons_Size }; - float border{ 5.0f }; - float gap_y{ 5.0f }; + float border{ 4.0f }; + float gap_y{ 4.0f }; //BBS: GUI refactor: to support top layout - float gap_x{ 5.0f }; + float gap_x{ 4.0f }; float stride_x() const { return icons_size + gap_x;} float scaled_gap_x() const { return scale * gap_x; } float scaled_stride_x() const { return scale * stride_x(); } diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index afd1cb7c5b1..a067bfefd28 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -7779,8 +7779,8 @@ bool Plater::priv::init_collapse_toolbar() collapse_toolbar.set_layout_type(GLToolbar::Layout::Vertical); collapse_toolbar.set_horizontal_orientation(GLToolbar::Layout::HO_Right); collapse_toolbar.set_vertical_orientation(GLToolbar::Layout::VO_Top); - collapse_toolbar.set_border(5.0f); - collapse_toolbar.set_separator_size(5); + collapse_toolbar.set_border(4.0f); + collapse_toolbar.set_separator_size(4); collapse_toolbar.set_gap_size(2); collapse_toolbar.del_all_item(); From 444e3fdd6196415c897c5f1175b2df463ea6ce6f Mon Sep 17 00:00:00 2001 From: yw4z Date: Sun, 19 May 2024 05:06:02 +0300 Subject: [PATCH 027/178] Add spacing between icons of objects list item if it has multiple icons (#5321) * Add spacing between icons of node on objects list if node has multiple icons * Fix usage of operators and move comments to separate line * Simplified condition and comments * simplify conditions --- src/slic3r/GUI/ObjectDataViewModel.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/ObjectDataViewModel.cpp b/src/slic3r/GUI/ObjectDataViewModel.cpp index fdf4f765b88..75e1baeeaf4 100644 --- a/src/slic3r/GUI/ObjectDataViewModel.cpp +++ b/src/slic3r/GUI/ObjectDataViewModel.cpp @@ -558,13 +558,19 @@ void ObjectDataViewModel::UpdateBitmapForNode(ObjectDataViewModelNode *node) std::vector bmps; if (node->has_warning_icon()) bmps.emplace_back(node->warning_icon_name() == WarningIcon ? m_warning_bmp : m_warning_manifold_bmp); - if (node->has_lock()) + if (node->has_lock()) { + if (!bmps.empty()) // ORCA: Add spacing between icons if there are multiple + bmps.emplace_back(create_scaled_bitmap("dot", nullptr, int(wxGetApp().em_unit() / 10) * 4)); bmps.emplace_back(m_lock_bmp); - if (is_volume_node) + } + if (is_volume_node) { + if (!bmps.empty()) // ORCA: Add spacing between icons if there are multiple + bmps.emplace_back(create_scaled_bitmap("dot", nullptr, int(wxGetApp().em_unit() / 10) * 4)); bmps.emplace_back( node->is_text_volume() ? m_text_volume_bmps[vol_type] : node->is_svg_volume() ? m_svg_volume_bmps[vol_type] : m_volume_bmps[vol_type]); + } bmp = m_bitmap_cache->insert(scaled_bitmap_name, bmps); } From 78a5a58441a3a7b80b923fe661874a24c8abd6ab Mon Sep 17 00:00:00 2001 From: cochcoder <103969142+cochcoder@users.noreply.github.com> Date: Sun, 19 May 2024 06:09:36 +0000 Subject: [PATCH 028/178] Add Dremel 3D20, 3D40, and 3D45 (#4777) * Add base files & 3D20 * Add Dremel 3D20, 3D40, and 3D45 * Used the wrong name * Let's see if this fixes the crashes * test * Limit variables and trying something * Forgot to remove these,,, * Tweaks * Re-add Dremel files and fix several format errors * Add Dremel 3D40 & 3D45 and process * Temp bed model/texture * Forgot to add the actual files * Revert "Forgot to add the actual files" This reverts commit 9190ca3d0eceb1749e9647335e0a44588fed155e. * Revert "Temp bed model/texture" This reverts commit 6e873f8e72453cfb6fda80ed388647493a7c3adb. * Update fdm_process_dremel_common.json * Add bed models * Improve upon build plates * Attempt at fixing error * Didn't work * Attempt at a fix * Revert "Attempt at a fix" This reverts commit 1e06ea355c4ad24dd40ff3adfe06bf91e833c933. * Try changing order of process_list * Remove gcode_flavor from process * Add fdm_filament_pla to Dremel.json * Add Dremel Generic PLA * forgot this... * Change to dremel * Fix buildplate model naming * Try this * Revert "Try this" This reverts commit 851f355c2e1aa4722e7381fdc2ed66f13aa6a597. * Fix issues that it won't load on Linux/Mac OS --------- Co-authored-by: SoftFever --- resources/profiles/Dremel.json | 130 +++++++++++++++ .../profiles/Dremel/Dremel 3D20_cover.png | Bin 0 -> 31263 bytes .../profiles/Dremel/Dremel 3D40_cover.png | Bin 0 -> 30636 bytes .../profiles/Dremel/Dremel 3D45_cover.png | Bin 0 -> 30761 bytes .../Dremel/dremel_3d20_buildplate_model.stl | Bin 0 -> 684 bytes .../dremel_3d40_3d45_buildplate_model.stl | Bin 0 -> 684 bytes .../Dremel Generic PLA @3D20 all.json | 28 ++++ .../Dremel Generic PLA @3D40 all.json | 34 ++++ .../Dremel Generic PLA @3D45 all.json | 34 ++++ .../Dremel/filament/Dremel Generic PLA.json | 12 ++ .../Dremel/filament/fdm_filament_common.json | 120 ++++++++++++++ .../Dremel/filament/fdm_filament_pla.json | 70 ++++++++ .../machine/Dremel 3D20 0.4 nozzle.json | 154 ++++++++++++++++++ .../profiles/Dremel/machine/Dremel 3D20.json | 12 ++ .../machine/Dremel 3D40 0.4 nozzle.json | 153 +++++++++++++++++ .../profiles/Dremel/machine/Dremel 3D40.json | 12 ++ .../machine/Dremel 3D45 0.4 nozzle.json | 142 ++++++++++++++++ .../profiles/Dremel/machine/Dremel 3D45.json | 12 ++ .../Dremel/machine/fdm_dremel_common.json | 138 ++++++++++++++++ .../Dremel/machine/fdm_machine_common.json | 120 ++++++++++++++ .../.05mm Super Detail @Dremel 3D40 0.4.json | 93 +++++++++++ .../.05mm Super Detail @Dremel 3D45 0.4.json | 93 +++++++++++ .../.10mm Detail @Dremel 3D20 0.4.json | 94 +++++++++++ .../.10mm Detail @Dremel 3D40 0.4.json | 93 +++++++++++ .../.10mm Detail @Dremel 3D45 0.4.json | 93 +++++++++++ .../.20mm Standard @Dremel 3D20 0.4.json | 94 +++++++++++ .../.20mm Standard @Dremel 3D40 0.4.json | 93 +++++++++++ .../.20mm Standard @Dremel 3D45 0.4.json | 93 +++++++++++ .../process/.30mm Draft @Dremel 3D20 0.4.json | 94 +++++++++++ .../process/.30mm Draft @Dremel 3D40 0.4.json | 93 +++++++++++ .../process/.30mm Draft @Dremel 3D45 0.4.json | 93 +++++++++++ .../.34mm SuperDraft @Dremel 3D40 0.4.json | 93 +++++++++++ .../.34mm SuperDraft @Dremel 3D45 0.4.json | 93 +++++++++++ .../Dremel/process/fdm_process_common.json | 70 ++++++++ .../process/fdm_process_dremel_common.json | 104 ++++++++++++ 35 files changed, 2557 insertions(+) create mode 100644 resources/profiles/Dremel.json create mode 100644 resources/profiles/Dremel/Dremel 3D20_cover.png create mode 100644 resources/profiles/Dremel/Dremel 3D40_cover.png create mode 100644 resources/profiles/Dremel/Dremel 3D45_cover.png create mode 100644 resources/profiles/Dremel/dremel_3d20_buildplate_model.stl create mode 100644 resources/profiles/Dremel/dremel_3d40_3d45_buildplate_model.stl create mode 100644 resources/profiles/Dremel/filament/Dremel Generic PLA @3D20 all.json create mode 100644 resources/profiles/Dremel/filament/Dremel Generic PLA @3D40 all.json create mode 100644 resources/profiles/Dremel/filament/Dremel Generic PLA @3D45 all.json create mode 100644 resources/profiles/Dremel/filament/Dremel Generic PLA.json create mode 100644 resources/profiles/Dremel/filament/fdm_filament_common.json create mode 100644 resources/profiles/Dremel/filament/fdm_filament_pla.json create mode 100644 resources/profiles/Dremel/machine/Dremel 3D20 0.4 nozzle.json create mode 100644 resources/profiles/Dremel/machine/Dremel 3D20.json create mode 100644 resources/profiles/Dremel/machine/Dremel 3D40 0.4 nozzle.json create mode 100644 resources/profiles/Dremel/machine/Dremel 3D40.json create mode 100644 resources/profiles/Dremel/machine/Dremel 3D45 0.4 nozzle.json create mode 100644 resources/profiles/Dremel/machine/Dremel 3D45.json create mode 100644 resources/profiles/Dremel/machine/fdm_dremel_common.json create mode 100644 resources/profiles/Dremel/machine/fdm_machine_common.json create mode 100644 resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D40 0.4.json create mode 100644 resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D45 0.4.json create mode 100644 resources/profiles/Dremel/process/.10mm Detail @Dremel 3D20 0.4.json create mode 100644 resources/profiles/Dremel/process/.10mm Detail @Dremel 3D40 0.4.json create mode 100644 resources/profiles/Dremel/process/.10mm Detail @Dremel 3D45 0.4.json create mode 100644 resources/profiles/Dremel/process/.20mm Standard @Dremel 3D20 0.4.json create mode 100644 resources/profiles/Dremel/process/.20mm Standard @Dremel 3D40 0.4.json create mode 100644 resources/profiles/Dremel/process/.20mm Standard @Dremel 3D45 0.4.json create mode 100644 resources/profiles/Dremel/process/.30mm Draft @Dremel 3D20 0.4.json create mode 100644 resources/profiles/Dremel/process/.30mm Draft @Dremel 3D40 0.4.json create mode 100644 resources/profiles/Dremel/process/.30mm Draft @Dremel 3D45 0.4.json create mode 100644 resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D40 0.4.json create mode 100644 resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D45 0.4.json create mode 100644 resources/profiles/Dremel/process/fdm_process_common.json create mode 100644 resources/profiles/Dremel/process/fdm_process_dremel_common.json diff --git a/resources/profiles/Dremel.json b/resources/profiles/Dremel.json new file mode 100644 index 00000000000..4a7e137f597 --- /dev/null +++ b/resources/profiles/Dremel.json @@ -0,0 +1,130 @@ +{ + "name": "Dremel", + "version": "02.00.00.00", + "force_update": "0", + "description": "Dremel configurations", + "machine_model_list": [ + { + "name": "Dremel 3D20", + "sub_path": "machine/Dremel 3D20.json" + }, + { + "name": "Dremel 3D40", + "sub_path": "machine/Dremel 3D40.json" + }, + { + "name": "Dremel 3D45", + "sub_path": "machine/Dremel 3D45.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "fdm_process_dremel_common", + "sub_path": "process/fdm_process_dremel_common.json" + }, + { + "name": ".05mm Super Detail @Dremel 3D40 0.4", + "sub_path": "process/.05mm Super Detail @Dremel 3D40 0.4.json" + }, + { + "name": ".05mm Super Detail @Dremel 3D45 0.4", + "sub_path": "process/.05mm Super Detail @Dremel 3D45 0.4.json" + }, + { + "name": ".10mm Detail @Dremel 3D20 0.4", + "sub_path": "process/.10mm Detail @Dremel 3D20 0.4.json" + }, + { + "name": ".10mm Detail @Dremel 3D40 0.4", + "sub_path": "process/.10mm Detail @Dremel 3D40 0.4.json" + }, + { + "name": ".10mm Detail @Dremel 3D45 0.4", + "sub_path": "process/.10mm Detail @Dremel 3D45 0.4.json" + }, + { + "name": ".20mm Standard @Dremel 3D20 0.4", + "sub_path": "process/.20mm Standard @Dremel 3D20 0.4.json" + }, + { + "name": ".20mm Standard @Dremel 3D40 0.4", + "sub_path": "process/.20mm Standard @Dremel 3D40 0.4.json" + }, + { + "name": ".20mm Standard @Dremel 3D45 0.4", + "sub_path": "process/.20mm Standard @Dremel 3D45 0.4.json" + }, + { + "name": ".30mm Draft @Dremel 3D20 0.4", + "sub_path": "process/.30mm Draft @Dremel 3D20 0.4.json" + }, + { + "name": ".30mm Draft @Dremel 3D40 0.4", + "sub_path": "process/.30mm Draft @Dremel 3D40 0.4.json" + }, + { + "name": ".30mm Draft @Dremel 3D45 0.4", + "sub_path": "process/.30mm Draft @Dremel 3D45 0.4.json" + }, + { + "name": ".34mm SuperDraft @Dremel 3D40 0.4", + "sub_path": "process/.34mm SuperDraft @Dremel 3D40 0.4.json" + }, + { + "name": ".34mm SuperDraft @Dremel 3D45 0.4", + "sub_path": "process/.34mm SuperDraft @Dremel 3D45 0.4.json" + } + ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "Dremel Generic PLA", + "sub_path": "filament/Dremel Generic PLA.json" + }, + { + "name": "Dremel Generic PLA @3D20 all", + "sub_path": "filament/Dremel Generic PLA @3D20 all.json" + }, + { + "name": "Dremel Generic PLA @3D40 all", + "sub_path": "filament/Dremel Generic PLA @3D40 all.json" + }, + { + "name": "Dremel Generic PLA @3D45 all", + "sub_path": "filament/Dremel Generic PLA @3D45 all.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "fdm_dremel_common", + "sub_path": "machine/fdm_dremel_common.json" + }, + { + "name": "Dremel 3D20 0.4 nozzle", + "sub_path": "machine/Dremel 3D20 0.4 nozzle.json" + }, + { + "name": "Dremel 3D40 0.4 nozzle", + "sub_path": "machine/Dremel 3D40 0.4 nozzle.json" + }, + { + "name": "Dremel 3D45 0.4 nozzle", + "sub_path": "machine/Dremel 3D45 0.4 nozzle.json" + } + ] +} diff --git a/resources/profiles/Dremel/Dremel 3D20_cover.png b/resources/profiles/Dremel/Dremel 3D20_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..df22f0012efce02f8a129c38ff59d3e24456ea18 GIT binary patch literal 31263 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 literal 0 HcmV?d00001 diff --git a/resources/profiles/Dremel/dremel_3d20_buildplate_model.stl b/resources/profiles/Dremel/dremel_3d20_buildplate_model.stl new file mode 100644 index 0000000000000000000000000000000000000000..4ee3b5b44c4215c3150015673ed1dbcacc540099 GIT binary patch literal 684 zcmb`E!3~2j5CpG)^n^rZ6p<3>BN65BNDc9@jIemX2PBTg-dX$Xs%M|q7B>w?>Tj%? zm;9@zZx#C8UUaJ$gf0pEjrinCU0c2`H0zP8j`NP_lR{Y8UB9~PN!XwM^m8V3F|H0_ z_Y&^C?+JZ8R|GDTI$}Ssbw3|w)ZT~Z7RvL|#VEPD)Nxy(oUsoHlI%%;Zt_g%VqE

    }*COC!!b;~F~Jq=4P^ALKk&)67H-1p_-{Aa#w5qwl7`Os!L71ANu&kzpdN--WA+GLKjKu4^8Y| AR{#J2 literal 0 HcmV?d00001 diff --git a/resources/profiles/Dremel/filament/Dremel Generic PLA @3D20 all.json b/resources/profiles/Dremel/filament/Dremel Generic PLA @3D20 all.json new file mode 100644 index 00000000000..addde4858f0 --- /dev/null +++ b/resources/profiles/Dremel/filament/Dremel Generic PLA @3D20 all.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "setting_id": "GFSL99_00", + "name": "Dremel Generic PLA @3D20 all", + "from": "system", + "instantiation": "true", + "inherits": "Dremel Generic PLA", + "filament_max_volumetric_speed": ["9"], + "slow_down_layer_time": ["10"], + "filament_retraction_length": [ + "3" + ], + "filament_retraction_speed": [ + "60" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "compatible_printers": [ + "Dremel 3D20 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/filament/Dremel Generic PLA @3D40 all.json b/resources/profiles/Dremel/filament/Dremel Generic PLA @3D40 all.json new file mode 100644 index 00000000000..17db278d517 --- /dev/null +++ b/resources/profiles/Dremel/filament/Dremel Generic PLA @3D40 all.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "setting_id": "GFSL99_00", + "name": "Dremel Generic PLA @3D40 all", + "from": "system", + "instantiation": "true", + "inherits": "Dremel Generic PLA", + "filament_max_volumetric_speed": ["9"], + "slow_down_layer_time": ["10"], + "filament_retraction_length": [ + "3" + ], + "filament_retraction_speed": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "225" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "compatible_printers": [ + "Dremel 3D40 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/filament/Dremel Generic PLA @3D45 all.json b/resources/profiles/Dremel/filament/Dremel Generic PLA @3D45 all.json new file mode 100644 index 00000000000..304a59d97e4 --- /dev/null +++ b/resources/profiles/Dremel/filament/Dremel Generic PLA @3D45 all.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "setting_id": "GFSL99_00", + "name": "Dremel Generic PLA @3D45 all", + "from": "system", + "instantiation": "true", + "inherits": "Dremel Generic PLA", + "filament_max_volumetric_speed": ["9"], + "slow_down_layer_time": ["10"], + "filament_retraction_length": [ + "3" + ], + "filament_retraction_speed": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "225" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "compatible_printers": [ + "Dremel 3D45 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/filament/Dremel Generic PLA.json b/resources/profiles/Dremel/filament/Dremel Generic PLA.json new file mode 100644 index 00000000000..e0af806ed95 --- /dev/null +++ b/resources/profiles/Dremel/filament/Dremel Generic PLA.json @@ -0,0 +1,12 @@ +{ + "type": "filament", + "filament_id": "GFL99", + "setting_id": "GFSA04", + "name": "Dremel Generic PLA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": ["0.98"], + "filament_max_volumetric_speed": ["12"], + "slow_down_layer_time": ["8"] +} diff --git a/resources/profiles/Dremel/filament/fdm_filament_common.json b/resources/profiles/Dremel/filament/fdm_filament_common.json new file mode 100644 index 00000000000..6c87f1d428d --- /dev/null +++ b/resources/profiles/Dremel/filament/fdm_filament_common.json @@ -0,0 +1,120 @@ +{ + "type": "filament", + "name": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "full_fan_speed_layer": [ + "0" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "35" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "200" + ], + "temperature_vitrification": [ + "100" + ] +} diff --git a/resources/profiles/Dremel/filament/fdm_filament_pla.json b/resources/profiles/Dremel/filament/fdm_filament_pla.json new file mode 100644 index 00000000000..cbede63c72c --- /dev/null +++ b/resources/profiles/Dremel/filament/fdm_filament_pla.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PLA" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "220" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "4" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Dremel/machine/Dremel 3D20 0.4 nozzle.json b/resources/profiles/Dremel/machine/Dremel 3D20 0.4 nozzle.json new file mode 100644 index 00000000000..b52a2b13feb --- /dev/null +++ b/resources/profiles/Dremel/machine/Dremel 3D20 0.4 nozzle.json @@ -0,0 +1,154 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Dremel 3D20 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_dremel_common", + "printer_model": "Dremel 3D20", + "printer_variant": "0.4", + "printer_structure": "Hbot", + "gcode_flavor": "marlin", + "default_filament_profile": [ + "Dremel Generic PLA @3D20 all" + ], + "default_print_profile": ".20mm Standard @Dremel 3D20 0.4", + "nozzle_diameter": [ + "0.4" + ], + "printer_settings_id": "Dremel", + "printable_area": [ + "0x0", + "230x0", + "230x150", + "0x150" + ], + "printable_height": "140", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "deretraction_speed": [ + "40" + ], + "emit_machine_limits_to_gcode": "1", + "extruder_clearance_height_to_lid": "101", + "extruder_clearance_height_to_rod": "45", + "extruder_clearance_radius": "45", + "max_layer_height": [ + "0.3" + ], + "min_layer_height": [ + "0.08" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "1" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "Top Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "0.5" + ], + "retraction_minimum_travel": [ + "2" + ], + "retraction_speed": [ + "40" + ], + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0.2" + ], + "z_hop_types": [ + "Normal Lift" + ], + "machine_max_acceleration_e": [ + "6200", + "5000" + ], + "machine_max_acceleration_extruding": [ + "6200", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "6200", + "20000" + ], + "machine_max_acceleration_y": [ + "6200", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "12", + "12" + ], + "machine_max_jerk_y": [ + "12", + "12" + ], + "machine_max_jerk_z": [ + "2", + "2" + ], + "machine_max_speed_e": [ + "3000", + "100" + ], + "machine_max_speed_x": [ + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30" + ], + "machine_start_gcode": "G90\nG28\nM132 X Y Z A\nG1 Z100 F3300\nG1 X-110.5 Y-74 F6000\nM6 T0\nM907 X100 Y100 Z60 A100\nG1 Z0.6 F3300\nG4 P2000\nM108 T0", + "machine_end_gcode": "M104 S0 T0\nG1 Z140 F3300\nG28 X0 Y0\nM132 X Y Z A\nG91\nM18", + "thumbnails_format": "PNG", + "thumbnails": [ + "96x96", + "300x300" + ] +} \ No newline at end of file diff --git a/resources/profiles/Dremel/machine/Dremel 3D20.json b/resources/profiles/Dremel/machine/Dremel 3D20.json new file mode 100644 index 00000000000..58e7aa04c78 --- /dev/null +++ b/resources/profiles/Dremel/machine/Dremel 3D20.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Dremel 3D20", + "nozzle_diameter": "0.4", + "family": "Dremel", + "bed_model": "dremel_3d20_buildplate_model.stl", + "bed_texture": "", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Dremel_3D20", + "default_materials": "Dremel Generic PLA @3D20 all" +} \ No newline at end of file diff --git a/resources/profiles/Dremel/machine/Dremel 3D40 0.4 nozzle.json b/resources/profiles/Dremel/machine/Dremel 3D40 0.4 nozzle.json new file mode 100644 index 00000000000..12a761c7827 --- /dev/null +++ b/resources/profiles/Dremel/machine/Dremel 3D40 0.4 nozzle.json @@ -0,0 +1,153 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Dremel 3D40 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_dremel_common", + "printer_model": "Dremel 3D40", + "printer_variant": "0.4", + "printer_structure": "Hbot", + "gcode_flavor": "marlin", + "default_filament_profile": [ + "Dremel Generic PLA @3D40 all" + ], + "default_print_profile": ".20mm Standard @Dremel 3D40 0.4", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "255x0", + "255x155", + "0x155" + ], + "printable_height": "170", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "max_layer_height": [ + "0.34" + ], + "min_layer_height": [ + "0.05" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "1", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "101", + "extruder_clearance_height_to_rod": "45", + "extruder_clearance_radius": "45", + "fan_speedup_overhangs": "1", + "deretraction_speed": [ + "40" + ], + "printer_settings_id": "Dremel", + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "3" + ], + "retraction_minimum_travel": [ + "5" + ], + "retraction_speed": [ + "60" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "1" + ], + "retract_lift_enforce": [ + "Top Surfaces" + ], + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0.5" + ], + "z_hop_types": [ + "Normal Lift" + ], + "machine_max_acceleration_e": [ + "6200", + "5000" + ], + "machine_max_acceleration_extruding": [ + "6200", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "6200", + "20000" + ], + "machine_max_acceleration_y": [ + "6200", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "12", + "12" + ], + "machine_max_jerk_y": [ + "12", + "12" + ], + "machine_max_jerk_z": [ + "2", + "2" + ], + "machine_max_speed_e": [ + "3000", + "100" + ], + "machine_max_speed_x": [ + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_start_gcode": "G90\nG28\nM132 X Y Z A\nG1 Z100 F3300\nG1 X-110.5 Y-74 F6000\nM6 T0\nM907 X100 Y100 Z60 A100\nG1 Z0.6 F3300\nG4 P2000\nM108 T0", + "machine_end_gcode": "M104 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG162 Z F600\nG162 X Y F2000\nM84", + "thumbnails_format": "PNG", + "thumbnails": [ + "96x96", + "300x300" + ] +} diff --git a/resources/profiles/Dremel/machine/Dremel 3D40.json b/resources/profiles/Dremel/machine/Dremel 3D40.json new file mode 100644 index 00000000000..dcbde9d0c25 --- /dev/null +++ b/resources/profiles/Dremel/machine/Dremel 3D40.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Dremel 3D40", + "nozzle_diameter": "0.4", + "family": "Dremel", + "bed_model": "dremel_3d40_3d45_buildplate_model.stl", + "bed_texture": "", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Dremel_3D40", + "default_materials": "Dremel Generic PLA @3D40 all" +} \ No newline at end of file diff --git a/resources/profiles/Dremel/machine/Dremel 3D45 0.4 nozzle.json b/resources/profiles/Dremel/machine/Dremel 3D45 0.4 nozzle.json new file mode 100644 index 00000000000..ff11f457761 --- /dev/null +++ b/resources/profiles/Dremel/machine/Dremel 3D45 0.4 nozzle.json @@ -0,0 +1,142 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Dremel 3D45 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_dremel_common", + "printer_model": "Dremel 3D45", + "printer_variant": "0.4", + "printer_structure": "Hbot", + "printer_settings_id": "Dremel", + "gcode_flavor": "marlin", + "default_filament_profile": [ + "Dremel Generic PLA @3D45 all" + ], + "default_print_profile": ".20mm Standard @Dremel 3D45 0.4", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "255x0", + "255x155", + "0x155" + ], + "printable_height": "170", + "deretraction_speed": [ + "40" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "1", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "101", + "extruder_clearance_height_to_rod": "45", + "extruder_clearance_radius": "45", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0.5" + ], + "z_hop_types": [ + "Normal Lift" + ], + "machine_max_acceleration_e": [ + "6200", + "5000" + ], + "machine_max_acceleration_extruding": [ + "6200", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "6200", + "20000" + ], + "machine_max_acceleration_y": [ + "6200", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "12", + "12" + ], + "machine_max_jerk_y": [ + "12", + "12" + ], + "machine_max_jerk_z": [ + "2", + "2" + ], + "machine_max_speed_e": [ + "3000", + "100" + ], + "machine_max_speed_x": [ + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30" + ], + "max_layer_height": [ + "0.34" + ], + "min_layer_height": [ + "0.05" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "1" + ], + "retract_lift_enforce": [ + "Top Surfaces" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "3" + ], + "retraction_minimum_travel": [ + "5" + ], + "retraction_speed": [ + "60" + ], + "machine_start_gcode": "G28\nG1 Z50.00 F400\nG92 E0\nG1 F200 E3\nG92 E0\nM132 X Y Z A\nM907 X100 Y100 Z50 A100", + "machine_end_gcode": "M104 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG162 Z F600\nG162 X Y F2000\nM84", + "thumbnails_format": "PNG", + "thumbnails": [ + "96x96", + "300x300" + ] +} diff --git a/resources/profiles/Dremel/machine/Dremel 3D45.json b/resources/profiles/Dremel/machine/Dremel 3D45.json new file mode 100644 index 00000000000..0ce708033f7 --- /dev/null +++ b/resources/profiles/Dremel/machine/Dremel 3D45.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Dremel 3D45", + "nozzle_diameter": "0.4", + "family": "Dremel", + "bed_model": "dremel_3d40_3d45_buildplate_model.stl", + "bed_texture": "", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Dremel_3D45", + "default_materials": "Dremel Generic PLA @3D45 all" +} \ No newline at end of file diff --git a/resources/profiles/Dremel/machine/fdm_dremel_common.json b/resources/profiles/Dremel/machine/fdm_dremel_common.json new file mode 100644 index 00000000000..566099e54ed --- /dev/null +++ b/resources/profiles/Dremel/machine/fdm_dremel_common.json @@ -0,0 +1,138 @@ +{ + "type": "machine", + "name": "fdm_dremel_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_machine_common", + "gcode_flavor": "marlin", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "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": [ + "500", + "500" + ], + "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" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "printable_height": "250", + "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": [ + "Dremel Generic PLA" + ], + "bed_exclude_area": [ + "0x0" + ], + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer] ; 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{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{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", + "layer_change_gcode": "", + "scan_first_layer": "0", + "nozzle_type": "undefine", + "auxiliary_fan": "0" +} diff --git a/resources/profiles/Dremel/machine/fdm_machine_common.json b/resources/profiles/Dremel/machine/fdm_machine_common.json new file mode 100644 index 00000000000..6bf00c74184 --- /dev/null +++ b/resources/profiles/Dremel/machine/fdm_machine_common.json @@ -0,0 +1,120 @@ +{ + "type": "machine", + "name": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "printer_technology": "FFF", + "deretraction_speed": [ + "40" + ], + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "gcode_flavor": "marlin", + "silent_mode": "0", + "support_chamber_temp_control": "0", + "support_air_filtration": "0", + "machine_max_acceleration_e": [ + "5000" + ], + "machine_max_acceleration_extruding": [ + "10000" + ], + "machine_max_acceleration_retracting": [ + "1000" + ], + "machine_max_acceleration_x": [ + "10000" + ], + "machine_max_acceleration_y": [ + "10000" + ], + "machine_max_acceleration_z": [ + "500" + ], + "machine_max_speed_e": [ + "60" + ], + "machine_max_speed_x": [ + "500" + ], + "machine_max_speed_y": [ + "500" + ], + "machine_max_speed_z": [ + "10" + ], + "machine_max_jerk_e": [ + "5" + ], + "machine_max_jerk_x": [ + "8" + ], + "machine_max_jerk_y": [ + "8" + ], + "machine_max_jerk_z": [ + "0.4" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "printable_height": "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", + "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_hop_types": "Normal Lift", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "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" +} diff --git a/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D40 0.4.json new file mode 100644 index 00000000000..841e370c44c --- /dev/null +++ b/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D40 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".05mm Super Detail @Dremel 3D40 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "30", + "infill_direction": "45", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.05", + "initial_layer_speed": "22", + "infill_combination": "1", + "infill_wall_overlap": "15%", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "40", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_speed": "40", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "15", + "line_width": "0.42", + "layer_height": "0.05", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "30", + "outer_wall_acceleration": "2000", + "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", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.45", + "sparse_infill_speed": "45", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.42", + "support_top_z_distance": "0.1", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "40", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "45", + "support_threshold_angle": "60", + "support_object_xy_distance": "1.4", + "skirt_loops": "7", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.1", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.42", + "top_surface_speed": "15", + "travel_speed": "100", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "10", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D40 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D45 0.4.json new file mode 100644 index 00000000000..989af133e8c --- /dev/null +++ b/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D45 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".05mm Super Detail @Dremel 3D45 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "20", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "35", + "infill_direction": "45", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.05", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "50", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "40", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.4", + "layer_height": "0.05", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "35", + "outer_wall_acceleration": "2000", + "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", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": "50", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.4", + "support_top_z_distance": "0.4", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "50", + "support_threshold_angle": "60", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "35", + "travel_speed": "100", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "20", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D45 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D20 0.4.json b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D20 0.4.json new file mode 100644 index 00000000000..39f8a75232d --- /dev/null +++ b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D20 0.4.json @@ -0,0 +1,94 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".10mm Detail @Dremel 3D20 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "5000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "45", + "infill_direction": "45", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.1", + "initial_layer_speed": "20", + "infill_combination": "1", + "infill_wall_overlap": "18%", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "50", + "inner_wall_acceleration": "5000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "45", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "20", + "line_width": "0.4", + "layer_height": "0.1", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "30", + "outer_wall_acceleration": "2500", + "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", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "10%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "30%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": "45", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.4", + "support_top_z_distance": "0.4", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "3.5", + "support_speed": "45", + "support_threshold_angle": "55", + "support_object_xy_distance": "1", + "skirt_loops": "3", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "45", + "travel_speed": "90", + "travel_acceleration": "5000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "1000", + "top_shell_layers": "6", + "top_shell_thickness": "1", + "wall_distribution_count": "2", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D20 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D40 0.4.json new file mode 100644 index 00000000000..e127a11b00c --- /dev/null +++ b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D40 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".10mm Detail @Dremel 3D40 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "55", + "infill_direction": "45", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.1", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "60", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_speed": "60", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.42", + "layer_height": "0.1", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "35", + "outer_wall_acceleration": "2000", + "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", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.45", + "sparse_infill_speed": "55", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.42", + "support_top_z_distance": "0.1", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.68", + "support_interface_speed": "55", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "60", + "support_threshold_angle": "60", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.1", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.42", + "top_surface_speed": "35", + "travel_speed": "120", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "10", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D40 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D45 0.4.json new file mode 100644 index 00000000000..5e014ffe077 --- /dev/null +++ b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D45 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".10mm Detail @Dremel 3D45 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "35", + "infill_direction": "45", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.1", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "50", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "40", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.4", + "layer_height": "0.1", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "35", + "outer_wall_acceleration": "2000", + "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", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": "50", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.4", + "support_top_z_distance": "0.4", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "50", + "support_threshold_angle": "60", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "35", + "travel_speed": "100", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "10", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D45 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D20 0.4.json b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D20 0.4.json new file mode 100644 index 00000000000..ce54d76e767 --- /dev/null +++ b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D20 0.4.json @@ -0,0 +1,94 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".20mm Standard @Dremel 3D20 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "brim_object_gap": "0.1", + "default_acceleration": "5000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "50", + "infill_direction": "45", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "50", + "infill_combination": "1", + "infill_wall_overlap": "25%", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "60", + "inner_wall_acceleration": "5000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "60", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "initial_layer_infill_speed": "35%", + "line_width": "0.45", + "layer_height": "0.2", + "minimum_sparse_infill_area": "10", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.45", + "outer_wall_speed": "60", + "outer_wall_acceleration": "2500", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "10%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "18%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.45", + "sparse_infill_speed": "60", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.38", + "support_top_z_distance": "0.3", + "support_interface_top_layers": "3", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "3.5", + "support_speed": "50", + "support_threshold_angle": "60", + "support_object_xy_distance": "60%", + "skirt_loops": "3", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "1", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "50", + "travel_speed": "100", + "travel_acceleration": "5000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "1000", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "wall_distribution_count": "2", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D20 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D40 0.4.json new file mode 100644 index 00000000000..428bb89fe43 --- /dev/null +++ b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D40 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".20mm Standard @Dremel 3D40 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "55", + "infill_direction": "45", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.1", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "60", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_speed": "60", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.42", + "layer_height": "0.1", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "30", + "outer_wall_acceleration": "2000", + "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", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.45", + "sparse_infill_speed": "55", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.42", + "support_top_z_distance": "0.4", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.68", + "support_interface_speed": "55", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "60", + "support_threshold_angle": "65", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.42", + "top_surface_speed": "35", + "travel_speed": "120", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D40 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D45 0.4.json new file mode 100644 index 00000000000..b15c8859fc1 --- /dev/null +++ b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D45 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".20mm Standard @Dremel 3D45 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "35", + "infill_direction": "45", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.1", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "60", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "50", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.4", + "layer_height": "0.2", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "30", + "outer_wall_acceleration": "2000", + "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", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": "55", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.4", + "support_top_z_distance": "0.4", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "55", + "support_threshold_angle": "65", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "35", + "travel_speed": "100", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D45 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D20 0.4.json b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D20 0.4.json new file mode 100644 index 00000000000..921e311e99d --- /dev/null +++ b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D20 0.4.json @@ -0,0 +1,94 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".30mm Draft @Dremel 3D20 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "5000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "50", + "infill_direction": "45", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "20", + "infill_combination": "1", + "infill_wall_overlap": "18%", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "60", + "inner_wall_acceleration": "5000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "60", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "50", + "line_width": "0.4", + "layer_height": "0.3", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "60", + "outer_wall_acceleration": "2500", + "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", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "10%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "18%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": "60", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.4", + "support_top_z_distance": "0.3", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "3.5", + "support_speed": "50", + "support_threshold_angle": "65", + "support_object_xy_distance": "1", + "skirt_loops": "3", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "50", + "travel_speed": "100", + "travel_acceleration": "5000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "1000", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "wall_distribution_count": "2", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D20 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D40 0.4.json new file mode 100644 index 00000000000..604669bbb87 --- /dev/null +++ b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D40 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".30mm Draft @Dremel 3D40 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "55", + "infill_direction": "45", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "60", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_speed": "60", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.42", + "layer_height": "0.3", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "60", + "outer_wall_acceleration": "2000", + "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", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.45", + "sparse_infill_speed": "55", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.42", + "support_top_z_distance": "0.3", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.68", + "support_interface_speed": "55", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "60", + "support_threshold_angle": "65", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.3", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.42", + "top_surface_speed": "55", + "travel_speed": "120", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D40 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D45 0.4.json new file mode 100644 index 00000000000..20c237f4663 --- /dev/null +++ b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D45 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".30mm Draft @Dremel 3D45 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "35", + "infill_direction": "45", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "60", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "50", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.4", + "layer_height": "0.3", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "30", + "outer_wall_acceleration": "2000", + "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", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": "55", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.4", + "support_top_z_distance": "0.6", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "55", + "support_threshold_angle": "65", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.6", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "35", + "travel_speed": "100", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D45 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D40 0.4.json new file mode 100644 index 00000000000..a7a9cfc047d --- /dev/null +++ b/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D40 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".34mm SuperDraft @Dremel 3D40 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "55", + "infill_direction": "45", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.34", + "initial_layer_speed": "30", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "70", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_speed": "60", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "30", + "line_width": "0.42", + "layer_height": "0.34", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "70", + "outer_wall_acceleration": "2000", + "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", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "10%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.45", + "sparse_infill_speed": "65", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.42", + "support_top_z_distance": "0.34", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.68", + "support_interface_speed": "55", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "60", + "support_threshold_angle": "65", + "support_object_xy_distance": "0.34", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.34", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.42", + "top_surface_speed": "55", + "travel_speed": "120", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D40 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D45 0.4.json new file mode 100644 index 00000000000..b4fb5ab19fe --- /dev/null +++ b/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D45 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".34mm SuperDraft @Dremel 3D45 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "35", + "infill_direction": "45", + "initial_layer_line_width": "0.48", + "initial_layer_print_height": "0.34", + "initial_layer_speed": "35", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.48", + "inner_wall_speed": "70", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.56", + "internal_solid_infill_speed": "50", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "35", + "line_width": "0.48", + "layer_height": "0.34", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.48", + "outer_wall_speed": "35", + "outer_wall_acceleration": "2000", + "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", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "10%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.56", + "sparse_infill_speed": "70", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.48", + "support_top_z_distance": "0.68", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "55", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "60", + "support_threshold_angle": "65", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.68", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.48", + "top_surface_speed": "35", + "travel_speed": "100", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D45 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/fdm_process_common.json b/resources/profiles/Dremel/process/fdm_process_common.json new file mode 100644 index 00000000000..7398bcd4813 --- /dev/null +++ b/resources/profiles/Dremel/process/fdm_process_common.json @@ -0,0 +1,70 @@ +{ + "type": "process", + "name": "fdm_process_common", + "from": "system", + "instantiation": "false", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "compatible_printers": [], + "print_sequence": "by layer", + "default_acceleration": "10000", + "bridge_no_support": "0", + "elefant_foot_compensation": "0.1", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "120", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "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%", + "sparse_infill_speed": "50", + "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_speed": "40", + "print_settings_id": "", + "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_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "40", + "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", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0" +} diff --git a/resources/profiles/Dremel/process/fdm_process_dremel_common.json b/resources/profiles/Dremel/process/fdm_process_dremel_common.json new file mode 100644 index 00000000000..ee2cd3a42e4 --- /dev/null +++ b/resources/profiles/Dremel/process/fdm_process_dremel_common.json @@ -0,0 +1,104 @@ +{ + "type": "process", + "name": "fdm_process_dremel_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_process_common", + "adaptive_layer_height": "0", + "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": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "500", + "top_surface_acceleration": "500", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "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": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "700", + "inner_wall_acceleration": "500", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "layer_height": "0.2", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{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": "2", + "skirt_height": "1", + "skirt_loops": "1", + "minimum_sparse_infill_area": "15", + "internal_solid_infill_line_width": "0.4", + "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.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "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": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "initial_layer_speed": "15", + "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": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0" +} From c4bc8da7e0144b3428ecceff8114fc5e5610e776 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sun, 19 May 2024 21:14:19 +0800 Subject: [PATCH 029/178] fix osx font issue --- cmake/modules/MacOSXBundleInfo.plist.in | 2 ++ src/platform/osx/Info.plist.in | 2 ++ 2 files changed, 4 insertions(+) diff --git a/cmake/modules/MacOSXBundleInfo.plist.in b/cmake/modules/MacOSXBundleInfo.plist.in index f453a8a8449..1f435674cf1 100644 --- a/cmake/modules/MacOSXBundleInfo.plist.in +++ b/cmake/modules/MacOSXBundleInfo.plist.in @@ -26,6 +26,8 @@ ???? CFBundleVersion ${MACOSX_BUNDLE_BUNDLE_VERSION} + ATSApplicationFontsPath + fonts/ CFBundleURLTypes diff --git a/src/platform/osx/Info.plist.in b/src/platform/osx/Info.plist.in index e58a3d06819..f5846c023a5 100644 --- a/src/platform/osx/Info.plist.in +++ b/src/platform/osx/Info.plist.in @@ -23,6 +23,8 @@ CFBundleVersion @SLIC3R_BUILD_ID@ CFBundleURLTypes + ATSApplicationFontsPath + fonts/ CFBundleURLName From 5f2821e197351565de25c989449539ac44e8ada5 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sun, 19 May 2024 21:22:14 +0800 Subject: [PATCH 030/178] Feature/merge bs1.91 (#5394) * fixed logic error in PLA jamming gcode for P1S * Fix use after free bug in LinesBucketQueue::emplace_back_bucket I found a use after free bug in LinesBucketQueue::emplace_back_bucket. This was found by enabling address sanitizer. The LinesBucketQueue class has two related members: std::vector line_buckets; std::priority_queue, LinesBucketPtrComp> line_bucket_ptr_queue; line_bucket_ptr_queue holds pointers into line_buckets. However, since items are inserted into line_buckets one at a time, existing pointers that were stored inside line_bucket_ptr_queue become invalid. Specifically: void LinesBucketQueue::emplace_back_bucket(ExtrusionLayers &&els, const void *objPtr, Point offset) { auto oldSize = line_buckets.capacity(); line_buckets.emplace_back(std::move(els), objPtr, offset); <--- Causes a reallocation, making previous pointers invalid line_bucket_ptr_queue.push(&line_buckets.back()); <-- priority queue compares against old, now invalid pointers ... The proposed fix is to calculate the required number of entries in ConflictChecker::find_inter_of_lines_in_diff_objs, and then calling line_buckets.reserve(count). This ensures that sufficient buffer is allocated up front and the pointers are stable as items are added. * Updated to fix the handling of the capacity change, and removed the code I previously added to reserve upfront since it is not really needed * Remove accidentally added whitespace * Removed unused method * ENH:add mz_zip_reader_extract_to_file_w api to solove plugin install failed problem by special wide char jira: none Change-Id: Ic7d3efe3fdf852387650abf9df65803da9e46a60 (cherry picked from commit b68ad03717a63675fef2f3ef73d4058bf311adea) * FIX: PrinterFileSystem report real connect error Change-Id: I99d6ff7f6dcb1f53ccf59854f5f19d0bd39fa9fc Jira: none * rename preference name * FIX:Relax restrictions on importing obj files jira: none Change-Id: I61a0156a8424a5f59922956918d37d38e2c3306a * FIX: [6469] popup dialog too mach when reload object Jira: 6469 Change-Id: I4097e3a3b018c7a676fea93bf63f8f778bb3148b * FIX:fixed incorrect display of printer options page on Linux jira:[STUDIO-6220] Change-Id: Id1f084658b0b340b7f17ab97ba82c0fd3ae83fae * FIX: handle exception of dividing by zero in arranging jira: none Change-Id: I0d20464dbe81a80293539100f06d72dee456a27b (cherry picked from commit 94746ae9bf7f467243849570450567b4fdc78e3a) * ENH:delete no use code jira: none Change-Id: I40e7ffa7ea47bb3cd4039eef9f6c28c604eb3abc * FIX: PrinterFileSystem::FileRemoved Change-Id: I891aaa8d58ff379dc1ebd8581064865a33388f74 * FIX: resend ttcode to printer on -90 error Change-Id: I96dc45102a2759a9f1a0002f42c3a91b2c6b2d75 Jira: STUDIO-5947 (cherry picked from commit 97d687b7c88f8cd51b8eddd39120349d8eac42b1) * FIX: fix some issue in multi machine JIRA: STUDIO-6934 STUDIO-6888 1. Fix the issue of incomplete display caused by excessively long file names 2. Fix the issue of icon display being too large 3. Fix the issue of garbled Chinese characters in the task list Change-Id: I36bc10bf2067f44aaa7e3651b58e526ea323c8ad * FIX: Incorrect multiplier, when the multiplier is set to below 1 github: #3987 #3805 1. In some languages that use commas as decimal points, setting multiplier below 1 will resolve to 0 2. Unable to save multiplier correctly Change-Id: I62bc55e270929ebb5e910eb79c6f97106e842b93 * Arrange * FIX: wrong wipe tower when open 3mf file 1.wipe tower pos in 3mf was overwritten by default pos when opening 3mf with a different printer profile.This patch fix it jira: STUDIO-5890 Signed-off-by: xun.zhang Change-Id: I12e5d4b80a0ad86194db0682c1763ba4a9492521 * ENH: update A1 machine gcode 1.Adjust the y position of the A1 extrusion compensation line jira:NEW Signed-off-by: xun.zhang Change-Id: Iea690a0184ae10a47f53e1532272c31fc0a04cfa * FIX: minor spelling mistake in gcode github:#3477 Signed-off-by: xun.zhang Change-Id: Id3201bf8b8125ce060e2cac102ab2525877e27c1 * FIX: slice crash with height_range github: 3917 Change-Id: Icdf83013213b47935b7a795ed75cc3d49057665d * FIX: ERROR_RES_BUSY text Change-Id: Ifde1a7b0c6ab915eb226c2072c46edd40f60cf9a Jira: STUDIO-6436 * ENH:Unable to send printing without selecting a device jira:[STUDIO-6850] Change-Id: Ic537579727fd1618af364db93fce8fbbe4cd635a * FIX:add exit_gizmo before slice model jira: STUDIO-5531 Change-Id: Icddc9d73b3d91bb68e9768d13e48cbae0680e58e * FIX: PrinterFileSystem report real connect error Change-Id: Id6750cfa2a98fe8325ba677dabb606a0a701b495 * FIX: add can slice judgement in slice all plates processing jira: STUDIO-6325 Change-Id: Ic7fb8cef000c03210bb77289a570ee6b60b6083e * FIX:Fixed error in displaying the name of Bambu filaments Change-Id: Ib42194c07b6eefe793eec81a588debc9d622d951 * FIX: text hidden in calibration tab jira: STUDIO-6264 Change-Id: I24fbc590638a3213d948a973422e010486113923 * FIX: logic error in PLA fan control github PR: #3948 Signed-off-by: xun.zhang Change-Id: I28e4a673e590e83d151e92cc82caab45012aeabe * FIX:upgrade cluster algorithm to remove duplicate labels jira: none Change-Id: I4d68d8cd8e080932c7c308bc8f69e27546ffe309 * FIX: can not parse json float in ES on macOS jira: STUDIO-5889 Change-Id: I622f4b474c378d77b0e43d67a320f023be2d5811 * ENH:Clear the value of the previous nozzle type jira:[for nozzle check] Change-Id: I9a932b833fb07de6cb0a91abe6372b0e91f273f1 * ENH: update A1 gcode 1.Modify the width of extrusion compensation line jira:NEW Signed-off-by: xun.zhang Change-Id: I90543758c866d74f2154e3135d7569109def84b8 * FIX: the height range is not valid in assemble object github: 3876 Change-Id: Id38672bbf0c01bc9b9f0a3e2bf1052d945b45131 * FIX: calibration page text hidden in linux jira: STUDIO-6264 Change-Id: If210abf64057eb2e9c2c5b11d41fa33f18684c72 * ENH:clear nozzle information jira:[STUDIO-7050] Change-Id: I15ca4973d09132ddb5cb5a56bedd795ba6976b27 * update plugin version --------- Signed-off-by: xun.zhang Co-authored-by: afriede Co-authored-by: Momin Al-Ghosien Co-authored-by: zhou.xu Co-authored-by: chunmao.guo Co-authored-by: maosheng.wei Co-authored-by: tao wang Co-authored-by: Arthur Co-authored-by: Kunlong Ma Co-authored-by: xun.zhang Co-authored-by: zhimin.zeng Co-authored-by: liz.li --- resources/profiles/BBL.json | 2 +- .../BBL/machine/Bambu Lab A1 0.4 nozzle.json | 2 +- .../BBL/machine/Bambu Lab P1P 0.2 nozzle.json | 2 +- .../BBL/machine/Bambu Lab P1P 0.4 nozzle.json | 2 +- .../BBL/machine/Bambu Lab P1P 0.6 nozzle.json | 2 +- .../BBL/machine/Bambu Lab P1P 0.8 nozzle.json | 2 +- .../BBL/machine/Bambu Lab P1S 0.2 nozzle.json | 2 +- .../BBL/machine/Bambu Lab P1S 0.4 nozzle.json | 2 +- .../BBL/machine/Bambu Lab P1S 0.6 nozzle.json | 2 +- .../BBL/machine/Bambu Lab P1S 0.8 nozzle.json | 2 +- .../BBL/machine/Bambu Lab X1 0.2 nozzle.json | 2 +- .../BBL/machine/Bambu Lab X1 0.4 nozzle.json | 2 +- .../BBL/machine/Bambu Lab X1 0.6 nozzle.json | 2 +- .../BBL/machine/Bambu Lab X1 0.8 nozzle.json | 2 +- .../Bambu Lab X1 Carbon 0.2 nozzle.json | 2 +- .../Bambu Lab X1 Carbon 0.4 nozzle.json | 2 +- .../Bambu Lab X1 Carbon 0.6 nozzle.json | 2 +- .../Bambu Lab X1 Carbon 0.8 nozzle.json | 2 +- .../BBL/machine/Bambu Lab X1E 0.2 nozzle.json | 2 +- .../BBL/machine/Bambu Lab X1E 0.4 nozzle.json | 2 +- .../BBL/machine/Bambu Lab X1E 0.6 nozzle.json | 2 +- .../BBL/machine/Bambu Lab X1E 0.8 nozzle.json | 2 +- .../include/libnest2d/selections/firstfit.hpp | 6 +- src/libslic3r/Arrange.cpp | 38 +++--- src/libslic3r/Format/OBJ.cpp | 26 +++-- src/libslic3r/Format/objparser.cpp | 8 +- src/libslic3r/GCode/ConflictChecker.cpp | 10 +- src/libslic3r/Model.cpp | 10 -- src/libslic3r/ObjColorUtils.hpp | 109 +++++++++++++++--- src/libslic3r/PresetBundle.cpp | 1 + src/libslic3r/PrintObject.cpp | 6 +- src/libslic3r/PrintObjectSlice.cpp | 6 +- src/miniz/miniz.c | 48 +++++++- src/miniz/miniz.h | 3 + src/slic3r/GUI/AMSMaterialsSetting.cpp | 12 +- src/slic3r/GUI/CalibrationWizardStartPage.cpp | 21 +++- src/slic3r/GUI/CreatePresetsDialog.cpp | 2 +- src/slic3r/GUI/DeviceManager.cpp | 6 +- src/slic3r/GUI/GLCanvas3D.cpp | 34 ++++-- src/slic3r/GUI/GLCanvas3D.hpp | 1 + src/slic3r/GUI/GUI_App.cpp | 16 ++- src/slic3r/GUI/GUI_Preview.cpp | 6 + src/slic3r/GUI/GUI_Preview.hpp | 1 + src/slic3r/GUI/MainFrame.cpp | 5 +- src/slic3r/GUI/MediaPlayCtrl.cpp | 2 +- src/slic3r/GUI/MultiMachineManagerPage.cpp | 42 +++++++ src/slic3r/GUI/MultiMachineManagerPage.hpp | 2 + src/slic3r/GUI/MultiMachinePage.cpp | 11 ++ src/slic3r/GUI/MultiTaskManagerPage.cpp | 86 +++++++++++++- src/slic3r/GUI/MultiTaskManagerPage.hpp | 3 + src/slic3r/GUI/Plater.cpp | 33 +++++- src/slic3r/GUI/Plater.hpp | 1 + src/slic3r/GUI/PrintOptionsDialog.cpp | 23 ++-- src/slic3r/GUI/PrintOptionsDialog.hpp | 20 ++-- src/slic3r/GUI/Printer/PrinterFileSystem.cpp | 16 +-- src/slic3r/GUI/SendMultiMachinePage.cpp | 54 ++++++++- src/slic3r/GUI/SendMultiMachinePage.hpp | 2 - src/slic3r/GUI/WipeTowerDialog.cpp | 42 +++---- src/slic3r/GUI/WipeTowerDialog.hpp | 7 +- src/slic3r/GUI/wxMediaCtrl2.cpp | 1 + src/slic3r/Utils/bambu_networking.hpp | 2 +- version.inc | 2 +- 62 files changed, 579 insertions(+), 189 deletions(-) diff --git a/resources/profiles/BBL.json b/resources/profiles/BBL.json index 034f24f992b..2e2dc75a621 100644 --- a/resources/profiles/BBL.json +++ b/resources/profiles/BBL.json @@ -1,7 +1,7 @@ { "name": "Bambulab", "url": "http://www.bambulab.com/Parameters/vendor/BBL.json", - "version": "01.09.00.07", + "version": "01.09.00.10", "force_update": "0", "description": "the initial version of BBL configurations", "machine_model_list": [ diff --git a/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle.json index 27e716bc73b..a32bf88764a 100644 --- a/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab A1 0.4 nozzle.json @@ -61,7 +61,7 @@ "255" ], "scan_first_layer": "0", - "machine_start_gcode": ";===== machine: A1 =========================\n;===== date: 20240104 =====================\nG392 S0\nM9833.2\n;M400\n;M73 P1.717\n\n;===== start to heat heatbead&hotend==========\nM1002 gcode_claim_action : 2\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\n\n;=====start printer sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A43 B10 L100 C46 D10 M70 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A0 B10 L100 C43 D10 M60 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A0 B10 L100 C41 D10 M80 E41 F10 N80\nM1006 A0 B10 L100 C44 D10 M80 E44 F10 N80\nM1006 A0 B10 L100 C49 D10 M80 E49 F10 N80\nM1006 A0 B10 L100 C0 D10 M80 E0 F10 N80\nM1006 A44 B10 L100 C48 D10 M60 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A0 B10 L100 C44 D10 M80 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A43 B10 L100 C46 D10 M60 E39 F10 N80\nM1006 W\nM18 \n;=====start printer sound ===================\n\n;=====avoid end stop =================\nG91\nG380 S2 Z40 F1200\nG380 S3 Z-15 F1200\nG90\n\n;===== reset machine status =================\n;M290 X39 Y39 Z8\nM204 S6000\n\nM630 S0 P0\nG91\nM17 Z0.3 ; lower the z-motor current\n\nG90\nM17 X0.65 Y1.2 Z0.6 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\n;M211 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\n\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\nM1002 gcode_claim_action : 13\n\nG28 X\nG91\nG1 Z5 F1200\nG90\nG0 X128 F30000\nG0 Y254 F3000\nG91\nG1 Z-5 F1200\n\nM109 S10 H140\n\nM17 E0.3\nM83\nG1 E10 F1200\nG1 E-0.5 F30\nM17 D\n\nG28 Z P0 T140; home z with low precision,permit 300deg temperature\nM104 S{nozzle_temperature_initial_layer[initial_extruder]}\n\nM1002 judge_flag build_plate_detect_flag\nM622 S1\n G39.4\n G90\n G1 Z5 F1200\nM623\n\n;M400\n;M73 P1.717\n\n;===== prepare print temperature and material ==========\nM1002 gcode_claim_action : 24\n\nM400\n;G392 S1\nM211 X0 Y0 Z0 ;turn off soft endstop\nM975 S1 ; turn on\n\nG90\nG1 X-28.5 F30000\nG1 X-48.2 F3000\n\nM620 M ;enable remap\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M1002 gcode_claim_action : 4\n M400\n M1002 set_filament_type:UNKNOWN\n M109 S[nozzle_temperature_initial_layer]\n M104 S250\n M400\n T[initial_no_support_extruder]\n G1 X-48.2 F3000\n M400\n\n M620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n M109 S250 ;set nozzle to common flush temp\n M106 P1 S0\n G92 E0\n G1 E50 F200\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM621 S[initial_no_support_extruder]A\n\nM109 S{nozzle_temperature_range_high[initial_no_support_extruder]} H300\nG92 E0\nG1 E50 F200 ; lower extrusion speed to avoid clog\nM400\nM106 P1 S178\nG92 E0\nG1 E5 F200\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG92 E0\nG1 E-0.5 F300\n\nG1 X-28.5 F30000\nG1 X-48.2 F3000\nG1 X-28.5 F30000 ;wipe and shake\nG1 X-48.2 F3000\nG1 X-28.5 F30000 ;wipe and shake\nG1 X-48.2 F3000\n\n;G392 S0\n\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n;M400\n;M73 P1.717\n\n;===== auto extrude cali start =========================\nM975 S1\n;G392 S1\n\nG90\nM83\nT1000\nG1 X-48.2 Y0 Z10 F10000\nM400\nM1002 set_filament_type:UNKNOWN\n\nM412 S1 ; ===turn on filament runout detection===\nM400 P10\nM620.3 W1; === turn on filament tangle detection===\nM400 S2\n\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n\n;M1002 set_flag extrude_cali_flag=1\nM1002 judge_flag extrude_cali_flag\n\nM622 J1\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_extruder]}\n G1 E10 F{outer_wall_volumetric_speed/2.4*60}\n M983 F{outer_wall_volumetric_speed/2.4} A0.3 H[nozzle_diameter]; cali dynamic extrusion compensation\n\n M106 P1 S255\n M400 S5\n G1 X-28.5 F18000\n G1 X-48.2 F3000\n G1 X-28.5 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-28.5 F12000 ;wipe and shake\n G1 X-48.2 F3000\n M400\n M106 P1 S0\n\n M1002 judge_last_extrude_cali_success\n M622 J0\n M983 F{outer_wall_volumetric_speed/2.4} A0.3 H[nozzle_diameter]; cali dynamic extrusion compensation\n M106 P1 S255\n M400 S5\n G1 X-28.5 F18000\n G1 X-48.2 F3000\n G1 X-28.5 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-28.5 F12000 ;wipe and shake\n M400\n M106 P1 S0\n M623\n \n G1 X-48.2 F3000\n M400\n M984 A0.1 E1 S1 F{outer_wall_volumetric_speed/2.4}\n M106 P1 S178\n M400 S7\n G1 X-28.5 F18000\n G1 X-48.2 F3000\n G1 X-28.5 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-28.5 F12000 ;wipe and shake\n G1 X-48.2 F3000\n M400\n M106 P1 S0\nM623 ; end of \"draw extrinsic para cali paint\"\n\n;G392 S0\n;===== auto extrude cali end ========================\n\n;M400\n;M73 P1.717\n\nM104 S170 ; prepare to wipe nozzle\nM106 S255 ; turn on fan\n\n;===== mech mode fast check start =====================\nM1002 gcode_claim_action : 3\n\nG1 X128 Y128 F20000\nG1 Z5 F1200\nM400 P200\nM970.3 Q1 A5 K0 O3\nM974 Q1 S2 P0\n\nM970.2 Q1 K1 W58 Z0.11\nM974 S2\n\nG1 X128 Y128 F20000\nG1 Z5 F1200\nM400 P200\nM970.3 Q0 A10 K0 O1\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X0 Y5\nG28 X ; re-home XY\n\nG1 Z4 F1200\n\n;===== mech mode fast check end =======================\n\n;M400\n;M73 P1.717\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\n\nM975 S1\nM106 S255 ; turn on fan (G28 has turn off fan)\nM211 S; push soft endstop status\nM211 X0 Y0 Z0 ;turn off Z axis endstop\n\n;===== remove waste by touching start =====\n\nM104 S170 ; set temp down to heatbed acceptable\n\nM83\nG1 E-1 F500\nG90\nM83\n\nM109 S170\nG0 X108 Y-0.5 F30000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X110 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X112 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X114 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X116 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X118 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X120 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X122 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X124 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X126 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X128 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X130 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X132 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X134 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X136 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X138 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X140 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X142 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X144 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X146 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X148 F10000\nG380 S3 Z-5 F1200\n\nG1 Z5 F30000\n;===== remove waste by touching end =====\n\nG1 Z10 F1200\nG0 X118 Y261 F30000\nG1 Z5 F1200\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-50}\n\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nM104 S140 ; prepare to abl\nG0 Z5 F20000\n\nG0 X128 Y261 F20000 ; move to exposed steel surface\nG0 Z-1.01 F1200 ; stop the nozzle\n\nG91\nG2 I1 J0 X2 Y0 F2000.1\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\n\nG90\nG1 Z10 F1200\n\n;===== brush material wipe nozzle =====\n\nG90\nG1 Y250 F30000\nG1 X55\nG1 Z1.300 F1200\nG1 Y262.5 F6000\nG91\nG1 X-35 F30000\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Z5.000 F1200\n\nG90\nG1 X30 Y250.000 F30000\nG1 Z1.300 F1200\nG1 Y262.5 F6000\nG91\nG1 X35 F30000\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Z10.000 F1200\n\n;===== brush material wipe nozzle end =====\n\nG90\n;G0 X128 Y261 F20000 ; move to exposed steel surface\nG1 Y250 F30000\nG1 X138\nG1 Y261\nG0 Z-1.01 F1200 ; stop the nozzle\n\nG91\nG2 I1 J0 X2 Y0 F2000.1\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\n\nM109 S140\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM211 R; pop softend status\n\n;===== wipe nozzle end ================================\n\n;M400\n;M73 P1.717\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\n\nG90\nG1 Z5 F1200\nG1 X0 Y0 F30000\nG29.2 S1 ; turn on ABL\n\nM190 S[bed_temperature_initial_layer_single]; ensure bed temp\nM109 S140\nM106 S0 ; turn off fan , too noisy\n\nM622 J1\n M1002 gcode_claim_action : 1\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]}\n M400\n M500 ; save cali data\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n\n;===== home after wipe mouth end =======================\n\n;M400\n;M73 P1.717\n\nG1 X108.000 Y-0.500 F30000\nG1 Z0.300 F1200\nM400\nG2814 Z0.32\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; prepare to print\n\n;===== nozzle load line ===============================\n;G90\n;M83\n;G1 Z5 F1200\n;G1 X88 Y-0.5 F20000\n;G1 Z0.3 F1200\n\n;M109 S{nozzle_temperature_initial_layer[initial_extruder]}\n\n;G1 E2 F300\n;G1 X168 E4.989 F6000\n;G1 Z1 F1200\n;===== nozzle load line end ===========================\n\n;===== extrude cali test ===============================\n\nM400\n M900 S\n\n M900 C\n G90\n M83\n M109 S{nozzle_temperature_initial_layer[initial_extruder]}\n G0 X128 E10 F{outer_wall_volumetric_speed/(24/20) * 60}\n G0 X133 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X138 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X143 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X148 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X153 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G91\n G1 X1 Z-0.300\n G1 X4\n G1 Z1 F1200\n G90\n M400\n\n M900 R\n G90\n G1 X108.000 Y4.500 F30000\n G91\n G1 Z-0.700 F1200\n G90\n M83\n G0 X128 E10 F{outer_wall_volumetric_speed/(24/20) * 60}\n G0 X133 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X138 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X143 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X148 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X153 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G91\n G1 X1 Z-0.300\n G1 X4\n G1 Z1 F1200\n G90\n M400\n\nG1 Z0.2\n\n;M400\n;M73 P1.717\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.02} ; for Textured PEI Plate\n{endif}\n\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n\nM211 X0 Y0 Z0 ;turn off soft endstop\n;G392 S1 ; turn on clog detection\nM1007 S1 ; turn on mass estimation\nG29.4\n", + "machine_start_gcode": ";===== machine: A1 =========================\n;===== date: 20240509 =====================\nG392 S0\nM9833.2\n;M400\n;M73 P1.717\n\n;===== start to heat heatbead&hotend==========\nM1002 gcode_claim_action : 2\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\n\n;=====start printer sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A0 B10 L100 C37 D10 M60 E37 F10 N60\nM1006 A0 B10 L100 C41 D10 M60 E41 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A43 B10 L100 C46 D10 M70 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A0 B10 L100 C43 D10 M60 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A0 B10 L100 C41 D10 M80 E41 F10 N80\nM1006 A0 B10 L100 C44 D10 M80 E44 F10 N80\nM1006 A0 B10 L100 C49 D10 M80 E49 F10 N80\nM1006 A0 B10 L100 C0 D10 M80 E0 F10 N80\nM1006 A44 B10 L100 C48 D10 M60 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A0 B10 L100 C44 D10 M80 E39 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A43 B10 L100 C46 D10 M60 E39 F10 N80\nM1006 W\nM18 \n;=====start printer sound ===================\n\n;=====avoid end stop =================\nG91\nG380 S2 Z40 F1200\nG380 S3 Z-15 F1200\nG90\n\n;===== reset machine status =================\n;M290 X39 Y39 Z8\nM204 S6000\n\nM630 S0 P0\nG91\nM17 Z0.3 ; lower the z-motor current\n\nG90\nM17 X0.65 Y1.2 Z0.6 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\n;M211 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\n\n;====== cog noise reduction=================\nM982.2 S1 ; turn on cog noise reduction\n\nM1002 gcode_claim_action : 13\n\nG28 X\nG91\nG1 Z5 F1200\nG90\nG0 X128 F30000\nG0 Y254 F3000\nG91\nG1 Z-5 F1200\n\nM109 S25 H140\n\nM17 E0.3\nM83\nG1 E10 F1200\nG1 E-0.5 F30\nM17 D\n\nG28 Z P0 T140; home z with low precision,permit 300deg temperature\nM104 S{nozzle_temperature_initial_layer[initial_extruder]}\n\nM1002 judge_flag build_plate_detect_flag\nM622 S1\n G39.4\n G90\n G1 Z5 F1200\nM623\n\n;M400\n;M73 P1.717\n\n;===== prepare print temperature and material ==========\nM1002 gcode_claim_action : 24\n\nM400\n;G392 S1\nM211 X0 Y0 Z0 ;turn off soft endstop\nM975 S1 ; turn on\n\nG90\nG1 X-28.5 F30000\nG1 X-48.2 F3000\n\nM620 M ;enable remap\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M1002 gcode_claim_action : 4\n M400\n M1002 set_filament_type:UNKNOWN\n M109 S[nozzle_temperature_initial_layer]\n M104 S250\n M400\n T[initial_no_support_extruder]\n G1 X-48.2 F3000\n M400\n\n M620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n M109 S250 ;set nozzle to common flush temp\n M106 P1 S0\n G92 E0\n G1 E50 F200\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\nM621 S[initial_no_support_extruder]A\n\nM109 S{nozzle_temperature_range_high[initial_no_support_extruder]} H300\nG92 E0\nG1 E50 F200 ; lower extrusion speed to avoid clog\nM400\nM106 P1 S178\nG92 E0\nG1 E5 F200\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG92 E0\nG1 E-0.5 F300\n\nG1 X-28.5 F30000\nG1 X-48.2 F3000\nG1 X-28.5 F30000 ;wipe and shake\nG1 X-48.2 F3000\nG1 X-28.5 F30000 ;wipe and shake\nG1 X-48.2 F3000\n\n;G392 S0\n\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n;M400\n;M73 P1.717\n\n;===== auto extrude cali start =========================\nM975 S1\n;G392 S1\n\nG90\nM83\nT1000\nG1 X-48.2 Y0 Z10 F10000\nM400\nM1002 set_filament_type:UNKNOWN\n\nM412 S1 ; ===turn on filament runout detection===\nM400 P10\nM620.3 W1; === turn on filament tangle detection===\nM400 S2\n\nM1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n\n;M1002 set_flag extrude_cali_flag=1\nM1002 judge_flag extrude_cali_flag\n\nM622 J1\n M1002 gcode_claim_action : 8\n\n M109 S{nozzle_temperature[initial_extruder]}\n G1 E10 F{outer_wall_volumetric_speed/2.4*60}\n M983 F{outer_wall_volumetric_speed/2.4} A0.3 H[nozzle_diameter]; cali dynamic extrusion compensation\n\n M106 P1 S255\n M400 S5\n G1 X-28.5 F18000\n G1 X-48.2 F3000\n G1 X-28.5 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-28.5 F12000 ;wipe and shake\n G1 X-48.2 F3000\n M400\n M106 P1 S0\n\n M1002 judge_last_extrude_cali_success\n M622 J0\n M983 F{outer_wall_volumetric_speed/2.4} A0.3 H[nozzle_diameter]; cali dynamic extrusion compensation\n M106 P1 S255\n M400 S5\n G1 X-28.5 F18000\n G1 X-48.2 F3000\n G1 X-28.5 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-28.5 F12000 ;wipe and shake\n M400\n M106 P1 S0\n M623\n \n G1 X-48.2 F3000\n M400\n M984 A0.1 E1 S1 F{outer_wall_volumetric_speed/2.4}\n M106 P1 S178\n M400 S7\n G1 X-28.5 F18000\n G1 X-48.2 F3000\n G1 X-28.5 F18000 ;wipe and shake\n G1 X-48.2 F3000\n G1 X-28.5 F12000 ;wipe and shake\n G1 X-48.2 F3000\n M400\n M106 P1 S0\nM623 ; end of \"draw extrinsic para cali paint\"\n\n;G392 S0\n;===== auto extrude cali end ========================\n\n;M400\n;M73 P1.717\n\nM104 S170 ; prepare to wipe nozzle\nM106 S255 ; turn on fan\n\n;===== mech mode fast check start =====================\nM1002 gcode_claim_action : 3\n\nG1 X128 Y128 F20000\nG1 Z5 F1200\nM400 P200\nM970.3 Q1 A5 K0 O3\nM974 Q1 S2 P0\n\nM970.2 Q1 K1 W58 Z0.11\nM974 S2\n\nG1 X128 Y128 F20000\nG1 Z5 F1200\nM400 P200\nM970.3 Q0 A10 K0 O1\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X0 Y5\nG28 X ; re-home XY\n\nG1 Z4 F1200\n\n;===== mech mode fast check end =======================\n\n;M400\n;M73 P1.717\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\n\nM975 S1\nM106 S255 ; turn on fan (G28 has turn off fan)\nM211 S; push soft endstop status\nM211 X0 Y0 Z0 ;turn off Z axis endstop\n\n;===== remove waste by touching start =====\n\nM104 S170 ; set temp down to heatbed acceptable\n\nM83\nG1 E-1 F500\nG90\nM83\n\nM109 S170\nG0 X108 Y-0.5 F30000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X110 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X112 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X114 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X116 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X118 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X120 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X122 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X124 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X126 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X128 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X130 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X132 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X134 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X136 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X138 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X140 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X142 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X144 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X146 F10000\nG380 S3 Z-5 F1200\nG1 Z2 F1200\nG1 X148 F10000\nG380 S3 Z-5 F1200\n\nG1 Z5 F30000\n;===== remove waste by touching end =====\n\nG1 Z10 F1200\nG0 X118 Y261 F30000\nG1 Z5 F1200\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-50}\n\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nM104 S140 ; prepare to abl\nG0 Z5 F20000\n\nG0 X128 Y261 F20000 ; move to exposed steel surface\nG0 Z-1.01 F1200 ; stop the nozzle\n\nG91\nG2 I1 J0 X2 Y0 F2000.1\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\n\nG90\nG1 Z10 F1200\n\n;===== brush material wipe nozzle =====\n\nG90\nG1 Y250 F30000\nG1 X55\nG1 Z1.300 F1200\nG1 Y262.5 F6000\nG91\nG1 X-35 F30000\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Z5.000 F1200\n\nG90\nG1 X30 Y250.000 F30000\nG1 Z1.300 F1200\nG1 Y262.5 F6000\nG91\nG1 X35 F30000\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Y-0.5\nG1 X45\nG1 Y-0.5\nG1 X-45\nG1 Z10.000 F1200\n\n;===== brush material wipe nozzle end =====\n\nG90\n;G0 X128 Y261 F20000 ; move to exposed steel surface\nG1 Y250 F30000\nG1 X138\nG1 Y261\nG0 Z-1.01 F1200 ; stop the nozzle\n\nG91\nG2 I1 J0 X2 Y0 F2000.1\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\nG2 I1 J0 X2\nG2 I-0.75 J0 X-1.5\n\nM109 S140\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM211 R; pop softend status\n\n;===== wipe nozzle end ================================\n\n;M400\n;M73 P1.717\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\n\nG90\nG1 Z5 F1200\nG1 X0 Y0 F30000\nG29.2 S1 ; turn on ABL\n\nM190 S[bed_temperature_initial_layer_single]; ensure bed temp\nM109 S140\nM106 S0 ; turn off fan , too noisy\n\nM622 J1\n M1002 gcode_claim_action : 1\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]}\n M400\n M500 ; save cali data\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n\n;===== home after wipe mouth end =======================\n\n;M400\n;M73 P1.717\n\nG1 X108.000 Y-0.5 F30000\nG1 Z0.300 F1200\nM400\nG2814 Z0.32\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; prepare to print\n\n;===== nozzle load line ===============================\n;G90\n;M83\n;G1 Z5 F1200\n;G1 X88 Y1.0 F20000\n;G1 Z0.3 F1200\n\n;M109 S{nozzle_temperature_initial_layer[initial_extruder]}\n\n;G1 E2 F300\n;G1 X168 E4.989 F6000\n;G1 Z1 F1200\n;===== nozzle load line end ===========================\n\n;===== extrude cali test ===============================\n\nM400\n M900 S\n G90\n M83\n\n M109 S{nozzle_temperature_initial_layer[initial_extruder]}\n G0 X128 E4 F{outer_wall_volumetric_speed/(24/20) * 60}\n G0 X133 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X138 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X143 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X148 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X153 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G91\n G1 X1 Z-0.300\n G1 X4\n G1 Z1 F1200\n G90\n M83\n M400\n\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M900 C\n G90\n G1 X108.000 Y1.0 F30000\n G91\n G1 Z-0.700 F1200\n G90\n M83\n G0 X128 E4 F{outer_wall_volumetric_speed/(24/20) * 60}\n G0 X133 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X138 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X143 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G0 X148 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X153 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\n G91\n G1 X1 Z-0.300\n G1 X4\n G1 Z1 F1200\n G90\n M400\n M900 R\nM623\n\nG1 Z0.2\n\n;M400\n;M73 P1.717\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.02} ; for Textured PEI Plate\n{endif}\n\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\n\nM211 X0 Y0 Z0 ;turn off soft endstop\n;G392 S1 ; turn on clog detection\nM1007 S1 ; turn on mass estimation\nG29.4\n", "machine_end_gcode": ";===== date: 20231229 =====================\nG392 S0 ;turn off nozzle clog detect\n\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 X0 Y{first_layer_center_no_wipe_tower[1]} F18000 ; move to safe pos\nG1 X-13.0 F3000 ; move to safe pos\n{if !spiral_mode && print_sequence != \"by object\"}\nM1002 judge_flag timelapse_record_flag\nM622 J1\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM400 P100\nM971 S11 C11 O0\nM991 S0 P-1 ;end timelapse at safe pos\nM623\n{endif}\n\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\n;G1 X27 F15000 ; wipe\n\n; pull back filament to AMS\nM620 S255\nG1 X267 F15000\nT255\nG1 X-28.5 F18000\nG1 X-48.2 F3000\nG1 X-28.5 F18000\nG1 X-48.2 F3000\nM621 S255\n\nM104 S0 ; 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 (max_layer_z + 100.0) < 256}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z256 F600\n G1 Z256\n{endif}\nM400 P100\nM17 R ; restore z current\n\nG90\nG1 X-48 Y180 F3600\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\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A0 B20 L100 C37 D20 M40 E42 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C46 D10 M80 E46 F10 N80\nM1006 A44 B20 L100 C39 D20 M60 E48 F20 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C44 D10 M60 E44 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C39 D10 M60 E39 F10 N60\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N60\nM1006 A0 B10 L100 C48 D10 M60 E44 F10 N80\nM1006 A0 B10 L100 C0 D10 M60 E0 F10 N80\nM1006 A44 B20 L100 C49 D20 M80 E41 F20 N80\nM1006 A0 B20 L100 C0 D20 M60 E0 F20 N80\nM1006 A0 B20 L100 C37 D20 M30 E37 F20 N60\nM1006 W\n;=====printer finish sound=========\n\n;M17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM400\nM18 X Y Z\n\n", "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change", "time_lapse_gcode": ";===================== date: 20231215 =====================\n{if !spiral_mode && print_sequence != \"by object\"}\n; don't support timelapse gcode in spiral_mode and by object sequence for I3 structure printer\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\nG92 E0\nG17\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F20000 ; spiral lift a little\nG1 Z{max_layer_z + 0.4}\nG1 X0 Y{first_layer_center_no_wipe_tower[1]} F18000 ; move to safe pos\nG1 X-48.2 F3000 ; move to safe pos\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 X0 F18000\nM623\n\nM622.1 S1\nM1002 judge_flag g39_detection_flag\nM622 J1 \n ; enable nozzle clog detect at 3rd layer\n {if layer_num == 2}\n M400\n G90\n M83\n M204 S5000\n G0 Z2 F4000\n G0 X261 Y250 F20000\n M400 P200\n G39 S1\n G0 Z2 F4000\n {endif}\n\n {if !in_head_wrap_detect_zone}\n M622.1 S0\n M1002 judge_flag g39_mass_exceed_flag\n M622 J1\n {if layer_num > 2}\n G392 S0\n M400\n G90\n M83\n M204 S5000\n G0 Z{max_layer_z + 0.4} F4000\n G39.3 S1\n G0 Z{max_layer_z + 0.4} F4000\n G392 S0\n {endif}\n M623\n {endif}\nM623\n{endif}\n", diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json index b1219b59dfe..4da8c72134e 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json @@ -30,5 +30,5 @@ "Bambu Lab X1E 0.2 nozzle", "Bambu Lab A1 0.2 nozzle" ], - "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression" + "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json index c9046ad060a..b3fa83d3de0 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json @@ -37,7 +37,7 @@ "Bambu Lab X1E 0.4 nozzle", "Bambu Lab A1 0.4 nozzle" ], - "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression", + "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n\t{elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression", "machine_end_gcode": ";===== date: 20230428 =====================\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 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 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\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\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 (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\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\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\n", "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 E-[retraction_length] F1800\nG17\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F20000 ; spiral lift a little\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 E[retraction_length] F300\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change", "change_filament_gcode": "M620 S[next_extruder]A\nM204 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}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F[old_filament_e_feedrate] T{nozzle_temperature_range_high[previous_extruder]}\nT[next_extruder]\nM620.1 E F[new_filament_e_feedrate] T{nozzle_temperature_range_high[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F[old_filament_e_feedrate]\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S[nozzle_temperature_range_high]\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{new_filament_e_feedrate} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json index e3952a891ec..36bede9f0aa 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json @@ -34,5 +34,5 @@ "Bambu Lab X1E 0.6 nozzle", "Bambu Lab A1 0.6 nozzle" ], - "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression" + "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json index 3364e0744f3..504d3123e3f 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json @@ -34,5 +34,5 @@ "Bambu Lab X1E 0.8 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression" + "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json index 45ce15c9909..ff1c26441a2 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json @@ -30,5 +30,5 @@ "Bambu Lab X1E 0.2 nozzle", "Bambu Lab A1 0.2 nozzle" ], - "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" + "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json index 3dc5e2b6d95..f76ee65d84e 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json @@ -36,7 +36,7 @@ "Bambu Lab X1E 0.4 nozzle", "Bambu Lab A1 0.4 nozzle" ], - "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n", + "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n", "machine_end_gcode": ";===== date: 20230428 =====================\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 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 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\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\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 (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\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\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\n", "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 E-[retraction_length] F1800\nG17\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F20000 ; spiral lift a little\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 E[retraction_length] F300\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change", "change_filament_gcode": "M620 S[next_extruder]A\nM204 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}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F[old_filament_e_feedrate] T{nozzle_temperature_range_high[previous_extruder]}\nT[next_extruder]\nM620.1 E F[new_filament_e_feedrate] T{nozzle_temperature_range_high[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F[old_filament_e_feedrate]\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S[nozzle_temperature_range_high]\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{new_filament_e_feedrate} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json index 195857d3eef..82846151766 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json @@ -34,5 +34,5 @@ "Bambu Lab X1E 0.6 nozzle", "Bambu Lab A1 0.6 nozzle" ], - "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" + "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json index 0db7e015bbd..29cfca14f24 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json @@ -34,5 +34,5 @@ "Bambu Lab X1E 0.8 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ; turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" + "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ; turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json index a5196e5c752..ad0f3cd4385 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json @@ -30,5 +30,5 @@ "Bambu Lab X1E 0.2 nozzle", "Bambu Lab A1 0.2 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json index 4b96419d2f5..9f2087a5320 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json @@ -37,7 +37,7 @@ "Bambu Lab X1E 0.4 nozzle", "Bambu Lab A1 0.4 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", "machine_end_gcode": ";===== date: 20240402 =====================\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 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 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\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\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 (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\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\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM960 S5 P0 ; turn off logo lamp\n\n", "change_filament_gcode": "M620 S[next_extruder]A\nM204 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}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F[old_filament_e_feedrate] T{nozzle_temperature_range_high[previous_extruder]}\nT[next_extruder]\nM620.1 E F[new_filament_e_feedrate] T{nozzle_temperature_range_high[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F[old_filament_e_feedrate]\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S[nozzle_temperature_range_high]\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{new_filament_e_feedrate} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json index 74f5b0e3b99..2a4e8d888b0 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json @@ -34,5 +34,5 @@ "Bambu Lab X1E 0.6 nozzle", "Bambu Lab A1 0.6 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.333\n G0 F1200.0 X226 Y15 Z0.2 E0.495\n G0 F1200.0 X226 Y8 Z0.2 E0.691\n G0 F1200.0 X216 Y8 Z0.2 E0.988\n G0 F1200.0 X216 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E20.56 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.56 F1200.0\n G0 X35.0 Y6.0 E1.75 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.333\n G0 F1200.0 X226 Y15 Z0.2 E0.495\n G0 F1200.0 X226 Y8 Z0.2 E0.691\n G0 F1200.0 X216 Y8 Z0.2 E0.988\n G0 F1200.0 X216 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E20.56 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.56 F1200.0\n G0 X35.0 Y6.0 E1.75 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json index 9741939bdaf..9728fde873c 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json @@ -34,5 +34,5 @@ "Bambu Lab X1E 0.8 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.482\n G0 F1200.0 X226 Y15 Z0.2 E0.550\n G0 F1200.0 X226 Y8 Z0.2 E0.768\n G0 F1200.0 X216 Y8 Z0.2 E1.098\n G0 F1200.0 X216 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E25.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.70 F1200.0\n G0 X35.0 Y6.0 E1.90 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.482\n G0 F1200.0 X226 Y15 Z0.2 E0.550\n G0 F1200.0 X226 Y8 Z0.2 E0.768\n G0 F1200.0 X216 Y8 Z0.2 E1.098\n G0 F1200.0 X216 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E25.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.70 F1200.0\n G0 X35.0 Y6.0 E1.90 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json index 795cbb741fb..d752a45687d 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json @@ -31,5 +31,5 @@ "Bambu Lab X1E 0.2 nozzle", "Bambu Lab A1 0.2 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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 M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json index b56c45b13e7..45941560014 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json @@ -35,7 +35,7 @@ "Bambu Lab X1E 0.4 nozzle", "Bambu Lab A1 0.4 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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 M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", "machine_end_gcode": ";===== date: 20240402 =====================\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 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 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\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\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 (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\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\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM960 S5 P0 ; turn off logo lamp\n\n", "change_filament_gcode": "M620 S[next_extruder]A\nM204 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}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F[old_filament_e_feedrate] T{nozzle_temperature_range_high[previous_extruder]}\nT[next_extruder]\nM620.1 E F[new_filament_e_feedrate] T{nozzle_temperature_range_high[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F[old_filament_e_feedrate]\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S[nozzle_temperature_range_high]\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{new_filament_e_feedrate} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json index b93fbd1013b..73f67a2c9ed 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json @@ -33,5 +33,5 @@ "Bambu Lab X1E 0.6 nozzle", "Bambu Lab A1 0.6 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.333\n G0 F1200.0 X226 Y15 Z0.2 E0.495\n G0 F1200.0 X226 Y8 Z0.2 E0.691\n G0 F1200.0 X216 Y8 Z0.2 E0.988\n G0 F1200.0 X216 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E20.56 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.56 F1200.0\n G0 X35.0 Y6.0 E1.75 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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 M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.333\n G0 F1200.0 X226 Y15 Z0.2 E0.495\n G0 F1200.0 X226 Y8 Z0.2 E0.691\n G0 F1200.0 X216 Y8 Z0.2 E0.988\n G0 F1200.0 X216 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E20.56 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.56 F1200.0\n G0 X35.0 Y6.0 E1.75 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json index 468a7fcbb25..e7865c1d5e4 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json @@ -33,5 +33,5 @@ "Bambu Lab X1E 0.8 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.482\n G0 F1200.0 X226 Y15 Z0.2 E0.550\n G0 F1200.0 X226 Y8 Z0.2 E0.768\n G0 F1200.0 X216 Y8 Z0.2 E1.098\n G0 F1200.0 X216 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E25.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.70 F1200.0\n G0 X35.0 Y6.0 E1.90 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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 M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.482\n G0 F1200.0 X226 Y15 Z0.2 E0.550\n G0 F1200.0 X226 Y8 Z0.2 E0.768\n G0 F1200.0 X216 Y8 Z0.2 E1.098\n G0 F1200.0 X216 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E25.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.70 F1200.0\n G0 X35.0 Y6.0 E1.90 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.2 nozzle.json index fcb0cb21cf7..91a482c17c0 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1E 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.2 nozzle.json @@ -31,5 +31,5 @@ "Bambu Lab X1 Carbon 0.2 nozzle", "Bambu Lab A1 0.2 nozzle" ], - "machine_start_gcode": ";===== machine: X1E =========================\n;===== date: 20230815 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1E =========================\n;===== date: 20230815 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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 M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle.json index 83fd375a6ef..3050ab385a0 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.4 nozzle.json @@ -37,7 +37,7 @@ "Bambu Lab X1 Carbon 0.4 nozzle", "Bambu Lab A1 0.4 nozzle" ], - "machine_start_gcode": ";===== machine: X1E =========================\n;===== date: 20230815 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4\n\n", + "machine_start_gcode": ";===== machine: X1E =========================\n;===== date: 20230815 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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 M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4\n\n", "machine_end_gcode": ";===== date: 20240402 =====================\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 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 F3000\nM141 S0 ; turn off chamber \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\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\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 (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\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\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM960 S5 P0 ; turn off logo lamp\n\n", "change_filament_gcode": "M620 S[next_extruder]A\nM204 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}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\n{if long_retraction_when_cut && retraction_distance_when_cut > 2}\nG1 E-[retraction_distance_when_cut] F200\nM400\n{endif}\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F[old_filament_e_feedrate] T{nozzle_temperature_range_high[previous_extruder]}\nT[next_extruder]\nM620.1 E F[new_filament_e_feedrate] T{nozzle_temperature_range_high[next_extruder]}\n\n{if next_extruder < 255}\nM400\n{if long_retraction_when_cut && retraction_distance_when_cut > 2}\nG1 E{retraction_distance_when_cut - 2} F200\nG1 E2 F20\nM400\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S[nozzle_temperature_range_high]\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{new_filament_e_feedrate} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.6 nozzle.json index 920dad2ed42..4db6be64be1 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1E 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.6 nozzle.json @@ -33,5 +33,5 @@ "Bambu Lab X1 Carbon 0.6 nozzle", "Bambu Lab A1 0.6 nozzle" ], - "machine_start_gcode": ";===== machine: X1E =========================\n;===== date: 20230815 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.333\n G0 F1200.0 X226 Y15 Z0.2 E0.495\n G0 F1200.0 X226 Y8 Z0.2 E0.691\n G0 F1200.0 X216 Y8 Z0.2 E0.988\n G0 F1200.0 X216 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E20.56 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.56 F1200.0\n G0 X35.0 Y6.0 E1.75 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1E =========================\n;===== date: 20230815 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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 M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.333\n G0 F1200.0 X226 Y15 Z0.2 E0.495\n G0 F1200.0 X226 Y8 Z0.2 E0.691\n G0 F1200.0 X216 Y8 Z0.2 E0.988\n G0 F1200.0 X216 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E20.56 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.56 F1200.0\n G0 X35.0 Y6.0 E1.75 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1E 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1E 0.8 nozzle.json index a3e4c8089de..5b435c4ab4d 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1E 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1E 0.8 nozzle.json @@ -33,5 +33,5 @@ "Bambu Lab X1 Carbon 0.8 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "machine_start_gcode": ";===== machine: X1E =========================\n;===== date: 20230815 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== noozle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.482\n G0 F1200.0 X226 Y15 Z0.2 E0.550\n G0 F1200.0 X226 Y8 Z0.2 E0.768\n G0 F1200.0 X216 Y8 Z0.2 E1.098\n G0 F1200.0 X216 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E25.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.70 F1200.0\n G0 X35.0 Y6.0 E1.90 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1E =========================\n;===== date: 20230815 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;==== if Chamber Cooling is necessary ==== \n\n{if (filament_type[initial_no_support_extruder]==\"PLA\") || (filament_type[initial_no_support_extruder]==\"PETG\") || (filament_type[initial_no_support_extruder]==\"TPU\") || (filament_type[initial_no_support_extruder]==\"PVA\") || (filament_type[initial_no_support_extruder]==\"PLA-CF\") || (filament_type[initial_no_support_extruder]==\"PETG-CF\")}\nM1002 gcode_claim_action : 29\nG28\nG90\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nG1 Z75\nM140 S0 ; stop heatbed from heating\nM106 P2 S255 ; open auxiliary fan for cooling\nM106 P3 S255 ; open chamber fan for cooling\nM191 S0 ; wait for chamber temp\nM106 P3 S0 ; reset chamber fan cmd\nM106 P2 S0; reset auxiliary fan cmd\n{endif}\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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 M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S290 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n\n;===== set chamber temperature ==========\n{if (overall_chamber_temperature >= 40)}\nM106 P2 S255 ; open big fan to help heating\nM141 S[overall_chamber_temperature] ; Let Chamber begin to heat\n{endif}\n\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.482\n G0 F1200.0 X226 Y15 Z0.2 E0.550\n G0 F1200.0 X226 Y8 Z0.2 E0.768\n G0 F1200.0 X216 Y8 Z0.2 E1.098\n G0 F1200.0 X216 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E25.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.70 F1200.0\n G0 X35.0 Y6.0 E1.90 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;===== wait chamber temperature reaching the reference value =======\n{if (overall_chamber_temperature >= 40)}\nM191 S[overall_chamber_temperature] ; wait for chamber temp\nM106 P2 S0 ; reset chamber fan cmd\n{endif}\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/src/libnest2d/include/libnest2d/selections/firstfit.hpp b/src/libnest2d/include/libnest2d/selections/firstfit.hpp index bb7f4b45c01..c3af682d22c 100644 --- a/src/libnest2d/include/libnest2d/selections/firstfit.hpp +++ b/src/libnest2d/include/libnest2d/selections/firstfit.hpp @@ -119,9 +119,9 @@ public: for(; j < placers.size() && !was_packed && !cancelled(); j++) { result = placers[j].pack(*it, rem(it, store_)); score = result.score(); - score_all_plates = std::accumulate(placers.begin(), placers.begin() + j, score, - [](double sum, const Placer& elem) { return sum + elem.score(); }); - if (this->unfitindicator_) this->unfitindicator_(it->get().name + " bed_id="+std::to_string(j) + ",score=" + std::to_string(score)); + score_all_plates = score; + for (int i = 0; i < placers.size(); i++) { score_all_plates += placers[i].score();} + if (this->unfitindicator_) this->unfitindicator_(it->get().name + " bed_id="+std::to_string(j) + ",score=" + std::to_string(score)+", score_all_plates="+std::to_string(score_all_plates)); if(score >= 0 && score < LARGE_COST_TO_REJECT) { if (bed_id_firstfit == -1) { diff --git a/src/libslic3r/Arrange.cpp b/src/libslic3r/Arrange.cpp index 6aeea356a36..d82997aaa92 100644 --- a/src/libslic3r/Arrange.cpp +++ b/src/libslic3r/Arrange.cpp @@ -640,27 +640,24 @@ protected: score += lambda4 * hasRowHeightConflict + lambda4 * hasLidHeightConflict; } else { + int valid_items_cnt = 0; + double height_score = 0; for (int i = 0; i < m_items.size(); i++) { Item& p = m_items[i]; - if (p.is_virt_object) { - // Better not put items above wipe tower - if (p.is_wipe_tower) { - if (ibb.maxCorner().y() > p.boundingBox().maxCorner().y()) - score += 1; - else if(m_pilebb.defined) - score += norm(pl::distance(ibb.center(), m_pilebb.center())); - } - else - continue; - } else { + if (!p.is_virt_object) { + valid_items_cnt++; // 高度接近的件尽量摆到一起 - score += (1- std::abs(item.height - p.height) / params.printable_height) + height_score += (1- std::abs(item.height - p.height) / params.printable_height) * norm(pl::distance(ibb.center(), p.boundingBox().center())); //score += LARGE_COST_TO_REJECT * (item.bed_temp - p.bed_temp != 0); - if (!Print::is_filaments_compatible({ item.filament_temp_type,p.filament_temp_type })) + if (!Print::is_filaments_compatible({ item.filament_temp_type,p.filament_temp_type })) { score += LARGE_COST_TO_REJECT; + break; + } } } + if (valid_items_cnt > 0) + score += height_score / valid_items_cnt; } std::set extruder_ids; @@ -682,9 +679,11 @@ protected: } // for layered printing, we want extruder change as few as possible // this has very weak effect, CAN NOT use a large weight + int last_extruder_cnt = extruder_ids.size(); extruder_ids.insert(item.extrude_ids.begin(), item.extrude_ids.end()); + int new_extruder_cnt= extruder_ids.size(); if (!params.is_seq_print) { - score += 1 * std::max(0, ((int) extruder_ids.size() - 1)); + score += 1 * (new_extruder_cnt-last_extruder_cnt); } return std::make_tuple(score, fullbb); @@ -943,8 +942,15 @@ template void remove_large_items(std::vector &items, Bin &&bin) template Radians min_area_boundingbox_rotation(const S &sh) { - return minAreaBoundingBox, boost::rational>(sh) - .angleToX(); + try { + return minAreaBoundingBox, boost::rational>(sh) + .angleToX(); + } + catch (const std::exception& e) { + // min_area_boundingbox_rotation may throw exception of dividing 0 if the object is already perfectly aligned to X + BOOST_LOG_TRIVIAL(error) << "arranging min_area_boundingbox_rotation fails, msg=" << e.what(); + return 0.0; + } } template diff --git a/src/libslic3r/Format/OBJ.cpp b/src/libslic3r/Format/OBJ.cpp index 0433e917c6b..abaae3692bf 100644 --- a/src/libslic3r/Format/OBJ.cpp +++ b/src/libslic3r/Format/OBJ.cpp @@ -36,12 +36,25 @@ bool load_obj(const char *path, TriangleMesh *meshptr, ObjInfo& obj_info, std::s bool exist_mtl = false; if (data.mtllibs.size() > 0) { // read mtl for (auto mtl_name : data.mtllibs) { - boost::filesystem::path full_path(path); - std::string dir = full_path.parent_path().string(); - auto mtl_file = dir + "/" + mtl_name; - boost::filesystem::path mtl_path(mtl_file); - auto _mtl_path = mtl_path.string().c_str(); - if (boost::filesystem::exists(mtl_path)) { + if (mtl_name.size() == 0){ + continue; + } + exist_mtl = true; + bool mtl_name_is_path = false; + boost::filesystem::path mtl_abs_path(mtl_name); + if (boost::filesystem::exists(mtl_abs_path)) { + mtl_name_is_path = true; + } + boost::filesystem::path mtl_path; + if (!mtl_name_is_path) { + boost::filesystem::path full_path(path); + std::string dir = full_path.parent_path().string(); + auto mtl_file = dir + "/" + mtl_name; + boost::filesystem::path temp_mtl_path(mtl_file); + mtl_path = temp_mtl_path; + } + auto _mtl_path = mtl_name_is_path ? mtl_abs_path.string().c_str() : mtl_path.string().c_str(); + if (boost::filesystem::exists(mtl_name_is_path ? mtl_abs_path : mtl_path)) { if (!ObjParser::mtlparse(_mtl_path, mtl_data)) { BOOST_LOG_TRIVIAL(error) << "load_obj:load_mtl: failed to parse " << _mtl_path; message = _L("load mtl in obj: failed to parse"); @@ -52,7 +65,6 @@ bool load_obj(const char *path, TriangleMesh *meshptr, ObjInfo& obj_info, std::s BOOST_LOG_TRIVIAL(error) << "load_obj: failed to load mtl_path:" << _mtl_path; } } - exist_mtl = true; } // Count the faces and verify, that all faces are triangular. size_t num_faces = 0; diff --git a/src/libslic3r/Format/objparser.cpp b/src/libslic3r/Format/objparser.cpp index c56d6930ce1..82bf2b49636 100644 --- a/src/libslic3r/Format/objparser.cpp +++ b/src/libslic3r/Format/objparser.cpp @@ -237,7 +237,7 @@ static bool obj_parseline(const char *line, ObjData &data) } } if (vertex.coordIdx < 0) - vertex.coordIdx += (int)data.coordinates.size() / 4; + vertex.coordIdx += (int) data.coordinates.size() / OBJ_VERTEX_LENGTH; else -- vertex.coordIdx; if (vertex.normalIdx < 0) @@ -604,9 +604,6 @@ bool objparse(const char *path, ObjData &data) BOOST_LOG_TRIVIAL(error) << "ObjParser: Out of memory"; } ::fclose(pFile); - - // printf("vertices: %d\r\n", data.vertices.size() / 4); - // printf("coords: %d\r\n", data.coordinates.size()); return true; } @@ -646,9 +643,6 @@ bool mtlparse(const char *path, MtlData &data) BOOST_LOG_TRIVIAL(error) << "MtlParser: Out of memory"; } ::fclose(pFile); - - // printf("vertices: %d\r\n", data.vertices.size() / 4); - // printf("coords: %d\r\n", data.coordinates.size()); return true; } diff --git a/src/libslic3r/GCode/ConflictChecker.cpp b/src/libslic3r/GCode/ConflictChecker.cpp index 012eed74590..fb69372a9af 100644 --- a/src/libslic3r/GCode/ConflictChecker.cpp +++ b/src/libslic3r/GCode/ConflictChecker.cpp @@ -90,9 +90,14 @@ void LinesBucketQueue::emplace_back_bucket(ExtrusionLayers &&els, const void *ob { auto oldSize = line_buckets.capacity(); line_buckets.emplace_back(std::move(els), objPtr, offset); - line_bucket_ptr_queue.push(&line_buckets.back()); auto newSize = line_buckets.capacity(); - if (oldSize != newSize) { // pointers change + // Since line_bucket_ptr_queue is storing pointers into line_buckets, + // we need to handle the case where the capacity changes since that makes + // the existing pointers invalid + if (oldSize == newSize) { + line_bucket_ptr_queue.push(&line_buckets.back()); + } + else { // pointers change, create a new queue from scratch decltype(line_bucket_ptr_queue) newQueue; for (LinesBucket &bucket : line_buckets) { newQueue.push(&bucket); } std::swap(line_bucket_ptr_queue, newQueue); @@ -215,6 +220,7 @@ ConflictResultOpt ConflictChecker::find_inter_of_lines_in_diff_objs(PrintObjectP { if (objs.size() <= 1 && !wtdptr) { return {}; } LinesBucketQueue conflictQueue; + if (wtdptr.has_value()) { // wipe tower at 0 by default auto wtpaths = wtdptr.value()->getFakeExtrusionPathsFromWipeTower(); ExtrusionLayers wtels; diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index 96677495c67..9074fa49f25 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -238,16 +238,6 @@ Model Model::read_from_file(const std::string& input_file, DynamicPrintConfig* c if (vertex_filament_ids.size() > 0) { result = obj_import_vertex_color_deal(vertex_filament_ids, first_extruder_id, & model); } - } else { // test //todo delete - vertex_filament_ids.push_back(2); - vertex_filament_ids.push_back(3); - vertex_filament_ids.push_back(4); - vertex_filament_ids.push_back(1); // 4 - vertex_filament_ids.push_back(1); - vertex_filament_ids.push_back(1); - vertex_filament_ids.push_back(1); - vertex_filament_ids.push_back(1); // 8 - result = obj_import_vertex_color_deal(vertex_filament_ids, first_extruder_id, &model); } } else if (obj_info.face_colors.size() > 0 && obj_info.has_uv_png == false) { // mtl file std::vector face_filament_ids; diff --git a/src/libslic3r/ObjColorUtils.hpp b/src/libslic3r/ObjColorUtils.hpp index 4fe924fab23..ea4418adfdf 100644 --- a/src/libslic3r/ObjColorUtils.hpp +++ b/src/libslic3r/ObjColorUtils.hpp @@ -27,7 +27,8 @@ public: cv::Mat image8UC3; convert_color_space(flatten_image8UC3, image8UC3, color_space); cv::Mat image32FC3(image8UC3.rows, 1, CV_32FC3); - for (int i = 0; i < image8UC3.rows; i++) image32FC3.at(i, 0) = image8UC3.at(i, 0); + for (int i = 0; i < image8UC3.rows; i++) + image32FC3.at(i, 0) = image8UC3.at(i, 0); apply(image32FC3, num_cluster, color_space); repalce_centers_aplha(ori_image, new_image); @@ -43,16 +44,25 @@ public: convert_color_space(this->m_centers8UC3, this->m_centers8UC3, color_space, true); } - void apply(const std::vector> &ori_colors, std::vector> & cluster_results, std::vector & labels, int num_cluster = -1, + int max_cluster = 15, int color_space = 2) { // 0~255 cv::Mat flatten_image8UC3 = flatten_vector(ori_colors); + this->apply(flatten_image8UC3, cluster_results, labels, num_cluster, max_cluster, color_space); + } + void apply(const cv::Mat & flatten_image8UC3, + std::vector> &cluster_results, + std::vector & labels, + int num_cluster = -1, + int max_cluster = 15, + int color_space = 2) + { cv::Mat image8UC3; convert_color_space(flatten_image8UC3, image8UC3, color_space); @@ -60,36 +70,44 @@ public: for (int i = 0; i < image8UC3.rows; i++) image32FC3.at(i, 0) = image8UC3.at(i, 0); - int best_cluster = 1; - double cur_score, best_score = 100; - int max_cluster = ori_colors.size(); - num_cluster = fmin(num_cluster, max_cluster); + int best_cluster = 1; + double cur_score = 0, best_score = 100; + num_cluster = fmin(num_cluster, max_cluster); if (num_cluster < 1) { - cur_score = kmeans(image32FC3, 1, this->m_flatten_labels, cv::TermCriteria(cv::TermCriteria::EPS + cv::TermCriteria::COUNT, 300, 0.5), 3, cv::KMEANS_PP_CENTERS); + if (!this->more_than_request(image8UC3, max_cluster)) max_cluster = compute_num_colors(image8UC3); + num_cluster = fmin(num_cluster, max_cluster); + cur_score = cv::kmeans(image32FC3, 1, this->m_flatten_labels, cv::TermCriteria(cv::TermCriteria::EPS + cv::TermCriteria::COUNT, 300, 0.5), 3, cv::KMEANS_PP_CENTERS); best_score = cur_score; - for (int cur_cluster = 2; cur_cluster < 16; cur_cluster++) { - if (cur_cluster > max_cluster) + + for (int cur_cluster = 2; cur_cluster < max_cluster + 1; cur_cluster++) { + cv::Mat centers32FC3; + cur_score = cv::kmeans(image32FC3, cur_cluster, this->m_flatten_labels, cv::TermCriteria(cv::TermCriteria::EPS + cv::TermCriteria::COUNT, 300, 0.5), 3, + cv::KMEANS_PP_CENTERS, centers32FC3); + if (this->repeat_center(cur_cluster, centers32FC3, color_space)) break; - cur_score = kmeans(image32FC3, cur_cluster, this->m_flatten_labels, cv::TermCriteria(cv::TermCriteria::EPS + cv::TermCriteria::COUNT, 300, 0.5), 3, - cv::KMEANS_PP_CENTERS); best_cluster = cur_score < best_score ? cur_cluster : best_cluster; best_score = cur_score < best_score ? cur_score : best_score; } - } else + } else if (this->more_than_request(image8UC3, num_cluster)) best_cluster = num_cluster; + else { + best_cluster = compute_num_colors(image8UC3); + std::cout << "num of image color is " << best_cluster << ", less than custom number " << num_cluster << std::endl; + } cv::Mat centers32FC3; - kmeans(image32FC3, best_cluster, this->m_flatten_labels, cv::TermCriteria(cv::TermCriteria::EPS + cv::TermCriteria::COUNT, 300, 0.5), 3, cv::KMEANS_PP_CENTERS, - centers32FC3); + cv::kmeans(image32FC3, best_cluster, this->m_flatten_labels, cv::TermCriteria(cv::TermCriteria::EPS + cv::TermCriteria::COUNT, 300, 0.5), 3, cv::KMEANS_PP_CENTERS, + centers32FC3); this->m_centers8UC3 = cv::Mat(best_cluster, 1, CV_8UC3); - for (int i = 0; i < best_cluster; i++) - this->m_centers8UC3.at(i) = centers32FC3.at(i); - + for (int i = 0; i < best_cluster; i++) { + auto center = centers32FC3.row(i); + this->m_centers8UC3.at(i) = {uchar(center.at(0)), uchar(center.at(1)), uchar(center.at(2))}; + } convert_color_space(this->m_centers8UC3, this->m_centers8UC3, color_space, true); cluster_results.clear(); labels.clear(); - for (int i = 0; i < ori_colors.size(); i++) + for (int i = 0; i < flatten_image8UC3.rows; i++) labels.emplace_back(this->m_flatten_labels.at(i, 0)); for (int i = 0; i < best_cluster; i++) { cv::Vec3f center = this->m_centers8UC3.at(i, 0); @@ -97,6 +115,59 @@ public: } } + bool more_than_request(const cv::Mat &image8UC3, int target_num) + { + std::vector uniqueImage; + cv::Vec3b cur_color; + for (int i = 0; i < image8UC3.rows; i++) { + cur_color = image8UC3.at(i, 0); + if (!is_in(cur_color, uniqueImage)) { + uniqueImage.emplace_back(cur_color); + if (uniqueImage.size() >= target_num) return true; + } + } + return false; + } + + int compute_num_colors(const cv::Mat &image8UC3) + { + std::vector uniqueImage; + cv::Vec3b cur_color; + for (int i = 0; i < image8UC3.rows; i++) { + cur_color = image8UC3.at(i, 0); + if (!is_in(cur_color, uniqueImage)) uniqueImage.emplace_back(cur_color); + } + + return uniqueImage.size(); + } + + bool is_in(const cv::Vec3b &cur_color, const std::vector &uniqueImage) + { + for (auto &color : uniqueImage) + if (cur_color[0] == color[0] && cur_color[1] == color[1] && cur_color[2] == color[2]) return true; + return false; + } + + bool repeat_center(int cur_cluster, const cv::Mat ¢ers32FC3, int color_space) + { + cv::Mat centers8UC3 = cv::Mat(cur_cluster, 1, CV_8UC3); + for (int i = 0; i < cur_cluster; i++) { + auto center = centers32FC3.row(i); + centers8UC3.at(i) = {uchar(center.at(0)), uchar(center.at(1)), uchar(center.at(2))}; + } + convert_color_space(centers8UC3, centers8UC3, color_space, true); + std::vector unique_centers; + cv::Vec3b cur_center; + for (int i = 0; i < cur_cluster; i++) { + cur_center = centers8UC3.at(i, 0); + if (!is_in(cur_center, unique_centers)) + unique_centers.emplace_back(cur_center); + else + return true; + } + return false; + } + void replace_centers(cv::Mat &ori_image, cv::Mat &new_image) { for (int i = 0; i < ori_image.rows; i++) { @@ -126,7 +197,7 @@ public: } } - void convert_color_space(cv::Mat &ori_image, cv::Mat &image, int color_space, bool reverse = false) + void convert_color_space(const cv::Mat &ori_image, cv::Mat &image, int color_space, bool reverse = false) { switch (color_space) { case 0: image = ori_image; break; diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index fa887acb477..ee5feb66d86 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -1684,6 +1684,7 @@ void PresetBundle::load_selections(AppConfig &config, const PresetPreferences& p // If executed due to a Config Wizard update, preferred_printer contains the first newly installed printer, otherwise nullptr. const Preset *preferred_printer = printers.find_system_preset_by_model_and_variant(preferred_selection.printer_model_id, preferred_selection.printer_variant); printers.select_preset_by_name(preferred_printer ? preferred_printer->name : initial_printer_profile_name, true); + CNumericLocalesSetter locales_setter; // Orca: load from orca_presets // const auto os_presets = config.get_machine_settings(initial_printer_profile_name); diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 8cd6fc2b353..e20cead2ce8 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -2920,14 +2920,14 @@ PrintRegionConfig region_config_from_model_volume(const PrintRegionConfig &defau } 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()); + if (! volume.material_id().empty()) + apply_to_print_region_config(config, volume.material()->config.get()); 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, volume.config.get()); - if (! volume.material_id().empty()) - apply_to_print_region_config(config, volume.material()->config.get()); // 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); diff --git a/src/libslic3r/PrintObjectSlice.cpp b/src/libslic3r/PrintObjectSlice.cpp index 53c875555bd..31fc6e544f6 100644 --- a/src/libslic3r/PrintObjectSlice.cpp +++ b/src/libslic3r/PrintObjectSlice.cpp @@ -215,7 +215,9 @@ static inline bool overlap_in_xy(const PrintObjectRegions::BoundingBox &l, const static std::vector::const_iterator layer_range_first(const std::vector &layer_ranges, double z) { auto it = lower_bound_by_predicate(layer_ranges.begin(), layer_ranges.end(), - [z](const PrintObjectRegions::LayerRangeRegions &lr) { return lr.layer_height_range.second < z; }); + [z](const PrintObjectRegions::LayerRangeRegions &lr) { + return lr.layer_height_range.second < z && abs(lr.layer_height_range.second - z) > EPSILON; + }); assert(it != layer_ranges.end() && it->layer_height_range.first <= z && z <= it->layer_height_range.second); if (z == it->layer_height_range.second) if (auto it_next = it; ++ it_next != layer_ranges.end() && it_next->layer_height_range.first == z) @@ -229,7 +231,7 @@ static std::vector::const_iterator layer_ std::vector::const_iterator it, double z) { - for (; it->layer_height_range.second <= z; ++ it) + for (; it->layer_height_range.second <= z + EPSILON; ++ it) assert(it != layer_ranges.end()); assert(it != layer_ranges.end() && it->layer_height_range.first <= z && z < it->layer_height_range.second); return it; diff --git a/src/miniz/miniz.c b/src/miniz/miniz.c index e75a797ee35..d649adb1bc8 100644 --- a/src/miniz/miniz.c +++ b/src/miniz/miniz.c @@ -2987,6 +2987,14 @@ extern "C" { #include #if defined(_MSC_VER) || defined(__MINGW64__) +#ifdef WIN32 +static FILE *mz_wfopen(const wchar_t *pFilename, const char *pMode) +{ + FILE *pFile = NULL; + _wfopen_s(&pFile, pFilename, pMode); + return pFile; +} +#endif static FILE *mz_fopen(const char *pFilename, const char *pMode) { FILE *pFile = NULL; @@ -3004,6 +3012,9 @@ static FILE *mz_freopen(const char *pPath, const char *pMode, FILE *pStream) #include #endif #define MZ_FOPEN mz_fopen +#ifdef WIN32 +#define MZ_WFOPEN mz_wfopen +#endif #define MZ_FCLOSE fclose #define MZ_FREAD fread #define MZ_FWRITE fwrite @@ -5117,9 +5128,9 @@ mz_bool mz_zip_reader_extract_to_file(mz_zip_archive *pZip, mz_uint file_index, return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_FEATURE); pFile = MZ_FOPEN(pDst_filename, "wb"); - if (!pFile) + if (!pFile) { return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED); - + } status = mz_zip_reader_extract_to_callback(pZip, file_index, mz_zip_file_write_callback, pFile, flags); if (MZ_FCLOSE(pFile) == EOF) @@ -5137,6 +5148,39 @@ mz_bool mz_zip_reader_extract_to_file(mz_zip_archive *pZip, mz_uint file_index, return status; } +#ifdef WIN32 +mz_bool mz_zip_reader_extract_to_file_w(mz_zip_archive *pZip, mz_uint file_index, const wchar_t *pDst_filename, mz_uint flags) +{ + mz_bool status; + mz_zip_archive_file_stat file_stat; + MZ_FILE * pFile; + + if (!mz_zip_reader_file_stat(pZip, file_index, &file_stat)) + return MZ_FALSE; + + if ((file_stat.m_is_directory) || (!file_stat.m_is_supported)) + return mz_zip_set_error(pZip, MZ_ZIP_UNSUPPORTED_FEATURE); + + pFile = MZ_WFOPEN(pDst_filename, "w"); + if (!pFile) { + return mz_zip_set_error(pZip, MZ_ZIP_FILE_OPEN_FAILED); + } + status = mz_zip_reader_extract_to_callback(pZip, file_index, mz_zip_file_write_callback, pFile, flags); + + if (MZ_FCLOSE(pFile) == EOF) { + if (status) + mz_zip_set_error(pZip, MZ_ZIP_FILE_CLOSE_FAILED); + status = MZ_FALSE; + } + +#if !defined(MINIZ_NO_TIME) && !defined(MINIZ_NO_STDIO) + if (status) + mz_zip_set_file_times(pDst_filename, file_stat.m_time, file_stat.m_time); +#endif + + return status; +} +#endif mz_bool mz_zip_reader_extract_file_to_file(mz_zip_archive *pZip, const char *pArchive_filename, const char *pDst_filename, mz_uint flags) { diff --git a/src/miniz/miniz.h b/src/miniz/miniz.h index fdf54092dc4..4ed3320a1ca 100644 --- a/src/miniz/miniz.h +++ b/src/miniz/miniz.h @@ -1211,6 +1211,9 @@ mz_bool mz_zip_reader_extract_iter_free(mz_zip_reader_extract_iter_state* pState /* Extracts a archive file to a disk file and sets its last accessed and modified times. */ /* This function only extracts files, not archive directory records. */ mz_bool mz_zip_reader_extract_to_file(mz_zip_archive *pZip, mz_uint file_index, const char *pDst_filename, mz_uint flags); +#ifdef WIN32 +mz_bool mz_zip_reader_extract_to_file_w(mz_zip_archive *pZip, mz_uint file_index, const wchar_t *pDst_filename, mz_uint flags); +#endif mz_bool mz_zip_reader_extract_file_to_file(mz_zip_archive *pZip, const char *pArchive_filename, const char *pDst_filename, mz_uint flags); /* Extracts a archive file starting at the current position in the destination FILE stream. */ diff --git a/src/slic3r/GUI/AMSMaterialsSetting.cpp b/src/slic3r/GUI/AMSMaterialsSetting.cpp index b09ec7d6cc0..08e142755d3 100644 --- a/src/slic3r/GUI/AMSMaterialsSetting.cpp +++ b/src/slic3r/GUI/AMSMaterialsSetting.cpp @@ -800,7 +800,7 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi int selection_idx = -1, idx = 0; wxArrayString filament_items; - + wxString bambu_filament_name; std::set filament_id_set; PresetBundle * preset_bundle = wxGetApp().preset_bundle; @@ -854,6 +854,8 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi if (filament_it->filament_id == ams_filament_id) { selection_idx = idx; + bambu_filament_name = filament_it->alias; + // update if nozzle_temperature_range is found ConfigOption *opt_min = filament_it->config.option("nozzle_temperature_range_low"); @@ -893,7 +895,13 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi if (!m_is_third) { m_comboBox_filament->Hide(); m_readonly_filament->Show(); - m_readonly_filament->SetLabel("Bambu " + filament); + if (bambu_filament_name.empty()) { + m_readonly_filament->SetLabel("Bambu " + filament); + } + else { + m_readonly_filament->SetLabel(bambu_filament_name); + } + m_input_nozzle_min->GetTextCtrl()->SetValue(temp_min); m_input_nozzle_max->GetTextCtrl()->SetValue(temp_max); } diff --git a/src/slic3r/GUI/CalibrationWizardStartPage.cpp b/src/slic3r/GUI/CalibrationWizardStartPage.cpp index c65ddb72ac7..946cd871f25 100644 --- a/src/slic3r/GUI/CalibrationWizardStartPage.cpp +++ b/src/slic3r/GUI/CalibrationWizardStartPage.cpp @@ -16,10 +16,12 @@ void CalibrationStartPage::create_when(wxWindow* parent, wxString title, wxStrin m_when_title = new Label(this, title); m_when_title->SetFont(Label::Head_14); m_when_title->Wrap(CALIBRATION_START_PAGE_TEXT_MAX_LENGTH); + m_when_title->SetMinSize({CALIBRATION_START_PAGE_TEXT_MAX_LENGTH, -1}); m_when_content = new Label(this, content);; m_when_content->SetFont(Label::Body_14); m_when_content->Wrap(CALIBRATION_START_PAGE_TEXT_MAX_LENGTH); + m_when_content->SetMinSize({CALIBRATION_START_PAGE_TEXT_MAX_LENGTH, -1}); } void CalibrationStartPage::create_about(wxWindow* parent, wxString title, wxString content) @@ -27,10 +29,12 @@ void CalibrationStartPage::create_about(wxWindow* parent, wxString title, wxStri m_about_title = new Label(this, title); m_about_title->SetFont(Label::Head_14); m_about_title->Wrap(CALIBRATION_START_PAGE_TEXT_MAX_LENGTH); + m_about_title->SetMinSize({CALIBRATION_START_PAGE_TEXT_MAX_LENGTH, -1}); m_about_content = new Label(this, content); m_about_content->SetFont(Label::Body_14); m_about_content->Wrap(CALIBRATION_START_PAGE_TEXT_MAX_LENGTH); + m_about_content->SetMinSize({CALIBRATION_START_PAGE_TEXT_MAX_LENGTH, -1}); } void CalibrationStartPage::create_bitmap(wxWindow* parent, const wxBitmap& before_img, const wxBitmap& after_img) @@ -77,6 +81,7 @@ CalibrationPAStartPage::CalibrationPAStartPage(wxWindow* parent, wxWindowID id, create_page(this); this->SetSizer(m_top_sizer); + Layout(); m_top_sizer->Fit(this); } @@ -124,8 +129,8 @@ void CalibrationPAStartPage::create_page(wxWindow* parent) #ifdef __linux__ wxGetApp().CallAfter([this]() { - m_when_content->SetMinSize(m_when_content->GetSize() + wxSize{ 0, wxWindow::GetCharHeight() / 2 }); - m_about_content->SetMinSize(m_about_content->GetSize() + wxSize{ 0, wxWindow::GetCharHeight() / 2 }); + m_when_content->SetMinSize(m_when_content->GetSize() + wxSize{ 0, wxWindow::GetCharHeight() }); + m_about_content->SetMinSize(m_about_content->GetSize() + wxSize{ 0, wxWindow::GetCharHeight() }); Layout(); Fit(); }); @@ -200,6 +205,7 @@ CalibrationFlowRateStartPage::CalibrationFlowRateStartPage(wxWindow* parent, wxW create_page(this); this->SetSizer(m_top_sizer); + Layout(); m_top_sizer->Fit(this); } @@ -231,6 +237,7 @@ void CalibrationFlowRateStartPage::create_page(wxWindow* parent) auto extra_text = new Label(parent, _L("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.")); extra_text->SetFont(Label::Body_14); extra_text->Wrap(CALIBRATION_START_PAGE_TEXT_MAX_LENGTH); + extra_text->SetMinSize({CALIBRATION_START_PAGE_TEXT_MAX_LENGTH, -1}); m_top_sizer->Add(extra_text); m_top_sizer->AddSpacer(PRESET_GAP); @@ -245,6 +252,7 @@ void CalibrationFlowRateStartPage::create_page(wxWindow* parent) auto auto_cali_title = new Label(parent, _L("Auto-Calibration")); auto_cali_title->SetFont(Label::Head_14); auto_cali_title->Wrap(CALIBRATION_START_PAGE_TEXT_MAX_LENGTH); + auto_cali_title->SetMinSize({CALIBRATION_START_PAGE_TEXT_MAX_LENGTH, -1}); auto auto_cali_content = new Label(this, _L("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.\ @@ -252,6 +260,7 @@ void CalibrationFlowRateStartPage::create_page(wxWindow* parent) \n\nCaution: 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.")); auto_cali_content->SetFont(Label::Body_14); auto_cali_content->Wrap(CALIBRATION_START_PAGE_TEXT_MAX_LENGTH); + auto_cali_content->SetMinSize({CALIBRATION_START_PAGE_TEXT_MAX_LENGTH, -1}); m_top_sizer->Add(auto_cali_title); m_top_sizer->Add(auto_cali_content); @@ -262,9 +271,10 @@ void CalibrationFlowRateStartPage::create_page(wxWindow* parent) m_top_sizer->Add(m_action_panel, 0, wxEXPAND, 0); #ifdef __linux__ - wxGetApp().CallAfter([this, auto_cali_content]() { - m_when_content->SetMinSize(m_when_content->GetSize() + wxSize{ 0, wxWindow::GetCharHeight() / 2 }); - auto_cali_content->SetMinSize(auto_cali_content->GetSize() + wxSize{ 0, wxWindow::GetCharHeight() / 2 }); + wxGetApp().CallAfter([this, auto_cali_content, extra_text]() { + m_when_content->SetMinSize(m_when_content->GetSize() + wxSize{ 0, wxWindow::GetCharHeight() }); + auto_cali_content->SetMinSize(auto_cali_content->GetSize() + wxSize{ 0, wxWindow::GetCharHeight() }); + extra_text->SetMinSize(extra_text->GetSize() + wxSize{ 0, wxWindow::GetCharHeight() }); Layout(); Fit(); }); @@ -332,6 +342,7 @@ CalibrationMaxVolumetricSpeedStartPage::CalibrationMaxVolumetricSpeedStartPage(w create_page(this); this->SetSizer(m_top_sizer); + Layout(); m_top_sizer->Fit(this); } diff --git a/src/slic3r/GUI/CreatePresetsDialog.cpp b/src/slic3r/GUI/CreatePresetsDialog.cpp index 85bee59d5f6..be34c5f203d 100644 --- a/src/slic3r/GUI/CreatePresetsDialog.cpp +++ b/src/slic3r/GUI/CreatePresetsDialog.cpp @@ -3300,7 +3300,7 @@ void CreatePresetSuccessfulDialog::on_dpi_changed(const wxRect &suggested_rect) } ExportConfigsDialog::ExportConfigsDialog(wxWindow *parent) - : DPIDialog(parent ? parent : nullptr, wxID_ANY, _L("Export Configs"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX) + : DPIDialog(parent ? parent : nullptr, wxID_ANY, _L("Export Preset Bundle"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX) { m_exprot_type.preset_bundle = _L("Printer config bundle(.orca_printer)"); m_exprot_type.filament_bundle = _L("Filament bundle(.orca_filament)"); diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 8b2ce3a50ef..a1d4d5b5d8a 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -2660,8 +2660,6 @@ static ENUM enum_index_of(char const *key, char const **enum_names, int enum_cou int MachineObject::parse_json(std::string payload, bool key_field_only) { - CNumericLocalesSetter locales_setter; - parse_msg_count++; std::chrono::system_clock::time_point clock_start = std::chrono::system_clock::now(); this->set_online_state(true); @@ -2676,6 +2674,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only) bool restored_json = false; json j; json j_pre = json::parse(payload); + CNumericLocalesSetter locales_setter; if (j_pre.empty()) { return 0; } @@ -3511,6 +3510,9 @@ int MachineObject::parse_json(std::string payload, bool key_field_only) } } } + else { + nozzle_type = ""; + } } catch (...) { ; diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 327c3572eb6..56fd990c3a5 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2137,6 +2137,13 @@ void GLCanvas3D::deselect_all() post_event(SimpleEvent(EVT_GLCANVAS_OBJECT_SELECT)); } +void GLCanvas3D::exit_gizmo() { + if (m_gizmos.get_current_type() != GLGizmosManager::Undefined) { + m_gizmos.reset_all_states(); + m_gizmos.update_data(); + } +} + void GLCanvas3D::set_selected_visible(bool visible) { for (unsigned int i : m_selection.get_volume_idxs()) { @@ -7726,24 +7733,26 @@ void GLCanvas3D::_render_imgui_select_plate_toolbar() m_sel_plate_toolbar.m_items[i]->slice_state = IMToolbarItem::SliceState::SLICED; else m_sel_plate_toolbar.m_items[i]->slice_state = IMToolbarItem::SliceState::SLICE_FAILED; - continue; } - if (plate_list.get_plate(i)->get_slicing_percent() < 0.0f) - m_sel_plate_toolbar.m_items[i]->slice_state = IMToolbarItem::SliceState::UNSLICED; - else - m_sel_plate_toolbar.m_items[i]->slice_state = IMToolbarItem::SliceState::SLICING; + else { + if (!plate_list.get_plate(i)->can_slice()) + m_sel_plate_toolbar.m_items[i]->slice_state = IMToolbarItem::SliceState::SLICE_FAILED; + else { + if (plate_list.get_plate(i)->get_slicing_percent() < 0.0f) + m_sel_plate_toolbar.m_items[i]->slice_state = IMToolbarItem::SliceState::UNSLICED; + else + m_sel_plate_toolbar.m_items[i]->slice_state = IMToolbarItem::SliceState::SLICING; + } + } } } if (m_sel_plate_toolbar.show_stats_item) { all_plates_stats_item->percent = 0.0f; size_t sliced_plates_cnt = 0; - bool slice_failed = false; for (auto plate : plate_list.get_nonempty_plate_list()) { if (plate->is_slice_result_valid() && plate->is_slice_result_ready_for_print()) sliced_plates_cnt++; - if (plate->is_slice_result_valid() && !plate->is_slice_result_ready_for_print()) - slice_failed = true; } all_plates_stats_item->percent = (float)(sliced_plates_cnt) / (float)(plate_list.get_nonempty_plate_list().size()) * 100.0f; @@ -7754,8 +7763,13 @@ void GLCanvas3D::_render_imgui_select_plate_toolbar() else if (all_plates_stats_item->percent < 100.0f) all_plates_stats_item->slice_state = IMToolbarItem::SliceState::SLICING; - if (slice_failed) - all_plates_stats_item->slice_state = IMToolbarItem::SliceState::SLICE_FAILED; + for (auto toolbar_item : m_sel_plate_toolbar.m_items) { + if(toolbar_item->slice_state == IMToolbarItem::SliceState::SLICE_FAILED) { + all_plates_stats_item->slice_state = IMToolbarItem::SliceState::SLICE_FAILED; + all_plates_stats_item->selected = false; + break; + } + } // Changing parameters does not invalid all plates, need extra logic to validate bool gcode_result_valid = true; diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 7a748ad009d..a87b11460c4 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -905,6 +905,7 @@ public: void select_all(); void deselect_all(); + void exit_gizmo(); void set_selected_visible(bool visible); void delete_selected(); void ensure_on_bed(unsigned int object_idx, bool allow_negative_z); diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index e5931178e7f..9c28d9acfdf 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -1421,13 +1421,17 @@ int GUI_App::install_plugin(std::string name, std::string package_name, InstallP mz_bool res = mz_zip_reader_extract_to_file(&archive, stat.m_file_index, dest_zip_file.c_str(), 0); BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(", extract %1% from plugin zip %2%\n") % dest_file % stat.m_filename; if (res == 0) { - mz_zip_error zip_error = mz_zip_get_last_error(&archive); - BOOST_LOG_TRIVIAL(error) << "[install_plugin]Archive read error:" << mz_zip_get_error_string(zip_error) << std::endl; - close_zip_reader(&archive); - if (pro_fn) { - pro_fn(InstallStatusUnzipFailed, 0, cancel); +#ifdef WIN32 + std::wstring new_dest_zip_file = boost::locale::conv::utf_to_utf(dest_path.generic_string()); + res = mz_zip_reader_extract_to_file_w(&archive, stat.m_file_index, new_dest_zip_file.c_str(), 0); +#endif + if (res == 0) { + mz_zip_error zip_error = mz_zip_get_last_error(&archive); + BOOST_LOG_TRIVIAL(error) << "[install_plugin]Archive read error:" << mz_zip_get_error_string(zip_error) << std::endl; + close_zip_reader(&archive); + if (pro_fn) { pro_fn(InstallStatusUnzipFailed, 0, cancel); } + return InstallStatusUnzipFailed; } - return InstallStatusUnzipFailed; } else { if (pro_fn) { diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index 74d1f959dac..7b11a9aa8ec 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -154,6 +154,12 @@ void View3D::deselect_all() m_canvas->deselect_all(); } +void View3D::exit_gizmo() +{ + if (m_canvas != nullptr) + m_canvas->exit_gizmo(); +} + void View3D::delete_selected() { if (m_canvas != nullptr) diff --git a/src/slic3r/GUI/GUI_Preview.hpp b/src/slic3r/GUI/GUI_Preview.hpp index 9cb20f65736..7d6a332bc04 100644 --- a/src/slic3r/GUI/GUI_Preview.hpp +++ b/src/slic3r/GUI/GUI_Preview.hpp @@ -63,6 +63,7 @@ public: void select_all(); void deselect_all(); + void exit_gizmo(); void delete_selected(); void center_selected(); void center_selected_plate(const int plate_idx); diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 4d455038cd1..f18c2d7be6f 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -1550,7 +1550,8 @@ wxBoxSizer* MainFrame::create_side_tools() m_slice_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent& event) { //this->m_plater->select_view_3D("Preview"); - m_plater->update(false, true); + m_plater->exit_gizmo(); + m_plater->update(true, true); if (m_slice_select == eSliceAll) wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_SLICE_ALL)); else @@ -2344,7 +2345,7 @@ void MainFrame::init_menubar_as_editor() [this](wxCommandEvent&) { if (m_plater) m_plater->export_gcode(false); }, "menu_export_gcode", nullptr, [this]() {return can_export_gcode(); }, this); append_menu_item( - export_menu, wxID_ANY, _L("Export &Configs") + dots /* + "\tCtrl+E"*/, _L("Export current configuration to files"), + export_menu, wxID_ANY, _L("Export Preset Bundle") + dots /* + "\tCtrl+E"*/, _L("Export current configuration to files"), [this](wxCommandEvent &) { export_config(); }, "menu_export_config", nullptr, []() { return true; }, this); diff --git a/src/slic3r/GUI/MediaPlayCtrl.cpp b/src/slic3r/GUI/MediaPlayCtrl.cpp index b69ea2b8b2e..36500f69fa0 100644 --- a/src/slic3r/GUI/MediaPlayCtrl.cpp +++ b/src/slic3r/GUI/MediaPlayCtrl.cpp @@ -578,11 +578,11 @@ void MediaPlayCtrl::onStateChanged(wxMediaEvent &event) m_failed_code = m_media_ctrl->GetLastError(); if (size.GetWidth() >= 320) { m_last_state = state; + m_failed_code = 0; SetStatus(_L("Playing..."), false); m_failed_retry = 0; - m_failed_code = 0; m_disable_lan = false; boost::unique_lock lock(m_mutex); m_tasks.push_back(""); diff --git a/src/slic3r/GUI/MultiMachineManagerPage.cpp b/src/slic3r/GUI/MultiMachineManagerPage.cpp index 27898b78fae..b37810f07f4 100644 --- a/src/slic3r/GUI/MultiMachineManagerPage.cpp +++ b/src/slic3r/GUI/MultiMachineManagerPage.cpp @@ -721,5 +721,47 @@ void MultiMachineManagerPage::page_num_enter_evt() update_page_number(); } +void MultiMachineManagerPage::msw_rescale() +{ + m_printer_name->Rescale(); + m_printer_name->SetMinSize(wxSize(FromDIP(DEVICE_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_printer_name->SetMaxSize(wxSize(FromDIP(DEVICE_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_task_name->Rescale(); + m_task_name->SetMinSize(wxSize(FromDIP(DEVICE_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_task_name->SetMaxSize(wxSize(FromDIP(DEVICE_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_status->Rescale(); + m_status->SetMinSize(wxSize(FromDIP(DEVICE_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_status->SetMaxSize(wxSize(FromDIP(DEVICE_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_action->Rescale(); + m_action->SetMinSize(wxSize(FromDIP(DEVICE_LEFT_PRO_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_action->SetMaxSize(wxSize(FromDIP(DEVICE_LEFT_PRO_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_button_add->Rescale(); + m_button_add->SetMinSize(wxSize(FromDIP(90), FromDIP(36))); + m_button_add->SetMaxSize(wxSize(FromDIP(90), FromDIP(36))); + + btn_last_page->Rescale(); + btn_last_page->SetMinSize(wxSize(FromDIP(20), FromDIP(20))); + btn_last_page->SetMaxSize(wxSize(FromDIP(20), FromDIP(20))); + btn_next_page->Rescale(); + btn_next_page->SetMinSize(wxSize(FromDIP(20), FromDIP(20))); + btn_next_page->SetMaxSize(wxSize(FromDIP(20), FromDIP(20))); + m_page_num_enter->Rescale(); + m_page_num_enter->SetMinSize(wxSize(FromDIP(25), FromDIP(25))); + m_page_num_enter->SetMaxSize(wxSize(FromDIP(25), FromDIP(25))); + + m_button_edit->Rescale(); + m_button_edit->SetMinSize(wxSize(FromDIP(90), FromDIP(36))); + m_button_edit->SetMaxSize(wxSize(FromDIP(90), FromDIP(36))); + + + for (const auto& item : m_device_items) { + item->Refresh(); + } + + Fit(); + Layout(); + Refresh(); +} + } // namespace GUI } // namespace Slic3r diff --git a/src/slic3r/GUI/MultiMachineManagerPage.hpp b/src/slic3r/GUI/MultiMachineManagerPage.hpp index 87d8d9866e2..c1086b47211 100644 --- a/src/slic3r/GUI/MultiMachineManagerPage.hpp +++ b/src/slic3r/GUI/MultiMachineManagerPage.hpp @@ -60,6 +60,8 @@ public: void page_num_enter_evt(); + void msw_rescale(); + private: std::vector m_state_objs; std::vector m_device_items; diff --git a/src/slic3r/GUI/MultiMachinePage.cpp b/src/slic3r/GUI/MultiMachinePage.cpp index 4ed797c0fda..ae13c30840c 100644 --- a/src/slic3r/GUI/MultiMachinePage.cpp +++ b/src/slic3r/GUI/MultiMachinePage.cpp @@ -40,6 +40,17 @@ void MultiMachinePage::on_sys_color_changed() void MultiMachinePage::msw_rescale() { + m_tabpanel->Rescale(); + if (m_local_task_manager) + m_local_task_manager->msw_rescale(); + if (m_cloud_task_manager) + m_cloud_task_manager->msw_rescale(); + if (m_machine_manager) + m_machine_manager->msw_rescale(); + + this->Fit(); + this->Layout(); + this->Refresh(); } bool MultiMachinePage::Show(bool show) diff --git a/src/slic3r/GUI/MultiTaskManagerPage.cpp b/src/slic3r/GUI/MultiTaskManagerPage.cpp index 778350e8251..f2d159a7dea 100644 --- a/src/slic3r/GUI/MultiTaskManagerPage.cpp +++ b/src/slic3r/GUI/MultiTaskManagerPage.cpp @@ -776,7 +776,7 @@ void LocalTaskManagerPage::refresh_user_device(bool clear) MultiTaskItem* mtitem = new MultiTaskItem(m_task_list, nullptr, 0); mtitem->task_obj = task_state_info; mtitem->m_project_name = wxString::FromUTF8(task_state_info->get_task_name()); - mtitem->m_dev_name = task_state_info->get_device_name(); + mtitem->m_dev_name = wxString::FromUTF8(task_state_info->get_device_name()); mtitem->m_dev_id = task_state_info->params().dev_id; mtitem->m_send_time = task_state_info->get_sent_time(); mtitem->state_local_task = task_state_info->state(); @@ -855,6 +855,41 @@ void LocalTaskManagerPage::cancel_all(wxCommandEvent& evt) } } +void LocalTaskManagerPage::msw_rescale() +{ + m_select_checkbox->Rescale(); + m_select_checkbox->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRINTABLE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_select_checkbox->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRINTABLE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_task_name->Rescale(); + m_task_name->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_task_name->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_printer_name->Rescale(); + m_printer_name->SetMinSize(wxSize(FromDIP(TASK_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_printer_name->SetMaxSize(wxSize(FromDIP(TASK_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_status->Rescale(); + m_status->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_STATE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_status->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_STATE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_info->Rescale(); + m_info->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_info->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_send_time->Rescale(); + m_send_time->SetMinSize(wxSize(FromDIP(TASK_LEFT_SEND_TIME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_send_time->SetMaxSize(wxSize(FromDIP(TASK_LEFT_SEND_TIME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_action->Rescale(); + m_action->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_action->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + + btn_stop_all->Rescale(); + + for (auto it = m_task_items.begin(); it != m_task_items.end(); ++it) { + it->second->Refresh(); + } + + Fit(); + Layout(); + Refresh(); +} + CloudTaskManagerPage::CloudTaskManagerPage(wxWindow* parent) : wxPanel(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL) { @@ -1214,7 +1249,7 @@ void CloudTaskManagerPage::refresh_user_device(bool clear) //mtitem->task_obj = task_state_info; mtitem->m_job_id = task_state_info.get_job_id(); mtitem->m_project_name = wxString::FromUTF8(task_state_info.get_task_name()); - mtitem->m_dev_name = task_state_info.get_device_name(); + mtitem->m_dev_name = wxString::FromUTF8(task_state_info.get_device_name()); mtitem->m_dev_id = task_state_info.params().dev_id; mtitem->m_send_time = utc_time_to_date(task_state_info.start_time); @@ -1432,5 +1467,52 @@ void CloudTaskManagerPage::page_num_enter_evt() Layout();*/ } +void CloudTaskManagerPage::msw_rescale() +{ + btn_last_page->Rescale(); + btn_last_page->SetMinSize(wxSize(FromDIP(20), FromDIP(20))); + btn_last_page->SetMaxSize(wxSize(FromDIP(20), FromDIP(20))); + btn_next_page->Rescale(); + btn_next_page->SetMinSize(wxSize(FromDIP(20), FromDIP(20))); + btn_next_page->SetMaxSize(wxSize(FromDIP(20), FromDIP(20))); + m_page_num_enter->Rescale(); + m_page_num_enter->SetMinSize(wxSize(FromDIP(25), FromDIP(25))); + m_page_num_enter->SetMaxSize(wxSize(FromDIP(25), FromDIP(25))); + + m_select_checkbox->Rescale(); + m_select_checkbox->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRINTABLE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_select_checkbox->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRINTABLE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_task_name->Rescale(); + m_task_name->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_task_name->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_printer_name->Rescale(); + m_printer_name->SetMinSize(wxSize(FromDIP(TASK_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_printer_name->SetMaxSize(wxSize(FromDIP(TASK_LEFT_DEV_NAME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_status->Rescale(); + m_status->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_STATE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_status->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_STATE), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_info->Rescale(); + m_info->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_info->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_send_time->Rescale(); + m_send_time->SetMinSize(wxSize(FromDIP(TASK_LEFT_SEND_TIME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_send_time->SetMaxSize(wxSize(FromDIP(TASK_LEFT_SEND_TIME), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_action->Rescale(); + m_action->SetMinSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + m_action->SetMaxSize(wxSize(FromDIP(TASK_LEFT_PRO_INFO), FromDIP(DEVICE_ITEM_MAX_HEIGHT))); + + btn_pause_all->Rescale(); + btn_continue_all->Rescale(); + btn_stop_all->Rescale(); + + for (auto it = m_task_items.begin(); it != m_task_items.end(); ++it) { + it->second->Refresh(); + } + + Fit(); + Layout(); + Refresh(); +} + } // namespace GUI } // namespace Slic3r diff --git a/src/slic3r/GUI/MultiTaskManagerPage.hpp b/src/slic3r/GUI/MultiTaskManagerPage.hpp index 40341560edd..0f676d06b3f 100644 --- a/src/slic3r/GUI/MultiTaskManagerPage.hpp +++ b/src/slic3r/GUI/MultiTaskManagerPage.hpp @@ -85,6 +85,7 @@ public: void refresh_user_device(bool clear = false); bool Show(bool show); void cancel_all(wxCommandEvent& evt); + void msw_rescale(); private: SortItem m_sort; @@ -143,6 +144,8 @@ public: void enable_buttons(bool enable); void page_num_enter_evt(); + void msw_rescale(); + private: SortItem m_sort; bool device_name_big{ true }; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index a067bfefd28..24b8f8f37fd 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2372,6 +2372,7 @@ struct Plater::priv void select_all(); void deselect_all(); + void exit_gizmo(); void remove(size_t obj_idx); bool delete_object_from_model(size_t obj_idx, bool refresh_immediately = true); //BBS void delete_all_objects_from_model(); @@ -3926,6 +3927,16 @@ std::vector Plater::priv::load_files(const std::vector& input_ //always load config { + // BBS: save the wipe tower pos in file here, will be used later + ConfigOptionFloats* wipe_tower_x_opt = config.opt("wipe_tower_x"); + ConfigOptionFloats* wipe_tower_y_opt = config.opt("wipe_tower_y"); + std::optionalfile_wipe_tower_x; + std::optionalfile_wipe_tower_y; + if (wipe_tower_x_opt) + file_wipe_tower_x = *wipe_tower_x_opt; + if (wipe_tower_y_opt) + file_wipe_tower_y = *wipe_tower_y_opt; + preset_bundle->load_config_model(filename.string(), std::move(config), file_version); ConfigOption* bed_type_opt = preset_bundle->project_config.option("curr_bed_type"); @@ -4001,6 +4012,17 @@ std::vector Plater::priv::load_files(const std::vector& input_ // when for extruder colors are used filament colors q->on_filaments_change(preset_bundle->filament_presets.size()); is_project_file = true; + + //BBS: rewrite wipe tower pos stored in 3mf file , the code above should be seriously reconsidered + { + DynamicConfig& proj_cfg = wxGetApp().preset_bundle->project_config; + ConfigOptionFloats* wipe_tower_x = proj_cfg.opt("wipe_tower_x"); + ConfigOptionFloats* wipe_tower_y = proj_cfg.opt("wipe_tower_y"); + if (file_wipe_tower_x) + *wipe_tower_x = *file_wipe_tower_x; + if (file_wipe_tower_y) + *wipe_tower_y = *file_wipe_tower_y; + } } } if (!silence) wxGetApp().app_config->update_config_dir(path.parent_path().string()); @@ -4771,6 +4793,11 @@ void Plater::priv::deselect_all() view3D->deselect_all(); } +void Plater::priv::exit_gizmo() +{ + view3D->exit_gizmo(); +} + void Plater::priv::remove(size_t obj_idx) { if (view3D->is_layers_editing_enabled()) @@ -5970,7 +5997,8 @@ void Plater::priv::reload_from_disk() for (auto [src, dest] : replace_paths) { for (auto [obj_idx, vol_idx] : selected_volumes) { if (boost::algorithm::iequals(model.objects[obj_idx]->volumes[vol_idx]->source.input_file, src.string())) - replace_volume_with_stl(obj_idx, vol_idx, dest, ""); + // When an error occurs, either the dest parsing error occurs, or the number of objects in the dest is greater than 1 and cannot be replaced, and cannot be replaced in this loop. + if (!replace_volume_with_stl(obj_idx, vol_idx, dest, "")) break; } } #else @@ -10659,6 +10687,7 @@ void Plater::remove_curr_plate_all() { p->remove_curr_plate_all(); } void Plater::select_all() { p->select_all(); } void Plater::deselect_all() { p->deselect_all(); } +void Plater::exit_gizmo() { p->exit_gizmo(); } void Plater::remove(size_t obj_idx) { p->remove(obj_idx); } void Plater::reset(bool apply_presets_change) { p->reset(apply_presets_change); } @@ -12003,7 +12032,7 @@ int Plater::start_next_slice() this->p->view3D->reload_scene(false); BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(": update_background_process returns %1%")%state; - if (p->partplate_list.get_curr_plate()->is_apply_result_invalid()) { + if (!p->partplate_list.get_curr_plate()->can_slice()) { p->process_completed_with_error = p->partplate_list.get_curr_plate_index(); BOOST_LOG_TRIVIAL(warning) << __FUNCTION__ << boost::format(": found invalidated apply in update_background_process."); return -1; diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index a2fa773129d..e03fd3d60c4 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -378,6 +378,7 @@ public: void select_all(); void deselect_all(); + void exit_gizmo(); void remove(size_t obj_idx); void reset(bool apply_presets_change = false); void reset_with_confirm(); diff --git a/src/slic3r/GUI/PrintOptionsDialog.cpp b/src/slic3r/GUI/PrintOptionsDialog.cpp index 168da3886e2..c22b62727a9 100644 --- a/src/slic3r/GUI/PrintOptionsDialog.cpp +++ b/src/slic3r/GUI/PrintOptionsDialog.cpp @@ -217,7 +217,7 @@ wxBoxSizer* PrintOptionsDialog::create_settings_group(wxWindow* parent) // ai monitoring with levels line_sizer = new wxBoxSizer(wxHORIZONTAL); m_cb_ai_monitoring = new CheckBox(parent); - text_ai_monitoring = new wxStaticText(parent, wxID_ANY, _L("Enable AI monitoring of printing")); + text_ai_monitoring = new Label(parent, _L("Enable AI monitoring of printing")); text_ai_monitoring->SetFont(Label::Body_14); line_sizer->Add(FromDIP(5), 0, 0, 0); line_sizer->Add(m_cb_ai_monitoring, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(5)); @@ -227,7 +227,7 @@ wxBoxSizer* PrintOptionsDialog::create_settings_group(wxWindow* parent) line_sizer->Add(FromDIP(5), 0, 0, 0); line_sizer = new wxBoxSizer(wxHORIZONTAL); - text_ai_monitoring_caption = new wxStaticText(parent, wxID_ANY, _L("Sensitivity of pausing is")); + text_ai_monitoring_caption = new Label(parent, _L("Sensitivity of pausing is")); text_ai_monitoring_caption->SetFont(Label::Body_14); text_ai_monitoring_caption->SetForegroundColour(STATIC_TEXT_CAPTION_COL); text_ai_monitoring_caption->Wrap(-1); @@ -255,7 +255,7 @@ wxBoxSizer* PrintOptionsDialog::create_settings_group(wxWindow* parent) // detection of build plate position line_sizer = new wxBoxSizer(wxHORIZONTAL); m_cb_plate_mark = new CheckBox(parent); - text_plate_mark = new wxStaticText(parent, wxID_ANY, _L("Enable detection of build plate position")); + text_plate_mark = new Label(parent, _L("Enable detection of build plate position")); text_plate_mark->SetFont(Label::Body_14); line_sizer->Add(FromDIP(5), 0, 0, 0); line_sizer->Add(m_cb_plate_mark, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(5)); @@ -282,7 +282,7 @@ wxBoxSizer* PrintOptionsDialog::create_settings_group(wxWindow* parent) // detection of first layer line_sizer = new wxBoxSizer(wxHORIZONTAL); m_cb_first_layer = new CheckBox(parent); - text_first_layer = new wxStaticText(parent, wxID_ANY, _L("First Layer Inspection")); + text_first_layer = new Label(parent, _L("First Layer Inspection")); text_first_layer->SetFont(Label::Body_14); line_sizer->Add(FromDIP(5), 0, 0, 0); line_sizer->Add(m_cb_first_layer, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(5)); @@ -298,7 +298,7 @@ wxBoxSizer* PrintOptionsDialog::create_settings_group(wxWindow* parent) // auto-recovery from step loss line_sizer = new wxBoxSizer(wxHORIZONTAL); m_cb_auto_recovery = new CheckBox(parent); - text_auto_recovery = new wxStaticText(parent, wxID_ANY, _L("Auto-recovery from step loss")); + text_auto_recovery = new Label(parent, _L("Auto-recovery from step loss")); text_auto_recovery->SetFont(Label::Body_14); line_sizer->Add(FromDIP(5), 0, 0, 0); line_sizer->Add(m_cb_auto_recovery, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(5)); @@ -315,7 +315,7 @@ wxBoxSizer* PrintOptionsDialog::create_settings_group(wxWindow* parent) //Allow prompt sound line_sizer = new wxBoxSizer(wxHORIZONTAL); m_cb_sup_sound = new CheckBox(parent); - text_sup_sound = new wxStaticText(parent, wxID_ANY, _L("Allow Prompt Sound")); + text_sup_sound = new Label(parent, _L("Allow Prompt Sound")); text_sup_sound->SetFont(Label::Body_14); line_sizer->Add(FromDIP(5), 0, 0, 0); line_sizer->Add(m_cb_sup_sound, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(5)); @@ -332,7 +332,7 @@ wxBoxSizer* PrintOptionsDialog::create_settings_group(wxWindow* parent) //filament tangle detect line_sizer = new wxBoxSizer(wxHORIZONTAL); m_cb_filament_tangle = new CheckBox(parent); - text_filament_tangle = new wxStaticText(parent, wxID_ANY, _L("Filament Tangle Detect")); + text_filament_tangle = new Label(parent, _L("Filament Tangle Detect")); text_filament_tangle->SetFont(Label::Body_14); line_sizer->Add(FromDIP(5), 0, 0, 0); line_sizer->Add(m_cb_filament_tangle, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(5)); @@ -349,7 +349,7 @@ wxBoxSizer* PrintOptionsDialog::create_settings_group(wxWindow* parent) //nozzle blob detect line_sizer = new wxBoxSizer(wxHORIZONTAL); m_cb_nozzle_blob = new CheckBox(parent); - text_nozzle_blob = new wxStaticText(parent, wxID_ANY, _L("Nozzle Clumping Detection")); + text_nozzle_blob = new Label(parent, _L("Nozzle Clumping Detection")); text_nozzle_blob->SetFont(Label::Body_14); line_sizer->Add(FromDIP(5), 0, 0, 0); line_sizer->Add(m_cb_nozzle_blob, 0, wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(5)); @@ -589,10 +589,17 @@ bool PrinterPartsDialog::Show(bool show) nozzle_diameter_checkbox->Clear(); if (type.empty()) { + nozzle_type_checkbox->SetValue(wxEmptyString); + nozzle_diameter_checkbox->SetValue(wxEmptyString); + nozzle_type_checkbox->Disable(); nozzle_diameter_checkbox->Disable(); return DPIDialog::Show(show); } + else { + nozzle_type_checkbox->Enable(); + nozzle_diameter_checkbox->Enable(); + } last_nozzle_type = type; diff --git a/src/slic3r/GUI/PrintOptionsDialog.hpp b/src/slic3r/GUI/PrintOptionsDialog.hpp index 63fe24af63e..db55d12dccd 100644 --- a/src/slic3r/GUI/PrintOptionsDialog.hpp +++ b/src/slic3r/GUI/PrintOptionsDialog.hpp @@ -50,17 +50,17 @@ protected: CheckBox* m_cb_sup_sound; CheckBox* m_cb_filament_tangle; CheckBox* m_cb_nozzle_blob; - wxStaticText* text_first_layer; - wxStaticText* text_ai_monitoring; - wxStaticText* text_ai_monitoring_caption; + Label* text_first_layer; + Label* text_ai_monitoring; + Label* text_ai_monitoring_caption; ComboBox* ai_monitoring_level_list; - wxStaticText* text_plate_mark; - wxStaticText* text_plate_mark_caption; - wxStaticText* text_auto_recovery; - wxStaticText* text_sup_sound; - wxStaticText* text_filament_tangle; - wxStaticText* text_nozzle_blob; - wxStaticText* text_nozzle_blob_caption; + Label* text_plate_mark; + Label* text_plate_mark_caption; + Label* text_auto_recovery; + Label* text_sup_sound; + Label* text_filament_tangle; + Label* text_nozzle_blob; + Label* text_nozzle_blob_caption; StaticLine* line1; StaticLine* line2; StaticLine* line3; diff --git a/src/slic3r/GUI/Printer/PrinterFileSystem.cpp b/src/slic3r/GUI/Printer/PrinterFileSystem.cpp index 46debf2123a..8d272057f8d 100644 --- a/src/slic3r/GUI/Printer/PrinterFileSystem.cpp +++ b/src/slic3r/GUI/Printer/PrinterFileSystem.cpp @@ -46,7 +46,7 @@ static wxBitmap default_thumbnail; static std::map error_messages = { {PrinterFileSystem::ERROR_PIPE, L("Reconnecting the printer, the operation cannot be completed immediately, please try again later.")}, - {PrinterFileSystem::ERROR_RES_BUSY, L("Over 4 systems/handy are using remote access, you can close some and try again.")}, + {PrinterFileSystem::ERROR_RES_BUSY, L("The device cannot handle more conversations. Please retry later.")}, {PrinterFileSystem::FILE_NO_EXIST, L("File does not exist.")}, {PrinterFileSystem::FILE_CHECK_ERR, L("File checksum error. Please retry.")}, {PrinterFileSystem::FILE_TYPE_ERR, L("Not supported on the current printer version.")}, @@ -73,7 +73,7 @@ PrinterFileSystem::PrinterFileSystem() wxString path = "D:\\work\\pic\\"; for (int i = 0; i < 10; ++i) { auto name = wxString::Format(L"gcode-%02d.3mf", i + 1); - m_file_list.push_back({name.ToUTF8().data(), "", time.GetTicks(), 26937, i < 5 ? FF_DOWNLOAD : 0, default_thumbnail, i * 34 - 35}); + m_file_list.push_back({name.ToUTF8().data(), "", time.GetTicks(), 26937, i < 5 ? FF_DOWNLOAD : 0, default_thumbnail}); std::ifstream ifs((path + name).ToUTF8().data(), std::ios::binary); if (ifs) ParseThumbnail(m_file_list.back(), ifs); @@ -84,7 +84,7 @@ PrinterFileSystem::PrinterFileSystem() for (int i = 0; i < 100; ++i) { auto name = wxString::Format(L"img-%03d.jpg", i + 1); wxImage im(path + name); - m_file_list.push_back({name.ToUTF8().data(), "", time.GetTicks(), 26937, i < 20 ? FF_DOWNLOAD : 0, i > 3 ? im : default_thumbnail, i * 10 - 40 - 1}); + m_file_list.push_back({name.ToUTF8().data(), "", time.GetTicks(), 26937, i < 20 ? FF_DOWNLOAD : 0, i > 3 ? im : default_thumbnail}); time.Add(wxDateSpan::Days(-1)); } m_file_list[0].thumbnail = default_thumbnail; @@ -958,13 +958,13 @@ void PrinterFileSystem::FileRemoved(std::pair type, size_ if (file_index.second == size_t(-1)) return; if (&file_index.first == &m_file_list) { - auto removeFromGroup = [](std::vector &group, size_t index, int total) { + auto removeFromGroup = [](std::vector &group, size_t index, size_t total) { for (auto iter = group.begin(); iter != group.end(); ++iter) { size_t index2 = -1; if (*iter < index) continue; if (*iter == index) { auto iter2 = iter + 1; - if (iter2 == group.end() ? index == total - 1 : *iter2 == index + 1) { + if (index + 1 == (iter2 == group.end() ? total : *iter2)) { index2 = std::distance(group.begin(), iter); } ++iter; @@ -978,11 +978,11 @@ void PrinterFileSystem::FileRemoved(std::pair type, size_ }; size_t index2 = removeFromGroup(m_group_month, index, m_file_list.size()); if (index2 < m_group_month.size()) { - int index3 = removeFromGroup(m_group_year, index, m_group_month.size()); + int index3 = removeFromGroup(m_group_year, index2, m_group_month.size()); if (index3 < m_group_year.size()) { m_group_year.erase(m_group_year.begin() + index3); if (m_group_mode == G_YEAR) - m_group_flags.erase(m_group_flags.begin() + index2); + m_group_flags.erase(m_group_flags.begin() + index3); } m_group_month.erase(m_group_month.begin() + index2); if (m_group_mode == G_MONTH) @@ -1295,7 +1295,7 @@ void PrinterFileSystem::Reconnect(boost::unique_lock &l, int resul } wxLogMessage("PrinterFileSystem::Reconnect Failed"); m_status = Status::Failed; - SendChangedEvent(EVT_STATUS_CHANGED, m_status, "", url.size() < 2 ? 1 : 0); + SendChangedEvent(EVT_STATUS_CHANGED, m_status, "", url.size() < 2 ? 1 : m_last_error); m_cond.timed_wait(l, boost::posix_time::seconds(10)); } m_status = Status::ListSyncing; diff --git a/src/slic3r/GUI/SendMultiMachinePage.cpp b/src/slic3r/GUI/SendMultiMachinePage.cpp index 368bfa91614..0831377c538 100644 --- a/src/slic3r/GUI/SendMultiMachinePage.cpp +++ b/src/slic3r/GUI/SendMultiMachinePage.cpp @@ -322,7 +322,38 @@ void SendMultiMachinePage::prepare(int plate_idx) void SendMultiMachinePage::on_dpi_changed(const wxRect& suggested_rect) { + m_select_checkbox->Rescale(); + m_printer_name->Rescale(); + m_printer_name->SetMinSize(wxSize(FromDIP(SEND_LEFT_DEV_NAME), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_printer_name->SetMaxSize(wxSize(FromDIP(SEND_LEFT_DEV_NAME), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_device_status->Rescale(); + m_device_status->SetMinSize(wxSize(FromDIP(SEND_LEFT_DEV_STATUS), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_device_status->SetMaxSize(wxSize(FromDIP(SEND_LEFT_DEV_STATUS), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_ams->Rescale(); + m_ams->SetMinSize(wxSize(FromDIP(TASK_LEFT_SEND_TIME), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_ams->SetMaxSize(wxSize(FromDIP(TASK_LEFT_SEND_TIME), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_refresh_button->Rescale(); + m_refresh_button->SetMinSize(wxSize(FromDIP(50), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_refresh_button->SetMaxSize(wxSize(FromDIP(50), FromDIP(SEND_ITEM_MAX_HEIGHT))); + m_rename_button->msw_rescale(); + print_time->msw_rescale(); + print_weight->msw_rescale(); + timeimg->SetBitmap(print_time->bmp()); + weightimg->SetBitmap(print_weight->bmp()); + m_button_add->Rescale(); + m_button_add->SetMinSize(wxSize(FromDIP(90), FromDIP(36))); + m_button_add->SetMaxSize(wxSize(FromDIP(90), FromDIP(36))); + m_button_send->Rescale(); + m_button_send->SetMinSize(wxSize(FromDIP(120), FromDIP(40))); + m_button_send->SetMinSize(wxSize(FromDIP(120), FromDIP(40))); + for (auto it = m_device_items.begin(); it != m_device_items.end(); ++it) { + it->second->Refresh(); + } + + Fit(); + Layout(); + Refresh(); } void SendMultiMachinePage::on_sys_color_changed() @@ -654,6 +685,13 @@ void SendMultiMachinePage::on_send(wxCommandEvent& event) } } + + if (print_params.size() <= 0) { + MessageDialog msg_wingow(nullptr, _L("There is no device available to send printing."), "", wxICON_WARNING | wxOK); + msg_wingow.ShowModal(); + return; + } + if (wxGetApp().getTaskManager()) { TaskSettings settings; @@ -672,6 +710,15 @@ void SendMultiMachinePage::on_send(wxCommandEvent& event) settings.sending_interval = std::stoi(app_config->get("sending_interval")) * 60; settings.max_sending_at_same_time = std::stoi(app_config->get("max_send")); + + if (settings.max_sending_at_same_time <= 0) { + MessageDialog msg_wingow(nullptr, _L("The number of printers in use simultaneously cannot be equal to 0."), "", wxICON_WARNING | wxOK); + msg_wingow.ShowModal(); + return; + } + + + wxGetApp().getTaskManager()->start_print(print_params, &settings); } catch (...) @@ -943,15 +990,18 @@ wxPanel* SendMultiMachinePage::create_page() m_title_sizer = new wxBoxSizer(wxHORIZONTAL); m_rename_switch_panel = new wxSimplebook(m_title_panel); + m_rename_switch_panel->SetMinSize(wxSize(FromDIP(240), FromDIP(25))); + m_rename_switch_panel->SetMaxSize(wxSize(FromDIP(240), FromDIP(25))); m_rename_normal_panel = new wxPanel(m_rename_switch_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL); m_rename_normal_panel->SetBackgroundColour(*wxWHITE); rename_sizer_v = new wxBoxSizer(wxVERTICAL); rename_sizer_h = new wxBoxSizer(wxHORIZONTAL); - m_task_name = new wxStaticText(m_rename_normal_panel, wxID_ANY, wxT("MyLabel"), wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END); + m_task_name = new wxStaticText(m_rename_normal_panel, wxID_ANY, wxT("MyLabel"), wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END | wxALIGN_CENTRE); m_task_name->SetFont(::Label::Body_13); - m_task_name->SetMaxSize(wxSize(FromDIP(390), -1)); + m_task_name->SetMinSize(wxSize(FromDIP(200), -1)); + m_task_name->SetMaxSize(wxSize(FromDIP(200), -1)); m_rename_button = new ScalableButton(m_rename_normal_panel, wxID_ANY, "ams_editable"); m_rename_button->SetBackgroundColour(*wxWHITE); rename_sizer_h->Add(m_task_name, 0, wxALIGN_CENTER, 0); diff --git a/src/slic3r/GUI/SendMultiMachinePage.hpp b/src/slic3r/GUI/SendMultiMachinePage.hpp index 418f8cfa097..58014f065c8 100644 --- a/src/slic3r/GUI/SendMultiMachinePage.hpp +++ b/src/slic3r/GUI/SendMultiMachinePage.hpp @@ -144,8 +144,6 @@ private: wxPanel* m_title_panel{ nullptr }; wxBoxSizer* m_title_sizer{ nullptr }; wxBoxSizer* m_text_sizer{ nullptr }; - ScalableBitmap* m_print_time{ nullptr }; - wxStaticBitmap* m_time_img{ nullptr }; wxStaticText* m_stext_time{ nullptr }; wxStaticText* m_stext_weight{ nullptr }; wxStaticBitmap* timeimg{ nullptr }; diff --git a/src/slic3r/GUI/WipeTowerDialog.cpp b/src/slic3r/GUI/WipeTowerDialog.cpp index 058d3ece5a6..78662c1f3a9 100644 --- a/src/slic3r/GUI/WipeTowerDialog.cpp +++ b/src/slic3r/GUI/WipeTowerDialog.cpp @@ -581,21 +581,18 @@ WipingPanel::WipingPanel(wxWindow* parent, const std::vector& matrix, con auto on_apply_text_modify = [this](wxEvent& e) { wxString str = m_flush_multiplier_ebox->GetValue(); - str.Replace(",", "."); - double multiplier = 1.f; - if (str.ToDouble(&multiplier)) { - if (multiplier < g_min_flush_multiplier || multiplier > g_max_flush_multiplier) { - str = wxString::Format(("%.2f"), multiplier < g_min_flush_multiplier ? g_min_flush_multiplier : g_max_flush_multiplier); - m_flush_multiplier_ebox->SetValue(str); - MessageDialog dlg(nullptr, - wxString::Format(_L("The multiplier should be in range [%.2f, %.2f]."), g_min_flush_multiplier, g_max_flush_multiplier), - _L("Warning"), wxICON_WARNING | wxOK); - dlg.ShowModal(); - } - for (unsigned int i = 0; i < m_number_of_extruders; ++i) { - for (unsigned int j = 0; j < m_number_of_extruders; ++j) { - edit_boxes[i][j]->SetValue(to_string(int(m_matrix[m_number_of_extruders * j + i] * multiplier))); - } + float multiplier = wxAtof(str); + if (multiplier < g_min_flush_multiplier || multiplier > g_max_flush_multiplier) { + str = wxString::Format(("%.2f"), multiplier < g_min_flush_multiplier ? g_min_flush_multiplier : g_max_flush_multiplier); + m_flush_multiplier_ebox->SetValue(str); + MessageDialog dlg(nullptr, + wxString::Format(_L("The multiplier should be in range [%.2f, %.2f]."), g_min_flush_multiplier, g_max_flush_multiplier), + _L("Warning"), wxICON_WARNING | wxOK); + dlg.ShowModal(); + } + for (unsigned int i = 0; i < m_number_of_extruders; ++i) { + for (unsigned int j = 0; j < m_number_of_extruders; ++j) { + edit_boxes[i][j]->SetValue(to_string(int(m_matrix[m_number_of_extruders * j + i] * multiplier))); } } @@ -610,9 +607,7 @@ WipingPanel::WipingPanel(wxWindow* parent, const std::vector& matrix, con param_sizer->Add(flush_multiplier_title, 0, wxALIGN_CENTER | wxALL, 0); param_sizer->AddSpacer(FromDIP(5)); m_flush_multiplier_ebox = new wxTextCtrl(m_page_advanced, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(FromDIP(50), -1), wxTE_PROCESS_ENTER); - char flush_multi_str[32] = { 0 }; - snprintf(flush_multi_str, sizeof(flush_multi_str), "%.2f", flush_multiplier); - m_flush_multiplier_ebox->SetValue(flush_multi_str); + m_flush_multiplier_ebox->SetValue(wxString::Format(("%.2f"), flush_multiplier)); m_flush_multiplier_ebox->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); param_sizer->Add(m_flush_multiplier_ebox, 0, wxALIGN_CENTER | wxALL, 0); param_sizer->AddStretchSpacer(1); @@ -622,13 +617,10 @@ WipingPanel::WipingPanel(wxWindow* parent, const std::vector& matrix, con m_flush_multiplier_ebox->Bind(wxEVT_KILL_FOCUS, on_apply_text_modify); m_flush_multiplier_ebox->Bind(wxEVT_COMMAND_TEXT_UPDATED, [this](wxCommandEvent&) { wxString str = m_flush_multiplier_ebox->GetValue(); - str.Replace(",", "."); - double multiplier = 1.f; - if (str.ToDouble(&multiplier)) { - if (multiplier < g_min_flush_multiplier || multiplier > g_max_flush_multiplier) { - str = wxString::Format(("%.2f"), multiplier < g_min_flush_multiplier ? g_min_flush_multiplier : g_max_flush_multiplier); - m_flush_multiplier_ebox->SetValue(str); - } + float multiplier = wxAtof(str); + if (multiplier < g_min_flush_multiplier || multiplier > g_max_flush_multiplier) { + str = wxString::Format(("%.2f"), multiplier < g_min_flush_multiplier ? g_min_flush_multiplier : g_max_flush_multiplier); + m_flush_multiplier_ebox->SetValue(str); } m_flush_multiplier_ebox->SetInsertionPointEnd(); }); diff --git a/src/slic3r/GUI/WipeTowerDialog.hpp b/src/slic3r/GUI/WipeTowerDialog.hpp index faa005c8b32..4a1abfaad27 100644 --- a/src/slic3r/GUI/WipeTowerDialog.hpp +++ b/src/slic3r/GUI/WipeTowerDialog.hpp @@ -61,12 +61,7 @@ public: if (m_flush_multiplier_ebox == nullptr) return 1.f; - wxString str = m_flush_multiplier_ebox->GetValue(); - str.Replace(",", "."); - double multiplier = 1.f; - str.ToDouble(&multiplier); - - return multiplier; + return wxAtof(m_flush_multiplier_ebox->GetValue()); } private: diff --git a/src/slic3r/GUI/wxMediaCtrl2.cpp b/src/slic3r/GUI/wxMediaCtrl2.cpp index 2356e6b6302..e0cccc6fa76 100644 --- a/src/slic3r/GUI/wxMediaCtrl2.cpp +++ b/src/slic3r/GUI/wxMediaCtrl2.cpp @@ -58,6 +58,7 @@ wxMediaCtrl2::wxMediaCtrl2(wxWindow *parent) void wxMediaCtrl2::Load(wxURI url) { #ifdef __WIN32__ + InvalidateBestSize(); if (m_imp == nullptr) { static bool notified = false; if (!notified) CallAfter([] { diff --git a/src/slic3r/Utils/bambu_networking.hpp b/src/slic3r/Utils/bambu_networking.hpp index 6d56cdb0293..8fcf3747303 100644 --- a/src/slic3r/Utils/bambu_networking.hpp +++ b/src/slic3r/Utils/bambu_networking.hpp @@ -95,7 +95,7 @@ namespace BBL { #define BAMBU_NETWORK_LIBRARY "bambu_networking" #define BAMBU_NETWORK_AGENT_NAME "bambu_network_agent" -#define BAMBU_NETWORK_AGENT_VERSION "01.09.01.01" +#define BAMBU_NETWORK_AGENT_VERSION "01.09.01.06" //iot preset type strings #define IOT_PRINTER_TYPE_STRING "printer" diff --git a/version.inc b/version.inc index fbffbbac365..8a893e36dbe 100644 --- a/version.inc +++ b/version.inc @@ -17,4 +17,4 @@ set(ORCA_VERSION_MAJOR ${CMAKE_MATCH_1}) set(ORCA_VERSION_MINOR ${CMAKE_MATCH_2}) set(ORCA_VERSION_PATCH ${CMAKE_MATCH_3}) -set(SLIC3R_VERSION "01.09.01.58") +set(SLIC3R_VERSION "01.09.01.66") From ceb16754bac4dc9a9369478a1fd13546feaf0244 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sun, 19 May 2024 16:03:37 +0200 Subject: [PATCH 031/178] Fr translation (#5398) * Translation of new strings. * Changed "agglutination" by "encrassement" * Updated French translations * Fixed c-boost formats --- localization/i18n/fr/OrcaSlicer_fr.po | 1376 ++++++++++++++++--------- 1 file changed, 872 insertions(+), 504 deletions(-) diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po index e68bc4b18c3..0ed123b7205 100644 --- a/localization/i18n/fr/OrcaSlicer_fr.po +++ b/localization/i18n/fr/OrcaSlicer_fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-19 12:02+0200\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Guislain Cyril, Thomas Lété\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n==0 || n==1) ? 0 : 1;\n" -"X-Generator: Poedit 3.4.2\n" +"X-Generator: Poedit 3.4.4\n" msgid "Supports Painting" msgstr "Peindre les supports" @@ -261,7 +261,7 @@ msgid "World coordinates" msgstr "Coordonnées" msgid "Object coordinates" -msgstr "" +msgstr "Coordonnées de l’objet" msgid "°" msgstr "°" @@ -1926,6 +1926,9 @@ msgstr "Ajouter une primitive" msgid "Add Handy models" msgstr "Ajouter des modèles pratiques" +msgid "Add Models" +msgstr "Ajouter des modèles" + msgid "Show Labels" msgstr "Afficher les étiquettes" @@ -1979,10 +1982,10 @@ msgid "arrange current plate" msgstr "organiser la plaque actuelle" msgid "Reload All" -msgstr "" +msgstr "Tout recharger" msgid "reload all from disk" -msgstr "" +msgstr "tout recharger à partir du disque" msgid "Auto Rotate" msgstr "Rotation automatique" @@ -2450,7 +2453,7 @@ msgid "AMS not connected" msgstr "AMS non connecté" msgid "Load" -msgstr "" +msgstr "Charger" msgid "Unload" msgstr "Décharger" @@ -2515,6 +2518,8 @@ msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" +"Choisissez un emplacement AMS puis appuyez sur le bouton «  Charger «  ou «  " +"Décharger «  pour charger ou décharger automatiquement les filaments." msgid "Edit" msgstr "Éditer" @@ -3156,12 +3161,14 @@ msgstr "" "de filament lorsque la bobine actuelle est épuisé" msgid "Air Printing Detection" -msgstr "" +msgstr "Détection de l’impression dans l’air" msgid "" "Detects clogging and filament grinding, halting printing immediately to " "conserve time and filament." msgstr "" +"Détecte le colmatage et le grignotage du filament, interrompant " +"immédiatement l’impression pour économiser du temps et du filament." msgid "File" msgstr "Fichier" @@ -3243,7 +3250,7 @@ msgid "Successfully executed post-processing script" msgstr "Le script de post-traitement a été exécuté avec succès" msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "Une erreur inconnue s’est produite lors de l’exportation du G-code." #, boost-format msgid "" @@ -3251,6 +3258,9 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"La copie du G-code temporaire vers le G-code de sortie a échoué. La carte SD " +"est peut-être bloquée en écriture ?\n" +"Message d’erreur : %1%" #, boost-format msgid "" @@ -3258,28 +3268,41 @@ msgid "" "problem with target device, please try exporting again or using different " "device. The corrupted output G-code is at %1%.tmp." msgstr "" +"La copie du G-code temporaire vers le G-code de sortie a échoué. Il se peut " +"qu’il y ait un problème avec le dispositif cible, veuillez essayer " +"d’exporter à nouveau ou d’utiliser un autre périphérique. Le code G de " +"sortie corrompu se trouve dans %1%.tmp." #, 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 "" +"Le renommage du G-code après la copie dans le dossier de destination " +"sélectionné a échoué. Le chemin actuel est %1%.tmp. Veuillez réessayer " +"l’exportation." #, 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 "" +"La copie du G-code temporaire est terminée mais le code original à %1% n’a " +"pas pu être ouvert pendant la vérification de la copie. Le G-code de sortie " +"se trouve dans %2%.tmp." #, 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 "" +"La copie du G-code temporaire est terminée mais le code exporté n’a pas pu " +"être ouvert lors du contrôle de la copie. Le G-code de sortie se trouve dans " +"%1%.tmp." #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr "Fichier G-code exporté vers %1%." msgid "Unknown error when export G-code." msgstr "Erreur inconnue lors de l'exportation du G-code." @@ -3302,6 +3325,210 @@ msgstr "" "Planification du téléversement vers `%1% `. Voir Fenêtre -> File d'attente " "de téléversement de l'hôte d'impression" +msgid "Device" +msgstr "Appareil" + +msgid "Task Sending" +msgstr "Envoi de la tâche" + +msgid "Task Sent" +msgstr "Tâche envoyée" + +msgid "Edit multiple printers" +msgstr "Modifier plusieurs imprimantes" + +msgid "Select connected printetrs (0/6)" +msgstr "Sélectionner les imprimantes connectées (0/6)" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "Sélectionner les imprimantes connectées (%d/6)" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "Le nombre maximum d’imprimantes pouvant être sélectionnées est de %d" + +msgid "Offline" +msgstr "Hors ligne" + +msgid "No task" +msgstr "Aucune tâche" + +msgid "View" +msgstr "Affichage" + +msgid "N/A" +msgstr "N / A" + +msgid "Edit Printers" +msgstr "Modifier les imprimantes" + +msgid "Device Name" +msgstr "Nom de l’appareil" + +msgid "Task Name" +msgstr "Nom de la tâche" + +msgid "Device Status" +msgstr "État de l’appareil" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" +"Veuillez sélectionner ici les appareils que vous souhaitez gérer (jusqu’à 6 " +"appareils)." + +msgid "Add" +msgstr "Ajouter" + +msgid "Idle" +msgstr "Inactif" + +msgid "Printing" +msgstr "Impression" + +msgid "Upgrading" +msgstr "Mise à jour" + +msgid "Incompatible" +msgstr "Incompatible" + +msgid "syncing" +msgstr "synchronisation" + +msgid "Printing Finish" +msgstr "Impression terminée" + +msgid "Printing Failed" +msgstr "Échec de l’impression" + +msgid "PrintingPause" +msgstr "Pause de l’impression" + +msgid "Prepare" +msgstr "Préparer" + +msgid "Slicing" +msgstr "Découpe" + +msgid "Pending" +msgstr "En attente" + +msgid "Sending" +msgstr "Envoi" + +msgid "Sending Finish" +msgstr "Fin de l’envoi" + +msgid "Sending Cancel" +msgstr "Annulation de l’envoi" + +msgid "Sending Failed" +msgstr "Échec de l’envoi" + +msgid "Print Success" +msgstr "Succès de l’impression" + +msgid "Print Failed" +msgstr "Échec de l’impression" + +msgid "Removed" +msgstr "Supprimé" + +msgid "Resume" +msgstr "Résumer" + +msgid "Stop" +msgstr "Arrêt" + +msgid "Task Status" +msgstr "État de la tâche" + +msgid "Sent Time" +msgstr "Heure d’envoi" + +msgid "There are no tasks to be sent!" +msgstr "Il n’y a pas de tâches à envoyer !" + +msgid "No historical tasks!" +msgstr "Aucune tâche historique !" + +msgid "Loading..." +msgstr "Chargement…" + +msgid "No AMS" +msgstr "Pas d’AMS" + +msgid "Send to Multi-device" +msgstr "Envoyer à plusieurs appareils" + +msgid "Preparing print job" +msgstr "Préparation du travail d'impression" + +msgid "Abnormal print file data. Please slice again" +msgstr "" +"Données de fichier d'impression anormales. Veuillez redécouvre le fichier." + +msgid "Use External Spool" +msgstr "Utiliser la bobine externe" + +msgid "Use AMS" +msgstr "Utiliser l’AMS" + +msgid "Select Printers" +msgstr "Sélectionner des imprimantes" + +msgid "Ams Status" +msgstr "Statut de l’AMS" + +msgid "Printing Options" +msgstr "Options d’impression" + +msgid "Send Options" +msgstr "Options d’envoi" + +msgid "Send" +msgstr "Envoyer" + +msgid "" +"printers at the same time.(It depends on how many devices can undergo " +"heating at the same time.)" +msgstr "" +"imprimantes en même temps. (Cela dépend du nombre d’appareils qui peuvent " +"être chauffés en même temps)." + +msgid "Wait" +msgstr "Attendre" + +msgid "" +"minute each batch.(It depends on how long it takes to complete the heating.)" +msgstr "" +"minute par lot. (Cela dépend du temps nécessaire pour terminer le chauffage.)" + +msgid "Name is invalid;" +msgstr "Le nom n'est pas valide ;" + +msgid "illegal characters:" +msgstr "caractères illégaux :" + +msgid "illegal suffix:" +msgstr "suffixe illégal :" + +msgid "The name is not allowed to be empty." +msgstr "Le nom ne doit pas être vide." + +msgid "The name is not allowed to start with space character." +msgstr "Le nom ne doit pas commencer par un espace." + +msgid "The name is not allowed to end with space character." +msgstr "Le nom ne doit pas se terminer par un espace." + +msgid "The name length exceeds the limit." +msgstr "La longueur du nom dépasse la limite." + msgid "Origin" msgstr "Origine" @@ -3836,9 +4063,6 @@ msgstr "Paramètres de l'imprimante" msgid "parameter name" msgstr "nom du paramètre" -msgid "N/A" -msgstr "N / A" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s ne peut pas être un pourcentage" @@ -4154,9 +4378,6 @@ msgstr "Éviter la région de calibration de l'extrusion" msgid "Align to Y axis" msgstr "Aligner sur l’axe Y" -msgid "Add" -msgstr "Ajouter" - msgid "Add plate" msgstr "Ajouter une plaque" @@ -4211,7 +4432,7 @@ msgstr "Le volume:" msgid "Size:" msgstr "Taille:" -#, c-format, boost-format +#, boost-format msgid "" "Conflicts of gcode paths have been found at layer %d, z = %.2lf mm. Please " "separate the conflicted objects farther (%s <-> %s)." @@ -4346,17 +4567,11 @@ msgstr "" msgid "Logging" msgstr "Enregistrement" -msgid "Prepare" -msgstr "Préparer" - msgid "Preview" msgstr "Aperçu" -msgid "Device" -msgstr "Appareil" - msgid "Multi-device" -msgstr "" +msgstr "Multi-appareils" msgid "Project" msgstr "Projet" @@ -4382,9 +4597,6 @@ msgstr "Tout découper" msgid "Export G-code file" msgstr "Exporter le fichier G-code" -msgid "Send" -msgstr "Envoyer" - msgid "Export plate sliced file" msgstr "Exporter fichier découpé du plateau" @@ -4397,9 +4609,6 @@ msgstr "Tout imprimer" msgid "Send all" msgstr "Tout envoyer" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "Raccourcis Clavier" @@ -4644,9 +4853,6 @@ msgstr "Afficher la surbrillance des surplombs d'un objet dans la scène 3D" msgid "Preferences" msgstr "Préférences" -msgid "View" -msgstr "Affichage" - msgid "Help" msgstr "Aide" @@ -4919,9 +5125,6 @@ msgstr "Information" msgid "Playing..." msgstr "En cours…" -msgid "Loading..." -msgstr "Chargement…" - msgid "Year" msgstr "Année" @@ -5159,12 +5362,6 @@ msgstr "Inverser l’axe de roulis" msgid "Printing Progress" msgstr "Progression de l'impression" -msgid "Resume" -msgstr "Résumer" - -msgid "Stop" -msgstr "Arrêt" - msgid "0" msgstr "0" @@ -5452,6 +5649,8 @@ msgid "" "The 3mf file version is in Beta and it is newer than the current OrcaSlicer " "version." msgstr "" +"La version du fichier 3mf est en bêta et est plus récente que la version " +"actuelle d’OrcaSlicer." msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "Si vous souhaitez essayer OrcaSlicer Beta, vous pouvez cliquer sur" @@ -5664,10 +5863,12 @@ msgid "Filament Tangle Detect" msgstr "Détection de filament coincé" msgid "Nozzle Clumping Detection" -msgstr "" +msgstr "Détection de l’encrassement de la buse" msgid "Check if the nozzle is clumping by filament or other foreign objects." msgstr "" +"Vérifier si la buse est encrassée par du filament ou d’autres corps " +"étrangers." msgid "Nozzle Type" msgstr "Type de buse" @@ -5943,6 +6144,9 @@ msgstr "" msgid "The name may show garbage characters!" msgstr "Le nom peut afficher des caractères inutiles !" +msgid "Remember my choice." +msgstr "Mémoriser mon choix." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "" @@ -6072,9 +6276,6 @@ msgstr "Impossible de recharger :" msgid "Error during reload" msgstr "Erreur lors du rechargement" -msgid "Slicing" -msgstr "Découpe" - msgid "There are warnings after slicing models:" msgstr "Il y a des avertissements après le découpage des modèles :" @@ -6138,13 +6339,13 @@ msgid "prepare 3mf file..." msgstr "préparation du fichier 3mf..." msgid "Download failed, unknown file format." -msgstr "" +msgstr "Échec du téléchargement, format de fichier inconnu." msgid "downloading project ..." msgstr "téléchargement du projet..." msgid "Download failed, File size exception." -msgstr "" +msgstr "Le téléchargement a échoué, exception de taille de fichier." #, c-format, boost-format msgid "Project downloaded %d%%" @@ -6154,6 +6355,8 @@ msgid "" "Importing to Bambu Studio failed. Please download the file and manually " "import it." msgstr "" +"L’importation dans Bambu Studio a échoué. Veuillez télécharger le fichier et " +"l’importer manuellement." msgid "Import SLA archive" msgstr "Importer les archives SLA" @@ -6192,9 +6395,6 @@ msgstr "" msgid "Can not add models when in preview mode!" msgstr "Impossible d'ajouter des modèles en mode aperçu !" -msgid "Add Models" -msgstr "Ajouter des modèles" - msgid "All objects will be removed, continue?" msgstr "Tous les objets seront supprimés, continuer ?" @@ -6203,9 +6403,6 @@ msgstr "" "Le projet en cours comporte des modifications non enregistrées, enregistrez-" "les avant de continuer ?" -msgid "Remember my choice." -msgstr "Mémoriser mon choix." - msgid "Number of copies:" msgstr "Nombre de copies:" @@ -6424,6 +6621,15 @@ msgstr "Région d'origine" msgid "Stealth Mode" msgstr "Mode privé" +msgid "" +"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." +msgstr "" +"Cette fonction interrompt la transmission des données vers les services en " +"ligne de Bambu. Les utilisateurs qui n’utilisent pas de machines BBL ou qui " +"utilisent uniquement le mode LAN peuvent activer cette fonction en toute " +"sécurité." + msgid "Enable network plugin" msgstr "Activer le plug-in réseau" @@ -6440,19 +6646,26 @@ msgid "Units" msgstr "Unités" msgid "Allow only one OrcaSlicer instance" -msgstr "" +msgstr "Autoriser une seule instance d’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 "" +"Sous OSX, il n’y a toujours qu’une seule instance de l’application en cours " +"d’exécution par défaut. Cependant, il est possible de lancer plusieurs " +"instances de la même application à partir de la ligne de commande. Dans ce " +"cas, ces paramètres n’autorisent qu’une seule instance." 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 "" +"Si cette option est activée, lorsque vous démarrez OrcaSlicer et qu’une " +"autre instance du même OrcaSlicer est déjà en cours d’exécution, cette " +"instance sera réactivée à la place." msgid "Home" msgstr "Accueil" @@ -6547,12 +6760,14 @@ msgstr "" "filament/processus pour chaque imprimante et la modifiera automatiquement." msgid "Multi-device Management(Take effect after restarting Studio)." -msgstr "" +msgstr "Gestion multi-appareils (prend effet après le redémarrage d’Orca)." msgid "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." msgstr "" +"Si cette option est activée, vous pouvez envoyer une tâche à plusieurs " +"appareils en même temps et gérer plusieurs appareils." msgid "Network" msgstr "Réseau" @@ -6773,9 +6988,6 @@ msgstr "Sélectionner/supprimer des imprimantes (préréglages du système)" msgid "Create printer" msgstr "Créer une imprimante" -msgid "Incompatible" -msgstr "Incompatible" - msgid "The selected preset is null!" msgstr "Le préréglage sélectionné est invalide !" @@ -6873,15 +7085,6 @@ msgstr "Préréglage utilisateur" msgid "Preset Inside Project" msgstr "Projeter à l'intérieur du préréglage" -msgid "Name is invalid;" -msgstr "Le nom n'est pas valide ;" - -msgid "illegal characters:" -msgstr "caractères illégaux :" - -msgid "illegal suffix:" -msgstr "suffixe illégal :" - msgid "Name is unavailable." msgstr "Le nom n'est pas disponible." @@ -6901,15 +7104,6 @@ msgstr "" msgid "Please note that saving action will replace this preset" msgstr "Veuillez noter que l'action d'enregistrement remplacera ce préréglage" -msgid "The name is not allowed to be empty." -msgstr "Le nom ne doit pas être vide." - -msgid "The name is not allowed to start with space character." -msgstr "Le nom ne doit pas commencer par un espace." - -msgid "The name is not allowed to end with space character." -msgstr "Le nom ne doit pas se terminer par un espace." - msgid "The name cannot be the same as a preset alias name." msgstr "Le nom ne peut pas être le même qu'un nom d'alias prédéfini." @@ -6969,9 +7163,6 @@ msgstr "Vous ne trouvez pas d'appareils ?" msgid "Log out successful." msgstr "Déconnexion réussie." -msgid "Offline" -msgstr "Hors ligne" - msgid "Busy" msgstr "Occupé" @@ -7203,16 +7394,6 @@ msgstr "" "Connexion à l’imprimante. Impossible d’annuler pendant le processus de " "connexion." -msgid "Preparing print job" -msgstr "Préparation du travail d'impression" - -msgid "Abnormal print file data. Please slice again" -msgstr "" -"Données de fichier d'impression anormales. Veuillez redécouvre le fichier." - -msgid "The name length exceeds the limit." -msgstr "La longueur du nom dépasse la limite." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7227,7 +7408,7 @@ msgid "Modifying the device name" msgstr "Modification du nom de l'appareil" msgid "Bind with Pin Code" -msgstr "" +msgstr "Relier avec le code pin" msgid "Send to Printer SD card" msgstr "Envoyer sur la carte SD de l'imprimante" @@ -7290,21 +7471,24 @@ msgid "" "Please Find the Pin Code in Account page on printer screen,\n" " and type in the Pin Code below." msgstr "" +"Veuillez trouver le code pin dans la page Compte sur l’écran de " +"l’imprimante,\n" +" et tapez le code pin ci-dessous." msgid "Can't find Pin Code?" -msgstr "" +msgstr "Vous ne trouvez pas le code pin ?" msgid "Pin Code" -msgstr "" +msgstr "Code pin" msgid "Binding..." -msgstr "" +msgstr "Liaison…" msgid "Please confirm on the printer screen" -msgstr "" +msgstr "Veuillez confirmer sur l’écran de l’imprimante" msgid "Log in failed. Please check the Pin Code." -msgstr "" +msgstr "La connexion a échoué. Veuillez vérifier le code pin." msgid "Log in printer" msgstr "Connectez-vous à l'imprimante" @@ -7545,8 +7729,8 @@ 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\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Lorsque vous enregistrez un timelapse sans tête d’outil, il est recommandé " "d’ajouter une \"Tour d’essuyage timelapse\".\n" @@ -7698,9 +7882,9 @@ msgid "" "Bed temperature when cool plate is installed. Value 0 means the filament " "does not support to print on the Cool Plate" msgstr "" -"Il s'agit de la température du plateau lorsque le plateau froid (\"Cool plate" -"\") est installé. Une valeur à 0 signifie que ce filament ne peut pas être " -"imprimé sur le plateau froid." +"Il s'agit de la température du plateau lorsque le plateau froid (\"Cool " +"plate\") est installé. Une valeur à 0 signifie que ce filament ne peut pas " +"être imprimé sur le plateau froid." msgid "Engineering plate" msgstr "Plaque Engineering" @@ -8059,21 +8243,31 @@ msgid "" "\n" "You can save or discard the preset values you have modified." msgstr "" +"\n" +"Vous pouvez enregistrer ou rejeter les valeurs prédéfinies que vous avez " +"modifiées." 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" +"Vous pouvez sauvegarder ou ignorer les valeurs de préréglage que vous avez " +"modifiées, ou choisir de transférer les valeurs que vous avez modifiées dans " +"le nouveau préréglage." msgid "You have previously modified your settings." -msgstr "" +msgstr "Vous avez déjà modifié vos réglages." msgid "" "\n" "You can discard the preset values you have modified, or choose to transfer " "the modified values to the new project" msgstr "" +"\n" +"Vous pouvez ignorer les valeurs prédéfinies que vous avez modifiées ou " +"choisir de transférer les valeurs modifiées dans le nouveau projet." msgid "Extruders count" msgstr "Nombre d'extrudeurs" @@ -8596,37 +8790,37 @@ msgid "resume" msgstr "reprendre" msgid "Resume Printing" -msgstr "" +msgstr "Reprendre l’impression" msgid "Resume Printing(defects acceptable)" -msgstr "" +msgstr "Reprendre l’impression (des défauts sont acceptables)" msgid "Resume Printing(problem solved)" -msgstr "" +msgstr "Reprendre l’impression (problème résolu)" msgid "Stop Printing" -msgstr "" +msgstr "Arrêter l’impression" msgid "Check Assistant" -msgstr "" +msgstr "Assistant de contrôle" msgid "Filament Extruded, Continue" -msgstr "" +msgstr "Filament extrudé, Continuer" msgid "Not Extruded Yet, Retry" -msgstr "" +msgstr "Pas encore extrudé, réessayer" msgid "Finished, Continue" -msgstr "" +msgstr "Terminé, Continuer" msgid "Load Filament" msgstr "Charger" msgid "Filament Loaded, Resume" -msgstr "" +msgstr "Filament chargé, Reprendre" msgid "View Liveview" -msgstr "" +msgstr "Vue en direct" msgid "Confirm and Update Nozzle" msgstr "Confirmation et mise à jour de la buse" @@ -8689,12 +8883,6 @@ msgstr "Version :" msgid "Update firmware" msgstr "Mise à jour du firmware" -msgid "Printing" -msgstr "Impression" - -msgid "Idle" -msgstr "Inactif" - msgid "Beta version" msgstr "Version Beta" @@ -10940,8 +11128,8 @@ msgstr "Fabriquant du filament." msgid "(Undefined)" msgstr "(Indéfini)" -msgid "Infill direction" -msgstr "Sens de remplissage" +msgid "Sparse infill direction" +msgstr "Direction du remplissage" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10950,6 +11138,23 @@ msgstr "" "Angle pour le motif de remplissage qui contrôle le début ou la direction " "principale de la ligne" +msgid "Solid infill direction" +msgstr "Direction du remplissage" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" +"Angle pour le motif de remplissage, qui contrôle le début ou la direction " +"principale de la ligne" + +msgid "Rotate solid infill direction" +msgstr "Faire pivoter la direction du remplissage solide" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" +"Faire pivoter la direction du remplissage solide de 90° pour chaque couche." + msgid "Sparse infill density" msgstr "Densité de remplissage" @@ -10998,7 +11203,7 @@ msgid "Lightning" msgstr "Lightning" msgid "Cross Hatch" -msgstr "" +msgstr "Quadrillage" msgid "Sparse infill anchor length" msgstr "Longueur de l’ancrage de remplissage interne" @@ -11207,10 +11412,10 @@ msgstr "Ventilateur à pleine vitesse à la couche" 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." +"\"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 "" "La vitesse du ventilateur augmentera de manière linéaire à partir de zéro à " "la couche \"close_fan_the_first_x_layers\" jusqu’au maximum à la couche " @@ -11308,11 +11513,24 @@ msgid "Arc fitting" msgstr "Tracer des arcs" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"Activez cette option pour obtenir un fichier G-code contenant des mouvements " -"G2 et G3. Et la tolérance d'ajustement est la même avec la résolution" +"Activez cette option pour obtenir un fichier G-code contenant les " +"déplacements G2 et G3. La tolérance d’ajustement est la même que la " +"résolution. \n" +"\n" +"Note : Pour les machines Klipper, il est recommandé de désactiver cette " +"option. Klipper ne bénéficie pas des commandes d’arc car celles-ci sont à " +"nouveau divisées en segments de ligne par le micrologiciel. Il en résulte " +"une réduction de la qualité de la surface, car les segments de ligne sont " +"convertis en arcs par le slicer, puis à nouveau en segments par le firmware." msgid "Add line number" msgstr "Ajouter un numéro de ligne" @@ -11550,13 +11768,35 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Chevauchement de remplissage/paroi" +#, c-format, 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" +"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 "" -"La zone de remplissage est légèrement agrandie pour chevaucher la paroi afin " -"d'améliorer l'adhérence. La valeur en pourcentage est relative à la largeur " -"de ligne de remplissage." +"La zone de remplissage est légèrement élargie pour chevaucher la paroi afin " +"d’améliorer l’adhérence. La valeur du pourcentage est relative à la largeur " +"de la ligne de remplissage clairsemée. Réglez cette valeur à ~10-15%% pour " +"minimiser le risque de sur-extrusion et d’accumulation de matériau, ce qui " +"rendrait les surfaces supérieures rugueuses." + +msgid "Top/Bottom solid infill/wall overlap" +msgstr "Chevauchement du remplissage ou de la paroi supérieur(e)/inférieur(e)" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" +msgstr "" +"La zone de remplissage solide supérieure est légèrement élargie pour " +"chevaucher la paroi afin d’améliorer l’adhérence et de minimiser " +"l’apparition de trous d’épingle à l’endroit où le remplissage supérieur " +"rencontre les parois. Une valeur de 25-30%% est un bon point de départ, " +"minimisant l’apparition de trous d’épingle. La valeur en pourcentage est " +"relative à la largeur de ligne d’un remplissage peu dense." msgid "Speed of internal sparse infill" msgstr "Vitesse de remplissage interne" @@ -12854,8 +13094,8 @@ msgid "" "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " "close all holes in the model." msgstr "" -"Utilisez « Pair-impair » pour les modèles d'avion 3DLabPrint. Utilisez « " -"Fermer les trous » pour fermer tous les trous du modèle." +"Utilisez « Pair-impair » pour les modèles d'avion 3DLabPrint. Utilisez " +"« Fermer les trous » pour fermer tous les trous du modèle." msgid "Regular" msgstr "Standard" @@ -13465,6 +13705,27 @@ msgstr "Espacement des lignes de purge de la tour d’essuyage" msgid "Spacing of purge lines on the wipe tower." msgstr "Espacement des lignes de purge sur la tour d’essuyage." +msgid "Maximum print speed when purging" +msgstr "Vitesse d’impression maximale lors de la purge" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" +"Vitesse d’impression maximale lors de la purge dans la tour d’essuyage. Si " +"la vitesse de remplissage ou la vitesse calculée à partir de la vitesse " +"volumétrique maximale du filament est inférieure, c’est la vitesse la plus " +"basse qui sera utilisée.\n" +"L’augmentation de cette vitesse peut affecter la stabilité de la tour, car " +"la purge peut être effectuée sur des couches peu épaisses. Avant d’augmenter " +"ce paramètre au-delà de la valeur par défaut de 90 mm/sec, assurez-vous que " +"votre imprimante peut effectuer un pontage fiable aux vitesses accrues." + msgid "Wipe tower extruder" msgstr "Extrudeur de tour d’essuyage" @@ -13618,8 +13879,8 @@ msgid "" "Wipe tower is only compatible with relative mode. It is recommended on most " "printers. Default is checked" msgstr "" -"L’extrusion relative est recommandée lors de l’utilisation de l’option « " -"label_objects ». Certains extrudeurs fonctionnent mieux avec cette option " +"L’extrusion relative est recommandée lors de l’utilisation de l’option " +"« label_objects ». Certains extrudeurs fonctionnent mieux avec cette option " "non verrouillée (mode d’extrusion absolu). La tour d’essuyage n’est " "compatible qu’avec le mode relatif. Il est recommandé sur la plupart des " "imprimantes. L’option par défaut est cochée" @@ -14246,7 +14507,7 @@ msgid "load_obj: failed to parse" msgstr "load_obj : échec de l'analyse" msgid "load mtl in obj: failed to parse" -msgstr "" +msgstr "charger mtl dans obj : échec de l’analyse" msgid "The file contains polygons with more than 4 vertices." msgstr "Le fichier contient des polygones comportant plus de 4 sommets." @@ -14383,6 +14644,11 @@ msgid "" "historical results. \n" "Do you still want to continue the calibration?" msgstr "" +"Ce type de machine ne peut contenir que 16 résultats historiques par buse. " +"Vous pouvez supprimer les résultats historiques existants, puis lancer " +"l’étalonnage. Vous pouvez également poursuivre l’étalonnage, mais vous ne " +"pouvez pas créer de nouveaux résultats historiques d’étalonnage. \n" +"Souhaitez-vous toujours poursuivre le calibrage ?" msgid "Connecting to printer..." msgstr "Connexion à l’imprimante…" @@ -14410,6 +14676,8 @@ msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." msgstr "" +"Ce type de machine ne peut contenir que %d résultats historiques par buse. " +"Ce résultat ne sera pas enregistré." msgid "Internal Error" msgstr "Erreur interne" @@ -14475,9 +14743,9 @@ msgstr "" "Wiki.\n" "\n" "Habituellement, la calibration est inutile. Lorsque vous démarrez une " -"impression d'une seule couleur/matériau, avec l'option \"Calibration du débit" -"\" cochée dans le menu de démarrage de l'impression, l'imprimante suivra " -"l'ancienne méthode de calibration du filament avant l'impression.\n" +"impression d'une seule couleur/matériau, avec l'option \"Calibration du " +"débit\" cochée dans le menu de démarrage de l'impression, l'imprimante " +"suivra l'ancienne méthode de calibration du filament avant l'impression.\n" "Lorsque vous démarrez une impression multi-couleurs/matériaux, l'imprimante " "utilise le paramètre de compensation par défaut pour le filament lors de " "chaque changement de filament, ce qui donne un bon résultat dans la plupart " @@ -14817,12 +15085,13 @@ msgstr "Action" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." msgstr "" +"Ce type de machine ne peut contenir que %d résultats historiques par buse." msgid "Edit Flow Dynamics Calibration" msgstr "Editer la calibration dynamique du débit" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "Nouveau calibrage dynamique du débit" msgid "Ok" msgstr "" @@ -15255,8 +15524,8 @@ msgstr "" "Voulez-vous le réécrire ?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"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 "" "Nous renommerions les préréglages en « Vendor Type Serial @printer you " @@ -15909,30 +16178,47 @@ msgid "" "It has a small layer height, and results in almost negligible layer lines " "and high printing quality. It is suitable for most general printing cases." msgstr "" +"Sa faible hauteur de couche permet d’obtenir des lignes de couche presque " +"négligeables et une grande qualité d’impression. Il convient à la plupart " +"des cas d’impression générale." 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. So, it results in " "much higher printing quality, but a much longer printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,2 mm, la vitesse et " +"l’accélération sont plus faibles, et le motif de remplissage épars est " +"gyroïde. Il en résulte donc une qualité d’impression nettement supérieure, " +"mais un temps d’impression beaucoup plus long." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,2 mm, il présente une " +"hauteur de couche légèrement supérieure, ce qui se traduit par des lignes de " +"couche presque négligeables et un temps d’impression légèrement plus court." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " "height, and results in slightly visible layer lines, but shorter printing " "time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,2 mm, il présente une " +"hauteur de couche plus importante, ce qui se traduit par des lignes de " +"couche légèrement visibles, mais un temps d’impression plus court." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " "height, and results in almost invisible layer lines and higher printing " "quality, but shorter printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,2 mm, il présente une " +"hauteur de couche plus petite, ce qui permet d’obtenir des lignes de couche " +"presque invisibles et une qualité d’impression supérieure, mais aussi un " +"temps d’impression plus court." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -15940,12 +16226,21 @@ msgid "" "Gyroid. So, it results in almost invisible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,2 mm, il présente des " +"lignes de couche plus petites, des vitesses et des accélérations plus " +"faibles, et le motif de remplissage clairsemé est gyroïde. Il en résulte " +"donc des lignes de couche presque invisibles et une qualité d’impression " +"bien supérieure, mais un temps d’impression bien plus long." msgid "" "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " "height, and results in minimal layer lines and higher printing quality, but " "shorter printing time." msgstr "" +"Par rapport au profil par défaut de la buse de 0,2 mm, il présente une " +"hauteur de couche plus petite, ce qui se traduit par des lignes de couche " +"minimales et une qualité d’impression supérieure, mais aussi par un temps " +"d’impression plus court." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -15953,35 +16248,59 @@ msgid "" "Gyroid. So, it results in minimal layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,2 mm, il présente des " +"lignes de couche plus petites, des vitesses et des accélérations plus " +"faibles, et le motif de remplissage clairsemé est gyroïde. Il en résulte " +"donc des lignes de couche minimales et une qualité d’impression nettement " +"supérieure, mais un temps d’impression beaucoup plus long." msgid "" "It has a general layer height, and results in general layer lines and " "printing quality. It is suitable for most general printing cases." msgstr "" +"Il présente une hauteur de couche générale, ce qui se traduit par des lignes " +"de couche et une qualité d’impression générales. Il convient à la plupart " +"des cas d’impression générale." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,4 mm, il présente plus de " +"boucles de paroi et une densité de remplissage clairsemée plus élevée. Il en " +"résulte donc une plus grande solidité des impressions, mais une plus grande " +"consommation de filament et un temps d’impression plus long." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but slightly shorter printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,4 mm, il présente une " +"hauteur de couche plus importante, ce qui se traduit par des lignes de " +"couche plus apparentes et une qualité d’impression moindre, mais un temps " +"d’impression légèrement plus court." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,4 mm, il présente une " +"hauteur de couche plus importante, ce qui se traduit par des lignes de " +"couche plus apparentes et une qualité d’impression moindre, mais un temps " +"d’impression plus court." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,4 mm, il présente une " +"hauteur de couche plus petite, ce qui se traduit par des lignes de couche " +"moins apparentes et une meilleure qualité d’impression, mais un temps " +"d’impression plus long." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -15989,12 +16308,21 @@ msgid "" "Gyroid. So, it results in less apparent layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,4 mm, il présente une " +"hauteur de couche plus petite, des vitesses et des accélérations plus " +"faibles, et le motif de remplissage clairsemé est gyroïde. Il en résulte " +"donc des lignes de couche moins apparentes et une qualité d’impression " +"beaucoup plus élevée, mais un temps d’impression beaucoup plus long." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and higher printing " "quality, but longer printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,4 mm, il présente une " +"hauteur de couche plus petite, ce qui permet d’obtenir des lignes de couche " +"presque négligeables et une meilleure qualité d’impression, mais un temps " +"d’impression plus long." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -16002,64 +16330,106 @@ msgid "" "Gyroid. So, it results in almost negligible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,4 mm, il présente une " +"hauteur de couche plus petite, des vitesses et des accélérations plus " +"faibles, et le motif de remplissage clairsemé est gyroïde. Il en résulte " +"donc des lignes de couche presque négligeables et une qualité d’impression " +"bien supérieure, mais un temps d’impression bien plus long." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and longer printing " "time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,4 mm, il présente une " +"hauteur de couche plus petite, ce qui se traduit par des lignes de couche " +"presque négligeables et un temps d’impression plus long." msgid "" "It has a big layer height, and results in apparent layer lines and ordinary " "printing quality and printing time." msgstr "" +"La hauteur de couche est importante, ce qui se traduit par des lignes de " +"couche apparentes et une qualité et un temps d’impression ordinaires." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,6 mm, il présente plus de " +"boucles de paroi et une densité de remplissage clairsemée plus élevée. Il en " +"résulte donc une plus grande solidité des impressions, mais une plus grande " +"consommation de filament et un temps d’impression plus long." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time in some printing cases." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,6 mm, il présente une " +"hauteur de couche plus importante, ce qui se traduit par des lignes de " +"couche plus apparentes et une qualité d’impression moindre, mais un temps " +"d’impression plus court dans certains cas d’impression." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in much more apparent layer lines and much lower " "printing quality, but shorter printing time in some printing cases." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,6 mm, il présente une " +"hauteur de couche plus importante, ce qui se traduit par des lignes de " +"couche beaucoup plus apparentes et une qualité d’impression beaucoup plus " +"faible, mais un temps d’impression plus court dans certains cas d’impression." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and slight higher printing " "quality, but longer printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,6 mm, il présente une " +"hauteur de couche plus petite, ce qui se traduit par des lignes de couche " +"moins apparentes et une qualité d’impression légèrement supérieure, mais un " +"temps d’impression plus long." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,6 mm, il présente une " +"hauteur de couche plus petite, ce qui se traduit par des lignes de couche " +"moins apparentes et une meilleure qualité d’impression, mais un temps " +"d’impression plus long." msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" +"La hauteur des couches est très importante, ce qui se traduit par des lignes " +"de couche très apparentes, une qualité d’impression médiocre et un temps " +"d’impression général." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " "height, and results in very apparent layer lines and much lower printing " "quality, but shorter printing time in some printing cases." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,8 mm, il présente une " +"hauteur de couche plus importante, ce qui se traduit par des lignes de " +"couche très apparentes et une qualité d’impression nettement inférieure, " +"mais un temps d’impression plus court dans certains cas d’impression." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " "layer height, and results in extremely apparent layer lines and much lower " "printing quality, but much shorter printing time in some printing cases." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,8 mm, il présente une " +"hauteur de couche beaucoup plus importante, ce qui se traduit par des lignes " +"de couche extrêmement apparentes et une qualité d’impression beaucoup plus " +"faible, mais un temps d’impression beaucoup plus court dans certains cas " +"d’impression." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -16067,12 +16437,22 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,8 mm, il présente une " +"hauteur de couche légèrement inférieure, ce qui se traduit par des lignes de " +"couche légèrement moins nombreuses mais toujours apparentes et par une " +"qualité d’impression légèrement supérieure, mais par un temps d’impression " +"plus long dans certains cas d’impression." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " "height, and results in less but still apparent layer lines and slightly " "higher printing quality, but longer printing time in some printing cases." msgstr "" +"Par rapport au profil par défaut d’une buse de 0,8 mm, il présente une " +"hauteur de couche plus petite, ce qui se traduit par des lignes de couche " +"moins nombreuses mais toujours apparentes et une qualité d’impression " +"légèrement supérieure, mais un temps d’impression plus long dans certains " +"cas d’impression." msgid "Connected to Obico successfully!" msgstr "Connexion à Obico réussie !" @@ -16123,401 +16503,389 @@ msgstr "" msgid "User cancelled." msgstr "L’utilisateur a annulé." -#: resources/data/hints.ini: [hint:Precise wall] -msgid "" -"Precise wall\n" -"Did you know that turning on precise wall can improve precision and layer " -"consistency?" -msgstr "" -"Paroi précise\n" -"Saviez-vous que l’activation de la paroi précise peut améliorer la précision " -"et l’homogénéité des couches ?" +#~ msgid "Infill direction" +#~ msgstr "Sens de remplissage" -#: resources/data/hints.ini: [hint:Sandwich mode] -msgid "" -"Sandwich mode\n" -"Did 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 "" -"Mode sandwich\n" -"Saviez-vous que vous pouvez utiliser le mode sandwich (intérieur-extérieur-" -"intérieur) pour améliorer la précision et la cohérence des couches si votre " -"modèle n’a pas de porte-à-faux très prononcés ?" +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Activez cette option pour obtenir un fichier G-code contenant des " +#~ "mouvements G2 et G3. Et la tolérance d'ajustement est la même avec la " +#~ "résolution" -#: resources/data/hints.ini: [hint:Chamber temperature] -msgid "" -"Chamber temperature\n" -"Did you know that OrcaSlicer supports chamber temperature?" -msgstr "" -"Température de la chambre\n" -"Saviez-vous qu’OrcaSlicer prend en charge la température de la chambre ?" +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "La zone de remplissage est légèrement agrandie pour chevaucher la paroi " +#~ "afin d'améliorer l'adhérence. La valeur en pourcentage est relative à la " +#~ "largeur de ligne de remplissage." -#: resources/data/hints.ini: [hint:Calibration] -msgid "" -"Calibration\n" -"Did you know that calibrating your printer can do wonders? Check out our " -"beloved calibration solution in OrcaSlicer." -msgstr "" -"Calibrage\n" -"Saviez-vous que le calibrage de votre imprimante peut faire des merveilles ? " -"Découvrez notre solution de calibrage bien-aimée dans OrcaSlicer." +#~ msgid "" +#~ "Precise wall\n" +#~ "Did you know that turning on precise wall can improve precision and layer " +#~ "consistency?" +#~ msgstr "" +#~ "Paroi précise\n" +#~ "Saviez-vous que l’activation de la paroi précise peut améliorer la " +#~ "précision et l’homogénéité des couches ?" -#: resources/data/hints.ini: [hint:Auxiliary fan] -msgid "" -"Auxiliary fan\n" -"Did you know that OrcaSlicer supports Auxiliary part cooling fan?" -msgstr "" -"Ventilateur auxiliaire\n" -"Saviez-vous qu’OrcaSlicer prend en charge le ventilateur auxiliaire de " -"refroidissement des pièces ?" +#~ msgid "" +#~ "Sandwich mode\n" +#~ "Did 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 "" +#~ "Mode sandwich\n" +#~ "Saviez-vous que vous pouvez utiliser le mode sandwich (intérieur-" +#~ "extérieur-intérieur) pour améliorer la précision et la cohérence des " +#~ "couches si votre modèle n’a pas de porte-à-faux très prononcés ?" -#: resources/data/hints.ini: [hint:Air filtration] -msgid "" -"Air filtration/Exhaust Fan\n" -"Did you know that OrcaSlicer can support Air filtration/Exhaust Fan?" -msgstr "" -"Filtration de l’air/ventilateur d’extraction\n" -"Saviez-vous qu’OrcaSlicer peut prendre en charge la filtration de l’air/le " -"ventilateur d’extraction ?" +#~ msgid "" +#~ "Chamber temperature\n" +#~ "Did you know that OrcaSlicer supports chamber temperature?" +#~ msgstr "" +#~ "Température de la chambre\n" +#~ "Saviez-vous qu’OrcaSlicer prend en charge la température de la chambre ?" -#: resources/data/hints.ini: [hint:G-code window] -msgid "" -"G-code window\n" -"You can turn on/off the G-code window by pressing the C key." -msgstr "" -"Fenêtre de G-code\n" -"Vous pouvez activer/désactiver la fenêtre G-code en appuyant sur la touche " -"C." +#~ msgid "" +#~ "Calibration\n" +#~ "Did you know that calibrating your printer can do wonders? Check out our " +#~ "beloved calibration solution in OrcaSlicer." +#~ msgstr "" +#~ "Calibrage\n" +#~ "Saviez-vous que le calibrage de votre imprimante peut faire des " +#~ "merveilles ? Découvrez notre solution de calibrage bien-aimée dans " +#~ "OrcaSlicer." -#: resources/data/hints.ini: [hint:Switch workspaces] -msgid "" -"Switch workspaces\n" -"You can switch between Prepare and Preview workspaces by " -"pressing the Tab key." -msgstr "" -"Changer les espaces de travail\n" -"Vous pouvez alterner entre l’espace de travail Préparer et Aperçu en appuyant sur la touche Tab." +#~ msgid "" +#~ "Auxiliary fan\n" +#~ "Did you know that OrcaSlicer supports Auxiliary part cooling fan?" +#~ msgstr "" +#~ "Ventilateur auxiliaire\n" +#~ "Saviez-vous qu’OrcaSlicer prend en charge le ventilateur auxiliaire de " +#~ "refroidissement des pièces ?" -#: resources/data/hints.ini: [hint:How to use keyboard shortcuts] -msgid "" -"How to use keyboard shortcuts\n" -"Did you know that Orca Slicer offers a wide range of keyboard shortcuts and " -"3D scene operations." -msgstr "" -"Comment utiliser les raccourcis clavier\n" -"Saviez-vous qu’Orca Slicer offre une large gamme de raccourcis clavier et " -"d’opérations sur les scènes 3D." +#~ msgid "" +#~ "Air filtration/Exhaust Fan\n" +#~ "Did you know that OrcaSlicer can support Air filtration/Exhaust Fan?" +#~ msgstr "" +#~ "Filtration de l’air/ventilateur d’extraction\n" +#~ "Saviez-vous qu’OrcaSlicer peut prendre en charge la filtration de l’air/" +#~ "le ventilateur d’extraction ?" -#: resources/data/hints.ini: [hint:Reverse on odd] -msgid "" -"Reverse on odd\n" -"Did you know that Reverse on odd feature can significantly improve " -"the surface quality of your overhangs?" -msgstr "" -"Parois inversées sur couches impaires\n" -"Saviez-vous que la fonction Parois inversées sur couches impaires " -"peut améliorer de manière significative la qualité de la surface de vos " -"surplombs ?" +#~ msgid "" +#~ "G-code window\n" +#~ "You can turn on/off the G-code window by pressing the C key." +#~ msgstr "" +#~ "Fenêtre de G-code\n" +#~ "Vous pouvez activer/désactiver la fenêtre G-code en appuyant sur la " +#~ "touche C." -#: resources/data/hints.ini: [hint:Cut Tool] -msgid "" -"Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" -msgstr "" -"Outil de découpe\n" -"Saviez-vous que vous pouvez découper un modèle à n'importe quel angle et " -"dans n'importe quelle position avec l'outil de découpe ?" +#~ msgid "" +#~ "Switch workspaces\n" +#~ "You can switch between Prepare and Preview workspaces by " +#~ "pressing the Tab key." +#~ msgstr "" +#~ "Changer les espaces de travail\n" +#~ "Vous pouvez alterner entre l’espace de travail Préparer et " +#~ "Aperçu en appuyant sur la touche Tab." -#: resources/data/hints.ini: [hint:Fix Model] -msgid "" -"Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems on the Windows system?" -msgstr "" -"Réparer un modèle\n" -"Saviez-vous que vous pouvez réparer un modèle 3D corrompu pour éviter de " -"nombreux problèmes de découpage sur le système Windows ?" +#~ msgid "" +#~ "How to use keyboard shortcuts\n" +#~ "Did you know that Orca Slicer offers a wide range of keyboard shortcuts " +#~ "and 3D scene operations." +#~ msgstr "" +#~ "Comment utiliser les raccourcis clavier\n" +#~ "Saviez-vous qu’Orca Slicer offre une large gamme de raccourcis clavier et " +#~ "d’opérations sur les scènes 3D." -#: resources/data/hints.ini: [hint:Timelapse] -msgid "" -"Timelapse\n" -"Did you know that you can generate a timelapse video during each print?" -msgstr "" -"Timelapse\n" -"Saviez-vous que vous pouvez générer une vidéo en timelapse à chaque " -"impression ?" +#~ msgid "" +#~ "Reverse on odd\n" +#~ "Did you know that Reverse on odd feature can significantly improve " +#~ "the surface quality of your overhangs?" +#~ msgstr "" +#~ "Parois inversées sur couches impaires\n" +#~ "Saviez-vous que la fonction Parois inversées sur couches impaires " +#~ "peut améliorer de manière significative la qualité de la surface de vos " +#~ "surplombs ?" -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "" -"Auto-Arrange\n" -"Did you know that you can auto-arrange all objects in your project?" -msgstr "" -"Agencement Automatique\n" -"Saviez-vous que vous pouvez agencement automatiquement tous les objets de " -"votre projet ?" +#~ msgid "" +#~ "Cut Tool\n" +#~ "Did you know that you can cut a model at any angle and position with the " +#~ "cutting tool?" +#~ msgstr "" +#~ "Outil de découpe\n" +#~ "Saviez-vous que vous pouvez découper un modèle à n'importe quel angle et " +#~ "dans n'importe quelle position avec l'outil de découpe ?" -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "" -"Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" -msgstr "" -"Orientation Automatique\n" -"Saviez-vous que vous pouvez faire pivoter des objets dans une orientation " -"optimale pour l'impression d'un simple clic ?" +#~ msgid "" +#~ "Fix Model\n" +#~ "Did you know that you can fix a corrupted 3D model to avoid a lot of " +#~ "slicing problems on the Windows system?" +#~ msgstr "" +#~ "Réparer un modèle\n" +#~ "Saviez-vous que vous pouvez réparer un modèle 3D corrompu pour éviter de " +#~ "nombreux problèmes de découpage sur le système Windows ?" -#: resources/data/hints.ini: [hint:Lay on Face] -msgid "" -"Lay on Face\n" -"Did 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 "" -"Poser sur une face\n" -"Saviez-vous qu'il est possible d'orienter rapidement un modèle de manière à " -"ce que l'une de ses faces repose sur le plateau d'impression ? Sélectionnez " -"la fonction « Placer sur la face » ou appuyez sur la touche F." +#~ msgid "" +#~ "Timelapse\n" +#~ "Did you know that you can generate a timelapse video during each print?" +#~ msgstr "" +#~ "Timelapse\n" +#~ "Saviez-vous que vous pouvez générer une vidéo en timelapse à chaque " +#~ "impression ?" -#: resources/data/hints.ini: [hint:Object List] -msgid "" -"Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" -msgstr "" -"Liste d'objets\n" -"Saviez-vous que vous pouvez afficher tous les objets/pièces dans une liste " -"et modifier les paramètres de chaque objet/pièce ?" +#~ msgid "" +#~ "Auto-Arrange\n" +#~ "Did you know that you can auto-arrange all objects in your project?" +#~ msgstr "" +#~ "Agencement Automatique\n" +#~ "Saviez-vous que vous pouvez agencement automatiquement tous les objets de " +#~ "votre projet ?" -#: resources/data/hints.ini: [hint:Search Functionality] -msgid "" -"Search Functionality\n" -"Did you know that you use the Search tool to quickly find a specific Orca " -"Slicer setting?" -msgstr "" -"Fonctionnalité de recherche\n" -"Saviez-vous que vous pouvez utiliser l’outil de recherche pour trouver " -"rapidement un paramètre spécifique de l’Orca Slicer ?" +#~ msgid "" +#~ "Auto-Orient\n" +#~ "Did you know that you can rotate objects to an optimal orientation for " +#~ "printing by a simple click?" +#~ msgstr "" +#~ "Orientation Automatique\n" +#~ "Saviez-vous que vous pouvez faire pivoter des objets dans une orientation " +#~ "optimale pour l'impression d'un simple clic ?" -#: resources/data/hints.ini: [hint:Simplify Model] -msgid "" -"Simplify Model\n" -"Did 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 "" -"Simplifier le modèle\n" -"Saviez-vous que vous pouviez réduire le nombre de triangles dans un maillage " -"à l’aide de la fonction Simplifier le maillage ? Cliquez avec le bouton " -"droit de la souris sur le modèle et sélectionnez Simplifier le modèle." +#~ msgid "" +#~ "Lay on Face\n" +#~ "Did 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 "" +#~ "Poser sur une face\n" +#~ "Saviez-vous qu'il est possible d'orienter rapidement un modèle de manière " +#~ "à ce que l'une de ses faces repose sur le plateau d'impression ? " +#~ "Sélectionnez la fonction « Placer sur la face » ou appuyez sur la touche " +#~ "F." -#: resources/data/hints.ini: [hint:Slicing Parameter Table] -msgid "" -"Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" -msgstr "" -"Tableau des paramètres de découpe\n" -"Saviez-vous que vous pouvez afficher tous les objets/pièces sur un tableau " -"et modifier les paramètres de chaque objet/pièce ?" +#~ msgid "" +#~ "Object List\n" +#~ "Did you know that you can view all objects/parts in a list and change " +#~ "settings for each object/part?" +#~ msgstr "" +#~ "Liste d'objets\n" +#~ "Saviez-vous que vous pouvez afficher tous les objets/pièces dans une " +#~ "liste et modifier les paramètres de chaque objet/pièce ?" -#: resources/data/hints.ini: [hint:Split to Objects/Parts] -msgid "" -"Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" -msgstr "" -"Séparer en objets/parties\n" -"Saviez-vous que vous pouvez séparer un gros objet en petits objets pour les " -"colorier ou les imprimer facilement ?" +#~ msgid "" +#~ "Search Functionality\n" +#~ "Did you know that you use the Search tool to quickly find a specific Orca " +#~ "Slicer setting?" +#~ msgstr "" +#~ "Fonctionnalité de recherche\n" +#~ "Saviez-vous que vous pouvez utiliser l’outil de recherche pour trouver " +#~ "rapidement un paramètre spécifique de l’Orca Slicer ?" -#: resources/data/hints.ini: [hint:Subtract a Part] -msgid "" -"Subtract a Part\n" -"Did 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 "" -"Soustraire une pièce\n" -"Saviez-vous que vous pouviez soustraire un maillage d’un autre à l’aide du " -"modificateur de partie négative ? De cette façon, vous pouvez, par exemple, " -"créer des trous facilement redimensionnables directement dans Orca Slicer." +#~ msgid "" +#~ "Simplify Model\n" +#~ "Did 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 "" +#~ "Simplifier le modèle\n" +#~ "Saviez-vous que vous pouviez réduire le nombre de triangles dans un " +#~ "maillage à l’aide de la fonction Simplifier le maillage ? Cliquez avec le " +#~ "bouton droit de la souris sur le modèle et sélectionnez Simplifier le " +#~ "modèle." -#: resources/data/hints.ini: [hint:STEP] -msgid "" -"STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" -msgstr "" -"STEP\n" -"Saviez-vous que vous pouvez améliorer votre qualité d'impression en " -"découpant un fichier .step au lieu d'un .stl ?\n" -"Orca Slicer prend en charge le découpage des fichiers .step, offrant des " -"résultats plus fluides qu'un .stl de résolution inférieure. Essayez !" +#~ msgid "" +#~ "Slicing Parameter Table\n" +#~ "Did you know that you can view all objects/parts on a table and change " +#~ "settings for each object/part?" +#~ msgstr "" +#~ "Tableau des paramètres de découpe\n" +#~ "Saviez-vous que vous pouvez afficher tous les objets/pièces sur un " +#~ "tableau et modifier les paramètres de chaque objet/pièce ?" -#: resources/data/hints.ini: [hint:Z seam location] -msgid "" -"Z seam location\n" -"Did 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 "" -"Emplacement de la couture Z\n" -"Saviez-vous que vous pouvez personnaliser l'emplacement de la couture Z, et " -"même la peindre manuelle sur votre impression pour le placer dans un endroit " -"moins visible ? Cela améliore l'aspect général de votre modèle. Jetez-y un " -"coup d'œil !" +#~ msgid "" +#~ "Split to Objects/Parts\n" +#~ "Did you know that you can split a big object into small ones for easy " +#~ "colorizing or printing?" +#~ msgstr "" +#~ "Séparer en objets/parties\n" +#~ "Saviez-vous que vous pouvez séparer un gros objet en petits objets pour " +#~ "les colorier ou les imprimer facilement ?" -#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "" -"Fine-tuning for flow rate\n" -"Did 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 "" -"Réglage fin du débit\n" -"Saviez-vous que le débit peut être réglé avec précision pour obtenir des " -"impressions encore plus belles ? En fonction du matériau, vous pouvez " -"améliorer la finition générale du modèle imprimé en procédant à un réglage " -"fin." +#~ msgid "" +#~ "Subtract a Part\n" +#~ "Did 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 "" +#~ "Soustraire une pièce\n" +#~ "Saviez-vous que vous pouviez soustraire un maillage d’un autre à l’aide " +#~ "du modificateur de partie négative ? De cette façon, vous pouvez, par " +#~ "exemple, créer des trous facilement redimensionnables directement dans " +#~ "Orca Slicer." -#: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "" -"Split your prints into plates\n" -"Did 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 "" -"Divisez vos impressions en plateaux\n" -"Saviez-vous que vous pouvez diviser un modèle comportant de nombreuses " -"pièces en plateaux individuels prêts à être imprimés ? Cela simplifie le " -"processus de suivi de toutes les pièces." +#~ msgid "" +#~ "STEP\n" +#~ "Did you know that you can improve your print quality by slicing a STEP " +#~ "file instead of an STL?\n" +#~ "Orca Slicer supports slicing STEP files, providing smoother results than " +#~ "a lower resolution STL. Give it a try!" +#~ msgstr "" +#~ "STEP\n" +#~ "Saviez-vous que vous pouvez améliorer votre qualité d'impression en " +#~ "découpant un fichier .step au lieu d'un .stl ?\n" +#~ "Orca Slicer prend en charge le découpage des fichiers .step, offrant des " +#~ "résultats plus fluides qu'un .stl de résolution inférieure. Essayez !" -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] -msgid "" -"Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" -msgstr "" -"Accélérez votre impression grâce à la Hauteur de Couche Adaptative\n" -"Saviez-vous que vous pouvez imprimer un modèle encore plus rapidement en " -"utilisant l'option Adaptive Layer Height ? Jetez-y un coup d'œil !" +#~ msgid "" +#~ "Z seam location\n" +#~ "Did 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 "" +#~ "Emplacement de la couture Z\n" +#~ "Saviez-vous que vous pouvez personnaliser l'emplacement de la couture Z, " +#~ "et même la peindre manuelle sur votre impression pour le placer dans un " +#~ "endroit moins visible ? Cela améliore l'aspect général de votre modèle. " +#~ "Jetez-y un coup d'œil !" -#: resources/data/hints.ini: [hint:Support painting] -msgid "" -"Support painting\n" -"Did 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 "" -"Peinture de support\n" -"Saviez-vous que vous pouvez peindre l'emplacement de vos supports ? Cette " -"caractéristique permet de placer facilement le matériau de support " -"uniquement sur les sections du modèle qui en ont réellement besoin." +#~ msgid "" +#~ "Fine-tuning for flow rate\n" +#~ "Did 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 "" +#~ "Réglage fin du débit\n" +#~ "Saviez-vous que le débit peut être réglé avec précision pour obtenir des " +#~ "impressions encore plus belles ? En fonction du matériau, vous pouvez " +#~ "améliorer la finition générale du modèle imprimé en procédant à un " +#~ "réglage fin." -#: resources/data/hints.ini: [hint:Different types of supports] -msgid "" -"Different types of supports\n" -"Did 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 "" -"Différents types de supports\n" -"Saviez-vous que vous pouvez choisir parmi plusieurs types de supports ? Les " -"supports arborescents fonctionnent parfaitement pour les modèles organiques " -"tout en économisant du filament et en améliorant la vitesse d'impression. " -"Découvrez-les !" +#~ msgid "" +#~ "Split your prints into plates\n" +#~ "Did 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 "" +#~ "Divisez vos impressions en plateaux\n" +#~ "Saviez-vous que vous pouvez diviser un modèle comportant de nombreuses " +#~ "pièces en plateaux individuels prêts à être imprimés ? Cela simplifie le " +#~ "processus de suivi de toutes les pièces." -#: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "" -"Printing Silk Filament\n" -"Did 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 "" -"Impression de filament Soie\n" -"Saviez-vous que le filament soie nécessite une attention particulière pour " -"une impression réussie ? Une température plus élevée et une vitesse plus " -"faible sont toujours recommandées pour obtenir les meilleurs résultats." +#~ msgid "" +#~ "Speed up your print with Adaptive Layer Height\n" +#~ "Did you know that you can print a model even faster, by using the " +#~ "Adaptive Layer Height option? Check it out!" +#~ msgstr "" +#~ "Accélérez votre impression grâce à la Hauteur de Couche Adaptative\n" +#~ "Saviez-vous que vous pouvez imprimer un modèle encore plus rapidement en " +#~ "utilisant l'option Adaptive Layer Height ? Jetez-y un coup d'œil !" -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "" -"Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" -msgstr "" -"Bordure pour une meilleure adhésion\n" -"Saviez-vous que lorsque les modèles imprimés ont une faible interface de " -"contact avec la surface d'impression, il est recommandé d'utiliser une " -"bordure ?" +#~ msgid "" +#~ "Support painting\n" +#~ "Did 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 "" +#~ "Peinture de support\n" +#~ "Saviez-vous que vous pouvez peindre l'emplacement de vos supports ? Cette " +#~ "caractéristique permet de placer facilement le matériau de support " +#~ "uniquement sur les sections du modèle qui en ont réellement besoin." -#: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "" -"Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" -msgstr "" -"Définir les paramètres de plusieurs objets\n" -"Saviez-vous que vous pouvez définir des paramètres de découpe pour tous les " -"objets sélectionnés en une seule fois ?" +#~ msgid "" +#~ "Different types of supports\n" +#~ "Did 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 "" +#~ "Différents types de supports\n" +#~ "Saviez-vous que vous pouvez choisir parmi plusieurs types de supports ? " +#~ "Les supports arborescents fonctionnent parfaitement pour les modèles " +#~ "organiques tout en économisant du filament et en améliorant la vitesse " +#~ "d'impression. Découvrez-les !" -#: resources/data/hints.ini: [hint:Stack objects] -msgid "" -"Stack objects\n" -"Did you know that you can stack objects as a whole one?" -msgstr "" -"Empiler des objets\n" -"Saviez-vous que vous pouvez empiler des objets pour n'en former qu'un?" +#~ msgid "" +#~ "Printing Silk Filament\n" +#~ "Did 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 "" +#~ "Impression de filament Soie\n" +#~ "Saviez-vous que le filament soie nécessite une attention particulière " +#~ "pour une impression réussie ? Une température plus élevée et une vitesse " +#~ "plus faible sont toujours recommandées pour obtenir les meilleurs " +#~ "résultats." -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "" -"Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" -msgstr "" -"Purger dans les supports/les objets/le remplissage\n" -"Saviez-vous que vous pouvez réduire le filament gaspillé en le purgeant dans " -"les supports/les objets/le remplissage lors des changements de filament ?" +#~ msgid "" +#~ "Brim for better adhesion\n" +#~ "Did you know that when printing models have a small contact interface " +#~ "with the printing surface, it's recommended to use a brim?" +#~ msgstr "" +#~ "Bordure pour une meilleure adhésion\n" +#~ "Saviez-vous que lorsque les modèles imprimés ont une faible interface de " +#~ "contact avec la surface d'impression, il est recommandé d'utiliser une " +#~ "bordure ?" -#: resources/data/hints.ini: [hint:Improve strength] -msgid "" -"Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" -msgstr "" -"Améliorer la solidité\n" -"Saviez-vous que vous pouvez définir un plus grand nombre de périmètre et une " -"densité de remplissage plus élevée pour améliorer la résistance du modèle ?" +#~ msgid "" +#~ "Set parameters for multiple objects\n" +#~ "Did you know that you can set slicing parameters for all selected objects " +#~ "at one time?" +#~ msgstr "" +#~ "Définir les paramètres de plusieurs objets\n" +#~ "Saviez-vous que vous pouvez définir des paramètres de découpe pour tous " +#~ "les objets sélectionnés en une seule fois ?" -#: resources/data/hints.ini: [hint:When need to print with the printer door -#: opened] -msgid "" -"When need to print with the printer door opened\n" -"Did 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 "" -"Quand il faut imprimer avec la porte de l’imprimante ouverte\n" -"Saviez-vous que l’ouverture de la porte de l’imprimante peut réduire la " -"probabilité de blocage de l’extrudeuse/du réchauffeur lors de l’impression " -"de filament à basse température avec une température de boîtier plus élevée. " -"Plus d’informations à ce sujet dans le Wiki." +#~ msgid "" +#~ "Stack objects\n" +#~ "Did you know that you can stack objects as a whole one?" +#~ msgstr "" +#~ "Empiler des objets\n" +#~ "Saviez-vous que vous pouvez empiler des objets pour n'en former qu'un?" -#: resources/data/hints.ini: [hint:Avoid warping] -msgid "" -"Avoid warping\n" -"Did 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 "" -"Éviter la déformation\n" -"Saviez-vous que lors de l’impression de matériaux susceptibles de se " -"déformer, tels que l’ABS, une augmentation appropriée de la température du " -"plateau chauffant peut réduire la probabilité de déformation." +#~ msgid "" +#~ "Flush into support/objects/infill\n" +#~ "Did you know that you can save the wasted filament by flushing them into " +#~ "support/objects/infill during filament change?" +#~ msgstr "" +#~ "Purger dans les supports/les objets/le remplissage\n" +#~ "Saviez-vous que vous pouvez réduire le filament gaspillé en le purgeant " +#~ "dans les supports/les objets/le remplissage lors des changements de " +#~ "filament ?" + +#~ msgid "" +#~ "Improve strength\n" +#~ "Did you know that you can use more wall loops and higher sparse infill " +#~ "density to improve the strength of the model?" +#~ msgstr "" +#~ "Améliorer la solidité\n" +#~ "Saviez-vous que vous pouvez définir un plus grand nombre de périmètre et " +#~ "une densité de remplissage plus élevée pour améliorer la résistance du " +#~ "modèle ?" + +#~ msgid "" +#~ "When need to print with the printer door opened\n" +#~ "Did 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 "" +#~ "Quand il faut imprimer avec la porte de l’imprimante ouverte\n" +#~ "Saviez-vous que l’ouverture de la porte de l’imprimante peut réduire la " +#~ "probabilité de blocage de l’extrudeuse/du réchauffeur lors de " +#~ "l’impression de filament à basse température avec une température de " +#~ "boîtier plus élevée. Plus d’informations à ce sujet dans le Wiki." + +#~ msgid "" +#~ "Avoid warping\n" +#~ "Did 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 "" +#~ "Éviter la déformation\n" +#~ "Saviez-vous que lors de l’impression de matériaux susceptibles de se " +#~ "déformer, tels que l’ABS, une augmentation appropriée de la température " +#~ "du plateau chauffant peut réduire la probabilité de déformation." #~ msgid "Actions For Unsaved Changes" #~ msgstr "Actions pour les changements non enregistrés" @@ -16848,8 +17216,8 @@ msgstr "" #~ "thickness (top+bottom solid layers)" #~ msgstr "" #~ "Ajoutez du remplissage solide à proximité des surfaces inclinées pour " -#~ "garantir l'épaisseur verticale de la coque (couches solides supérieure" -#~ "+inférieure)." +#~ "garantir l'épaisseur verticale de la coque (couches solides " +#~ "supérieure+inférieure)." #~ msgid "Further reduce solid infill on walls (beta)" #~ msgstr "Réduire davantage le remplissage solide des parois (expérimental)" From 2bab56ab2b61cfd65b26f07b24b439ea70a922f4 Mon Sep 17 00:00:00 2001 From: A Koolen-Bourke Date: Mon, 20 May 2024 02:20:08 +1200 Subject: [PATCH 032/178] =?UTF-8?q?Added=20a=20deactivate()=20function=20t?= =?UTF-8?q?o=20Tab=20so=20when=20switching=20tabs=20it=20hides=20=E2=80=A6?= =?UTF-8?q?=20(#5386)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added a deactivate() function to Tab so when switching tabs it hides the active contents. Also removed clearing of the pages so it's not destroyed each time. Co-authored-by: SoftFever --- src/slic3r/GUI/Tab.cpp | 13 +++++++++++-- src/slic3r/GUI/Tab.hpp | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 2bd2f1ea551..595434a9be1 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -5199,6 +5199,10 @@ bool Tab::tree_sel_change_delayed(wxCommandEvent& event) if (m_active_page == page) return false; + if (m_active_page != nullptr) { + m_active_page->deactivate(); + } + m_active_page = page; auto throw_if_canceled = std::function([this](){ @@ -5216,8 +5220,6 @@ bool Tab::tree_sel_change_delayed(wxCommandEvent& event) try { m_page_view->Freeze(); - // clear pages from the controls - clear_pages(); throw_if_canceled(); //BBS: GUI refactor @@ -5922,6 +5924,13 @@ void Page::activate(ConfigOptionMode mode, std::function throw_if_cancel #endif } +void Page::deactivate() +{ + for (auto group : m_optgroups) { + group->Hide(); + } +} + void Page::clear() { for (auto group : m_optgroups) diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index 707e076aaa7..71f3e3ef229 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -104,6 +104,7 @@ public: void reload_config(); void update_visibility(ConfigOptionMode mode, bool update_contolls_visibility); void activate(ConfigOptionMode mode, std::function throw_if_canceled); + void deactivate(); void clear(); void msw_rescale(); void sys_color_changed(); From 1e9fe9bf1c0de748b1ed2ab3766fa1e6dd4bdf66 Mon Sep 17 00:00:00 2001 From: Dima Buzdyk <46728448+buzzhuzz@users.noreply.github.com> Date: Sun, 19 May 2024 19:27:25 +0500 Subject: [PATCH 033/178] Improve gcode preview navigation (#5326) * preview: home/end to move to start/end step of the layer Add HOME and END key action to preview tab which moves horizontal slider position to a first and last position respectively * preview: cross-layer gcode inspection Automatically advance gcode preview to the next layer when pressing right at the last step of the layer. Same for the first step of the layer: pressing 'left' will switch preview to the previous layer --- src/slic3r/GUI/GCodeViewer.cpp | 4 +- src/slic3r/GUI/GLCanvas3D.cpp | 60 +++++++++++++--------------- src/slic3r/GUI/KBShortcutsDialog.cpp | 4 +- 3 files changed, 32 insertions(+), 36 deletions(-) diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp index 235373db1d4..e2a4f00a56e 100644 --- a/src/slic3r/GUI/GCodeViewer.cpp +++ b/src/slic3r/GUI/GCodeViewer.cpp @@ -1732,12 +1732,14 @@ void GCodeViewer::update_moves_slider(bool set_to_max) ++count; } + bool keep_min = m_moves_slider->GetActiveValue() == m_moves_slider->GetMinValue(); + m_moves_slider->SetSliderValues(values); m_moves_slider->SetSliderAlternateValues(alternate_values); m_moves_slider->SetMaxValue(view.endpoints.last - view.endpoints.first); m_moves_slider->SetSelectionSpan(view.current.first - view.endpoints.first, view.current.last - view.endpoints.first); if (set_to_max) - m_moves_slider->SetHigherValue(m_moves_slider->GetMaxValue()); + m_moves_slider->SetHigherValue(keep_min ? m_moves_slider->GetMinValue() : m_moves_slider->GetMaxValue()); } void GCodeViewer::update_layers_slider_mode() diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 56fd990c3a5..c8e81f4452c 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2852,6 +2852,7 @@ void GLCanvas3D::load_gcode_preview(const GCodeProcessorResult& gcode_result, co m_gcode_viewer.init(wxGetApp().get_mode(), wxGetApp().preset_bundle); m_gcode_viewer.load(gcode_result, *this->fff_print(), wxGetApp().plater()->build_volume(), exclude_bounding_box, wxGetApp().get_mode(), only_gcode); + m_gcode_viewer.get_moves_slider()->SetHigherValue(m_gcode_viewer.get_moves_slider()->GetMaxValue()); if (wxGetApp().is_editor()) { //BBS: always load shell at preview, do this in load_shells @@ -3609,51 +3610,44 @@ void GLCanvas3D::on_key(wxKeyEvent& evt) if (m_canvas_type == CanvasPreview) { IMSlider *m_layers_slider = get_gcode_viewer().get_layers_slider(); IMSlider *m_moves_slider = get_gcode_viewer().get_moves_slider(); - if (evt.CmdDown() || evt.ShiftDown()) { - if (evt.GetKeyCode() == 'G') { - m_layers_slider->show_go_to_layer(true); - } - IMSlider *m_layers_slider = get_gcode_viewer().get_layers_slider(); - IMSlider *m_moves_slider = get_gcode_viewer().get_moves_slider(); - if (keyCode == WXK_UP || keyCode == WXK_DOWN) { - int new_pos; - if (m_layers_slider->GetSelection() == ssHigher) { - new_pos = keyCode == WXK_UP ? m_layers_slider->GetHigherValue() + 5 : m_layers_slider->GetHigherValue() - 5; - m_layers_slider->SetHigherValue(new_pos); - } - else if (m_layers_slider->GetSelection() == ssLower) { - new_pos = keyCode == WXK_UP ? m_layers_slider->GetLowerValue() + 5 : m_layers_slider->GetLowerValue() - 5; - m_layers_slider->SetLowerValue(new_pos); - } - if (m_layers_slider->is_one_layer()) m_layers_slider->SetLowerValue(m_layers_slider->GetHigherValue()); - // BBS set as dirty, update in render_gcode() - m_layers_slider->set_as_dirty(); - } else if (keyCode == WXK_LEFT || keyCode == WXK_RIGHT) { - const int new_pos = keyCode == WXK_RIGHT ? m_moves_slider->GetHigherValue() + 5 : m_moves_slider->GetHigherValue() - 5; - m_moves_slider->SetHigherValue(new_pos); - // BBS set as dirty, update in render_gcode() - m_moves_slider->set_as_dirty(); - } + int increment = (evt.CmdDown() || evt.ShiftDown()) ? 5 : 1; + if ((evt.CmdDown() || evt.ShiftDown()) && evt.GetKeyCode() == 'G') { + m_layers_slider->show_go_to_layer(true); } else if (keyCode == WXK_UP || keyCode == WXK_DOWN) { int new_pos; if (m_layers_slider->GetSelection() == ssHigher) { - new_pos = keyCode == WXK_UP ? m_layers_slider->GetHigherValue() + 1 : m_layers_slider->GetHigherValue() - 1; + new_pos = keyCode == WXK_UP ? m_layers_slider->GetHigherValue() + increment : m_layers_slider->GetHigherValue() - increment; m_layers_slider->SetHigherValue(new_pos); + m_moves_slider->SetHigherValue(m_moves_slider->GetMaxValue()); } else if (m_layers_slider->GetSelection() == ssLower) { - new_pos = keyCode == WXK_UP ? m_layers_slider->GetLowerValue() + 1 : m_layers_slider->GetLowerValue() - 1; + new_pos = keyCode == WXK_UP ? m_layers_slider->GetLowerValue() + increment : m_layers_slider->GetLowerValue() - increment; m_layers_slider->SetLowerValue(new_pos); } - if (m_layers_slider->is_one_layer()) m_layers_slider->SetLowerValue(m_layers_slider->GetHigherValue()); - // BBS set as dirty, update in render_gcode() - m_layers_slider->set_as_dirty(); - } else if (keyCode == WXK_LEFT || keyCode == WXK_RIGHT) { - const int new_pos = keyCode == WXK_RIGHT ? m_moves_slider->GetHigherValue() + 1 : m_moves_slider->GetHigherValue() - 1; + } else if (keyCode == WXK_LEFT) { + if (m_moves_slider->GetHigherValue() == m_moves_slider->GetMinValue() && (m_layers_slider->GetHigherValue() > m_layers_slider->GetMinValue())) { + m_layers_slider->SetHigherValue(m_layers_slider->GetHigherValue() - 1); + m_moves_slider->SetHigherValue(m_moves_slider->GetMaxValue()); + } else { + m_moves_slider->SetHigherValue(m_moves_slider->GetHigherValue() - increment); + } + } else if (keyCode == WXK_RIGHT) { + if (m_moves_slider->GetHigherValue() == m_moves_slider->GetMaxValue() && (m_layers_slider->GetHigherValue() < m_layers_slider->GetMaxValue())) { + m_layers_slider->SetHigherValue(m_layers_slider->GetHigherValue() + 1); + m_moves_slider->SetHigherValue(m_moves_slider->GetMinValue()); + } else { + m_moves_slider->SetHigherValue(m_moves_slider->GetHigherValue() + increment); + } + } else if (keyCode == WXK_HOME || keyCode == WXK_END) { + const int new_pos = keyCode == WXK_HOME ? m_moves_slider->GetMinValue() : m_moves_slider->GetMaxValue(); m_moves_slider->SetHigherValue(new_pos); - // BBS set as dirty, update in render_gcode() m_moves_slider->set_as_dirty(); } + + if (m_layers_slider->is_dirty() && m_layers_slider->is_one_layer()) + m_layers_slider->SetLowerValue(m_layers_slider->GetHigherValue()); + m_dirty = true; } } diff --git a/src/slic3r/GUI/KBShortcutsDialog.cpp b/src/slic3r/GUI/KBShortcutsDialog.cpp index 7ad3e36cacf..357a628cc7b 100644 --- a/src/slic3r/GUI/KBShortcutsDialog.cpp +++ b/src/slic3r/GUI/KBShortcutsDialog.cpp @@ -313,8 +313,8 @@ void KBShortcutsDialog::fill_shortcuts() {L("Ctrl+Any arrow"), L("Move slider 5x faster")}, {L("Ctrl+Mouse wheel"), L("Move slider 5x faster")}, #endif - - + { L("Home"), L("Horizontal slider - Move to start position")}, + { L("End"), L("Horizontal slider - Move to last position")}, }; m_full_shortcuts.push_back({ { _L("Preview"), "" }, preview_shortcuts }); } From e5318f809663599ee1570fe1663629515ea86440 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sun, 19 May 2024 23:05:13 +0800 Subject: [PATCH 034/178] fix a regression that select default page not working fixes #5309 --- src/slic3r/GUI/Plater.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 24b8f8f37fd..4ad01855b4d 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1268,7 +1268,7 @@ void Sidebar::update_all_preset_comboboxes() // Orca:: show device tab based on vendor type p_mainframe->show_device(use_bbl_network); - p_mainframe->select_tab(MainFrame::tp3DEditor); + p_mainframe->m_tabpanel->SetSelection(p_mainframe->m_tabpanel->GetSelection()); } void Sidebar::update_presets(Preset::Type preset_type) From ec88f394092f805f53af50d8d8e74c1268e95e4f Mon Sep 17 00:00:00 2001 From: yw4z Date: Sun, 19 May 2024 18:52:34 +0300 Subject: [PATCH 035/178] Fix parameters not updating on non active tabs (#5400) --- src/slic3r/GUI/Tab.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 595434a9be1..b9a9f139b88 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1172,8 +1172,10 @@ void Tab::load_config(const DynamicPrintConfig& config) // Reload current $self->{config} (aka $self->{presets}->edited_preset->config) into the UI fields. void Tab::reload_config() { - if (m_active_page) - m_active_page->reload_config(); + //if (m_active_page) + // m_active_page->reload_config(); + for (auto page : m_pages) + page->reload_config(); } void Tab::update_mode() From 6564340a49a5e3b02d87a0ecdae28f1f514dec0f Mon Sep 17 00:00:00 2001 From: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com> Date: Mon, 20 May 2024 12:04:13 +0100 Subject: [PATCH 036/178] Implemented minimum skirt extrusion length and draft shield parameter (#5356) * Implemented minimum skirt extrusion length parameter * Enabled draft shield option * Update Tab.cpp * Updated draft shield to be visible in the Advanced mode --------- Co-authored-by: SoftFever --- src/libslic3r/GCode.cpp | 14 ++++++++------ src/libslic3r/Preset.cpp | 2 +- src/libslic3r/Print.cpp | 10 ++++++---- src/libslic3r/Print.hpp | 3 ++- src/libslic3r/PrintConfig.cpp | 26 +++++++++++++++++++------- src/libslic3r/PrintConfig.hpp | 1 + src/slic3r/GUI/Plater.cpp | 2 +- src/slic3r/GUI/Tab.cpp | 7 +++++-- 8 files changed, 43 insertions(+), 22 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index f65fabe5aad..71614cda043 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -3452,13 +3452,15 @@ namespace Skirt { size_t lines_per_extruder = (n_loops + n_tools - 1) / n_tools; // BBS. Extrude skirt with first extruder if min_skirt_length is zero - const PrintConfig &config = print.config(); - if (Print::min_skirt_length < EPSILON) { + //ORCA: Always extrude skirt with first extruder, independantly of if the minimum skirt length is zero or not. The code below + // is left as a placeholder for when a multiextruder support is implemented. Then we will need to extrude the skirt loops for each extruder. + //const PrintConfig &config = print.config(); + //if (config.min_skirt_length.value < EPSILON) { skirt_loops_per_extruder_out[layer_tools.extruders.front()] = std::pair(0, n_loops); - } else { - for (size_t i = 0; i < n_loops; i += lines_per_extruder) - skirt_loops_per_extruder_out[layer_tools.extruders[i / lines_per_extruder]] = std::pair(i, std::min(i + lines_per_extruder, n_loops)); - } + //} else { + // for (size_t i = 0; i < n_loops; i += lines_per_extruder) + // skirt_loops_per_extruder_out[layer_tools.extruders[i / lines_per_extruder]] = std::pair(i, std::min(i + lines_per_extruder, n_loops)); + //} } static std::map> make_skirt_loops_per_extruder_1st_layer( diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 826358f0b13..b766a160218 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -781,7 +781,7 @@ static std::vector s_Preset_print_options { "inner_wall_speed", "outer_wall_speed", "sparse_infill_speed", "internal_solid_infill_speed", "top_surface_speed", "support_speed", "support_object_xy_distance", "support_interface_speed", "bridge_speed", "internal_bridge_speed", "gap_infill_speed", "travel_speed", "travel_speed_z", "initial_layer_speed", - "outer_wall_acceleration", "initial_layer_acceleration", "top_surface_acceleration", "default_acceleration", "skirt_loops", "skirt_speed", "skirt_distance", "skirt_height", "draft_shield", + "outer_wall_acceleration", "initial_layer_acceleration", "top_surface_acceleration", "default_acceleration", "skirt_loops", "skirt_speed","min_skirt_length", "skirt_distance", "skirt_height", "draft_shield", "brim_width", "brim_object_gap", "brim_type", "brim_ears_max_angle", "brim_ears_detection_length", "enable_support", "support_type", "support_threshold_angle", "enforce_support_layers", "raft_layers", "raft_first_layer_density", "raft_first_layer_expansion", "raft_contact_distance", "raft_expansion", "support_base_pattern", "support_base_pattern_spacing", "support_expansion", "support_style", diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 2522926f1e5..46918088eda 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -76,7 +76,8 @@ PrintRegion::PrintRegion(const PrintRegionConfig &config) : PrintRegion(config, PrintRegion::PrintRegion(PrintRegionConfig &&config) : PrintRegion(std::move(config), config.hash()) {} //BBS -float Print::min_skirt_length = 0; +// ORCA: Now this is a parameter +//float Print::min_skirt_length = 0; void Print::clear() { @@ -239,6 +240,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n opt_key == "skirt_loops" || opt_key == "skirt_speed" || opt_key == "skirt_height" + || opt_key == "min_skirt_length" || opt_key == "draft_shield" || opt_key == "skirt_distance" || opt_key == "ooze_prevention" @@ -2331,15 +2333,15 @@ void Print::_make_skirt() ))); eloop.paths.back().polyline = loop.split_at_first_point(); m_skirt.append(eloop); - if (Print::min_skirt_length > 0) { + if (m_config.min_skirt_length.value > 0) { // The skirt length is limited. Sum the total amount of filament length extruded, in mm. extruded_length[extruder_idx] += unscale(loop.length()) * extruders_e_per_mm[extruder_idx]; - if (extruded_length[extruder_idx] < Print::min_skirt_length) { + if (extruded_length[extruder_idx] < m_config.min_skirt_length.value) { // Not extruded enough yet with the current extruder. Add another loop. if (i == 1) ++ i; } else { - assert(extruded_length[extruder_idx] >= Print::min_skirt_length); + assert(extruded_length[extruder_idx] >= m_config.min_skirt_length.value); // Enough extruded with the current extruder. Extrude with the next one, // until the prescribed number of skirt loops is extruded. if (extruder_idx + 1 < extruders.size()) diff --git a/src/libslic3r/Print.hpp b/src/libslic3r/Print.hpp index f48466e575d..23a3a001591 100644 --- a/src/libslic3r/Print.hpp +++ b/src/libslic3r/Print.hpp @@ -1027,7 +1027,8 @@ private: public: //BBS: this was a print config and now seems to be useless so we move it to here - static float min_skirt_length; + // ORCA: parameter below is now back to being a user option (min_skirt_length) + //static float min_skirt_length; }; diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 29eeba5ae60..c07553503e5 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3802,12 +3802,14 @@ def = this->add("filament_loading_speed", coFloats); def->set_default_value(new ConfigOptionInt(1)); def = this->add("draft_shield", coEnum); - //def->label = L("Draft shield"); - def->label = "Draft shield"; - //def->tooltip = L("With draft shield active, the skirt will be printed skirt_distance from the object, possibly intersecting brim.\n" - // "Enabled = skirt is as tall as the highest printed object.\n" - // "Limited = skirt is as tall as specified by skirt_height.\n" - // "This is useful to protect an ABS or ASA print from warping and detaching from print bed due to wind draft."); + def->label = L("Draft shield"); + def->tooltip = L("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" + "Options:\n" + "Enabled = skirt is as tall as the highest printed object.\n" + "Limited = skirt is as tall as specified by skirt height.\n\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"); def->enum_keys_map = &ConfigOptionEnum::get_enum_values(); def->enum_values.push_back("disabled"); def->enum_values.push_back("limited"); @@ -3815,7 +3817,7 @@ def = this->add("filament_loading_speed", coFloats); def->enum_labels.push_back("Disabled"); def->enum_labels.push_back("Limited"); def->enum_labels.push_back("Enabled"); - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionEnum(dsDisabled)); def = this->add("skirt_loops", coInt); @@ -3835,6 +3837,16 @@ def = this->add("filament_loading_speed", coFloats); def->sidetext = L("mm/s"); def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloat(50.0)); + + def = this->add("min_skirt_length", coFloat); + def->label = L("Skirt minimum extrusion length"); + def->full_label = L("Skirt minimum extrusion length"); + def->tooltip = L("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."); + def->min = 0; + def->sidetext = L("mm"); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionFloat(0.0)); def = this->add("slow_down_layer_time", coFloats); def->label = L("Layer time"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 9d6c88a2b82..836d326e7d5 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -1215,6 +1215,7 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE( ((ConfigOptionInt, skirt_height)) ((ConfigOptionInt, skirt_loops)) ((ConfigOptionFloat, skirt_speed)) + ((ConfigOptionFloat, min_skirt_length)) ((ConfigOptionFloats, slow_down_layer_time)) ((ConfigOptionBool, spiral_mode)) ((ConfigOptionBool, spiral_mode_smooth)) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 4ad01855b4d..9a7de192ff2 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2698,7 +2698,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) , config(Slic3r::DynamicPrintConfig::new_from_defaults_keys({ "printable_area", "bed_exclude_area", "bed_custom_texture", "bed_custom_model", "print_sequence", "extruder_clearance_radius", "extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod", - "nozzle_height", "skirt_loops", "skirt_speed", "skirt_distance", + "nozzle_height", "skirt_loops", "skirt_speed","min_skirt_length", "skirt_distance", "brim_width", "brim_object_gap", "brim_type", "nozzle_diameter", "single_extruder_multi_material", "preferred_orientation", "enable_prime_tower", "wipe_tower_x", "wipe_tower_y", "prime_tower_width", "prime_tower_brim_width", "prime_volume", "extruder_colour", "filament_colour", "material_colour", "printable_height", "printer_model", "printer_technology", diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index b9a9f139b88..0bee4aa8a07 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2269,12 +2269,15 @@ void TabPrint::build() optgroup->append_single_option_line("tree_support_brim_width"); page = add_options_page(L("Others"), "advanced"); - optgroup = page->new_optgroup(L("Bed adhension"), L"param_adhension"); + optgroup = page->new_optgroup(L("Skirt"), L"param_adhension"); optgroup->append_single_option_line("skirt_loops"); + optgroup->append_single_option_line("min_skirt_length"); optgroup->append_single_option_line("skirt_distance"); optgroup->append_single_option_line("skirt_height"); optgroup->append_single_option_line("skirt_speed"); - //optgroup->append_single_option_line("draft_shield"); + optgroup->append_single_option_line("draft_shield"); + + optgroup = page->new_optgroup(L("Brim"), L"param_adhension"); optgroup->append_single_option_line("brim_type", "auto-brim"); optgroup->append_single_option_line("brim_width", "auto-brim#manual"); optgroup->append_single_option_line("brim_object_gap", "auto-brim#brim-object-gap"); From 5ee9a67be9ed454b08e923f191e7f2053558483c Mon Sep 17 00:00:00 2001 From: KrisMorr <154343071+KrisMorr@users.noreply.github.com> Date: Mon, 20 May 2024 13:06:02 +0200 Subject: [PATCH 037/178] fix_c-format->>-no-c-format (#5403) --- src/libslic3r/PrintConfig.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index c07553503e5..bdc0938511b 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -2684,6 +2684,7 @@ def = this->add("filament_loading_speed", coFloats); def = this->add("infill_wall_overlap", coPercent); def->label = L("Infill/Wall overlap"); def->category = L("Strength"); + // xgettext:no-c-format, no-boost-format def->tooltip = L("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."); def->sidetext = L("%"); def->ratio_over = "inner_wall_line_width"; @@ -2693,6 +2694,7 @@ def = this->add("filament_loading_speed", coFloats); def = this->add("top_bottom_infill_wall_overlap", coPercent); def->label = L("Top/Bottom solid infill/wall overlap"); def->category = L("Strength"); + // xgettext:no-c-format, no-boost-format def->tooltip = L("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, minimising the appearance of pinholes. The percentage value is relative to line width of sparse infill"); def->sidetext = L("%"); def->ratio_over = "inner_wall_line_width"; From 9bed99a59bdba5f3780c62c5a147f4237aa18521 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Mon, 20 May 2024 20:30:57 +0800 Subject: [PATCH 038/178] Revert "Fix parameters not updating on non active tabs (#5400)" This reverts commit 3f83d68e0ed7991cd41d17afff8794b19764a975. --- src/slic3r/GUI/Tab.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 0bee4aa8a07..fb422b595bd 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1172,10 +1172,8 @@ void Tab::load_config(const DynamicPrintConfig& config) // Reload current $self->{config} (aka $self->{presets}->edited_preset->config) into the UI fields. void Tab::reload_config() { - //if (m_active_page) - // m_active_page->reload_config(); - for (auto page : m_pages) - page->reload_config(); + if (m_active_page) + m_active_page->reload_config(); } void Tab::update_mode() From 193630656ab3e66eb499c0a55f13d0843c9d3180 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Mon, 20 May 2024 20:31:09 +0800 Subject: [PATCH 039/178] =?UTF-8?q?Revert=20"Added=20a=20deactivate()=20fu?= =?UTF-8?q?nction=20to=20Tab=20so=20when=20switching=20tabs=20it=20hides?= =?UTF-8?q?=20=E2=80=A6=20(#5386)"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 7a335590e2770679876a898f1a4a0c3dc6ddeccf. --- src/slic3r/GUI/Tab.cpp | 13 ++----------- src/slic3r/GUI/Tab.hpp | 1 - 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index fb422b595bd..cf0df73a898 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -5202,10 +5202,6 @@ bool Tab::tree_sel_change_delayed(wxCommandEvent& event) if (m_active_page == page) return false; - if (m_active_page != nullptr) { - m_active_page->deactivate(); - } - m_active_page = page; auto throw_if_canceled = std::function([this](){ @@ -5223,6 +5219,8 @@ bool Tab::tree_sel_change_delayed(wxCommandEvent& event) try { m_page_view->Freeze(); + // clear pages from the controls + clear_pages(); throw_if_canceled(); //BBS: GUI refactor @@ -5927,13 +5925,6 @@ void Page::activate(ConfigOptionMode mode, std::function throw_if_cancel #endif } -void Page::deactivate() -{ - for (auto group : m_optgroups) { - group->Hide(); - } -} - void Page::clear() { for (auto group : m_optgroups) diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index 71f3e3ef229..707e076aaa7 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -104,7 +104,6 @@ public: void reload_config(); void update_visibility(ConfigOptionMode mode, bool update_contolls_visibility); void activate(ConfigOptionMode mode, std::function throw_if_canceled); - void deactivate(); void clear(); void msw_rescale(); void sys_color_changed(); From c3db8684d4531cfdcb00fa10be36bd72626335e2 Mon Sep 17 00:00:00 2001 From: yw4z Date: Mon, 20 May 2024 18:18:05 +0300 Subject: [PATCH 040/178] Fixes for new icons (#5221) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Sidebar > Height range > Add / Delete range icons * Add icon for Object list > Layers (Height Range) * Add icon for Object list > Range (Hight Range item) * Add icon for Object list > Support / Color painting * File Renamed for Calibration Tab * Update Sidebar icons * Add icon for CrossHatch fill pattern * Delete leftover icons from previous commit * Update Filament Settings icons * Update Machine Settings icons * Update plaholders editor icons * Fix for Printer Setting > Extruder icons and Add support for icons for its tabs * Update undefined category icon on compare window with low res compatible one * Update toolbar > variable layer height icon * Fix warning icon on Emboss & SVG gizmo * Delete leftover icons from previous commit * Gizmos > Keyboard cheat sheet icon resolution fix * Combo box arrow resolution fix * Delete leftover icons from previous commit * Update plate & toolbar icons * Fix: ComboBox > Dropdown menu checkmark not visible on light theme * Delete leftover icons from previous commit * Restore icons for plate rename * Swap directions of notification expand / collapse icons * Mixed • Increases contrast of icons on light theme • Removes opacity from edit, delete, search... icons • Fixes different color for advanced toggle on dark mode • Fixes checkboxes not aligned with other boxes • Style fixes for checkboxes * Fix some colors not changing * Slightly changed color paint icon Spray icon is now taller and fits better with brush icon on seam / support paint * Minor changes on seam and support related icons * Fix blurry icons that vertically centered on gizmos * Update warning icon on dialogs * Fix plate icons rendering issue * Update icons for Gap fill and Fill on color paint and add icon for Skirt --------- Co-authored-by: SoftFever --- resources/images/add.svg | 2 +- resources/images/add_copies.svg | 2 +- resources/images/check_half.svg | 2 +- resources/images/check_half_disabled.svg | 2 +- resources/images/check_half_focused.svg | 2 +- resources/images/check_off.svg | 2 +- resources/images/check_off_disabled.svg | 2 +- resources/images/check_off_focused.svg | 2 +- resources/images/check_on.svg | 2 +- resources/images/check_on_disabled.svg | 2 +- resources/images/check_on_focused.svg | 2 +- resources/images/checked.svg | 2 +- resources/images/cross.svg | 2 +- resources/images/custom-gcode_support.svg | 2 +- resources/images/cut_circle.svg | 1 - resources/images/cut_circle_dark.svg | 1 - resources/images/cut_hexagon.svg | 1 - resources/images/cut_hexagon_dark.svg | 1 - resources/images/cut_square.svg | 1 - resources/images/cut_square_dark.svg | 1 - resources/images/cut_triangle.svg | 1 - resources/images/cut_triangle_dark.svg | 1 - resources/images/delete.svg | 2 +- resources/images/drop_down.svg | 2 +- resources/images/edit.svg | 2 +- resources/images/edit_button.svg | 2 +- resources/images/fill_paint.svg | 2 +- resources/images/fill_paint_dark.svg | 2 +- resources/images/gap_fill.svg | 2 +- resources/images/gap_fill_dark.svg | 2 +- resources/images/measure_edit.svg | 1 - resources/images/mesh_boolean_a.svg | 1 - resources/images/mesh_boolean_b.svg | 1 - resources/images/mesh_boolean_difference.svg | 1 - .../images/mesh_boolean_difference_dark.svg | 1 - .../images/mesh_boolean_intersection.svg | 1 - .../images/mesh_boolean_intersection_dark.svg | 1 - resources/images/mesh_boolean_keep.svg | 1 - resources/images/mesh_boolean_subtract.svg | 1 - resources/images/mesh_boolean_union.svg | 1 - resources/images/mesh_boolean_union_dark.svg | 1 - resources/images/mmu_segmentation.svg | 2 +- resources/images/mmu_segmentation_dark.svg | 2 +- resources/images/notification_collapse.svg | 2 +- resources/images/notification_expand.svg | 2 +- resources/images/objlist_seam_painting.svg | 2 +- resources/images/objlist_support_painting.svg | 2 +- resources/images/param_crosshatch.svg | 571 +----------------- resources/images/param_default-pattern.svg | 1 - resources/images/param_seam.svg | 2 +- resources/images/param_search.svg | 1 - resources/images/param_skirt.svg | 1 + resources/images/param_support.svg | 2 +- resources/images/plate_arrange.svg | 2 +- resources/images/plate_arrange_dark.svg | 2 +- resources/images/plate_arrange_hover.svg | 2 +- resources/images/plate_arrange_hover_dark.svg | 2 +- resources/images/plate_close.svg | 2 +- resources/images/plate_close_dark.svg | 2 +- resources/images/plate_close_hover.svg | 2 +- resources/images/plate_close_hover_dark.svg | 2 +- resources/images/plate_locked.svg | 2 +- resources/images/plate_locked_dark.svg | 2 +- resources/images/plate_locked_hover.svg | 2 +- resources/images/plate_locked_hover_dark.svg | 2 +- resources/images/plate_name_edit.svg | 2 +- resources/images/plate_name_edit_dark.svg | 2 +- resources/images/plate_name_edit_hover.svg | 2 +- .../images/plate_name_edit_hover_dark.svg | 2 +- resources/images/plate_orient.svg | 2 +- resources/images/plate_orient_dark.svg | 2 +- resources/images/plate_orient_hover.svg | 2 +- resources/images/plate_orient_hover_dark.svg | 2 +- resources/images/plate_settings.svg | 2 +- resources/images/plate_settings_changed.svg | 2 +- .../images/plate_settings_changed_dark.svg | 2 +- .../images/plate_settings_changed_hover.svg | 2 +- .../plate_settings_changed_hover_dark.svg | 2 +- resources/images/plate_settings_dark.svg | 2 +- resources/images/plate_settings_hover.svg | 2 +- .../images/plate_settings_hover_dark.svg | 2 +- resources/images/plate_unlocked.svg | 2 +- resources/images/plate_unlocked_dark.svg | 2 +- resources/images/plate_unlocked_hover.svg | 2 +- .../images/plate_unlocked_hover_dark.svg | 2 +- resources/images/save.svg | 2 +- resources/images/search.svg | 2 +- resources/images/tab_calibration.svg | 1 - resources/images/tab_calibration_active.svg | 5 +- resources/images/toolbar_flatten.svg | 7 +- resources/images/toolbar_flatten_dark.svg | 7 +- resources/images/toolbar_orient.svg | 11 +- resources/images/toolbar_orient_dark.svg | 11 +- resources/images/toolbar_seam.svg | 2 +- resources/images/toolbar_seam_dark.svg | 2 +- resources/images/toolbar_support.svg | 2 +- resources/images/toolbar_support_dark.svg | 2 +- .../images/toolbar_variable_layer_height.svg | 8 +- .../toolbar_variable_layer_height_dark.svg | 8 +- resources/images/topbar_blank.svg | 1 - src/slic3r/GUI/BitmapCache.cpp | 9 + src/slic3r/GUI/EditGCodeDialog.cpp | 15 +- src/slic3r/GUI/GLCanvas3D.cpp | 6 +- src/slic3r/GUI/GUI_ObjectLayers.cpp | 4 +- src/slic3r/GUI/Gizmos/GLGizmoCut.cpp | 6 +- src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp | 2 +- src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp | 6 +- src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp | 6 +- .../GUI/Gizmos/GLGizmoMmuSegmentation.cpp | 6 +- src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp | 2 +- src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp | 6 +- src/slic3r/GUI/Gizmos/GLGizmosManager.cpp | 4 +- src/slic3r/GUI/IconManager.cpp | 2 +- src/slic3r/GUI/MsgDialog.cpp | 2 +- src/slic3r/GUI/ObjectDataViewModel.cpp | 8 +- src/slic3r/GUI/OptionsGroup.hpp | 4 +- src/slic3r/GUI/Tab.cpp | 96 +-- src/slic3r/GUI/UnsavedChangesDialog.cpp | 2 +- 118 files changed, 179 insertions(+), 795 deletions(-) delete mode 100644 resources/images/cut_circle.svg delete mode 100644 resources/images/cut_circle_dark.svg delete mode 100644 resources/images/cut_hexagon.svg delete mode 100644 resources/images/cut_hexagon_dark.svg delete mode 100644 resources/images/cut_square.svg delete mode 100644 resources/images/cut_square_dark.svg delete mode 100644 resources/images/cut_triangle.svg delete mode 100644 resources/images/cut_triangle_dark.svg delete mode 100644 resources/images/measure_edit.svg delete mode 100644 resources/images/mesh_boolean_a.svg delete mode 100644 resources/images/mesh_boolean_b.svg delete mode 100644 resources/images/mesh_boolean_difference.svg delete mode 100644 resources/images/mesh_boolean_difference_dark.svg delete mode 100644 resources/images/mesh_boolean_intersection.svg delete mode 100644 resources/images/mesh_boolean_intersection_dark.svg delete mode 100644 resources/images/mesh_boolean_keep.svg delete mode 100644 resources/images/mesh_boolean_subtract.svg delete mode 100644 resources/images/mesh_boolean_union.svg delete mode 100644 resources/images/mesh_boolean_union_dark.svg delete mode 100644 resources/images/param_default-pattern.svg delete mode 100644 resources/images/param_search.svg create mode 100644 resources/images/param_skirt.svg delete mode 100644 resources/images/tab_calibration.svg delete mode 100644 resources/images/topbar_blank.svg diff --git a/resources/images/add.svg b/resources/images/add.svg index 351f830b6c5..cbaa7056fb6 100644 --- a/resources/images/add.svg +++ b/resources/images/add.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/add_copies.svg b/resources/images/add_copies.svg index a491ba51e55..a1af9f8389f 100644 --- a/resources/images/add_copies.svg +++ b/resources/images/add_copies.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/check_half.svg b/resources/images/check_half.svg index 78560b10726..0e543a7773d 100644 --- a/resources/images/check_half.svg +++ b/resources/images/check_half.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/check_half_disabled.svg b/resources/images/check_half_disabled.svg index a0b23696bbc..97feb9dc914 100644 --- a/resources/images/check_half_disabled.svg +++ b/resources/images/check_half_disabled.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/check_half_focused.svg b/resources/images/check_half_focused.svg index 1faea574618..f0fa31276c5 100644 --- a/resources/images/check_half_focused.svg +++ b/resources/images/check_half_focused.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/check_off.svg b/resources/images/check_off.svg index b56c4abc248..1bd142b66ac 100644 --- a/resources/images/check_off.svg +++ b/resources/images/check_off.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/check_off_disabled.svg b/resources/images/check_off_disabled.svg index d4c14ca6d0a..8c4818d2043 100644 --- a/resources/images/check_off_disabled.svg +++ b/resources/images/check_off_disabled.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/check_off_focused.svg b/resources/images/check_off_focused.svg index 39fdb07e634..ea1e1bdbdc8 100644 --- a/resources/images/check_off_focused.svg +++ b/resources/images/check_off_focused.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/check_on.svg b/resources/images/check_on.svg index 43ef314cd35..e4d1caa369b 100644 --- a/resources/images/check_on.svg +++ b/resources/images/check_on.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/check_on_disabled.svg b/resources/images/check_on_disabled.svg index 5ed3987438f..35e6d0b9264 100644 --- a/resources/images/check_on_disabled.svg +++ b/resources/images/check_on_disabled.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/check_on_focused.svg b/resources/images/check_on_focused.svg index 1b93469bf48..5b5f2f25912 100644 --- a/resources/images/check_on_focused.svg +++ b/resources/images/check_on_focused.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/checked.svg b/resources/images/checked.svg index 6fed74863a1..1d0369da744 100644 --- a/resources/images/checked.svg +++ b/resources/images/checked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/cross.svg b/resources/images/cross.svg index 2e36702da21..a8598bdf7d9 100644 --- a/resources/images/cross.svg +++ b/resources/images/cross.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/custom-gcode_support.svg b/resources/images/custom-gcode_support.svg index f53dd207fb7..b34d3a7f855 100644 --- a/resources/images/custom-gcode_support.svg +++ b/resources/images/custom-gcode_support.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/cut_circle.svg b/resources/images/cut_circle.svg deleted file mode 100644 index a222aaa8345..00000000000 --- a/resources/images/cut_circle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/cut_circle_dark.svg b/resources/images/cut_circle_dark.svg deleted file mode 100644 index 0acbcf4c3cf..00000000000 --- a/resources/images/cut_circle_dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/cut_hexagon.svg b/resources/images/cut_hexagon.svg deleted file mode 100644 index 282ce14ea31..00000000000 --- a/resources/images/cut_hexagon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/cut_hexagon_dark.svg b/resources/images/cut_hexagon_dark.svg deleted file mode 100644 index 1ee6d0bc6e1..00000000000 --- a/resources/images/cut_hexagon_dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/cut_square.svg b/resources/images/cut_square.svg deleted file mode 100644 index 7eb72c74ac3..00000000000 --- a/resources/images/cut_square.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/cut_square_dark.svg b/resources/images/cut_square_dark.svg deleted file mode 100644 index fbf7cc9aa4a..00000000000 --- a/resources/images/cut_square_dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/cut_triangle.svg b/resources/images/cut_triangle.svg deleted file mode 100644 index ac03ed05ceb..00000000000 --- a/resources/images/cut_triangle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/cut_triangle_dark.svg b/resources/images/cut_triangle_dark.svg deleted file mode 100644 index a29569c6a27..00000000000 --- a/resources/images/cut_triangle_dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/delete.svg b/resources/images/delete.svg index 2e36702da21..a8598bdf7d9 100644 --- a/resources/images/delete.svg +++ b/resources/images/delete.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/drop_down.svg b/resources/images/drop_down.svg index bdb34d71d9f..6ecf48d1d9f 100644 --- a/resources/images/drop_down.svg +++ b/resources/images/drop_down.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/edit.svg b/resources/images/edit.svg index 6c2de1d9802..e32229d429d 100644 --- a/resources/images/edit.svg +++ b/resources/images/edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/edit_button.svg b/resources/images/edit_button.svg index 6c2de1d9802..e32229d429d 100644 --- a/resources/images/edit_button.svg +++ b/resources/images/edit_button.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/fill_paint.svg b/resources/images/fill_paint.svg index 4c3c2cc8743..09985f91b44 100644 --- a/resources/images/fill_paint.svg +++ b/resources/images/fill_paint.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/fill_paint_dark.svg b/resources/images/fill_paint_dark.svg index df9333b62c5..1181e7e637e 100644 --- a/resources/images/fill_paint_dark.svg +++ b/resources/images/fill_paint_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/gap_fill.svg b/resources/images/gap_fill.svg index 87436c9e2b2..edd0fc6659b 100644 --- a/resources/images/gap_fill.svg +++ b/resources/images/gap_fill.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/gap_fill_dark.svg b/resources/images/gap_fill_dark.svg index d17c639d416..b533510758e 100644 --- a/resources/images/gap_fill_dark.svg +++ b/resources/images/gap_fill_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/measure_edit.svg b/resources/images/measure_edit.svg deleted file mode 100644 index 7f622b2cc43..00000000000 --- a/resources/images/measure_edit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/mesh_boolean_a.svg b/resources/images/mesh_boolean_a.svg deleted file mode 100644 index d4f1977d275..00000000000 --- a/resources/images/mesh_boolean_a.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/mesh_boolean_b.svg b/resources/images/mesh_boolean_b.svg deleted file mode 100644 index d59ea608f6a..00000000000 --- a/resources/images/mesh_boolean_b.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/mesh_boolean_difference.svg b/resources/images/mesh_boolean_difference.svg deleted file mode 100644 index 986af31cef9..00000000000 --- a/resources/images/mesh_boolean_difference.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/mesh_boolean_difference_dark.svg b/resources/images/mesh_boolean_difference_dark.svg deleted file mode 100644 index cee940c3b58..00000000000 --- a/resources/images/mesh_boolean_difference_dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/mesh_boolean_intersection.svg b/resources/images/mesh_boolean_intersection.svg deleted file mode 100644 index 52ac3014ef1..00000000000 --- a/resources/images/mesh_boolean_intersection.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/mesh_boolean_intersection_dark.svg b/resources/images/mesh_boolean_intersection_dark.svg deleted file mode 100644 index 9d232122fa7..00000000000 --- a/resources/images/mesh_boolean_intersection_dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/mesh_boolean_keep.svg b/resources/images/mesh_boolean_keep.svg deleted file mode 100644 index 1315f878955..00000000000 --- a/resources/images/mesh_boolean_keep.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/mesh_boolean_subtract.svg b/resources/images/mesh_boolean_subtract.svg deleted file mode 100644 index 6d068c807b1..00000000000 --- a/resources/images/mesh_boolean_subtract.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/mesh_boolean_union.svg b/resources/images/mesh_boolean_union.svg deleted file mode 100644 index c300d0cf922..00000000000 --- a/resources/images/mesh_boolean_union.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/mesh_boolean_union_dark.svg b/resources/images/mesh_boolean_union_dark.svg deleted file mode 100644 index b05e71adb43..00000000000 --- a/resources/images/mesh_boolean_union_dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/mmu_segmentation.svg b/resources/images/mmu_segmentation.svg index f9aed323609..085ebc006c1 100644 --- a/resources/images/mmu_segmentation.svg +++ b/resources/images/mmu_segmentation.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/mmu_segmentation_dark.svg b/resources/images/mmu_segmentation_dark.svg index 9d36df8e680..9946079ab94 100644 --- a/resources/images/mmu_segmentation_dark.svg +++ b/resources/images/mmu_segmentation_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/notification_collapse.svg b/resources/images/notification_collapse.svg index 02b182476d4..303cecab382 100644 --- a/resources/images/notification_collapse.svg +++ b/resources/images/notification_collapse.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/notification_expand.svg b/resources/images/notification_expand.svg index 303cecab382..02b182476d4 100644 --- a/resources/images/notification_expand.svg +++ b/resources/images/notification_expand.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/objlist_seam_painting.svg b/resources/images/objlist_seam_painting.svg index 1e360cddaca..d8571e04e41 100644 --- a/resources/images/objlist_seam_painting.svg +++ b/resources/images/objlist_seam_painting.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/objlist_support_painting.svg b/resources/images/objlist_support_painting.svg index e952fc3f527..21158ffc1be 100644 --- a/resources/images/objlist_support_painting.svg +++ b/resources/images/objlist_support_painting.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/param_crosshatch.svg b/resources/images/param_crosshatch.svg index 03a1f04a71a..3e5e81648c4 100644 --- a/resources/images/param_crosshatch.svg +++ b/resources/images/param_crosshatch.svg @@ -1,570 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/resources/images/param_default-pattern.svg b/resources/images/param_default-pattern.svg deleted file mode 100644 index 0bbbc3e7e18..00000000000 --- a/resources/images/param_default-pattern.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/param_seam.svg b/resources/images/param_seam.svg index ec011d8df4a..d1dbf04c5ee 100644 --- a/resources/images/param_seam.svg +++ b/resources/images/param_seam.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/param_search.svg b/resources/images/param_search.svg deleted file mode 100644 index 7bdca770f64..00000000000 --- a/resources/images/param_search.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/param_skirt.svg b/resources/images/param_skirt.svg new file mode 100644 index 00000000000..1f0a1854e0c --- /dev/null +++ b/resources/images/param_skirt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/images/param_support.svg b/resources/images/param_support.svg index d487ac417c0..6c20d647be0 100644 --- a/resources/images/param_support.svg +++ b/resources/images/param_support.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_arrange.svg b/resources/images/plate_arrange.svg index 16d2189b4cc..ea6ef51a5d3 100644 --- a/resources/images/plate_arrange.svg +++ b/resources/images/plate_arrange.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_arrange_dark.svg b/resources/images/plate_arrange_dark.svg index 5ac7c488ba9..6b0ade63b90 100644 --- a/resources/images/plate_arrange_dark.svg +++ b/resources/images/plate_arrange_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_arrange_hover.svg b/resources/images/plate_arrange_hover.svg index f3378fce551..4170ddefb3d 100644 --- a/resources/images/plate_arrange_hover.svg +++ b/resources/images/plate_arrange_hover.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_arrange_hover_dark.svg b/resources/images/plate_arrange_hover_dark.svg index 65f956b28eb..7b4d4511038 100644 --- a/resources/images/plate_arrange_hover_dark.svg +++ b/resources/images/plate_arrange_hover_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_close.svg b/resources/images/plate_close.svg index de0c4f66a6b..caa52e8d768 100644 --- a/resources/images/plate_close.svg +++ b/resources/images/plate_close.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_close_dark.svg b/resources/images/plate_close_dark.svg index a045ccd4b26..60e10f32fb2 100644 --- a/resources/images/plate_close_dark.svg +++ b/resources/images/plate_close_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_close_hover.svg b/resources/images/plate_close_hover.svg index 495322afe4e..78154b649e8 100644 --- a/resources/images/plate_close_hover.svg +++ b/resources/images/plate_close_hover.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_close_hover_dark.svg b/resources/images/plate_close_hover_dark.svg index 13199c94b86..057950934e7 100644 --- a/resources/images/plate_close_hover_dark.svg +++ b/resources/images/plate_close_hover_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_locked.svg b/resources/images/plate_locked.svg index 8738cd5222b..ad62e0be45b 100644 --- a/resources/images/plate_locked.svg +++ b/resources/images/plate_locked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_locked_dark.svg b/resources/images/plate_locked_dark.svg index 94698a340f8..954e90a96e9 100644 --- a/resources/images/plate_locked_dark.svg +++ b/resources/images/plate_locked_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_locked_hover.svg b/resources/images/plate_locked_hover.svg index f56beb6c073..9898e71aa05 100644 --- a/resources/images/plate_locked_hover.svg +++ b/resources/images/plate_locked_hover.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_locked_hover_dark.svg b/resources/images/plate_locked_hover_dark.svg index 8955de70dd2..f12e171e474 100644 --- a/resources/images/plate_locked_hover_dark.svg +++ b/resources/images/plate_locked_hover_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_name_edit.svg b/resources/images/plate_name_edit.svg index fad12d446e1..54a607d222d 100644 --- a/resources/images/plate_name_edit.svg +++ b/resources/images/plate_name_edit.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_name_edit_dark.svg b/resources/images/plate_name_edit_dark.svg index 6ed07bbdf45..729cb184313 100644 --- a/resources/images/plate_name_edit_dark.svg +++ b/resources/images/plate_name_edit_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_name_edit_hover.svg b/resources/images/plate_name_edit_hover.svg index d6968c9bb8d..66befdaebd9 100644 --- a/resources/images/plate_name_edit_hover.svg +++ b/resources/images/plate_name_edit_hover.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_name_edit_hover_dark.svg b/resources/images/plate_name_edit_hover_dark.svg index 5655a554ea9..0382c829ff6 100644 --- a/resources/images/plate_name_edit_hover_dark.svg +++ b/resources/images/plate_name_edit_hover_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_orient.svg b/resources/images/plate_orient.svg index 63dd5f2f0bf..cc7d090f8d6 100644 --- a/resources/images/plate_orient.svg +++ b/resources/images/plate_orient.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_orient_dark.svg b/resources/images/plate_orient_dark.svg index b0b16c87a9f..2112074ca5c 100644 --- a/resources/images/plate_orient_dark.svg +++ b/resources/images/plate_orient_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_orient_hover.svg b/resources/images/plate_orient_hover.svg index e88fb5d8309..fcf1aabc382 100644 --- a/resources/images/plate_orient_hover.svg +++ b/resources/images/plate_orient_hover.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_orient_hover_dark.svg b/resources/images/plate_orient_hover_dark.svg index e8adebcf490..a2c60a0a79f 100644 --- a/resources/images/plate_orient_hover_dark.svg +++ b/resources/images/plate_orient_hover_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_settings.svg b/resources/images/plate_settings.svg index e6ee8b0b6a7..7ca6f421fd7 100644 --- a/resources/images/plate_settings.svg +++ b/resources/images/plate_settings.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_settings_changed.svg b/resources/images/plate_settings_changed.svg index 8a4ca4d60f8..3c1cc319c01 100644 --- a/resources/images/plate_settings_changed.svg +++ b/resources/images/plate_settings_changed.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_settings_changed_dark.svg b/resources/images/plate_settings_changed_dark.svg index ce5672a9d71..0858582095c 100644 --- a/resources/images/plate_settings_changed_dark.svg +++ b/resources/images/plate_settings_changed_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_settings_changed_hover.svg b/resources/images/plate_settings_changed_hover.svg index 1bb9023a283..f2350ae3531 100644 --- a/resources/images/plate_settings_changed_hover.svg +++ b/resources/images/plate_settings_changed_hover.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_settings_changed_hover_dark.svg b/resources/images/plate_settings_changed_hover_dark.svg index 2fabb11b784..ee72de4a5e1 100644 --- a/resources/images/plate_settings_changed_hover_dark.svg +++ b/resources/images/plate_settings_changed_hover_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_settings_dark.svg b/resources/images/plate_settings_dark.svg index 69b3474669f..ea12254f879 100644 --- a/resources/images/plate_settings_dark.svg +++ b/resources/images/plate_settings_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_settings_hover.svg b/resources/images/plate_settings_hover.svg index a555b28f9b3..63c33ff2f97 100644 --- a/resources/images/plate_settings_hover.svg +++ b/resources/images/plate_settings_hover.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_settings_hover_dark.svg b/resources/images/plate_settings_hover_dark.svg index f36f6e8f034..2cd16d21a90 100644 --- a/resources/images/plate_settings_hover_dark.svg +++ b/resources/images/plate_settings_hover_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_unlocked.svg b/resources/images/plate_unlocked.svg index c04f826e241..6d93b9b69e5 100644 --- a/resources/images/plate_unlocked.svg +++ b/resources/images/plate_unlocked.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_unlocked_dark.svg b/resources/images/plate_unlocked_dark.svg index 191094d9d62..092f6a0dfba 100644 --- a/resources/images/plate_unlocked_dark.svg +++ b/resources/images/plate_unlocked_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_unlocked_hover.svg b/resources/images/plate_unlocked_hover.svg index f0f0d1ff03d..91ac0aacb67 100644 --- a/resources/images/plate_unlocked_hover.svg +++ b/resources/images/plate_unlocked_hover.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/plate_unlocked_hover_dark.svg b/resources/images/plate_unlocked_hover_dark.svg index 8d9f568ed60..a52831047fa 100644 --- a/resources/images/plate_unlocked_hover_dark.svg +++ b/resources/images/plate_unlocked_hover_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/save.svg b/resources/images/save.svg index 65db979dfa6..ba542737f97 100644 --- a/resources/images/save.svg +++ b/resources/images/save.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/search.svg b/resources/images/search.svg index 71fb9641828..931ce8143a3 100644 --- a/resources/images/search.svg +++ b/resources/images/search.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/tab_calibration.svg b/resources/images/tab_calibration.svg deleted file mode 100644 index 54ea4fe5b59..00000000000 --- a/resources/images/tab_calibration.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/resources/images/tab_calibration_active.svg b/resources/images/tab_calibration_active.svg index 71bfdfc451b..54ea4fe5b59 100644 --- a/resources/images/tab_calibration_active.svg +++ b/resources/images/tab_calibration_active.svg @@ -1,4 +1 @@ - - - - + \ No newline at end of file diff --git a/resources/images/toolbar_flatten.svg b/resources/images/toolbar_flatten.svg index ffcc22e4f8f..7f375998f5f 100644 --- a/resources/images/toolbar_flatten.svg +++ b/resources/images/toolbar_flatten.svg @@ -1,6 +1 @@ - - - - - - + \ No newline at end of file diff --git a/resources/images/toolbar_flatten_dark.svg b/resources/images/toolbar_flatten_dark.svg index e6c3b472e7f..2ef8d50fd5e 100644 --- a/resources/images/toolbar_flatten_dark.svg +++ b/resources/images/toolbar_flatten_dark.svg @@ -1,6 +1 @@ - - - - - - + \ No newline at end of file diff --git a/resources/images/toolbar_orient.svg b/resources/images/toolbar_orient.svg index b240ffa7634..ed05131754d 100644 --- a/resources/images/toolbar_orient.svg +++ b/resources/images/toolbar_orient.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/resources/images/toolbar_orient_dark.svg b/resources/images/toolbar_orient_dark.svg index 2e46dfa13e0..dbd1e38d906 100644 --- a/resources/images/toolbar_orient_dark.svg +++ b/resources/images/toolbar_orient_dark.svg @@ -1,10 +1 @@ - - - - - - - - - - + \ No newline at end of file diff --git a/resources/images/toolbar_seam.svg b/resources/images/toolbar_seam.svg index 660f1fed3e0..2b9afca90fe 100644 --- a/resources/images/toolbar_seam.svg +++ b/resources/images/toolbar_seam.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/toolbar_seam_dark.svg b/resources/images/toolbar_seam_dark.svg index 65573c87b17..cda5ce288fb 100644 --- a/resources/images/toolbar_seam_dark.svg +++ b/resources/images/toolbar_seam_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/toolbar_support.svg b/resources/images/toolbar_support.svg index 9ace7d67c7d..56e44fa1ba0 100644 --- a/resources/images/toolbar_support.svg +++ b/resources/images/toolbar_support.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/toolbar_support_dark.svg b/resources/images/toolbar_support_dark.svg index fac4afb675b..e749ab87b5f 100644 --- a/resources/images/toolbar_support_dark.svg +++ b/resources/images/toolbar_support_dark.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/resources/images/toolbar_variable_layer_height.svg b/resources/images/toolbar_variable_layer_height.svg index 9c98e40a8f3..08984f1fa09 100644 --- a/resources/images/toolbar_variable_layer_height.svg +++ b/resources/images/toolbar_variable_layer_height.svg @@ -1,7 +1 @@ - - - - - - - + \ No newline at end of file diff --git a/resources/images/toolbar_variable_layer_height_dark.svg b/resources/images/toolbar_variable_layer_height_dark.svg index 66b5401f759..83fd28bc3ef 100644 --- a/resources/images/toolbar_variable_layer_height_dark.svg +++ b/resources/images/toolbar_variable_layer_height_dark.svg @@ -1,7 +1 @@ - - - - - - - + \ No newline at end of file diff --git a/resources/images/topbar_blank.svg b/resources/images/topbar_blank.svg deleted file mode 100644 index b920a2ccdca..00000000000 --- a/resources/images/topbar_blank.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/slic3r/GUI/BitmapCache.cpp b/src/slic3r/GUI/BitmapCache.cpp index d382f657e33..ae0678f6b1c 100644 --- a/src/slic3r/GUI/BitmapCache.cpp +++ b/src/slic3r/GUI/BitmapCache.cpp @@ -335,7 +335,16 @@ wxBitmap* BitmapCache::load_svg(const std::string &bitmap_name, unsigned target_ replaces["\"#909090\""] = "\"#FFFFFF\""; replaces["\"#00FF00\""] = "\"#FF0000\""; replaces["\"#009688\""] = "\"#00675b\""; + replaces["#DBDBDB"] = "#4A4A51"; // ORCA border color + replaces["#F0F0F1"] = "#404040"; // ORCA disabled background color + replaces["#262E30"] = "#EFEFF0"; // ORCA + } else { + replaces["#949494"] = "#7C8282"; // ORCA replace icon line color for light theme } + + if (strstr(bitmap_name.c_str(), "toggle_on") != NULL && dark_mode) // ORCA only replace color of toggle button + replaces["#009688"] = "#00675b"; + //if (!new_color.empty()) // replaces["\"#ED6B21\""] = "\"" + new_color + "\""; diff --git a/src/slic3r/GUI/EditGCodeDialog.cpp b/src/slic3r/GUI/EditGCodeDialog.cpp index 54ec6db8bc6..3e8548decde 100644 --- a/src/slic3r/GUI/EditGCodeDialog.cpp +++ b/src/slic3r/GUI/EditGCodeDialog.cpp @@ -215,7 +215,7 @@ void EditGCodeDialog::init_params_list(const std::string& custom_gcode_name) // Add timestamp subgroup if (!cgp_timestamps_config_def.empty()) { - wxDataViewItem dimensions = m_params_list->AppendGroup(_L("Timestamps"), "print-time"); + wxDataViewItem dimensions = m_params_list->AppendGroup(_L("Timestamps"), "custom-gcode_time"); for (const auto& [opt_key, def] : cgp_timestamps_config_def.options) m_params_list->AppendParam(dimensions, get_type(opt_key, def), opt_key); } @@ -271,7 +271,16 @@ wxDataViewItem EditGCodeDialog::add_presets_placeholders() auto init_from_tab = [this, full_config](wxDataViewItem parent, Tab* tab, const set& preset_keys){ set extra_keys(preset_keys); for (const auto& page : tab->m_pages) { - wxDataViewItem subgroup = m_params_list->AppendSubGroup(parent, page->title(), "empty"); + // ORCA: Pull icons from tabs for subgroups, icons are hidden on tabs + std::string icon_name = "empty"; // use empty icon if not defined + for (const auto& icons_list : tab->m_icon_index) { + if (icons_list.second == page->iconID()) { + icon_name = icons_list.first; + break; + } + } + wxDataViewItem subgroup = m_params_list->AppendSubGroup(parent, page->title(), icon_name); // Use icon instead empty icon + std::set opt_keys; for (const auto& optgroup : page->m_optgroups) for (const auto& opt : optgroup->opt_map()) @@ -290,7 +299,7 @@ wxDataViewItem EditGCodeDialog::add_presets_placeholders() wxDataViewItem group = m_params_list->AppendGroup(_L("Presets"), "cog"); - wxDataViewItem print = m_params_list->AppendSubGroup(group, _L("Print settings"), "cog"); + wxDataViewItem print = m_params_list->AppendSubGroup(group, _L("Print settings"), "process"); init_from_tab(print, tab_print, print_options); wxDataViewItem material = m_params_list->AppendSubGroup(group, _(is_fff ? L("Filament settings") : L("SLA Materials settings")), is_fff ? "filament" : "resin"); diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index c8e81f4452c..20a8de4a926 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -205,10 +205,10 @@ void GLCanvas3D::LayersEditing::show_tooltip_information(const GLCanvas3D& canva } caption_max += GImGui->Style.WindowPadding.x + imgui.scaled(1); - float font_size = ImGui::GetFontSize(); - ImVec2 button_size = ImVec2(font_size * 1.8, font_size * 1.3); + float scale = canvas.get_scale(); + ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f); - ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0.0f, GImGui->Style.FramePadding.y}); + ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding ImGui::ImageButton3(normal_id, hover_id, button_size); if (ImGui::IsItemHovered()) { diff --git a/src/slic3r/GUI/GUI_ObjectLayers.cpp b/src/slic3r/GUI/GUI_ObjectLayers.cpp index 76dd2686336..9b36885e56c 100644 --- a/src/slic3r/GUI/GUI_ObjectLayers.cpp +++ b/src/slic3r/GUI/GUI_ObjectLayers.cpp @@ -31,8 +31,8 @@ ObjectLayers::ObjectLayers(wxWindow* parent) : m_og->sizer->Clear(true); m_og->sizer->Add(m_grid_sizer, 0, wxEXPAND | wxLEFT | wxRIGHT, wxOSX ? 0 : 5); - m_bmp_delete = ScalableBitmap(parent, "delete_filament"/*"cross"*/); - m_bmp_add = ScalableBitmap(parent, "add_filament"); + m_bmp_delete = ScalableBitmap(parent, "delete"); + m_bmp_add = ScalableBitmap(parent, "add"); } void ObjectLayers::select_editor(LayerRangeEditor* editor, const bool is_last_edited_range) diff --git a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp index c10a99f1d7f..405ba3ca3dc 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp @@ -2963,10 +2963,10 @@ void GLGizmoCut3D::show_tooltip_information(float x, float y) caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 35.f; - float font_size = ImGui::GetFontSize(); - ImVec2 button_size = ImVec2(font_size * 1.8, font_size * 1.3); + float scale = m_parent.get_scale(); + ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f); - ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, ImGui::GetStyle().FramePadding.y}); + ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding ImGui::ImageButton3(normal_id, hover_id, button_size); if (ImGui::IsItemHovered()) { diff --git a/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp b/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp index abe2d800ba1..89914639c82 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp @@ -3163,7 +3163,7 @@ void GLGizmoEmboss::init_icons() "make_unbold.svg", "search.svg", "open.svg", - "exclamation.svg", + "obj_warning.svg", // ORCA: use obj_warning instead exclamation. exclamation is not compatible with low res "lock_closed.svg", // lock, "lock_closed_f.svg",// lock_bold, "lock_open.svg", // unlock, diff --git a/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp b/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp index ccf17a77168..0329d7c5085 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp @@ -519,10 +519,10 @@ void GLGizmoFdmSupports::show_tooltip_information(float caption_max, float x, fl caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 15.f; - float font_size = ImGui::GetFontSize(); - ImVec2 button_size = ImVec2(font_size * 1.8, font_size * 1.3); + float scale = m_parent.get_scale(); + ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f); - ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, { 0, ImGui::GetStyle().FramePadding.y }); + ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding ImGui::ImageButton3(normal_id, hover_id, button_size); if (ImGui::IsItemHovered()) { diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp index 9293a8187d6..0661168ece1 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp @@ -2044,10 +2044,10 @@ void GLGizmoMeasure::show_tooltip_information(float caption_max, float x, float caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 35.f; - float font_size = ImGui::GetFontSize(); - ImVec2 button_size = ImVec2(font_size * 1.8, font_size * 1.3); + float scale = m_parent.get_scale(); + ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f); - ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, { 0, ImGui::GetStyle().FramePadding.y }); + ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, { 0, 0 }); // ORCA: Dont add padding ImGui::ImageButton3(normal_id, hover_id, button_size); if (ImGui::IsItemHovered()) { diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp index 727ceebc9b5..9d62f785475 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp @@ -343,10 +343,10 @@ void GLGizmoMmuSegmentation::show_tooltip_information(float caption_max, float x caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 15.f; - float font_size = ImGui::GetFontSize(); - ImVec2 button_size = ImVec2(font_size * 1.8, font_size * 1.3); + float scale = m_parent.get_scale(); + ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f); - ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, { 0, ImGui::GetStyle().FramePadding.y }); + ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding ImGui::ImageButton3(normal_id, hover_id, button_size); if (ImGui::IsItemHovered()) { diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp index 95129dfcd91..42fb52d4424 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp @@ -397,7 +397,7 @@ IconManager::VIcons init_icons(IconManager &mng, const GuiCfg &cfg) "open.svg", // changhe_file "burn.svg", // bake "save.svg", // save - "exclamation.svg", // exclamation + "obj_warning.svg", // exclamation // ORCA: use obj_warning instead exclamation. exclamation is not compatible with low res "lock_closed.svg", // lock "lock_open.svg", // unlock "reflection_x.svg", // reflection_x diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp index b2692e9555d..2aba01f9374 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp @@ -153,10 +153,10 @@ void GLGizmoSeam::show_tooltip_information(float caption_max, float x, float y) caption_max += m_imgui->calc_text_size(std::string_view{": "}).x + 35.f; - float font_size = ImGui::GetFontSize(); - ImVec2 button_size = ImVec2(font_size * 1.8, font_size * 1.3); + float scale = m_parent.get_scale(); + ImVec2 button_size = ImVec2(25 * scale, 25 * scale); // ORCA: Use exact resolution will prevent blur on icon ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 0.0f); - ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, { 0, ImGui::GetStyle().FramePadding.y }); + ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, {0, 0}); // ORCA: Dont add padding ImGui::ImageButton3(normal_id, hover_id, button_size); if (ImGui::IsItemHovered()) { diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp index 7a3a65cf4bf..51171e8d8fc 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp @@ -244,12 +244,12 @@ bool GLGizmosManager::init_icon_textures() else return false; - if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_tooltip.svg", 30, 22, texture_id)) + if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_tooltip.svg", 25, 25, texture_id)) // ORCA: Use same resolution with gizmos to prevent blur on icon icon_list.insert(std::make_pair((int)IC_TOOLBAR_TOOLTIP, texture_id)); else return false; - if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_tooltip_hover.svg", 30, 22, texture_id)) + if (IMTexture::load_from_svg_file(Slic3r::resources_dir() + "/images/toolbar_tooltip_hover.svg", 25, 25, texture_id)) // ORCA: Use same resolution with gizmos to prevent blur on icon icon_list.insert(std::make_pair((int)IC_TOOLBAR_TOOLTIP_HOVER, texture_id)); else return false; diff --git a/src/slic3r/GUI/IconManager.cpp b/src/slic3r/GUI/IconManager.cpp index f302f6ceba1..872d270b270 100644 --- a/src/slic3r/GUI/IconManager.cpp +++ b/src/slic3r/GUI/IconManager.cpp @@ -373,7 +373,7 @@ void draw(const IconManager::Icon &icon, const ImVec2 &size, const ImVec4 &tint_ ImGuiContext &g = *GImGui; float cursor_y = window->DC.CursorPos.y; float line_height = ImGui::GetTextLineHeight() + g.Style.FramePadding.y * 2; - float offset_y = (line_height - s.y) / 2; + int offset_y = (line_height - s.y) / 2; // Make sure its int otherwise it will be pixelated window->DC.CursorPos.y += offset_y; ImGui::Image(id, s, icon.tl, icon.br, tint_col, border_col); diff --git a/src/slic3r/GUI/MsgDialog.cpp b/src/slic3r/GUI/MsgDialog.cpp index fa0a13f9a50..8eb19706275 100644 --- a/src/slic3r/GUI/MsgDialog.cpp +++ b/src/slic3r/GUI/MsgDialog.cpp @@ -228,7 +228,7 @@ void MsgDialog::apply_style(long style) if (style & wxCANCEL) add_button(wxID_CANCEL, false, _L("Cancel")); logo->SetBitmap( create_scaled_bitmap(style & wxAPPLY ? "completed" : - style & wxICON_WARNING ? "obj_warning" : + style & wxICON_WARNING ? "exclamation" : // ORCA "exclamation" used for dialogs "obj_warning" used for 16x16 areas style & wxICON_INFORMATION ? "info" : style & wxICON_QUESTION ? "question" : "OrcaSlicer", this, 64, style & wxICON_ERROR)); } diff --git a/src/slic3r/GUI/ObjectDataViewModel.cpp b/src/slic3r/GUI/ObjectDataViewModel.cpp index 75e1baeeaf4..efa8e94b26b 100644 --- a/src/slic3r/GUI/ObjectDataViewModel.cpp +++ b/src/slic3r/GUI/ObjectDataViewModel.cpp @@ -43,8 +43,8 @@ void ObjectDataViewModelNode::init_container() #endif //__WXGTK__ } -static constexpr char LayerRootIcon[] = "blank"; -static constexpr char LayerIcon[] = "blank"; +static constexpr char LayerRootIcon[] = "height_range_modifier"; +static constexpr char LayerIcon[] = "height_range_layer"; static constexpr char WarningIcon[] = "obj_warning"; static constexpr char WarningManifoldIcon[] = "obj_warning"; static constexpr char LockIcon[] = "cut_"; @@ -232,7 +232,7 @@ void ObjectDataViewModelNode::set_color_icon(bool enable) return; m_color_enable = enable; if ((m_type & itObject) && enable) - m_color_icon = create_scaled_bitmap("mmu_segmentation"); + m_color_icon = create_scaled_bitmap("objlist_color_painting"); else m_color_icon = create_scaled_bitmap("dot"); } @@ -243,7 +243,7 @@ void ObjectDataViewModelNode::set_support_icon(bool enable) return; m_support_enable = enable; if ((m_type & itObject) && enable) - m_support_icon = create_scaled_bitmap("toolbar_support"); + m_support_icon = create_scaled_bitmap("objlist_support_painting"); else m_support_icon = create_scaled_bitmap("dot"); } diff --git a/src/slic3r/GUI/OptionsGroup.hpp b/src/slic3r/GUI/OptionsGroup.hpp index 8c7585cd83e..a3809a0cb7c 100644 --- a/src/slic3r/GUI/OptionsGroup.hpp +++ b/src/slic3r/GUI/OptionsGroup.hpp @@ -324,9 +324,9 @@ protected: // It is designed for single extruder multiple material machine. class ExtruderOptionsGroup : public ConfigOptionsGroup { public: - ExtruderOptionsGroup(wxWindow* parent, const wxString& title, DynamicPrintConfig* config = nullptr, + ExtruderOptionsGroup(wxWindow* parent, const wxString& title, const wxString& icon, DynamicPrintConfig* config = nullptr, // ORCA: add support for icons bool is_tab_opt = false, column_t extra_clmn = nullptr) : - ConfigOptionsGroup(parent, title, wxEmptyString, config, is_tab_opt, extra_clmn) {} + ConfigOptionsGroup(parent, title, icon, config, is_tab_opt, extra_clmn) {} void on_change_OG(const t_config_option_key& opt_id, const boost::any& value) override; }; diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index cf0df73a898..619c4bc8776 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1999,7 +1999,7 @@ void TabPrint::build() m_presets = &m_preset_bundle->prints; load_initial_data(); - auto page = add_options_page(L("Quality"), "empty"); + auto page = add_options_page(L("Quality"), "custom-gcode_quality"); // ORCA: icon only visible on placeholders auto optgroup = page->new_optgroup(L("Layer height"), L"param_layer_height"); optgroup->append_single_option_line("layer_height"); optgroup->append_single_option_line("initial_layer_print_height"); @@ -2057,7 +2057,7 @@ void TabPrint::build() optgroup->append_single_option_line("ironing_spacing"); optgroup->append_single_option_line("ironing_angle"); - optgroup = page->new_optgroup(L("Wall generator"), L"param_wall"); + optgroup = page->new_optgroup(L("Wall generator"), L"param_wall_generator"); optgroup->append_single_option_line("wall_generator", "wall-generator"); optgroup->append_single_option_line("wall_transition_angle"); optgroup->append_single_option_line("wall_transition_filter_deviation"); @@ -2068,7 +2068,7 @@ void TabPrint::build() optgroup->append_single_option_line("min_feature_size"); optgroup->append_single_option_line("min_length_factor"); - optgroup = page->new_optgroup(L("Walls and surfaces"), L"param_advanced"); + optgroup = page->new_optgroup(L("Walls and surfaces"), L"param_wall_surface"); optgroup->append_single_option_line("wall_sequence"); optgroup->append_single_option_line("is_infill_first"); optgroup->append_single_option_line("wall_direction"); @@ -2088,7 +2088,7 @@ void TabPrint::build() option.opt.height = 15; optgroup->append_single_option_line(option, "small-area-infill-flow-compensation"); - optgroup = page->new_optgroup(L("Bridging"), L"param_advanced"); + optgroup = page->new_optgroup(L("Bridging"), L"param_bridge"); optgroup->append_single_option_line("bridge_flow"); optgroup->append_single_option_line("internal_bridge_flow"); optgroup->append_single_option_line("bridge_density"); @@ -2097,7 +2097,7 @@ void TabPrint::build() optgroup->append_single_option_line("dont_filter_internal_bridges"); optgroup->append_single_option_line("counterbore_hole_bridging","counterbore-hole-bridging"); - optgroup = page->new_optgroup(L("Overhangs"), L"param_advanced"); + optgroup = page->new_optgroup(L("Overhangs"), L"param_overhang"); optgroup->append_single_option_line("detect_overhang_wall"); optgroup->append_single_option_line("make_overhang_printable"); optgroup->append_single_option_line("make_overhang_printable_angle"); @@ -2107,7 +2107,7 @@ void TabPrint::build() optgroup->append_single_option_line("overhang_reverse_internal_only"); optgroup->append_single_option_line("overhang_reverse_threshold"); - page = add_options_page(L("Strength"), "empty"); + page = add_options_page(L("Strength"), "custom-gcode_strength"); // ORCA: icon only visible on placeholders optgroup = page->new_optgroup(L("Walls"), L"param_wall"); optgroup->append_single_option_line("wall_loops"); optgroup->append_single_option_line("alternate_extra_wall"); @@ -2142,7 +2142,7 @@ void TabPrint::build() optgroup->append_single_option_line("detect_narrow_internal_solid_infill"); optgroup->append_single_option_line("ensure_vertical_shell_thickness"); - page = add_options_page(L("Speed"), "empty"); + page = add_options_page(L("Speed"), "custom-gcode_speed"); // ORCA: icon only visible on placeholders optgroup = page->new_optgroup(L("Initial layer speed"), L"param_speed_first", 15); optgroup->append_single_option_line("initial_layer_speed"); optgroup->append_single_option_line("initial_layer_infill_speed"); @@ -2159,7 +2159,7 @@ void TabPrint::build() optgroup->append_single_option_line("gap_infill_speed"); optgroup->append_single_option_line("support_speed"); optgroup->append_single_option_line("support_interface_speed"); - optgroup = page->new_optgroup(L("Overhang speed"), L"param_speed", 15); + optgroup = page->new_optgroup(L("Overhang speed"), L"param_overhang_speed", 15); optgroup->append_single_option_line("enable_overhang_speed", "slow-down-for-overhang"); optgroup->append_single_option_line("overhang_speed_classic", "slow-down-for-overhang"); optgroup->append_single_option_line("slowdown_for_curled_perimeters"); @@ -2192,7 +2192,7 @@ void TabPrint::build() optgroup->append_single_option_line("accel_to_decel_enable"); optgroup->append_single_option_line("accel_to_decel_factor"); - optgroup = page->new_optgroup(L("Jerk(XY)"), L"param_speed", 15); + optgroup = page->new_optgroup(L("Jerk(XY)"), L"param_jerk", 15); optgroup->append_single_option_line("default_jerk"); optgroup->append_single_option_line("outer_wall_jerk"); optgroup->append_single_option_line("inner_wall_jerk"); @@ -2205,7 +2205,7 @@ void TabPrint::build() optgroup->append_single_option_line("max_volumetric_extrusion_rate_slope", "extrusion-rate-smoothing"); optgroup->append_single_option_line("max_volumetric_extrusion_rate_slope_segment_length", "extrusion-rate-smoothing"); - page = add_options_page(L("Support"), "support"); + page = add_options_page(L("Support"), "custom-gcode_support"); // ORCA: icon only visible on placeholders optgroup = page->new_optgroup(L("Support"), L"param_support"); optgroup->append_single_option_line("enable_support", "support"); optgroup->append_single_option_line("support_type", "support#support-types"); @@ -2249,7 +2249,7 @@ void TabPrint::build() optgroup->append_single_option_line("max_bridge_length", "support#base-pattern"); optgroup->append_single_option_line("independent_support_layer_height", "support"); - optgroup = page->new_optgroup(L("Tree supports"), L"param_advanced"); + optgroup = page->new_optgroup(L("Tree supports"), L"param_support_tree"); optgroup->append_single_option_line("tree_support_tip_diameter"); optgroup->append_single_option_line("tree_support_branch_distance", "support#tree-support-only-options"); optgroup->append_single_option_line("tree_support_branch_distance_organic", "support#tree-support-only-options"); @@ -2266,8 +2266,8 @@ void TabPrint::build() optgroup->append_single_option_line("tree_support_auto_brim"); optgroup->append_single_option_line("tree_support_brim_width"); - page = add_options_page(L("Others"), "advanced"); - optgroup = page->new_optgroup(L("Skirt"), L"param_adhension"); + page = add_options_page(L("Others"), "custom-gcode_other"); // ORCA: icon only visible on placeholders + optgroup = page->new_optgroup(L("Skirt"), L"param_skirt"); optgroup->append_single_option_line("skirt_loops"); optgroup->append_single_option_line("min_skirt_length"); optgroup->append_single_option_line("skirt_distance"); @@ -2338,7 +2338,7 @@ void TabPrint::build() option.opt.is_code = true; option.opt.height = 15; optgroup->append_single_option_line(option); - page = add_options_page(L("Notes"), "note"); + page = add_options_page(L("Notes"), "custom-gcode_note"); // ORCA: icon only visible on placeholders optgroup = page->new_optgroup(L("Notes"), "note", 0); option = optgroup->get_option("notes"); option.opt.full_width = true; @@ -3074,7 +3074,7 @@ void TabFilament::set_custom_gcode(const t_config_option_key& opt_key, const std void TabFilament::add_filament_overrides_page() { //BBS - PageShp page = add_options_page(L("Setting Overrides"), "empty"); + PageShp page = add_options_page(L("Setting Overrides"), "custom-gcode_setting_override"); // ORCA: icon only visible on placeholders ConfigOptionsGroupShp optgroup = page->new_optgroup(L("Retraction"), L"param_retraction"); auto append_single_option_line = [optgroup, this](const std::string& opt_key, int opt_index) @@ -3207,7 +3207,7 @@ void TabFilament::build() m_presets = &m_preset_bundle->filaments; load_initial_data(); - auto page = add_options_page(L("Filament"), "spool"); + auto page = add_options_page(L("Filament"), "custom-gcode_filament"); // ORCA: icon only visible on placeholders //BBS auto optgroup = page->new_optgroup(L("Basic information"), L"param_information"); // Set size as all another fields for a better alignment @@ -3255,13 +3255,13 @@ void TabFilament::build() optgroup->append_separator(); - optgroup = page->new_optgroup(L("Print temperature"), L"param_temperature"); + optgroup = page->new_optgroup(L("Print temperature"), L"param_extruder_temp"); line = { L("Nozzle"), L("Nozzle temperature when printing") }; line.append_option(optgroup->get_option("nozzle_temperature_initial_layer")); line.append_option(optgroup->get_option("nozzle_temperature")); optgroup->append_line(line); - optgroup = page->new_optgroup(L("Bed temperature"), L"param_temperature"); + optgroup = page->new_optgroup(L("Bed temperature"), L"param_bed_temp"); line = { L("Cool plate"), L("Bed temperature when cool plate is installed. Value 0 means the filament does not support to print on the Cool Plate") }; line.append_option(optgroup->get_option("cool_plate_temp_initial_layer")); line.append_option(optgroup->get_option("cool_plate_temp")); @@ -3323,7 +3323,7 @@ void TabFilament::build() //}; //optgroup->append_line(line); - page = add_options_page(L("Cooling"), "empty"); + page = add_options_page(L("Cooling"), "custom-gcode_cooling_fan"); // ORCA: icon only visible on placeholders //line = { "", "" }; //line.full_width = 1; @@ -3331,11 +3331,11 @@ void TabFilament::build() // return description_line_widget(parent, &m_cooling_description_line); //}; //optgroup->append_line(line); - optgroup = page->new_optgroup(L("Cooling for specific layer"), L"param_cooling"); + optgroup = page->new_optgroup(L("Cooling for specific layer"), L"param_cooling_specific_layer"); optgroup->append_single_option_line("close_fan_the_first_x_layers", "auto-cooling"); optgroup->append_single_option_line("full_fan_speed_layer"); - optgroup = page->new_optgroup(L("Part cooling fan"), L"param_cooling_fan"); + optgroup = page->new_optgroup(L("Part cooling fan"), L"param_cooling_part_fan"); line = { L("Min fan speed threshold"), L("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") }; line.label_path = "auto-cooling"; line.append_option(optgroup->get_option("fan_min_speed")); @@ -3355,10 +3355,10 @@ void TabFilament::build() optgroup->append_single_option_line("overhang_fan_speed", "auto-cooling"); optgroup->append_single_option_line("support_material_interface_fan_speed"); - optgroup = page->new_optgroup(L("Auxiliary part cooling fan"), L"param_cooling_fan"); + optgroup = page->new_optgroup(L("Auxiliary part cooling fan"), L"param_cooling_aux_fan"); optgroup->append_single_option_line("additional_cooling_fan_speed", "auxiliary-fan"); - optgroup = page->new_optgroup(L("Exhaust fan"),L"param_cooling_fan"); + optgroup = page->new_optgroup(L("Exhaust fan"),L"param_cooling_exhaust"); optgroup->append_single_option_line("activate_air_filtration", "air-filtration"); @@ -3377,7 +3377,7 @@ void TabFilament::build() auto edit_custom_gcode_fn = [this](const t_config_option_key& opt_key) { edit_custom_gcode(opt_key); }; - page = add_options_page(L("Advanced"), "advanced"); + page = add_options_page(L("Advanced"), "custom-gcode_advanced"); // ORCA: icon only visible on placeholders optgroup = page->new_optgroup(L("Filament start G-code"), L"param_gcode", 0); optgroup->m_on_change = [this, &optgroup_title = optgroup->title](const t_config_option_key& opt_key, const boost::any& value) { validate_custom_gcode_cb(this, optgroup_title, opt_key, value); @@ -3400,11 +3400,11 @@ void TabFilament::build() option.opt.height = gcode_field_height;// 150; optgroup->append_single_option_line(option); - page = add_options_page(L("Multimaterial"), "advanced"); - optgroup = page->new_optgroup(L("Wipe tower parameters")); + page = add_options_page(L("Multimaterial"), "custom-gcode_multi_material"); // ORCA: icon only visible on placeholders + optgroup = page->new_optgroup(L("Wipe tower parameters"), "param_tower"); optgroup->append_single_option_line("filament_minimal_purge_on_wipe_tower"); - optgroup = page->new_optgroup(L("Toolchange parameters with single extruder MM printers")); + optgroup = page->new_optgroup(L("Toolchange parameters with single extruder MM printers"), "param_toolchange"); optgroup->append_single_option_line("filament_loading_speed_start", "semm"); optgroup->append_single_option_line("filament_loading_speed", "semm"); optgroup->append_single_option_line("filament_unloading_speed_start", "semm"); @@ -3442,7 +3442,7 @@ void TabFilament::build() optgroup->append_single_option_line("filament_multitool_ramming_flow"); #endif - page = add_options_page(L("Notes"), "note"); + page = add_options_page(L("Notes"), "custom-gcode_note"); // ORCA: icon only visible on placeholders optgroup = page->new_optgroup(L("Notes"),"note", 0); optgroup->label_width = 0; option = optgroup->get_option("filament_notes"); @@ -3632,8 +3632,8 @@ void TabPrinter::build_fff() m_sys_extruders_count = parent_preset == nullptr ? 0 : static_cast(parent_preset->config.option("nozzle_diameter"))->values.size(); - auto page = add_options_page(L("Basic information"), "printer"); - auto optgroup = page->new_optgroup(L("Printable space")/*, L"param_printable_space"*/); + auto page = add_options_page(L("Basic information"), "custom-gcode_object-info"); // ORCA: icon only visible on placeholders + auto optgroup = page->new_optgroup(L("Printable space"), "param_printable_space"); create_line_with_widget(optgroup.get(), "printable_area", "custom-svg-and-png-bed-textures_124612", [this](wxWindow* parent) { return create_bed_shape_widget(parent); @@ -3677,25 +3677,25 @@ void TabPrinter::build_fff() optgroup->append_single_option_line("machine_unload_filament_time"); optgroup->append_single_option_line("time_cost"); - optgroup = page->new_optgroup(L("Cooling Fan")); + optgroup = page->new_optgroup(L("Cooling Fan"), "param_cooling_fan"); Line line = Line{ L("Fan speed-up time"), optgroup->get_option("fan_speedup_time").opt.tooltip }; line.append_option(optgroup->get_option("fan_speedup_time")); line.append_option(optgroup->get_option("fan_speedup_overhangs")); optgroup->append_line(line); optgroup->append_single_option_line("fan_kickstart"); - optgroup = page->new_optgroup(L("Extruder Clearance")); + optgroup = page->new_optgroup(L("Extruder Clearance"), "param_extruder_clearence"); optgroup->append_single_option_line("extruder_clearance_radius"); optgroup->append_single_option_line("extruder_clearance_height_to_rod"); optgroup->append_single_option_line("extruder_clearance_height_to_lid"); - optgroup = page->new_optgroup(L("Adaptive bed mesh")); + optgroup = page->new_optgroup(L("Adaptive bed mesh"), "param_adaptive_mesh"); optgroup->append_single_option_line("bed_mesh_min", "adaptive-bed-mesh"); optgroup->append_single_option_line("bed_mesh_max", "adaptive-bed-mesh"); optgroup->append_single_option_line("bed_mesh_probe_distance", "adaptive-bed-mesh"); optgroup->append_single_option_line("adaptive_bed_mesh_margin", "adaptive-bed-mesh"); - optgroup = page->new_optgroup(L("Accessory") /*, L"param_accessory"*/); + optgroup = page->new_optgroup(L("Accessory"), "param_accessory"); optgroup->append_single_option_line("nozzle_type"); optgroup->append_single_option_line("nozzle_hrc"); optgroup->append_single_option_line("auxiliary_fan", "auxiliary-fan"); @@ -3706,7 +3706,7 @@ void TabPrinter::build_fff() const int gcode_field_height = 15; // 150 const int notes_field_height = 25; // 250 - page = add_options_page(L("Machine gcode"), "cog"); + page = add_options_page(L("Machine gcode"), "custom-gcode_gcode"); // ORCA: icon only visible on placeholders optgroup = page->new_optgroup(L("Machine start G-code"), L"param_gcode", 0); optgroup->m_on_change = [this, &optgroup_title = optgroup->title](const t_config_option_key& opt_key, const boost::any& value) { validate_custom_gcode_cb(this, optgroup_title, opt_key, value); @@ -3816,7 +3816,7 @@ void TabPrinter::build_fff() option.opt.height = gcode_field_height;//150; optgroup->append_single_option_line(option); - page = add_options_page(L("Notes"), "note"); + page = add_options_page(L("Notes"), "custom-gcode_note"); // ORCA: icon only visible on placeholders optgroup = page->new_optgroup(L("Notes"), "note", 0); option = optgroup->get_option("printer_notes"); option.opt.full_width = true; @@ -3932,7 +3932,7 @@ void TabPrinter::append_option_line(ConfigOptionsGroupShp optgroup, const std::s PageShp TabPrinter::build_kinematics_page() { - auto page = add_options_page(L("Motion ability"), "cog", true); + auto page = add_options_page(L("Motion ability"), "custom-gcode_motion", true); // ORCA: icon only visible on placeholders if (m_use_silent_mode) { // Legend for OptionsGroups @@ -3980,7 +3980,7 @@ PageShp TabPrinter::build_kinematics_page() append_option_line(optgroup, "machine_max_acceleration_retracting"); append_option_line(optgroup, "machine_max_acceleration_travel"); - optgroup = page->new_optgroup(L("Jerk limitation")); + optgroup = page->new_optgroup(L("Jerk limitation"), "param_jerk"); for (const std::string &axis : axes) { append_option_line(optgroup, "machine_max_jerk_" + axis); } @@ -4035,8 +4035,8 @@ if (is_marlin_flavor) if (from_initial_build) { // create a page, but pretend it's an extruder page, so we can add it to m_pages ourselves - auto page = add_options_page(L("Multimaterial"), "printer", true); - auto optgroup = page->new_optgroup(L("Single extruder multimaterial setup")); + auto page = add_options_page(L("Multimaterial"), "custom-gcode_multi_material", true); // ORCA: icon only visible on placeholders + auto optgroup = page->new_optgroup(L("Single extruder multimaterial setup"), "param_multi_material"); optgroup->append_single_option_line("single_extruder_multi_material", "semm"); // Orca: we only support Single Extruder Multi Material, so it's always enabled // optgroup->m_on_change = [this](const t_config_option_key &opt_key, const boost::any &value) { @@ -4048,12 +4048,12 @@ if (is_marlin_flavor) // }; optgroup->append_single_option_line("manual_filament_change", "semm#manual-filament-change"); - optgroup = page->new_optgroup(L("Wipe tower")); + optgroup = page->new_optgroup(L("Wipe tower"), "param_tower"); optgroup->append_single_option_line("purge_in_prime_tower", "semm"); optgroup->append_single_option_line("enable_filament_ramming", "semm"); - optgroup = page->new_optgroup(L("Single extruder multimaterial parameters")); + optgroup = page->new_optgroup(L("Single extruder multimaterial parameters"), "param_settings"); optgroup->append_single_option_line("cooling_tube_retraction", "semm"); optgroup->append_single_option_line("cooling_tube_length", "semm"); optgroup->append_single_option_line("parking_pos_retraction", "semm"); @@ -4079,10 +4079,10 @@ if (is_marlin_flavor) { //# build page //const wxString& page_name = wxString::Format("Extruder %d", int(extruder_idx + 1)); - auto page = add_options_page(page_name, "empty", true); + auto page = add_options_page(page_name, "custom-gcode_extruder", true); // ORCA: icon only visible on placeholders m_pages.insert(m_pages.begin() + n_before_extruders + extruder_idx, page); - auto optgroup = page->new_optgroup(L("Size"), L"param_diameter", -1, true); + auto optgroup = page->new_optgroup(L("Size"), L"param_extruder_size", -1, true); optgroup->append_single_option_line("nozzle_diameter", "", extruder_idx); optgroup->m_on_change = [this, extruder_idx](const t_config_option_key& opt_key, boost::any value) @@ -4125,7 +4125,7 @@ if (is_marlin_flavor) optgroup->append_single_option_line("min_layer_height", "", extruder_idx); optgroup->append_single_option_line("max_layer_height", "", extruder_idx); - optgroup = page->new_optgroup(L("Position"), L"param_retraction", -1, true); + optgroup = page->new_optgroup(L("Position"), L"param_position", -1, true); optgroup->append_single_option_line("extruder_offset", "", extruder_idx); //BBS: don't show retract related config menu in machine page @@ -4142,12 +4142,12 @@ if (is_marlin_flavor) optgroup->append_single_option_line("wipe_distance", "", extruder_idx); optgroup->append_single_option_line("retract_before_wipe", "", extruder_idx); - optgroup = page->new_optgroup(L("Lift Z Enforcement"), L"param_retraction", -1, true); + optgroup = page->new_optgroup(L("Lift Z Enforcement"), L"param_extruder_lift_enforcement", -1, true); optgroup->append_single_option_line("retract_lift_above", "", extruder_idx); optgroup->append_single_option_line("retract_lift_below", "", extruder_idx); optgroup->append_single_option_line("retract_lift_enforce", "", extruder_idx); - optgroup = page->new_optgroup(L("Retraction when switching material"), L"param_retraction", -1, true); + optgroup = page->new_optgroup(L("Retraction when switching material"), L"param_retraction_material_change", -1, true); optgroup->append_single_option_line("retract_length_toolchange", "", extruder_idx); optgroup->append_single_option_line("retract_restart_extra_toolchange", "", extruder_idx); // do not display this params now @@ -5982,7 +5982,7 @@ bool Page::set_value(const t_config_option_key &opt_key, const boost::any &value ConfigOptionsGroupShp Page::new_optgroup(const wxString &title, const wxString &icon, int noncommon_label_width /*= -1*/, bool is_extruder_og /* false */) { //! config_ have to be "right" - ConfigOptionsGroupShp optgroup = is_extruder_og ? std::make_shared(m_parent, title, m_config, true) + ConfigOptionsGroupShp optgroup = is_extruder_og ? std::make_shared(m_parent, title, icon, m_config, true) // ORCA: add support for icons : std::make_shared(m_parent, title, icon, m_config, true); optgroup->split_multi_line = this->m_split_multi_line; optgroup->option_label_at_right = this->m_option_label_at_right; diff --git a/src/slic3r/GUI/UnsavedChangesDialog.cpp b/src/slic3r/GUI/UnsavedChangesDialog.cpp index a0ca6770659..cf22df0cfa6 100644 --- a/src/slic3r/GUI/UnsavedChangesDialog.cpp +++ b/src/slic3r/GUI/UnsavedChangesDialog.cpp @@ -2250,7 +2250,7 @@ void DiffPresetDialog::update_tree() Search::Option option = searcher.get_option(opt_key, get_full_label(opt_key, left_config), type); if (option.opt_key() != opt_key) { // temporary solution, just for testing - m_tree->Append(opt_key, type, "Undef category", "Undef group", opt_key, left_val, right_val, "question"); + m_tree->Append(opt_key, type, "Undef category", "Undef group", opt_key, left_val, right_val, "undefined"); // ORCA: use low resolution compatible icon // When founded option isn't the correct one. // It can be for dirty_options: "default_print_profile", "printer_model", "printer_settings_id", // because of they don't exist in searcher From 7d6d9e95ba5c0ac6b27484ef1d92cfd4ff240e45 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Tue, 21 May 2024 00:21:35 +0800 Subject: [PATCH 041/178] update locale --- localization/i18n/OrcaSlicer.pot | 420 +- localization/i18n/ca/OrcaSlicer_ca.po | 474 +- localization/i18n/cs/OrcaSlicer_cs.po | 468 +- localization/i18n/de/OrcaSlicer_de.po | 549 +- localization/i18n/en/OrcaSlicer_en.po | 456 +- localization/i18n/es/OrcaSlicer_es.po | 479 +- localization/i18n/fr/OrcaSlicer_fr.po | 967 +-- localization/i18n/hu/OrcaSlicer_hu.po | 452 +- localization/i18n/it/OrcaSlicer_it.po | 476 +- localization/i18n/ja/OrcaSlicer_ja.po | 448 +- localization/i18n/ko/OrcaSlicer_ko.po | 507 +- localization/i18n/nl/OrcaSlicer_nl.po | 452 +- localization/i18n/pl/OrcaSlicer_pl.po | 7419 ++++++++++++++----- localization/i18n/pt_BR/OrcaSlicer_pt_BR.po | 474 +- localization/i18n/ru/OrcaSlicer_ru.po | 474 +- localization/i18n/sv/OrcaSlicer_sv.po | 450 +- localization/i18n/tr/OrcaSlicer_tr.po | 2057 ++--- localization/i18n/uk/OrcaSlicer_uk.po | 462 +- localization/i18n/zh_CN/OrcaSlicer_zh_CN.po | 449 +- localization/i18n/zh_TW/OrcaSlicer_zh_TW.po | 476 +- src/slic3r/GUI/AboutDialog.cpp | 4 +- src/slic3r/GUI/CreatePresetsDialog.cpp | 2 +- src/slic3r/GUI/GUI_App.cpp | 2 +- src/slic3r/GUI/MainFrame.cpp | 2 +- src/slic3r/GUI/Plater.cpp | 2 +- src/slic3r/GUI/Preferences.cpp | 2 +- src/slic3r/GUI/UpgradePanel.cpp | 2 +- src/slic3r/GUI/Widgets/SideTools.cpp | 2 +- 28 files changed, 13272 insertions(+), 5155 deletions(-) diff --git a/localization/i18n/OrcaSlicer.pot b/localization/i18n/OrcaSlicer.pot index bed88115d4f..5ffd2250e8d 100644 --- a/localization/i18n/OrcaSlicer.pot +++ b/localization/i18n/OrcaSlicer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1834,6 +1834,9 @@ msgstr "" msgid "Add Handy models" msgstr "" +msgid "Add Models" +msgstr "" + msgid "Show Labels" msgstr "" @@ -2309,7 +2312,7 @@ msgstr "" msgid "Connection to printer failed" msgstr "" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "" msgid "Connecting..." @@ -2633,10 +2636,7 @@ msgstr "" msgid "GNU Affero General Public License, version 3" msgstr "" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" msgid "Libraries" @@ -3078,6 +3078,210 @@ msgstr "" msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" msgstr "" +msgid "Device" +msgstr "" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "" + +msgid "N/A" +msgstr "" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "" + +msgid "Idle" +msgstr "" + +msgid "Printing" +msgstr "" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "" + +msgid "Slicing" +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 "Resume" +msgstr "" + +msgid "Stop" +msgstr "" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "" + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "" + +msgid "Abnormal print file data. Please slice again" +msgstr "" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +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 "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 length exceeds the limit." +msgstr "" + msgid "Origin" msgstr "" @@ -3521,9 +3725,6 @@ msgstr "" msgid "parameter name" msgstr "" -msgid "N/A" -msgstr "" - #, possible-c-format, possible-boost-format msgid "%s can't be percentage" msgstr "" @@ -3838,9 +4039,6 @@ msgstr "" msgid "Align to Y axis" msgstr "" -msgid "Add" -msgstr "" - msgid "Add plate" msgstr "" @@ -4017,15 +4215,9 @@ msgstr "" msgid "Logging" msgstr "" -msgid "Prepare" -msgstr "" - msgid "Preview" msgstr "" -msgid "Device" -msgstr "" - msgid "Multi-device" msgstr "" @@ -4053,9 +4245,6 @@ msgstr "" msgid "Export G-code file" msgstr "" -msgid "Send" -msgstr "" - msgid "Export plate sliced file" msgstr "" @@ -4068,9 +4257,6 @@ msgstr "" msgid "Send all" msgstr "" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "" @@ -4212,7 +4398,7 @@ msgstr "" msgid "Export current plate as G-code" msgstr "" -msgid "Export &Configs" +msgid "Export Preset Bundle" msgstr "" msgid "Export current configuration to files" @@ -4314,9 +4500,6 @@ msgstr "" msgid "Preferences" msgstr "" -msgid "View" -msgstr "" - msgid "Help" msgstr "" @@ -4383,10 +4566,10 @@ msgstr "" msgid "Export toolpaths as OBJ" msgstr "" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "" -msgid "Open Studio" +msgid "Open Slicer" msgstr "" msgid "&Quit" @@ -4550,9 +4733,6 @@ msgstr "" msgid "Playing..." msgstr "" -msgid "Loading..." -msgstr "" - msgid "Year" msgstr "" @@ -4706,11 +4886,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -4769,12 +4944,6 @@ msgstr "" msgid "Printing Progress" msgstr "" -msgid "Resume" -msgstr "" - -msgid "Stop" -msgstr "" - msgid "0" msgstr "" @@ -5486,6 +5655,9 @@ msgstr "" 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 "" @@ -5600,9 +5772,6 @@ msgstr "" msgid "Error during reload" msgstr "" -msgid "Slicing" -msgstr "" - msgid "There are warnings after slicing models:" msgstr "" @@ -5669,7 +5838,7 @@ msgid "Project downloaded %d%%" msgstr "" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" @@ -5709,18 +5878,12 @@ msgstr "" msgid "Can not add models when in preview mode!" msgstr "" -msgid "Add Models" -msgstr "" - msgid "All objects will be removed, continue?" msgstr "" msgid "The current project has unsaved changes, save it before continue?" msgstr "" -msgid "Remember my choice." -msgstr "" - msgid "Number of copies:" msgstr "" @@ -5912,6 +6075,11 @@ msgstr "" msgid "Stealth Mode" msgstr "" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "" @@ -6016,7 +6184,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6232,9 +6400,6 @@ msgstr "" msgid "Create printer" msgstr "" -msgid "Incompatible" -msgstr "" - msgid "The selected preset is null!" msgstr "" @@ -6329,15 +6494,6 @@ msgstr "" msgid "Preset Inside Project" msgstr "" -msgid "Name is invalid;" -msgstr "" - -msgid "illegal characters:" -msgstr "" - -msgid "illegal suffix:" -msgstr "" - msgid "Name is unavailable." msgstr "" @@ -6355,15 +6511,6 @@ msgstr "" msgid "Please note that saving action will replace this preset" 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 cannot be the same as a preset alias name." msgstr "" @@ -6421,9 +6568,6 @@ msgstr "" msgid "Log out successful." msgstr "" -msgid "Offline" -msgstr "" - msgid "Busy" msgstr "" @@ -6606,15 +6750,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" -msgid "Preparing print job" -msgstr "" - -msgid "Abnormal print file data. Please slice again" -msgstr "" - -msgid "The name length exceeds the limit." -msgstr "" - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -6938,6 +7073,9 @@ msgstr "" msgid "Tree supports" msgstr "" +msgid "Skirt" +msgstr "" + msgid "Prime tower" msgstr "" @@ -7781,6 +7919,12 @@ msgstr "" msgid "Shift+Mouse wheel" msgstr "" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "" @@ -7897,12 +8041,6 @@ msgstr "" msgid "Update firmware" msgstr "" -msgid "Printing" -msgstr "" - -msgid "Idle" -msgstr "" - msgid "Beta version" msgstr "" @@ -7932,7 +8070,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" msgid "Extension Board" @@ -8062,9 +8200,6 @@ msgstr "" msgid "Gap infill" msgstr "" -msgid "Skirt" -msgstr "" - msgid "Support interface" msgstr "" @@ -9619,7 +9754,7 @@ msgstr "" msgid "(Undefined)" msgstr "" -msgid "Infill direction" +msgid "Sparse infill direction" msgstr "" msgid "" @@ -9627,6 +9762,20 @@ msgid "" "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 "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "" @@ -9915,8 +10064,14 @@ msgid "Arc fitting" msgstr "" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" msgid "Add line number" @@ -10106,9 +10261,24 @@ 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" msgid "Speed of internal sparse infill" @@ -10971,6 +11141,23 @@ msgstr "" msgid "How many layers of skirt. Usually only one layer" 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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "" @@ -10983,6 +11170,17 @@ msgstr "" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." msgstr "" +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -11599,6 +11797,19 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "" @@ -13248,7 +13459,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -13257,9 +13468,6 @@ msgstr "" msgid "Printer Setting" msgstr "" -msgid "Export Configs" -msgstr "" - msgid "Printer config bundle(.orca_printer)" msgstr "" diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po index 02750582624..7965f645b80 100644 --- a/localization/i18n/ca/OrcaSlicer_ca.po +++ b/localization/i18n/ca/OrcaSlicer_ca.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: 2024-03-17 22:08+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -1911,6 +1911,9 @@ msgstr "Afegir primitiva" msgid "Add Handy models" msgstr "Afegir models Handy" +msgid "Add Models" +msgstr "Afegir models" + msgid "Show Labels" msgstr "Mostrar etiquetes" @@ -2408,7 +2411,7 @@ msgstr "No s'ha pogut connectar a la impressora" msgid "Connection to printer failed" msgstr "S'ha produït un error de connexió amb la impressora" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "Comproveu la connexió de xarxa de la impressora i l'Studio." msgid "Connecting..." @@ -2764,14 +2767,8 @@ msgstr "Orca Slicer té llicència sota " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, versió 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" -"Orca Slicer es basa en BambuStudio de Bambulab, que és de PrusaSlicer de " -"Prusa Research. PrusaSlicer és de Slic3r d'Alessandro Ranellucci i la " -"comunitat RepRap" msgid "Libraries" msgstr "Llibreries" @@ -3267,6 +3264,210 @@ msgstr "" "Pujada planificada a `%1%`. Mira Finestra -> Puja a la cua del gestor " "d'impressió" +msgid "Device" +msgstr "Dispositiu" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Offline" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "Vista" + +msgid "N/A" +msgstr "N/D" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Afegir" + +msgid "Idle" +msgstr "Inactiu" + +msgid "Printing" +msgstr "Imprimint" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Incompatible" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Preparació" + +msgid "Slicing" +msgstr "Laminant" + +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 "Resume" +msgstr "Reprendre" + +msgid "Stop" +msgstr "Aturar" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Carregant…" + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "Preparant el treball d'impressió" + +msgid "Abnormal print file data. Please slice again" +msgstr "Dades anormals del fitxer d'impressió. Si us plau, torneu a laminar" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +msgstr "Enviar" + +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 "Name is invalid;" +msgstr "El nom no és vàlid;" + +msgid "illegal characters:" +msgstr "caràcters no permesos:" + +msgid "illegal suffix:" +msgstr "sufix no permès:" + +msgid "The name is not allowed to be empty." +msgstr "No es permet que el nom estigui buit." + +msgid "The name is not allowed to start with space character." +msgstr "No es permet que el nom comenci amb caràcter d'espai." + +msgid "The name is not allowed to end with space character." +msgstr "No es permet que el nom acabi amb caràcter d'espai." + +msgid "The name length exceeds the limit." +msgstr "La longitud del nom supera el límit." + msgid "Origin" msgstr "Origen" @@ -3790,9 +3991,6 @@ msgstr "Configuració de la Impressora" msgid "parameter name" msgstr "nom del paràmetre" -msgid "N/A" -msgstr "N/D" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s no pot ser un percentatge" @@ -4110,9 +4308,6 @@ msgstr "Evitar la regió de calibratge d'extrusió" msgid "Align to Y axis" msgstr "Alinear a l'eix Y" -msgid "Add" -msgstr "Afegir" - msgid "Add plate" msgstr "Afegir placa" @@ -4300,15 +4495,9 @@ msgstr "Tancant l'aplicació mentre s'han modificat alguns perfils." msgid "Logging" msgstr "Registrant" -msgid "Prepare" -msgstr "Preparació" - msgid "Preview" msgstr "Previsualització" -msgid "Device" -msgstr "Dispositiu" - msgid "Multi-device" msgstr "" @@ -4336,9 +4525,6 @@ msgstr "Laminar-ho tot" msgid "Export G-code file" msgstr "Exportar el fitxer del Codi-G" -msgid "Send" -msgstr "Enviar" - msgid "Export plate sliced file" msgstr "Exportar fitxer de la placa laminada" @@ -4351,9 +4537,6 @@ msgstr "Imprimeix-ho tot" msgid "Send all" msgstr "Envia-ho tot" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "Dreceres de teclat" @@ -4495,8 +4678,8 @@ msgstr "Exportar el Codi-G" msgid "Export current plate as G-code" msgstr "Exportar placa actual com a Codi-G" -msgid "Export &Configs" -msgstr "Exportar &Configuracions" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Exportar la configuració actual a fitxers" @@ -4597,9 +4780,6 @@ msgstr "Mostra el ressaltat del voladís de l'objecte a l'escena 3D" msgid "Preferences" msgstr "Preferències" -msgid "View" -msgstr "Vista" - msgid "Help" msgstr "Ajuda" @@ -4666,10 +4846,10 @@ msgstr "Exportar &Trajectòries d'eina com OBJ" msgid "Export toolpaths as OBJ" msgstr "Exportar trajectòries d'eines com a OBJ" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Obrir &Studio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Obrir Studio" msgid "&Quit" @@ -4856,9 +5036,6 @@ msgstr "Informació" msgid "Playing..." msgstr "Reproduint..." -msgid "Loading..." -msgstr "Carregant…" - msgid "Year" msgstr "Any" @@ -5019,11 +5196,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -5082,12 +5254,6 @@ msgstr "Invertir eix de Balanceig" msgid "Printing Progress" msgstr "Progrés de la impressió" -msgid "Resume" -msgstr "Reprendre" - -msgid "Stop" -msgstr "Aturar" - msgid "0" msgstr "0" @@ -5861,6 +6027,9 @@ msgstr "El nom dels components dins del fitxer de passos no té format UTF8!" msgid "The name may show garbage characters!" msgstr "El nom pot mostrar caràcters no vàlids!" +msgid "Remember my choice." +msgstr "Recordar la meva elecció." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "" @@ -5988,9 +6157,6 @@ msgstr "No es pot tornar a carregar:" msgid "Error during reload" msgstr "S'ha produït un error durant la recàrrega" -msgid "Slicing" -msgstr "Laminant" - msgid "There are warnings after slicing models:" msgstr "Hi ha advertències després de laminar els models:" @@ -6065,9 +6231,11 @@ msgid "Project downloaded %d%%" msgstr "Projecte descarregat %d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" +"La importació a Orca Slicer ha fallat. Descarregueu el fitxer manualment i " +"importeu-lo." msgid "Import SLA archive" msgstr "Importar fitxer SLA" @@ -6105,9 +6273,6 @@ msgstr "Els fitxers de Codi-G no es poden carregar amb els models junts!" msgid "Can not add models when in preview mode!" msgstr "No es poden afegir models en mode de previsualització!" -msgid "Add Models" -msgstr "Afegir models" - msgid "All objects will be removed, continue?" msgstr "Tots els objectes seran eliminats, vols continuar?" @@ -6115,9 +6280,6 @@ msgid "The current project has unsaved changes, save it before continue?" msgstr "" "El projecte actual té canvis no guardats, guardar-los abans de continuar?" -msgid "Remember my choice." -msgstr "Recordar la meva elecció." - msgid "Number of copies:" msgstr "Nombre de còpies:" @@ -6325,6 +6487,11 @@ msgstr "Regió d'inici de sessió" msgid "Stealth Mode" msgstr "Mode Silenciós" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "" @@ -6436,7 +6603,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6662,9 +6829,6 @@ msgstr "Seleccionar/eliminar impressores ( perfils del sistema )" msgid "Create printer" msgstr "Crear impressora" -msgid "Incompatible" -msgstr "Incompatible" - msgid "The selected preset is null!" msgstr "El perfil seleccionat és nul!" @@ -6760,15 +6924,6 @@ msgstr "Perfil d'usuari" msgid "Preset Inside Project" msgstr "Perfil intern del Projecte" -msgid "Name is invalid;" -msgstr "El nom no és vàlid;" - -msgid "illegal characters:" -msgstr "caràcters no permesos:" - -msgid "illegal suffix:" -msgstr "sufix no permès:" - msgid "Name is unavailable." msgstr "El nom no està disponible." @@ -6787,15 +6942,6 @@ msgstr "" msgid "Please note that saving action will replace this preset" msgstr "Tingueu en compte que l'acció de desar substituirà aquest perfil" -msgid "The name is not allowed to be empty." -msgstr "No es permet que el nom estigui buit." - -msgid "The name is not allowed to start with space character." -msgstr "No es permet que el nom comenci amb caràcter d'espai." - -msgid "The name is not allowed to end with space character." -msgstr "No es permet que el nom acabi amb caràcter d'espai." - msgid "The name cannot be the same as a preset alias name." msgstr "El nom no pot ser el mateix que un àlies preestablert." @@ -6853,9 +6999,6 @@ msgstr "No puc trobar els meus dispositius?" msgid "Log out successful." msgstr "Tancament de sessió correcte." -msgid "Offline" -msgstr "Offline" - msgid "Busy" msgstr "Ocupat" @@ -7074,15 +7217,6 @@ msgstr "" "Connectant amb la impressora. No es pot cancel·lar durant el procés de " "connexió." -msgid "Preparing print job" -msgstr "Preparant el treball d'impressió" - -msgid "Abnormal print file data. Please slice again" -msgstr "Dades anormals del fitxer d'impressió. Si us plau, torneu a laminar" - -msgid "The name length exceeds the limit." -msgstr "La longitud del nom supera el límit." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7468,6 +7602,9 @@ msgstr "Filament de suport" msgid "Tree supports" msgstr "Suports d'arbre" +msgid "Skirt" +msgstr "Faldilla" + msgid "Prime tower" msgstr "Torre de Purga" @@ -8383,6 +8520,12 @@ msgstr "Moure la barra de desplaçament 5 vegades més ràpid" msgid "Shift+Mouse wheel" msgstr "Maj+Roda del ratolí" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Notes de la versió" @@ -8510,12 +8653,6 @@ msgstr "Versió:" msgid "Update firmware" msgstr "Actualitzar el firmware" -msgid "Printing" -msgstr "Imprimint" - -msgid "Idle" -msgstr "Inactiu" - msgid "Beta version" msgstr "Versió beta" @@ -8550,7 +8687,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "La versió del firmware és anormal. Cal reparar i actualitzar abans " "d'imprimir. Vols actualitzar ara? També pots actualitzar més endavant a la " @@ -8695,9 +8832,6 @@ msgstr "Pont Interior" msgid "Gap infill" msgstr "Ompliment de buits" -msgid "Skirt" -msgstr "Faldilla" - msgid "Support interface" msgstr "Interfície de suport" @@ -10721,8 +10855,8 @@ msgstr "Fabricant del filament. Només per a mostrar" msgid "(Undefined)" msgstr "( Indefinit )" -msgid "Infill direction" -msgstr "Angle de farciment" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10731,6 +10865,20 @@ msgstr "" "Angle per a un patró de farciment poc dens, que controla l'inici o la " "direcció principal de la línia" +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Densitat de farciment poc dens" @@ -11081,11 +11229,15 @@ msgid "Arc fitting" msgstr "Ajustament en Arc( Arc fitting )" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"Habiliteu-lo per obtenir un fitxer de Codi-G que tingui moviments G2 i G3. I " -"la tolerància de curvatura és la mateixa que la resolució" msgid "Add line number" msgstr "Afegir número de línia" @@ -11321,13 +11473,25 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Superposició de farciment/perímetre" +#, 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"L'àrea de farciment s'amplia lleugerament per superposar-se amb el perímetre " -"per a una millor unió. El valor percentual és relatiu a l'amplada de línia " -"del farciment poc dens" msgid "Speed of internal sparse infill" msgstr "Velocitat de farciment poc dens intern" @@ -12414,6 +12578,23 @@ msgstr "Alçada de la faldilla" msgid "How many layers of skirt. Usually only one layer" msgstr "Quantes capes de faldilla. Normalment només una capa" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Voltes de la faldilla" @@ -12428,6 +12609,17 @@ msgstr "" "Velocitat de la faldilla, en mm/s. Zero significa utilitzar la velocitat " "predeterminada d'extrusió de capa." +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -13207,6 +13399,19 @@ msgstr "Espaiat de les línies de la Torre de Purga" msgid "Spacing of purge lines on the wipe tower." msgstr "Espaiat de les línies de purga de la Torre de Purga." +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "Extrusor de la Torre de Purga" @@ -15174,7 +15379,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -15183,9 +15388,6 @@ msgstr "" msgid "Printer Setting" msgstr "Configuració de la Impressora" -msgid "Export Configs" -msgstr "Exportar Configuracions" - msgid "Printer config bundle(.orca_printer)" msgstr "Paquet de configuració d'impressores( .orca_printer )" @@ -16182,6 +16384,39 @@ msgstr "" "augmentar adequadament la temperatura del llit pot reduir la probabilitat de " "deformació." +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "Orca Slicer es basa en BambuStudio de Bambulab, que és de PrusaSlicer de " +#~ "Prusa Research. PrusaSlicer és de Slic3r d'Alessandro Ranellucci i la " +#~ "comunitat RepRap" + +#~ msgid "Export &Configs" +#~ msgstr "Exportar &Configuracions" + +#~ msgid "Infill direction" +#~ msgstr "Angle de farciment" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Habiliteu-lo per obtenir un fitxer de Codi-G que tingui moviments G2 i " +#~ "G3. I la tolerància de curvatura és la mateixa que la resolució" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "L'àrea de farciment s'amplia lleugerament per superposar-se amb el " +#~ "perímetre per a una millor unió. El valor percentual és relatiu a " +#~ "l'amplada de línia del farciment poc dens" + +#~ msgid "Export Configs" +#~ msgstr "Exportar Configuracions" + #~ msgid "Unload Filament" #~ msgstr "Descarregar Filament" @@ -16207,13 +16442,6 @@ msgstr "" #~ msgid "HMS" #~ msgstr "HMS" -#~ msgid "" -#~ "Importing to Orca Slicer failed. Please download the file and manually " -#~ "import it." -#~ msgstr "" -#~ "La importació a Orca Slicer ha fallat. Descarregueu el fitxer manualment " -#~ "i importeu-lo." - #~ msgid "- ℃" #~ msgstr "- °C" diff --git a/localization/i18n/cs/OrcaSlicer_cs.po b/localization/i18n/cs/OrcaSlicer_cs.po index cb3c5ce17a9..d6336904f6d 100644 --- a/localization/i18n/cs/OrcaSlicer_cs.po +++ b/localization/i18n/cs/OrcaSlicer_cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: 2023-09-30 15:15+0200\n" "Last-Translator: René Mošner \n" "Language-Team: \n" @@ -1867,6 +1867,9 @@ msgstr "Přidat Primitivní" msgid "Add Handy models" msgstr "" +msgid "Add Models" +msgstr "Přidat modely" + msgid "Show Labels" msgstr "Zobrazit štítky" @@ -2362,7 +2365,7 @@ msgstr "Nepodařilo se připojit k tiskárně" msgid "Connection to printer failed" msgstr "Připojení k tiskárně selhalo" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "Prosím, zkontrolujte síťové připojení tiskárny a Studia." msgid "Connecting..." @@ -2715,14 +2718,8 @@ msgstr "Orca Slicer je licencován pod " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, verze 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" -"Orca Slicer je založen na BambuStudio od Bambulab, které je od PrusaSlicer " -"od Prusa Research. PrusaSlicer je od Slic3r od Alessandra Ranellucciho a " -"komunita RepRap" msgid "Libraries" msgstr "Knihovny" @@ -3207,6 +3204,210 @@ msgstr "" "Plánování nahrávání do `%1%`. Viz Okno -> Fronta nahrávaní do tiskového " "serveru" +msgid "Device" +msgstr "Zařízení" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Offline" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "Zobrazení" + +msgid "N/A" +msgstr "N/A" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Přidat" + +msgid "Idle" +msgstr "Nečinný" + +msgid "Printing" +msgstr "Tisk" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Nekompatibilní" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Připravit" + +msgid "Slicing" +msgstr "Slicování" + +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 "Resume" +msgstr "Pokračovat" + +msgid "Stop" +msgstr "Zastavit" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Načítání..." + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "Příprava tiskové úlohy" + +msgid "Abnormal print file data. Please slice again" +msgstr "Abnormální data tiskového souboru. Prosím znovu slicovat" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +msgstr "Odeslat" + +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 "Name is invalid;" +msgstr "Jméno je neplatné;" + +msgid "illegal characters:" +msgstr "nepovolené znaky:" + +msgid "illegal suffix:" +msgstr "nelegální přípona:" + +msgid "The name is not allowed to be empty." +msgstr "Název nesmí být prázdný." + +msgid "The name is not allowed to start with space character." +msgstr "Název nesmí začínat mezerou." + +msgid "The name is not allowed to end with space character." +msgstr "Název nesmí končit mezerou." + +msgid "The name length exceeds the limit." +msgstr "Délka názvu překračuje limit." + msgid "Origin" msgstr "Počátek" @@ -3717,9 +3918,6 @@ msgstr "Nastavení tiskárny" msgid "parameter name" msgstr "název parametru" -msgid "N/A" -msgstr "N/A" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s nemůže být procento" @@ -4037,9 +4235,6 @@ msgstr "Vyhněte se oblasti kalibrace extruze" msgid "Align to Y axis" msgstr "Zarovnat podle osy Y" -msgid "Add" -msgstr "Přidat" - msgid "Add plate" msgstr "Přidat Podložku" @@ -4226,15 +4421,9 @@ msgstr "Uzavření aplikace, zatímco některé přednastavení jsou upraveny." msgid "Logging" msgstr "Protokolování" -msgid "Prepare" -msgstr "Připravit" - msgid "Preview" msgstr "Náhled" -msgid "Device" -msgstr "Zařízení" - msgid "Multi-device" msgstr "" @@ -4262,9 +4451,6 @@ msgstr "Slicuj Vše" msgid "Export G-code file" msgstr "Exportovat soubor s G-kódem" -msgid "Send" -msgstr "Odeslat" - msgid "Export plate sliced file" msgstr "Exportovat soubor slicované na podložce" @@ -4277,9 +4463,6 @@ msgstr "Vytisknout vše" msgid "Send all" msgstr "Odeslat vše" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "Klávesové zkratky" @@ -4421,8 +4604,8 @@ msgstr "Exportovat G-kód" msgid "Export current plate as G-code" msgstr "Exportovat stávající plochu do G-kód" -msgid "Export &Configs" -msgstr "Exportovat &konfigurace" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Exportovat aktuální konfiguraci do souborů" @@ -4523,9 +4706,6 @@ msgstr "Zobrazit zvýraznění převisů objektu ve 3D scéně" msgid "Preferences" msgstr "Nastavení" -msgid "View" -msgstr "Zobrazení" - msgid "Help" msgstr "Nápověda" @@ -4592,10 +4772,10 @@ msgstr "Exportovat &Trasy extruderu jako OBJ" msgid "Export toolpaths as OBJ" msgstr "Exportovat trasy extruderu jako OBJ" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Otevřít &Studio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Otevřít Studio" msgid "&Quit" @@ -4777,9 +4957,6 @@ msgstr "Informace" msgid "Playing..." msgstr "Hraje..." -msgid "Loading..." -msgstr "Načítání..." - msgid "Year" msgstr "Rok" @@ -4938,11 +5115,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -5001,12 +5173,6 @@ msgstr "Obrátit osu Rotace" msgid "Printing Progress" msgstr "Průběh tisku" -msgid "Resume" -msgstr "Pokračovat" - -msgid "Stop" -msgstr "Zastavit" - msgid "0" msgstr "0" @@ -5770,6 +5936,9 @@ msgstr "Názvy součástí v souboru kroku nejsou ve formátu UTF8!" msgid "The name may show garbage characters!" msgstr "Kvůli nepodporovanému kódování textu se mohou objevit nesmyslné znaky!" +msgid "Remember my choice." +msgstr "Zapamatovat si mou volbu." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "" @@ -5895,9 +6064,6 @@ msgstr "Nelze znovu načíst:" msgid "Error during reload" msgstr "Chyba při opětovném načtení souboru" -msgid "Slicing" -msgstr "Slicování" - msgid "There are warnings after slicing models:" msgstr "Po slicování modelů jsou varování:" @@ -5971,9 +6137,10 @@ msgid "Project downloaded %d%%" msgstr "Projekt stažen %d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" +"Import do Orca Sliceru selhal. Stáhněte soubor a proveďte jeho ruční import." msgid "Import SLA archive" msgstr "" @@ -6011,18 +6178,12 @@ msgstr "Soubory G-kódu a modely nelze načíst společně!" msgid "Can not add models when in preview mode!" msgstr "Nelze přidat modely v režimu náhledu!" -msgid "Add Models" -msgstr "Přidat modely" - msgid "All objects will be removed, continue?" msgstr "Všechny objekty budou odebrány, pokračovat?" msgid "The current project has unsaved changes, save it before continue?" msgstr "Aktuální projekt má neuložené změny, uložit je před pokračováním?" -msgid "Remember my choice." -msgstr "Zapamatovat si mou volbu." - msgid "Number of copies:" msgstr "Počet kopií:" @@ -6224,6 +6385,11 @@ msgstr "Región přihlášení" msgid "Stealth Mode" msgstr "Tajný Režim" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "" @@ -6330,7 +6496,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6554,9 +6720,6 @@ msgstr "" msgid "Create printer" msgstr "" -msgid "Incompatible" -msgstr "Nekompatibilní" - msgid "The selected preset is null!" msgstr "Vybrané přednastavení je nula!" @@ -6651,15 +6814,6 @@ msgstr "Uživatelská předvolba" msgid "Preset Inside Project" msgstr "Projekt uvnitř přednastavení" -msgid "Name is invalid;" -msgstr "Jméno je neplatné;" - -msgid "illegal characters:" -msgstr "nepovolené znaky:" - -msgid "illegal suffix:" -msgstr "nelegální přípona:" - msgid "Name is unavailable." msgstr "Jméno není k dispozici." @@ -6678,15 +6832,6 @@ msgstr "" msgid "Please note that saving action will replace this preset" msgstr "Upozorňujeme, že akce uložení nahradí toto přednastavení" -msgid "The name is not allowed to be empty." -msgstr "Název nesmí být prázdný." - -msgid "The name is not allowed to start with space character." -msgstr "Název nesmí začínat mezerou." - -msgid "The name is not allowed to end with space character." -msgstr "Název nesmí končit mezerou." - msgid "The name cannot be the same as a preset alias name." msgstr "Název se nesmí shodovat s názvem aliasem přednastavení." @@ -6744,9 +6889,6 @@ msgstr "Nemohu najít moje zařízení?" msgid "Log out successful." msgstr "Odhlášení proběhlo úspěšně." -msgid "Offline" -msgstr "Offline" - msgid "Busy" msgstr "Zaneprázdněn" @@ -6952,15 +7094,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "Připojování k tiskárně. Nelze zrušit během procesu připojování." -msgid "Preparing print job" -msgstr "Příprava tiskové úlohy" - -msgid "Abnormal print file data. Please slice again" -msgstr "Abnormální data tiskového souboru. Prosím znovu slicovat" - -msgid "The name length exceeds the limit." -msgstr "Délka názvu překračuje limit." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7329,6 +7462,9 @@ msgstr "Filament na podpěry" msgid "Tree supports" msgstr "Stromové podpěry" +msgid "Skirt" +msgstr "Obrys" + msgid "Prime tower" msgstr "Čistící věž" @@ -8228,6 +8364,12 @@ msgstr "Posunout posuvník 5x rychleji" msgid "Shift+Mouse wheel" msgstr "Shift+kolečko myši" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Poznámka k vydání" @@ -8349,12 +8491,6 @@ msgstr "Verze:" msgid "Update firmware" msgstr "Aktualizovat firmware" -msgid "Printing" -msgstr "Tisk" - -msgid "Idle" -msgstr "Nečinný" - msgid "Beta version" msgstr "" @@ -8389,7 +8525,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "Verze firmwaru je abnormální. Oprava a aktualizace jsou nutné před tisk. " "Chcete provést aktualizaci nyní? Aktualizaci můžete provést také později na " @@ -8528,9 +8664,6 @@ msgstr "Vnitřní most" msgid "Gap infill" msgstr "Výplň mezery" -msgid "Skirt" -msgstr "Obrys" - msgid "Support interface" msgstr "Kontaktní vrstva podpěr" @@ -10322,8 +10455,8 @@ msgstr "Výrobce filamentu. Pouze pro zobrazení" msgid "(Undefined)" msgstr "(Nedefinováno)" -msgid "Infill direction" -msgstr "Směr výplně" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10331,6 +10464,20 @@ msgid "" msgstr "" "Úhel pro vzor vnitřní výplně, který řídí začátek nebo hlavní směr linky" +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Hustota vnitřní výplně" @@ -10669,11 +10816,15 @@ msgid "Arc fitting" msgstr "Přizpůsobení oblouku" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"Povolte toto, abyste získali soubor G-kódu, který má pohyby G2 a G3. A " -"tolerance montáže je stejná s rozlišením" msgid "Add line number" msgstr "Přidat číslo řádku" @@ -10903,12 +11054,25 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Výplň/Přesah stěny" +#, 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"Oblast výplně je mírně zvětšena, aby se překrývala se stěnou pro lepší " -"lepení. Procentuální hodnota je vztažena k šířce extruze vnitřní výplně" msgid "Speed of internal sparse infill" msgstr "Rychlost vnitřní výplně" @@ -11906,6 +12070,23 @@ msgstr "Výška obrysu" msgid "How many layers of skirt. Usually only one layer" msgstr "Kolik vrstev Obrysu. Obvykle pouze jedna vrstva" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Obrysové smyčky" @@ -11919,6 +12100,17 @@ msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." msgstr "" "Rychlost obrysu, v mm/s. Nula znamená použít výchozí rychlost vrstvy extruze." +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -12653,6 +12845,19 @@ msgstr "Rozteč čistících linek v čistící věži" msgid "Spacing of purge lines on the wipe tower." msgstr "Rozteč čistících linek v čistící věži." +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "Extruder čistící věže" @@ -14488,7 +14693,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -14497,9 +14702,6 @@ msgstr "" msgid "Printer Setting" msgstr "" -msgid "Export Configs" -msgstr "" - msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -15401,6 +15603,35 @@ msgid "" "probability of warping." msgstr "" +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "Orca Slicer je založen na BambuStudio od Bambulab, které je od " +#~ "PrusaSlicer od Prusa Research. PrusaSlicer je od Slic3r od Alessandra " +#~ "Ranellucciho a komunita RepRap" + +#~ msgid "Export &Configs" +#~ msgstr "Exportovat &konfigurace" + +#~ msgid "Infill direction" +#~ msgstr "Směr výplně" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Povolte toto, abyste získali soubor G-kódu, který má pohyby G2 a G3. A " +#~ "tolerance montáže je stejná s rozlišením" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "Oblast výplně je mírně zvětšena, aby se překrývala se stěnou pro lepší " +#~ "lepení. Procentuální hodnota je vztažena k šířce extruze vnitřní výplně" + #~ msgid "Unload Filament" #~ msgstr "Vysunout Filament" @@ -15426,13 +15657,6 @@ msgstr "" #~ msgid "HMS" #~ msgstr "HMS" -#~ msgid "" -#~ "Importing to Orca Slicer failed. Please download the file and manually " -#~ "import it." -#~ msgstr "" -#~ "Import do Orca Sliceru selhal. Stáhněte soubor a proveďte jeho ruční " -#~ "import." - #~ msgid "- ℃" #~ msgstr "- ℃" diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index 6f046ab33d6..75f20c83d7a 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: \n" "Last-Translator: Heiko Liebscher \n" "Language-Team: \n" @@ -1911,6 +1911,9 @@ msgstr "Primitiv hinzufügen" msgid "Add Handy models" msgstr "Modelle hinzufügen" +msgid "Add Models" +msgstr "Modelle hinzufügen" + msgid "Show Labels" msgstr "Bezeichnung anzeigen" @@ -2423,7 +2426,7 @@ msgstr "Verbindung zum Drucker fehlgeschlagen" msgid "Connection to printer failed" msgstr "Verbindung zum Drucker ist fehlgeschlagen" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "Bitte überprüfen Sie die Netzwerkverbindung von Drucker und Studio." msgid "Connecting..." @@ -2787,14 +2790,8 @@ msgstr "Orca Slicer ist lizenziert unter " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, Version 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" -"Orca Slicer basiert auf BambuStudio von Bambulab, welches von PrusaSlicer " -"von Prusa Research stammt. PrusaSlicer wiederum basiert auf Slic3r von " -"Alessandro Ranellucci und der RepRap-Community." msgid "Libraries" msgstr "Bibliotheken" @@ -3243,9 +3240,7 @@ msgid "Successfully executed post-processing script" msgstr "Nachbearbeitungsskript erfolgreich ausgeführt" msgid "Unknown error occured during exporting G-code." -msgstr "" -"Unbekannter Fehler beim Exportieren des G-Codes aufgetreten." - +msgstr "Unbekannter Fehler beim Exportieren des G-Codes aufgetreten." #, boost-format msgid "" @@ -3253,8 +3248,8 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" -"Das Kopieren des temporären G-Codes in den Ausgabe-G-Code ist fehlgeschlagen. " -"Ist die SD-Karte schreibgeschützt?\n" +"Das Kopieren des temporären G-Codes in den Ausgabe-G-Code ist " +"fehlgeschlagen. Ist die SD-Karte schreibgeschützt?\n" "Fehlermeldung: %1%" #, boost-format @@ -3263,37 +3258,38 @@ msgid "" "problem with target device, please try exporting again or using different " "device. The corrupted output G-code is at %1%.tmp." msgstr "" -"Das Kopieren des temporären G-Codes in den Ausgabe-G-Code ist fehlgeschlagen. " -"Es könnte ein Problem mit dem Zielgerät geben. Versuchen Sie es erneut oder " -"verwenden Sie ein anderes Gerät. Der beschädigte Ausgabe-G-Code befindet sich " -"in %1%.tmp." +"Das Kopieren des temporären G-Codes in den Ausgabe-G-Code ist " +"fehlgeschlagen. Es könnte ein Problem mit dem Zielgerät geben. Versuchen Sie " +"es erneut oder verwenden Sie ein anderes Gerät. Der beschädigte Ausgabe-G-" +"Code befindet sich in %1%.tmp." #, 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 "" -"Das Umbenennen des G-Codes nach dem Kopieren in den ausgewählten " -"Zielordner ist fehlgeschlagen. Der aktuelle Pfad ist %1%.tmp. Bitte versuchen " -"Sie es erneut." +"Das Umbenennen des G-Codes nach dem Kopieren in den ausgewählten Zielordner " +"ist fehlgeschlagen. Der aktuelle Pfad ist %1%.tmp. Bitte versuchen Sie es " +"erneut." #, 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 "" -"Das Kopieren des temporären G-Codes wurde abgeschlossen, aber der ursprüngliche " -"Code unter %1% konnte während der Überprüfung des Kopiervorgangs nicht geöffnet " -"werden. Der Ausgabe-G-Code befindet sich in %2%.tmp." +"Das Kopieren des temporären G-Codes wurde abgeschlossen, aber der " +"ursprüngliche Code unter %1% konnte während der Überprüfung des " +"Kopiervorgangs nicht geöffnet werden. Der Ausgabe-G-Code befindet sich in " +"%2%.tmp." #, 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 "" -"Das Kopieren des temporären G-Codes wurde abgeschlossen, aber der exportierte " -"Code konnte während der Überprüfung des Kopiervorgangs nicht geöffnet werden. " -"Der Ausgabe-G-Code befindet sich in %1%.tmp." +"Das Kopieren des temporären G-Codes wurde abgeschlossen, aber der " +"exportierte Code konnte während der Überprüfung des Kopiervorgangs nicht " +"geöffnet werden. Der Ausgabe-G-Code befindet sich in %1%.tmp." #, boost-format msgid "G-code file exported to %1%" @@ -3321,6 +3317,210 @@ msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" msgstr "" "Planen des Uploads auf `%1%`. Siehe Fenster -> Host-Upload-Druckwarteschlange" +msgid "Device" +msgstr "Gerät" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Offline" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "Ansicht" + +msgid "N/A" +msgstr "N/A" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Hinzufügen" + +msgid "Idle" +msgstr "Inaktiv" + +msgid "Printing" +msgstr "Drucken" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Inkompatibel" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Vorbereiten" + +msgid "Slicing" +msgstr "Slicen" + +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 "Resume" +msgstr "Fortsetzen" + +msgid "Stop" +msgstr "Stop" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Laden..." + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "An Multi-Gerät senden" + +msgid "Preparing print job" +msgstr "Druckauftrag vorbereiten" + +msgid "Abnormal print file data. Please slice again" +msgstr "Fehlerhafte Daten in der Druckdatei. Bitte slicen Sie erneut" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +msgstr "Senden" + +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 "Name is invalid;" +msgstr "Der Name ist ungültig;" + +msgid "illegal characters:" +msgstr "unzulässige Zeichen:" + +msgid "illegal suffix:" +msgstr "unzulässiger Zusatz:" + +msgid "The name is not allowed to be empty." +msgstr "Der Name darf nicht leer sein." + +msgid "The name is not allowed to start with space character." +msgstr "Der Name darf nicht mit einem Leerzeichen beginnen." + +msgid "The name is not allowed to end with space character." +msgstr "Der Name darf nicht mit einem Leerzeichen enden." + +msgid "The name length exceeds the limit." +msgstr "Die Namenslänge überschreitet das Limit." + msgid "Origin" msgstr "Nullpunkt" @@ -3864,9 +4064,6 @@ msgstr "Drucker-Einstellungen" msgid "parameter name" msgstr "Parametername" -msgid "N/A" -msgstr "N/A" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s kann nicht Prozent sein" @@ -4186,9 +4383,6 @@ msgstr "Vermeiden Sie den Bereich der Extrusionskalibrierung" msgid "Align to Y axis" msgstr "An Y-Achse ausrichten" -msgid "Add" -msgstr "Hinzufügen" - msgid "Add plate" msgstr "Druckplatte hinzufügen" @@ -4377,15 +4571,9 @@ msgstr "" msgid "Logging" msgstr "Protokollierung" -msgid "Prepare" -msgstr "Vorbereiten" - msgid "Preview" msgstr "Vorschau" -msgid "Device" -msgstr "Gerät" - msgid "Multi-device" msgstr "Multi-Gerät" @@ -4415,9 +4603,6 @@ msgstr "Alle Platten slicen" msgid "Export G-code file" msgstr "G-Code als Datei exportieren" -msgid "Send" -msgstr "Senden" - msgid "Export plate sliced file" msgstr "Exportiere aktuelle Platte als STL Datei" @@ -4430,9 +4615,6 @@ msgstr "Alle Platten drucken" msgid "Send all" msgstr "Sende alle" -msgid "Send to Multi-device" -msgstr "An Multi-Gerät senden" - msgid "Keyboard Shortcuts" msgstr "Tastaturkürzel" @@ -4574,8 +4756,8 @@ msgstr "Exportiere G-Code" msgid "Export current plate as G-code" msgstr "Aktuelle Druckplatte als G-Code exportieren" -msgid "Export &Configs" -msgstr "Exportieren &Konfigurieren" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Aktuelle Konfiguration in Dateien exportieren" @@ -4676,9 +4858,6 @@ msgstr "Hervorhebung des Objektüberhangs in einer 3D-Szene anzeigen" msgid "Preferences" msgstr "Einstellungen" -msgid "View" -msgstr "Ansicht" - msgid "Help" msgstr "Hilfe" @@ -4745,10 +4924,10 @@ msgstr "Werkzeugwege als OBJ exportieren" msgid "Export toolpaths as OBJ" msgstr "Werkzeugweg als OBJ exportieren" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Öffne &Studio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Öffne Studio" msgid "&Quit" @@ -4954,9 +5133,6 @@ msgstr "Informationen" msgid "Playing..." msgstr "Laufend..." -msgid "Loading..." -msgstr "Laden..." - msgid "Year" msgstr "Jahr" @@ -5124,13 +5300,6 @@ msgstr "" "Der Drucker wird neu verbunden, die Operation kann nicht sofort " "abgeschlossen werden. Bitte versuchen Sie es später erneut." -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" -"Mehr als 4 Systeme/Handy verwenden den Remote-Zugriff. Sie können einige " -"schließen und es erneut versuchen." - msgid "File does not exist." msgstr "Datei existiert nicht." @@ -5189,12 +5358,6 @@ msgstr "Invertiere Roll-Achse" msgid "Printing Progress" msgstr "Druckprozess" -msgid "Resume" -msgstr "Fortsetzen" - -msgid "Stop" -msgstr "Stop" - msgid "0" msgstr "0" @@ -5704,7 +5867,9 @@ msgid "Nozzle Clumping Detection" msgstr "Düsenverklumpen-Erkennung" msgid "Check if the nozzle is clumping by filament or other foreign objects." -msgstr "Überprüfen Sie, ob die Düse durch Filament oder andere Fremdkörper verklumpt ist." +msgstr "" +"Überprüfen Sie, ob die Düse durch Filament oder andere Fremdkörper verklumpt " +"ist." msgid "Nozzle Type" msgstr "Düsentyp" @@ -5980,6 +6145,9 @@ msgstr "" "Aufgrund der nicht unterstützten Textkodierung können unbrauchbare Zeichen " "erscheinen!" +msgid "Remember my choice." +msgstr "Meine Auswahl merken." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "" @@ -6111,9 +6279,6 @@ msgstr "Kann nicht neu geladen werden:" msgid "Error during reload" msgstr "Fehler beim Neuladen" -msgid "Slicing" -msgstr "Slicen" - msgid "There are warnings after slicing models:" msgstr "Es gibt Warnungen nach dem slicen des Modells:" @@ -6187,14 +6352,16 @@ msgstr "Download fehlgeschlagen, Dateigröße nicht erlaubt." #, c-format, boost-format msgid "Project downloaded %d%%" -msgstr "Projekt heruntergeladen %d%%" +msgstr "" +"Projekt heruntergeladen %d%%Der Import in Orca Slicer ist fehlgeschlagen. " +"Bitte laden Sie die Datei herunter und importieren Sie sie manuell." msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" "Der Import in Orca Slicer ist fehlgeschlagen. Bitte laden Sie die Datei " -"herunter und importieren Sie sie manuell." +"manuell herunter und importieren Sie sie." msgid "Import SLA archive" msgstr "SLA-Archiv importieren" @@ -6232,9 +6399,6 @@ msgstr "G-Code-Dateien und Modelle können nicht zusammen geladen werden!" msgid "Can not add models when in preview mode!" msgstr "Modelle können im Vorschaumodus nicht hinzugefügt werden" -msgid "Add Models" -msgstr "Modelle hinzufügen" - msgid "All objects will be removed, continue?" msgstr "Alle Objekte werden entfernt, fortfahren?" @@ -6243,9 +6407,6 @@ msgstr "" "Das aktuelle Projekt enthält nicht gespeicherte Änderungen. Möchten Sie " "speichern, bevor Sie fortfahren?" -msgid "Remember my choice." -msgstr "Meine Auswahl merken." - msgid "Number of copies:" msgstr "Anzahl der Kopien:" @@ -6458,6 +6619,11 @@ msgstr "Login-Region" msgid "Stealth Mode" msgstr "Unsichtbarer Modus" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "Netzwerk-Plugin aktivieren" @@ -6575,7 +6741,7 @@ msgstr "" "Wenn aktiviert, merkt sich Orca die Filament-/Prozesskonfiguration für jeden " "Drucker und wechselt automatisch." -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "Multi-Geräte-Verwaltung (nach Neustart von Studio wirksam)." msgid "" @@ -6801,9 +6967,6 @@ msgstr "Systemdrucker auswählen/entfernen" msgid "Create printer" msgstr "Drucker erstellen" -msgid "Incompatible" -msgstr "Inkompatibel" - msgid "The selected preset is null!" msgstr "Das selektierte Profil ist leer!" @@ -6900,15 +7063,6 @@ msgstr "Benutzer-Profil" msgid "Preset Inside Project" msgstr "Projektbasiertes Profil" -msgid "Name is invalid;" -msgstr "Der Name ist ungültig;" - -msgid "illegal characters:" -msgstr "unzulässige Zeichen:" - -msgid "illegal suffix:" -msgstr "unzulässiger Zusatz:" - msgid "Name is unavailable." msgstr "Der Name ist nicht verfügbar." @@ -6928,15 +7082,6 @@ msgstr "" msgid "Please note that saving action will replace this preset" msgstr "Bitte beachten Sie, dass das Speichern dieses Profil überschreibt." -msgid "The name is not allowed to be empty." -msgstr "Der Name darf nicht leer sein." - -msgid "The name is not allowed to start with space character." -msgstr "Der Name darf nicht mit einem Leerzeichen beginnen." - -msgid "The name is not allowed to end with space character." -msgstr "Der Name darf nicht mit einem Leerzeichen enden." - msgid "The name cannot be the same as a preset alias name." msgstr "Der Name kann nicht mit einem Profil-Aliasnamen identisch sein." @@ -6995,9 +7140,6 @@ msgstr "Kann das Geräte nicht finden?" msgid "Log out successful." msgstr "Abmeldung erfolgreich." -msgid "Offline" -msgstr "Offline" - msgid "Busy" msgstr "Beschäftigt" @@ -7201,9 +7343,9 @@ msgid "" "If you changed your nozzle lately, please go to Device > Printer Parts to " "change settings." msgstr "" -"Ihr Düsendurchmesser in der gesliceten Datei stimmt nicht mit der " -"gemerkten Düse überein. Wenn Sie Ihre Düse kürzlich gewechselt haben, gehen " -"Sie zu Gerät > Drucker-Teile, um die Einstellungen zu ändern." +"Ihr Düsendurchmesser in der gesliceten Datei stimmt nicht mit der gemerkten " +"Düse überein. Wenn Sie Ihre Düse kürzlich gewechselt haben, gehen Sie zu " +"Gerät > Drucker-Teile, um die Einstellungen zu ändern." #, c-format, boost-format msgid "" @@ -7229,15 +7371,6 @@ msgid "" msgstr "" "Verbindung zum Drucker wird hergestellt. Während des Verbindungsvorgangs " -msgid "Preparing print job" -msgstr "Druckauftrag vorbereiten" - -msgid "Abnormal print file data. Please slice again" -msgstr "Fehlerhafte Daten in der Druckdatei. Bitte slicen Sie erneut" - -msgid "The name length exceeds the limit." -msgstr "Die Namenslänge überschreitet das Limit." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7643,6 +7776,9 @@ msgstr "Supportfilament" msgid "Tree supports" msgstr "Baumstützen" +msgid "Skirt" +msgstr "Saum" + msgid "Prime tower" msgstr "Reinigungsturm" @@ -8085,10 +8221,8 @@ msgstr "" "Sie können die geänderten Profilwerte speichern oder verwerfen oder wählen, " "ob Sie die geänderten Werte in das neue Profil übertragen möchten." - msgid "You have previously modified your settings." -msgstr "" -"Sie haben Ihre Einstellungen zuvor geändert." +msgstr "Sie haben Ihre Einstellungen zuvor geändert." msgid "" "\n" @@ -8576,6 +8710,12 @@ msgstr "Schieberegler 5x schneller bewegen" msgid "Shift+Mouse wheel" msgstr "Umschalt+Mausrad" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Hinweis zur Veröffentlichung" @@ -8701,12 +8841,6 @@ msgstr "Version:" msgid "Update firmware" msgstr "Firmware aktualisieren" -msgid "Printing" -msgstr "Drucken" - -msgid "Idle" -msgstr "Inaktiv" - msgid "Beta version" msgstr "Beta-Version" @@ -8742,7 +8876,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "Die Firmware-Version ist nicht korrekt. Vor dem Drucken müssen Sie die " "Firmware reparieren und aktualisieren. Möchten Sie diese jetzt " @@ -8890,9 +9024,6 @@ msgstr "Interne Brücke" msgid "Gap infill" msgstr "Lückenfüllung" -msgid "Skirt" -msgstr "Saum" - msgid "Support interface" msgstr "Stützstruktur-Schnittstelle" @@ -10922,14 +11053,28 @@ msgstr "Hersteller des Filaments. Nur zur Anzeige." msgid "(Undefined)" msgstr "(undefiniert)" -msgid "Infill direction" -msgstr "Richtung der Füllung" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " "of line" msgstr "Winkel des Füllmusters, das die Richtung der Linien bestimmt." +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Fülldichte" @@ -11291,11 +11436,15 @@ msgid "Arc fitting" msgstr "Als Bogen drucken" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"Aktivieren Sie dies, um eine G-Code-Datei zu erhalten, die G2 und G3 Befehle " -"enthält. Die Bogentoleranz ist die gleiche wie die Auflösung." msgid "Add line number" msgstr "Liniennummer hinzufügen" @@ -11530,13 +11679,25 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Überlappung Füllung/Wand" +#, 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"Der Bereich der Füllung wird leicht vergrößert, damit er sich mit der Wand " -"überlappt, um eine bessere Haftung zu erreichen. Der Prozentwert bezieht " -"sich auf die Linienbreite der inneren Füllung." msgid "Speed of internal sparse infill" msgstr "Geschwindigkeit der inneren Füllung" @@ -12626,6 +12787,23 @@ msgstr "Höhe der Umrandungsringe" msgid "How many layers of skirt. Usually only one layer" msgstr "Wie viele Schichten des Skirts. Normalerweise nur eine Schicht." +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Anzahl Umrandungsringe" @@ -12641,6 +12819,17 @@ msgstr "" "Geschwindigkeit der Umrandung in mm/s. Null bedeutet Verwendung der Standard-" "Schichtextrusionsgeschwindigkeit." +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -13423,6 +13612,19 @@ msgstr "Wischabstand der Reinigungsturmpurges" msgid "Spacing of purge lines on the wipe tower." msgstr "Abstand der Reinigungsturmpurges." +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "Reinigungsturm-Extruder" @@ -14754,7 +14956,8 @@ msgstr "Aktivität" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "Dieser Maschinentyp kann nur %d historische Ergebnisse pro Düse speichern." +msgstr "" +"Dieser Maschinentyp kann nur %d historische Ergebnisse pro Düse speichern." msgid "Edit Flow Dynamics Calibration" msgstr "Ändern der Flussdynamik-Kalibrierung" @@ -15415,7 +15618,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -15431,9 +15634,6 @@ msgstr "" msgid "Printer Setting" msgstr "Druckereinstellung" -msgid "Export Configs" -msgstr "Konfigurationen exportieren" - msgid "Printer config bundle(.orca_printer)" msgstr "Drucker-Konfigurationsbündel (.orca_printer)" @@ -15841,7 +16041,6 @@ msgstr "" "Schichtlinien und hoher Druckqualität. Es ist für die meisten allgemeinen " "Druckfälle geeignet." - 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. So, it results in " @@ -15867,8 +16066,8 @@ msgid "" "time." msgstr "" "Im Vergleich zum Standardprofil einer 0,2 mm Düse hat es eine größere " -"Schichthöhe und führt zu leicht sichtbaren Schichtlinien, aber einer kürzeren " -"Druckzeit." +"Schichthöhe und führt zu leicht sichtbaren Schichtlinien, aber einer " +"kürzeren Druckzeit." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -16013,7 +16212,6 @@ msgstr "" "Festigkeit der Drucke, aber mehr Filamentverbrauch und eine längere " "Druckzeit." - msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " @@ -16055,8 +16253,8 @@ msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" -"Es hat eine sehr große Schichthöhe und führt zu sehr deutlichen Schichtlinien, " -"niedriger Druckqualität und allgemeiner Druckzeit." +"Es hat eine sehr große Schichthöhe und führt zu sehr deutlichen " +"Schichtlinien, niedriger Druckqualität und allgemeiner Druckzeit." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " @@ -16541,6 +16739,46 @@ msgstr "" "wie z.B. ABS, durch eine entsprechende Erhöhung der Heizbetttemperatur die " "Wahrscheinlichkeit von Verwerfungen verringert werden kann." +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "Orca Slicer basiert auf BambuStudio von Bambulab, welches von PrusaSlicer " +#~ "von Prusa Research stammt. PrusaSlicer wiederum basiert auf Slic3r von " +#~ "Alessandro Ranellucci und der RepRap-Community." + +#~ msgid "Export &Configs" +#~ msgstr "Exportieren &Konfigurieren" + +#~ msgid "" +#~ "Over 4 systems/handy are using remote access, you can close some and try " +#~ "again." +#~ msgstr "" +#~ "Mehr als 4 Systeme/Handy verwenden den Remote-Zugriff. Sie können einige " +#~ "schließen und es erneut versuchen." + +#~ msgid "Infill direction" +#~ msgstr "Richtung der Füllung" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Aktivieren Sie dies, um eine G-Code-Datei zu erhalten, die G2 und G3 " +#~ "Befehle enthält. Die Bogentoleranz ist die gleiche wie die Auflösung." + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "Der Bereich der Füllung wird leicht vergrößert, damit er sich mit der " +#~ "Wand überlappt, um eine bessere Haftung zu erreichen. Der Prozentwert " +#~ "bezieht sich auf die Linienbreite der inneren Füllung." + +#~ msgid "Export Configs" +#~ msgstr "Konfigurationen exportieren" + #~ msgid "Actions For Unsaved Changes" #~ msgstr "Aktivitäten für nicht gespeicherte Änderungen" @@ -16623,13 +16861,6 @@ msgstr "" #~ msgid "HMS" #~ msgstr "HMS" -#~ msgid "" -#~ "Importing to Orca Slicer failed. Please download the file and manually " -#~ "import it." -#~ msgstr "" -#~ "Der Import in Orca Slicer ist fehlgeschlagen. Bitte laden Sie die Datei " -#~ "manuell herunter und importieren Sie sie." - #~ msgid "- ℃" #~ msgstr "- ℃" diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po index 0e8af19aea4..5e03bfb8682 100644 --- a/localization/i18n/en/OrcaSlicer_en.po +++ b/localization/i18n/en/OrcaSlicer_en.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -1842,6 +1842,9 @@ msgstr "Add Primitive" msgid "Add Handy models" msgstr "" +msgid "Add Models" +msgstr "Add Models" + msgid "Show Labels" msgstr "Show Labels" @@ -2330,8 +2333,8 @@ msgstr "Failed to connect to the printer" msgid "Connection to printer failed" msgstr "Connection to printer failed" -msgid "Please check the network connection of the printer and Studio." -msgstr "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." +msgstr "Please check the network connection of the printer and Orca." msgid "Connecting..." msgstr "Connecting..." @@ -2680,10 +2683,7 @@ msgstr "Orca Slicer is licensed under " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, version 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" msgid "Libraries" @@ -3165,6 +3165,210 @@ msgstr "Copying of the temporary G-code to the output G-code failed." msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" msgstr "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" +msgid "Device" +msgstr "Device" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Offline" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "View" + +msgid "N/A" +msgstr "N/A" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Add" + +msgid "Idle" +msgstr "Idle" + +msgid "Printing" +msgstr "Printing" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Incompatible" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Prepare" + +msgid "Slicing" +msgstr "Slicing" + +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 "Resume" +msgstr "Resume" + +msgid "Stop" +msgstr "Stop" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Loading..." + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "Preparing print job" + +msgid "Abnormal print file data. Please slice again" +msgstr "Abnormal print file data. Please slice again" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +msgstr "Send" + +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 "Name is invalid;" +msgstr "Name is invalid;" + +msgid "illegal characters:" +msgstr "Illegal characters:" + +msgid "illegal suffix:" +msgstr "Illegal suffix:" + +msgid "The name is not allowed to be empty." +msgstr "The name field is not allowed to be empty." + +msgid "The name is not allowed to start with space character." +msgstr "The name is not allowed to start with a space." + +msgid "The name is not allowed to end with space character." +msgstr "The name is not allowed to end with a space." + +msgid "The name length exceeds the limit." +msgstr "The name length exceeds the limit." + msgid "Origin" msgstr "Origin" @@ -3658,9 +3862,6 @@ msgstr "Printer settings" msgid "parameter name" msgstr "parameter name" -msgid "N/A" -msgstr "N/A" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s can’t be a percentage" @@ -3978,9 +4179,6 @@ msgstr "Avoid extrusion calibration region" msgid "Align to Y axis" msgstr "" -msgid "Add" -msgstr "Add" - msgid "Add plate" msgstr "Add Plate" @@ -4166,15 +4364,9 @@ msgstr "Closing Application while some presets are modified." msgid "Logging" msgstr "Logging" -msgid "Prepare" -msgstr "Prepare" - msgid "Preview" msgstr "Preview" -msgid "Device" -msgstr "Device" - msgid "Multi-device" msgstr "" @@ -4202,9 +4394,6 @@ msgstr "Slice all" msgid "Export G-code file" msgstr "Export G-code file" -msgid "Send" -msgstr "Send" - msgid "Export plate sliced file" msgstr "Export plate sliced file" @@ -4217,9 +4406,6 @@ msgstr "Print all" msgid "Send all" msgstr "Send all" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "Keyboard Shortcuts" @@ -4361,8 +4547,8 @@ msgstr "Export G-code" msgid "Export current plate as G-code" msgstr "Export current plate as G-code" -msgid "Export &Configs" -msgstr "Export &Configs" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Export current configuration to files" @@ -4463,9 +4649,6 @@ msgstr "Show object overhang highlight in 3D scene" msgid "Preferences" msgstr "Preferences" -msgid "View" -msgstr "View" - msgid "Help" msgstr "Help" @@ -4532,11 +4715,11 @@ msgstr "Export &Toolpaths as OBJ" msgid "Export toolpaths as OBJ" msgstr "Export toolpaths as OBJ" -msgid "Open &Studio" -msgstr "Open &Studio" +msgid "Open &Slicer" +msgstr "Open &Slicer" -msgid "Open Studio" -msgstr "Open Studio" +msgid "Open Slicer" +msgstr "Open Slicer" msgid "&Quit" msgstr "&Quit" @@ -4709,9 +4892,6 @@ msgstr "Information" msgid "Playing..." msgstr "Playing..." -msgid "Loading..." -msgstr "Loading..." - msgid "Year" msgstr "Year" @@ -4865,11 +5045,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -4928,12 +5103,6 @@ msgstr "" msgid "Printing Progress" msgstr "Printing progress" -msgid "Resume" -msgstr "Resume" - -msgid "Stop" -msgstr "Stop" - msgid "0" msgstr "0" @@ -5668,6 +5837,9 @@ msgstr "Component name(s) inside step file not in UTF8 format!" msgid "The name may show garbage characters!" msgstr "Because of unsupported text encoding, garbage characters may appear!" +msgid "Remember my choice." +msgstr "Remember my choice." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "Failed loading file \"%1%\". An invalid configuration was found." @@ -5792,9 +5964,6 @@ msgstr "" msgid "Error during reload" msgstr "" -msgid "Slicing" -msgstr "Slicing" - msgid "There are warnings after slicing models:" msgstr "There are warnings after slicing models:" @@ -5867,7 +6036,7 @@ msgid "Project downloaded %d%%" msgstr "Project downloaded %d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" @@ -5907,9 +6076,6 @@ msgstr "G-code files and models cannot be loaded together!" msgid "Can not add models when in preview mode!" msgstr "Unable to add models in preview mode" -msgid "Add Models" -msgstr "Add Models" - msgid "All objects will be removed, continue?" msgstr "All objects will be removed, continue?" @@ -5918,9 +6084,6 @@ msgstr "" "The current project has unsaved changes. Would you like to save before " "continuing?" -msgid "Remember my choice." -msgstr "Remember my choice." - msgid "Number of copies:" msgstr "Number of copies:" @@ -6119,6 +6282,11 @@ msgstr "Login Region" msgid "Stealth Mode" msgstr "" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "" @@ -6225,7 +6393,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6449,9 +6617,6 @@ msgstr "" msgid "Create printer" msgstr "" -msgid "Incompatible" -msgstr "Incompatible" - msgid "The selected preset is null!" msgstr "" @@ -6546,15 +6711,6 @@ msgstr "User Preset" msgid "Preset Inside Project" msgstr "Preset Inside Project" -msgid "Name is invalid;" -msgstr "Name is invalid;" - -msgid "illegal characters:" -msgstr "Illegal characters:" - -msgid "illegal suffix:" -msgstr "Illegal suffix:" - msgid "Name is unavailable." msgstr "Name is unavailable." @@ -6573,15 +6729,6 @@ msgstr "" msgid "Please note that saving action will replace this preset" msgstr "Please note that saving will overwrite the current preset." -msgid "The name is not allowed to be empty." -msgstr "The name field is not allowed to be empty." - -msgid "The name is not allowed to start with space character." -msgstr "The name is not allowed to start with a space." - -msgid "The name is not allowed to end with space character." -msgstr "The name is not allowed to end with a space." - msgid "The name cannot be the same as a preset alias name." msgstr "The name cannot be the same as a preset alias name." @@ -6639,9 +6786,6 @@ msgstr "Can't find devices?" msgid "Log out successful." msgstr "Log out successful." -msgid "Offline" -msgstr "Offline" - msgid "Busy" msgstr "Busy" @@ -6846,15 +6990,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" -msgid "Preparing print job" -msgstr "Preparing print job" - -msgid "Abnormal print file data. Please slice again" -msgstr "Abnormal print file data. Please slice again" - -msgid "The name length exceeds the limit." -msgstr "The name length exceeds the limit." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7220,6 +7355,9 @@ msgstr "Filament for Supports" msgid "Tree supports" msgstr "" +msgid "Skirt" +msgstr "" + msgid "Prime tower" msgstr "Prime tower" @@ -8097,6 +8235,12 @@ msgstr "Move slider 5x faster" msgid "Shift+Mouse wheel" msgstr "Shift+Mouse wheel" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Release Note" @@ -8217,12 +8361,6 @@ msgstr "Version:" msgid "Update firmware" msgstr "Update firmware" -msgid "Printing" -msgstr "Printing" - -msgid "Idle" -msgstr "Idle" - msgid "Beta version" msgstr "" @@ -8257,7 +8395,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "The firmware version is abnormal. Repairing and updating are required before " "printing. Do you want to update now? You can also update later on the " @@ -8396,9 +8534,6 @@ msgstr "" msgid "Gap infill" msgstr "Gap infill" -msgid "Skirt" -msgstr "" - msgid "Support interface" msgstr "Support interface" @@ -10102,8 +10237,8 @@ msgstr "" msgid "(Undefined)" msgstr "(Undefined)" -msgid "Infill direction" -msgstr "Infill direction" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10112,6 +10247,20 @@ msgstr "" "This is the angle for sparse infill pattern, which controls the start or " "main direction of lines." +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Sparse infill density" @@ -10417,11 +10566,15 @@ msgid "Arc fitting" msgstr "Arc fitting" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"Enable this to get a G-code file with G2 and G3 moves. The fitting tolerance " -"is the same as the resolution." msgid "Add line number" msgstr "Add line number" @@ -10619,13 +10772,25 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Infill/wall overlap" +#, 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"This allows the infill area to be enlarged slightly to overlap with walls " -"for better bonding. The percentage value is relative to line width of sparse " -"infill." msgid "Speed of internal sparse infill" msgstr "This is the speed for internal sparse infill." @@ -11529,6 +11694,23 @@ msgstr "Skirt height" msgid "How many layers of skirt. Usually only one layer" msgstr "Number of skirt layers: usually only one" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Skirt loops" @@ -11542,6 +11724,17 @@ msgstr "" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." msgstr "" +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -12229,6 +12422,19 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "" @@ -13936,7 +14142,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -13945,9 +14151,6 @@ msgstr "" msgid "Printer Setting" msgstr "" -msgid "Export Configs" -msgstr "" - msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -14833,6 +15036,27 @@ msgid "" "probability of warping." msgstr "" +#~ msgid "Export &Configs" +#~ msgstr "Export &Configs" + +#~ msgid "Infill direction" +#~ msgstr "Infill direction" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Enable this to get a G-code file with G2 and G3 moves. The fitting " +#~ "tolerance is the same as the resolution." + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "This allows the infill area to be enlarged slightly to overlap with walls " +#~ "for better bonding. The percentage value is relative to line width of " +#~ "sparse infill." + #~ msgid "Unload Filament" #~ msgstr "Unload" diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po index dcfac06c880..3f554170b64 100644 --- a/localization/i18n/es/OrcaSlicer_es.po +++ b/localization/i18n/es/OrcaSlicer_es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: \n" "Last-Translator: Carlos Fco. Caruncho Serrano \n" "Language-Team: \n" @@ -1918,6 +1918,9 @@ msgstr "Añadir Primitivo" msgid "Add Handy models" msgstr "Añadir modelos prácticos" +msgid "Add Models" +msgstr "Añadir Modelos" + msgid "Show Labels" msgstr "Mostrar Etiquetas" @@ -2417,8 +2420,8 @@ msgstr "No se ha podido conectar a la impresora" msgid "Connection to printer failed" msgstr "Connection to printer failed" -msgid "Please check the network connection of the printer and Studio." -msgstr "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." +msgstr "Please check the network connection of the printer and Orca." msgid "Connecting..." msgstr "Conectando…" @@ -2773,14 +2776,8 @@ msgstr "Orca Slicer tiene licencia bajo " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, versión 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" -"Orca Slicer está basado en BambuStudio por Bambulab, el cual está basado en " -"PrusaSlicer por Prusa Research. PrusaSlicer está basado en Slic3r de " -"Alessandro Ranellucci y la comunidad RepRap" msgid "Libraries" msgstr "Librerías" @@ -3280,6 +3277,210 @@ msgstr "" "Programación de la carga a %1%. Mire la Ventana -> Cola de Impresión del " "Anfitrión" +msgid "Device" +msgstr "Dispositivo" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Fuera de línea" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "Vista" + +msgid "N/A" +msgstr "N/A" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Añadir" + +msgid "Idle" +msgstr "Inactivo" + +msgid "Printing" +msgstr "Imprimendo" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Incompatible" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Preparar" + +msgid "Slicing" +msgstr "Laminando" + +msgid "Pending" +msgstr "" + +msgid "Sending" +msgstr "Enviando" + +msgid "Sending Finish" +msgstr "" + +msgid "Sending Cancel" +msgstr "" + +msgid "Sending Failed" +msgstr "" + +msgid "Print Success" +msgstr "" + +msgid "Print Failed" +msgstr "" + +msgid "Removed" +msgstr "" + +msgid "Resume" +msgstr "Reanudar" + +msgid "Stop" +msgstr "Detener" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Cargando..." + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "Preparando el trabajo de impresión" + +msgid "Abnormal print file data. Please slice again" +msgstr "Datos anormales del archivo de impresión. Por favor, procese de nuevo" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +msgstr "Enviar" + +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 "Name is invalid;" +msgstr "El nombre no es válido;" + +msgid "illegal characters:" +msgstr "caracteres no permitidos:" + +msgid "illegal suffix:" +msgstr "sufijo no permitido:" + +msgid "The name is not allowed to be empty." +msgstr "No se permite que el nombre esté vacío." + +msgid "The name is not allowed to start with space character." +msgstr "No se permite que el nombre comience con un carácter de espacio." + +msgid "The name is not allowed to end with space character." +msgstr "No se permite que el nombre termine con un espacio." + +msgid "The name length exceeds the limit." +msgstr "The name length exceeds the limit." + msgid "Origin" msgstr "Origen" @@ -3815,9 +4016,6 @@ msgstr "Ajustes de la impresora" msgid "parameter name" msgstr "nombre del parámetro" -msgid "N/A" -msgstr "N/A" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s no puede ser un porcentaje" @@ -4135,9 +4333,6 @@ msgstr "Evitar la zona de calibración del extrusor" msgid "Align to Y axis" msgstr "Alinear con el eje Y" -msgid "Add" -msgstr "Añadir" - msgid "Add plate" msgstr "Añadir bandeja" @@ -4325,15 +4520,9 @@ msgstr "Cerrando la aplicación mientras se modifican algunos perfiles." msgid "Logging" msgstr "Registrando" -msgid "Prepare" -msgstr "Preparar" - msgid "Preview" msgstr "Previsualización" -msgid "Device" -msgstr "Dispositivo" - msgid "Multi-device" msgstr "" @@ -4361,9 +4550,6 @@ msgstr "Laminar todo" msgid "Export G-code file" msgstr "Exportar archivo G-Code" -msgid "Send" -msgstr "Enviar" - msgid "Export plate sliced file" msgstr "Explorar archivo de laminado de bandeja de impresión" @@ -4376,9 +4562,6 @@ msgstr "Imprimir todo" msgid "Send all" msgstr "Mandar todo" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "Atajos de teclado" @@ -4520,8 +4703,8 @@ msgstr "Exportar G-Code" msgid "Export current plate as G-code" msgstr "Exportar bandeja actual cómo G-Code" -msgid "Export &Configs" -msgstr "Exportar &Configuraciones" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Exportar configuración actual a archivos" @@ -4622,9 +4805,6 @@ msgstr "Show object overhang highlight in 3D scene" msgid "Preferences" msgstr "Preferencias" -msgid "View" -msgstr "Vista" - msgid "Help" msgstr "Ayuda" @@ -4691,10 +4871,10 @@ msgstr "Exportar &Movimientos como OBJ" msgid "Export toolpaths as OBJ" msgstr "Exportar trayectorias de herramientas como OBJ" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Abrir $Studio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Abrir Studio" msgid "&Quit" @@ -4881,9 +5061,6 @@ msgstr "Información" msgid "Playing..." msgstr "Reproduciendo..." -msgid "Loading..." -msgstr "Cargando..." - msgid "Year" msgstr "Año" @@ -5039,11 +5216,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -5102,12 +5274,6 @@ msgstr "Invertir eje de Balanceo" msgid "Printing Progress" msgstr "Progreso de impresión" -msgid "Resume" -msgstr "Reanudar" - -msgid "Stop" -msgstr "Detener" - msgid "0" msgstr "0" @@ -5886,6 +6052,9 @@ msgstr "" msgid "The name may show garbage characters!" msgstr "¡El nombre puede mostrar caracteres no válidos!" +msgid "Remember my choice." +msgstr "Recordar my elección." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "" @@ -6015,9 +6184,6 @@ msgstr "No es posible recargar:" msgid "Error during reload" msgstr "Error durante la recarga" -msgid "Slicing" -msgstr "Laminando" - msgid "There are warnings after slicing models:" msgstr "Hay alertas después de laminar los modelos:" @@ -6092,9 +6258,11 @@ msgid "Project downloaded %d%%" msgstr "Proyecto descargado %d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" +"La importación a Orca Slicer ha fallado. Descargue el archivo e impórtelo " +"manualmente." msgid "Import SLA archive" msgstr "Importar archivo SLA" @@ -6132,9 +6300,6 @@ msgstr "¡Los archivos de G-Code no pueden cargarse con los modelos juntos!" msgid "Can not add models when in preview mode!" msgstr "No se pueden añadir modelos en el modo de vista previa!" -msgid "Add Models" -msgstr "Añadir Modelos" - msgid "All objects will be removed, continue?" msgstr "Todos los objetos serán eliminados, deseas continuar?" @@ -6142,9 +6307,6 @@ msgid "The current project has unsaved changes, save it before continue?" msgstr "" "El proyecto actual tiene cambios sin guardar, ¿guardarlos antes de continuar?" -msgid "Remember my choice." -msgstr "Recordar my elección." - msgid "Number of copies:" msgstr "Número de copias:" @@ -6356,6 +6518,11 @@ msgstr "Región de inicio de sesión" msgid "Stealth Mode" msgstr "Modo invisible" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "Activar el plugin de red" @@ -6464,7 +6631,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6690,9 +6857,6 @@ msgstr "Seleccionar/Borrar impresoras (perfiles del sistema)" msgid "Create printer" msgstr "Crear impresora" -msgid "Incompatible" -msgstr "Incompatible" - msgid "The selected preset is null!" msgstr "¡El ajuste seleccionado es nulo!" @@ -6790,15 +6954,6 @@ msgstr "Perfil de usuario" msgid "Preset Inside Project" msgstr "Perfil interno del proyecto" -msgid "Name is invalid;" -msgstr "El nombre no es válido;" - -msgid "illegal characters:" -msgstr "caracteres no permitidos:" - -msgid "illegal suffix:" -msgstr "sufijo no permitido:" - msgid "Name is unavailable." msgstr "El nombre no está disponible." @@ -6816,15 +6971,6 @@ msgstr "El perfil \"%1%\" ya existe y es incompatible con la impresora actual." msgid "Please note that saving action will replace this preset" msgstr "Tenga en cuenta que la acción de guardar reemplazará este perfil" -msgid "The name is not allowed to be empty." -msgstr "No se permite que el nombre esté vacío." - -msgid "The name is not allowed to start with space character." -msgstr "No se permite que el nombre comience con un carácter de espacio." - -msgid "The name is not allowed to end with space character." -msgstr "No se permite que el nombre termine con un espacio." - msgid "The name cannot be the same as a preset alias name." msgstr "El nombre no puede ser el mismo que un nombre de alias preestablecido." @@ -6883,9 +7029,6 @@ msgstr "No puedo encontrar mis dispositivos?" msgid "Log out successful." msgstr "Cierre de sesión con éxito." -msgid "Offline" -msgstr "Fuera de línea" - msgid "Busy" msgstr "Ocupado" @@ -7102,15 +7245,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "Conectando a la impresora. No es posible cancelar durante la conexión." -msgid "Preparing print job" -msgstr "Preparando el trabajo de impresión" - -msgid "Abnormal print file data. Please slice again" -msgstr "Datos anormales del archivo de impresión. Por favor, procese de nuevo" - -msgid "The name length exceeds the limit." -msgstr "The name length exceeds the limit." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7499,6 +7633,9 @@ msgstr "Filamento de soporte" msgid "Tree supports" msgstr "Soportes de árbol" +msgid "Skirt" +msgstr "Falda" + msgid "Prime tower" msgstr "Torre de Purga" @@ -8418,6 +8555,12 @@ msgstr "Mover el deslizador 5 veces más rápido" msgid "Shift+Mouse wheel" msgstr "Shit+Rueda de ratón" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Notas de lanzamiento" @@ -8545,12 +8688,6 @@ msgstr "Versión:" msgid "Update firmware" msgstr "Actualizar firmware" -msgid "Printing" -msgstr "Imprimendo" - -msgid "Idle" -msgstr "Inactivo" - msgid "Beta version" msgstr "Versión beta" @@ -8585,7 +8722,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "La versión de firmware es anormal. Es necesario reparar y actualizar antes " "de imprimir. ¿Quieres actualizar ahora? Puedes actualizar al iniciar en el " @@ -8728,9 +8865,6 @@ msgstr "Puente Interior" msgid "Gap infill" msgstr "Relleno de huecos" -msgid "Skirt" -msgstr "Falda" - msgid "Support interface" msgstr "Interfaz de soporte" @@ -10768,8 +10902,8 @@ msgstr "Fabricante del filamento. Para mostrar solamente" msgid "(Undefined)" msgstr "(No definido)" -msgid "Infill direction" -msgstr "Ángulo del relleno" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10778,6 +10912,20 @@ msgstr "" "Ángulo para el patrón de relleno de baja densidad, que controla el inicio o " "la dirección principal de la línea" +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Densidad de relleno" @@ -11130,11 +11278,15 @@ msgid "Arc fitting" msgstr "Activar movimientos en arco" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"Habilite esto para obtener un archivo de G-Code que tiene movimientos G2 y " -"G3. Y la tolerancia de ajuste es la misma con la resolución" msgid "Add line number" msgstr "Añadir número de línea" @@ -11369,13 +11521,25 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Superposición de relleno/perímetros" +#, 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"El área de relleno se amplía ligeramente para que se solape con el perímetro " -"y así mejorar la adherencia. El valor porcentual es relativo a la anchura de " -"la línea del relleno de baja densidad" msgid "Speed of internal sparse infill" msgstr "Velocidad del relleno interno disperso" @@ -12473,6 +12637,23 @@ msgstr "Altura de falda" msgid "How many layers of skirt. Usually only one layer" msgstr "C capas de falda. Normalmente sólo una capa" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Contorno de la falda" @@ -12487,6 +12668,17 @@ msgstr "" "Velocidad de la falda, en mm/s. Cero significa utilizar la velocidad de capa " "por defecto." +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -13260,6 +13452,19 @@ msgstr "Espaciado de las líneas de la torre de purga" msgid "Spacing of purge lines on the wipe tower." msgstr "Espaciado de las líneas de la torre de purga." +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "Extrusor de torre de purga" @@ -15236,7 +15441,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -15245,9 +15450,6 @@ msgstr "" msgid "Printer Setting" msgstr "Ajustes de Impresora" -msgid "Export Configs" -msgstr "Configuración de Exportación" - msgid "Printer config bundle(.orca_printer)" msgstr "Paquete de configuración de impresora(.orca_printer)" @@ -16249,6 +16451,39 @@ msgstr "" "aumentar adecuadamente la temperatura del lecho térmico puede reducir la " "probabilidad de deformaciones." +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "Orca Slicer está basado en BambuStudio por Bambulab, el cual está basado " +#~ "en PrusaSlicer por Prusa Research. PrusaSlicer está basado en Slic3r de " +#~ "Alessandro Ranellucci y la comunidad RepRap" + +#~ msgid "Export &Configs" +#~ msgstr "Exportar &Configuraciones" + +#~ msgid "Infill direction" +#~ msgstr "Ángulo del relleno" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Habilite esto para obtener un archivo de G-Code que tiene movimientos G2 " +#~ "y G3. Y la tolerancia de ajuste es la misma con la resolución" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "El área de relleno se amplía ligeramente para que se solape con el " +#~ "perímetro y así mejorar la adherencia. El valor porcentual es relativo a " +#~ "la anchura de la línea del relleno de baja densidad" + +#~ msgid "Export Configs" +#~ msgstr "Configuración de Exportación" + #~ msgid "Unload Filament" #~ msgstr "Descargar" @@ -16274,13 +16509,6 @@ msgstr "" #~ msgid "HMS" #~ msgstr "HMS" -#~ msgid "" -#~ "Importing to Orca Slicer failed. Please download the file and manually " -#~ "import it." -#~ msgstr "" -#~ "La importación a Orca Slicer ha fallado. Descargue el archivo e impórtelo " -#~ "manualmente." - #~ msgid "- ℃" #~ msgstr "- ℃" @@ -18216,9 +18444,6 @@ msgstr "" #~ msgid "Save configuration as:" #~ msgstr "Guardar la configuración como:" -#~ msgid "Sending" -#~ msgstr "Enviando" - #~ msgid "Set pen size" #~ msgstr "Ajustar el tamaño del lápiz" diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po index 0ed123b7205..da6caed1fcd 100644 --- a/localization/i18n/fr/OrcaSlicer_fr.po +++ b/localization/i18n/fr/OrcaSlicer_fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-19 12:02+0200\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Guislain Cyril, Thomas Lété\n" @@ -2428,7 +2428,7 @@ msgstr "Échec de la connexion à l'imprimante" msgid "Connection to printer failed" msgstr "La connexion à l'imprimante a échoué" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "Vérifiez la connexion réseau entre l'imprimante et Studio." msgid "Connecting..." @@ -2791,14 +2791,8 @@ msgstr "Orca Slicer est sous licence " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero Licence Publique Générale, version 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" -"Orca Slicer est basé sur Bambu Studio de Bambulab qui a été développé sur la " -"base de PrusaSlicer de Prusa Research, qui est lui même développé sur la " -"base de Slic3r par Alessandro Ranelucci et la communauté RepRap" msgid "Libraries" msgstr "Bibliothèques" @@ -3472,6 +3466,12 @@ msgid "Abnormal print file data. Please slice again" msgstr "" "Données de fichier d'impression anormales. Veuillez redécouvre le fichier." +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + msgid "Use External Spool" msgstr "Utiliser la bobine externe" @@ -4432,7 +4432,7 @@ msgstr "Le volume:" msgid "Size:" msgstr "Taille:" -#, boost-format +#, c-format, boost-format msgid "" "Conflicts of gcode paths have been found at layer %d, z = %.2lf mm. Please " "separate the conflicted objects farther (%s <-> %s)." @@ -4750,8 +4750,8 @@ msgstr "Exporter le G-code" msgid "Export current plate as G-code" msgstr "Exporter le plateau actuel en G-code" -msgid "Export &Configs" -msgstr "Exportation & Configs" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Exporter la configuration actuelle vers des fichiers" @@ -4919,10 +4919,10 @@ msgstr "Exporter &Toolpaths en OBJ" msgid "Export toolpaths as OBJ" msgstr "Exporter les parcours d'outils en OBJ" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Ouvrir &Studio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Ouvrir Studio" msgid "&Quit" @@ -5297,13 +5297,6 @@ msgstr "" "Reconnexion de l’imprimante, l’opération ne peut être effectuée maintenant, " "veuillez réessayer plus tard." -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" -"Plus de 4 orca/handy utilisent l’accès à distance, vous pouvez en fermer " -"certains et réessayer." - msgid "File does not exist." msgstr "Le fichier n’existe pas." @@ -6349,13 +6342,15 @@ msgstr "Le téléchargement a échoué, exception de taille de fichier." #, c-format, boost-format msgid "Project downloaded %d%%" -msgstr "Projet téléchargé à %d%%" +msgstr "" +"Projet téléchargé à %d%%L’importation dans Bambu Studio a échoué. Veuillez " +"télécharger le fichier et l’importer manuellement." msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" -"L’importation dans Bambu Studio a échoué. Veuillez télécharger le fichier et " +"L’importation vers OrcaSlicer a échoué. Veuillez télécharger le fichier et " "l’importer manuellement." msgid "Import SLA archive" @@ -6759,7 +6754,7 @@ msgstr "" "Si cette option est activée, Orca se souviendra de la configuration du " "filament/processus pour chaque imprimante et la modifiera automatiquement." -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "Gestion multi-appareils (prend effet après le redémarrage d’Orca)." msgid "" @@ -7729,8 +7724,8 @@ 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\"." +"by right-click the empty position of build plate and choose \"Add Primitive" +"\"->\"Timelapse Wipe Tower\"." msgstr "" "Lorsque vous enregistrez un timelapse sans tête d’outil, il est recommandé " "d’ajouter une \"Tour d’essuyage timelapse\".\n" @@ -7807,6 +7802,9 @@ msgstr "Filament de support" msgid "Tree supports" msgstr "Supports arborescents" +msgid "Skirt" +msgstr "Jupe" + msgid "Prime tower" msgstr "Tour de purge" @@ -7882,9 +7880,9 @@ msgid "" "Bed temperature when cool plate is installed. Value 0 means the filament " "does not support to print on the Cool Plate" msgstr "" -"Il s'agit de la température du plateau lorsque le plateau froid (\"Cool " -"plate\") est installé. Une valeur à 0 signifie que ce filament ne peut pas " -"être imprimé sur le plateau froid." +"Il s'agit de la température du plateau lorsque le plateau froid (\"Cool plate" +"\") est installé. Une valeur à 0 signifie que ce filament ne peut pas être " +"imprimé sur le plateau froid." msgid "Engineering plate" msgstr "Plaque Engineering" @@ -8756,6 +8754,12 @@ msgstr "Déplacez le curseur 5 fois plus vite" msgid "Shift+Mouse wheel" msgstr "Maj+Molette de la souris" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Note de version" @@ -8918,7 +8922,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "La version du firmware est erronée. La réparation et la mise à jour sont " "nécessaires avant l'impression. Voulez-vous effectuer la mise à jour " @@ -9063,9 +9067,6 @@ msgstr "Pont interne" msgid "Gap infill" msgstr "Remplissage d'espace" -msgid "Skirt" -msgstr "Jupe" - msgid "Support interface" msgstr "Interface de support" @@ -11412,10 +11413,10 @@ msgstr "Ventilateur à pleine vitesse à la couche" 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." +"\"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 "" "La vitesse du ventilateur augmentera de manière linéaire à partir de zéro à " "la couche \"close_fan_the_first_x_layers\" jusqu’au maximum à la couche " @@ -11768,35 +11769,25 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Chevauchement de remplissage/paroi" -#, c-format, boost-format +#, 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 " +"value to ~10-15% to minimize potential over extrusion and accumulation of " "material resulting in rough top surfaces." msgstr "" -"La zone de remplissage est légèrement élargie pour chevaucher la paroi afin " -"d’améliorer l’adhérence. La valeur du pourcentage est relative à la largeur " -"de la ligne de remplissage clairsemée. Réglez cette valeur à ~10-15%% pour " -"minimiser le risque de sur-extrusion et d’accumulation de matériau, ce qui " -"rendrait les surfaces supérieures rugueuses." msgid "Top/Bottom solid infill/wall overlap" msgstr "Chevauchement du remplissage ou de la paroi supérieur(e)/inférieur(e)" +#, 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, minimising the " +"meets the walls. A value of 25-30% is a good starting point, minimising the " "appearance of pinholes. The percentage value is relative to line width of " "sparse infill" msgstr "" -"La zone de remplissage solide supérieure est légèrement élargie pour " -"chevaucher la paroi afin d’améliorer l’adhérence et de minimiser " -"l’apparition de trous d’épingle à l’endroit où le remplissage supérieur " -"rencontre les parois. Une valeur de 25-30%% est un bon point de départ, " -"minimisant l’apparition de trous d’épingle. La valeur en pourcentage est " -"relative à la largeur de ligne d’un remplissage peu dense." msgid "Speed of internal sparse infill" msgstr "Vitesse de remplissage interne" @@ -12909,6 +12900,23 @@ msgstr "Hauteur de la jupe" msgid "How many layers of skirt. Usually only one layer" msgstr "Nombre de couches de jupe, généralement une seule." +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Boucles de la jupe" @@ -12923,6 +12931,17 @@ msgstr "" "Vitesse de la jupe, en mm/s. Une valeur à 0 signifie que la vitesse " "d’extrusion par défaut est utilisée." +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -13094,8 +13113,8 @@ msgid "" "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " "close all holes in the model." msgstr "" -"Utilisez « Pair-impair » pour les modèles d'avion 3DLabPrint. Utilisez " -"« Fermer les trous » pour fermer tous les trous du modèle." +"Utilisez « Pair-impair » pour les modèles d'avion 3DLabPrint. Utilisez « " +"Fermer les trous » pour fermer tous les trous du modèle." msgid "Regular" msgstr "Standard" @@ -13879,8 +13898,8 @@ msgid "" "Wipe tower is only compatible with relative mode. It is recommended on most " "printers. Default is checked" msgstr "" -"L’extrusion relative est recommandée lors de l’utilisation de l’option " -"« label_objects ». Certains extrudeurs fonctionnent mieux avec cette option " +"L’extrusion relative est recommandée lors de l’utilisation de l’option « " +"label_objects ». Certains extrudeurs fonctionnent mieux avec cette option " "non verrouillée (mode d’extrusion absolu). La tour d’essuyage n’est " "compatible qu’avec le mode relatif. Il est recommandé sur la plupart des " "imprimantes. L’option par défaut est cochée" @@ -14743,9 +14762,9 @@ msgstr "" "Wiki.\n" "\n" "Habituellement, la calibration est inutile. Lorsque vous démarrez une " -"impression d'une seule couleur/matériau, avec l'option \"Calibration du " -"débit\" cochée dans le menu de démarrage de l'impression, l'imprimante " -"suivra l'ancienne méthode de calibration du filament avant l'impression.\n" +"impression d'une seule couleur/matériau, avec l'option \"Calibration du débit" +"\" cochée dans le menu de démarrage de l'impression, l'imprimante suivra " +"l'ancienne méthode de calibration du filament avant l'impression.\n" "Lorsque vous démarrez une impression multi-couleurs/matériaux, l'imprimante " "utilise le paramètre de compensation par défaut pour le filament lors de " "chaque changement de filament, ce qui donne un bon résultat dans la plupart " @@ -15524,8 +15543,8 @@ msgstr "" "Voulez-vous le réécrire ?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you " -"selected\". \n" +"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 "" "Nous renommerions les préréglages en « Vendor Type Serial @printer you " @@ -15751,7 +15770,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -15767,9 +15786,6 @@ msgstr "" msgid "Printer Setting" msgstr "Réglage de l’imprimante" -msgid "Export Configs" -msgstr "Exporter les configurations" - msgid "Printer config bundle(.orca_printer)" msgstr "Paquet de configuration de l’imprimante (.orca_printer)" @@ -16503,6 +16519,451 @@ msgstr "" msgid "User cancelled." msgstr "L’utilisateur a annulé." +#: resources/data/hints.ini: [hint:Precise wall] +msgid "" +"Precise wall\n" +"Did you know that turning on precise wall can improve precision and layer " +"consistency?" +msgstr "" +"Paroi précise\n" +"Saviez-vous que l’activation de la paroi précise peut améliorer la précision " +"et l’homogénéité des couches ?" + +#: resources/data/hints.ini: [hint:Sandwich mode] +msgid "" +"Sandwich mode\n" +"Did 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 "" +"Mode sandwich\n" +"Saviez-vous que vous pouvez utiliser le mode sandwich (intérieur-extérieur-" +"intérieur) pour améliorer la précision et la cohérence des couches si votre " +"modèle n’a pas de porte-à-faux très prononcés ?" + +#: resources/data/hints.ini: [hint:Chamber temperature] +msgid "" +"Chamber temperature\n" +"Did you know that OrcaSlicer supports chamber temperature?" +msgstr "" +"Température de la chambre\n" +"Saviez-vous qu’OrcaSlicer prend en charge la température de la chambre ?" + +#: resources/data/hints.ini: [hint:Calibration] +msgid "" +"Calibration\n" +"Did you know that calibrating your printer can do wonders? Check out our " +"beloved calibration solution in OrcaSlicer." +msgstr "" +"Calibrage\n" +"Saviez-vous que le calibrage de votre imprimante peut faire des merveilles ? " +"Découvrez notre solution de calibrage bien-aimée dans OrcaSlicer." + +#: resources/data/hints.ini: [hint:Auxiliary fan] +msgid "" +"Auxiliary fan\n" +"Did you know that OrcaSlicer supports Auxiliary part cooling fan?" +msgstr "" +"Ventilateur auxiliaire\n" +"Saviez-vous qu’OrcaSlicer prend en charge le ventilateur auxiliaire de " +"refroidissement des pièces ?" + +#: resources/data/hints.ini: [hint:Air filtration] +msgid "" +"Air filtration/Exhaust Fan\n" +"Did you know that OrcaSlicer can support Air filtration/Exhaust Fan?" +msgstr "" +"Filtration de l’air/ventilateur d’extraction\n" +"Saviez-vous qu’OrcaSlicer peut prendre en charge la filtration de l’air/le " +"ventilateur d’extraction ?" + +#: resources/data/hints.ini: [hint:G-code window] +msgid "" +"G-code window\n" +"You can turn on/off the G-code window by pressing the C key." +msgstr "" +"Fenêtre de G-code\n" +"Vous pouvez activer/désactiver la fenêtre G-code en appuyant sur la touche " +"C." + +#: resources/data/hints.ini: [hint:Switch workspaces] +msgid "" +"Switch workspaces\n" +"You can switch between Prepare and Preview workspaces by " +"pressing the Tab key." +msgstr "" +"Changer les espaces de travail\n" +"Vous pouvez alterner entre l’espace de travail Préparer et Aperçu en appuyant sur la touche Tab." + +#: resources/data/hints.ini: [hint:How to use keyboard shortcuts] +msgid "" +"How to use keyboard shortcuts\n" +"Did you know that Orca Slicer offers a wide range of keyboard shortcuts and " +"3D scene operations." +msgstr "" +"Comment utiliser les raccourcis clavier\n" +"Saviez-vous qu’Orca Slicer offre une large gamme de raccourcis clavier et " +"d’opérations sur les scènes 3D." + +#: resources/data/hints.ini: [hint:Reverse on odd] +msgid "" +"Reverse on odd\n" +"Did you know that Reverse on odd feature can significantly improve " +"the surface quality of your overhangs?" +msgstr "" +"Parois inversées sur couches impaires\n" +"Saviez-vous que la fonction Parois inversées sur couches impaires " +"peut améliorer de manière significative la qualité de la surface de vos " +"surplombs ?" + +#: resources/data/hints.ini: [hint:Cut Tool] +msgid "" +"Cut Tool\n" +"Did you know that you can cut a model at any angle and position with the " +"cutting tool?" +msgstr "" +"Outil de découpe\n" +"Saviez-vous que vous pouvez découper un modèle à n'importe quel angle et " +"dans n'importe quelle position avec l'outil de découpe ?" + +#: resources/data/hints.ini: [hint:Fix Model] +msgid "" +"Fix Model\n" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " +"problems on the Windows system?" +msgstr "" +"Réparer un modèle\n" +"Saviez-vous que vous pouvez réparer un modèle 3D corrompu pour éviter de " +"nombreux problèmes de découpage sur le système Windows ?" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "" +"Timelapse\n" +"Did you know that you can generate a timelapse video during each print?" +msgstr "" +"Timelapse\n" +"Saviez-vous que vous pouvez générer une vidéo en timelapse à chaque " +"impression ?" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "" +"Auto-Arrange\n" +"Did you know that you can auto-arrange all objects in your project?" +msgstr "" +"Agencement Automatique\n" +"Saviez-vous que vous pouvez agencement automatiquement tous les objets de " +"votre projet ?" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "" +"Auto-Orient\n" +"Did you know that you can rotate objects to an optimal orientation for " +"printing by a simple click?" +msgstr "" +"Orientation Automatique\n" +"Saviez-vous que vous pouvez faire pivoter des objets dans une orientation " +"optimale pour l'impression d'un simple clic ?" + +#: resources/data/hints.ini: [hint:Lay on Face] +msgid "" +"Lay on Face\n" +"Did 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 "" +"Poser sur une face\n" +"Saviez-vous qu'il est possible d'orienter rapidement un modèle de manière à " +"ce que l'une de ses faces repose sur le plateau d'impression ? Sélectionnez " +"la fonction « Placer sur la face » ou appuyez sur la touche F." + +#: resources/data/hints.ini: [hint:Object List] +msgid "" +"Object List\n" +"Did you know that you can view all objects/parts in a list and change " +"settings for each object/part?" +msgstr "" +"Liste d'objets\n" +"Saviez-vous que vous pouvez afficher tous les objets/pièces dans une liste " +"et modifier les paramètres de chaque objet/pièce ?" + +#: resources/data/hints.ini: [hint:Search Functionality] +msgid "" +"Search Functionality\n" +"Did you know that you use the Search tool to quickly find a specific Orca " +"Slicer setting?" +msgstr "" +"Fonctionnalité de recherche\n" +"Saviez-vous que vous pouvez utiliser l’outil de recherche pour trouver " +"rapidement un paramètre spécifique de l’Orca Slicer ?" + +#: resources/data/hints.ini: [hint:Simplify Model] +msgid "" +"Simplify Model\n" +"Did 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 "" +"Simplifier le modèle\n" +"Saviez-vous que vous pouviez réduire le nombre de triangles dans un maillage " +"à l’aide de la fonction Simplifier le maillage ? Cliquez avec le bouton " +"droit de la souris sur le modèle et sélectionnez Simplifier le modèle." + +#: resources/data/hints.ini: [hint:Slicing Parameter Table] +msgid "" +"Slicing Parameter Table\n" +"Did you know that you can view all objects/parts on a table and change " +"settings for each object/part?" +msgstr "" +"Tableau des paramètres de découpe\n" +"Saviez-vous que vous pouvez afficher tous les objets/pièces sur un tableau " +"et modifier les paramètres de chaque objet/pièce ?" + +#: resources/data/hints.ini: [hint:Split to Objects/Parts] +msgid "" +"Split to Objects/Parts\n" +"Did you know that you can split a big object into small ones for easy " +"colorizing or printing?" +msgstr "" +"Séparer en objets/parties\n" +"Saviez-vous que vous pouvez séparer un gros objet en petits objets pour les " +"colorier ou les imprimer facilement ?" + +#: resources/data/hints.ini: [hint:Subtract a Part] +msgid "" +"Subtract a Part\n" +"Did 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 "" +"Soustraire une pièce\n" +"Saviez-vous que vous pouviez soustraire un maillage d’un autre à l’aide du " +"modificateur de partie négative ? De cette façon, vous pouvez, par exemple, " +"créer des trous facilement redimensionnables directement dans Orca Slicer." + +#: resources/data/hints.ini: [hint:STEP] +msgid "" +"STEP\n" +"Did you know that you can improve your print quality by slicing a STEP file " +"instead of an STL?\n" +"Orca Slicer supports slicing STEP files, providing smoother results than a " +"lower resolution STL. Give it a try!" +msgstr "" +"STEP\n" +"Saviez-vous que vous pouvez améliorer votre qualité d'impression en " +"découpant un fichier .step au lieu d'un .stl ?\n" +"Orca Slicer prend en charge le découpage des fichiers .step, offrant des " +"résultats plus fluides qu'un .stl de résolution inférieure. Essayez !" + +#: resources/data/hints.ini: [hint:Z seam location] +msgid "" +"Z seam location\n" +"Did 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 "" +"Emplacement de la couture Z\n" +"Saviez-vous que vous pouvez personnaliser l'emplacement de la couture Z, et " +"même la peindre manuelle sur votre impression pour le placer dans un endroit " +"moins visible ? Cela améliore l'aspect général de votre modèle. Jetez-y un " +"coup d'œil !" + +#: resources/data/hints.ini: [hint:Fine-tuning for flow rate] +msgid "" +"Fine-tuning for flow rate\n" +"Did 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 "" +"Réglage fin du débit\n" +"Saviez-vous que le débit peut être réglé avec précision pour obtenir des " +"impressions encore plus belles ? En fonction du matériau, vous pouvez " +"améliorer la finition générale du modèle imprimé en procédant à un réglage " +"fin." + +#: resources/data/hints.ini: [hint:Split your prints into plates] +msgid "" +"Split your prints into plates\n" +"Did 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 "" +"Divisez vos impressions en plateaux\n" +"Saviez-vous que vous pouvez diviser un modèle comportant de nombreuses " +"pièces en plateaux individuels prêts à être imprimés ? Cela simplifie le " +"processus de suivi de toutes les pièces." + +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer +#: Height] +msgid "" +"Speed up your print with Adaptive Layer Height\n" +"Did you know that you can print a model even faster, by using the Adaptive " +"Layer Height option? Check it out!" +msgstr "" +"Accélérez votre impression grâce à la Hauteur de Couche Adaptative\n" +"Saviez-vous que vous pouvez imprimer un modèle encore plus rapidement en " +"utilisant l'option Adaptive Layer Height ? Jetez-y un coup d'œil !" + +#: resources/data/hints.ini: [hint:Support painting] +msgid "" +"Support painting\n" +"Did 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 "" +"Peinture de support\n" +"Saviez-vous que vous pouvez peindre l'emplacement de vos supports ? Cette " +"caractéristique permet de placer facilement le matériau de support " +"uniquement sur les sections du modèle qui en ont réellement besoin." + +#: resources/data/hints.ini: [hint:Different types of supports] +msgid "" +"Different types of supports\n" +"Did 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 "" +"Différents types de supports\n" +"Saviez-vous que vous pouvez choisir parmi plusieurs types de supports ? Les " +"supports arborescents fonctionnent parfaitement pour les modèles organiques " +"tout en économisant du filament et en améliorant la vitesse d'impression. " +"Découvrez-les !" + +#: resources/data/hints.ini: [hint:Printing Silk Filament] +msgid "" +"Printing Silk Filament\n" +"Did 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 "" +"Impression de filament Soie\n" +"Saviez-vous que le filament soie nécessite une attention particulière pour " +"une impression réussie ? Une température plus élevée et une vitesse plus " +"faible sont toujours recommandées pour obtenir les meilleurs résultats." + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "" +"Brim for better adhesion\n" +"Did you know that when printing models have a small contact interface with " +"the printing surface, it's recommended to use a brim?" +msgstr "" +"Bordure pour une meilleure adhésion\n" +"Saviez-vous que lorsque les modèles imprimés ont une faible interface de " +"contact avec la surface d'impression, il est recommandé d'utiliser une " +"bordure ?" + +#: resources/data/hints.ini: [hint:Set parameters for multiple objects] +msgid "" +"Set parameters for multiple objects\n" +"Did you know that you can set slicing parameters for all selected objects at " +"one time?" +msgstr "" +"Définir les paramètres de plusieurs objets\n" +"Saviez-vous que vous pouvez définir des paramètres de découpe pour tous les " +"objets sélectionnés en une seule fois ?" + +#: resources/data/hints.ini: [hint:Stack objects] +msgid "" +"Stack objects\n" +"Did you know that you can stack objects as a whole one?" +msgstr "" +"Empiler des objets\n" +"Saviez-vous que vous pouvez empiler des objets pour n'en former qu'un?" + +#: resources/data/hints.ini: [hint:Flush into support/objects/infill] +msgid "" +"Flush into support/objects/infill\n" +"Did you know that you can save the wasted filament by flushing them into " +"support/objects/infill during filament change?" +msgstr "" +"Purger dans les supports/les objets/le remplissage\n" +"Saviez-vous que vous pouvez réduire le filament gaspillé en le purgeant dans " +"les supports/les objets/le remplissage lors des changements de filament ?" + +#: resources/data/hints.ini: [hint:Improve strength] +msgid "" +"Improve strength\n" +"Did you know that you can use more wall loops and higher sparse infill " +"density to improve the strength of the model?" +msgstr "" +"Améliorer la solidité\n" +"Saviez-vous que vous pouvez définir un plus grand nombre de périmètre et une " +"densité de remplissage plus élevée pour améliorer la résistance du modèle ?" + +#: resources/data/hints.ini: [hint:When need to print with the printer door +#: opened] +msgid "" +"When need to print with the printer door opened\n" +"Did 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 "" +"Quand il faut imprimer avec la porte de l’imprimante ouverte\n" +"Saviez-vous que l’ouverture de la porte de l’imprimante peut réduire la " +"probabilité de blocage de l’extrudeuse/du réchauffeur lors de l’impression " +"de filament à basse température avec une température de boîtier plus élevée. " +"Plus d’informations à ce sujet dans le Wiki." + +#: resources/data/hints.ini: [hint:Avoid warping] +msgid "" +"Avoid warping\n" +"Did 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 "" +"Éviter la déformation\n" +"Saviez-vous que lors de l’impression de matériaux susceptibles de se " +"déformer, tels que l’ABS, une augmentation appropriée de la température du " +"plateau chauffant peut réduire la probabilité de déformation." + +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "Orca Slicer est basé sur Bambu Studio de Bambulab qui a été développé sur " +#~ "la base de PrusaSlicer de Prusa Research, qui est lui même développé sur " +#~ "la base de Slic3r par Alessandro Ranelucci et la communauté RepRap" + +#~ msgid "Export &Configs" +#~ msgstr "Exportation & Configs" + +#~ msgid "" +#~ "Over 4 systems/handy are using remote access, you can close some and try " +#~ "again." +#~ msgstr "" +#~ "Plus de 4 orca/handy utilisent l’accès à distance, vous pouvez en fermer " +#~ "certains et réessayer." + +#, c-format, 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 "" +#~ "La zone de remplissage est légèrement élargie pour chevaucher la paroi " +#~ "afin d’améliorer l’adhérence. La valeur du pourcentage est relative à la " +#~ "largeur de la ligne de remplissage clairsemée. Réglez cette valeur à " +#~ "~10-15%% pour minimiser le risque de sur-extrusion et d’accumulation de " +#~ "matériau, ce qui rendrait les surfaces supérieures rugueuses." + +#~ 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, " +#~ "minimising the appearance of pinholes. The percentage value is relative " +#~ "to line width of sparse infill" +#~ msgstr "" +#~ "La zone de remplissage solide supérieure est légèrement élargie pour " +#~ "chevaucher la paroi afin d’améliorer l’adhérence et de minimiser " +#~ "l’apparition de trous d’épingle à l’endroit où le remplissage supérieur " +#~ "rencontre les parois. Une valeur de 25-30%% est un bon point de départ, " +#~ "minimisant l’apparition de trous d’épingle. La valeur en pourcentage est " +#~ "relative à la largeur de ligne d’un remplissage peu dense." + +#~ msgid "Export Configs" +#~ msgstr "Exporter les configurations" + #~ msgid "Infill direction" #~ msgstr "Sens de remplissage" @@ -16522,371 +16983,6 @@ msgstr "L’utilisateur a annulé." #~ "afin d'améliorer l'adhérence. La valeur en pourcentage est relative à la " #~ "largeur de ligne de remplissage." -#~ msgid "" -#~ "Precise wall\n" -#~ "Did you know that turning on precise wall can improve precision and layer " -#~ "consistency?" -#~ msgstr "" -#~ "Paroi précise\n" -#~ "Saviez-vous que l’activation de la paroi précise peut améliorer la " -#~ "précision et l’homogénéité des couches ?" - -#~ msgid "" -#~ "Sandwich mode\n" -#~ "Did 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 "" -#~ "Mode sandwich\n" -#~ "Saviez-vous que vous pouvez utiliser le mode sandwich (intérieur-" -#~ "extérieur-intérieur) pour améliorer la précision et la cohérence des " -#~ "couches si votre modèle n’a pas de porte-à-faux très prononcés ?" - -#~ msgid "" -#~ "Chamber temperature\n" -#~ "Did you know that OrcaSlicer supports chamber temperature?" -#~ msgstr "" -#~ "Température de la chambre\n" -#~ "Saviez-vous qu’OrcaSlicer prend en charge la température de la chambre ?" - -#~ msgid "" -#~ "Calibration\n" -#~ "Did you know that calibrating your printer can do wonders? Check out our " -#~ "beloved calibration solution in OrcaSlicer." -#~ msgstr "" -#~ "Calibrage\n" -#~ "Saviez-vous que le calibrage de votre imprimante peut faire des " -#~ "merveilles ? Découvrez notre solution de calibrage bien-aimée dans " -#~ "OrcaSlicer." - -#~ msgid "" -#~ "Auxiliary fan\n" -#~ "Did you know that OrcaSlicer supports Auxiliary part cooling fan?" -#~ msgstr "" -#~ "Ventilateur auxiliaire\n" -#~ "Saviez-vous qu’OrcaSlicer prend en charge le ventilateur auxiliaire de " -#~ "refroidissement des pièces ?" - -#~ msgid "" -#~ "Air filtration/Exhaust Fan\n" -#~ "Did you know that OrcaSlicer can support Air filtration/Exhaust Fan?" -#~ msgstr "" -#~ "Filtration de l’air/ventilateur d’extraction\n" -#~ "Saviez-vous qu’OrcaSlicer peut prendre en charge la filtration de l’air/" -#~ "le ventilateur d’extraction ?" - -#~ msgid "" -#~ "G-code window\n" -#~ "You can turn on/off the G-code window by pressing the C key." -#~ msgstr "" -#~ "Fenêtre de G-code\n" -#~ "Vous pouvez activer/désactiver la fenêtre G-code en appuyant sur la " -#~ "touche C." - -#~ msgid "" -#~ "Switch workspaces\n" -#~ "You can switch between Prepare and Preview workspaces by " -#~ "pressing the Tab key." -#~ msgstr "" -#~ "Changer les espaces de travail\n" -#~ "Vous pouvez alterner entre l’espace de travail Préparer et " -#~ "Aperçu en appuyant sur la touche Tab." - -#~ msgid "" -#~ "How to use keyboard shortcuts\n" -#~ "Did you know that Orca Slicer offers a wide range of keyboard shortcuts " -#~ "and 3D scene operations." -#~ msgstr "" -#~ "Comment utiliser les raccourcis clavier\n" -#~ "Saviez-vous qu’Orca Slicer offre une large gamme de raccourcis clavier et " -#~ "d’opérations sur les scènes 3D." - -#~ msgid "" -#~ "Reverse on odd\n" -#~ "Did you know that Reverse on odd feature can significantly improve " -#~ "the surface quality of your overhangs?" -#~ msgstr "" -#~ "Parois inversées sur couches impaires\n" -#~ "Saviez-vous que la fonction Parois inversées sur couches impaires " -#~ "peut améliorer de manière significative la qualité de la surface de vos " -#~ "surplombs ?" - -#~ msgid "" -#~ "Cut Tool\n" -#~ "Did you know that you can cut a model at any angle and position with the " -#~ "cutting tool?" -#~ msgstr "" -#~ "Outil de découpe\n" -#~ "Saviez-vous que vous pouvez découper un modèle à n'importe quel angle et " -#~ "dans n'importe quelle position avec l'outil de découpe ?" - -#~ msgid "" -#~ "Fix Model\n" -#~ "Did you know that you can fix a corrupted 3D model to avoid a lot of " -#~ "slicing problems on the Windows system?" -#~ msgstr "" -#~ "Réparer un modèle\n" -#~ "Saviez-vous que vous pouvez réparer un modèle 3D corrompu pour éviter de " -#~ "nombreux problèmes de découpage sur le système Windows ?" - -#~ msgid "" -#~ "Timelapse\n" -#~ "Did you know that you can generate a timelapse video during each print?" -#~ msgstr "" -#~ "Timelapse\n" -#~ "Saviez-vous que vous pouvez générer une vidéo en timelapse à chaque " -#~ "impression ?" - -#~ msgid "" -#~ "Auto-Arrange\n" -#~ "Did you know that you can auto-arrange all objects in your project?" -#~ msgstr "" -#~ "Agencement Automatique\n" -#~ "Saviez-vous que vous pouvez agencement automatiquement tous les objets de " -#~ "votre projet ?" - -#~ msgid "" -#~ "Auto-Orient\n" -#~ "Did you know that you can rotate objects to an optimal orientation for " -#~ "printing by a simple click?" -#~ msgstr "" -#~ "Orientation Automatique\n" -#~ "Saviez-vous que vous pouvez faire pivoter des objets dans une orientation " -#~ "optimale pour l'impression d'un simple clic ?" - -#~ msgid "" -#~ "Lay on Face\n" -#~ "Did 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 "" -#~ "Poser sur une face\n" -#~ "Saviez-vous qu'il est possible d'orienter rapidement un modèle de manière " -#~ "à ce que l'une de ses faces repose sur le plateau d'impression ? " -#~ "Sélectionnez la fonction « Placer sur la face » ou appuyez sur la touche " -#~ "F." - -#~ msgid "" -#~ "Object List\n" -#~ "Did you know that you can view all objects/parts in a list and change " -#~ "settings for each object/part?" -#~ msgstr "" -#~ "Liste d'objets\n" -#~ "Saviez-vous que vous pouvez afficher tous les objets/pièces dans une " -#~ "liste et modifier les paramètres de chaque objet/pièce ?" - -#~ msgid "" -#~ "Search Functionality\n" -#~ "Did you know that you use the Search tool to quickly find a specific Orca " -#~ "Slicer setting?" -#~ msgstr "" -#~ "Fonctionnalité de recherche\n" -#~ "Saviez-vous que vous pouvez utiliser l’outil de recherche pour trouver " -#~ "rapidement un paramètre spécifique de l’Orca Slicer ?" - -#~ msgid "" -#~ "Simplify Model\n" -#~ "Did 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 "" -#~ "Simplifier le modèle\n" -#~ "Saviez-vous que vous pouviez réduire le nombre de triangles dans un " -#~ "maillage à l’aide de la fonction Simplifier le maillage ? Cliquez avec le " -#~ "bouton droit de la souris sur le modèle et sélectionnez Simplifier le " -#~ "modèle." - -#~ msgid "" -#~ "Slicing Parameter Table\n" -#~ "Did you know that you can view all objects/parts on a table and change " -#~ "settings for each object/part?" -#~ msgstr "" -#~ "Tableau des paramètres de découpe\n" -#~ "Saviez-vous que vous pouvez afficher tous les objets/pièces sur un " -#~ "tableau et modifier les paramètres de chaque objet/pièce ?" - -#~ msgid "" -#~ "Split to Objects/Parts\n" -#~ "Did you know that you can split a big object into small ones for easy " -#~ "colorizing or printing?" -#~ msgstr "" -#~ "Séparer en objets/parties\n" -#~ "Saviez-vous que vous pouvez séparer un gros objet en petits objets pour " -#~ "les colorier ou les imprimer facilement ?" - -#~ msgid "" -#~ "Subtract a Part\n" -#~ "Did 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 "" -#~ "Soustraire une pièce\n" -#~ "Saviez-vous que vous pouviez soustraire un maillage d’un autre à l’aide " -#~ "du modificateur de partie négative ? De cette façon, vous pouvez, par " -#~ "exemple, créer des trous facilement redimensionnables directement dans " -#~ "Orca Slicer." - -#~ msgid "" -#~ "STEP\n" -#~ "Did you know that you can improve your print quality by slicing a STEP " -#~ "file instead of an STL?\n" -#~ "Orca Slicer supports slicing STEP files, providing smoother results than " -#~ "a lower resolution STL. Give it a try!" -#~ msgstr "" -#~ "STEP\n" -#~ "Saviez-vous que vous pouvez améliorer votre qualité d'impression en " -#~ "découpant un fichier .step au lieu d'un .stl ?\n" -#~ "Orca Slicer prend en charge le découpage des fichiers .step, offrant des " -#~ "résultats plus fluides qu'un .stl de résolution inférieure. Essayez !" - -#~ msgid "" -#~ "Z seam location\n" -#~ "Did 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 "" -#~ "Emplacement de la couture Z\n" -#~ "Saviez-vous que vous pouvez personnaliser l'emplacement de la couture Z, " -#~ "et même la peindre manuelle sur votre impression pour le placer dans un " -#~ "endroit moins visible ? Cela améliore l'aspect général de votre modèle. " -#~ "Jetez-y un coup d'œil !" - -#~ msgid "" -#~ "Fine-tuning for flow rate\n" -#~ "Did 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 "" -#~ "Réglage fin du débit\n" -#~ "Saviez-vous que le débit peut être réglé avec précision pour obtenir des " -#~ "impressions encore plus belles ? En fonction du matériau, vous pouvez " -#~ "améliorer la finition générale du modèle imprimé en procédant à un " -#~ "réglage fin." - -#~ msgid "" -#~ "Split your prints into plates\n" -#~ "Did 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 "" -#~ "Divisez vos impressions en plateaux\n" -#~ "Saviez-vous que vous pouvez diviser un modèle comportant de nombreuses " -#~ "pièces en plateaux individuels prêts à être imprimés ? Cela simplifie le " -#~ "processus de suivi de toutes les pièces." - -#~ msgid "" -#~ "Speed up your print with Adaptive Layer Height\n" -#~ "Did you know that you can print a model even faster, by using the " -#~ "Adaptive Layer Height option? Check it out!" -#~ msgstr "" -#~ "Accélérez votre impression grâce à la Hauteur de Couche Adaptative\n" -#~ "Saviez-vous que vous pouvez imprimer un modèle encore plus rapidement en " -#~ "utilisant l'option Adaptive Layer Height ? Jetez-y un coup d'œil !" - -#~ msgid "" -#~ "Support painting\n" -#~ "Did 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 "" -#~ "Peinture de support\n" -#~ "Saviez-vous que vous pouvez peindre l'emplacement de vos supports ? Cette " -#~ "caractéristique permet de placer facilement le matériau de support " -#~ "uniquement sur les sections du modèle qui en ont réellement besoin." - -#~ msgid "" -#~ "Different types of supports\n" -#~ "Did 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 "" -#~ "Différents types de supports\n" -#~ "Saviez-vous que vous pouvez choisir parmi plusieurs types de supports ? " -#~ "Les supports arborescents fonctionnent parfaitement pour les modèles " -#~ "organiques tout en économisant du filament et en améliorant la vitesse " -#~ "d'impression. Découvrez-les !" - -#~ msgid "" -#~ "Printing Silk Filament\n" -#~ "Did 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 "" -#~ "Impression de filament Soie\n" -#~ "Saviez-vous que le filament soie nécessite une attention particulière " -#~ "pour une impression réussie ? Une température plus élevée et une vitesse " -#~ "plus faible sont toujours recommandées pour obtenir les meilleurs " -#~ "résultats." - -#~ msgid "" -#~ "Brim for better adhesion\n" -#~ "Did you know that when printing models have a small contact interface " -#~ "with the printing surface, it's recommended to use a brim?" -#~ msgstr "" -#~ "Bordure pour une meilleure adhésion\n" -#~ "Saviez-vous que lorsque les modèles imprimés ont une faible interface de " -#~ "contact avec la surface d'impression, il est recommandé d'utiliser une " -#~ "bordure ?" - -#~ msgid "" -#~ "Set parameters for multiple objects\n" -#~ "Did you know that you can set slicing parameters for all selected objects " -#~ "at one time?" -#~ msgstr "" -#~ "Définir les paramètres de plusieurs objets\n" -#~ "Saviez-vous que vous pouvez définir des paramètres de découpe pour tous " -#~ "les objets sélectionnés en une seule fois ?" - -#~ msgid "" -#~ "Stack objects\n" -#~ "Did you know that you can stack objects as a whole one?" -#~ msgstr "" -#~ "Empiler des objets\n" -#~ "Saviez-vous que vous pouvez empiler des objets pour n'en former qu'un?" - -#~ msgid "" -#~ "Flush into support/objects/infill\n" -#~ "Did you know that you can save the wasted filament by flushing them into " -#~ "support/objects/infill during filament change?" -#~ msgstr "" -#~ "Purger dans les supports/les objets/le remplissage\n" -#~ "Saviez-vous que vous pouvez réduire le filament gaspillé en le purgeant " -#~ "dans les supports/les objets/le remplissage lors des changements de " -#~ "filament ?" - -#~ msgid "" -#~ "Improve strength\n" -#~ "Did you know that you can use more wall loops and higher sparse infill " -#~ "density to improve the strength of the model?" -#~ msgstr "" -#~ "Améliorer la solidité\n" -#~ "Saviez-vous que vous pouvez définir un plus grand nombre de périmètre et " -#~ "une densité de remplissage plus élevée pour améliorer la résistance du " -#~ "modèle ?" - -#~ msgid "" -#~ "When need to print with the printer door opened\n" -#~ "Did 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 "" -#~ "Quand il faut imprimer avec la porte de l’imprimante ouverte\n" -#~ "Saviez-vous que l’ouverture de la porte de l’imprimante peut réduire la " -#~ "probabilité de blocage de l’extrudeuse/du réchauffeur lors de " -#~ "l’impression de filament à basse température avec une température de " -#~ "boîtier plus élevée. Plus d’informations à ce sujet dans le Wiki." - -#~ msgid "" -#~ "Avoid warping\n" -#~ "Did 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 "" -#~ "Éviter la déformation\n" -#~ "Saviez-vous que lors de l’impression de matériaux susceptibles de se " -#~ "déformer, tels que l’ABS, une augmentation appropriée de la température " -#~ "du plateau chauffant peut réduire la probabilité de déformation." - #~ msgid "Actions For Unsaved Changes" #~ msgstr "Actions pour les changements non enregistrés" @@ -16969,13 +17065,6 @@ msgstr "L’utilisateur a annulé." #~ msgid "HMS" #~ msgstr "HMS" -#~ msgid "" -#~ "Importing to Orca Slicer failed. Please download the file and manually " -#~ "import it." -#~ msgstr "" -#~ "L’importation vers OrcaSlicer a échoué. Veuillez télécharger le fichier " -#~ "et l’importer manuellement." - #~ msgid "- ℃" #~ msgstr "- ℃" @@ -17216,8 +17305,8 @@ msgstr "L’utilisateur a annulé." #~ "thickness (top+bottom solid layers)" #~ msgstr "" #~ "Ajoutez du remplissage solide à proximité des surfaces inclinées pour " -#~ "garantir l'épaisseur verticale de la coque (couches solides " -#~ "supérieure+inférieure)." +#~ "garantir l'épaisseur verticale de la coque (couches solides supérieure" +#~ "+inférieure)." #~ msgid "Further reduce solid infill on walls (beta)" #~ msgstr "Réduire davantage le remplissage solide des parois (expérimental)" diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po index 2d4d4cd89b8..4ccbb727cb3 100644 --- a/localization/i18n/hu/OrcaSlicer_hu.po +++ b/localization/i18n/hu/OrcaSlicer_hu.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1845,6 +1845,9 @@ msgstr "Primitív hozzáadása" msgid "Add Handy models" msgstr "" +msgid "Add Models" +msgstr "Modellek hozzáadása" + msgid "Show Labels" msgstr "Címkék megjelenítése" @@ -2343,8 +2346,8 @@ msgstr "Nem sikerült csatlakozni a nyomtatóhoz" msgid "Connection to printer failed" msgstr "Connection to printer failed" -msgid "Please check the network connection of the printer and Studio." -msgstr "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." +msgstr "Please check the network connection of the printer and Orca." msgid "Connecting..." msgstr "Csatlakozás..." @@ -2698,10 +2701,7 @@ msgstr "A Orca Slicer a következő licencet használja " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, version 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" msgid "Libraries" @@ -3188,6 +3188,210 @@ msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" msgstr "" "Feltöltés ütemezése ide: „%1%“. Lásd: Ablak -> Nyomtató feltöltési várólista" +msgid "Device" +msgstr "Nyomtató" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Offline" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "Nézet" + +msgid "N/A" +msgstr "N/A" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Hozzáadás" + +msgid "Idle" +msgstr "Tétlen" + +msgid "Printing" +msgstr "Nyomtatás" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Incompatible" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Előkészítés" + +msgid "Slicing" +msgstr "Szeletelés" + +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 "Resume" +msgstr "Folytatás" + +msgid "Stop" +msgstr "Állj" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Betöltés…" + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "Nyomtatási feladat előkészítése" + +msgid "Abnormal print file data. Please slice again" +msgstr "Rendellenes nyomtatási fájladatok. Kérjük, szeleteld újra" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +msgstr "Küldés" + +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 "Name is invalid;" +msgstr "A név érvénytelen;" + +msgid "illegal characters:" +msgstr "tiltott karakterek:" + +msgid "illegal suffix:" +msgstr "tiltott utótag:" + +msgid "The name is not allowed to be empty." +msgstr "A név mező nem lehet üres." + +msgid "The name is not allowed to start with space character." +msgstr "A név nem kezdődhet szóközzel." + +msgid "The name is not allowed to end with space character." +msgstr "A név nem végződhet szóközzel." + +msgid "The name length exceeds the limit." +msgstr "The name length exceeds the limit." + msgid "Origin" msgstr "Origó" @@ -3681,9 +3885,6 @@ msgstr "Nyomtató beállítások" msgid "parameter name" msgstr "paraméter neve" -msgid "N/A" -msgstr "N/A" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s nem lehet százalék" @@ -4001,9 +4202,6 @@ msgstr "Extrudáláskalibráció környékének elkerülése" msgid "Align to Y axis" msgstr "" -msgid "Add" -msgstr "Hozzáadás" - msgid "Add plate" msgstr "Tálca hozzáadása" @@ -4189,15 +4387,9 @@ msgstr "Alkalmazás bezárása egyes beállítások módosítása közben." msgid "Logging" msgstr "Naplózás" -msgid "Prepare" -msgstr "Előkészítés" - msgid "Preview" msgstr "Előnézet" -msgid "Device" -msgstr "Nyomtató" - msgid "Multi-device" msgstr "" @@ -4225,9 +4417,6 @@ msgstr "Összes szeletelése" msgid "Export G-code file" msgstr "G-kód fájl exportálása" -msgid "Send" -msgstr "Küldés" - msgid "Export plate sliced file" msgstr "Szeletelt tálca exportálása" @@ -4240,9 +4429,6 @@ msgstr "Összes nyomtatása" msgid "Send all" msgstr "Összes elküldése" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "Gyorsbillentyűk" @@ -4384,8 +4570,8 @@ msgstr "G-kód exportálása" msgid "Export current plate as G-code" msgstr "Jelenlegi tálca exportálása G-kódként" -msgid "Export &Configs" -msgstr "Export &Configs" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Aktuális konfiguráció exportálása fájlokba" @@ -4486,9 +4672,6 @@ msgstr "Show object overhang highlight in 3D scene" msgid "Preferences" msgstr "Beállítások" -msgid "View" -msgstr "Nézet" - msgid "Help" msgstr "Segítség" @@ -4555,10 +4738,10 @@ msgstr "Szerszámút exportálása OBJ-ként" msgid "Export toolpaths as OBJ" msgstr "Szerszámút exportálása OBJ-ként" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Studio megnyitása" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Studio megnyitása" msgid "&Quit" @@ -4732,9 +4915,6 @@ msgstr "Információ" msgid "Playing..." msgstr "Lejátszás..." -msgid "Loading..." -msgstr "Betöltés…" - msgid "Year" msgstr "Year" @@ -4888,11 +5068,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -4951,12 +5126,6 @@ msgstr "" msgid "Printing Progress" msgstr "Nyomtatás folyamata" -msgid "Resume" -msgstr "Folytatás" - -msgid "Stop" -msgstr "Állj" - msgid "0" msgstr "0" @@ -5693,6 +5862,9 @@ msgid "The name may show garbage characters!" msgstr "" "A nem támogatott szövegkódolás miatt helytelen karakterek jelenhetnek meg!" +msgid "Remember my choice." +msgstr "Remember my choice." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "Nem sikerült betölteni \"%1%\" fájlt. Érvénytelen konfiguráció." @@ -5816,9 +5988,6 @@ msgstr "" msgid "Error during reload" msgstr "" -msgid "Slicing" -msgstr "Szeletelés" - msgid "There are warnings after slicing models:" msgstr "A modellek szeletelése a következő figyelmeztetéseket generálta:" @@ -5894,7 +6063,7 @@ msgid "Project downloaded %d%%" msgstr "Projekt letöltve %d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" @@ -5934,9 +6103,6 @@ msgstr "A G-code fájlokat nem lehet a modellekkel együtt betölteni!" msgid "Can not add models when in preview mode!" msgstr "Előnézeti módban nem lehet modelleket hozzáadni!" -msgid "Add Models" -msgstr "Modellek hozzáadása" - msgid "All objects will be removed, continue?" msgstr "Minden tárgyat eltávolítunk, folytatod?" @@ -5945,9 +6111,6 @@ msgstr "" "Az aktuális projektben el nem mentett módosítások vannak, mentsük el a " "folytatás előtt?" -msgid "Remember my choice." -msgstr "Remember my choice." - msgid "Number of copies:" msgstr "Másolatok száma:" @@ -6147,6 +6310,11 @@ msgstr "Régió" msgid "Stealth Mode" msgstr "" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "" @@ -6253,7 +6421,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6479,9 +6647,6 @@ msgstr "" msgid "Create printer" msgstr "" -msgid "Incompatible" -msgstr "Incompatible" - msgid "The selected preset is null!" msgstr "" @@ -6576,15 +6741,6 @@ msgstr "Felhasználói beállítás" msgid "Preset Inside Project" msgstr "Projekt a beállításon belül" -msgid "Name is invalid;" -msgstr "A név érvénytelen;" - -msgid "illegal characters:" -msgstr "tiltott karakterek:" - -msgid "illegal suffix:" -msgstr "tiltott utótag:" - msgid "Name is unavailable." msgstr "A név nem elérhető." @@ -6602,15 +6758,6 @@ msgstr "A(z) \"%1%\" már létezik és nem kompatibilis a jelenlegi nyomtatóval msgid "Please note that saving action will replace this preset" msgstr "Figyelem, a mentési művelet lecseréli ezt a beállítást" -msgid "The name is not allowed to be empty." -msgstr "A név mező nem lehet üres." - -msgid "The name is not allowed to start with space character." -msgstr "A név nem kezdődhet szóközzel." - -msgid "The name is not allowed to end with space character." -msgstr "A név nem végződhet szóközzel." - msgid "The name cannot be the same as a preset alias name." msgstr "A név nem lehet azonos egy beállítás alias névvel." @@ -6668,9 +6815,6 @@ msgstr "Nem találod az eszközöket?" msgid "Log out successful." msgstr "Sikeres kijelentkezés." -msgid "Offline" -msgstr "Offline" - msgid "Busy" msgstr "Elfoglalt" @@ -6881,15 +7025,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" -msgid "Preparing print job" -msgstr "Nyomtatási feladat előkészítése" - -msgid "Abnormal print file data. Please slice again" -msgstr "Rendellenes nyomtatási fájladatok. Kérjük, szeleteld újra" - -msgid "The name length exceeds the limit." -msgstr "The name length exceeds the limit." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7259,6 +7394,9 @@ msgstr "Filament a támaszhoz" msgid "Tree supports" msgstr "" +msgid "Skirt" +msgstr "" + msgid "Prime tower" msgstr "Törlő torony" @@ -8146,6 +8284,12 @@ msgstr "Csúszka 5x gyorsabb mozgatása" msgid "Shift+Mouse wheel" msgstr "Shift+Egérgörgő" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Verzióinformáció" @@ -8268,12 +8412,6 @@ msgstr "Verzió:" msgid "Update firmware" msgstr "Firmware frissítése" -msgid "Printing" -msgstr "Nyomtatás" - -msgid "Idle" -msgstr "Tétlen" - msgid "Beta version" msgstr "" @@ -8308,7 +8446,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "A firmware verziója rendellenes. A nyomtatás előtt javításra és frissítésre " "van szükség. Szeretnél frissíteni most? A frissítés később is elvégezhető a " @@ -8452,9 +8590,6 @@ msgstr "" msgid "Gap infill" msgstr "Réskitöltés" -msgid "Skirt" -msgstr "" - msgid "Support interface" msgstr "Támasz érintkező felület" @@ -10173,8 +10308,8 @@ msgstr "" msgid "(Undefined)" msgstr "(Undefined)" -msgid "Infill direction" -msgstr "Kitöltés iránya" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10183,6 +10318,20 @@ msgstr "" "A ritkás kitöltési minta szöge, amely a vonal kezdő- vagy fő irányát " "szabályozza" +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Kitöltés sűrűsége" @@ -10486,11 +10635,15 @@ msgid "Arc fitting" msgstr "Íves illesztés" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"Engedélyezd ezt az opciót, hogy olyan G-kódot kapj, amiben G2 és G3 mozgások " -"vannak" msgid "Add line number" msgstr "Vonalszám hozzáadása" @@ -10690,13 +10843,25 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Kitöltés/fal átfedés" +#, 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"Ez lehetővé teszi, hogy a kitöltési terület kissé nagyobb legyen, nagyobb " -"átfedést biztosítva a falakkal a jobb kapcsolódás érdekében. A százalékos " -"érték a ritkás kitöltés vonalszélességéhez viszonyított érték." msgid "Speed of internal sparse infill" msgstr "A belső ritkás kitöltés sebessége" @@ -11606,6 +11771,23 @@ msgstr "Skirt height" msgid "How many layers of skirt. Usually only one layer" msgstr "Number of skirt layers: usually only one" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Szoknya hurkok száma" @@ -11624,6 +11806,17 @@ msgstr "" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." msgstr "" +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -12317,6 +12510,19 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "" @@ -14027,7 +14233,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -14036,9 +14242,6 @@ msgstr "" msgid "Printer Setting" msgstr "" -msgid "Export Configs" -msgstr "" - msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -14923,6 +15126,27 @@ msgid "" "probability of warping." msgstr "" +#~ msgid "Export &Configs" +#~ msgstr "Export &Configs" + +#~ msgid "Infill direction" +#~ msgstr "Kitöltés iránya" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Engedélyezd ezt az opciót, hogy olyan G-kódot kapj, amiben G2 és G3 " +#~ "mozgások vannak" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "Ez lehetővé teszi, hogy a kitöltési terület kissé nagyobb legyen, nagyobb " +#~ "átfedést biztosítva a falakkal a jobb kapcsolódás érdekében. A százalékos " +#~ "érték a ritkás kitöltés vonalszélességéhez viszonyított érték." + #~ msgid "Unload Filament" #~ msgstr "Filament kitöltése" diff --git a/localization/i18n/it/OrcaSlicer_it.po b/localization/i18n/it/OrcaSlicer_it.po index 55c5d23e326..65e688c29d9 100644 --- a/localization/i18n/it/OrcaSlicer_it.po +++ b/localization/i18n/it/OrcaSlicer_it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -1911,6 +1911,9 @@ msgstr "Aggiungi primitiva" msgid "Add Handy models" msgstr "Aggiungi modelli Handy" +msgid "Add Models" +msgstr "Aggiungi modelli" + msgid "Show Labels" msgstr "Mostra Etichette" @@ -2413,7 +2416,7 @@ msgstr "Impossibile connettersi alla stampante" msgid "Connection to printer failed" msgstr "Connessione stampante fallita" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "Controlla la connessione di rete della stampante e di Studio." msgid "Connecting..." @@ -2772,14 +2775,8 @@ msgstr "Orca Slicer è concesso in licenza con " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, versione 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" -"Orca Slicer è basato su BambuStudio di Bambulab, che è di PrusaSlicer di " -"Prusa Research. PrusaSlicer è di Slic3r di Alessandro Ranellucci e della " -"comunità RepRap" msgid "Libraries" msgstr "Librerie" @@ -3279,6 +3276,210 @@ msgstr "" "Programmazione del caricamento su `%1%`. Vedere finestra -> Coda di " "caricamento Host di Stampa" +msgid "Device" +msgstr "Dispositivo" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Offline" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "Vista" + +msgid "N/A" +msgstr "N/D" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Aggiungi" + +msgid "Idle" +msgstr "Inattivo" + +msgid "Printing" +msgstr "Stampa" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Non compatibile" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Prepara" + +msgid "Slicing" +msgstr "Slicing" + +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 "Resume" +msgstr "Continua" + +msgid "Stop" +msgstr "Ferma" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Caricamento…" + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "Preparazione lavoro di stampa" + +msgid "Abnormal print file data. Please slice again" +msgstr "Dati file di stampa anormali. Eseguire nuovamente l'elaborazione" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +msgstr "Invia" + +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 "Name is invalid;" +msgstr "Nome non valido;" + +msgid "illegal characters:" +msgstr "Caratteri illegali:" + +msgid "illegal suffix:" +msgstr "Suffisso illegale:" + +msgid "The name is not allowed to be empty." +msgstr "Il campo nome non può essere vuoto." + +msgid "The name is not allowed to start with space character." +msgstr "Il nome non può iniziare con uno spazio." + +msgid "The name is not allowed to end with space character." +msgstr "Il nome non può terminare con uno spazio." + +msgid "The name length exceeds the limit." +msgstr "La lunghezza del nome supera il limite." + msgid "Origin" msgstr "Origine" @@ -3803,9 +4004,6 @@ msgstr "Impostazioni stampante" msgid "parameter name" msgstr "nome parametro" -msgid "N/A" -msgstr "N/D" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s non può essere una percentuale" @@ -4123,9 +4321,6 @@ msgstr "Evitare la regione di calibrazione dell'estrusione" msgid "Align to Y axis" msgstr "Allinea all'asse Y" -msgid "Add" -msgstr "Aggiungi" - msgid "Add plate" msgstr "Aggiungi piatto" @@ -4313,15 +4508,9 @@ msgstr "Chiusura dell'applicazione durante la modifica di alcuni preset." msgid "Logging" msgstr "Accesso" -msgid "Prepare" -msgstr "Prepara" - msgid "Preview" msgstr "Anteprima" -msgid "Device" -msgstr "Dispositivo" - msgid "Multi-device" msgstr "" @@ -4349,9 +4538,6 @@ msgstr "Slice tutto" msgid "Export G-code file" msgstr "Esporta file G-code" -msgid "Send" -msgstr "Invia" - msgid "Export plate sliced file" msgstr "Esporta il file del piatto elaborato" @@ -4364,9 +4550,6 @@ msgstr "Stampa tutto" msgid "Send all" msgstr "Invia tutto" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "Scorciatoie Tastiera" @@ -4508,8 +4691,8 @@ msgstr "Esporta G-code" msgid "Export current plate as G-code" msgstr "Esporta piatto corrente come G-code" -msgid "Export &Configs" -msgstr "Esporta &Configurazioni" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Esporta la configurazione corrente in file" @@ -4610,9 +4793,6 @@ msgstr "Mostra la sporgenza dell'oggetto evidenziata nella scena 3D" msgid "Preferences" msgstr "Preferenze" -msgid "View" -msgstr "Vista" - msgid "Help" msgstr "Aiuto" @@ -4679,10 +4859,10 @@ msgstr "Esporta percorso strumen&to come OBJ" msgid "Export toolpaths as OBJ" msgstr "Esporta percorso strumento come OBJ" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Aprire &Studio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Apri Studio" msgid "&Quit" @@ -4867,9 +5047,6 @@ msgstr "Informazione" msgid "Playing..." msgstr "Riproduzione..." -msgid "Loading..." -msgstr "Caricamento…" - msgid "Year" msgstr "Anno" @@ -5028,11 +5205,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -5091,12 +5263,6 @@ msgstr "Inverti asse di rollio" msgid "Printing Progress" msgstr "Avanzamento della stampa" -msgid "Resume" -msgstr "Continua" - -msgid "Stop" -msgstr "Ferma" - msgid "0" msgstr "0" @@ -5876,6 +6042,9 @@ msgstr "" "A causa di una codifica del testo non supportata, potrebbero apparire " "caratteri inutili!" +msgid "Remember my choice." +msgstr "Ricorda la mia scelta." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "" @@ -6003,9 +6172,6 @@ msgstr "Impossibile ricaricare:" msgid "Error during reload" msgstr "Errore durante il ri-caricamento" -msgid "Slicing" -msgstr "Slicing" - msgid "There are warnings after slicing models:" msgstr "Ci sono avvisi dopo aver elaborato i modelli:" @@ -6080,9 +6246,11 @@ msgid "Project downloaded %d%%" msgstr "Progetto scaricato %d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" +"L'importazione di Orca Slicer non è riuscita. Si prega di scaricare il file " +"e importarlo manualmente." msgid "Import SLA archive" msgstr "Importa archivio SLA" @@ -6120,9 +6288,6 @@ msgstr "I file e i modelli G-code non possono essere caricati insieme!" msgid "Can not add models when in preview mode!" msgstr "Impossibile aggiungere modelli in modalità anteprima!" -msgid "Add Models" -msgstr "Aggiungi modelli" - msgid "All objects will be removed, continue?" msgstr "Saranno rimossi tutti gli oggetti, continuare?" @@ -6131,9 +6296,6 @@ msgstr "" "Il progetto corrente ha modifiche non salvate. Desideri salvarle prima di " "continuare?" -msgid "Remember my choice." -msgstr "Ricorda la mia scelta." - msgid "Number of copies:" msgstr "Numero di copie:" @@ -6341,6 +6503,11 @@ msgstr "Regione di accesso" msgid "Stealth Mode" msgstr "Modalità invisibile" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "Abilita plugin di rete" @@ -6449,7 +6616,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6677,9 +6844,6 @@ msgstr "Seleziona/Rimuovi stampanti (preimpostazioni di sistema)" msgid "Create printer" msgstr "Creare una stampante" -msgid "Incompatible" -msgstr "Non compatibile" - msgid "The selected preset is null!" msgstr "Il preset selezionato è nullo!" @@ -6776,15 +6940,6 @@ msgstr "Preset utente" msgid "Preset Inside Project" msgstr "Preset interno al Progetto" -msgid "Name is invalid;" -msgstr "Nome non valido;" - -msgid "illegal characters:" -msgstr "Caratteri illegali:" - -msgid "illegal suffix:" -msgstr "Suffisso illegale:" - msgid "Name is unavailable." msgstr "Nome non disponibile." @@ -6803,15 +6958,6 @@ msgstr "" msgid "Please note that saving action will replace this preset" msgstr "Tieni presente che il salvataggio sovrascriverà il preset corrente" -msgid "The name is not allowed to be empty." -msgstr "Il campo nome non può essere vuoto." - -msgid "The name is not allowed to start with space character." -msgstr "Il nome non può iniziare con uno spazio." - -msgid "The name is not allowed to end with space character." -msgstr "Il nome non può terminare con uno spazio." - msgid "The name cannot be the same as a preset alias name." msgstr "Il nome non può essere uguale a quello di un preset." @@ -6869,9 +7015,6 @@ msgstr "Non riesci a trovare i dispositivi?" msgid "Log out successful." msgstr "Log out riuscito." -msgid "Offline" -msgstr "Offline" - msgid "Busy" msgstr "Occupato" @@ -7087,15 +7230,6 @@ msgstr "" "Collegamento alla stampante. Impossibile annullare durante il processo di " "connessione." -msgid "Preparing print job" -msgstr "Preparazione lavoro di stampa" - -msgid "Abnormal print file data. Please slice again" -msgstr "Dati file di stampa anormali. Eseguire nuovamente l'elaborazione" - -msgid "The name length exceeds the limit." -msgstr "La lunghezza del nome supera il limite." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7483,6 +7617,9 @@ msgstr "Filamento per supporti" msgid "Tree supports" msgstr "Supporti ad albero" +msgid "Skirt" +msgstr "Skirt" + msgid "Prime tower" msgstr "Prime tower" @@ -8412,6 +8549,12 @@ msgstr "Sposta il cursore 5 volte più velocemente" msgid "Shift+Mouse wheel" msgstr "Shift+Rotella mouse" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Note di aggiornamento" @@ -8537,12 +8680,6 @@ msgstr "Versione:" msgid "Update firmware" msgstr "Aggiorna firmware" -msgid "Printing" -msgstr "Stampa" - -msgid "Idle" -msgstr "Inattivo" - msgid "Beta version" msgstr "Versione beta" @@ -8578,7 +8715,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "La versione firmware è anomala. Prima di stampare, è necessario eseguire la " "riparazione e l'aggiornamento. Si desidera aggiornare ora? È possibile " @@ -8723,9 +8860,6 @@ msgstr "Ponte interno" msgid "Gap infill" msgstr "Riempimento gap" -msgid "Skirt" -msgstr "Skirt" - msgid "Support interface" msgstr "Interfaccia supporto" @@ -10770,8 +10904,8 @@ msgstr "Venditore di filamenti. Solo per lo spettacolo" msgid "(Undefined)" msgstr "(Indefinito)" -msgid "Infill direction" -msgstr "Direzione riempimento" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10780,6 +10914,20 @@ msgstr "" "Questo è l'angolo della trama di riempimento che controlla l'inizio o la " "direzione principale delle linee." +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Densità riempimento" @@ -11135,12 +11283,15 @@ msgid "Arc fitting" msgstr "Arc fitting" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"Abilita questa funzione per ottenere un file G-code con gli spostamenti " -"circolari in G2 e G3. La tolleranza di adattamento è la stessa della " -"risoluzione" msgid "Add line number" msgstr "Aggiungi numero di riga" @@ -11374,13 +11525,25 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Sovrapposizione riempimento/parete" +#, 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"Ciò consente di allargare leggermente l'area di riempimento per sovrapporla " -"alle pareti per una migliore adesione. Il valore percentuale è relativo alla " -"larghezza della linea del riempimento." msgid "Speed of internal sparse infill" msgstr "Indica la velocità del riempimento interno." @@ -12477,6 +12640,23 @@ msgstr "Altezza skirt" msgid "How many layers of skirt. Usually only one layer" msgstr "Numero di layer skirt: solitamente uno" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Anelli skirt" @@ -12492,6 +12672,17 @@ msgstr "" "Velocità del gonna, in mm/s. Zero significa utilizzare la velocità di " "estrusione dello strato predefinita." +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -13272,6 +13463,19 @@ msgstr "Spaziatura delle linee di spurgo della torre di pulitura" msgid "Spacing of purge lines on the wipe tower." msgstr "Spaziatura delle linee di spurgo sulla torre di pulitura." +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "Estrusore torre di pulitura" @@ -15256,7 +15460,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -15265,9 +15469,6 @@ msgstr "" msgid "Printer Setting" msgstr "Impostazione della stampante" -msgid "Export Configs" -msgstr "Esporta &Configurazioni" - msgid "Printer config bundle(.orca_printer)" msgstr "Bundle di configurazione della stampante (.orca_printer)" @@ -16265,6 +16466,40 @@ msgstr "" "aumentare in modo appropriato la temperatura del piano riscaldato può " "ridurre la probabilità di deformazione." +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "Orca Slicer è basato su BambuStudio di Bambulab, che è di PrusaSlicer di " +#~ "Prusa Research. PrusaSlicer è di Slic3r di Alessandro Ranellucci e della " +#~ "comunità RepRap" + +#~ msgid "Export &Configs" +#~ msgstr "Esporta &Configurazioni" + +#~ msgid "Infill direction" +#~ msgstr "Direzione riempimento" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Abilita questa funzione per ottenere un file G-code con gli spostamenti " +#~ "circolari in G2 e G3. La tolleranza di adattamento è la stessa della " +#~ "risoluzione" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "Ciò consente di allargare leggermente l'area di riempimento per " +#~ "sovrapporla alle pareti per una migliore adesione. Il valore percentuale " +#~ "è relativo alla larghezza della linea del riempimento." + +#~ msgid "Export Configs" +#~ msgstr "Esporta &Configurazioni" + #~ msgid "Unload Filament" #~ msgstr "Scarica Filamento" @@ -16290,13 +16525,6 @@ msgstr "" #~ msgid "HMS" #~ msgstr "HMS" -#~ msgid "" -#~ "Importing to Orca Slicer failed. Please download the file and manually " -#~ "import it." -#~ msgstr "" -#~ "L'importazione di Orca Slicer non è riuscita. Si prega di scaricare il " -#~ "file e importarlo manualmente." - #~ msgid "- ℃" #~ msgstr "- °C" diff --git a/localization/i18n/ja/OrcaSlicer_ja.po b/localization/i18n/ja/OrcaSlicer_ja.po index eeb821b872a..676f6d06812 100644 --- a/localization/i18n/ja/OrcaSlicer_ja.po +++ b/localization/i18n/ja/OrcaSlicer_ja.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -1834,6 +1834,9 @@ msgstr "プリミティブを追加" msgid "Add Handy models" msgstr "" +msgid "Add Models" +msgstr "モデルを追加" + msgid "Show Labels" msgstr "ラベルを表示" @@ -2315,8 +2318,8 @@ msgstr "プリンターへ接続できませんでした" msgid "Connection to printer failed" msgstr "Connection to printer failed" -msgid "Please check the network connection of the printer and Studio." -msgstr "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." +msgstr "Please check the network connection of the printer and Orca." msgid "Connecting..." msgstr "接続中…" @@ -2663,10 +2666,7 @@ msgstr "Orca Slicerのライセンス" msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, version 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" msgid "Libraries" @@ -3130,6 +3130,210 @@ msgstr "" "%1%にタスクをスケジューリングしました、詳細は「ウインドウ→タスクキュー」にて" "ご確認ください。" +msgid "Device" +msgstr "デバイス" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "オフライン" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "表示" + +msgid "N/A" +msgstr "N/A" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "追加" + +msgid "Idle" +msgstr "待機中" + +msgid "Printing" +msgstr "造形中" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Incompatible" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "準備" + +msgid "Slicing" +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 "Resume" +msgstr "再開" + +msgid "Stop" +msgstr "中止" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "読込み中" + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "造形タスクを準備" + +msgid "Abnormal print file data. Please slice again" +msgstr "ファイルに異常があります、もう一度スライスしてください" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +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 "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 length exceeds the limit." +msgstr "The name length exceeds the limit." + msgid "Origin" msgstr "原点" @@ -3604,9 +3808,6 @@ msgstr "プリンター設定" msgid "parameter name" msgstr "パラメータ名" -msgid "N/A" -msgstr "N/A" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s をパーセンテージにすることはできません" @@ -3923,9 +4124,6 @@ msgstr "押出しキャリブレーション領域を避ける" msgid "Align to Y axis" msgstr "" -msgid "Add" -msgstr "追加" - msgid "Add plate" msgstr "プレートを追加" @@ -4107,15 +4305,9 @@ msgstr "プリセットが変更されたが終了します" msgid "Logging" msgstr "ログ" -msgid "Prepare" -msgstr "準備" - msgid "Preview" msgstr "プレビュー" -msgid "Device" -msgstr "デバイス" - msgid "Multi-device" msgstr "" @@ -4143,9 +4335,6 @@ msgstr "スライス (全プレート)" msgid "Export G-code file" msgstr "G-codeをエクスポート" -msgid "Send" -msgstr "送信" - msgid "Export plate sliced file" msgstr "エクスポート" @@ -4158,9 +4347,6 @@ msgstr "造形開始 (全プレート)" msgid "Send all" msgstr "送信 (全プレート)" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "ショートカット" @@ -4302,8 +4488,8 @@ msgstr "G-codeをエクスポート" msgid "Export current plate as G-code" msgstr "現在のプレートをG-codeでエクスポート" -msgid "Export &Configs" -msgstr "構成データ" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "現在の構成をエクスポート" @@ -4404,9 +4590,6 @@ msgstr "Show object overhang highlight in 3D scene" msgid "Preferences" msgstr "設定" -msgid "View" -msgstr "表示" - msgid "Help" msgstr "ヘルプ" @@ -4473,10 +4656,10 @@ msgstr "Export &Toolpaths as OBJ" msgid "Export toolpaths as OBJ" msgstr "Export toolpaths as OBJ" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Studioを開く" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Studioを開く" msgid "&Quit" @@ -4644,9 +4827,6 @@ msgstr "情報" msgid "Playing..." msgstr "再生中..." -msgid "Loading..." -msgstr "読込み中" - msgid "Year" msgstr "年" @@ -4799,11 +4979,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -4862,12 +5037,6 @@ msgstr "" msgid "Printing Progress" msgstr "進捗" -msgid "Resume" -msgstr "再開" - -msgid "Stop" -msgstr "中止" - msgid "0" msgstr "0" @@ -5592,6 +5761,9 @@ msgstr "ファイルのエンコーディング方式はUTF8形式ではあり msgid "The name may show garbage characters!" msgstr "文字化けがあるようです、ご確認ください" +msgid "Remember my choice." +msgstr "Remember my choice." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "ファイル %1% を読み込めませんでした。" @@ -5714,9 +5886,6 @@ msgstr "" msgid "Error during reload" msgstr "" -msgid "Slicing" -msgstr "スライス中" - msgid "There are warnings after slicing models:" msgstr "スライスの警告:" @@ -5789,7 +5958,7 @@ msgid "Project downloaded %d%%" msgstr "プロジェクトをダウンロード %d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" @@ -5829,9 +5998,6 @@ msgstr "G-codeファイルとモデルを一緒にロードできません" msgid "Can not add models when in preview mode!" msgstr "プレビューモードではモデルを追加できません" -msgid "Add Models" -msgstr "モデルを追加" - msgid "All objects will be removed, continue?" msgstr "すべてのオブジェクトが削除されます。続行しますか?" @@ -5839,9 +6005,6 @@ msgid "The current project has unsaved changes, save it before continue?" msgstr "" "現在のプロジェクトには未保存の変更があります。続行する前に保存しますか?" -msgid "Remember my choice." -msgstr "Remember my choice." - msgid "Number of copies:" msgstr "複製数" @@ -6041,6 +6204,11 @@ msgstr "地域" msgid "Stealth Mode" msgstr "" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "" @@ -6147,7 +6315,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6365,9 +6533,6 @@ msgstr "" msgid "Create printer" msgstr "" -msgid "Incompatible" -msgstr "Incompatible" - msgid "The selected preset is null!" msgstr "" @@ -6462,15 +6627,6 @@ msgstr "ユーザープリセット" msgid "Preset Inside Project" msgstr "プロジェクト プリセット" -msgid "Name is invalid;" -msgstr "名称が無効です" - -msgid "illegal characters:" -msgstr "無効な文字:" - -msgid "illegal suffix:" -msgstr "無効なサフィックス" - msgid "Name is unavailable." msgstr "名称は使用できません" @@ -6488,15 +6644,6 @@ msgstr "プリセット\"%1%\"は既に存在し、また互換性がありま msgid "Please note that saving action will replace this preset" 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 cannot be the same as a preset alias name." msgstr "プリセット名と同じの為、設定できません。" @@ -6554,9 +6701,6 @@ msgstr "デバイスが見つからない?" msgid "Log out successful." msgstr "サインアウトしました" -msgid "Offline" -msgstr "オフライン" - msgid "Busy" msgstr "ビジー状態" @@ -6746,15 +6890,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" -msgid "Preparing print job" -msgstr "造形タスクを準備" - -msgid "Abnormal print file data. Please slice again" -msgstr "ファイルに異常があります、もう一度スライスしてください" - -msgid "The name length exceeds the limit." -msgstr "The name length exceeds the limit." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7114,6 +7249,9 @@ msgstr "サポート用フィラメント" msgid "Tree supports" msgstr "" +msgid "Skirt" +msgstr "" + msgid "Prime tower" msgstr "プライムタワー" @@ -7972,6 +8110,12 @@ msgstr "5x" msgid "Shift+Mouse wheel" msgstr "Shift + マウスホイール" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "リリースノート" @@ -8090,12 +8234,6 @@ msgstr "バージョン" msgid "Update firmware" msgstr "ファームウェアを更新" -msgid "Printing" -msgstr "造形中" - -msgid "Idle" -msgstr "待機中" - msgid "Beta version" msgstr "" @@ -8129,7 +8267,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "ファームウェアのバージョンに異常があります。印刷する前に修復と更新が必要で" "す。今すぐ更新しますか?" @@ -8264,9 +8402,6 @@ msgstr "" msgid "Gap infill" msgstr "隙間インフィル" -msgid "Skirt" -msgstr "" - msgid "Support interface" msgstr "サポート接触面" @@ -9911,14 +10046,28 @@ msgstr "" msgid "(Undefined)" msgstr "(未定義)" -msgid "Infill direction" -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 "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "充填密度" @@ -10214,9 +10363,15 @@ msgid "Arc fitting" msgstr "曲線フィッティング" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" -msgstr "この設定で出力のG-codeファイルにG2/G3コードを有効します。" +"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 recomended 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 "" msgid "Add line number" msgstr "行番号を追加" @@ -10409,12 +10564,25 @@ 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"インフィルの領域を少し壁面を重ねるために拡大します。これにより壁面との接着性" -"が向上させます。値はスパース インフィルの線幅の割合です。" msgid "Speed of internal sparse infill" msgstr "スパース インフィルの造形速度です。" @@ -11302,6 +11470,23 @@ msgstr "Skirt height" msgid "How many layers of skirt. Usually only one layer" msgstr "Number of skirt layers: usually only one" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "スカートのループ数" @@ -11314,6 +11499,17 @@ msgstr "" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." msgstr "" +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -11970,6 +12166,19 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "" @@ -13664,7 +13873,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -13673,9 +13882,6 @@ msgstr "" msgid "Printer Setting" msgstr "" -msgid "Export Configs" -msgstr "" - msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -14538,6 +14744,24 @@ msgid "" "probability of warping." msgstr "" +#~ msgid "Export &Configs" +#~ msgstr "構成データ" + +#~ msgid "Infill direction" +#~ msgstr "インフィル方向" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "この設定で出力のG-codeファイルにG2/G3コードを有効します。" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "インフィルの領域を少し壁面を重ねるために拡大します。これにより壁面との接着" +#~ "性が向上させます。値はスパース インフィルの線幅の割合です。" + #~ msgid "Unload Filament" #~ msgstr "アンロード" diff --git a/localization/i18n/ko/OrcaSlicer_ko.po b/localization/i18n/ko/OrcaSlicer_ko.po index dfa4ce9e986..382216deb48 100644 --- a/localization/i18n/ko/OrcaSlicer_ko.po +++ b/localization/i18n/ko/OrcaSlicer_ko.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: 2024-05-01 04:51+0900\n" "Last-Translator: Hotsolidinfill <138652683+Hotsolidinfill@users.noreply." "github.com>, crwusiz \n" @@ -1882,6 +1882,9 @@ msgstr "기본 모델 추가" msgid "Add Handy models" msgstr "핸디 모델 추가" +msgid "Add Models" +msgstr "모델 추가" + msgid "Show Labels" msgstr "이름표 보기" @@ -2361,7 +2364,7 @@ msgstr "프린터 연결 실패" msgid "Connection to printer failed" msgstr "프린터 연결 실패" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "프린터와 Orca Slicer의 네트워크 연결을 확인하세요." msgid "Connecting..." @@ -2708,14 +2711,8 @@ msgstr "Orca Slicer is licensed under " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, version 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" -"Orca Slicer는 Prusa Research의 PrusaSlicer에서 나온 뱀부랩의 BambuStudio를 기" -"반으로 합니다. PrusaSlicer는 Alessandro Ranellucci와 RepRap 커뮤니티의 " -"Slic3r에서 제작되었습니다" msgid "Libraries" msgstr "라이브러리" @@ -3210,6 +3207,210 @@ msgstr "출력 G코드에 임시 G코드를 복사하지 못했습니다" msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" msgstr "%1%로 업로드 예약 중. 윈도우 -> 호스트 업로드 출력 대기열 참조" +msgid "Device" +msgstr "장치" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "오프라인" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "시점" + +msgid "N/A" +msgstr "N/A" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "추가" + +msgid "Idle" +msgstr "대기 중" + +msgid "Printing" +msgstr "출력 중" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "호환되지 않음" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "준비 하기" + +msgid "Slicing" +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 "Resume" +msgstr "계속" + +msgid "Stop" +msgstr "정지" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "로딩 중..." + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "여러 장치로 보내기" + +msgid "Preparing print job" +msgstr "출력 작업 준비 중" + +msgid "Abnormal print file data. Please slice again" +msgstr "비정상적인 출력 파일 데이터입니다. 다시 슬라이스하세요" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +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 "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 length exceeds the limit." +msgstr "이름 길이가 제한을 초과합니다." + msgid "Origin" msgstr "원점" @@ -3713,9 +3914,6 @@ msgstr "프린터 설정" msgid "parameter name" msgstr "매개변수 이름" -msgid "N/A" -msgstr "N/A" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s 는 백분율일 수 없습니다" @@ -4033,9 +4231,6 @@ msgstr "압출 교정 영역을 피하세요" msgid "Align to Y axis" msgstr "Y축에 정렬" -msgid "Add" -msgstr "추가" - msgid "Add plate" msgstr "플레이트 추가" @@ -4221,15 +4416,9 @@ msgstr "일부 사전 설정을 수정하는 동안 응용 프로그램을 닫 msgid "Logging" msgstr "로깅" -msgid "Prepare" -msgstr "준비 하기" - msgid "Preview" msgstr "미리 보기" -msgid "Device" -msgstr "장치" - msgid "Multi-device" msgstr "멀티 디바이스" @@ -4257,9 +4446,6 @@ msgstr "모두 슬라이스" msgid "Export G-code file" msgstr "G코드 파일 내보내기" -msgid "Send" -msgstr "전송" - msgid "Export plate sliced file" msgstr "플레이트 슬라이스 파일 내보내기" @@ -4272,9 +4458,6 @@ msgstr "모두 출력" msgid "Send all" msgstr "모두 전송" -msgid "Send to Multi-device" -msgstr "여러 장치로 보내기" - msgid "Keyboard Shortcuts" msgstr "키보드 단축키" @@ -4416,8 +4599,8 @@ msgstr "G코드 내보내기" msgid "Export current plate as G-code" msgstr "현재 플레이트를 G코드로 내보내기" -msgid "Export &Configs" -msgstr "설정 내보내기 (&C)" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "현재 설정을 파일로 내보내기" @@ -4518,9 +4701,6 @@ msgstr "3D 장면에서 개체 오버행 하이라이트 표시" msgid "Preferences" msgstr "기본 설정" -msgid "View" -msgstr "시점" - msgid "Help" msgstr "도움말" @@ -4587,10 +4767,10 @@ msgstr "툴 경로를 OBJ로 내보내기 (&T)" msgid "Export toolpaths as OBJ" msgstr "툴 경로를 OBJ로 내보내기" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Studio 열기 (&O)" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Studio 열기" msgid "&Quit" @@ -4768,9 +4948,6 @@ msgstr "정보" msgid "Playing..." msgstr "재생중...." -msgid "Loading..." -msgstr "로딩 중..." - msgid "Year" msgstr "년" @@ -4932,13 +5109,6 @@ msgstr "" "프린터를 다시 연결하는 중입니다. 작업을 즉시 완료할 수 없습니다. 나중에 다시 " "시도해 주세요." -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" -"4개 이상의 시스템/핸디가 원격 액세스를 사용하고 있습니다. 일부 시스템을 닫고 " -"다시 시도할 수 있습니다." - msgid "File does not exist." msgstr "파일이 없습니다." @@ -4997,12 +5167,6 @@ msgstr "종축을 중심으로 반전" msgid "Printing Progress" msgstr "출력 진행률" -msgid "Resume" -msgstr "계속" - -msgid "Stop" -msgstr "정지" - msgid "0" msgstr "0" @@ -5762,6 +5926,9 @@ msgstr "단계 파일 내의 구성 요소 이름이 UTF8 형식이 아닙니다 msgid "The name may show garbage characters!" msgstr "이름에 알 수 없는 문자가 표시될 수 있습니다!" +msgid "Remember my choice." +msgstr "선택 기억하기." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "파일 \"%1%\"을(를) 로드하지 못했습니다. 잘못된 구성이 발견되었습니다." @@ -5886,9 +6053,6 @@ msgstr "새로고침할 수 없음:" msgid "Error during reload" msgstr "새로고침 중 오류가 발생했습니다" -msgid "Slicing" -msgstr "슬라이싱" - msgid "There are warnings after slicing models:" msgstr "모델을 슬라이싱한 후 경고 발생:" @@ -5959,14 +6123,16 @@ msgstr "다운로드에 실패했습니다. 파일 크기 예외입니다." #, c-format, boost-format msgid "Project downloaded %d%%" -msgstr "프로젝트 다운로드 %d%%" +msgstr "" +"프로젝트 다운로드 %d%%Bambu Studio로 가져오는 데 실패했습니다. 파일을 다운로" +"드하여 수동으로 가져오세요." msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" -"Bambu Studio로 가져오는 데 실패했습니다. 파일을 다운로드하여 수동으로 가져오" -"세요." +"Orca Slicer로 가져오는 데 실패했습니다. 파일을 다운로드하여 수동으로 가져오세" +"요." msgid "Import SLA archive" msgstr "SLA 압축파일 가져오기" @@ -6004,9 +6170,6 @@ msgstr "G코드 파일은 모델과 함께 로드할 수 없습니다!" msgid "Can not add models when in preview mode!" msgstr "미리보기 모드에서는 모델을 추가할 수 없습니다!" -msgid "Add Models" -msgstr "모델 추가" - msgid "All objects will be removed, continue?" msgstr "모든 개체가 제거됩니다. 계속하시겠습니까?" @@ -6015,9 +6178,6 @@ msgstr "" "현재 프로젝트에 저장되지 않은 변경 사항이 있습니다. 계속하기 전에 저장하시겠" "습니까?" -msgid "Remember my choice." -msgstr "선택 기억하기." - msgid "Number of copies:" msgstr "복제 수:" @@ -6220,6 +6380,11 @@ msgstr "로그인 지역" msgid "Stealth Mode" msgstr "스텔스 모드" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "네트워크 플러그인 사용" @@ -6336,7 +6501,7 @@ msgstr "" "활성화된 경우 Orca는 각 프린터의 필라멘트/프로세스 구성을 자동으로 기억하고 " "전환합니다." -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "다중 장치 관리(Studio를 다시 시작한 후 적용)." msgid "" @@ -6558,9 +6723,6 @@ msgstr "프린터 선택/제거(시스템 사전 설정)" msgid "Create printer" msgstr "프린터 생성" -msgid "Incompatible" -msgstr "호환되지 않음" - msgid "The selected preset is null!" msgstr "선택한 사전 설정의 값이 존재하지 않습니다!(null)" @@ -6655,15 +6817,6 @@ msgstr "사용자 사전 설정" msgid "Preset Inside Project" msgstr "프로젝트 내부 사전 설정" -msgid "Name is invalid;" -msgstr "이름이 잘못되었습니다;" - -msgid "illegal characters:" -msgstr "잘못된 문자:" - -msgid "illegal suffix:" -msgstr "잘못된 접미사:" - msgid "Name is unavailable." msgstr "이름을 사용할 수 없습니다." @@ -6681,15 +6834,6 @@ msgstr "%1% 사전 설정이 이미 있으며 현재 프린터와 호환되지 msgid "Please note that saving action will replace this preset" 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 cannot be the same as a preset alias name." msgstr "이름은 사전 설정의 별칭 이름과 같을 수 없습니다." @@ -6747,9 +6891,6 @@ msgstr "내 장치를 찾을 수 없습니까?" msgid "Log out successful." msgstr "로그아웃에 성공했습니다." -msgid "Offline" -msgstr "오프라인" - msgid "Busy" msgstr "사용중" @@ -6955,15 +7096,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "프린터에 연결 중입니다. 연결 진행 중에는 취소할 수 없습니다." -msgid "Preparing print job" -msgstr "출력 작업 준비 중" - -msgid "Abnormal print file data. Please slice again" -msgstr "비정상적인 출력 파일 데이터입니다. 다시 슬라이스하세요" - -msgid "The name length exceeds the limit." -msgstr "이름 길이가 제한을 초과합니다." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7264,8 +7396,8 @@ 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\"." +"by right-click the empty position of build plate and choose \"Add Primitive" +"\"->\"Timelapse Wipe Tower\"." msgstr "" "툴헤드 없이 시간 경과를 기록할 경우 \"타임랩스 닦기 타워\"를 추가하는 것이 좋" "습니다\n" @@ -7340,6 +7472,9 @@ msgstr "지지대 필라멘트" msgid "Tree supports" msgstr "나무 지지대" +msgid "Skirt" +msgstr "스커트" + msgid "Prime tower" msgstr "프라임 타워" @@ -8239,6 +8374,12 @@ msgstr "슬라이더를 5배 빠르게 이동" msgid "Shift+Mouse wheel" msgstr "Shift+마우스 휠" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "릴리스 노트" @@ -8361,12 +8502,6 @@ msgstr "버전:" msgid "Update firmware" msgstr "펌웨어 업데이트" -msgid "Printing" -msgstr "출력 중" - -msgid "Idle" -msgstr "대기 중" - msgid "Beta version" msgstr "베타 버전" @@ -8401,7 +8536,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "펌웨어 버전이 비정상입니다. 출력하기 전에 수리 및 업데이트가 필요합니다. 지" "금 업데이트하시겠습니까? 나중에 프린터에서 업데이트하거나 다음에 스튜디오를 " @@ -8540,9 +8675,6 @@ msgstr "내부 브릿지" msgid "Gap infill" msgstr "간격 채우기" -msgid "Skirt" -msgstr "스커트" - msgid "Support interface" msgstr "지지대 접점" @@ -10425,14 +10557,28 @@ msgstr "필라멘트 제조사" msgid "(Undefined)" msgstr "(정의되지 않음)" -msgid "Infill direction" -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 "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "드문 채우기 밀도" @@ -10674,10 +10820,10 @@ 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." +"\"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\" 의 0에서 \"full_fan_speed_layer\" " "의 최고 속도까지 선형적으로 증가합니다. \"full_fan_speed_layer\"가 " @@ -10768,11 +10914,15 @@ msgid "Arc fitting" msgstr "원호 맞춤" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"G2 및 G3 이동(원호 기반 G코드)이 있는 G코드 파일을 가져오려면 이 기능을 활성" -"화합니다. 피팅 공차는 해상도와 동일합니다" msgid "Add line number" msgstr "라인 번호 추가" @@ -10996,12 +11146,25 @@ 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"채우기 영역이 벽과 겹치도록 약간 확장되어 접착력이 향상됩니다. 드문 채우기 " -"선 너비의 백분율 값입니다" msgid "Speed of internal sparse infill" msgstr "내부 드문 채우기 속도" @@ -12032,6 +12195,23 @@ 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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "스커트 루프" @@ -12044,6 +12224,17 @@ msgstr "스커트 속도" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." msgstr "스커트의 속도(mm/s), 0은 기본 레이어 압출 속도를 사용함을 의미합니다." +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -12763,6 +12954,19 @@ msgstr "닦기 타워 청소 선 간격" msgid "Spacing of purge lines on the wipe tower." msgstr "닦기 타워의 청소 선 간격입니다." +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "닦기 타워 압출기" @@ -14435,8 +14639,8 @@ msgstr "" "다시 작성하시겠습니까?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you " -"selected\". \n" +"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 "" "사전 설정의 이름을 \"선택한 공급업체 유형 직렬 @프린터\"로 변경합니다.\n" @@ -14645,7 +14849,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -14659,9 +14863,6 @@ msgstr "" msgid "Printer Setting" msgstr "프린터 설정" -msgid "Export Configs" -msgstr "구성 내보내기" - msgid "Printer config bundle(.orca_printer)" msgstr "프린터 구성 번들(.orca_printer)" @@ -15703,6 +15904,45 @@ msgstr "" "ABS 등 뒤틀림이 발생하기 쉬운 소재를 출력할 때, 히트베드 온도를 적절하게 높이" "면 뒤틀림 가능성을 줄일 수 있다는 사실을 알고 계셨나요?" +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "Orca Slicer는 Prusa Research의 PrusaSlicer에서 나온 뱀부랩의 BambuStudio" +#~ "를 기반으로 합니다. PrusaSlicer는 Alessandro Ranellucci와 RepRap 커뮤니티" +#~ "의 Slic3r에서 제작되었습니다" + +#~ msgid "Export &Configs" +#~ msgstr "설정 내보내기 (&C)" + +#~ msgid "" +#~ "Over 4 systems/handy are using remote access, you can close some and try " +#~ "again." +#~ msgstr "" +#~ "4개 이상의 시스템/핸디가 원격 액세스를 사용하고 있습니다. 일부 시스템을 닫" +#~ "고 다시 시도할 수 있습니다." + +#~ msgid "Infill direction" +#~ msgstr "채우기 방향" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "G2 및 G3 이동(원호 기반 G코드)이 있는 G코드 파일을 가져오려면 이 기능을 활" +#~ "성화합니다. 피팅 공차는 해상도와 동일합니다" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "채우기 영역이 벽과 겹치도록 약간 확장되어 접착력이 향상됩니다. 드문 채우" +#~ "기 선 너비의 백분율 값입니다" + +#~ msgid "Export Configs" +#~ msgstr "구성 내보내기" + #~ msgid "Unload Filament" #~ msgstr "필라멘트 언로드" @@ -15728,13 +15968,6 @@ msgstr "" #~ msgid "HMS" #~ msgstr "HMS" -#~ msgid "" -#~ "Importing to Orca Slicer failed. Please download the file and manually " -#~ "import it." -#~ msgstr "" -#~ "Orca Slicer로 가져오는 데 실패했습니다. 파일을 다운로드하여 수동으로 가져" -#~ "오세요." - #~ msgid "- ℃" #~ msgstr "- ℃" @@ -15987,8 +16220,8 @@ msgstr "" #~ msgstr "드문 레이어 없음(실험적)" #~ msgid "" -#~ "We would rename the presets as \"Vendor Type Serial @printer you " -#~ "selected\". \n" +#~ "We would rename the presets as \"Vendor Type Serial @printer you selected" +#~ "\". \n" #~ "To add preset for more prinetrs, Please go to printer selection" #~ msgstr "" #~ "사전 설정의 이름을 \"선택한 공급업체 유형 직렬 @프린터\"로 변경합니다.\n" diff --git a/localization/i18n/nl/OrcaSlicer_nl.po b/localization/i18n/nl/OrcaSlicer_nl.po index a483824300e..e97d061cc01 100644 --- a/localization/i18n/nl/OrcaSlicer_nl.po +++ b/localization/i18n/nl/OrcaSlicer_nl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1854,6 +1854,9 @@ msgstr "Primitief toevoegen" msgid "Add Handy models" msgstr "" +msgid "Add Models" +msgstr "Modellen toevoegen" + msgid "Show Labels" msgstr "Toon labels" @@ -2360,8 +2363,8 @@ msgstr "Verbinding maken met de printer is mislukt" msgid "Connection to printer failed" msgstr "Connection to printer failed" -msgid "Please check the network connection of the printer and Studio." -msgstr "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." +msgstr "Please check the network connection of the printer and Orca." msgid "Connecting..." msgstr "Verbinden..." @@ -2717,10 +2720,7 @@ msgstr "Orca Slicer is gelicentieerd onder " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero Algemene Openbare Licentie, versie 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" msgid "Libraries" @@ -3210,6 +3210,210 @@ msgstr "" msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" msgstr "Upload inplannen in `%1%`. Zie Venster -> Print Host Upload Queue" +msgid "Device" +msgstr "Apparaat" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Offline" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "Weergave" + +msgid "N/A" +msgstr "N/B" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Toevoegen" + +msgid "Idle" +msgstr "Inactief" + +msgid "Printing" +msgstr "Printen" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Incompatible" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Voorbereiden" + +msgid "Slicing" +msgstr "Slicen" + +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 "Resume" +msgstr "Hervatten" + +msgid "Stop" +msgstr "Stop" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Laden..." + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "Print opdracht voorbereiden" + +msgid "Abnormal print file data. Please slice again" +msgstr "Abnormale printbestand. Slice opnieuw" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +msgstr "Versturen" + +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 "Name is invalid;" +msgstr "Naam is ongeldig;" + +msgid "illegal characters:" +msgstr "Niet toegestande karakters:" + +msgid "illegal suffix:" +msgstr "Ongeldig achtervoegsel:" + +msgid "The name is not allowed to be empty." +msgstr "Het is niet toegestaand om de naam leeg te laten." + +msgid "The name is not allowed to start with space character." +msgstr "Het is niet toegestaan om een naam met een spatie te laten beginnen." + +msgid "The name is not allowed to end with space character." +msgstr "Het is niet toegestaan om een naam met een spatie te laten eindigen." + +msgid "The name length exceeds the limit." +msgstr "The name length exceeds the limit." + msgid "Origin" msgstr "Begin" @@ -3710,9 +3914,6 @@ msgstr "Printer instellingen" msgid "parameter name" msgstr "parameternaam" -msgid "N/A" -msgstr "N/B" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s kan geen percentage zijn" @@ -4030,9 +4231,6 @@ msgstr "Vermijd het extrusie kalibratie gebied" msgid "Align to Y axis" msgstr "" -msgid "Add" -msgstr "Toevoegen" - msgid "Add plate" msgstr "Printbed toevoegen" @@ -4218,15 +4416,9 @@ msgstr "Applicatie sluiten terwijl sommige voorinstellingen zijn gewijzigd." msgid "Logging" msgstr "Vastleggen" -msgid "Prepare" -msgstr "Voorbereiden" - msgid "Preview" msgstr "Voorvertoning" -msgid "Device" -msgstr "Apparaat" - msgid "Multi-device" msgstr "" @@ -4254,9 +4446,6 @@ msgstr "Alles slicen" msgid "Export G-code file" msgstr "G-codebestand exporteren" -msgid "Send" -msgstr "Versturen" - msgid "Export plate sliced file" msgstr "Exporteer plate sliced bestand" @@ -4269,9 +4458,6 @@ msgstr "Print alles" msgid "Send all" msgstr "Alles verzenden" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "Sneltoesten" @@ -4413,8 +4599,8 @@ msgstr "Exporteer G-code" msgid "Export current plate as G-code" msgstr "Exporteer de huidige plaat als G-code" -msgid "Export &Configs" -msgstr "Export &Configs" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Huidige configuratie exporteren naar bestanden" @@ -4515,9 +4701,6 @@ msgstr "Show object overhang highlight in 3D scene" msgid "Preferences" msgstr "Voorkeuren" -msgid "View" -msgstr "Weergave" - msgid "Help" msgstr "Help" @@ -4584,10 +4767,10 @@ msgstr "Exporteer &Toolpaths als OBJ" msgid "Export toolpaths as OBJ" msgstr "Toolpaths exporteren als OBJ" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Open & Studio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Studio openen" msgid "&Quit" @@ -4761,9 +4944,6 @@ msgstr "Informatie" msgid "Playing..." msgstr "Afspelen..." -msgid "Loading..." -msgstr "Laden..." - msgid "Year" msgstr "Jaar" @@ -4917,11 +5097,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -4980,12 +5155,6 @@ msgstr "" msgid "Printing Progress" msgstr "Print voortgang" -msgid "Resume" -msgstr "Hervatten" - -msgid "Stop" -msgstr "Stop" - msgid "0" msgstr "0" @@ -5735,6 +5904,9 @@ msgstr "" "Vanwege niet-ondersteunde tekstcodering kunnen er onjuiste tekens " "verschijnen!" +msgid "Remember my choice." +msgstr "Remember my choice." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "" @@ -5863,9 +6035,6 @@ msgstr "" msgid "Error during reload" msgstr "" -msgid "Slicing" -msgstr "Slicen" - msgid "There are warnings after slicing models:" msgstr "Er zijn waarschuwingen na het slicen van modellen:" @@ -5942,7 +6111,7 @@ msgid "Project downloaded %d%%" msgstr "Project %d%% gedownload" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" @@ -5982,9 +6151,6 @@ msgstr "G-Code bestanden en modellen kunnen niet tegelijk geladen worden!" msgid "Can not add models when in preview mode!" msgstr "Modellen kunnen niet worden toegevoegd in voorbeeldmodus" -msgid "Add Models" -msgstr "Modellen toevoegen" - msgid "All objects will be removed, continue?" msgstr "Alle objecten zullen verwijderd worden, doorgaan?" @@ -5993,9 +6159,6 @@ msgstr "" "Het huidige project heeft niet-opgeslagen wijzigingen. Wilt u eerst opslaan " "voordat u verder gaat?" -msgid "Remember my choice." -msgstr "Remember my choice." - msgid "Number of copies:" msgstr "Aantal kopieën:" @@ -6199,6 +6362,11 @@ msgstr "Inlogregio" msgid "Stealth Mode" msgstr "" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "" @@ -6306,7 +6474,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6532,9 +6700,6 @@ msgstr "" msgid "Create printer" msgstr "" -msgid "Incompatible" -msgstr "Incompatible" - msgid "The selected preset is null!" msgstr "" @@ -6632,15 +6797,6 @@ msgstr "Gebruikersvoorinstelling" msgid "Preset Inside Project" msgstr "Voorinstelling Project Inside" -msgid "Name is invalid;" -msgstr "Naam is ongeldig;" - -msgid "illegal characters:" -msgstr "Niet toegestande karakters:" - -msgid "illegal suffix:" -msgstr "Ongeldig achtervoegsel:" - msgid "Name is unavailable." msgstr "Naam is niet beschikbaar." @@ -6660,15 +6816,6 @@ msgstr "" msgid "Please note that saving action will replace this preset" msgstr "Let er aub op dat opslaan de voorinstelling zal overschrijven" -msgid "The name is not allowed to be empty." -msgstr "Het is niet toegestaand om de naam leeg te laten." - -msgid "The name is not allowed to start with space character." -msgstr "Het is niet toegestaan om een naam met een spatie te laten beginnen." - -msgid "The name is not allowed to end with space character." -msgstr "Het is niet toegestaan om een naam met een spatie te laten eindigen." - msgid "The name cannot be the same as a preset alias name." msgstr "" "Er kan niet voor een naam gekozen worden die hetzelfde is als de naam van " @@ -6729,9 +6876,6 @@ msgstr "Kun je geen apparaten vinden?" msgid "Log out successful." msgstr "Uitloggen gelukt." -msgid "Offline" -msgstr "Offline" - msgid "Busy" msgstr "Bezet" @@ -6943,15 +7087,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" -msgid "Preparing print job" -msgstr "Print opdracht voorbereiden" - -msgid "Abnormal print file data. Please slice again" -msgstr "Abnormale printbestand. Slice opnieuw" - -msgid "The name length exceeds the limit." -msgstr "The name length exceeds the limit." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7326,6 +7461,9 @@ msgstr "Support filament" msgid "Tree supports" msgstr "" +msgid "Skirt" +msgstr "" + msgid "Prime tower" msgstr "Prime toren" @@ -8222,6 +8360,12 @@ msgstr "Schuifregelaar 5x sneller verplaatsen" msgid "Shift+Mouse wheel" msgstr "Shift+Muiswiel" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Release-opmerkingen" @@ -8345,12 +8489,6 @@ msgstr "Versie" msgid "Update firmware" msgstr "Firmware bijwerken" -msgid "Printing" -msgstr "Printen" - -msgid "Idle" -msgstr "Inactief" - msgid "Beta version" msgstr "" @@ -8385,7 +8523,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "De firmwareversie is abnormaal. Repareren en bijwerken is vereist voor het " "afdrukken. Wil je nu updaten? Je kunt ook later op de printer updaten of " @@ -8528,9 +8666,6 @@ msgstr "" msgid "Gap infill" msgstr "Gat opvulling" -msgid "Skirt" -msgstr "" - msgid "Support interface" msgstr "Support interface" @@ -10263,8 +10398,8 @@ msgstr "" msgid "(Undefined)" msgstr "(niet gedefinieerd)" -msgid "Infill direction" -msgstr "Vulling (infill) richting" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10273,6 +10408,20 @@ msgstr "" "Dit is de hoek voor een dun opvulpatroon, dat het begin of de hoofdrichting " "van de lijnen bepaalt." +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Vulling percentage" @@ -10581,11 +10730,15 @@ msgid "Arc fitting" msgstr "Boog montage" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"Schakel dit in om een G-codebestand te krijgen met G2- en G3-bewegingen. De " -"pastolerantie is gelijk aan de resolutie." msgid "Add line number" msgstr "Lijn hoogte toevoegen" @@ -10785,13 +10938,25 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Vulling (infill)/wand overlap" +#, 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"Hierdoor kan het opvulgebied (infill) iets worden vergroot om de wanden te " -"overlappen voor een betere hechting. De procentuele waarde is relatief ten " -"opzichte van de lijndikte van de opvulling." msgid "Speed of internal sparse infill" msgstr "Dit is de snelheid voor de dunne vulling (infill)" @@ -11711,6 +11876,23 @@ msgstr "Skirt height" msgid "How many layers of skirt. Usually only one layer" msgstr "Number of skirt layers: usually only one" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Rand (skirt) lussen" @@ -11725,6 +11907,17 @@ msgstr "" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." msgstr "" +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -12427,6 +12620,19 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "" @@ -14141,7 +14347,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -14150,9 +14356,6 @@ msgstr "" msgid "Printer Setting" msgstr "" -msgid "Export Configs" -msgstr "" - msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -15037,6 +15240,27 @@ msgid "" "probability of warping." msgstr "" +#~ msgid "Export &Configs" +#~ msgstr "Export &Configs" + +#~ msgid "Infill direction" +#~ msgstr "Vulling (infill) richting" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Schakel dit in om een G-codebestand te krijgen met G2- en G3-bewegingen. " +#~ "De pastolerantie is gelijk aan de resolutie." + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "Hierdoor kan het opvulgebied (infill) iets worden vergroot om de wanden " +#~ "te overlappen voor een betere hechting. De procentuele waarde is relatief " +#~ "ten opzichte van de lijndikte van de opvulling." + #~ msgid "Unload Filament" #~ msgstr "Lossen" diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po index bbd2bdff2ad..6dff8f9f35d 100644 --- a/localization/i18n/pl/OrcaSlicer_pl.po +++ b/localization/i18n/pl/OrcaSlicer_pl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer 2.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-16 21:56+0200\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: \n" "Last-Translator: Krzysztof Morga \n" "Language-Team: \n" @@ -10,7 +10,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 " +"|| n%100>14) ? 1 : 2);\n" "X-Generator: Poedit 3.4.4\n" msgid "Supports Painting" @@ -108,8 +109,12 @@ msgid "Lay on face" msgstr "Połóż na powierzchni" #, 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 "Liczba filamentów przekracza maksymalną ilość obsługiwaną przez narzędzie malowania. Tylko pierwsze %1% filamenty będą dostępne w tym narzędziu." +msgid "" +"Filament count exceeds the maximum number that painting tool supports. only " +"the first %1% filaments will be available in painting tool." +msgstr "" +"Liczba filamentów przekracza maksymalną ilość obsługiwaną przez narzędzie " +"malowania. Tylko pierwsze %1% filamenty będą dostępne w tym narzędziu." msgid "Color Painting" msgstr "Malowanie kolorem" @@ -359,7 +364,8 @@ msgid "" msgstr "" "Kliknij, aby obrócić płaszczyznę przekroju.\n" "Przeciągnij, aby przesunąć płaszczyznę przekroju.\n" -"Kliknij prawym przyciskiem myszy na część modelu, aby przypisać ją do drugiej strony" +"Kliknij prawym przyciskiem myszy na część modelu, aby przypisać ją do " +"drugiej strony" msgid "Move cut plane" msgstr "Przesuń przekrój" @@ -524,7 +530,9 @@ msgid "Cut by Plane" msgstr "Cięcie płaszczyzną" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" -msgstr "niezamknięte krawędzie mogą być spowodowane narzędziem do przecinania, czy chcesz to teraz naprawić?" +msgstr "" +"niezamknięte krawędzie mogą być spowodowane narzędziem do przecinania, czy " +"chcesz to teraz naprawić?" msgid "Repairing model object" msgstr "Naprawianie obiektu modelu" @@ -545,8 +553,12 @@ msgid "Decimate ratio" msgstr "Współczynnik dziesiątkowania" #, boost-format -msgid "Processing model '%1%' with more than 1M triangles could be slow. It is highly recommended to simplify the model." -msgstr "Przetwarzanie modelu '%1%' z więcej niż 1 mln trójkątów może być wolne. Zaleca się zastosowanie uproszczenia modelu." +msgid "" +"Processing model '%1%' with more than 1M triangles could be slow. It is " +"highly recommended to simplify the model." +msgstr "" +"Przetwarzanie modelu '%1%' z więcej niż 1 mln trójkątów może być wolne. " +"Zaleca się zastosowanie uproszczenia modelu." msgid "Simplify model" msgstr "Uprość model" @@ -555,7 +567,8 @@ msgid "Simplify" msgstr "Uprość" msgid "Simplification is currently only allowed when a single part is selected" -msgstr "Obecnie upraszczanie jest dozwolone tylko przy wybranej pojedynczej części" +msgstr "" +"Obecnie upraszczanie jest dozwolone tylko przy wybranej pojedynczej części" msgid "Error" msgstr "Błąd" @@ -714,14 +727,19 @@ msgstr "Domyślna czcionka" msgid "Advanced" msgstr "Zaawansowane" -msgid "The text cannot be written using the selected font. Please try choosing a different font." -msgstr "Nie można napisać tekstu przy użyciu wybranej czcionki. Spróbuj wybrać inną czcionkę." +msgid "" +"The text cannot be written using the selected font. Please try choosing a " +"different font." +msgstr "" +"Nie można napisać tekstu przy użyciu wybranej czcionki. Spróbuj wybrać inną " +"czcionkę." msgid "Embossed text cannot contain only white spaces." msgstr "Pole do wprowadzania tekstu nie może być puste." msgid "Text contains character glyph (represented by '?') unknown by font." -msgstr "Tekst zawiera znak znaków (reprezentowany przez '?') nieznany dla czcionki." +msgstr "" +"Tekst zawiera znak znaków (reprezentowany przez '?') nieznany dla czcionki." msgid "Text input doesn't show font skew." msgstr "Wprowadzanie tekstu nie pokazuje nachylenia czcionki." @@ -733,10 +751,12 @@ msgid "Text input doesn't show gap between lines." msgstr "Wprowadzanie tekstu nie pokazuje odstępu między wierszami." msgid "Too tall, diminished font height inside text input." -msgstr "Zmniejsz rozmiar czcionki, tekst jest za duży wewnątrz pola tekstowego." +msgstr "" +"Zmniejsz rozmiar czcionki, tekst jest za duży wewnątrz pola tekstowego." msgid "Too small, enlarged font height inside text input." -msgstr "Powiększ rozmiar czcionki, tekst jest za mały wewnątrz pola tekstowego." +msgstr "" +"Powiększ rozmiar czcionki, tekst jest za mały wewnątrz pola tekstowego." msgid "Text doesn't show current horizontal alignment." msgstr "Tekst nie pokazuje aktualnego wyrównania poziomego." @@ -975,10 +995,12 @@ msgid "Rotate text Clock-wise." msgstr "Obróć tekst zgodnie z ruchem wskazówek zegara." msgid "Unlock the text's rotation when moving text along the object's surface." -msgstr "Odblokuj obrót tekstu podczas przemieszczania go po powierzchni obiektu." +msgstr "" +"Odblokuj obrót tekstu podczas przemieszczania go po powierzchni obiektu." msgid "Lock the text's rotation when moving text along the object's surface." -msgstr "Zablokuj obrót tekstu podczas przemieszczania go po powierzchni obiektu." +msgstr "" +"Zablokuj obrót tekstu podczas przemieszczania go po powierzchni obiektu." msgid "Select from True Type Collection." msgstr "Wybierz z kolekcji True Type." @@ -990,8 +1012,13 @@ msgid "Orient the text towards the camera." msgstr "Orientuj tekst w moim kierunku." #, boost-format -msgid "Can't load exactly same font(\"%1%\"). Aplication selected a similar one(\"%2%\"). You have to specify font for enable edit text." -msgstr "Nie można załadować dokładnie tej samej czcionki (\"%1%\"). Aplikacja wybrała podobną (\"%2%\"). Musisz określić czcionkę, aby umożliwić edycję tekstu." +msgid "" +"Can't load exactly same font(\"%1%\"). Aplication selected a similar " +"one(\"%2%\"). You have to specify font for enable edit text." +msgstr "" +"Nie można załadować dokładnie tej samej czcionki (\"%1%\"). Aplikacja " +"wybrała podobną (\"%2%\"). Musisz określić czcionkę, aby umożliwić edycję " +"tekstu." msgid "No symbol" msgstr "Brak symbolu" @@ -1106,8 +1133,12 @@ msgstr "Nie zdefiniowano rodzaju obrysu" msgid "Path can't be healed from selfintersection and multiple points." msgstr "Ścieżki nie można uleczyć z samoprzecięć i wielu punktów." -msgid "Final shape constains selfintersection or multiple points with same coordinate." -msgstr "Ostateczny kształt zawiera samoprzecięcia lub wielokrotne punkty o tej samej współrzędnej." +msgid "" +"Final shape constains selfintersection or multiple points with same " +"coordinate." +msgstr "" +"Ostateczny kształt zawiera samoprzecięcia lub wielokrotne punkty o tej samej " +"współrzędnej." #, boost-format msgid "Shape is marked as invisible (%1%)." @@ -1349,23 +1380,36 @@ msgid "Machine" msgstr "Drukarka" msgid "Configuration package was loaded, but some values were not recognized." -msgstr "Załadowano pakiet konfiguracyjny, ale niektóre wartości nie zostały rozpoznane." +msgstr "" +"Załadowano pakiet konfiguracyjny, ale niektóre wartości nie zostały " +"rozpoznane." #, boost-format -msgid "Configuration file \"%1%\" was loaded, but some values were not recognized." -msgstr "Plik konfiguracyjny \"%1%\" został załadowany, ale niektóre wartości nie zostały rozpoznane." +msgid "" +"Configuration file \"%1%\" was loaded, but some values were not recognized." +msgstr "" +"Plik konfiguracyjny \"%1%\" został załadowany, ale niektóre wartości nie " +"zostały rozpoznane." msgid "V" msgstr "V" -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 zakończy działanie z powodu braku pamięci. To może być błąd. Będziemy wdzięczni za zgłoszenie problemu naszemu zespołowi." +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 zakończy działanie z powodu braku pamięci. To może być błąd. " +"Będziemy wdzięczni za zgłoszenie problemu naszemu zespołowi." msgid "Fatal error" msgstr "Błąd krytyczny" -msgid "OrcaSlicer will terminate because of a localization error. It will be appreciated if you report the specific scenario this issue happened." -msgstr "OrcaSlicer zakończy działanie z powodu błędu lokalizacji. Będziemy wdzięczni za zgłoszenie konkretnej sytuacji, w której wystąpił ten problem." +msgid "" +"OrcaSlicer will terminate because of a localization error. It will be " +"appreciated if you report the specific scenario this issue happened." +msgstr "" +"OrcaSlicer zakończy działanie z powodu błędu lokalizacji. Będziemy wdzięczni " +"za zgłoszenie konkretnej sytuacji, w której wystąpił ten problem." msgid "Critical error" msgstr "Błąd krytyczny" @@ -1391,10 +1435,12 @@ msgid "Connect %s failed! [SN:%s, code=%s]" msgstr "Połączenie z %s nie powiodło się! [SN:%s, kod=%s]" msgid "" -"Orca Slicer requires the Microsoft WebView2 Runtime to operate certain features.\n" +"Orca Slicer requires the Microsoft WebView2 Runtime to operate certain " +"features.\n" "Click Yes to install it now." msgstr "" -"Orca Slicer wymaga Microsoft WebView2 Runtime do działania niektórych funkcji.\n" +"Orca Slicer wymaga Microsoft WebView2 Runtime do działania niektórych " +"funkcji.\n" "Kliknij Tak, aby zainstalować go teraz." msgid "WebView2 Runtime" @@ -1430,11 +1476,14 @@ msgstr "Informacja" 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." +"Please note, application settings will be lost, but printer profiles will " +"not be affected." msgstr "" -"Plik konfiguracyjny OrcaSlicer może być uszkodzony i nie może być sparsowany.\n" +"Plik konfiguracyjny OrcaSlicer może być uszkodzony i nie może być " +"sparsowany.\n" "OrcaSlicer próbował odtworzyć plik konfiguracyjny.\n" -"Należy pamiętać, że ustawienia aplikacji zostaną utracone, ale profile drukarek nie będą dotknięte." +"Należy pamiętać, że ustawienia aplikacji zostaną utracone, ale profile " +"drukarek nie będą dotknięte." msgid "Rebuild" msgstr "Przebudowywuje" @@ -1449,7 +1498,8 @@ msgid "Choose one file (3mf):" msgstr "Wybierz jeden plik (3mf):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" -msgstr "Wybierz jeden lub więcej plików (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" +msgstr "" +"Wybierz jeden lub więcej plików (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Wybierz jeden lub więcej plików (3mf/step/stl/svg/obj/amf):" @@ -1460,26 +1510,39 @@ msgstr "Wybierz jeden plik (gcode/3mf):" msgid "Some presets are modified." msgstr "Niektóre ustawienia zostały zmodyfikowane." -msgid "You can keep the modifield presets to the new project, discard or save changes as new presets." -msgstr "Możesz zachować zmodyfikowane ustawienia w nowym projekcie, odrzucić je lub zapisać jako nowe ustawienia." +msgid "" +"You can keep the modifield presets to the new project, discard or save " +"changes as new presets." +msgstr "" +"Możesz zachować zmodyfikowane ustawienia w nowym projekcie, odrzucić je lub " +"zapisać jako nowe ustawienia." msgid "User logged out" msgstr "Użytkownik wylogowany" msgid "new or open project file is not allowed during the slicing process!" -msgstr "nowy lub otwarty plik projektu nie jest dozwolony podczas procesu cięcia!" +msgstr "" +"nowy lub otwarty plik projektu nie jest dozwolony podczas procesu cięcia!" msgid "Open Project" msgstr "Otwórz projekt" -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 "Wersja Bambu Studio jest przestarzała i musi zostać zaktualizowana do najnowszej wersji, aby działać normalnie" +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 "" +"Wersja Bambu Studio jest przestarzała i musi zostać zaktualizowana do " +"najnowszej wersji, aby działać normalnie" msgid "Privacy Policy Update" msgstr "Aktualizacja polityki prywatności" -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 "Liczba zapisanych w chmurze ustawień użytkownika przekroczyła maksymalny limit, każdy nowo utworzony profil użytkownika można używać tylko lokalnie." +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 "" +"Liczba zapisanych w chmurze ustawień użytkownika przekroczyła maksymalny " +"limit, każdy nowo utworzony profil użytkownika można używać tylko lokalnie." msgid "Sync user presets" msgstr "Synchronizuj ustawienia użytkownika" @@ -1669,11 +1732,16 @@ msgid "Orca String Hell" msgstr "Orca String Hell" 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" +"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 "" -"Ten model posiada wytłoczenia tekstu na górnej powierzchni. Dla optymalnych wyników zaleca się ustawienie 'Próg jednej ściany (min_width_top_surface)' na 0, aby opcja 'Tylko jedna ściana na górnych powierzchniach' działała najlepiej.\n" +"Ten model posiada wytłoczenia tekstu na górnej powierzchni. Dla optymalnych " +"wyników zaleca się ustawienie 'Próg jednej ściany (min_width_top_surface)' " +"na 0, aby opcja 'Tylko jedna ściana na górnych powierzchniach' działała " +"najlepiej.\n" "Tak - Zmień te ustawienia automatycznie\n" "Nie - Nie zmieniaj tych ustawień" @@ -1831,6 +1899,9 @@ msgstr "Dodaj prymityw" msgid "Add Handy models" msgstr "Dodaj modele podręczne" +msgid "Add Models" +msgstr "Dodaj modele" + msgid "Show Labels" msgstr "Pokaż etykiety" @@ -1970,7 +2041,9 @@ msgid "Click the icon to reset all settings of the object" msgstr "Kliknij ikonę, aby zresetować wszystkie ustawienia obiektu" msgid "Right button click the icon to drop the object printable property" -msgstr "Kliknij prawym przyciskiem myszy ikonę, aby włączyć/wyłączyć możliwość druku obiektu" +msgstr "" +"Kliknij prawym przyciskiem myszy ikonę, aby włączyć/wyłączyć możliwość druku " +"obiektu" msgid "Click the icon to toggle printable property of the object" msgstr "Kliknij ikonę, aby włączyć/wyłączyć możliwość druku obiektu" @@ -2000,10 +2073,16 @@ msgid "Add Modifier" msgstr "Dodaj modyfikator" msgid "Switch to per-object setting mode to edit modifier settings." -msgstr "Przełącz się w tryb edycji ustawień druku dla każdego obiektu, aby edytować ustawienia modyfikatora." +msgstr "" +"Przełącz się w tryb edycji ustawień druku dla każdego obiektu, aby edytować " +"ustawienia modyfikatora." -msgid "Switch to per-object setting mode to edit process settings of selected objects." -msgstr "Przełącz się w tryb edycji ustawień druku dla każdego obiektu, aby edytować ustawienia procesu dla wybranych obiektów." +msgid "" +"Switch to per-object setting mode to edit process settings of selected " +"objects." +msgstr "" +"Przełącz się w tryb edycji ustawień druku dla każdego obiektu, aby edytować " +"ustawienia procesu dla wybranych obiektów." msgid "Delete connector from object which is a part of cut" msgstr "Usuń łącznik z obiektu będącego częścią przecięcia" @@ -2014,19 +2093,25 @@ msgstr "Usuń bryłę z obiektu, który jest częścią przecięcia" msgid "Delete negative volume from object which is a part of cut" msgstr "Usuń odejmowanie objętości z obiektu będącego częścią przecięcia." -msgid "To save cut correspondence you can delete all connectors from all related objects." -msgstr "Aby zachować korespondencję cięcia, możesz usunąć wszystkie łączniki ze wszystkich powiązanych obiektów." +msgid "" +"To save cut correspondence you can delete all connectors from all related " +"objects." +msgstr "" +"Aby zachować korespondencję cięcia, możesz usunąć wszystkie łączniki ze " +"wszystkich powiązanych obiektów." 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 infornation first." +"To manipulate with solid parts or negative volumes you have to invalidate " +"cut infornation first." msgstr "" "To działanie przerwie korespondencję cięcia.\n" "Po tym nie można zagwarantować spójności modelu.\n" "\n" -"Aby manipulować bryłami lub modyfikatorami z odejmowaniem objętości musisz najpierw unieważnić informację o przecinaniu." +"Aby manipulować bryłami lub modyfikatorami z odejmowaniem objętości musisz " +"najpierw unieważnić informację o przecinaniu." msgid "Delete all connectors" msgstr "Usuń wszystkie łączniki" @@ -2035,7 +2120,8 @@ msgid "Deleting the last solid part is not allowed." msgstr "Usunięcie ostatniej części bryły jest niedozwolone." msgid "The target object contains only one part and can not be splited." -msgstr "Obiekt docelowy zawiera tylko jedną część i nie może zostać podzielony." +msgstr "" +"Obiekt docelowy zawiera tylko jedną część i nie może zostać podzielony." msgid "Assembly" msgstr "Zestawienie" @@ -2076,11 +2162,18 @@ msgstr "Warstwa" msgid "Selection conflicts" msgstr "Konflikty wyboru" -msgid "If first selected item is an object, the second one should also be object." -msgstr "Jeśli pierwszy zaznaczony element to obiekt, to drugi powinien również być obiektem." +msgid "" +"If first selected item is an object, the second one should also be object." +msgstr "" +"Jeśli pierwszy zaznaczony element to obiekt, to drugi powinien również być " +"obiektem." -msgid "If first selected item is a part, the second one should be part in the same object." -msgstr "Jeśli pierwszy zaznaczony element to część, to drugi powinien być częścią tego samego obiektu." +msgid "" +"If first selected item is a part, the second one should be part in the same " +"object." +msgstr "" +"Jeśli pierwszy zaznaczony element to część, to drugi powinien być częścią " +"tego samego obiektu." msgid "The type of the last solid object part is not to be changed." msgstr "Nie można zmienić typu ostatniej pełnej części obiektu." @@ -2140,7 +2233,9 @@ msgid "Invalid numeric." msgstr "Nieprawidłowa wartość numeryczna." msgid "one cell can only be copied to one or multiple cells in the same column" -msgstr "jedna komórka może być skopiowana do jednej lub wielu komórek w tej samej kolumnie" +msgstr "" +"jedna komórka może być skopiowana do jednej lub wielu komórek w tej samej " +"kolumnie" msgid "multiple cells copy is not supported" msgstr "kopiowanie wielu komórek nie jest obsługiwane" @@ -2299,7 +2394,8 @@ msgid "Failed to connect to cloud service" msgstr "Nie udało się połączyć z usługą w chmurze" msgid "Please click on the hyperlink above to view the cloud service status" -msgstr "Proszę kliknąć na powyższy hiperłącze, aby zobaczyć status usługi w chmurze" +msgstr "" +"Proszę kliknąć na powyższy hiperłącze, aby zobaczyć status usługi w chmurze" msgid "Failed to connect to the printer" msgstr "Nie udało się połączyć z drukarką" @@ -2307,7 +2403,7 @@ msgstr "Nie udało się połączyć z drukarką" msgid "Connection to printer failed" msgstr "Nie udało się połączyć z drukarką" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "Proszę sprawdzić połączenie sieciowe drukarki i Studio." msgid "Connecting..." @@ -2353,7 +2449,8 @@ msgid "Calibrating AMS..." msgstr "Kalibracja AMS..." msgid "A problem occurred during calibration. Click to view the solution." -msgstr "Wystąpił problem podczas kalibracji. Kliknij, aby zobaczyć rozwiązanie." +msgstr "" +"Wystąpił problem podczas kalibracji. Kliknij, aby zobaczyć rozwiązanie." msgid "Calibrate again" msgstr "Kalibruj ponownie" @@ -2395,8 +2492,12 @@ msgstr "" "Załaduj nowy\n" "filament" -msgid "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically load or unload filaments." -msgstr "Wybierz gniazdo AMS, a następnie naciśnij przycisk \"Ładuj\" lub \"Wyładuj\" ,aby automatycznie załadować lub wyładować filamenty." +msgid "" +"Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " +"load or unload filaments." +msgstr "" +"Wybierz gniazdo AMS, a następnie naciśnij przycisk \"Ładuj\" lub \"Wyładuj" +"\" ,aby automatycznie załadować lub wyładować filamenty." msgid "Edit" msgstr "Edytuj" @@ -2427,21 +2528,29 @@ msgstr "Układanie" msgid "Arranging canceled." msgstr "Układanie anulowane." -msgid "Arranging is done but there are unpacked items. Reduce spacing and try again." -msgstr "Ustawianie zostało zakończone, ale niektóre elementy nie mogły zostać ustawione. Zmniejsz odstępy i spróbuj ponownie." +msgid "" +"Arranging is done but there are unpacked items. Reduce spacing and try again." +msgstr "" +"Ustawianie zostało zakończone, ale niektóre elementy nie mogły zostać " +"ustawione. Zmniejsz odstępy i spróbuj ponownie." msgid "Arranging done." msgstr "Układanie zakończone." -msgid "Arrange failed. Found some exceptions when processing object geometries." -msgstr "Ułożenie nie powiodło się. Wykryto niektóre wyjątki podczas przetwarzania geometrii obiektów." +msgid "" +"Arrange failed. Found some exceptions when processing object geometries." +msgstr "" +"Ułożenie nie powiodło się. Wykryto niektóre wyjątki podczas przetwarzania " +"geometrii obiektów." #, c-format, boost-format msgid "" -"Arrangement ignored the following objects which can't fit into a single bed:\n" +"Arrangement ignored the following objects which can't fit into a single " +"bed:\n" "%s" msgstr "" -"Ustawienie zignorowało następujące obiekty, które nie mieszczą się na pojedynczej płycie:\n" +"Ustawienie zignorowało następujące obiekty, które nie mieszczą się na " +"pojedynczej płycie:\n" "%s" msgid "" @@ -2501,7 +2610,8 @@ msgid "Task canceled." msgstr "Zadanie anulowane." msgid "Upload task timed out. Please check the network status and try again." -msgstr "Przekroczono limit czasu przesyłania. Sprawdź stan sieci i spróbuj ponownie." +msgstr "" +"Przekroczono limit czasu przesyłania. Sprawdź stan sieci i spróbuj ponownie." msgid "Cloud service connection failed. Please try again." msgstr "Nie udało się połączyć z usługą w chmurze. Spróbuj ponownie." @@ -2509,26 +2619,42 @@ msgstr "Nie udało się połączyć z usługą w chmurze. Spróbuj ponownie." msgid "Print file not found. please slice again." msgstr "Plik druku nie znaleziony. Proszę powtórzyć cięcie." -msgid "The print file exceeds the maximum allowable size (1GB). Please simplify the model and slice again." -msgstr "Plik druku przekracza maksymalny dopuszczalny rozmiar (1GB). Proszę uprościć model i pociąć go ponownie." +msgid "" +"The print file exceeds the maximum allowable size (1GB). Please simplify the " +"model and slice again." +msgstr "" +"Plik druku przekracza maksymalny dopuszczalny rozmiar (1GB). Proszę uprościć " +"model i pociąć go ponownie." msgid "Failed to send the print job. Please try again." -msgstr "Wysłanie zadania drukowania nie powiodło się. Proszę spróbować ponownie." +msgstr "" +"Wysłanie zadania drukowania nie powiodło się. Proszę spróbować ponownie." msgid "Failed to upload file to ftp. Please try again." -msgstr "Przesłanie pliku na serwer FTP nie powiodło się. Proszę spróbować ponownie." +msgstr "" +"Przesłanie pliku na serwer FTP nie powiodło się. Proszę spróbować ponownie." -msgid "Check the current status of the bambu server by clicking on the link above." +msgid "" +"Check the current status of the bambu server by clicking on the link above." msgstr "Sprawdź aktualny stan serwera Bambu, klikając na powyższy link." -msgid "The size of the print file is too large. Please adjust the file size and try again." -msgstr "Rozmiar pliku drukowania jest zbyt duży. Proszę dostosować rozmiar pliku i spróbować ponownie." +msgid "" +"The size of the print file is too large. Please adjust the file size and try " +"again." +msgstr "" +"Rozmiar pliku drukowania jest zbyt duży. Proszę dostosować rozmiar pliku i " +"spróbować ponownie." msgid "Print file not found, Please slice it again and send it for printing." -msgstr "Nie znaleziono pliku drukowania; proszę ponownie pociąć i wysłać do druku." +msgstr "" +"Nie znaleziono pliku drukowania; proszę ponownie pociąć i wysłać do druku." -msgid "Failed to upload print file to FTP. Please check the network status and try again." -msgstr "Przesłanie pliku drukowania na serwer FTP nie powiodło się. Sprawdź stan sieci i spróbuj ponownie." +msgid "" +"Failed to upload print file to FTP. Please check the network status and try " +"again." +msgstr "" +"Przesłanie pliku drukowania na serwer FTP nie powiodło się. Sprawdź stan " +"sieci i spróbuj ponownie." msgid "Sending print job over LAN" msgstr "Wysyłanie zadania drukowania przez LAN" @@ -2575,8 +2701,12 @@ msgstr "Przed wysłaniem do drukarki należy włożyć kartę SD." msgid "Importing SLA archive" msgstr "Importowanie archiwum SLA" -msgid "The SLA archive doesn't contain any presets. Please activate some SLA printer preset first before importing that SLA archive." -msgstr "Archiwum SLA nie zawiera żadnych ustawień. Przed zaimportowaniem tego archiwum SLA należy najpierw aktywować profil drukarki SLA." +msgid "" +"The SLA archive doesn't contain any presets. Please activate some SLA " +"printer preset first before importing that SLA archive." +msgstr "" +"Archiwum SLA nie zawiera żadnych ustawień. Przed zaimportowaniem tego " +"archiwum SLA należy najpierw aktywować profil drukarki SLA." msgid "Importing canceled." msgstr "Importowanie anulowane." @@ -2584,8 +2714,12 @@ msgstr "Importowanie anulowane." msgid "Importing done." msgstr "Importowanie zakończone." -msgid "The imported SLA archive did not contain any presets. The current SLA presets were used as fallback." -msgstr "Zaimportowane archiwum SLA nie zawierało żadnych ustawień wstępnych. Aktualne ustawienia SLA zostały użyte jako alternatywa." +msgid "" +"The imported SLA archive did not contain any presets. The current SLA " +"presets were used as fallback." +msgstr "" +"Zaimportowane archiwum SLA nie zawierało żadnych ustawień wstępnych. " +"Aktualne ustawienia SLA zostały użyte jako alternatywa." msgid "You cannot load SLA project with a multi-part object on the bed" msgstr "Nie możesz wczytać projektu SLA mając na stole wieloczęściowy model" @@ -2629,14 +2763,18 @@ msgstr "Orca Slicer jest licencjonowany na zasadach " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, wersja 3" -msgid "Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and the RepRap community" -msgstr "Orca Slicer opiera się na BambuStudio od Bambulab, które wywodzi się z PrusaSlicer od Prusa Research. PrusaSlicer z kolei bazuje na Slic3r od Alessandro Ranellucci i społeczności RepRap" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" +msgstr "" msgid "Libraries" msgstr "Biblioteki" -msgid "This software uses open source components whose copyright and other proprietary rights belong to their respective owners" -msgstr "To oprogramowanie używa komponentów o otwartym kodzie źródłowym, których prawa autorskie i inne prawa własności należą do ich właścicieli" +msgid "" +"This software uses open source components whose copyright and other " +"proprietary rights belong to their respective owners" +msgstr "" +"To oprogramowanie używa komponentów o otwartym kodzie źródłowym, których " +"prawa autorskie i inne prawa własności należą do ich właścicieli" #, c-format, boost-format msgid "About %s" @@ -2646,7 +2784,8 @@ msgid "Orca Slicer " msgstr "Orca Slicer " msgid "OrcaSlicer is based on BambuStudio, PrusaSlicer, and SuperSlicer." -msgstr "OrcaSlicer opiera się na projektach BambuStudio, PrusaSlicer i SuperSlicer." +msgstr "" +"OrcaSlicer opiera się na projektach BambuStudio, PrusaSlicer i SuperSlicer." msgid "BambuStudio is originally based on PrusaSlicer by PrusaResearch." msgstr "BambuStudio bazuje na PrusaSlicer od PrusaResearch." @@ -2654,9 +2793,12 @@ msgstr "BambuStudio bazuje na PrusaSlicer od PrusaResearch." msgid "PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci." msgstr "PrusaSlicer początkowo opiera się na Slic3r od Alessandro Ranellucci." -msgid "Slic3r was created by Alessandro Ranellucci with the help of many other contributors." +msgid "" +"Slic3r was created by Alessandro Ranellucci with the help of many other " +"contributors." msgstr "" -"Slic3r został stworzony przez Alessandro Ranellucci przy współpracy wielu innych współtwórców.\n" +"Slic3r został stworzony przez Alessandro Ranellucci przy współpracy wielu " +"innych współtwórców.\n" "\n" "Tłumaczenie na język polski: KrisMorr " @@ -2711,7 +2853,8 @@ msgid "Factor N" msgstr "Współczynnik N" msgid "Setting Virtual slot information while printing is not supported" -msgstr "Ustawianie informacji o wirtualnym slocie podczas druku nie jest obsługiwane" +msgstr "" +"Ustawianie informacji o wirtualnym slocie podczas druku nie jest obsługiwane" msgid "Are you sure you want to clear the filament information?" msgstr "Czy na pewno chcesz usunąć informacje o filamentach?" @@ -2723,7 +2866,9 @@ msgid "Please input a valid value (K in 0~0.3)" msgstr "Proszę podać prawidłową wartość (K w zakresie od 0 do 0.3)" msgid "Please input a valid value (K in 0~0.3, N in 0.6~2.0)" -msgstr "Proszę podać prawidłową wartość (K w zakresie od 0 do 0.3, N w zakresie od 0.6 do 2.0)" +msgstr "" +"Proszę podać prawidłową wartość (K w zakresie od 0 do 0.3, N w zakresie od " +"0.6 do 2.0)" msgid "Other Color" msgstr "Inny kolor" @@ -2734,8 +2879,14 @@ msgstr "Własny kolor" msgid "Dynamic flow calibration" msgstr "Kalibracja dynamiki przepływu" -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 "Temperatura dyszy i maksymalna prędkość przepływu mogą wpływać na wyniki kalibracji. Proszę podać takie same wartości jak w rzeczywistym druku. Mogą być automatycznie wypełnione poprzez wybranie ustawień filamentu." +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 "" +"Temperatura dyszy i maksymalna prędkość przepływu mogą wpływać na wyniki " +"kalibracji. Proszę podać takie same wartości jak w rzeczywistym druku. Mogą " +"być automatycznie wypełnione poprzez wybranie ustawień filamentu." msgid "Nozzle Diameter" msgstr "Średnica dyszy" @@ -2767,8 +2918,14 @@ msgstr "Rozpocznij kalibrację" msgid "Next" msgstr "Dalej" -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 "Kalibracja zakończona. Proszę znaleźć na płycie roboczej, linie ekstruzji o najbardziej jednolitym wyglądzie, podobne do przedstawionego poniżej obrazu, i wprowadź tę wartość w pole wprowadzania współczynnika K." +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 "" +"Kalibracja zakończona. Proszę znaleźć na płycie roboczej, linie ekstruzji o " +"najbardziej jednolitym wyglądzie, podobne do przedstawionego poniżej obrazu, " +"i wprowadź tę wartość w pole wprowadzania współczynnika K." msgid "Save" msgstr "Zapisz" @@ -2799,8 +2956,11 @@ msgstr "Krok" msgid "AMS Slots" msgstr "Sloty AMS" -msgid "Note: Only the AMS slots loaded with the same material type can be selected." -msgstr "Uwaga: można wybierać tylko sloty AMS załadowane tym samym rodzajem filamentu." +msgid "" +"Note: Only the AMS slots loaded with the same material type can be selected." +msgstr "" +"Uwaga: można wybierać tylko sloty AMS załadowane tym samym rodzajem " +"filamentu." msgid "Enable AMS" msgstr "Włącz AMS" @@ -2817,11 +2977,23 @@ msgstr "Drukuj z filamentem zamontowanym na tylnej części obudowy" msgid "Current Cabin humidity" msgstr "Aktualna wilgotność w komorze" -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, low temperatures also slow down the process." -msgstr "Pamiętaj o wymianie pakietu pochłaniacza wilgoci gdy stanie się on zbyt mokry. Wskaźnik może nie dokładnie odzwierciedlać stan wilgotności gdy: otwarta jest pokrywa lub pakiet pochłaniacza został nie dawno wymieniony. Proces absorpcji wilgoci może zająć kilka godzin, a niskie temperatury również spowolnią ten proces." +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, low " +"temperatures also slow down the process." +msgstr "" +"Pamiętaj o wymianie pakietu pochłaniacza wilgoci gdy stanie się on zbyt " +"mokry. Wskaźnik może nie dokładnie odzwierciedlać stan wilgotności gdy: " +"otwarta jest pokrywa lub pakiet pochłaniacza został nie dawno wymieniony. " +"Proces absorpcji wilgoci może zająć kilka godzin, a niskie temperatury " +"również spowolnią ten proces." -msgid "Config which AMS slot should be used for a filament used in the print job" -msgstr "Konfiguruj, które gniazdo AMS powinno być używane dla filamentu w trakcie zadania drukowania" +msgid "" +"Config which AMS slot should be used for a filament used in the print job" +msgstr "" +"Konfiguruj, które gniazdo AMS powinno być używane dla filamentu w trakcie " +"zadania drukowania" msgid "Filament used in this print job" msgstr "Filament używany w tym zadaniu druku" @@ -2836,16 +3008,22 @@ msgid "Do not Enable AMS" msgstr "Nie włączaj AMS" msgid "Print using materials mounted on the back of the case" -msgstr "Drukowanie przy użyciu materiałów zamontowanych na tylnej części obudowy" +msgstr "" +"Drukowanie przy użyciu materiałów zamontowanych na tylnej części obudowy" msgid "Print with filaments in ams" msgstr "Drukowanie filamentem z AMS" msgid "Print with filaments mounted on the back of the chassis" -msgstr "Drukowanie przy użyciu materiałów zamontowanych na tylnej części obudowy" +msgstr "" +"Drukowanie przy użyciu materiałów zamontowanych na tylnej części obudowy" -msgid "When the current material run out, the printer will continue to print in the following order." -msgstr "Gdy obecny filament się skończy, drukarka będzie kontynuować druk w następującej kolejności." +msgid "" +"When the current material run out, the printer will continue to print in the " +"following order." +msgstr "" +"Gdy obecny filament się skończy, drukarka będzie kontynuować druk w " +"następującej kolejności." msgid "Group" msgstr "Grupa" @@ -2853,15 +3031,22 @@ msgstr "Grupa" msgid "The printer does not currently support auto refill." msgstr "Obecnie drukarka nie obsługuje automatycznego uzupełniania." -msgid "AMS filament backup is not enabled, please enable it in the AMS settings." -msgstr "Kopia zapasowa filamentu AMS nie jest włączona, proszę włączyć ją w ustawieniach AMS." +msgid "" +"AMS filament backup is not enabled, please enable it in the AMS settings." +msgstr "" +"Kopia zapasowa filamentu AMS nie jest włączona, proszę włączyć ją w " +"ustawieniach AMS." msgid "" -"If there are two identical filaments in AMS, AMS filament backup will be enabled. \n" -"(Currently supporting automatic supply of consumables with the same brand, material type, and color)" +"If there are two identical filaments in AMS, AMS filament backup will be " +"enabled. \n" +"(Currently supporting automatic supply of consumables with the same brand, " +"material type, and color)" msgstr "" -"W przypadku, gdy podczas drukowania w systemie AMS zużyje się jeden z filamentów, system automatycznie przełączy na drugi identyczny filament.\n" -"(System obecnie wspiera automatyczne przełączanie na materiały eksploatacyjne tej samej marki, rodzaju i koloru)" +"W przypadku, gdy podczas drukowania w systemie AMS zużyje się jeden z " +"filamentów, system automatycznie przełączy na drugi identyczny filament.\n" +"(System obecnie wspiera automatyczne przełączanie na materiały " +"eksploatacyjne tej samej marki, rodzaju i koloru)" msgid "DRY" msgstr "SUCHY" @@ -2875,41 +3060,80 @@ msgstr "Ustawienia AMS" msgid "Insertion update" msgstr "Aktualizacja wymiany" -msgid "The AMS will automatically read the filament information when inserting a new Bambu Lab filament. This takes about 20 seconds." -msgstr "AMS automatycznie odczyta informacje o filamencie Bambu Lab zaraz po jego włożeniu. To zajmie około 20 sekund." +msgid "" +"The AMS will automatically read the filament information when inserting a " +"new Bambu Lab filament. This takes about 20 seconds." +msgstr "" +"AMS automatycznie odczyta informacje o filamencie Bambu Lab zaraz po jego " +"włożeniu. To zajmie około 20 sekund." -msgid "Note: if a new filament is inserted during printing, the AMS will not automatically read any information until printing is completed." -msgstr "Uwaga: jeśli podczas drukowania zostanie włożony nowy filament, system AMS nie będzie automatycznie odczytywał żadnych informacji do momentu zakończenia drukowania." +msgid "" +"Note: if a new filament is inserted during printing, the AMS will not " +"automatically read any information until printing is completed." +msgstr "" +"Uwaga: jeśli podczas drukowania zostanie włożony nowy filament, system AMS " +"nie będzie automatycznie odczytywał żadnych informacji do momentu " +"zakończenia drukowania." -msgid "When inserting a new filament, the AMS will not automatically read its information, leaving it blank for you to enter manually." -msgstr "Podczas wkładania nowego filamentu, AMS nie będzie automatycznie odczytywać jego informacji, pozostawiając je puste, abyś mógł wprowadzić je ręcznie." +msgid "" +"When inserting a new filament, the AMS will not automatically read its " +"information, leaving it blank for you to enter manually." +msgstr "" +"Podczas wkładania nowego filamentu, AMS nie będzie automatycznie odczytywać " +"jego informacji, pozostawiając je puste, abyś mógł wprowadzić je ręcznie." msgid "Power on update" msgstr "Aktualizacja po włączeniu zasilania" -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 filament spools." -msgstr "AMS automatycznie odczyta informacje o włożonym filamencie podczas uruchamiania. To zajmie około 1 minuty. Proces odczytu sprawi, że rolki filamentów się obrócą." +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 filament " +"spools." +msgstr "" +"AMS automatycznie odczyta informacje o włożonym filamencie podczas " +"uruchamiania. To zajmie około 1 minuty. Proces odczytu sprawi, że rolki " +"filamentów się obrócą." -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 nie będzie automatycznie odczytywać informacji z włożonego filamentu podczas uruchamiania i będzie kontynuować korzystanie z informacji zapisanych przed ostatnim wyłączeniem." +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 nie będzie automatycznie odczytywać informacji z włożonego filamentu " +"podczas uruchamiania i będzie kontynuować korzystanie z informacji " +"zapisanych przed ostatnim wyłączeniem." msgid "Update remaining capacity" msgstr "Aktualizuj pozostałą ilość" -msgid "The AMS will estimate Bambu filament's remaining capacity after the filament info is updated. During printing, remaining capacity will be updated automatically." -msgstr "AMS oszacuje pozostałą ilość filamentu Bambu po aktualizacji informacji o filamencie. Podczas drukowania, pozostała ilość na szpuli będzie aktualizowana automatycznie." +msgid "" +"The AMS will estimate Bambu filament's remaining capacity after the filament " +"info is updated. During printing, remaining capacity will be updated " +"automatically." +msgstr "" +"AMS oszacuje pozostałą ilość filamentu Bambu po aktualizacji informacji o " +"filamencie. Podczas drukowania, pozostała ilość na szpuli będzie " +"aktualizowana automatycznie." msgid "AMS filament backup" msgstr "Automatyczne przełączenie filamentu AMS" -msgid "AMS will continue to another spool with the same properties of filament automatically when current filament runs out" -msgstr "AMS automatycznie przełączy się na inną szpule z tym samym rodzajem filamentu, gdy obecny filament się skończy" +msgid "" +"AMS will continue to another spool with the same properties of filament " +"automatically when current filament runs out" +msgstr "" +"AMS automatycznie przełączy się na inną szpule z tym samym rodzajem " +"filamentu, gdy obecny filament się skończy" msgid "Air Printing Detection" msgstr "Wykrywanie druku w powietrzu" -msgid "Detects clogging and filament grinding, halting printing immediately to conserve time and filament." -msgstr "Wykrywa zatkanie i zacięcie się filamentu, natychmiast zatrzymując drukowanie w celu oszczędzenia czasu i filamentu." +msgid "" +"Detects clogging and filament grinding, halting printing immediately to " +"conserve time and filament." +msgstr "" +"Wykrywa zatkanie i zacięcie się filamentu, natychmiast zatrzymując " +"drukowanie w celu oszczędzenia czasu i filamentu." msgid "File" msgstr "Plik" @@ -2917,11 +3141,19 @@ msgstr "Plik" msgid "Calibration" msgstr "Kalibracja" -msgid "Failed to download the plug-in. Please check your firewall settings and vpn software, check and retry." -msgstr "Nie udało się pobrać wtyczki. Sprawdź ustawienia zapory ogniowej i oprogramowania VPN, sprawdź i spróbuj ponownie." +msgid "" +"Failed to download the plug-in. Please check your firewall settings and vpn " +"software, check and retry." +msgstr "" +"Nie udało się pobrać wtyczki. Sprawdź ustawienia zapory ogniowej i " +"oprogramowania VPN, sprawdź i spróbuj ponownie." -msgid "Failed to install the plug-in. Please check whether it is blocked or deleted by anti-virus software." -msgstr "Nie udało się zainstalować wtyczki. Sprawdź, czy nie jest zablokowana lub usunięta przez oprogramowanie antywirusowe." +msgid "" +"Failed to install the plug-in. Please check whether it is blocked or deleted " +"by anti-virus software." +msgstr "" +"Nie udało się zainstalować wtyczki. Sprawdź, czy nie jest zablokowana lub " +"usunięta przez oprogramowanie antywirusowe." msgid "click here to see more info" msgstr "cliknij tutaj, aby zobaczyć więcej informacji" @@ -2929,14 +3161,21 @@ msgstr "cliknij tutaj, aby zobaczyć więcej informacji" msgid "Please home all axes (click " msgstr "Ustaw wszystkie osie na pozycje domową (kliknij " -msgid ") to locate the toolhead's position. This prevents device moving beyond the printable boundary and causing equipment wear." -msgstr ") aby określić pozycję głowicy drukującej. To uniemożliwi narzędziu wyjście poza możliwy obszar druku, co chroni sprzęt przed zużyciem." +msgid "" +") to locate the toolhead's position. This prevents device moving beyond the " +"printable boundary and causing equipment wear." +msgstr "" +") aby określić pozycję głowicy drukującej. To uniemożliwi narzędziu wyjście " +"poza możliwy obszar druku, co chroni sprzęt przed zużyciem." msgid "Go Home" msgstr "Poz.Domowa" -msgid "A error occurred. Maybe memory of system is not enough or it's a bug of the program" -msgstr "Wystąpił błąd. Być może brakuje pamięci w systemie lub jest to błąd programu" +msgid "" +"A error occurred. Maybe memory of system is not enough or it's a bug of the " +"program" +msgstr "" +"Wystąpił błąd. Być może brakuje pamięci w systemie lub jest to błąd programu" msgid "Please save project and restart the program. " msgstr "Proszę zapisać projekt i ponownie uruchomić program. " @@ -2979,27 +3218,50 @@ msgstr "Nieznany błąd podczas eksportowania G-code." #, boost-format msgid "" -"Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\n" +"Copying of the temporary G-code to the output G-code failed. Maybe the SD " +"card is write locked?\n" "Error message: %1%" msgstr "" -"Kopiowanie tymczasowego G-code do wyjściowego pliku G-code nie powiodło się. Być może karta SD jest zablokowana do zapisu?\n" +"Kopiowanie tymczasowego G-code do wyjściowego pliku G-code nie powiodło się. " +"Być może karta SD jest zablokowana do zapisu?\n" "Komunikat błędu: %1%" #, 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 "Kopiowanie tymczasowego G-code do wyjściowego pliku G-code nie powiodło się. Może być problem z urządzeniem docelowym, spróbuj ponownie wyeksportować lub użyć innego urządzenia. Uszkodzony plik wyjściowego G-code znajduje się w pliku %1%.tmp." +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 "" +"Kopiowanie tymczasowego G-code do wyjściowego pliku G-code nie powiodło się. " +"Może być problem z urządzeniem docelowym, spróbuj ponownie wyeksportować lub " +"użyć innego urządzenia. Uszkodzony plik wyjściowego G-code znajduje się w " +"pliku %1%.tmp." #, 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 "Zmiana nazwy G-code po skopiowaniu pliku do folderu docelowego nie powiodła się. Bieżąca ścieżka to %1%.tmp. Spróbuj ponownie go wyeksportować." +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 "" +"Zmiana nazwy G-code po skopiowaniu pliku do folderu docelowego nie powiodła " +"się. Bieżąca ścieżka to %1%.tmp. Spróbuj ponownie go wyeksportować." #, 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 "Kopiowanie tymczasowego G-code zakończono, ale oryginalny G-code w lokalizacji %1% nie mógł być otwarty podczas sprawdzania kopii. Wygenerowany G-code znajduje się w lokalizacji %2%.tmp." +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 "" +"Kopiowanie tymczasowego G-code zakończono, ale oryginalny G-code w " +"lokalizacji %1% nie mógł być otwarty podczas sprawdzania kopii. Wygenerowany " +"G-code znajduje się w lokalizacji %2%.tmp." #, 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 "Kopiowanie tymczasowego G-code zakończono, ale wyeksportowany G-code nie mógł być otwarty podczas sprawdzania kopii. Wygenerowany G-code znajduje się w lokalizacji %1%.tmp." +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 "" +"Kopiowanie tymczasowego G-code zakończono, ale wyeksportowany G-code nie " +"mógł być otwarty podczas sprawdzania kopii. Wygenerowany G-code znajduje się " +"w lokalizacji %1%.tmp." #, boost-format msgid "G-code file exported to %1%" @@ -3023,7 +3285,9 @@ msgstr "Kopiowanie tymczasowego G-kodu do G-kodu wyjściowego nie powiodło się #, boost-format msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" -msgstr "Planowanie przesyłania do `%1%`. Zobacz Okno -> Kolejka przesyłania do hosta drukarki" +msgstr "" +"Planowanie przesyłania do `%1%`. Zobacz Okno -> Kolejka przesyłania do hosta " +"drukarki" msgid "Device" msgstr "Urządzenie" @@ -3075,12 +3339,68 @@ msgstr "Status urządzenia" msgid "Actions" msgstr "Działania" -msgid "Please select the devices you would like to manage here (up to 6 devices)" -msgstr "Proszę wybrać urządzenia, którymi chciałbyś tutaj zarządzać (do 6 urządzeń)" +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" +"Proszę wybrać urządzenia, którymi chciałbyś tutaj zarządzać (do 6 urządzeń)" msgid "Add" msgstr "Dodaj" +msgid "Idle" +msgstr "Bezczynność" + +msgid "Printing" +msgstr "Drukowanie" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Niekompatybilne" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Przygotowanie" + +msgid "Slicing" +msgstr "Cięcie" + +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 "Resume" msgstr "Wznów" @@ -3114,6 +3434,12 @@ msgstr "Przygotowywanie zadania do druku" msgid "Abnormal print file data. Please slice again" msgstr "Nieprawidłowe dane pliku druku. Proszę ponownie przetnij" +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + msgid "Use External Spool" msgstr "Użyj zewnętrznej szpuli" @@ -3135,14 +3461,21 @@ msgstr "Opcje wysyłania" msgid "Send" msgstr "Wyślij" -msgid "printers at the same time.(It depends on how many devices can undergo heating at the same time.)" -msgstr "jednocześnie drukowanie na kilku drukarkach (zależy to od liczby urządzeń, które można podgrzewać jednocześnie.)" +msgid "" +"printers at the same time.(It depends on how many devices can undergo " +"heating at the same time.)" +msgstr "" +"jednocześnie drukowanie na kilku drukarkach (zależy to od liczby urządzeń, " +"które można podgrzewać jednocześnie.)" msgid "Wait" msgstr "Czekaj" -msgid "minute each batch.(It depends on how long it takes to complete the heating.)" -msgstr "minut na każdą partię. (To zależy od tego, jak długo trwa proces nagrzewania.)" +msgid "" +"minute each batch.(It depends on how long it takes to complete the heating.)" +msgstr "" +"minut na każdą partię. (To zależy od tego, jak długo trwa proces " +"nagrzewania.)" msgid "Name is invalid;" msgstr "Nazwa jest nieprawidłowa;" @@ -3171,11 +3504,17 @@ msgstr "Punkt bazowy" msgid "Size in X and Y of the rectangular plate." msgstr "Rozmiar w osi X i Y prostokątnej płyty." -msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." +msgid "" +"Distance of the 0,0 G-code coordinate from the front left corner of the " +"rectangle." msgstr "Odległość punktu 0,0 w G-code od lewego górnego rogu prostokąta." -msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." -msgstr "Średnica stołu drukarki. Przyjmuje się, że punkt początkowy (0,0) znajduje się na środku." +msgid "" +"Diameter of the print bed. It is assumed that origin (0,0) is located in the " +"center." +msgstr "" +"Średnica stołu drukarki. Przyjmuje się, że punkt początkowy (0,0) znajduje " +"się na środku." msgid "Rectangular" msgstr "Prostokątna" @@ -3213,8 +3552,10 @@ msgstr "Błąd! Nieprawidłowy model" msgid "The selected file contains no geometry." msgstr "Wybrany plik nie zawiera geometrii." -msgid "The selected file contains several disjoint areas. This is not supported." -msgstr "Wybrany plik zawiera kilka niepołączonych obszarów. To nie jest obsługiwane." +msgid "" +"The selected file contains several disjoint areas. This is not supported." +msgstr "" +"Wybrany plik zawiera kilka niepołączonych obszarów. To nie jest obsługiwane." msgid "Choose a file to import bed texture from (PNG/SVG):" msgstr "Wybierz plik do zaimportowania tekstury stołu (PNG/SVG):" @@ -3225,11 +3566,19 @@ msgstr "Wybierz plik STL do zaimportowania modelu stołu z:" msgid "Bed Shape" msgstr "Kształt stołu" -msgid "The recommended minimum temperature is less than 190 degree or the recommended maximum temperature is greater than 300 degree.\n" -msgstr "Zalecana temperatura jest poniżej minimalnych 190 stopni lub temperatura przekracza zalecane maksimum 300 stopni.\n" +msgid "" +"The recommended minimum temperature is less than 190 degree or the " +"recommended maximum temperature is greater than 300 degree.\n" +msgstr "" +"Zalecana temperatura jest poniżej minimalnych 190 stopni lub temperatura " +"przekracza zalecane maksimum 300 stopni.\n" -msgid "The recommended minimum temperature cannot be higher than the recommended maximum temperature.\n" -msgstr "Minimalna zalecana temperatura nie może być wyższa niż zalecana temperatura maksymalna.\n" +msgid "" +"The recommended minimum temperature cannot be higher than the recommended " +"maximum temperature.\n" +msgstr "" +"Minimalna zalecana temperatura nie może być wyższa niż zalecana temperatura " +"maksymalna.\n" msgid "Please check.\n" msgstr "Sprawdź.\n" @@ -3239,13 +3588,18 @@ msgid "" "Please make sure whether to use the temperature to print.\n" "\n" msgstr "" -"Dysza może zostać zablokowana, gdy temperatura wykracza poza zalecany zakres.\n" +"Dysza może zostać zablokowana, gdy temperatura wykracza poza zalecany " +"zakres.\n" "Upewnij się, czy temperatura do druku jest odpowiednia.\n" "\n" #, c-format, boost-format -msgid "Recommended nozzle temperature of this filament type is [%d, %d] degree centigrade" -msgstr "Zalecana temperatura dyszy dla tego typu filamentu wynosi [%d, %d] stopni Celsjusza" +msgid "" +"Recommended nozzle temperature of this filament type is [%d, %d] degree " +"centigrade" +msgstr "" +"Zalecana temperatura dyszy dla tego typu filamentu wynosi [%d, %d] stopni " +"Celsjusza" msgid "" "Too small max volumetric speed.\n" @@ -3255,8 +3609,14 @@ msgstr "" "Zresetowano do 0,5" #, c-format, boost-format -msgid "Current chamber temperature is higher than the material's safe temperature,it may result in material softening and clogging.The maximum safe temperature for the material is %d" -msgstr "Obecna temperatura komory jest wyższa niż bezpieczna temperatura dla filamentu, co może prowadzić do jego mięknięcia i zatykania. Maksymalna bezpieczna temperatura dla tego filamentu wynosi %d" +msgid "" +"Current chamber temperature is higher than the material's safe temperature," +"it may result in material softening and clogging.The maximum safe " +"temperature for the material is %d" +msgstr "" +"Obecna temperatura komory jest wyższa niż bezpieczna temperatura dla " +"filamentu, co może prowadzić do jego mięknięcia i zatykania. Maksymalna " +"bezpieczna temperatura dla tego filamentu wynosi %d" msgid "" "Too small layer height.\n" @@ -3282,14 +3642,18 @@ msgstr "" "Wysokość pierwszej warstwy zostanie zresetowana do 0,2." msgid "" -"This setting is only used for model size tunning with small value in some cases.\n" +"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 "" -"To ustawienie jest używane tylko do dostrajania rozmiaru modelu w niewielkim stopniu.\n" -"Na przykład, gdy rozmiar modelu ma małe błędy lub gdy tolerancje są nieprawidłowe. W przypadku wprowadzania dużych zmian należy do tego użyć funkcji skalowania modelu.\n" +"To ustawienie jest używane tylko do dostrajania rozmiaru modelu w niewielkim " +"stopniu.\n" +"Na przykład, gdy rozmiar modelu ma małe błędy lub gdy tolerancje są " +"nieprawidłowe. W przypadku wprowadzania dużych zmian należy do tego użyć " +"funkcji skalowania modelu.\n" "\n" "Wartość zostanie zresetowana do 0." @@ -3301,33 +3665,43 @@ msgid "" "The value will be reset to 0." msgstr "" "Zbyt duża kompensacja efektu \"stopy słonia\" nie jest wskazana.\n" -"Jeśli rzeczywiście występuje poważny efekt stopy słonia, proszę sprawdzić inne ustawienia.\n" +"Jeśli rzeczywiście występuje poważny efekt stopy słonia, proszę sprawdzić " +"inne ustawienia.\n" "Na przykład, czy temperatura stołu jest zbyt wysoka.\n" "\n" "Wartość zostanie zresetowana do 0." -msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All. " -msgstr "Alternatywna dodatkowa ściana działa tylko wtedy, gdy jest wyłączona opcja \"zapewnij stałą grubość pionowej powłoki\". " +msgid "" +"Alternate extra wall does't work well when ensure vertical shell thickness " +"is set to All. " +msgstr "" +"Alternatywna dodatkowa ściana działa tylko wtedy, gdy jest wyłączona opcja " +"\"zapewnij stałą grubość pionowej powłoki\". " msgid "" "Change these settings automatically? \n" -"Yes - Change ensure vertical shell thickness to Moderate and enable alternate extra wall\n" +"Yes - Change ensure vertical shell thickness to Moderate and enable " +"alternate extra wall\n" "No - Dont use alternate extra wall" msgstr "" "Zmienić te ustawienia automatycznie?\n" -"Tak - Wyłącz \"zapewnij pionową grubość powłoki\" i włącz \"alternatywną dodatkową ścianę\"\n" +"Tak - Wyłącz \"zapewnij pionową grubość powłoki\" i włącz \"alternatywną " +"dodatkową ścianę\"\n" "Nie - Nie używaj \"alternatywnej dodatkowej ściany\"" msgid "" -"Prime tower does not work when Adaptive Layer Height or Independent Support Layer Height is on.\n" +"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 "" -"Wieża czyszcząca nie działa, gdy włączona jest Adaptacyjna wysokość warstwy lub Niezależna wysokość warstwy podpory.\n" +"Wieża czyszcząca nie działa, gdy włączona jest Adaptacyjna wysokość warstwy " +"lub Niezależna wysokość warstwy podpory.\n" "Którą opcję chcesz zachować?\n" "TAK - Zachowaj Wieżę czyszczącą\n" -"NIE - Zachowaj Adaptacyjną wysokość warstwy i Niezależną wysokość warstwy podpory" +"NIE - Zachowaj Adaptacyjną wysokość warstwy i Niezależną wysokość warstwy " +"podpory" msgid "" "Prime tower does not work when Adaptive Layer Height is on.\n" @@ -3346,7 +3720,8 @@ msgid "" "YES - Keep Prime Tower\n" "NO - Keep Independent Support Layer Height" msgstr "" -"Wieża czyszcząca nie działa, gdy włączona jest Niezależna wysokość warstwy podpory.\n" +"Wieża czyszcząca nie działa, gdy włączona jest Niezależna wysokość warstwy " +"podpory.\n" "Którą opcję chcesz zachować?\n" "TAK - Zachowaj Wieżę czyszczącą\n" "NIE - Zachowaj Niezależną wysokość warstwy podpory" @@ -3355,7 +3730,8 @@ msgid "" "While printing by Object, the extruder may collide skirt.\n" "Thus, reset the skirt layer to 1 to avoid that." msgstr "" -"Podczas drukowania według obiektu extruder może zderzyć się z obrysem skirtu.\n" +"Podczas drukowania według obiektu extruder może zderzyć się z obrysem " +"skirtu.\n" "Dlatego zresetuj wysokość skirtu na 1, aby tego uniknąć." msgid "" @@ -3365,8 +3741,13 @@ msgstr "" "seam_slope_start_height musi być mniejsza niż wysokość warstwy. \n" "Zresetuj do wartości 0" -msgid "Spiral mode only works when wall loops is 1, support is disabled, top shell layers is 0, sparse infill density is 0 and timelapse type is traditional." -msgstr "Tryb Wazy działa tylko wtedy gdy liczba pętli ściany wynosi 1, wyłączone są podpory, ilość warstw górnej powłoki wynosi 0, gęstość wypełnienia wynosi 0, a tryb Timelaps ustawiony jest na Tradycyjny." +msgid "" +"Spiral mode only works when wall loops is 1, support is disabled, top shell " +"layers is 0, sparse infill density is 0 and timelapse type is traditional." +msgstr "" +"Tryb Wazy działa tylko wtedy gdy liczba pętli ściany wynosi 1, wyłączone są " +"podpory, ilość warstw górnej powłoki wynosi 0, gęstość wypełnienia wynosi 0, " +"a tryb Timelaps ustawiony jest na Tradycyjny." msgid " But machines with I3 structure will not generate timelapse videos." msgstr " Jednak maszyny z budową I3 nie będą generować filmów timelapse." @@ -3509,19 +3890,38 @@ msgstr "Weryfikacja nieudana." msgid "Update failed." msgstr "Aktualizacja nieudana." -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 "Aktualna temperatura komory lub docelowa temperatura komory przekracza 45℃. Aby uniknąć zatkania extrudera, niedopuszczalne jest ładowanie filamentu o niskiej temperaturze (PLA/PETG/TPU)." +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 "" +"Aktualna temperatura komory lub docelowa temperatura komory przekracza 45℃. " +"Aby uniknąć zatkania extrudera, niedopuszczalne jest ładowanie filamentu o " +"niskiej temperaturze (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 above 45℃." -msgstr "W extruderze jest załadowany filament o niskiej temperaturze (PLA/PETG/TPU). Aby uniknąć zatkania extrudera, nie wolno ustawiać temperatury komory powyżej 45℃." +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 " +"above 45℃." +msgstr "" +"W extruderze jest załadowany filament o niskiej temperaturze (PLA/PETG/TPU). " +"Aby uniknąć zatkania extrudera, nie wolno ustawiać temperatury komory " +"powyżej 45℃." -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 "Jeśli ustawisz temperaturę komory poniżej 40℃, kontrola temperatury komory nie będzie aktywowana. Docelowa temperatura komory zostanie automatycznie ustawiona na 0℃." +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 "" +"Jeśli ustawisz temperaturę komory poniżej 40℃, kontrola temperatury komory " +"nie będzie aktywowana. Docelowa temperatura komory zostanie automatycznie " +"ustawiona na 0℃." msgid "Failed to start printing job" msgstr "Nie udało się rozpocząć zadania drukowania" -msgid "This calibration does not support the currently selected nozzle diameter" +msgid "" +"This calibration does not support the currently selected nozzle diameter" msgstr "Ta kalibracja nie obsługuje obecnie wybranego średnicy dyszy" msgid "Current flowrate cali param is invalid" @@ -3542,11 +3942,19 @@ msgstr "TPU nie jest obsługiwane przez AMS." msgid "Bambu PET-CF/PA6-CF is not supported by AMS." msgstr "Bambu PET-CF/PA6-CF nie jest obsługiwane przez AMS." -msgid "Damp PVA will become flexible and get stuck inside AMS,please take care to dry it before use." -msgstr "Wilgotne PVA staje się elastyczne i może utknąć wewnątrz AMS, proszę pamiętać o wysuszeniu go przed użyciem." +msgid "" +"Damp PVA will become flexible and get stuck inside AMS,please take care to " +"dry it before use." +msgstr "" +"Wilgotne PVA staje się elastyczne i może utknąć wewnątrz AMS, proszę " +"pamiętać o wysuszeniu go przed użyciem." -msgid "CF/GF filaments are hard and brittle, It's easy to break or get stuck in AMS, please use with caution." -msgstr "Filamenty CF/GF są twarde i kruche, łatwo je złamać i zaklinować w AMS, proszę używać ostrożnie." +msgid "" +"CF/GF filaments are hard and brittle, It's easy to break or get stuck in " +"AMS, please use with caution." +msgstr "" +"Filamenty CF/GF są twarde i kruche, łatwo je złamać i zaklinować w AMS, " +"proszę używać ostrożnie." msgid "default" msgstr "domyślny" @@ -3988,8 +4396,12 @@ msgid "Size:" msgstr "Rozmiar:" #, c-format, boost-format -msgid "Conflicts of gcode paths have been found at layer %d, z = %.2lf mm. Please separate the conflicted objects farther (%s <-> %s)." -msgstr "Wykryto konflikty ścieżek G-code na warstwie %d, z = %.2lf mm. Proszę oddalić od siebie obiekty będące w konflikcie (%s <-> %s)." +msgid "" +"Conflicts of gcode paths have been found at layer %d, z = %.2lf mm. Please " +"separate the conflicted objects farther (%s <-> %s)." +msgstr "" +"Wykryto konflikty ścieżek G-code na warstwie %d, z = %.2lf mm. Proszę " +"oddalić od siebie obiekty będące w konflikcie (%s <-> %s)." msgid "An object is layed over the boundary of plate." msgstr "Obiekt jest położony poza granicą płyty." @@ -4005,10 +4417,12 @@ msgstr "Widoczny jest tylko edytowany obiekt." 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." +"Please solve the problem by moving it totally on or off the plate, and " +"confirming that the height is within the build volume." msgstr "" "Obiekt jest umieszczony poza granicą płyty lub przekracza limit wysokości.\n" -"Rozwiąż problem, przesuwając go całkowicie na płytę lub poza nią oraz potwierdzając, że wysokość mieści się w obszarze roboczym." +"Rozwiąż problem, przesuwając go całkowicie na płytę lub poza nią oraz " +"potwierdzając, że wysokość mieści się w obszarze roboczym." msgid "Calibration step selection" msgstr "Wybór kroku kalibracji" @@ -4029,10 +4443,12 @@ msgid "Calibration program" msgstr "Program kalibracji" msgid "" -"The calibration program detects the status of your device automatically to minimize deviation.\n" +"The calibration program detects the status of your device automatically to " +"minimize deviation.\n" "It keeps the device performing optimally." msgstr "" -"Program kalibracji automatycznie wykrywa stan urządzenia, aby zminimalizować odchylenia.\n" +"Program kalibracji automatycznie wykrywa stan urządzenia, aby zminimalizować " +"odchylenia.\n" "Utrzymuje urządzenie w optymalnej wydajności." msgid "Calibration Flow" @@ -4111,9 +4527,6 @@ msgstr "Zamykanie aplikacji podczas modyfikacji niektórych ustawień." msgid "Logging" msgstr "Logowanie" -msgid "Prepare" -msgstr "Przygotowanie" - msgid "Preview" msgstr "Podgląd" @@ -4130,7 +4543,8 @@ msgid "No" msgstr "Nie" msgid "will be closed before creating a new model. Do you want to continue?" -msgstr "zostanie zamknięta przed utworzeniem nowego modelu. Czy chcesz kontynuować?" +msgstr "" +"zostanie zamknięta przed utworzeniem nowego modelu. Czy chcesz kontynuować?" msgid "Slice plate" msgstr "Potnij aktualną płytę" @@ -4297,8 +4711,8 @@ msgstr "Eksportuj plik G-code" msgid "Export current plate as G-code" msgstr "Eksportuj bieżący stół jako plik G-code" -msgid "Export &Configs" -msgstr "Eksportuj &konfiguracje" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Eksportuj bieżącą konfigurację do plików" @@ -4465,10 +4879,10 @@ msgstr "Eksportuj &ścieżki narzędzi jako OBJ" msgid "Export toolpaths as OBJ" msgstr "Eksportuj ścieżki narzędzi jako OBJ" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Otwórz &Studio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Otwórz Studio" msgid "&Quit" @@ -4522,17 +4936,26 @@ msgstr "Wybierz profil do wczytania:" #, c-format, 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] "Zaimportowano %d konfigurację (tylko te, które nie są systemowe i kompatybilne)." -msgstr[1] "Zaimportowano %d konfiguracje (tylko te, które nie są systemowe i kompatybilne)." -msgstr[2] "Zaimportowano %d konfiguracji (tylko te, które nie są systemowe i kompatybilne)." +msgid_plural "" +"There are %d configs imported. (Only non-system and compatible configs)" +msgstr[0] "" +"Zaimportowano %d konfigurację (tylko te, które nie są systemowe i " +"kompatybilne)." +msgstr[1] "" +"Zaimportowano %d konfiguracje (tylko te, które nie są systemowe i " +"kompatybilne)." +msgstr[2] "" +"Zaimportowano %d konfiguracji (tylko te, które nie są systemowe i " +"kompatybilne)." msgid "" "\n" -"Hint: Make sure you have added the corresponding printer before importing the configs." +"Hint: Make sure you have added the corresponding printer before importing " +"the configs." msgstr "" "\n" -"Podpowiedź: Upewnij się, że dodałeś odpowiednią drukarkę przed zaimportowaniem konfiguracji." +"Podpowiedź: Upewnij się, że dodałeś odpowiednią drukarkę przed " +"zaimportowaniem konfiguracji." msgid "Import result" msgstr "Wynik importu" @@ -4563,28 +4986,43 @@ msgid "Synchronization" msgstr "Synchronizacja" msgid "The device cannot handle more conversations. Please retry later." -msgstr "Urządzenie nie może obsługiwać kolejnych połączeń. Proszę spróbować ponownie później." +msgstr "" +"Urządzenie nie może obsługiwać kolejnych połączeń. Proszę spróbować ponownie " +"później." msgid "Player is malfunctioning. Please reinstall the system player." -msgstr "Odtwarzacz nie działa poprawnie. Proszę ponownie zainstalować odtwarzacz systemowy." +msgstr "" +"Odtwarzacz nie działa poprawnie. Proszę ponownie zainstalować odtwarzacz " +"systemowy." msgid "The player is not loaded, please click \"play\" button to retry." -msgstr "Odtwarzacz nie został załadowany, proszę kliknąć przycisk \"Odtwórz\", aby spróbować ponownie." +msgstr "" +"Odtwarzacz nie został załadowany, proszę kliknąć przycisk \"Odtwórz\", aby " +"spróbować ponownie." msgid "Please confirm if the printer is connected." msgstr "Proszę potwierdzić, czy drukarka jest podłączona." -msgid "The printer is currently busy downloading. Please try again after it finishes." -msgstr "Drukarka aktualnie pobiera dane. Proszę spróbować ponownie po zakończeniu tego procesu." +msgid "" +"The printer is currently busy downloading. Please try again after it " +"finishes." +msgstr "" +"Drukarka aktualnie pobiera dane. Proszę spróbować ponownie po zakończeniu " +"tego procesu." msgid "Printer camera is malfunctioning." msgstr "Kamera drukarki jest uszkodzona." msgid "Problem occured. Please update the printer firmware and try again." -msgstr "Wystąpił problem. Proszę zaktualizować oprogramowanie drukarki i spróbować ponownie." +msgstr "" +"Wystąpił problem. Proszę zaktualizować oprogramowanie drukarki i spróbować " +"ponownie." -msgid "LAN Only Liveview is off. Please turn on the liveview on printer screen." -msgstr "Tryb podglądu LAN jest wyłączony. Proszę włączyć podgląd na żywo na ekranie drukarki." +msgid "" +"LAN Only Liveview is off. Please turn on the liveview on printer screen." +msgstr "" +"Tryb podglądu LAN jest wyłączony. Proszę włączyć podgląd na żywo na ekranie " +"drukarki." msgid "Please enter the IP of printer to connect." msgstr "Proszę podać adres IP drukarki, aby nawiązać połączenie." @@ -4593,10 +5031,16 @@ msgid "Initializing..." msgstr "Inicjalizacja..." msgid "Connection Failed. Please check the network and try again" -msgstr "Połączenie nieudane. Proszę sprawdzić połączenie sieciowe i spróbować ponownie." +msgstr "" +"Połączenie nieudane. Proszę sprawdzić połączenie sieciowe i spróbować " +"ponownie." -msgid "Please check the network and try again, You can restart or update the printer if the issue persists." -msgstr "Proszę sprawdzić połączenie sieciowe i spróbować ponownie. Jeśli problem nadal występuje, można ponownie uruchomić lub zaktualizować drukarkę." +msgid "" +"Please check the network and try again, You can restart or update the " +"printer if the issue persists." +msgstr "" +"Proszę sprawdzić połączenie sieciowe i spróbować ponownie. Jeśli problem " +"nadal występuje, można ponownie uruchomić lub zaktualizować drukarkę." msgid "The printer has been logged out and cannot connect." msgstr "Drukarka została wylogowana i nie można się z nią połączyć." @@ -4712,17 +5156,23 @@ msgstr "Błąd ładowania" msgid "Initialize failed (Device connection not ready)!" msgstr "Inicjalizacja nie powiodła się (Brak gotowości połączenia urządzenia)!" -msgid "Browsing file in SD card is not supported in current firmware. Please update the printer firmware." -msgstr "Przeglądanie plików na karcie SD nie jest obsługiwane w bieżącym oprogramowaniu. Proszę zaktualizować oprogramowanie drukarki." +msgid "" +"Browsing file in SD card is not supported in current firmware. Please update " +"the printer firmware." +msgstr "" +"Przeglądanie plików na karcie SD nie jest obsługiwane w bieżącym " +"oprogramowaniu. Proszę zaktualizować oprogramowanie drukarki." msgid "Initialize failed (Storage unavailable, insert SD card.)!" -msgstr "Inicjalizacja nie powiodła się (brak dostępu do pamięci, włóż kartę SD)!" +msgstr "" +"Inicjalizacja nie powiodła się (brak dostępu do pamięci, włóż kartę SD)!" msgid "LAN Connection Failed (Failed to view sdcard)" msgstr "Połączenie LAN nieudane (Nie udało się wyświetlić zawartości karty SD)" msgid "Browsing file in SD card is not supported in LAN Only Mode." -msgstr "Przeglądanie plików na karcie SD nie jest obsługiwane w trybie tylko LAN." +msgstr "" +"Przeglądanie plików na karcie SD nie jest obsługiwane w trybie tylko LAN." #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -4730,10 +5180,14 @@ msgstr "Inicjalizacja nie powiodła się (%s)!" #, c-format, 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] "Zamierzasz usunąć %u plik z drukarki. Czy na pewno chcesz kontynuować?" -msgstr[1] "Zamierzasz usunąć %u pliki z drukarki. Czy na pewno chcesz kontynuować?" -msgstr[2] "Zamierzasz usunąć %u plików z drukarki. Czy na pewno chcesz kontynuować?" +msgid_plural "" +"You are going to delete %u files from printer. Are you sure to continue?" +msgstr[0] "" +"Zamierzasz usunąć %u plik z drukarki. Czy na pewno chcesz kontynuować?" +msgstr[1] "" +"Zamierzasz usunąć %u pliki z drukarki. Czy na pewno chcesz kontynuować?" +msgstr[2] "" +"Zamierzasz usunąć %u plików z drukarki. Czy na pewno chcesz kontynuować?" msgid "Delete files" msgstr "Usuń pliki" @@ -4754,8 +5208,12 @@ msgstr "Nie udało się pobrać informacji o modelu z drukarki." msgid "Failed to parse model information." msgstr "Nie udało się przeanalizować informacji o modelu." -msgid "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer and export a new .gcode.3mf file." -msgstr "Plik .gcode.3mf nie zawiera danych G-code. Proszę poddać go obróbce w programie Orca Slicer i wyeksportować jako nowy plik .gcode.3mf." +msgid "" +"The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " +"and export a new .gcode.3mf file." +msgstr "" +"Plik .gcode.3mf nie zawiera danych G-code. Proszę poddać go obróbce w " +"programie Orca Slicer i wyeksportować jako nowy plik .gcode.3mf." #, c-format, boost-format msgid "File '%s' was lost! Please download it again." @@ -4785,11 +5243,12 @@ msgstr "Pobieranie zakończone" msgid "Downloading %d%%..." msgstr "Pobieranie %d%%..." -msgid "Reconnecting the printer, the operation cannot be completed immediately, please try again later." -msgstr "Ponowne łączenie z drukarką, operacja nie może być teraz zakończona, spróbuj ponownie później." - -msgid "Over 4 systems/handy are using remote access, you can close some and try again." -msgstr "Więcej niż 4 aplikacje Studio/Handy korzystają z dostępu zdalnego, możesz zamknąć kilka z nich i spróbować ponownie." +msgid "" +"Reconnecting the printer, the operation cannot be completed immediately, " +"please try again later." +msgstr "" +"Ponowne łączenie z drukarką, operacja nie może być teraz zakończona, spróbuj " +"ponownie później." msgid "File does not exist." msgstr "Plik nie istnieje." @@ -4868,7 +5327,9 @@ msgstr "" msgid "How do you like this printing file?" msgstr "Co sądzisz o tym pliku druku?" -msgid "(The model has already been rated. Your rating will overwrite the previous rating.)" +msgid "" +"(The model has already been rated. Your rating will overwrite the previous " +"rating.)" msgstr "(Ten model już został oceniony. Twoja ocena zastąpi poprzednią ocenę.)" msgid "Rate" @@ -4943,8 +5404,12 @@ msgstr "Warstwa: %s" msgid "Layer: %d/%d" msgstr "Warstwa: %d/%d" -msgid "Please heat the nozzle to above 170 degree before loading or unloading filament." -msgstr "Przed załadowaniem lub wyładunkiem filamentu, podgrzej dyszę do temperatury powyżej 170 stopni." +msgid "" +"Please heat the nozzle to above 170 degree before loading or unloading " +"filament." +msgstr "" +"Przed załadowaniem lub wyładunkiem filamentu, podgrzej dyszę do temperatury " +"powyżej 170 stopni." msgid "Still unload" msgstr "Wycofaj" @@ -4955,8 +5420,12 @@ msgstr "Podaj" msgid "Please select an AMS slot before calibration" msgstr "Przed kalibracją wybierz gniazdo AMS" -msgid "Cannot read filament info: the filament is loaded to the tool head,please unload the filament and try again." -msgstr "Nie można odczytać informacji o filamentach: filament jest załadowany w głowicy drukującej, proszę go wyładować i spróbować ponownie." +msgid "" +"Cannot read filament info: the filament is loaded to the tool head,please " +"unload the filament and try again." +msgstr "" +"Nie można odczytać informacji o filamentach: filament jest załadowany w " +"głowicy drukującej, proszę go wyładować i spróbować ponownie." msgid "This only takes effect during printing" msgstr "To działa tylko podczas drukowania" @@ -5022,10 +5491,12 @@ msgid " can not be opened\n" msgstr " nie można otworzyć\n" msgid "" -"The following issues occurred during the process of uploading images. Do you want to ignore them?\n" +"The following issues occurred during the process of uploading images. Do you " +"want to ignore them?\n" "\n" msgstr "" -"Podczas procesu przesyłania obrazów wystąpiły następujące problemy. Czy chcesz je zignorować?\n" +"Podczas procesu przesyłania obrazów wystąpiły następujące problemy. Czy " +"chcesz je zignorować?\n" "\n" msgid "info" @@ -5045,7 +5516,8 @@ msgid "" "\n" " error code: " msgstr "" -"Wynik twojego komentarza nie może być przesłany z powodu następujących przyczyn:\n" +"Wynik twojego komentarza nie może być przesłany z powodu następujących " +"przyczyn:\n" "\n" " kod błędu: " @@ -5061,8 +5533,12 @@ msgstr "" "\n" "Czy chcesz przenieść się na stronę internetową w celu oceny?" -msgid "Some of your images failed to upload. Would you like to redirect to the webpage for rating?" -msgstr "Niektóre z twoich zdjęć nie zostały przesłane. Chcesz przekierować się na stronę internetową w celu oceny?" +msgid "" +"Some of your images failed to upload. Would you like to redirect to the " +"webpage for rating?" +msgstr "" +"Niektóre z twoich zdjęć nie zostały przesłane. Chcesz przekierować się na " +"stronę internetową w celu oceny?" msgid "You can select up to 16 images." msgstr "Możesz wybrać maksymalnie 16 zdjęć." @@ -5113,8 +5589,12 @@ msgstr "Pomiń" msgid "Newer 3mf version" msgstr "Nowa wersja 3mf" -msgid "The 3mf file version is in Beta and it is newer than the current OrcaSlicer version." -msgstr "Wersja pliku 3MF jest w wersji Beta i jest nowsza niż obecna wersja OrcaSlicer." +msgid "" +"The 3mf file version is in Beta and it is newer than the current OrcaSlicer " +"version." +msgstr "" +"Wersja pliku 3MF jest w wersji Beta i jest nowsza niż obecna wersja " +"OrcaSlicer." msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "Jeśli chciałbyś wypróbować OrcaSlicer Beta, możesz kliknąć tutaj." @@ -5126,7 +5606,9 @@ msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "Wersja pliku 3MF jest nowsza niż obecna w wersji OrcaSlicer." msgid "Update your Orca Slicer could enable all functionality in the 3mf file." -msgstr "Zaktualizowanie OrcaSlicer może umożliwić korzystanie ze wszystkich funkcji pliku 3MF." +msgstr "" +"Zaktualizowanie OrcaSlicer może umożliwić korzystanie ze wszystkich funkcji " +"pliku 3MF." msgid "Current Version: " msgstr "Obecna wersja:" @@ -5266,8 +5748,12 @@ msgstr "Warstwy" msgid "Range" msgstr "Zakres" -msgid "The application cannot run normally because OpenGL version is lower than 2.0.\n" -msgstr "Aplikacja nie może działać poprawnie, ponieważ wersja OpenGL jest niższa niż 2.0.\n" +msgid "" +"The application cannot run normally because OpenGL version is lower than " +"2.0.\n" +msgstr "" +"Aplikacja nie może działać poprawnie, ponieważ wersja OpenGL jest niższa niż " +"2.0.\n" msgid "Please upgrade your graphics card driver." msgstr "Proszę zaktualizować sterownik karty graficznej." @@ -5303,8 +5789,12 @@ msgstr "Czułość pauzy wynosi" msgid "Enable detection of build plate position" msgstr "Włącz wykrywanie położenia płyty roboczej" -msgid "The localization tag of build plate is detected, and printing is paused if the tag is not in predefined range." -msgstr "Jeśli punkt kontrolny lokalizacji płyty roboczej (kod QR), zostanie wykryty w niewłaściwym miejscu, drukowanie zostanie wstrzymane." +msgid "" +"The localization tag of build plate is detected, and printing is paused if " +"the tag is not in predefined range." +msgstr "" +"Jeśli punkt kontrolny lokalizacji płyty roboczej (kod QR), zostanie wykryty " +"w niewłaściwym miejscu, drukowanie zostanie wstrzymane." msgid "First Layer Inspection" msgstr "Inspekcja pierwszej warstwy" @@ -5322,7 +5812,9 @@ msgid "Nozzle Clumping Detection" msgstr "Wykrywanie \"zalepienia\" się dyszy" msgid "Check if the nozzle is clumping by filament or other foreign objects." -msgstr "Sprawdź, czy dysza nie została zatkana filamentem lub innym obcym przedmiotem." +msgstr "" +"Sprawdź, czy dysza nie została zatkana filamentem lub innym obcym " +"przedmiotem." msgid "Nozzle Type" msgstr "Rodzaj dyszy" @@ -5428,17 +5920,28 @@ msgstr "Wybierz filamenty do użycia" msgid "Search plate, object and part." msgstr "Szukaj stołu, obiektu i części." -msgid "No AMS filaments. Please select a printer in 'Device' page to load AMS info." -msgstr "Brak odczytu filamentów w AMS. Aby wyświetlić informacje AMS, wybierz drukarkę na stronie Urządzenia." +msgid "" +"No AMS filaments. Please select a printer in 'Device' page to load AMS info." +msgstr "" +"Brak odczytu filamentów w AMS. Aby wyświetlić informacje AMS, wybierz " +"drukarkę na stronie Urządzenia." msgid "Sync filaments with AMS" msgstr "Synchronizuj filamenty z AMS" -msgid "Sync filaments with AMS will drop all current selected filament presets and colors. Do you want to continue?" -msgstr "Synchronizacja filamentów z AMS usunie wszystkie obecnie wybrane profile filamentu i koloru. Czy chcesz kontynuować?" +msgid "" +"Sync filaments with AMS will drop all current selected filament presets and " +"colors. Do you want to continue?" +msgstr "" +"Synchronizacja filamentów z AMS usunie wszystkie obecnie wybrane profile " +"filamentu i koloru. Czy chcesz kontynuować?" -msgid "Already did a synchronization, do you want to sync only changes or resync all?" -msgstr "Synchronizacja została już wykonana. Chcesz synchronizować tylko zmiany czy zaktualizować wszystko ponownie?" +msgid "" +"Already did a synchronization, do you want to sync only changes or resync " +"all?" +msgstr "" +"Synchronizacja została już wykonana. Chcesz synchronizować tylko zmiany czy " +"zaktualizować wszystko ponownie?" msgid "Sync" msgstr "Tylko zmiany" @@ -5449,16 +5952,26 @@ msgstr "Zaktualizuj wszystko" msgid "There are no compatible filaments, and sync is not performed." msgstr "Brak kompatybilnych filamentów, synchronizacja nie została wykonana." -msgid "There are some unknown filaments mapped to generic preset. Please update Orca Slicer or restart Orca Slicer to check if there is an update to system presets." -msgstr "Istnieją nieznane filamenty przypisane do ogólnych profili. Proszę zaktualizować Orca Slicer lub zrestartować go, aby sprawdzić dostępność aktualizacji profili systemowych." +msgid "" +"There are some unknown filaments mapped to generic preset. Please update " +"Orca Slicer or restart Orca Slicer to check if there is an update to system " +"presets." +msgstr "" +"Istnieją nieznane filamenty przypisane do ogólnych profili. Proszę " +"zaktualizować Orca Slicer lub zrestartować go, aby sprawdzić dostępność " +"aktualizacji profili systemowych." #, boost-format msgid "Do you want to save changes to \"%1%\"?" msgstr "Czy chcesz zapisać zmiany w \"%1%\"?" #, c-format, boost-format -msgid "Successfully unmounted. The device %s(%s) can now be safely removed from the computer." -msgstr "Pomyślnie odmontowano. Urządzenie %s(%s) może teraz być bezpiecznie usunięte z komputera." +msgid "" +"Successfully unmounted. The device %s(%s) can now be safely removed from the " +"computer." +msgstr "" +"Pomyślnie odmontowano. Urządzenie %s(%s) może teraz być bezpiecznie usunięte " +"z komputera." #, c-format, boost-format msgid "Ejecting of device %s(%s) has failed." @@ -5470,14 +5983,30 @@ msgstr "Wykryto poprzedni niezapisany projekt. Czy chcesz go przywrócić?" msgid "Restore" msgstr "Przywróć" -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 "Aktualna temperatura podgrzewanego stołu jest stosunkowo wysoka. Dysza może się zatkać podczas drukowania tym filamentu w zamkniętej obudowie. Proszę otworzyć drzwi przednie i/lub zdjąć górny panel." +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 "" +"Aktualna temperatura podgrzewanego stołu jest stosunkowo wysoka. Dysza może " +"się zatkać podczas drukowania tym filamentu w zamkniętej obudowie. Proszę " +"otworzyć drzwi przednie i/lub zdjąć górny panel." -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 "Twardość dyszy wymagana przez filament jest wyższa niż domyślna twardość dyszy drukarki. Proszę wymienić dyszę na hartowaną lub zmienić filament, w przeciwnym razie dysza może ulec zużyciu lub uszkodzeniu." +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 "" +"Twardość dyszy wymagana przez filament jest wyższa niż domyślna twardość " +"dyszy drukarki. Proszę wymienić dyszę na hartowaną lub zmienić filament, w " +"przeciwnym razie dysza może ulec zużyciu lub uszkodzeniu." -msgid "Enabling traditional timelapse photography may cause surface imperfections. It is recommended to change to smooth mode." -msgstr "Włączenie tradycyjnego timelapsu może powodować niedoskonałości powierzchni. Zaleca się zmianę trybu na płynny." +msgid "" +"Enabling traditional timelapse photography may cause surface imperfections. " +"It is recommended to change to smooth mode." +msgstr "" +"Włączenie tradycyjnego timelapsu może powodować niedoskonałości powierzchni. " +"Zaleca się zmianę trybu na płynny." msgid "Expand sidebar" msgstr "Rozwiń pasek boczny" @@ -5490,21 +6019,30 @@ msgid "Loading file: %s" msgstr "Wczytywanie pliku: %s" msgid "The 3mf is not supported by OrcaSlicer, load geometry data only." -msgstr "Plik 3MF nie jest obsługiwany przez OrcaSlicer, wczytuj tylko dane geometrii." +msgstr "" +"Plik 3MF nie jest obsługiwany przez OrcaSlicer, wczytuj tylko dane geometrii." msgid "Load 3mf" msgstr "Wczytaj 3MF" #, c-format, boost-format -msgid "The 3mf's version %s is newer than %s's version %s, Found following keys unrecognized:" -msgstr "Wersja 3mf %s jest nowsza niż wersja %s %s, znaleziono następujące nierozpoznane klucze:" +msgid "" +"The 3mf's version %s is newer than %s's version %s, Found following keys " +"unrecognized:" +msgstr "" +"Wersja 3mf %s jest nowsza niż wersja %s %s, znaleziono następujące " +"nierozpoznane klucze:" msgid "You'd better upgrade your software.\n" msgstr "Lepiej zaktualizuj swoje oprogramowanie.\n" #, c-format, boost-format -msgid "The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your software." -msgstr "Wersja 3mf %s jest nowsza niż wersja %s %s, sugeruje się aktualizację oprogramowania." +msgid "" +"The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your " +"software." +msgstr "" +"Wersja 3mf %s jest nowsza niż wersja %s %s, sugeruje się aktualizację " +"oprogramowania." msgid "Invalid values found in the 3mf:" msgstr "Znaleziono nieprawidłowe wartości w pliku 3MF:" @@ -5513,10 +6051,16 @@ msgid "Please correct them in the param tabs" msgstr "Proszę poprawić je na kartach parametrów" msgid "The 3mf has following modified G-codes in filament or printer presets:" -msgstr "Plik 3MF ma następujące zmodyfikowane G-code w profilach filamentu lub drukarki:" +msgstr "" +"Plik 3MF ma następujące zmodyfikowane G-code w profilach filamentu lub " +"drukarki:" -msgid "Please confirm that these modified G-codes are safe to prevent any damage to the machine!" -msgstr "Proszę potwierdzić, że te zmodyfikowane G-code są bezpieczne, aby zapobiec ewentualnym uszkodzeniom maszyny!" +msgid "" +"Please confirm that these modified G-codes are safe to prevent any damage to " +"the machine!" +msgstr "" +"Proszę potwierdzić, że te zmodyfikowane G-code są bezpieczne, aby zapobiec " +"ewentualnym uszkodzeniom maszyny!" msgid "Modified G-codes" msgstr "Zmodyfikowane G-codes" @@ -5524,8 +6068,12 @@ msgstr "Zmodyfikowane G-codes" msgid "The 3mf has following customized filament or printer presets:" msgstr "Plik 3MF ma następujące dostosowane profile filamentu lub drukarki:" -msgid "Please confirm that the G-codes within these presets are safe to prevent any damage to the machine!" -msgstr "Proszę potwierdzić, że G-code w tych profilach są bezpieczne, aby zapobiec ewentualnym uszkodzeniom maszyny!" +msgid "" +"Please confirm that the G-codes within these presets are safe to prevent any " +"damage to the machine!" +msgstr "" +"Proszę potwierdzić, że G-code w tych profilach są bezpieczne, aby zapobiec " +"ewentualnym uszkodzeniom maszyny!" msgid "Customized Preset" msgstr "Dostosowany profil" @@ -5536,9 +6084,13 @@ msgstr "Nazwa komponentów w pliku step nie jest w formacie UTF8!" msgid "The name may show garbage characters!" msgstr "Nazwa może zawierać nieczytelne znaki!" +msgid "Remember my choice." +msgstr "Zapamiętaj moją decyzję." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." -msgstr "Nie udało się wczytać pliku \"%1%\". Znaleziono nieprawidłową konfigurację." +msgstr "" +"Nie udało się wczytać pliku \"%1%\". Znaleziono nieprawidłową konfigurację." msgid "Objects with zero volume removed" msgstr "Usunięto obiekty o zerowym wolumenie" @@ -5570,7 +6122,9 @@ msgid "Multi-part object detected" msgstr "Wykryto obiekt składający się z wielu części" msgid "Load these files as a single object with multiple parts?\n" -msgstr "Czy chcesz wczytać te pliki jako pojedynczy obiekt składający się z wielu części?\n" +msgstr "" +"Czy chcesz wczytać te pliki jako pojedynczy obiekt składający się z wielu " +"części?\n" msgid "Object with multiple parts was detected" msgstr "Wykryto obiekt składający się z wielu części" @@ -5578,8 +6132,12 @@ msgstr "Wykryto obiekt składający się z wielu części" msgid "The file does not contain any geometry data." msgstr "Plik nie zawiera żadnych danych geometrycznych." -msgid "Your object appears to be too large, Do you want to scale it down to fit the heat bed automatically?" -msgstr "Importowany model przekracza wymiary przestrzeni roboczej. Czy chcesz go przeskalowanć do odpowiednich rozmiarów?" +msgid "" +"Your object appears to be too large, Do you want to scale it down to fit the " +"heat bed automatically?" +msgstr "" +"Importowany model przekracza wymiary przestrzeni roboczej. Czy chcesz go " +"przeskalowanć do odpowiednich rozmiarów?" msgid "Object too large" msgstr "Obiekt jest zbyt duży" @@ -5658,9 +6216,6 @@ msgstr "Nie można wczytać:" msgid "Error during reload" msgstr "Błąd podczas przeładowywania" -msgid "Slicing" -msgstr "Cięcie" - msgid "There are warnings after slicing models:" msgstr "Po wykonaniu cięcia modeli występują ostrzeżenia:" @@ -5680,8 +6235,11 @@ msgstr "Krojenie płyty %d" msgid "Please resolve the slicing errors and publish again." msgstr "Rozwiąż błędy w cięciu i opublikuj ponownie." -msgid "Network Plug-in is not detected. Network related features are unavailable." -msgstr "Wtyczka sieciowa nie jest wykrywana. Funkcje związane z siecią są niedostępne." +msgid "" +"Network Plug-in is not detected. Network related features are unavailable." +msgstr "" +"Wtyczka sieciowa nie jest wykrywana. Funkcje związane z siecią są " +"niedostępne." msgid "" "Preview only mode:\n" @@ -5691,7 +6249,8 @@ msgstr "" "Wczytany plik zawiera tylko G-code, nie można wejść na stronę Przygotuj" msgid "You can keep the modified presets to the new project or discard them" -msgstr "Możesz zachować zmodyfikowane profile w nowym projekcie lub je odrzucić" +msgstr "" +"Możesz zachować zmodyfikowane profile w nowym projekcie lub je odrzucić" msgid "Creating a new project" msgstr "Tworzenie nowego projektu" @@ -5701,10 +6260,12 @@ msgstr "Wczytaj projekt" msgid "" "Failed to save the project.\n" -"Please check whether the folder exists online or if other programs open the project file." +"Please check whether the folder exists online or if other programs open the " +"project file." msgstr "" "Nie udało się zapisać projektu.\n" -"Sprawdź, czy folder istnieje w trybie online lub czy inne programy nie używają pliku projektu." +"Sprawdź, czy folder istnieje w trybie online lub czy inne programy nie " +"używają pliku projektu." msgid "Save project" msgstr "Zapisz projekt" @@ -5726,10 +6287,14 @@ msgstr "Pobieranie nie powiodło się, wyjątek - rozmiar pliku." #, c-format, boost-format msgid "Project downloaded %d%%" -msgstr "Projekt pobrany w %d%%" +msgstr "" +"Projekt pobrany w %d%%Importowanie do OrcaSlicer nie powiodło się. Proszę " +"pobrać plik i ręcznie go zaimportować." -msgid "Importing to Bambu Studio failed. Please download the file and manually import it." -msgstr "Importowanie do OrcaSlicer nie powiodło się. Proszę pobrać plik i ręcznie go zaimportować." +msgid "" +"Importing to Orca Slicer failed. Please download the file and manually " +"import it." +msgstr "" msgid "Import SLA archive" msgstr "Importuj archiwum SLA" @@ -5767,17 +6332,12 @@ msgstr "Pliki G-code nie mogą być wczytywane razem z modelami!" msgid "Can not add models when in preview mode!" msgstr "Nie można dodawać modeli w trybie podglądu!" -msgid "Add Models" -msgstr "Dodaj modele" - msgid "All objects will be removed, continue?" msgstr "Wszystkie obiekty zostaną usunięte, kontynuować?" msgid "The current project has unsaved changes, save it before continue?" -msgstr "Aktualny projekt ma niezapisane zmiany, czy zapisać go przed kontynuacją?" - -msgid "Remember my choice." -msgstr "Zapamiętaj moją decyzję." +msgstr "" +"Aktualny projekt ma niezapisane zmiany, czy zapisać go przed kontynuacją?" msgid "Number of copies:" msgstr "Liczba kopii:" @@ -5801,11 +6361,18 @@ msgid "Save Sliced file as:" msgstr "Zapisz plik po wykonaniu cięcia jako:" #, c-format, boost-format -msgid "The file %s has been sent to the printer's storage space and can be viewed on the printer." -msgstr "Plik %s został wysłany do pamięci drukarki i można go obejrzeć na urządzeniu." +msgid "" +"The file %s has been sent to the printer's storage space and can be viewed " +"on the printer." +msgstr "" +"Plik %s został wysłany do pamięci drukarki i można go obejrzeć na urządzeniu." -msgid "Unable to perform boolean operation on model meshes. Only positive parts will be kept. You may fix the meshes and try agian." -msgstr "Nie można wykonać operacji boolowskich na siatkach modelu. Eksportowane będą tylko części dodatnie" +msgid "" +"Unable to perform boolean operation on model meshes. Only positive parts " +"will be kept. You may fix the meshes and try agian." +msgstr "" +"Nie można wykonać operacji boolowskich na siatkach modelu. Eksportowane będą " +"tylko części dodatnie" #, boost-format msgid "Reason: part \"%1%\" is empty." @@ -5824,17 +6391,22 @@ msgid "Reason: \"%1%\" and another part have no intersection." msgstr "Przyczyna: \"%1%\" i inna część nie mają wspólnego przecięcia." msgid "" -"Are you sure you want to store original SVGs with their local paths into the 3MF file?\n" +"Are you sure you want to store original SVGs with their local paths into the " +"3MF file?\n" "If you hit 'NO', all SVGs in the project will not be editable any more." msgstr "" -"Czy na pewno chcesz przechowywać oryginalne pliki SVG wraz z ich lokalnymi ścieżkami w pliku 3MF?\n" -"Jeśli wybierzesz 'NIE', wszystkie pliki SVG w projekcie przestaną być edytowalne." +"Czy na pewno chcesz przechowywać oryginalne pliki SVG wraz z ich lokalnymi " +"ścieżkami w pliku 3MF?\n" +"Jeśli wybierzesz 'NIE', wszystkie pliki SVG w projekcie przestaną być " +"edytowalne." msgid "Private protection" msgstr "Ochrona prywatności" msgid "Is the printer ready? Is the print sheet in place, empty and clean?" -msgstr "Czy drukarka jest gotowa? Czy arkusz drukujący jest na miejscu, pusty i czysty?" +msgstr "" +"Czy drukarka jest gotowa? Czy arkusz drukujący jest na miejscu, pusty i " +"czysty?" msgid "Upload and Print" msgstr "Prześlij i drukuj" @@ -5844,7 +6416,8 @@ msgid "" "Suggest to use auto-arrange to avoid collisions when printing." msgstr "" "Drukowanie według obiektu: \n" -"Zalecamy użycie automatycznego rozmieszczenia, aby uniknąć kolizji podczas drukowania." +"Zalecamy użycie automatycznego rozmieszczenia, aby uniknąć kolizji podczas " +"drukowania." msgid "Send G-code" msgstr "Wyślij G-code" @@ -5903,12 +6476,23 @@ msgstr "Trójkąty: %1%\n" msgid "Tips:" msgstr "Wskazówki:" -msgid "\"Fix Model\" feature is currently only on Windows. Please repair the model on Orca Slicer(windows) or CAD softwares." -msgstr "Funkcja „Napraw model” jest obecnie dostępna tylko w systemie Windows. Proszę naprawić model za pomocą programu Orca Slicer (Windows) lub oprogramowania CAD." +msgid "" +"\"Fix Model\" feature is currently only on Windows. Please repair the model " +"on Orca Slicer(windows) or CAD softwares." +msgstr "" +"Funkcja „Napraw model” jest obecnie dostępna tylko w systemie Windows. " +"Proszę naprawić model za pomocą programu Orca Slicer (Windows) lub " +"oprogramowania CAD." #, c-format, boost-format -msgid "Plate% d: %s is not suggested to be used to print filament %s(%s). If you still want to do this printing, please set this filament's bed temperature to non zero." -msgstr "Płyta% d:%s Nie zaleca się używania do druku filamentu %s(%s). Jeśli nadal chcesz wydrukować ten filament, ustaw temperaturę stołu dla tego filamentu na większą niż zero." +msgid "" +"Plate% d: %s is not suggested to be used to print filament %s(%s). If you " +"still want to do this printing, please set this filament's bed temperature " +"to non zero." +msgstr "" +"Płyta% d:%s Nie zaleca się używania do druku filamentu %s(%s). Jeśli nadal " +"chcesz wydrukować ten filament, ustaw temperaturę stołu dla tego filamentu " +"na większą niż zero." msgid "Switching the language requires application restart.\n" msgstr "Zmiana języka wymaga ponownego uruchomienia aplikacji.\n" @@ -5920,7 +6504,9 @@ msgid "Language selection" msgstr "Wybór języka" msgid "Switching application language while some presets are modified." -msgstr "Zmiana języka aplikacji przy jednoczesnym istniejących zmodyfikowanych ustawieniach." +msgstr "" +"Zmiana języka aplikacji przy jednoczesnym istniejących zmodyfikowanych " +"ustawieniach." msgid "Changing application language" msgstr "Zmiana języka aplikacji" @@ -5964,8 +6550,13 @@ msgstr "Region Logowania" msgid "Stealth Mode" msgstr "Tryb \"Niewidzialny\"" -msgid "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." -msgstr "Zatrzymuje to transmisję danych do chmury Bambu. Użytkownicy, którzy nie korzystają z maszyn BBL lub używają tylko trybu LAN, mogą bezpiecznie włączyć tę funkcję." +msgid "" +"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." +msgstr "" +"Zatrzymuje to transmisję danych do chmury Bambu. Użytkownicy, którzy nie " +"korzystają z maszyn BBL lub używają tylko trybu LAN, mogą bezpiecznie " +"włączyć tę funkcję." msgid "Enable network plugin" msgstr "Włącz wtyczkę sieciową (BambuLab)" @@ -5985,11 +6576,23 @@ msgstr "Jednostki" msgid "Allow only one OrcaSlicer instance" msgstr "Zezwól tylko na jedną instancję programu 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 "W systemie macOS domyślnie działa tylko jedna instancja aplikacji. Jednak z wiersza poleceń można uruchomić kilka instancji tej samej aplikacji. W takim przypadku te ustawienia umożliwią działanie tylko jednej instancji." +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 "" +"W systemie macOS domyślnie działa tylko jedna instancja aplikacji. Jednak z " +"wiersza poleceń można uruchomić kilka instancji tej samej aplikacji. W takim " +"przypadku te ustawienia umożliwią działanie tylko jednej instancji." -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 "Jeśli ta opcja jest włączona, po uruchomieniu OrcaSlicer, gdy inna instancja tego samego OrcaSlicer jest już uruchomiona, ta instancja zostanie ponownie aktywowana." +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 "" +"Jeśli ta opcja jest włączona, po uruchomieniu OrcaSlicer, gdy inna instancja " +"tego samego OrcaSlicer jest już uruchomiona, ta instancja zostanie ponownie " +"aktywowana." msgid "Home" msgstr "Strona główna" @@ -6018,14 +6621,19 @@ msgstr "" msgid "Zoom to mouse position" msgstr "Powiększ do pozycji myszki" -msgid "Zoom in towards the mouse pointer's position in the 3D view, rather than the 2D window center." -msgstr "Powiększ do pozycji wskaźnika myszy w widoku 3D, zamiast do środka okna 2D." +msgid "" +"Zoom in towards the mouse pointer's position in the 3D view, rather than the " +"2D window center." +msgstr "" +"Powiększ do pozycji wskaźnika myszy w widoku 3D, zamiast do środka okna 2D." msgid "Use free camera" msgstr "Użyj swobodnej kamery" msgid "If enabled, use free camera. If not enabled, use constrained camera." -msgstr "Jeśli włączone, to używany będzie wolny widok. Jeśli wyłączone, to widok będzie ograniczony." +msgstr "" +"Jeśli włączone, to używany będzie wolny widok. Jeśli wyłączone, to widok " +"będzie ograniczony." msgid "Reverse mouse zoom" msgstr "Odwrócone przybliżanie myszką" @@ -6046,34 +6654,52 @@ msgid "If enabled, useful hints are displayed at startup." msgstr "Jeśli włączone, przy uruchamianiu wyświetlane są przydatne wskazówki." msgid "Flushing volumes: Auto-calculate everytime the color changed." -msgstr "Objętości płukania: Automatyczne obliczanie za każdym razem, gdy zmieni się kolor" +msgstr "" +"Objętości płukania: Automatyczne obliczanie za każdym razem, gdy zmieni się " +"kolor" msgid "If enabled, auto-calculate everytime the color changed." -msgstr "Jeśli włączone, automatyczne obliczanie za każdym razem, gdy zmieni się kolor" +msgstr "" +"Jeśli włączone, automatyczne obliczanie za każdym razem, gdy zmieni się kolor" -msgid "Flushing volumes: Auto-calculate every time when the filament is changed." -msgstr "Objętości płukania: Automatycznie obliczaj za każdym razem, gdy zmieniany jest filament" +msgid "" +"Flushing volumes: Auto-calculate every time when the filament is changed." +msgstr "" +"Objętości płukania: Automatycznie obliczaj za każdym razem, gdy zmieniany " +"jest filament" msgid "If enabled, auto-calculate every time when filament is changed" -msgstr "Jeśli ta opcja jest włączona, automatycznie obliczaj za każdym razem, gdy zmieniany jest filament." +msgstr "" +"Jeśli ta opcja jest włączona, automatycznie obliczaj za każdym razem, gdy " +"zmieniany jest filament." msgid "Remember printer configuration" msgstr "Zapamiętaj konfigurację drukarki" -msgid "If enabled, Orca will remember and switch filament/process configuration for each printer automatically." -msgstr "Jeśli ta opcja jest włączona, Orca będzie automatycznie zapamiętywać i przełączać konfigurację filamentu/procesu dla każdej drukarki." +msgid "" +"If enabled, Orca will remember and switch filament/process configuration for " +"each printer automatically." +msgstr "" +"Jeśli ta opcja jest włączona, Orca będzie automatycznie zapamiętywać i " +"przełączać konfigurację filamentu/procesu dla każdej drukarki." -msgid "Multi-device Management(Take effect after restarting Studio)." -msgstr "Obsługa wielu urządzeń (zacznie być aktywna po ponownym uruchomieniu Slicera)" +msgid "Multi-device Management(Take effect after restarting Orca)." +msgstr "" +"Obsługa wielu urządzeń (zacznie być aktywna po ponownym uruchomieniu Slicera)" -msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." -msgstr "Dzięki tej opcji możesz wysyłać zadania do wielu urządzeń jednocześnie i zarządzać nimi." +msgid "" +"With this option enabled, you can send a task to multiple devices at the " +"same time and manage multiple devices." +msgstr "" +"Dzięki tej opcji możesz wysyłać zadania do wielu urządzeń jednocześnie i " +"zarządzać nimi." msgid "Network" msgstr "Sieć" msgid "Auto sync user presets(Printer/Filament/Process)" -msgstr "Automatyczna synchronizacja profili użytkownika (Drukarka/Filament/Proces)" +msgstr "" +"Automatyczna synchronizacja profili użytkownika (Drukarka/Filament/Proces)" msgid "User Sync" msgstr "Synchronizacja użytkownika" @@ -6094,19 +6720,25 @@ msgid "Associate .3mf files to OrcaSlicer" msgstr "Skojarz pliki .3mf z OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .3mf files" -msgstr "Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania plików .3mf" +msgstr "" +"Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania " +"plików .3mf" msgid "Associate .stl files to OrcaSlicer" msgstr "Skojarz pliki .stl z OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .stl files" -msgstr "Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania plików .stl" +msgstr "" +"Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania " +"plików .stl" msgid "Associate .step/.stp files to OrcaSlicer" msgstr "Skojarz pliki .step/.stp z OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .step files" -msgstr "Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania plików .step" +msgstr "" +"Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania " +"plików .step" msgid "Maximum recent projects" msgstr "Maksymalna liczba ostatnich projektów" @@ -6123,8 +6755,11 @@ msgstr "Brak ostrzeżeń przy wczytywaniu plików 3MF z zmodyfikowanymi G-code" msgid "Auto-Backup" msgstr "Auto-Zapis" -msgid "Backup your project periodically for restoring from the occasional crash." -msgstr "Wykonuj okresowe kopie zapasowe projektu w celu przywracania po sporadycznych awariach." +msgid "" +"Backup your project periodically for restoring from the occasional crash." +msgstr "" +"Wykonuj okresowe kopie zapasowe projektu w celu przywracania po " +"sporadycznych awariach." msgid "every" msgstr "każdy" @@ -6276,9 +6911,6 @@ msgstr "Wybierz/Usuń drukarki (profile systemowe)" msgid "Create printer" msgstr "Utwórz drukarkę" -msgid "Incompatible" -msgstr "Niekompatybilne" - msgid "The selected preset is null!" msgstr "Wybrany profil jest pusty!" @@ -6385,7 +7017,8 @@ msgstr "Profil \"%1%\" już istnieje." #, boost-format msgid "Preset \"%1%\" already exists and is incompatible with current printer." -msgstr "Profil \"%1%\" już istnieje i jest niekompatybilny z aktualną drukarką." +msgstr "" +"Profil \"%1%\" już istnieje i jest niekompatybilny z aktualną drukarką." msgid "Please note that saving action will replace this preset" msgstr "Zwróć uwagę, że zapisanie spowoduje zastąpienie tego profilu" @@ -6487,7 +7120,8 @@ msgid "Error code" msgstr "Kod błędu" msgid "Printer local connection failed, please try again." -msgstr "Nie udało się nawiązać lokalnego połączenia z drukarką, spróbuj ponownie." +msgstr "" +"Nie udało się nawiązać lokalnego połączenia z drukarką, spróbuj ponownie." msgid "No login account, only printers in LAN mode are displayed" msgstr "Bez logowania na koncie, wyświetlane są tylko drukarki w trybie LAN" @@ -6502,49 +7136,89 @@ msgid "Synchronizing device information time out" msgstr "Upłynął czas synchronizacji informacji o urządzeniu" msgid "Cannot send the print job when the printer is updating firmware" -msgstr "Nie można wysłać zadania do druku, gdy drukarka aktualizuje oprogramowanie" +msgstr "" +"Nie można wysłać zadania do druku, gdy drukarka aktualizuje oprogramowanie" -msgid "The printer is executing instructions. Please restart printing after it ends" -msgstr "Drukarka wykonuje instrukcje. Proszę wznowić drukowanie po ich zakończeniu" +msgid "" +"The printer is executing instructions. Please restart printing after it ends" +msgstr "" +"Drukarka wykonuje instrukcje. Proszę wznowić drukowanie po ich zakończeniu" msgid "The printer is busy on other print job" msgstr "Drukarka jest zajęta innym zadaniem drukowania" #, c-format, boost-format -msgid "Filament %s exceeds the number of AMS slots. Please update the printer firmware to support AMS slot assignment." -msgstr "Filament %s przekracza liczbę slotów AMS. Proszę zaktualizować oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." +msgid "" +"Filament %s exceeds the number of AMS slots. Please update the printer " +"firmware to support AMS slot assignment." +msgstr "" +"Filament %s przekracza liczbę slotów AMS. Proszę zaktualizować " +"oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." -msgid "Filament exceeds the number of AMS slots. Please update the printer firmware to support AMS slot assignment." -msgstr "Filament przekracza liczbę slotów AMS. Proszę zaktualizować oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." +msgid "" +"Filament exceeds the number of AMS slots. Please update the printer firmware " +"to support AMS slot assignment." +msgstr "" +"Filament przekracza liczbę slotów AMS. Proszę zaktualizować oprogramowanie " +"drukarki, aby obsługiwało przypisywanie slotów AMS." -msgid "Filaments to AMS slots mappings have been established. You can click a filament above to change its mapping AMS slot" -msgstr "Ustalono przyporządkowanie filamentów do gniazd w AMS. Możesz kliknąć na dowolny filament powyżej, aby zmienić jego przypisanie do innego gniazda w AMS" +msgid "" +"Filaments to AMS slots mappings have been established. You can click a " +"filament above to change its mapping AMS slot" +msgstr "" +"Ustalono przyporządkowanie filamentów do gniazd w AMS. Możesz kliknąć na " +"dowolny filament powyżej, aby zmienić jego przypisanie do innego gniazda w " +"AMS" -msgid "Please click each filament above to specify its mapping AMS slot before sending the print job" -msgstr "Proszę kliknąć na każdy filament powyżej, aby określić jego przypisany slot AMS przed wysłaniem zadania druku" +msgid "" +"Please click each filament above to specify its mapping AMS slot before " +"sending the print job" +msgstr "" +"Proszę kliknąć na każdy filament powyżej, aby określić jego przypisany slot " +"AMS przed wysłaniem zadania druku" #, c-format, 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 "Filament %s nie pasuje do filamentu w slocie AMS %s. Proszę zaktualizować oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." +msgid "" +"Filament %s does not match the filament in AMS slot %s. Please update the " +"printer firmware to support AMS slot assignment." +msgstr "" +"Filament %s nie pasuje do filamentu w slocie AMS %s. Proszę zaktualizować " +"oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." -msgid "Filament does not match the filament in AMS slot. Please update the printer firmware to support AMS slot assignment." -msgstr "Filament nie pasuje do filamentu w slocie AMS. Proszę zaktualizować oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." +msgid "" +"Filament does not match the filament in AMS slot. Please update the printer " +"firmware to support AMS slot assignment." +msgstr "" +"Filament nie pasuje do filamentu w slocie AMS. Proszę zaktualizować " +"oprogramowanie drukarki, aby obsługiwało przypisywanie slotów AMS." -msgid "The printer firmware only supports sequential mapping of filament => AMS slot." -msgstr "Oprogramowanie drukarki obsługuje tylko sekwencyjne mapowanie filamentu => slot AMS." +msgid "" +"The printer firmware only supports sequential mapping of filament => AMS " +"slot." +msgstr "" +"Oprogramowanie drukarki obsługuje tylko sekwencyjne mapowanie filamentu => " +"slot AMS." msgid "An SD card needs to be inserted before printing." msgstr "Przed rozpoczęciem drukowania należy włożyć kartę SD." #, c-format, boost-format -msgid "The selected printer (%s) is incompatible with the chosen printer profile in the slicer (%s)." -msgstr "Wybrana drukarka (%s) jest niezgodna z wybranym profilem drukarki w programie (%s)." +msgid "" +"The selected printer (%s) is incompatible with the chosen printer profile in " +"the slicer (%s)." +msgstr "" +"Wybrana drukarka (%s) jest niezgodna z wybranym profilem drukarki w " +"programie (%s)." msgid "An SD card needs to be inserted to record timelapse." msgstr "Aby nagrywać timelapse, należy włożyć kartę SD." -msgid "Cannot send the print job to a printer whose firmware is required to get updated." -msgstr "Nie można wysłać zadania druku do drukarki, której oprogramowanie wymaga aktualizacji." +msgid "" +"Cannot send the print job to a printer whose firmware is required to get " +"updated." +msgstr "" +"Nie można wysłać zadania druku do drukarki, której oprogramowanie wymaga " +"aktualizacji." msgid "Cannot send the print job for empty plate" msgstr "Nie można wysłać zadania druku dla pustej płyty" @@ -6552,11 +7226,18 @@ msgstr "Nie można wysłać zadania druku dla pustej płyty" msgid "This printer does not support printing all plates" msgstr "Ta drukarka nie obsługuje drukowania na wszystkich płytach" -msgid "When enable spiral vase mode, machines with I3 structure will not generate timelapse videos." -msgstr "Po włączeniu trybu 'spiralna waza', maszyny o strukturze I3 nie będą generować filmów timelapse." +msgid "" +"When enable spiral vase mode, machines with I3 structure will not generate " +"timelapse videos." +msgstr "" +"Po włączeniu trybu 'spiralna waza', maszyny o strukturze I3 nie będą " +"generować filmów timelapse." -msgid "Timelapse is not supported because Print sequence is set to \"By object\"." -msgstr "Timelapse nie jest obsługiwany, ponieważ sekwencja druku jest ustawiona na \"Obiekt po obiekcie\"." +msgid "" +"Timelapse is not supported because Print sequence is set to \"By object\"." +msgstr "" +"Timelapse nie jest obsługiwany, ponieważ sekwencja druku jest ustawiona na " +"\"Obiekt po obiekcie\"." msgid "Errors" msgstr "Błędy" @@ -6564,11 +7245,22 @@ msgstr "Błędy" msgid "Please check the following:" msgstr "Proszę sprawdzić następujące rzeczy:" -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 "Typ drukarki wybrany podczas generowania G-code nie jest zgodny z aktualnie wybraną drukarką. Zaleca się używanie tego samego typu drukarki do cięcia." +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 "" +"Typ drukarki wybrany podczas generowania G-code nie jest zgodny z aktualnie " +"wybraną drukarką. Zaleca się używanie tego samego typu drukarki do cięcia." -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 "W mapowaniu AMS znajdują się nieznane filamenty. Proszę sprawdzić, czy są to wymagane filamenty. Jeśli wszystko jest w porządku, naciśnij \"Potwierdź\", aby rozpocząć drukowanie." +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 "" +"W mapowaniu AMS znajdują się nieznane filamenty. Proszę sprawdzić, czy są to " +"wymagane filamenty. Jeśli wszystko jest w porządku, naciśnij \"Potwierdź\", " +"aby rozpocząć drukowanie." #, c-format, boost-format msgid "nozzle in preset: %s %s" @@ -6578,24 +7270,44 @@ msgstr "dysza w profilu: %s %s" msgid "nozzle memorized: %.1f %s" msgstr "zapamiętana dysza: %.1f %s" -msgid "Your nozzle diameter in sliced file is not consistent with memorized nozzle. If you changed your nozzle lately, please go to Device > Printer Parts to change settings." -msgstr "Średnica dyszy w przetworzonym pliku nie jest zgodna z średnicą dyszy w ustawieniach. Jeśli ostatnio zmieniłeś dyszę, przejdź do opcji Urządzenie > Części głowicy, aby zmienić to ustawienie." +msgid "" +"Your nozzle diameter in sliced file is not consistent with memorized nozzle. " +"If you changed your nozzle lately, please go to Device > Printer Parts to " +"change settings." +msgstr "" +"Średnica dyszy w przetworzonym pliku nie jest zgodna z średnicą dyszy w " +"ustawieniach. Jeśli ostatnio zmieniłeś dyszę, przejdź do opcji Urządzenie > " +"Części głowicy, aby zmienić to ustawienie." #, c-format, boost-format -msgid "Printing high temperature material(%s material) with %s may cause nozzle damage" -msgstr "Drukowanie materiału o wysokiej temperaturze (%s materiał) z %s może spowodować uszkodzenie dyszy." +msgid "" +"Printing high temperature material(%s material) with %s may cause nozzle " +"damage" +msgstr "" +"Drukowanie materiału o wysokiej temperaturze (%s materiał) z %s może " +"spowodować uszkodzenie dyszy." msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "Proszę naprawić powyższy błąd, w przeciwnym razie drukowanie nie może być kontynuowane." +msgstr "" +"Proszę naprawić powyższy błąd, w przeciwnym razie drukowanie nie może być " +"kontynuowane." -msgid "Please click the confirm button if you still want to proceed with printing." -msgstr "Proszę nacisnąć przycisk potwierdzenia, jeśli nadal chcesz kontynuować drukowanie." +msgid "" +"Please click the confirm button if you still want to proceed with printing." +msgstr "" +"Proszę nacisnąć przycisk potwierdzenia, jeśli nadal chcesz kontynuować " +"drukowanie." -msgid "Connecting to the printer. Unable to cancel during the connection process." +msgid "" +"Connecting to the printer. Unable to cancel during the connection process." msgstr "Łączenie z drukarką. Nie można anulować w trakcie procesu łączenia." -msgid "Caution to use! Flow calibration on Textured PEI Plate may fail due to the scattered surface." -msgstr "Ostrożnie! Kalibracja przepływu na Texture PEI może nie powieść się z powodu nierównomiernie rozłożonej powierzchni." +msgid "" +"Caution to use! Flow calibration on Textured PEI Plate may fail due to the " +"scattered surface." +msgstr "" +"Ostrożnie! Kalibracja przepływu na Texture PEI może nie powieść się z powodu " +"nierównomiernie rozłożonej powierzchni." msgid "Automatic flow calibration using Micro Lidar" msgstr "Automatyczna kalibracja przepływu za pomocą mikrolidaru" @@ -6613,7 +7325,8 @@ msgid "Cannot send the print task when the upgrade is in progress" msgstr "Nie można wysłać zadania druku podczas aktualizacji" msgid "The selected printer is incompatible with the chosen printer presets." -msgstr "Wybrana drukarka jest niekompatybilna z wybranymi ustawieniami drukarki." +msgstr "" +"Wybrana drukarka jest niekompatybilna z wybranymi ustawieniami drukarki." msgid "An SD card needs to be inserted before send to printer SD card." msgstr "Przed wysłaniem na kartę SD drukarki, należy włożyć kartę SD." @@ -6694,8 +7407,19 @@ msgstr "Przeczytaj i zaakceptuj" msgid "Terms and Conditions" msgstr "Warunki i zasady" -msgid "Thank you for purchasing a Bambu Lab device.Before using your Bambu Lab device, please read the termsand conditions.By clicking to agree to use your Bambu Lab device, you agree to abide by the Privacy Policyand 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 "Dziękujemy za zakup urządzenia Bambu Lab. Przed użyciem urządzenia Bambu Lab proszę przeczytać warunki i zasady. Klikając, aby zgodzić się na używanie urządzenia Bambu Lab, zgadzasz się przestrzegać Polityki Prywatności i Warunków Użytkowania (razem \"Warunki\"). Jeśli nie zgadzasz się lub nie przestrzegasz Polityki Prywatności Bambu Lab, proszę nie używać sprzętu i usług Bambu Lab." +msgid "" +"Thank you for purchasing a Bambu Lab device.Before using your Bambu Lab " +"device, please read the termsand conditions.By clicking to agree to use your " +"Bambu Lab device, you agree to abide by the Privacy Policyand 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 "" +"Dziękujemy za zakup urządzenia Bambu Lab. Przed użyciem urządzenia Bambu Lab " +"proszę przeczytać warunki i zasady. Klikając, aby zgodzić się na używanie " +"urządzenia Bambu Lab, zgadzasz się przestrzegać Polityki Prywatności i " +"Warunków Użytkowania (razem \"Warunki\"). Jeśli nie zgadzasz się lub nie " +"przestrzegasz Polityki Prywatności Bambu Lab, proszę nie używać sprzętu i " +"usług Bambu Lab." msgid "and" msgstr "i" @@ -6710,8 +7434,31 @@ msgid "Statement about User Experience Improvement Program" msgstr "Oświadczenie o programie poprawy doświadczenia użytkownika" #, c-format, 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 "W społeczności druku 3D uczymy się od siebie nawzajem, korzystając z sukcesów i porażek, aby dostosować nasze parametry i ustawienia cięcia. %s stosuje tę samą zasadę i wykorzystuje uczenie maszynowe do poprawy swojej wydajności na podstawie sukcesów i porażek ogromnej liczby wydruków naszych użytkowników. Szkolimy %s, aby było mądrzejsze, dostarczając mu danych z rzeczywistego świata. Jeśli wyrażasz zgodę, ta usługa uzyska dostęp do informacji z Twoich logów błędów i dzienników użycia, które mogą zawierać informacje opisane w Polityce Prywatności. Nie będziemy zbierać żadnych danych osobowych, dzięki którym można by bezpośrednio lub pośrednio zidentyfikować osobę, w tym między innymi nanawisk, adresów, informacji o płatnościach czy numerów telefonów. Włączając tę usługę, zgadzasz się na te warunki i oświadczenie o Polityce Prywatności." +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 "" +"W społeczności druku 3D uczymy się od siebie nawzajem, korzystając z " +"sukcesów i porażek, aby dostosować nasze parametry i ustawienia cięcia. %s " +"stosuje tę samą zasadę i wykorzystuje uczenie maszynowe do poprawy swojej " +"wydajności na podstawie sukcesów i porażek ogromnej liczby wydruków naszych " +"użytkowników. Szkolimy %s, aby było mądrzejsze, dostarczając mu danych z " +"rzeczywistego świata. Jeśli wyrażasz zgodę, ta usługa uzyska dostęp do " +"informacji z Twoich logów błędów i dzienników użycia, które mogą zawierać " +"informacje opisane w Polityce Prywatności. Nie będziemy zbierać żadnych " +"danych osobowych, dzięki którym można by bezpośrednio lub pośrednio " +"zidentyfikować osobę, w tym między innymi nanawisk, adresów, informacji o " +"płatnościach czy numerów telefonów. Włączając tę usługę, zgadzasz się na te " +"warunki i oświadczenie o Polityce Prywatności." msgid "Statement on User Experience Improvement Plan" msgstr "Oświadczenie o planie poprawy doświadczenia użytkownika" @@ -6746,23 +7493,35 @@ msgid "Search in preset" msgstr "Szukaj w profilu" msgid "Click to reset all settings to the last saved preset." -msgstr "Kliknij, aby zresetować wszystkie ustawienia do ostatnio zapisanego profilu." +msgstr "" +"Kliknij, aby zresetować wszystkie ustawienia do ostatnio zapisanego profilu." -msgid "Prime tower is required for smooth timeplase. There may be flaws on the model without prime tower. Are you sure you want to disable prime tower?" -msgstr "Wieża czyszcząca jest wymagana dla płynnego timelapse'u. Możliwe są wady na modelu bez wieży czyszczącej. Czy na pewno chcesz ją wyłączyć?" +msgid "" +"Prime tower is required for smooth timeplase. There may be flaws on the " +"model without prime tower. Are you sure you want to disable prime tower?" +msgstr "" +"Wieża czyszcząca jest wymagana dla płynnego timelapse'u. Możliwe są wady na " +"modelu bez wieży czyszczącej. Czy na pewno chcesz ją wyłączyć?" -msgid "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 "Wieża czyszcząca jest wymagana dla płynnego timelapse'u. Możliwe są wady na modelu bez wieży czyszczącej. Czy chcesz włączyć wieżę czyszczącą?" +msgid "" +"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 "" +"Wieża czyszcząca jest wymagana dla płynnego timelapse'u. Możliwe są wady na " +"modelu bez wieży czyszczącej. Czy chcesz włączyć wieżę czyszczącą?" msgid "Still print by object?" msgstr "Czy nadal drukować według obiektu?" msgid "" -"We have added an experimental style \"Tree Slim\" that features smaller support volume but weaker strength.\n" +"We have added an experimental style \"Tree Slim\" that features smaller " +"support volume but weaker strength.\n" "We recommend using it with: 0 interface layers, 0 top distance, 2 walls." msgstr "" -"Dodaliśmy eksperymentalny styl \"Cienkie Drzewo\", który charakteryzuje się mniejszą objętością podpór, ale i słabszą wytrzymałością.\n" -"Zalecamy używanie go z: 0 warstw łączących, 0 odległością od góry, 2 ścianami." +"Dodaliśmy eksperymentalny styl \"Cienkie Drzewo\", który charakteryzuje się " +"mniejszą objętością podpór, ale i słabszą wytrzymałością.\n" +"Zalecamy używanie go z: 0 warstw łączących, 0 odległością od góry, 2 " +"ścianami." msgid "" "Change these settings automatically? \n" @@ -6773,18 +7532,35 @@ msgstr "" "Tak - Zmień te ustawienia automatycznie\n" "Nie - Nie zmieniaj tych ustawień dla mnie" -msgid "For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following settings: at least 2 interface layers, at least 0.1mm top z distance or using support materials on interface." -msgstr "Dla stylów \"Drzewo Grube\" i \"Drzewo Hybrydowe\" zalecamy następujące ustawienia: co najmniej 2 warstwy łączące, co najmniej 0,1 mm odległości od góry lub używanie materiałów podporowych na łączeniach." +msgid "" +"For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following " +"settings: at least 2 interface layers, at least 0.1mm top z distance or " +"using support materials on interface." +msgstr "" +"Dla stylów \"Drzewo Grube\" i \"Drzewo Hybrydowe\" zalecamy następujące " +"ustawienia: co najmniej 2 warstwy łączące, co najmniej 0,1 mm odległości od " +"góry lub używanie materiałów podporowych na łączeniach." msgid "" -"When using support material for the support interface, We recommend the following settings:\n" -"0 top z distance, 0 interface spacing, concentric pattern and disable independent support layer height" +"When using support material for the support interface, We recommend the " +"following settings:\n" +"0 top z distance, 0 interface spacing, concentric pattern and disable " +"independent support layer height" msgstr "" -"Przy użyciu materiału podporowego do warstw łączących podpory zalecamy następujące ustawienia:\n" -"0 odległość osu Z od góry, 0 odstęp warstwy łączącej, wzór koncentryczny i wyłączenie niezależnej wysokości warstwy podpory" +"Przy użyciu materiału podporowego do warstw łączących podpory zalecamy " +"następujące ustawienia:\n" +"0 odległość osu Z od góry, 0 odstęp warstwy łączącej, wzór koncentryczny i " +"wyłączenie niezależnej wysokości warstwy podpory" -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 "Włączenie tej opcji spowoduje zmianę kształtu modelu. Jeśli druk wymaga precyzyjnych wymiarów lub jest częścią złożonego projektu, ważne jest dokładne sprawdzenie, czy ta zmiana geometrii nie wpłynie na funkcjonalność druku." +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 "" +"Włączenie tej opcji spowoduje zmianę kształtu modelu. Jeśli druk wymaga " +"precyzyjnych wymiarów lub jest częścią złożonego projektu, ważne jest " +"dokładne sprawdzenie, czy ta zmiana geometrii nie wpłynie na funkcjonalność " +"druku." msgid "Are you sure you want to enable this option?" msgstr "Czy na pewno chcesz włączyć tę opcję?" @@ -6796,8 +7572,12 @@ msgstr "" "Wysokość warstwy jest zbyt mała.\n" "Ustawione zostanie na min_layer_height\n" -msgid "Layer height exceeds the limit in Printer Settings -> Extruder -> Layer height limits ,this may cause printing quality issues." -msgstr "Wysokość warstwy przekracza limit w Ustawieniach Drukarki -> Extruder -> Limity wysokości warstwy, co może powodować problemy z jakością druku." +msgid "" +"Layer height exceeds the limit in Printer Settings -> Extruder -> Layer " +"height limits ,this may cause printing quality issues." +msgstr "" +"Wysokość warstwy przekracza limit w Ustawieniach Drukarki -> Extruder -> " +"Limity wysokości warstwy, co może powodować problemy z jakością druku." msgid "Adjust to the set range automatically? \n" msgstr "Dostosować automatycznie do ustawionego zakresu? \n" @@ -6808,18 +7588,39 @@ msgstr "Dostosuj" msgid "Ignore" msgstr "Ignoruj" -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 "Funkcja eksperymentalna: Polega na wycofywaniu filamentu na większą odległość w celu zminimalizowania płukania, a następne jego odcięcie. Choć może to znacząco zmniejszyć ilość zużytego filamentu, może również zwiększyć ryzyko zatknięcia dyszy lub innych problemów z drukowaniem." - -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 "Funkcja eksperymentalna: Polega na wycofywaniu filamentu na większą odległość w celu zminimalizowania płukania, a następne jego odcięcie. Choć może to znacząco zmniejszyć ilość zużytego filamentu, może również zwiększyć ryzyko zatknięcia dyszy lub innych problemów z drukowaniem. Proszę używać z najnowszym oprogramowaniem drukarki." +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 "" +"Funkcja eksperymentalna: Polega na wycofywaniu filamentu na większą " +"odległość w celu zminimalizowania płukania, a następne jego odcięcie. Choć " +"może to znacząco zmniejszyć ilość zużytego filamentu, może również zwiększyć " +"ryzyko zatknięcia dyszy lub innych problemów z drukowaniem." 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\"." +"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 "" -"Podczas nagrywania timelapse'a bez głowicy drukującej zaleca się dodanie \"Timelaps - Wieża Czyszcząca\" \n" -"przez kliknięcie prawym przyciskiem myszy na pustym miejscu płyty i wybranie \"Dodaj Prymityw\"->\"Timelaps - Wieża Czyszcząca\"." +"Funkcja eksperymentalna: Polega na wycofywaniu filamentu na większą " +"odległość w celu zminimalizowania płukania, a następne jego odcięcie. Choć " +"może to znacząco zmniejszyć ilość zużytego filamentu, może również zwiększyć " +"ryzyko zatknięcia dyszy lub innych problemów z drukowaniem. Proszę używać z " +"najnowszym oprogramowaniem drukarki." + +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 "" +"Podczas nagrywania timelapse'a bez głowicy drukującej zaleca się dodanie " +"\"Timelaps - Wieża Czyszcząca\" \n" +"przez kliknięcie prawym przyciskiem myszy na pustym miejscu płyty i wybranie " +"\"Dodaj Prymityw\"->\"Timelaps - Wieża Czyszcząca\"." msgid "Line width" msgstr "Szerokość linii" @@ -6857,8 +7658,14 @@ msgstr "Szybkość innych warstw" msgid "Overhang speed" msgstr "Szybkość drukowania nawisów" -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 "To jest prędkość dla różnych stopni nawisu. Stopnie nawisu są wyrażane jako procent szerokości linii. Prędkość 0 oznacza brak spowolnienia, a używana jest prędkość ściany" +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 "" +"To jest prędkość dla różnych stopni nawisu. Stopnie nawisu są wyrażane jako " +"procent szerokości linii. Prędkość 0 oznacza brak spowolnienia, a używana " +"jest prędkość ściany" msgid "Bridge" msgstr "Mosty" @@ -6884,6 +7691,9 @@ msgstr "Filament podpory" msgid "Tree supports" msgstr "Drzewo" +msgid "Skirt" +msgstr "Skirt" + msgid "Prime tower" msgstr "Wieża czyszcząca" @@ -6905,19 +7715,24 @@ msgstr "Cz.używ." #, c-format, boost-format msgid "" "Following line %s contains reserved keywords.\n" -"Please remove it, or will beat G-code visualization and printing time estimation." +"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." +"Please remove them, or will beat G-code visualization and printing time " +"estimation." msgstr[0] "" "Następująca linia %s zawiera zarezerwowane słowa kluczowe.\n" -"Proszę ją usunąć, inaczej może to zakłócić wizualizację G-code i oszacowanie czasu druku." +"Proszę ją usunąć, inaczej może to zakłócić wizualizację G-code i oszacowanie " +"czasu druku." msgstr[1] "" "Następujące %s linie zawierają zarezerwowane słowa kluczowe.\n" -"Proszę je usunąć, inaczej może to zakłócić wizualizację G-code i oszacowanie czasu druku." +"Proszę je usunąć, inaczej może to zakłócić wizualizację G-code i oszacowanie " +"czasu druku." msgstr[2] "" "Następujące %s linii zawiera zarezerwowane słowa kluczowe.\n" -"Proszę je usunąć, inaczej może to zakłócić wizualizację G-code i oszacowanie czasu druku." +"Proszę je usunąć, inaczej może to zakłócić wizualizację G-code i oszacowanie " +"czasu druku." msgid "Reserved keywords found" msgstr "Znaleziono zarezerwowane słowa kluczowe" @@ -6935,7 +7750,8 @@ msgid "Recommended nozzle temperature" msgstr "Zalecana temperatura dyszy" msgid "Recommended nozzle temperature range of this filament. 0 means no set" -msgstr "Zalecany zakres temperatury dyszy dla tego filamentu. 0 oznacza brak ustawień" +msgstr "" +"Zalecany zakres temperatury dyszy dla tego filamentu. 0 oznacza brak ustawień" msgid "Print chamber temperature" msgstr "Temperatura komory druku" @@ -6952,26 +7768,44 @@ msgstr "Temperatura dyszy podczas druku" msgid "Cool plate" msgstr "Cool plate / PLA Plate" -msgid "Bed temperature when cool plate is installed. Value 0 means the filament does not support to print on the Cool Plate" -msgstr "Temperatura stołu, gdy zainstalowana jest Cool Plate. Wartość 0 oznacza, że filament nie jest przystosowany do druku na Cool Plate" +msgid "" +"Bed temperature when cool plate is installed. Value 0 means the filament " +"does not support to print on the Cool Plate" +msgstr "" +"Temperatura stołu, gdy zainstalowana jest Cool Plate. Wartość 0 oznacza, że " +"filament nie jest przystosowany do druku na Cool Plate" msgid "Engineering plate" msgstr "Engineering Plate" -msgid "Bed temperature when engineering plate is installed. Value 0 means the filament does not support to print on the Engineering Plate" -msgstr "Temperatura stołu, gdy zainstalowana jest Engineering Plate. Wartość 0 oznacza, że filament nie jest przystosowany do druku na Engineering Plate" +msgid "" +"Bed temperature when engineering plate is installed. Value 0 means the " +"filament does not support to print on the Engineering Plate" +msgstr "" +"Temperatura stołu, gdy zainstalowana jest Engineering Plate. Wartość 0 " +"oznacza, że filament nie jest przystosowany do druku na Engineering Plate" msgid "Smooth PEI Plate / High Temp Plate" msgstr "Smooth PEI Plate / High Temp Plate" -msgid "Bed temperature when Smooth PEI Plate/High temperature plate is installed. Value 0 means the filament does not support to print on the Smooth PEI Plate/High Temp Plate" -msgstr "Temperatura stołu, gdy zainstalowana jest Smooth PEI Plate/High Temp Plate. Wartość 0 oznacza, że filament nie jest przystosowany do druku na Smooth PEI Plate/High Temp Plate" +msgid "" +"Bed temperature when Smooth PEI Plate/High temperature plate is installed. " +"Value 0 means the filament does not support to print on the Smooth PEI Plate/" +"High Temp Plate" +msgstr "" +"Temperatura stołu, gdy zainstalowana jest Smooth PEI Plate/High Temp Plate. " +"Wartość 0 oznacza, że filament nie jest przystosowany do druku na Smooth PEI " +"Plate/High Temp Plate" msgid "Textured PEI Plate" msgstr "Textured PEI Plate" -msgid "Bed temperature when Textured PEI Plate is installed. Value 0 means the filament does not support to print on the Textured PEI Plate" -msgstr "Temperatura stołu, gdy zainstalowana jest Textured PEI Plate. Wartość 0 oznacza, że filament nie jest przystosowany do druku na Textured PEI Plate" +msgid "" +"Bed temperature when Textured PEI Plate is installed. Value 0 means the " +"filament does not support to print on the Textured PEI Plate" +msgstr "" +"Temperatura stołu, gdy zainstalowana jest Textured PEI Plate. Wartość 0 " +"oznacza, że filament nie jest przystosowany do druku na Textured PEI Plate" msgid "Volumetric speed limitation" msgstr "Ograniczenie prędkości przepływu" @@ -6988,14 +7822,27 @@ msgstr "Wentylator chłodzący części" msgid "Min fan speed threshold" msgstr "Minimalny próg prędkości wentylatora" -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 "Prędkość wentylatora chłodzącego części zacznie pracować z minimalną prędkością, gdy szacowany czas warstwy nie będzie dłuższy niż czas warstwy w ustawieniach. Gdy czas warstwy jest krótszy niż próg, prędkość wentylatora jest interpolowana między minimalną a maksymalną prędkością wentylatora zgodnie z czasem druku warstwy" +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 "" +"Prędkość wentylatora chłodzącego części zacznie pracować z minimalną " +"prędkością, gdy szacowany czas warstwy nie będzie dłuższy niż czas warstwy w " +"ustawieniach. Gdy czas warstwy jest krótszy niż próg, prędkość wentylatora " +"jest interpolowana między minimalną a maksymalną prędkością wentylatora " +"zgodnie z czasem druku warstwy" msgid "Max fan speed threshold" msgstr "Maksymalny próg prędkości wentylatora" -msgid "Part cooling fan speed will be max when the estimated layer time is shorter than the setting value" -msgstr "Prędkość wentylatora chłodzącego części będzie maksymalna, gdy szacowany czas warstwy będzie krótszy niż wartość ustawiona" +msgid "" +"Part cooling fan speed will be max when the estimated layer time is shorter " +"than the setting value" +msgstr "" +"Prędkość wentylatora chłodzącego części będzie maksymalna, gdy szacowany " +"czas warstwy będzie krótszy niż wartość ustawiona" msgid "Auxiliary part cooling fan" msgstr "Pomocniczy wentylator chłodzący części" @@ -7119,7 +7966,8 @@ msgid "" "\n" "Shall I disable it in order to enable Firmware Retraction?" msgstr "" -"Opcja czyszczenia nie jest dostępna podczas korzystania z trybu retrakcji zaszytego w firmware. \n" +"Opcja czyszczenia nie jest dostępna podczas korzystania z trybu retrakcji " +"zaszytego w firmware. \n" "\n" "Czy powinienem ją wyłączyć, aby umożliwić włączenie retrakcji z firmware?" @@ -7130,8 +7978,12 @@ msgid "Detached" msgstr "Odłączony" #, c-format, 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 profil filamentu i %d profil procesu jest przypisany do tej drukarki. Te profile zostaną skasowane, jeśli drukarka zostanie usunięta." +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 profil filamentu i %d profil procesu jest przypisany do tej drukarki. Te " +"profile zostaną skasowane, jeśli drukarka zostanie usunięta." msgid "Presets inherited by other presets can not be deleted!" msgstr "Profile dziedziczone przez inne profile nie mogą być usunięte!" @@ -7155,10 +8007,12 @@ msgstr[2] "Następujące profile również zostaną usunięte." 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." +"If the preset corresponds to a filament currently in use on your printer, " +"please reset the filament information for that slot." msgstr "" "Czy na pewno chcesz usunąć wybrany profil? \n" -"Jeśli profil odpowiada filamentowi aktualnie używanemu w twojej drukarce, proszę zresetować informacje o filamentach dla tego slotu." +"Jeśli profil odpowiada filamentowi aktualnie używanemu w twojej drukarce, " +"proszę zresetować informacje o filamentach dla tego slotu." #, boost-format msgid "Are you sure to %1% the selected preset?" @@ -7171,10 +8025,12 @@ msgid "Set" msgstr "Ustaw" msgid "Click to reset current value and attach to the global value." -msgstr "Kliknij, aby zresetować bieżącą wartość i przypiąć ją do wartości globalnej." +msgstr "" +"Kliknij, aby zresetować bieżącą wartość i przypiąć ją do wartości globalnej." msgid "Click to drop current modify and reset to saved value." -msgstr "Kliknij, aby odrzucić bieżące zmiany i zresetować do zapisanej wartości." +msgstr "" +"Kliknij, aby odrzucić bieżące zmiany i zresetować do zapisanej wartości." msgid "Process Settings" msgstr "Ustawienia procesu" @@ -7242,12 +8098,20 @@ msgid "Preset \"%1%\" contains the following unsaved changes:" msgstr "Profil \"%1%\" zawiera następujące niezapisane zmiany:" #, boost-format -msgid "Preset \"%1%\" is not compatible with the new printer profile and it contains the following unsaved changes:" -msgstr "Profil \"%1%\" nie jest kompatybilny z nowym profilem drukarki i zawiera następujące niezapisane zmiany:" +msgid "" +"Preset \"%1%\" is not compatible with the new printer profile and it " +"contains the following unsaved changes:" +msgstr "" +"Profil \"%1%\" nie jest kompatybilny z nowym profilem drukarki i zawiera " +"następujące niezapisane zmiany:" #, boost-format -msgid "Preset \"%1%\" is not compatible with the new process profile and it contains the following unsaved changes:" -msgstr "Profil \"%1%\" nie jest kompatybilny z nowym profilem procesu i zawiera następujące niezapisane zmiany:" +msgid "" +"Preset \"%1%\" is not compatible with the new process profile and it " +"contains the following unsaved changes:" +msgstr "" +"Profil \"%1%\" nie jest kompatybilny z nowym profilem procesu i zawiera " +"następujące niezapisane zmiany:" #, boost-format msgid "You have changed some settings of preset \"%1%\". " @@ -7262,20 +8126,24 @@ msgstr "" 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." +"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" -"Możesz zapisać lub odrzucić zmodyfikowane wartości profilu, lub kontynuować ich używanie w nowym profilu." +"Możesz zapisać lub odrzucić zmodyfikowane wartości profilu, lub kontynuować " +"ich używanie w nowym profilu." msgid "You have previously modified your settings." msgstr "Wcześniej zmodyfikowałeś swoje ustawienia." msgid "" "\n" -"You can discard the preset values you have modified, or choose to transfer the modified values to the new project" +"You can discard the preset values you have modified, or choose to transfer " +"the modified values to the new project" msgstr "" "\n" -"Możesz zapisać lub odrzucić zmodyfikowane wartości w profilu, lub kontynuować ich używanie w nowym profilu" +"Możesz zapisać lub odrzucić zmodyfikowane wartości w profilu, lub " +"kontynuować ich używanie w nowym profilu" msgid "Extruders count" msgstr "Liczba extruderów" @@ -7292,21 +8160,31 @@ msgstr "Pokaż wszystkie profile (łącznie z niekompatybilnymi)" msgid "Select presets to compare" msgstr "Wybierz profile do porównania" -msgid "You can only transfer to current active profile because it has been modified." -msgstr "Możesz przenieść tylko do aktualnie aktywnego profilu, ponieważ został on zmodyfikowany." +msgid "" +"You can only transfer to current active profile because it has been modified." +msgstr "" +"Możesz przenieść tylko do aktualnie aktywnego profilu, ponieważ został on " +"zmodyfikowany." 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." +"Note: New modified presets will be selected in settings tabs after close " +"this dialog." msgstr "" "Przenieś wybrane opcje z lewego zestawu ustawień do prawego.\n" -"Uwaga: nowe, zmodyfikowane ustawienia zostaną wybrane w zakładkach ustawień po zamknięciu tego okna dialogowego." +"Uwaga: nowe, zmodyfikowane ustawienia zostaną wybrane w zakładkach ustawień " +"po zamknięciu tego okna dialogowego." msgid "Transfer values from left to right" msgstr "Przenieś wartości z lewej do prawej" -msgid "If enabled, this dialog can be used for transfer selected values from left to right preset." -msgstr "Jeśli ta opcja jest aktywowana, to okno dialogowe może być używane do przenoszenia wybranych wartości z profilu po lewej do profilu po prawej stronie." +msgid "" +"If enabled, this dialog can be used for transfer selected values from left " +"to right preset." +msgstr "" +"Jeśli ta opcja jest aktywowana, to okno dialogowe może być używane do " +"przenoszenia wybranych wartości z profilu po lewej do profilu po prawej " +"stronie." msgid "Add File" msgstr "Dodaj plik" @@ -7367,7 +8245,8 @@ msgid "" "%s will update the configuration package, Otherwise it won't be able to start" msgstr "" "Pakiet konfiguracyjny jest niekompatybilny z obecną aplikacją.\n" -"%s zaktualizuje pakiet konfiguracyjny, w przeciwnym razie nie będzie mógł się uruchomić" +"%s zaktualizuje pakiet konfiguracyjny, w przeciwnym razie nie będzie mógł " +"się uruchomić" #, c-format, boost-format msgid "Exit %s" @@ -7389,13 +8268,25 @@ msgid "Ramming customization" msgstr "Dostosowanie wyciskania" 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" +"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." +"This is an expert-level setting, incorrect adjustment will likely lead to " +"jams, extruder wheel grinding into filament etc." msgstr "" -"Ramming oznacza szybką ekstruzję tuż przed zmianą narzędzia w drukarce jednoextruderowej MM. Jego celem jest odpowiednie ukształtowanie końca wyładowanego filamentu, aby nie przeszkadzał on w wstawieniu nowego filamentu i mógł być później ponownie wstawiony. Ta faza jest ważna, a różne filamenty mogą wymagać różnych prędkości ekstruzji, aby uzyskać dobrą formę. Z tego powodu prędkości ekstruzji podczas wyciskania są regulowane.\n" +"Ramming oznacza szybką ekstruzję tuż przed zmianą narzędzia w drukarce " +"jednoextruderowej MM. Jego celem jest odpowiednie ukształtowanie końca " +"wyładowanego filamentu, aby nie przeszkadzał on w wstawieniu nowego " +"filamentu i mógł być później ponownie wstawiony. Ta faza jest ważna, a różne " +"filamenty mogą wymagać różnych prędkości ekstruzji, aby uzyskać dobrą formę. " +"Z tego powodu prędkości ekstruzji podczas wyciskania są regulowane.\n" "\n" -"Jest to ustawienie na poziomie eksperta, nieprawidłowa regulacja prawdopodobnie doprowadzi do zacięć filamentu, zgrzytania koła extrudera itp." +"Jest to ustawienie na poziomie eksperta, nieprawidłowa regulacja " +"prawdopodobnie doprowadzi do zacięć filamentu, zgrzytania koła extrudera itp." msgid "Total ramming time" msgstr "Całkowity czas wyciskania" @@ -7421,8 +8312,13 @@ msgstr "Przelicz ponownie" msgid "Flushing volumes for filament change" msgstr "Objętości płukania przy zmianie filamentu" -msgid "Orca would re-calculate your flushing volumes everytime the filaments color changed. You could disable the auto-calculate in Orca Slicer > Preferences" -msgstr "Orca będzie przeliczał objętość płukania za każdym razem, gdy zmieni się kolor filamentu. Możesz wyłączyć auto-przeliczanie w Orca Slicer > Preferencje" +msgid "" +"Orca would re-calculate your flushing volumes everytime the filaments color " +"changed. You could disable the auto-calculate in Orca Slicer > Preferences" +msgstr "" +"Orca będzie przeliczał objętość płukania za każdym razem, gdy zmieni się " +"kolor filamentu. Możesz wyłączyć auto-przeliczanie w Orca Slicer > " +"Preferencje" msgid "Flushing volume (mm³) for each filament pair." msgstr "Objętość płukania (mm³) dla każdej pary filamentów." @@ -7463,7 +8359,8 @@ msgid "Login" msgstr "Logowanie" msgid "The configuration package is changed in previous Config Guide" -msgstr "Pakiet konfiguracyjny został zmieniony w poprzednim Przewodniku konfiguracji" +msgstr "" +"Pakiet konfiguracyjny został zmieniony w poprzednim Przewodniku konfiguracji" msgid "Configuration package changed" msgstr "Zmieniono pakiet konfiguracyjny" @@ -7516,8 +8413,14 @@ msgstr "Shift+A" msgid "Shift+R" msgstr "Shift+R" -msgid "Auto orientates selected objects or all objects.If there are selected objects, it just orientates the selected ones.Otherwise, it will orientates all objects in the current disk." -msgstr "Ta funkcja automatycznie ustawia orientację zaznaczonych lub wszystkich obiektów. Jeśli są wybrane obiekty, ustawi tylko te wybrane. W przeciwnym razie ustawia wszystkie obiekty na aktualnej płycie roboczej." +msgid "" +"Auto orientates selected objects or all objects.If there are selected " +"objects, it just orientates the selected ones.Otherwise, it will orientates " +"all objects in the current disk." +msgstr "" +"Ta funkcja automatycznie ustawia orientację zaznaczonych lub wszystkich " +"obiektów. Jeśli są wybrane obiekty, ustawi tylko te wybrane. W przeciwnym " +"razie ustawia wszystkie obiekty na aktualnej płycie roboczej." msgid "Shift+Tab" msgstr "Shift+Tab" @@ -7717,6 +8620,12 @@ msgstr "Przesuń suwak 5x szybciej" msgid "Shift+Mouse wheel" msgstr "Shift+Kółko myszy" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Informacje o wydaniu" @@ -7727,8 +8636,11 @@ msgstr "informacje o aktualizacji wersji %s:" msgid "Network plug-in update" msgstr "Aktualizacja wtyczki sieciowej" -msgid "Click OK to update the Network plug-in when Orca Slicer launches next time." -msgstr "Kliknij OK, aby zaktualizować wtyczkę sieciową przy następnym uruchomieniu Orca Slicer." +msgid "" +"Click OK to update the Network plug-in when Orca Slicer launches next time." +msgstr "" +"Kliknij OK, aby zaktualizować wtyczkę sieciową przy następnym uruchomieniu " +"Orca Slicer." #, c-format, boost-format msgid "A new Network plug-in(%s) available, Do you want to install it?" @@ -7785,11 +8697,18 @@ msgstr "Potwierdź i zaktualizuj dyszę" msgid "LAN Connection Failed (Sending print file)" msgstr "Nieudane połączenie LAN (wysyłanie pliku do druku)" -msgid "Step 1, please confirm Orca Slicer and your printer are in the same LAN." -msgstr "Krok 1, proszę potwierdzić, że Orca Slicer i drukarka są w tej samej sieci LAN." +msgid "" +"Step 1, please confirm Orca Slicer and your printer are in the same LAN." +msgstr "" +"Krok 1, proszę potwierdzić, że Orca Slicer i drukarka są w tej samej sieci " +"LAN." -msgid "Step 2, if the IP and Access Code below are different from the actual values on your printer, please correct them." -msgstr "Krok 2, jeśli IP i kod dostępu poniżej różnią się od rzeczywistych wartości na drukarce, proszę je poprawić." +msgid "" +"Step 2, if the IP and Access Code below are different from the actual values " +"on your printer, please correct them." +msgstr "" +"Krok 2, jeśli IP i kod dostępu poniżej różnią się od rzeczywistych wartości " +"na drukarce, proszę je poprawić." msgid "IP" msgstr "IP" @@ -7801,7 +8720,9 @@ msgid "Where to find your printer's IP and Access Code?" msgstr "Gdzie znaleźć IP i kod dostępu do drukarki?" msgid "Step 3: Ping the IP address to check for packet loss and latency." -msgstr "Krok 3: Sprawdź adres IP za pomocą polecenia ping, aby sprawdzić utratę pakietów i opóźnienia." +msgstr "" +"Krok 3: Sprawdź adres IP za pomocą polecenia ping, aby sprawdzić utratę " +"pakietów i opóźnienia." msgid "Test" msgstr "Test" @@ -7831,12 +8752,6 @@ msgstr "Wersja:" msgid "Update firmware" msgstr "Aktualizuj oprogramowanie" -msgid "Printing" -msgstr "Drukowanie" - -msgid "Idle" -msgstr "Bezczynność" - msgid "Beta version" msgstr "Wersja beta" @@ -7852,14 +8767,31 @@ msgstr "Aktualizacja nieudana" msgid "Updating successful" msgstr "Aktualizacja udana" -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 "Czy na pewno chcesz zaktualizować? To zajmie około 10 minut. Nie wyłączaj zasilania podczas aktualizacji drukarki." +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 "" +"Czy na pewno chcesz zaktualizować? To zajmie około 10 minut. Nie wyłączaj " +"zasilania podczas aktualizacji drukarki." -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 "Wykryto ważną aktualizację, która musi zostać uruchomiona, zanim będzie można kontynuować drukowanie. Czy chcesz teraz dokonać aktualizacji? Możesz również dokonać aktualizacji później, wybierając opcję 'Aktualizacja oprogramowania'." +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 "" +"Wykryto ważną aktualizację, która musi zostać uruchomiona, zanim będzie " +"można kontynuować drukowanie. Czy chcesz teraz dokonać aktualizacji? Możesz " +"również dokonać aktualizacji później, wybierając opcję 'Aktualizacja " +"oprogramowania'." -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 the studio." -msgstr "Błąd wersji oprogramowania układowego. Naprawa i aktualizacja są wymagane przed drukowaniem. Czy chcesz zaktualizować teraz? Możesz to również zrobić później na drukarce lub przy następnym uruchomieniu studia." +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 "" +"Błąd wersji oprogramowania układowego. Naprawa i aktualizacja są wymagane " +"przed drukowaniem. Czy chcesz zaktualizować teraz? Możesz to również zrobić " +"później na drukarce lub przy następnym uruchomieniu studia." msgid "Extension Board" msgstr "Płyta rozszerzeń" @@ -7928,19 +8860,28 @@ msgstr " aktualizacja do " msgid "Open G-code file:" msgstr "Otwórz plik G-code:" -msgid "One object has empty initial layer and can't be printed. Please Cut the bottom or enable supports." -msgstr "Jeden obiekt ma pustą pierwszą warstwę i nie może być wydrukowany. Proszę przyciąć dolną część modelu lub włączyć podpory." +msgid "" +"One object has empty initial layer and can't be printed. Please Cut the " +"bottom or enable supports." +msgstr "" +"Jeden obiekt ma pustą pierwszą warstwę i nie może być wydrukowany. Proszę " +"przyciąć dolną część modelu lub włączyć podpory." #, boost-format msgid "Object can't be printed for empty layer between %1% and %2%." -msgstr "Obiekt nie może być wydrukowany z powodu pustej warstwy między %1% a %2%." +msgstr "" +"Obiekt nie może być wydrukowany z powodu pustej warstwy między %1% a %2%." #, boost-format msgid "Object: %1%" msgstr "Obiekt: %1%" -msgid "Maybe parts of the object at these height are too thin, or the object has faulty mesh" -msgstr "Możliwe, że części obiektu na tej wysokości są zbyt cienkie, lub obiekt ma wadliwą siatkę" +msgid "" +"Maybe parts of the object at these height are too thin, or the object has " +"faulty mesh" +msgstr "" +"Możliwe, że części obiektu na tej wysokości są zbyt cienkie, lub obiekt ma " +"wadliwą siatkę" msgid "No object can be printed. Maybe too small" msgstr "Żaden obiekt nie może być wydrukowany. Może jest za mały" @@ -7948,10 +8889,14 @@ msgstr "Żaden obiekt nie może być wydrukowany. Może jest za mały" msgid "" "Failed to generate gcode for invalid custom G-code.\n" "\n" -msgstr "Nie udało się wygenerować G-code dla nieprawidłowego niestandardowego G-code.\n" +msgstr "" +"Nie udało się wygenerować G-code dla nieprawidłowego niestandardowego G-" +"code.\n" msgid "Please check the custom G-code or use the default custom G-code." -msgstr "Proszę sprawdzić niestandardowy G-code lub użyć domyślnego niestandardowego G-code." +msgstr "" +"Proszę sprawdzić niestandardowy G-code lub użyć domyślnego niestandardowego " +"G-code." #, boost-format msgid "Generating G-code: layer %1%" @@ -7984,9 +8929,6 @@ msgstr "Wewnętrzny most" msgid "Gap infill" msgstr "Wypełnienie szczelin" -msgid "Skirt" -msgstr "Skirt" - msgid "Support interface" msgstr "Warstwa łącząca" @@ -7998,10 +8940,16 @@ msgstr "Wielokrotne" #, boost-format msgid "Failed to calculate line width of %1%. Can not get value of \"%2%\" " -msgstr "Nie udało się obliczyć szerokości linii %1%. Nie można uzyskać wartości \"%2%\" " +msgstr "" +"Nie udało się obliczyć szerokości linii %1%. Nie można uzyskać wartości \"%2%" +"\" " -msgid "Invalid spacing supplied to Flow::with_spacing(), check your layer height and extrusion width" -msgstr "Nieprawidłowy odstęp podany do Flow::with_spacing(), sprawdź wysokość warstwy i szerokość ekstruzji." +msgid "" +"Invalid spacing supplied to Flow::with_spacing(), check your layer height " +"and extrusion width" +msgstr "" +"Nieprawidłowy odstęp podany do Flow::with_spacing(), sprawdź wysokość " +"warstwy i szerokość ekstruzji." msgid "undefined error" msgstr "nieznany błąd" @@ -8097,8 +9045,11 @@ msgid "write callback failed" msgstr "błąd zapisu funkcji zwrotnej" #, boost-format -msgid "%1% is too close to exclusion area, there may be collisions when printing." -msgstr "%1% jest zbyt blisko obszaru wykluczenia, mogą wystąpić kolizje podczas drukowania." +msgid "" +"%1% is too close to exclusion area, there may be collisions when printing." +msgstr "" +"%1% jest zbyt blisko obszaru wykluczenia, mogą wystąpić kolizje podczas " +"drukowania." #, boost-format msgid "%1% is too close to others, and collisions may be caused." @@ -8109,10 +9060,13 @@ msgid "%1% is too tall, and collisions will be caused." msgstr "%1% jest zbyt wysoki, mogą wystąpić kolizje." msgid " is too close to others, there may be collisions when printing." -msgstr " jest zbyt blisko innych modeli, mogą wystąpić kolizje podczas drukowania." +msgstr "" +" jest zbyt blisko innych modeli, mogą wystąpić kolizje podczas drukowania." msgid " is too close to exclusion area, there may be collisions when printing." -msgstr " jest zbyt blisko obszaru wykluczenia, mogą wystąpić kolizje podczas drukowania." +msgstr "" +" jest zbyt blisko obszaru wykluczenia, mogą wystąpić kolizje podczas " +"drukowania." msgid "Prime Tower" msgstr "Wieża Czyszcząca" @@ -8123,67 +9077,126 @@ msgstr " jest zbyt blisko innych modeli, mogą wystąpić kolizje.\n" msgid " is too close to exclusion area, and collisions will be caused.\n" msgstr " jest zbyt blisko obszaru wykluczenia, mogą wystąpić kolizje.\n" -msgid "Can not print multiple filaments which have large difference of temperature together. Otherwise, the extruder and nozzle may be blocked or damaged during printing" -msgstr "Nie można drukować jednocześnie wieloma filamentami o znacznych różnicach temperatur. Może to spowodować zablokowanie lub uszkodzenie extrudera i dyszy" +msgid "" +"Can not print multiple filaments which have large difference of temperature " +"together. Otherwise, the extruder and nozzle may be blocked or damaged " +"during printing" +msgstr "" +"Nie można drukować jednocześnie wieloma filamentami o znacznych różnicach " +"temperatur. Może to spowodować zablokowanie lub uszkodzenie extrudera i dyszy" msgid "No extrusions under current settings." msgstr "Brak ekstruzji przy obecnych ustawieniach." -msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." -msgstr "Tryb \"Wygładzony\" timelapsu nie jest wspierany, gdy włączona jest sekwencja \"według obiektu\"." +msgid "" +"Smooth mode of timelapse is not supported when \"by object\" sequence is " +"enabled." +msgstr "" +"Tryb \"Wygładzony\" timelapsu nie jest wspierany, gdy włączona jest " +"sekwencja \"według obiektu\"." -msgid "Please select \"By object\" print sequence to print multiple objects in spiral vase mode." -msgstr "Proszę wybrać sekwencję druku \"Według obiektu\", aby drukować wiele obiektów w trybie wazy." +msgid "" +"Please select \"By object\" print sequence to print multiple objects in " +"spiral vase mode." +msgstr "" +"Proszę wybrać sekwencję druku \"Według obiektu\", aby drukować wiele " +"obiektów w trybie wazy." -msgid "The spiral vase mode does not work when an object contains more than one materials." -msgstr "Tryb \"Wazy\" nie działa, gdy obiekt zawiera więcej niż jeden filament." +msgid "" +"The spiral vase mode does not work when an object contains more than one " +"materials." +msgstr "" +"Tryb \"Wazy\" nie działa, gdy obiekt zawiera więcej niż jeden filament." #, boost-format msgid "The object %1% exceeds the maximum build volume height." msgstr "Obiekt %1% przekracza maksymalną wysokość objętości budowy." #, boost-format -msgid "While the object %1% itself fits the build volume, its last layer exceeds the maximum build volume height." -msgstr "Podczas gdy sam obiekt %1% mieści się w przestrzeni roboczej, jego ostatnia warstwa przekracza maksymalną wysokość przestrzeni roboczej." +msgid "" +"While the object %1% itself fits the build volume, its last layer exceeds " +"the maximum build volume height." +msgstr "" +"Podczas gdy sam obiekt %1% mieści się w przestrzeni roboczej, jego ostatnia " +"warstwa przekracza maksymalną wysokość przestrzeni roboczej." -msgid "You might want to reduce the size of your model or change current print settings and retry." -msgstr "Może być konieczne zmniejszenie rozmiaru modelu lub zmiana bieżących ustawień druku i ponowienie próby." +msgid "" +"You might want to reduce the size of your model or change current print " +"settings and retry." +msgstr "" +"Może być konieczne zmniejszenie rozmiaru modelu lub zmiana bieżących " +"ustawień druku i ponowienie próby." msgid "Variable layer height is not supported with Organic supports." -msgstr "Zmienna wysokość warstwy nie jest dostępna w przypadku podpór organicznych." +msgstr "" +"Zmienna wysokość warstwy nie jest dostępna w przypadku podpór organicznych." -msgid "Different nozzle diameters and different filament diameters is not allowed when prime tower is enabled." -msgstr "Różne średnice dysz i różne średnice filamentów nie są dozwolone, gdy włączona jest wieża czyszcząca." +msgid "" +"Different nozzle diameters and different filament diameters is not allowed " +"when prime tower is enabled." +msgstr "" +"Różne średnice dysz i różne średnice filamentów nie są dozwolone, gdy " +"włączona jest wieża czyszcząca." -msgid "The Wipe Tower is currently only supported with the relative extruder addressing (use_relative_e_distances=1)." -msgstr "Wieża czyszcząca jest obecnie wspierana tylko z relatywnym adresowaniem extrudera (use_relative_e_distances=1)." +msgid "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." +msgstr "" +"Wieża czyszcząca jest obecnie wspierana tylko z relatywnym adresowaniem " +"extrudera (use_relative_e_distances=1)." -msgid "Ooze prevention is currently not supported with the prime tower enabled." -msgstr "Zapobieganie wyciekom nie jest obecnie wspierane, gdy włączona jest wieża czyszcząca." +msgid "" +"Ooze prevention is currently not supported with the prime tower enabled." +msgstr "" +"Zapobieganie wyciekom nie jest obecnie wspierane, gdy włączona jest wieża " +"czyszcząca." -msgid "The prime tower is currently only supported for the Marlin, RepRap/Sprinter, RepRapFirmware and Repetier G-code flavors." -msgstr "Wieża czyszcząca jest obecnie obsługiwana tylko dla wariantów G-code Marlin, Klipper, RepRap/Sprinter, RepRapFirmware i Repetier." +msgid "" +"The prime tower is currently only supported for the Marlin, RepRap/Sprinter, " +"RepRapFirmware and Repetier G-code flavors." +msgstr "" +"Wieża czyszcząca jest obecnie obsługiwana tylko dla wariantów G-code Marlin, " +"Klipper, RepRap/Sprinter, RepRapFirmware i Repetier." msgid "The prime tower is not supported in \"By object\" print." msgstr "Wieża czyszcząca nie jest wspierana w druku \"Według obiektu\"." -msgid "The prime tower is not supported when adaptive layer height is on. It requires that all objects have the same layer height." -msgstr "Wieża czyszcząca nie jest wspierana, gdy włączona jest adaptacyjna wysokość warstwy. Wymaga to, aby wszystkie obiekty miały tę samą wysokość warstwy." +msgid "" +"The prime tower is not supported when adaptive layer height is on. It " +"requires that all objects have the same layer height." +msgstr "" +"Wieża czyszcząca nie jest wspierana, gdy włączona jest adaptacyjna wysokość " +"warstwy. Wymaga to, aby wszystkie obiekty miały tę samą wysokość warstwy." msgid "The prime tower requires \"support gap\" to be multiple of layer height" -msgstr "Wieża czyszcząca wymaga, aby \"szczelina podpory\" była wielokrotnością wysokości warstwy" +msgstr "" +"Wieża czyszcząca wymaga, aby \"szczelina podpory\" była wielokrotnością " +"wysokości warstwy" msgid "The prime tower requires that all objects have the same layer heights" -msgstr "Wieża czyszcząca wymaga, aby wszystkie obiekty miały tę samą wysokość warstwy" +msgstr "" +"Wieża czyszcząca wymaga, aby wszystkie obiekty miały tę samą wysokość warstwy" -msgid "The prime tower requires that all objects are printed over the same number of raft layers" -msgstr "Wieża czyszcząca wymaga, aby wszystkie obiekty były drukowane na tej samej liczbie warstw tratwy" +msgid "" +"The prime tower requires that all objects are printed over the same number " +"of raft layers" +msgstr "" +"Wieża czyszcząca wymaga, aby wszystkie obiekty były drukowane na tej samej " +"liczbie warstw tratwy" -msgid "The prime tower requires that all objects are sliced with the same layer heights." -msgstr "Wieża czyszcząca wymaga, aby wszystkie obiekty były cięte na tej samej wysokości warstw." +msgid "" +"The prime tower requires that all objects are sliced with the same layer " +"heights." +msgstr "" +"Wieża czyszcząca wymaga, aby wszystkie obiekty były cięte na tej samej " +"wysokości warstw." -msgid "The prime tower is only supported if all objects have the same variable layer height" -msgstr "Wieża czyszcząca jest dostępna dla wielu modeli pod warunkiem, że mają one taką samą wysokość warstwy" +msgid "" +"The prime tower is only supported if all objects have the same variable " +"layer height" +msgstr "" +"Wieża czyszcząca jest dostępna dla wielu modeli pod warunkiem, że mają one " +"taką samą wysokość warstwy" msgid "Too small line width" msgstr "Zbyt mała szerokość linii" @@ -8191,66 +9204,119 @@ msgstr "Zbyt mała szerokość linii" msgid "Too large line width" msgstr "Zbyt duża szerokość linii" -msgid "The prime tower requires that support has the same layer height with object." -msgstr "Wieża czyszcząca wymaga, aby podpory miały tę samą wysokość warstwy co obiekt." +msgid "" +"The prime tower requires that support has the same layer height with object." +msgstr "" +"Wieża czyszcząca wymaga, aby podpory miały tę samą wysokość warstwy co " +"obiekt." -msgid "Organic support tree tip diameter must not be smaller than support material extrusion width." -msgstr "Średnica końcówki drzewa organicznego nie może być mniejsza niż szerokość ekstruzji filamentu podpory." +msgid "" +"Organic support tree tip diameter must not be smaller than support material " +"extrusion width." +msgstr "" +"Średnica końcówki drzewa organicznego nie może być mniejsza niż szerokość " +"ekstruzji filamentu podpory." -msgid "Organic support branch diameter must not be smaller than 2x support material extrusion width." -msgstr "Średnica gałęzi organicznego wsparcia (drzewo) nie może być mniejsza niż 2x szerokość ekstruzji filamentu podpory." +msgid "" +"Organic support branch diameter must not be smaller than 2x support material " +"extrusion width." +msgstr "" +"Średnica gałęzi organicznego wsparcia (drzewo) nie może być mniejsza niż 2x " +"szerokość ekstruzji filamentu podpory." -msgid "Organic support branch diameter must not be smaller than support tree tip diameter." -msgstr "Średnica gałęzi organicznego wsparcia nie może być mniejsza niż średnica końcówki podpory (drzewo)." +msgid "" +"Organic support branch diameter must not be smaller than support tree tip " +"diameter." +msgstr "" +"Średnica gałęzi organicznego wsparcia nie może być mniejsza niż średnica " +"końcówki podpory (drzewo)." -msgid "Support enforcers are used but support is not enabled. Please enable support." -msgstr "Używane są wzmocnienia podpór, ale funkcja podpór nie jest włączona. Proszę ją włączyć." +msgid "" +"Support enforcers are used but support is not enabled. Please enable support." +msgstr "" +"Używane są wzmocnienia podpór, ale funkcja podpór nie jest włączona. Proszę " +"ją włączyć." msgid "Layer height cannot exceed nozzle diameter" msgstr "Wysokość warstwy nie może przekraczać średnicy dyszy" -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 "Relatywne adresowanie extrudera wymaga resetowania pozycji extrudera na każdej warstwie, aby zapobiec utracie dokładności zmiennoprzecinkowej. Dodaj \"G92 E0\" do layer_gcode." +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 "" +"Relatywne adresowanie extrudera wymaga resetowania pozycji extrudera na " +"każdej warstwie, aby zapobiec utracie dokładności zmiennoprzecinkowej. Dodaj " +"\"G92 E0\" do layer_gcode." -msgid "\"G92 E0\" was found in before_layer_gcode, which is incompatible with absolute extruder addressing." -msgstr "Znaleziono \"G92 E0\" w before_layer_gcode, co jest niezgodne z absolutnym adresowaniem extrudera." +msgid "" +"\"G92 E0\" was found in before_layer_gcode, which is incompatible with " +"absolute extruder addressing." +msgstr "" +"Znaleziono \"G92 E0\" w before_layer_gcode, co jest niezgodne z absolutnym " +"adresowaniem extrudera." -msgid "\"G92 E0\" was found in layer_gcode, which is incompatible with absolute extruder addressing." -msgstr "Znaleziono \"G92 E0\" w layer_gcode, co jest niezgodne z absolutnym adresowaniem extrudera." +msgid "" +"\"G92 E0\" was found in layer_gcode, which is incompatible with absolute " +"extruder addressing." +msgstr "" +"Znaleziono \"G92 E0\" w layer_gcode, co jest niezgodne z absolutnym " +"adresowaniem extrudera." #, c-format, boost-format msgid "Plate %d: %s does not support filament %s" msgstr "Płyta robocza %d: %s nie obsługuje filamentu %s." -msgid "Setting the jerk speed too low could lead to artifacts on curved surfaces" -msgstr "Ustawienie zbyt niskiej prędkości jerk może prowadzić do artefaktów na zakrzywionych powierzchniach." +msgid "" +"Setting the jerk speed too low could lead to artifacts on curved surfaces" +msgstr "" +"Ustawienie zbyt niskiej prędkości jerk może prowadzić do artefaktów na " +"zakrzywionych powierzchniach." 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." +"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 "" -"Ustawienie jerk przekracza maksymalne jerk drukarki (machine_max_jerk_x/machine_max_jerk_y).\n" -"Orca automatycznie ograniczy prędkość jerku, aby nie przekroczyć zdolności drukarki.\n" -"Możesz dostosować ustawienie maksymalnego jerku w konfiguracji swojej drukarki, aby uzyskać wyższe prędkości." +"Ustawienie jerk przekracza maksymalne jerk drukarki (machine_max_jerk_x/" +"machine_max_jerk_y).\n" +"Orca automatycznie ograniczy prędkość jerku, aby nie przekroczyć zdolności " +"drukarki.\n" +"Możesz dostosować ustawienie maksymalnego jerku w konfiguracji swojej " +"drukarki, aby uzyskać wyższe prędkości." 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." +"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 "" -"Ustawienie przyspieszenia przekracza maksymalne przyspieszenie drukarki (machine_max_acceleration_extruding).\n" -"Orca automatycznie ograniczy prędkość przyspieszenia, aby nie przekroczyć zdolności drukarki.\n" -"Możesz dostosować wartość machine_max_acceleration_extruding w konfiguracji swojej drukarki, aby uzyskać wyższe prędkości." +"Ustawienie przyspieszenia przekracza maksymalne przyspieszenie drukarki " +"(machine_max_acceleration_extruding).\n" +"Orca automatycznie ograniczy prędkość przyspieszenia, aby nie przekroczyć " +"zdolności drukarki.\n" +"Możesz dostosować wartość machine_max_acceleration_extruding w konfiguracji " +"swojej drukarki, aby uzyskać wyższe prędkości." 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." +"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 "" -"Ustawienie przyspieszenia przekracza maksymalne przyspieszenie drukarki (machine_max_acceleration_extruding).\n" -"Orca automatycznie ograniczy prędkość przyspieszenia, aby nie przekroczyć zdolności drukarki.\n" -"Możesz dostosować wartość machine_max_acceleration_extruding w konfiguracji swojej drukarki, aby uzyskać wyższe prędkości." +"Ustawienie przyspieszenia przekracza maksymalne przyspieszenie drukarki " +"(machine_max_acceleration_extruding).\n" +"Orca automatycznie ograniczy prędkość przyspieszenia, aby nie przekroczyć " +"zdolności drukarki.\n" +"Możesz dostosować wartość machine_max_acceleration_extruding w konfiguracji " +"swojej drukarki, aby uzyskać wyższe prędkości." msgid "Generating skirt & brim" msgstr "Generowanie Skirtu i Brimu" @@ -8270,8 +9336,15 @@ msgstr "Obszar druku" msgid "Bed exclude area" msgstr "Obszar wykluczony z druku" -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 "Obszar niemożliwy do wydrukowania w płaszczyźnie XY. Na przykład, drukarki serii X1 używają przedniego lewego rogu do cięcia filamentu podczas jego zmiany. Obszar jest wyrażony jako wielokąt punktami w następującym formacie: \"XxY, XxY, ...\"" +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 "" +"Obszar niemożliwy do wydrukowania w płaszczyźnie XY. Na przykład, drukarki " +"serii X1 używają przedniego lewego rogu do cięcia filamentu podczas jego " +"zmiany. Obszar jest wyrażony jako wielokąt punktami w następującym formacie: " +"\"XxY, XxY, ...\"" msgid "Bed custom texture" msgstr "Niestandardowa tekstura stołu" @@ -8282,32 +9355,51 @@ msgstr "Niestandardowy model stołu" msgid "Elephant foot compensation" msgstr "Kompensacja \"stopy słonia\"" -msgid "Shrink the initial layer on build plate to compensate for elephant foot effect" -msgstr "Zmniejszenie pierwszej warstwy w płaszczyźnie XY o określoną wartość, aby skompensować efekt \"stopy słonia\"" +msgid "" +"Shrink the initial layer on build plate to compensate for elephant foot " +"effect" +msgstr "" +"Zmniejszenie pierwszej warstwy w płaszczyźnie XY o określoną wartość, aby " +"skompensować efekt \"stopy słonia\"" msgid "Elephant foot compensation layers" msgstr "Warstwy kompensacji \"stopy słonia\"" -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 "Ilość warstw, na które będzie rozciągać się kompensacja \"stopy słonia\". Pierwsza warstwa zostanie zmniejszona o wartość kompensacji 'stopy słonia', a następne warstwy będą liniowo zmniejszane mniej, aż do warstwy wskazanej przez tę wartość." +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 "" +"Ilość warstw, na które będzie rozciągać się kompensacja \"stopy słonia\". " +"Pierwsza warstwa zostanie zmniejszona o wartość kompensacji 'stopy słonia', " +"a następne warstwy będą liniowo zmniejszane mniej, aż do warstwy wskazanej " +"przez tę wartość." msgid "layers" msgstr "warstwy" -msgid "Slicing height for each layer. Smaller layer height means more accurate and more printing time" -msgstr "Wysokość każdej warstwy. Mniejsza wysokość warstwy oznacza większą dokładność, ale dłuższy czas drukowania" +msgid "" +"Slicing height for each layer. Smaller layer height means more accurate and " +"more printing time" +msgstr "" +"Wysokość każdej warstwy. Mniejsza wysokość warstwy oznacza większą " +"dokładność, ale dłuższy czas drukowania" msgid "Printable height" msgstr "Maksymalna wysokość" msgid "Maximum printable height which is limited by mechanism of printer" -msgstr "Maksymalna wysokość możliwa do wydrukowania, ograniczona przez mechanizm drukarki" +msgstr "" +"Maksymalna wysokość możliwa do wydrukowania, ograniczona przez mechanizm " +"drukarki" msgid "Preferred orientation" msgstr "Preferowana orientacja" msgid "Automatically orient stls on the Z-axis upon initial import" -msgstr "Automatyczne orientowanie plików STL na osi Z przy początkowym imporcie" +msgstr "" +"Automatyczne orientowanie plików STL na osi Z przy początkowym imporcie" msgid "Printer preset names" msgstr "Nazwy profilu drukarki" @@ -8316,25 +9408,43 @@ msgid "Use 3rd-party print host" msgstr "Użyj serwera druku firm trzecich" msgid "Allow controlling BambuLab's printer through 3rd party print hosts" -msgstr "Zezwól na kontrolowanie drukarki BambuLab przez serwery druku innych firm" +msgstr "" +"Zezwól na kontrolowanie drukarki BambuLab przez serwery druku innych firm" msgid "Hostname, IP or URL" msgstr "Nazwa hosta, IP lub 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 może przesyłać pliki G-code na hosta drukarki. To pole powinno zawierać nazwę hosta, adres IP lub URL hosta drukarki. Host drukowania za HAProxy z włączoną autoryzacją podstawową można uzyskać, wpisując nazwę użytkownika i hasło w URL w następującym formacie: https://username:password@your-octopi-address/" +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 może przesyłać pliki G-code na hosta drukarki. To pole powinno " +"zawierać nazwę hosta, adres IP lub URL hosta drukarki. Host drukowania za " +"HAProxy z włączoną autoryzacją podstawową można uzyskać, wpisując nazwę " +"użytkownika i hasło w URL w następującym formacie: https://username:" +"password@your-octopi-address/" msgid "Device UI" msgstr "Interfejs użytkownika urządzenia" -msgid "Specify the URL of your device user interface if it's not same as print_host" -msgstr "Podaj URL interfejsu użytkownika swojego urządzenia, jeśli nie jest taki sam jak print_host" +msgid "" +"Specify the URL of your device user interface if it's not same as print_host" +msgstr "" +"Podaj URL interfejsu użytkownika swojego urządzenia, jeśli nie jest taki sam " +"jak print_host" msgid "API Key / Password" msgstr "Klucz API / Hasło" -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 może przesyłać pliki G-code na hosta drukarki. To pole powinno zawierać klucz API lub hasło wymagane do uwierzytelnienia." +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 może przesyłać pliki G-code na hosta drukarki. To pole powinno " +"zawierać klucz API lub hasło wymagane do uwierzytelnienia." msgid "Name of the printer" msgstr "Nazwa drukarki" @@ -8342,8 +9452,14 @@ msgstr "Nazwa drukarki" msgid "HTTPS CA File" msgstr "Plik CA HTTPS" -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 "Można określić niestandardowy plik certyfikatu CA dla połączeń HTTPS OctoPrint, w formacie crt/pem. Jeśli pozostanie puste, używane jest domyślne repozytorium certyfikatów CA systemu operacyjnego." +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 "" +"Można określić niestandardowy plik certyfikatu CA dla połączeń HTTPS " +"OctoPrint, w formacie crt/pem. Jeśli pozostanie puste, używane jest domyślne " +"repozytorium certyfikatów CA systemu operacyjnego." msgid "User" msgstr "Użytkownik" @@ -8354,8 +9470,14 @@ msgstr "Hasło" msgid "Ignore HTTPS certificate revocation checks" msgstr "Ignoruj sprawdzanie unieważnienia certyfikatów 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 "Ignoruj sprawdzanie unieważnienia certyfikatów HTTPS w przypadku braku lub offline punktów dystrybucji. Można chcieć włączyć tę opcję dla samopodpisanych certyfikatów, jeśli połączenie zawodzi." +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 "" +"Ignoruj sprawdzanie unieważnienia certyfikatów HTTPS w przypadku braku lub " +"offline punktów dystrybucji. Można chcieć włączyć tę opcję dla " +"samopodpisanych certyfikatów, jeśli połączenie zawodzi." msgid "Names of presets related to the physical printer" msgstr "Nazwy profili odnoszących się do drukarki fizycznej" @@ -8373,15 +9495,25 @@ msgid "Avoid crossing wall" msgstr "Unikaj ruchów nad obrysami" msgid "Detour and avoid to travel across wall which may cause blob on surface" -msgstr "Omijaj i unikaj przemieszczania się nad ścianą, co może spowodować powstanie grudek na powierzchni" +msgstr "" +"Omijaj i unikaj przemieszczania się nad ścianą, co może spowodować powstanie " +"grudek na powierzchni" msgid "Avoid crossing wall - Max detour length" msgstr "Maksymalna długość objazdu" -msgid "Maximum detour distance for avoiding crossing wall. Don't detour if the detour distance is large 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" +msgid "" +"Maximum detour distance for avoiding crossing wall. Don't detour if the " +"detour distance is large 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 "" "Unikaj ruchów nad obrysami-\n" -"Maksymalna długość objazdu przy unikaniu przejeżdżania nad obrysami. Jeśli objazd miałby wykroczyć poza tę wartość, funkcja \"unikaj ruchów nad obrysami\" zostanie zignorowana dla tej ścieżki. Długość objazdu można zdefiniować jako wartość absolutna lub obliczona procentowo (np. 50%) z długości ruchu bezpośredniego." +"Maksymalna długość objazdu przy unikaniu przejeżdżania nad obrysami. Jeśli " +"objazd miałby wykroczyć poza tę wartość, funkcja \"unikaj ruchów nad obrysami" +"\" zostanie zignorowana dla tej ścieżki. Długość objazdu można zdefiniować " +"jako wartość absolutna lub obliczona procentowo (np. 50%) z długości ruchu " +"bezpośredniego." msgid "mm or %" msgstr "mm lub %" @@ -8389,20 +9521,36 @@ msgstr "mm lub %" msgid "Other layers" msgstr "Pozostałe warstwy" -msgid "Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the Cool Plate" -msgstr "Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament nie obsługuje drukowania na Cool Plate" +msgid "" +"Bed temperature for layers except the initial one. Value 0 means the " +"filament does not support to print on the Cool Plate" +msgstr "" +"Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament " +"nie obsługuje drukowania na Cool Plate" msgid "°C" msgstr "°C" -msgid "Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the Engineering Plate" -msgstr "Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament nie obsługuje drukowania na Engineering Plate" +msgid "" +"Bed temperature for layers except the initial one. Value 0 means the " +"filament does not support to print on the Engineering Plate" +msgstr "" +"Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament " +"nie obsługuje drukowania na Engineering Plate" -msgid "Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the High Temp Plate" -msgstr "Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament nie obsługuje drukowania na High Temp Plate" +msgid "" +"Bed temperature for layers except the initial one. Value 0 means the " +"filament does not support to print on the High Temp Plate" +msgstr "" +"Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament " +"nie obsługuje drukowania na High Temp Plate" -msgid "Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the Textured PEI Plate" -msgstr "Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament nie obsługuje drukowania na Textured PEI Plate" +msgid "" +"Bed temperature for layers except the initial one. Value 0 means the " +"filament does not support to print on the Textured PEI Plate" +msgstr "" +"Temperatura stołu dla warstw poza pierwszą. Wartość 0 oznacza, że filament " +"nie obsługuje drukowania na Textured PEI Plate" msgid "Initial layer" msgstr "Pierwsza warstwa" @@ -8410,17 +9558,33 @@ msgstr "Pierwsza warstwa" msgid "Initial layer bed temperature" msgstr "Temperatura stołu pierwszej warstwy" -msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the Cool Plate" -msgstr "Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie obsługuje drukowania na Cool Plate" +msgid "" +"Bed temperature of the initial layer. Value 0 means the filament does not " +"support to print on the Cool Plate" +msgstr "" +"Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie " +"obsługuje drukowania na Cool Plate" -msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the Engineering Plate" -msgstr "Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie obsługuje drukowania na Engineering Plate" +msgid "" +"Bed temperature of the initial layer. Value 0 means the filament does not " +"support to print on the Engineering Plate" +msgstr "" +"Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie " +"obsługuje drukowania na Engineering Plate" -msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the High Temp Plate" -msgstr "Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie obsługuje drukowania na High Temp Plate" +msgid "" +"Bed temperature of the initial layer. Value 0 means the filament does not " +"support to print on the High Temp Plate" +msgstr "" +"Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie " +"obsługuje drukowania na High Temp Plate" -msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the Textured PEI Plate" -msgstr "Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie obsługuje drukowania na Textured PEI Plate" +msgid "" +"Bed temperature of the initial layer. Value 0 means the filament does not " +"support to print on the Textured PEI Plate" +msgstr "" +"Temperatura stołu pierwszej warstwy. Wartość 0 oznacza, że filament nie " +"obsługuje drukowania na Textured PEI Plate" msgid "Bed types supported by the printer" msgstr "Rodzaje płyt roboczych obsługiwanych przez drukarkę" @@ -8444,36 +9608,62 @@ msgid "Other layers filament sequence" msgstr "Kolejność filamenu dla pozostałych warstw" msgid "This G-code is inserted at every layer change before lifting z" -msgstr "Ten G-code jest wstawiany przy każdej zmianie warstwy, tuż przed podniesieniem osi Z" +msgstr "" +"Ten G-code jest wstawiany przy każdej zmianie warstwy, tuż przed " +"podniesieniem osi Z" msgid "Bottom shell layers" msgstr "Dolne warstwy powłoki" -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 "To jest liczba pełnych warstw dolnej powłoki, włączając w to dolną powierzchnie. Jeżeli grubość obliczona na podstawie tej wartości jest mniejsza niż grubość dolnej powłoki, liczba warstw dolnej powłoki zostanie zwiększona" +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 "" +"To jest liczba pełnych warstw dolnej powłoki, włączając w to dolną " +"powierzchnie. Jeżeli grubość obliczona na podstawie tej wartości jest " +"mniejsza niż grubość dolnej powłoki, liczba warstw dolnej powłoki zostanie " +"zwiększona" msgid "Bottom shell thickness" msgstr "Grubość dolnej powłoki" -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 determained by bottom shell layers" -msgstr "Ilość dolnych, pełnych warstw zostaje zwiększona podczas przygotowywania modelu do druku (slicingu), jeżeli wyliczona grubość dolnych warstw powłoki jest mniejsza niż ta wartość. Dzięki temu można uniknąć zbyt cienkiej powłoki, gdy wysokość warstwy jest niska. Wartość 0 oznacza wyłączenie tego ustawienia, a grubość dolnej powłoki jest wówczas wyznaczana wyłącznie przez ilość warstw dolnej powłoki" +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 determained by " +"bottom shell layers" +msgstr "" +"Ilość dolnych, pełnych warstw zostaje zwiększona podczas przygotowywania " +"modelu do druku (slicingu), jeżeli wyliczona grubość dolnych warstw powłoki " +"jest mniejsza niż ta wartość. Dzięki temu można uniknąć zbyt cienkiej " +"powłoki, gdy wysokość warstwy jest niska. Wartość 0 oznacza wyłączenie tego " +"ustawienia, a grubość dolnej powłoki jest wówczas wyznaczana wyłącznie przez " +"ilość warstw dolnej powłoki" msgid "Apply gap fill" msgstr "Zastosuj wypełnienie szczelin" msgid "" -"Enables gap fill for the selected surfaces. The minimum gap length that will be filled can be controlled from the filter out tiny gaps option below.\n" +"Enables gap fill for the selected 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\n" -"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces only\n" +"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces " +"only\n" "3. Nowhere: Disables gap fill\n" msgstr "" -"Umożliwia wypełnienie szpar/szczelin dla wybranych powierzchni. Minimalną długość szczeliny, która zostanie wypełniona, można kontrolować poprzez opcję 'filtruj wąskie szczeliny' znajdującej się poniżej.\n" +"Umożliwia wypełnienie szpar/szczelin dla wybranych powierzchni. Minimalną " +"długość szczeliny, która zostanie wypełniona, można kontrolować poprzez " +"opcję 'filtruj wąskie szczeliny' znajdującej się poniżej.\n" "\n" "Opcje:\n" -"1. Wszędzie: Stosuje wypełnienie na górnych, dolnych i wewnętrznych powierzchniach stałych\n" -"2. Powierzchnie górne i dolne: Stosuje wypełnienie tylko na górnych i dolnych powierzchniach\n" +"1. Wszędzie: Stosuje wypełnienie na górnych, dolnych i wewnętrznych " +"powierzchniach stałych\n" +"2. Powierzchnie górne i dolne: Stosuje wypełnienie tylko na górnych i " +"dolnych powierzchniach\n" "3. Nigdzie: Wyłącza wypełnienie\n" msgid "Everywhere" @@ -8488,97 +9678,169 @@ msgstr "Nigdzie" msgid "Force cooling for overhang and bridge" msgstr "Wymuszone chłodzenie dla nawisów i mostów" -msgid "Enable this option to optimize part cooling fan speed for overhang and bridge to get better cooling" -msgstr "Włącz tę opcję, aby zoptymalizować prędkość wentylatora chłodzącego części dla nawisów i mostów, aby uzyskać lepsze chłodzenie" +msgid "" +"Enable this option to optimize part cooling fan speed for overhang and " +"bridge to get better cooling" +msgstr "" +"Włącz tę opcję, aby zoptymalizować prędkość wentylatora chłodzącego części " +"dla nawisów i mostów, aby uzyskać lepsze chłodzenie" msgid "Fan speed for overhang" msgstr "Prędkość wentylatora dla nawisów" -msgid "Force part cooling fan to be this speed when printing bridge or overhang wall which has large overhang degree. Forcing cooling for overhang and bridge can get better quality for these part" -msgstr "Wymuś pracę wentylatora chłodzącego części na tej prędkości podczas drukowania mostu lub ściany nawisającej, która ma duży stopień nawisu. Wymuszanie chłodzenia dla nawisów i mostów może poprawić jakość tych części modelu" +msgid "" +"Force part cooling fan to be this speed when printing bridge or overhang " +"wall which has large overhang degree. Forcing cooling for overhang and " +"bridge can get better quality for these part" +msgstr "" +"Wymuś pracę wentylatora chłodzącego części na tej prędkości podczas " +"drukowania mostu lub ściany nawisającej, która ma duży stopień nawisu. " +"Wymuszanie chłodzenia dla nawisów i mostów może poprawić jakość tych części " +"modelu" msgid "Cooling overhang threshold" msgstr "Próg chłodzenia dla nawisów" #, c-format -msgid "Force cooling fan to be specific speed when overhang degree of printed part exceeds this value. Expressed as percentage which indicides how much width of the line without support from lower layer. 0% means forcing cooling for all outer wall no matter how much overhang degree" -msgstr "Wymuś pracę wentylatora chłodzącego na określoną prędkość, gdy stopień nawisu drukowanej części przekracza tę wartość. Wyrażone w procentach, co wskazuje, jak duża jest szerokość linii bez podpór z niższej warstwy. 0%% oznacza wymuszanie chłodzenia dla całej zewnętrznej ściany, bez względu na stopień nawisu" +msgid "" +"Force cooling fan to be specific speed when overhang degree of printed part " +"exceeds this value. Expressed as percentage which indicides how much width " +"of the line without support from lower layer. 0% means forcing cooling for " +"all outer wall no matter how much overhang degree" +msgstr "" +"Wymuś pracę wentylatora chłodzącego na określoną prędkość, gdy stopień " +"nawisu drukowanej części przekracza tę wartość. Wyrażone w procentach, co " +"wskazuje, jak duża jest szerokość linii bez podpór z niższej warstwy. 0%% " +"oznacza wymuszanie chłodzenia dla całej zewnętrznej ściany, bez względu na " +"stopień nawisu" msgid "Bridge infill direction" msgstr "Kierunek wypełnienia mostu" -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 "Zmiana ustawienia kąta linii mostów. Gdy ustawienie będzie równe 0, kąt zostanie wyliczony automatycznie. W przeciwnym wypadku, wybrany kąt będzie zastosowany do wszystkich mostów. Aby ustawić kąt na zero, wybierz 180°." +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 "" +"Zmiana ustawienia kąta linii mostów. Gdy ustawienie będzie równe 0, kąt " +"zostanie wyliczony automatycznie. W przeciwnym wypadku, wybrany kąt będzie " +"zastosowany do wszystkich mostów. Aby ustawić kąt na zero, wybierz 180°." msgid "Bridge density" msgstr "Gęstość mostu" msgid "Density of external bridges. 100% means solid bridge. Default is 100%." -msgstr "Gęstość zewnętrznych mostów. 100% oznacza pełne wypełnienie mostu. Domyślnie jest 100%." +msgstr "" +"Gęstość zewnętrznych mostów. 100% oznacza pełne wypełnienie mostu. Domyślnie " +"jest 100%." msgid "Bridge flow ratio" msgstr "Współczynnik przepływu przy mostach" -msgid "Decrease this value slightly(for example 0.9) to reduce the amount of material for bridge, to improve sag" -msgstr "Zmniejsz tę wartość minimalnie (na przykład do 0.9), aby zmniejszyć ilość filamentu dla mostu, co zmniejszy jego wygięcie" +msgid "" +"Decrease this value slightly(for example 0.9) to reduce the amount of " +"material for bridge, to improve sag" +msgstr "" +"Zmniejsz tę wartość minimalnie (na przykład do 0.9), aby zmniejszyć ilość " +"filamentu dla mostu, co zmniejszy jego wygięcie" msgid "Internal bridge flow ratio" msgstr "Współczynnik przepływu dla wewnętrznych mostów" -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." -msgstr "Ta wartość określa grubość wewnętrznej warstwy mostu. Jest to pierwsza warstwa nad rzadkim wypełnieniem. Aby poprawić jakość powierzchni nad tym wypełnieniem, możesz zmniejszyć trochę tą wartość (na przykład do 0.9)" +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." +msgstr "" +"Ta wartość określa grubość wewnętrznej warstwy mostu. Jest to pierwsza " +"warstwa nad rzadkim wypełnieniem. Aby poprawić jakość powierzchni nad tym " +"wypełnieniem, możesz zmniejszyć trochę tą wartość (na przykład do 0.9)" msgid "Top surface flow ratio" msgstr "Współczynnik przepływu górnej powierzchni" -msgid "This factor affects the amount of material for top solid infill. You can decrease it slightly to have smooth surface finish" -msgstr "Czynnik ten wpływa na ilość filamentu na górne pełne wypełnienie. Możesz go nieco zmniejszyć, aby uzyskać gładkie wykończenie powierzchni" +msgid "" +"This factor affects the amount of material for top solid infill. You can " +"decrease it slightly to have smooth surface finish" +msgstr "" +"Czynnik ten wpływa na ilość filamentu na górne pełne wypełnienie. Możesz go " +"nieco zmniejszyć, aby uzyskać gładkie wykończenie powierzchni" msgid "Bottom surface flow ratio" msgstr "Współczynnik przepływu dolnej powierzchni" msgid "This factor affects the amount of material for bottom solid infill" -msgstr "Ten współczynnik wpływa na ilość materiału w dolnej warstwie pełnego wypełnienia" +msgstr "" +"Ten współczynnik wpływa na ilość materiału w dolnej warstwie pełnego " +"wypełnienia" msgid "Precise wall" msgstr "Ściany o wysokiej precyzji" msgid "" -"Improve shell precision by adjusting outer wall spacing. This also improves layer consistency.\n" -"Note: This setting will only take effect if the wall sequence is configured to Inner-Outer" +"Improve shell precision by adjusting outer wall spacing. This also improves " +"layer consistency.\n" +"Note: This setting will only take effect if the wall sequence is configured " +"to Inner-Outer" msgstr "" -"Popraw precyzję powłoki poprzez dostosowanie odstępów zewnętrznych ścian. To również poprawia spójność warstw.\n" -"Uwaga: To ustawienie będzie miało wpływ tylko wtedy, gdy sekwencja ściany jest skonfigurowana jako Wewnętrzna-Zewnętrzna." +"Popraw precyzję powłoki poprzez dostosowanie odstępów zewnętrznych ścian. To " +"również poprawia spójność warstw.\n" +"Uwaga: To ustawienie będzie miało wpływ tylko wtedy, gdy sekwencja ściany " +"jest skonfigurowana jako Wewnętrzna-Zewnętrzna." msgid "Only one wall on top surfaces" msgstr "Tylko jedna ściana na górnych powierzchniach" -msgid "Use only one wall on flat top surface, to give more space to the top infill pattern" -msgstr "Użyj tylko jednej ściany na płaskiej górnej powierzchni, aby zapewnić więcej miejsca dla wzoru górnego wypełnienia" +msgid "" +"Use only one wall on flat top surface, to give more space to the top infill " +"pattern" +msgstr "" +"Użyj tylko jednej ściany na płaskiej górnej powierzchni, aby zapewnić więcej " +"miejsca dla wzoru górnego wypełnienia" msgid "One wall threshold" msgstr "Próg jednej ściany" #, 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." +"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 "" -"Jeśli górna powierzchnia ma być drukowana i jest częściowo zakryta inną warstwą, nie będzie traktowana jako górna warstwa, jeśli jej szerokość jest mniejsza niż ta wartość. \n" -"Może to być przydatne, aby zapobiec uruchamianiu funkcji 'jeden perymetr na górze' na powierzchni, która powinna być pokryta tylko perymetrami. Ta wartość może być podawana w mm lub jako % szerokości ekstruzji perymetru.\n" -"Uwaga: Jeśli ta funkcja jest włączona, mogą pojawić się artefakty, jeśli masz na następnej warstwie jakieś cienkie elementy, na przykład litery. Ustaw tę opcję na 0, aby usunąć te artefakty." +"Jeśli górna powierzchnia ma być drukowana i jest częściowo zakryta inną " +"warstwą, nie będzie traktowana jako górna warstwa, jeśli jej szerokość jest " +"mniejsza niż ta wartość. \n" +"Może to być przydatne, aby zapobiec uruchamianiu funkcji 'jeden perymetr na " +"górze' na powierzchni, która powinna być pokryta tylko perymetrami. Ta " +"wartość może być podawana w mm lub jako % szerokości ekstruzji perymetru.\n" +"Uwaga: Jeśli ta funkcja jest włączona, mogą pojawić się artefakty, jeśli " +"masz na następnej warstwie jakieś cienkie elementy, na przykład litery. " +"Ustaw tę opcję na 0, aby usunąć te artefakty." msgid "Only one wall on first layer" msgstr "Tylko jedna ściana na pierwszej warstwie" -msgid "Use only one wall on first layer, to give more space to the bottom infill pattern" -msgstr "Użyj tylko jednej ściany na pierwszej warstwie, aby dać więcej miejsca na wzór dolnego wypełnienia" +msgid "" +"Use only one wall on first layer, to give more space to the bottom infill " +"pattern" +msgstr "" +"Użyj tylko jednej ściany na pierwszej warstwie, aby dać więcej miejsca na " +"wzór dolnego wypełnienia" msgid "Extra perimeters on overhangs" msgstr "Dodatkowe obrysy na nawisach" -msgid "Create additional perimeter paths over steep overhangs and areas where bridges cannot be anchored. " -msgstr "Tworzy dodatkowe ścieżeki nad stromymi nawisami i w obszarach, gdzie nie można zakotwiczyć mostów. " +msgid "" +"Create additional perimeter paths over steep overhangs and areas where " +"bridges cannot be anchored. " +msgstr "" +"Tworzy dodatkowe ścieżeki nad stromymi nawisami i w obszarach, gdzie nie " +"można zakotwiczyć mostów. " msgid "Reverse on odd" msgstr "Przeciwny kierunek na nieparzystych warstwach" @@ -8587,13 +9849,19 @@ msgid "Overhang reversal" msgstr "Przeciwny kierunek przy nawisach" msgid "" -"Extrude perimeters that have a part over an overhang in the reverse direction on odd layers. This alternating pattern can drastically improve steep overhangs.\n" +"Extrude perimeters that have a part over an overhang in the reverse " +"direction on odd 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." +"This setting can also help reduce part warping due to the reduction of " +"stresses in the part walls." msgstr "" -"Ekstruzja obrysów mających część z nawisem. Będą one drukowane, w przeciwnym kierunku na nieparzystych warstwach. Ten naprzemienny wzór może znacznie poprawić strome nawisy.\n" +"Ekstruzja obrysów mających część z nawisem. Będą one drukowane, w przeciwnym " +"kierunku na nieparzystych warstwach. Ten naprzemienny wzór może znacznie " +"poprawić strome nawisy.\n" "\n" -"Ustawienie to może również pomóc zmniejszyć deformację części dzięki zmniejszeniu naprężeń w ścianach części." +"Ustawienie to może również pomóc zmniejszyć deformację części dzięki " +"zmniejszeniu naprężeń w ścianach części." msgid "Reverse only internal perimeters" msgstr "Przeciwny kierunek tylko dla wewnętrznych obrysów" @@ -8601,28 +9869,47 @@ msgstr "Przeciwny kierunek tylko dla wewnętrznych obrysów" 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" +"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 recomended to set the Reverse Threshold to 0 so that all internal walls print in alternating directions on odd layers irrespective of their overhang degree." +"For this setting to be the most effective, it is recomended to set the " +"Reverse Threshold to 0 so that all internal walls print in alternating " +"directions on odd layers irrespective of their overhang degree." msgstr "" "Zastosuj logikę przeciwnych obrysów tylko na wewnętrznych obrysach. \n" "\n" -"To ustawienie znacznie zmniejsza naprężenia części, ponieważ są one teraz rozdzielone w przemiennych kierunkach. Powinno to zmniejszyć deformację części, jednocześnie zachowując jakość zewnętrznych ścian. Funkcja ta może być bardzo przydatna dla filamentów podatnych na deformację, takich jak ABS/ASA, a także dla elastycznych filamentów, takich jak TPU i Silk PLA. Może to również pomóc zmniejszyć deformację w unoszących się regionach nad podporami.\n" +"To ustawienie znacznie zmniejsza naprężenia części, ponieważ są one teraz " +"rozdzielone w przemiennych kierunkach. Powinno to zmniejszyć deformację " +"części, jednocześnie zachowując jakość zewnętrznych ścian. Funkcja ta może " +"być bardzo przydatna dla filamentów podatnych na deformację, takich jak ABS/" +"ASA, a także dla elastycznych filamentów, takich jak TPU i Silk PLA. Może to " +"również pomóc zmniejszyć deformację w unoszących się regionach nad " +"podporami.\n" "\n" -"Aby to ustawienie było najbardziej skuteczne, zaleca się ustawienie Progu Odwrócenia na 0, aby wszystkie wewnętrzne ściany drukowały się w przemiennych kierunkach na nieparzystych warstwach, niezależnie od stopnia nawisu." +"Aby to ustawienie było najbardziej skuteczne, zaleca się ustawienie Progu " +"Odwrócenia na 0, aby wszystkie wewnętrzne ściany drukowały się w " +"przemiennych kierunkach na nieparzystych warstwach, niezależnie od stopnia " +"nawisu." msgid "Bridge counterbore holes" msgstr "Mostek dla fazowanych otworów" msgid "" -"This option creates bridges for counterbore holes, allowing them to be printed without support. Available modes include:\n" +"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 "" -"Ta opcja generuje mostki (wsparcie) dla otworów z fazowaniem, co pozwala na ich drukowanie bez konieczności stosowania dodatkowych podpór. Wybierz:\n" +"Ta opcja generuje mostki (wsparcie) dla otworów z fazowaniem, co pozwala na " +"ich drukowanie bez konieczności stosowania dodatkowych podpór. Wybierz:\n" "1. Brak (czyli wyłączone)\n" -"2. Częściowy most (mostek będzie konstruowany tylko nad niektórymi obszarami bez podpory)\n" +"2. Częściowy most (mostek będzie konstruowany tylko nad niektórymi obszarami " +"bez podpory)\n" "3. Warstwa pomocnicza (tworzy pełnowartościową warstwę podpory mostu)." msgid "Partially bridged" @@ -8639,11 +9926,14 @@ msgstr "Próg odwrócenia przy nawisach" #, 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" +"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 odd layers regardless." msgstr "" -"Ilość mm, jaką musi mieć nawis, aby odwrócenie było uznane za użyteczne. Może być to % szerokości obryski.\n" -"Wartość 0 umożliwia odwrócenie na każdej nieparzystej warstwie, niezależnie od wszystkiego." +"Ilość mm, jaką musi mieć nawis, aby odwrócenie było uznane za użyteczne. " +"Może być to % szerokości obryski.\n" +"Wartość 0 umożliwia odwrócenie na każdej nieparzystej warstwie, niezależnie " +"od wszystkiego." msgid "Classic mode" msgstr "Tryb klasyczny" @@ -8660,8 +9950,12 @@ msgstr "Włącz tę opcję, aby zwolnić drukowanie dla różnych stopni nawisu" msgid "Slow down for curled perimeters" msgstr "Zwalnienie na łukach" -msgid "Enable this option to slow printing down in areas where potential curled perimeters may exist" -msgstr "Włącz tę opcję, aby zwolnić drukowanie w obszarach, gdzie istnieje potencjalne zagrożenie odkształceniem obwodów" +msgid "" +"Enable this option to slow printing down in areas where potential curled " +"perimeters may exist" +msgstr "" +"Włącz tę opcję, aby zwolnić drukowanie w obszarach, gdzie istnieje " +"potencjalne zagrożenie odkształceniem obwodów" msgid "mm/s or %" msgstr "mm/s lub %" @@ -8678,8 +9972,12 @@ msgstr "mm/s" msgid "Internal" msgstr "Wewn." -msgid "Speed of internal bridge. If the value is expressed as a percentage, it will be calculated based on the bridge_speed. Default value is 150%." -msgstr "Prędkość wewnętrznego mostu. Jeśli wartość jest wyrażona w procentach, będzie obliczana na podstawie prędkości mostu. Domyślna wartość to 150%." +msgid "" +"Speed of internal bridge. If the value is expressed as a percentage, it will " +"be calculated based on the bridge_speed. Default value is 150%." +msgstr "" +"Prędkość wewnętrznego mostu. Jeśli wartość jest wyrażona w procentach, " +"będzie obliczana na podstawie prędkości mostu. Domyślna wartość to 150%." msgid "Brim width" msgstr "Szerokość Brimu" @@ -8690,14 +9988,23 @@ msgstr "Odległość od modelu do najbardziej zewnętrznej linii Brimu" msgid "Brim type" msgstr "Typ Brimu" -msgid "This controls the generation of the brim at outer and/or inner side of models. Auto means the brim width is analysed and calculated automatically." -msgstr "To kontroluje generowanie Brimu na zewnętrznej i/lub wewnętrznej stronie modeli. Auto oznacza, że szerokość Brimu jest analizowana i obliczana automatycznie." +msgid "" +"This controls the generation of the brim at outer and/or inner side of " +"models. Auto means the brim width is analysed and calculated automatically." +msgstr "" +"To kontroluje generowanie Brimu na zewnętrznej i/lub wewnętrznej stronie " +"modeli. Auto oznacza, że szerokość Brimu jest analizowana i obliczana " +"automatycznie." msgid "Brim-object gap" msgstr "Odstęp Brimu od obiektu" -msgid "A gap between innermost brim line and object can make brim be removed more easily" -msgstr "Szczelina między najbardziej wewnętrzną linią Brimu a obiektem może ułatwić usunięcie Brimu" +msgid "" +"A gap between innermost brim line and object can make brim be removed more " +"easily" +msgstr "" +"Szczelina między najbardziej wewnętrzną linią Brimu a obiektem może ułatwić " +"usunięcie Brimu" msgid "Brim ears" msgstr "Uszy Brim" @@ -8715,16 +10022,19 @@ msgid "" msgstr "" "Maksymalny kąt, przy którym pojawia się ucho Brimu.\n" "Jeśli ustawione na 0, Brim nie zostanie utworzony.\n" -"Jeśli ustawione na ~180, Brim zostanie utworzony wszędzie, oprócz prostych sekcji." +"Jeśli ustawione na ~180, Brim zostanie utworzony wszędzie, oprócz prostych " +"sekcji." msgid "Brim ear detection radius" msgstr "Promień wykrywania uszu Brimu" msgid "" -"The geometry will be decimated before dectecting sharp angles. This parameter indicates the minimum length of the deviation for the decimation.\n" +"The geometry will be decimated before dectecting sharp angles. This " +"parameter indicates the minimum length of the deviation for the decimation.\n" "0 to deactivate" msgstr "" -"Kształt zostanie zredukowany przed wykryciem ostrych kątów. Ten parametr wskazuje minimalną długość odchylenia dla redukcji.\n" +"Kształt zostanie zredukowany przed wykryciem ostrych kątów. Ten parametr " +"wskazuje minimalną długość odchylenia dla redukcji.\n" "0, aby dezaktywować" msgid "Compatible machine" @@ -8755,7 +10065,9 @@ msgid "Intra-layer order" msgstr "Kolejność warstw" msgid "Print order within a single layer" -msgstr "Kolejność druku obiektów w obrębie jednej warstwy. Domyślnie lub według listy obiektów" +msgstr "" +"Kolejność druku obiektów w obrębie jednej warstwy. Domyślnie lub według " +"listy obiektów" msgid "As object list" msgstr "Wg.listy obiektów" @@ -8763,14 +10075,26 @@ msgstr "Wg.listy obiektów" msgid "Slow printing down for better layer cooling" msgstr "Zwolnienie druku dla lepszego chłodzenia warstw" -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 "Włącz tę opcję, aby zmniejszyć prędkość drukowania, aby czas ostatniej warstwy nie był krótszy niż próg czasu warstwy w „Maksymalny próg prędkości wentylatora”, aby warstwa mogła być chłodzona przez dłuższy czas. Może to poprawić jakość drobnych szczegółów i małych detali" +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 "" +"Włącz tę opcję, aby zmniejszyć prędkość drukowania, aby czas ostatniej " +"warstwy nie był krótszy niż próg czasu warstwy w „Maksymalny próg prędkości " +"wentylatora”, aby warstwa mogła być chłodzona przez dłuższy czas. Może to " +"poprawić jakość drobnych szczegółów i małych detali" msgid "Normal printing" msgstr "Normalne drukowanie" -msgid "The default acceleration of both normal printing and travel except initial layer" -msgstr "Domyślne przyspieszenie zarówno normalnego druku, jak i prędkości jałowej, z wyjątkiem pierwszej warstwy" +msgid "" +"The default acceleration of both normal printing and travel except initial " +"layer" +msgstr "" +"Domyślne przyspieszenie zarówno normalnego druku, jak i prędkości jałowej, z " +"wyjątkiem pierwszej warstwy" msgid "mm/s²" msgstr "mm/s²" @@ -8791,13 +10115,18 @@ msgid "Activate air filtration" msgstr "Aktywuj filtrację powietrza" msgid "Activate for better air filtration. G-code command: M106 P3 S(0-255)" -msgstr "Aktywuj dla lepszej filtracji powietrza. Komenda G-code: M106 P3 S(0-255)" +msgstr "" +"Aktywuj dla lepszej filtracji powietrza. Komenda G-code: M106 P3 S(0-255)" msgid "Fan speed" msgstr "Prędkość wentylatora" -msgid "Speed of exhaust fan during printing.This speed will overwrite the speed in filament custom gcode" -msgstr "Prędkość wentylatora wyciągowego podczas drukowania. Ta prędkość zastąpi ustawienia prędkości w niestandardowym G-code dla filamentu" +msgid "" +"Speed of exhaust fan during printing.This speed will overwrite the speed in " +"filament custom gcode" +msgstr "" +"Prędkość wentylatora wyciągowego podczas drukowania. Ta prędkość zastąpi " +"ustawienia prędkości w niestandardowym G-code dla filamentu" msgid "Speed of exhaust fan after printing completes" msgstr "Prędkość wentylatora wyciągowego po zakończeniu drukowania" @@ -8805,58 +10134,107 @@ msgstr "Prędkość wentylatora wyciągowego po zakończeniu drukowania" msgid "No cooling for the first" msgstr "Brak chłodzenia na pierwszych" -msgid "Close all cooling fan for the first certain layers. Cooling fan of the first layer used to be closed to get better build plate adhesion" -msgstr "Wyłącz wszystkie wentylatory chłodzące na pierwszych określonych warstwach. Wentylator chłodzący pierwszą warstwę był zazwyczaj wyłączony, aby uzyskać lepsze przyleganie do stołu drukarki" +msgid "" +"Close all cooling fan for the first certain layers. Cooling fan of the first " +"layer used to be closed to get better build plate adhesion" +msgstr "" +"Wyłącz wszystkie wentylatory chłodzące na pierwszych określonych warstwach. " +"Wentylator chłodzący pierwszą warstwę był zazwyczaj wyłączony, aby uzyskać " +"lepsze przyleganie do stołu drukarki" msgid "Don't support bridges" msgstr "Nie twórz podpór pod mostami" -msgid "Don't support the whole bridge area which make support very large. Bridge usually can be printing directly without support if not very long" -msgstr "Nie używaj podpór dla całego obszaru mostu, co powoduje, że podpora jest bardzo duża. Most zwykle może być drukowany bezpośrednio bez podpór, jeśli nie jest zbyt długi" +msgid "" +"Don't support the whole bridge area which make support very large. Bridge " +"usually can be printing directly without support if not very long" +msgstr "" +"Nie używaj podpór dla całego obszaru mostu, co powoduje, że podpora jest " +"bardzo duża. Most zwykle może być drukowany bezpośrednio bez podpór, jeśli " +"nie jest zbyt długi" msgid "Thick bridges" msgstr "Grube mosty" -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 "Jeśli włączone, mosty są bardziej niezawodne, mogą obejmować dłuższe odległości, ale mogą wyglądać gorzej. Jeśli wyłączone, mosty wyglądają lepiej, ale są niezawodne tylko na krótszych dystansach." +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 "" +"Jeśli włączone, mosty są bardziej niezawodne, mogą obejmować dłuższe " +"odległości, ale mogą wyglądać gorzej. Jeśli wyłączone, mosty wyglądają " +"lepiej, ale są niezawodne tylko na krótszych dystansach." msgid "Thick internal bridges" msgstr "Grube wewnętrzne mosty" -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 "Jeśli włączone, będą używane grube wewnętrzne mosty. Zazwyczaj zaleca się użycie tej funkcji. Jednak rozważ jej wyłączenie, jeśli używasz dużych dysz." +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 "" +"Jeśli włączone, będą używane grube wewnętrzne mosty. Zazwyczaj zaleca się " +"użycie tej funkcji. Jednak rozważ jej wyłączenie, jeśli używasz dużych dysz." msgid "Don't filter out small internal bridges (beta)" msgstr "Nie filtruj małych wewnętrznych mostów (beta)" msgid "" -"This option can help reducing pillowing on top surfaces in heavily slanted or curved models.\n" +"This option can help reducing pillowing on top surfaces in heavily slanted " +"or curved models.\n" "\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" +"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" "\n" -"However, in heavily slanted or curved models especially where too low sparse infill density is used, this may result in curling of the unsupported solid infill, causing pillowing.\n" +"However, in heavily slanted or curved models especially where too low sparse " +"infill density is used, this may result in curling of the unsupported solid " +"infill, causing pillowing.\n" "\n" -"Enabling this option will print internal bridge layer over slightly unsupported internal solid infill. The options below control the amount of filtering, i.e. the amount of internal bridges created.\n" +"Enabling this option will print internal bridge layer over slightly " +"unsupported internal solid infill. The options below control the amount of " +"filtering, i.e. the amount of internal bridges created.\n" "\n" -"Disabled - Disables this option. This is the default behaviour and works well in most cases.\n" +"Disabled - Disables this option. This is the default behaviour and works " +"well in most cases.\n" "\n" -"Limited filtering - Creates internal bridges on heavily slanted surfaces, while avoiding creating uncessesary interal bridges. This works well for most difficult models.\n" +"Limited filtering - Creates internal bridges on heavily slanted surfaces, " +"while avoiding creating uncessesary interal bridges. This works well for " +"most difficult models.\n" "\n" -"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 unecessary bridges." +"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 unecessary bridges." msgstr "" -"To opcja może pomóc w redukcji efektu \"pillowing\" na górnych powierzchniach w mocno pochylonych lub zakrzywionych modelach.\n" +"To opcja może pomóc w redukcji efektu \"pillowing\" na górnych " +"powierzchniach w mocno pochylonych lub zakrzywionych modelach.\n" "\n" -"Domyślnie, małe wewnętrzne mosty są odfiltrowywane, a wewnętrzna struktura jest drukowana bezpośrednio na rzadkiej strukturze wypełnienia. To działa dobrze w większości przypadków, przyspieszając drukowanie bez zbyt dużego kompromisu w jakości górnej powierzchni. \n" +"Domyślnie, małe wewnętrzne mosty są odfiltrowywane, a wewnętrzna struktura " +"jest drukowana bezpośrednio na rzadkiej strukturze wypełnienia. To działa " +"dobrze w większości przypadków, przyspieszając drukowanie bez zbyt dużego " +"kompromisu w jakości górnej powierzchni. \n" "\n" -"Jednakże w mocno pochylonych lub zakrzywionych modelach, zwłaszcza przy niskiej gęstości struktury wypełnienia, może to prowadzić do wywijania się niewspieranej struktury wypełnienia, co powoduje efekt \"pillowing\".\n" +"Jednakże w mocno pochylonych lub zakrzywionych modelach, zwłaszcza przy " +"niskiej gęstości struktury wypełnienia, może to prowadzić do wywijania się " +"niewspieranej struktury wypełnienia, co powoduje efekt \"pillowing\".\n" "\n" -"Włączenie tej opcji spowoduje drukowanie wewnętrznej warstwy mostka nad nieco niewspieraną wewnętrzną strukturą wypełnienia. Poniższe opcje kontrolują stopień filtrowania, czyli ilość tworzonych wewnętrznych mostków.\n" +"Włączenie tej opcji spowoduje drukowanie wewnętrznej warstwy mostka nad " +"nieco niewspieraną wewnętrzną strukturą wypełnienia. Poniższe opcje " +"kontrolują stopień filtrowania, czyli ilość tworzonych wewnętrznych " +"mostków.\n" "\n" -"Wyłączone - Wyłącza tę opcję. Jest to zachowanie domyślne i działa dobrze w większości przypadków.\n" +"Wyłączone - Wyłącza tę opcję. Jest to zachowanie domyślne i działa dobrze w " +"większości przypadków.\n" "\n" -"Ograniczone filtrowanie - Tworzy wewnętrzne mosty na mocno pochylonych powierzchniach, unikając tworzenia niepotrzebnych wewnętrznych mostków. To działa dobrze dla większości trudnych modeli.\n" +"Ograniczone filtrowanie - Tworzy wewnętrzne mosty na mocno pochylonych " +"powierzchniach, unikając tworzenia niepotrzebnych wewnętrznych mostków. To " +"działa dobrze dla większości trudnych modeli.\n" "\n" -"Brak filtrowania - Tworzy wewnętrzne mosty na każdym potencjalnym wewnętrznym występie. Ta opcja jest przydatna dla mocno pochylonych modeli górnych powierzchni. Jednakże w większości przypadków tworzy zbyt wiele niepotrzebnych mostów." +"Brak filtrowania - Tworzy wewnętrzne mosty na każdym potencjalnym " +"wewnętrznym występie. Ta opcja jest przydatna dla mocno pochylonych modeli " +"górnych powierzchni. Jednakże w większości przypadków tworzy zbyt wiele " +"niepotrzebnych mostów." msgid "Disabled" msgstr "Wyłączona" @@ -8870,8 +10248,14 @@ msgstr "Bez filtracji" msgid "Max bridge length" msgstr "Maksymalna długość mostu" -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 "Maksymalna długość mostów, które nie potrzebują podpór. Ustaw na 0, jeśli chcesz, aby wszystkie mosty były podparte lub ustaw większą wartość, jeśli nie chcesz, aby jakiekolwiek most były podpierany." +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 "" +"Maksymalna długość mostów, które nie potrzebują podpór. Ustaw na 0, jeśli " +"chcesz, aby wszystkie mosty były podparte lub ustaw większą wartość, jeśli " +"nie chcesz, aby jakiekolwiek most były podpierany." msgid "End G-code" msgstr "Końcowy G-code" @@ -8882,8 +10266,12 @@ msgstr "Końcowy G-code po zakończeniu całego druku" msgid "Between Object Gcode" msgstr "G-code między obiektami" -msgid "Insert Gcode between objects. This parameter will only come into effect when you print your models object by object" -msgstr "Wstaw G-code między obiektami. Ten parametr będzie miał wpływ tylko wtedy, gdy drukujesz swoje modele obiekt po obiekcie" +msgid "" +"Insert Gcode between objects. This parameter will only come into effect when " +"you print your models object by object" +msgstr "" +"Wstaw G-code między obiektami. Ten parametr będzie miał wpływ tylko wtedy, " +"gdy drukujesz swoje modele obiekt po obiekcie" msgid "End G-code when finish the printing of this filament" msgstr "Końcowy G-code po zakończeniu drukowania tym filamentem" @@ -8892,22 +10280,28 @@ msgid "Ensure vertical shell thickness" msgstr "Zapewnij stałą grubość pionowej powłoki" 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" +"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 "" -"Dodaj pełne wypełnienie w pobliżu nachylonych powierzchni, aby zagwarantować grubość pionowej powłoki (górne + dolne pełne warstwy).\n" +"Dodaj pełne wypełnienie w pobliżu nachylonych powierzchni, aby zagwarantować " +"grubość pionowej powłoki (górne + dolne pełne warstwy).\n" "\n" -"Brak: Nie umieszczaj pełnego wypełnienia w żadnym miejscu. Uwaga: Korzystaj z tej opcji ostrożnie, jeśli twój model posiada nachylone powierzchnie.\n" +"Brak: Nie umieszczaj pełnego wypełnienia w żadnym miejscu. Uwaga: Korzystaj " +"z tej opcji ostrożnie, jeśli twój model posiada nachylone powierzchnie.\n" "\n" "Tylko krytyczne: Unikaj dodawania pełnego wypełnienia dla ścian.\n" "\n" -"Umiarkowane: Dodaj pełne wypełnienie tylko dla silnie nachylonych powierzchni.\n" +"Umiarkowane: Dodaj pełne wypełnienie tylko dla silnie nachylonych " +"powierzchni.\n" "\n" -"Wszystkie: Dodaj pełne wypełnienie dla wszystkich odpowiednio nachylonych powierzchni.\n" +"Wszystkie: Dodaj pełne wypełnienie dla wszystkich odpowiednio nachylonych " +"powierzchni.\n" "\n" "Domyślna wartość to Wszystkie." @@ -8951,30 +10345,54 @@ msgid "Bottom surface pattern" msgstr "Wzór dolnej powierzchni" msgid "Line pattern of bottom surface infill, not bridge infill" -msgstr "Wzór linii wypełnienia dolnej powierzchni, nie dotyczy wypełnienia mostu" +msgstr "" +"Wzór linii wypełnienia dolnej powierzchni, nie dotyczy wypełnienia mostu" msgid "Internal solid infill pattern" msgstr "Wzór wewnętrznego pełnego wypełnienia" -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 "Wzór linii wewnętrznego pełnego wypełnienia. Jeśli zostanie włączona funkcja wykrywania wąskiego wewnętrznego pełnego wypełnienia, dla małego obszaru użyty zostanie wzór koncentryczny." +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 "" +"Wzór linii wewnętrznego pełnego wypełnienia. Jeśli zostanie włączona funkcja " +"wykrywania wąskiego wewnętrznego pełnego wypełnienia, dla małego obszaru " +"użyty zostanie wzór koncentryczny." -msgid "Line width of outer wall. If expressed as a %, it will be computed over the nozzle diameter." -msgstr "Szerokość zewnętrznej ściany. Jeśli wyrażona w %, zostanie obliczona na podstawie średnicy dyszy." +msgid "" +"Line width of outer wall. If expressed as a %, it will be computed over the " +"nozzle diameter." +msgstr "" +"Szerokość zewnętrznej ściany. Jeśli wyrażona w %, zostanie obliczona na " +"podstawie średnicy dyszy." -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 "Prędkość druku zewnętrznej ściany, która jest najbardziej widoczną zewnętrzną powłoką modelu . Zwykle jest drukowana wolniej niż wewnętrzne ściany, aby uzyskać lepszą jej jakość." +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 "" +"Prędkość druku zewnętrznej ściany, która jest najbardziej widoczną " +"zewnętrzną powłoką modelu . Zwykle jest drukowana wolniej niż wewnętrzne " +"ściany, aby uzyskać lepszą jej jakość." msgid "Small perimeters" msgstr "Małe obrysy" -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 "To ustawienie reguluje prędkość obrysów posiadających promień <= próg małego obrysu (zazwyczaj chodzi o otwory). Jeśli ustawisz wartość procentową (np. 80%) to zostanie obliczona z prędkości obrysów ustawionej powyżej. Ustaw zero, aby użyć ustawień automatycznych." +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 "" +"To ustawienie reguluje prędkość obrysów posiadających promień <= próg małego " +"obrysu (zazwyczaj chodzi o otwory). Jeśli ustawisz wartość procentową (np. " +"80%) to zostanie obliczona z prędkości obrysów ustawionej powyżej. Ustaw " +"zero, aby użyć ustawień automatycznych." msgid "Small perimeters threshold" msgstr "Próg małego obrysu" -msgid "This sets the threshold for small perimeter length. Default threshold is 0mm" +msgid "" +"This sets the threshold for small perimeter length. Default threshold is 0mm" msgstr "To ustawia próg długości małych obrysów. Domyślny próg to 0 mm" msgid "Walls printing order" @@ -8983,21 +10401,50 @@ msgstr "Kolejność drukowania ścian" 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 neighouring 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" +"Use Inner/Outer for best overhangs. This is because the overhanging walls " +"can adhere to a neighouring 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 recomended against the Outer/Inner option in most cases. \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 recomended 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.\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.\n" "\n" " " msgstr "" "Sekwencja druku zewnętrznych i wewnętrznych ścian.\n" "\n" -"Użyj opcji \"wewnętrzna/zewnętrzna\" dla najlepszego efektu nawisów. Jest to spowodowane tym, że ściany zwisające mogą przylegać do sąsiednich obwodów podczas drukowania. Jednakże, opcja ta skutkuje delikatnie obniżoną jakością powierzchni, ponieważ zewnętrzny obrys jest deformowany przez ścianę wewnętrzną, która jest do niej dociskana.\n" +"Użyj opcji \"wewnętrzna/zewnętrzna\" dla najlepszego efektu nawisów. Jest to " +"spowodowane tym, że ściany zwisające mogą przylegać do sąsiednich obwodów " +"podczas drukowania. Jednakże, opcja ta skutkuje delikatnie obniżoną jakością " +"powierzchni, ponieważ zewnętrzny obrys jest deformowany przez ścianę " +"wewnętrzną, która jest do niej dociskana.\n" "\n" -"Użyj opcji \"wewnętrzna/zewnętrzna/wewnętrzna\" dla najlepszego wykończenia zewnętrznej powierzchni i dokładności wymiarowej, ponieważ zewnętrzna ściana jest drukowana niezakłócona przez wewnętrzny obwód. Jednak wydajność druku przy nawisach będzie niższa, ponieważ nie ma wewnętrznego obwodu, który mógłby podeprzeć druk zewnętrznej ściany. Ta opcja wymaga co najmniej 3 ścian, aby była skuteczna, ponieważ najpierw drukuje wewnętrzne ściany zaczynając od trzeciego obwodu, następnie zewnętrzny obwód i w końcu pierwszy wewnętrzny obwód. W większości przypadków ta opcja jest polecana jako alternatywa dla opcji zewnętrzna/wewnętrzna.\n" +"Użyj opcji \"wewnętrzna/zewnętrzna/wewnętrzna\" dla najlepszego wykończenia " +"zewnętrznej powierzchni i dokładności wymiarowej, ponieważ zewnętrzna ściana " +"jest drukowana niezakłócona przez wewnętrzny obwód. Jednak wydajność druku " +"przy nawisach będzie niższa, ponieważ nie ma wewnętrznego obwodu, który " +"mógłby podeprzeć druk zewnętrznej ściany. Ta opcja wymaga co najmniej 3 " +"ścian, aby była skuteczna, ponieważ najpierw drukuje wewnętrzne ściany " +"zaczynając od trzeciego obwodu, następnie zewnętrzny obwód i w końcu " +"pierwszy wewnętrzny obwód. W większości przypadków ta opcja jest polecana " +"jako alternatywa dla opcji zewnętrzna/wewnętrzna.\n" "\n" -"Użyj opcji \"zewnętrzna/wewnętrzna\", aby uzyskać taką samą jakość zewnętrznej ściany i precyzję wymiarową jak w opcji \"wewnętrzna/zewnętrzna/wewnętrzna\". Jednakże, szwy na osi Z będą wydawać się mniej spójne, ponieważ pierwsza ekstruzja nowej warstwy rozpoczyna się na widocznej powierzchni." +"Użyj opcji \"zewnętrzna/wewnętrzna\", aby uzyskać taką samą jakość " +"zewnętrznej ściany i precyzję wymiarową jak w opcji \"wewnętrzna/zewnętrzna/" +"wewnętrzna\". Jednakże, szwy na osi Z będą wydawać się mniej spójne, " +"ponieważ pierwsza ekstruzja nowej warstwy rozpoczyna się na widocznej " +"powierzchni." msgid "Inner/Outer" msgstr "Wewnętrzna/Zewnętrzna" @@ -9012,27 +10459,44 @@ msgid "Print infill first" msgstr "Drukuj najpierw wypełnienie" msgid "" -"Order of wall/infill. When the tickbox is unchecked the walls are printed first, which works best in most cases.\n" +"Order of wall/infill. When the tickbox is unchecked the walls are printed " +"first, which works best in most cases.\n" "\n" -"Printing walls first may help with extreme overhangs as the walls have the neighbouring infill to adhere to. However, the infill will slighly 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." +"Printing walls first may help with extreme overhangs as the walls have the " +"neighbouring infill to adhere to. However, the infill will slighly 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 "" -"Kolejność drukowania ścian/wypełnienia. Gdy pole wyboru nie jest zaznaczone, najpierw drukowane są ściany, co w większości przypadków działa najlepiej.\n" +"Kolejność drukowania ścian/wypełnienia. Gdy pole wyboru nie jest zaznaczone, " +"najpierw drukowane są ściany, co w większości przypadków działa najlepiej.\n" "\n" -"Drukowanie najpierw ścian, może pomóc przy ekstremalnych nawisach, ponieważ ściany mają sąsiednie wypełnienie, do którego przylegają. Jednak wypełnienie może nieznacznie wypchnąć tam wydrukowane ściany w miejscu gdzie są do nich przymocowane. Skutkuje to gorszym wykończeniem zewnętrznej powierzchni. Może to również spowodować prześwitywanie wypełnienia przez zewnętrzne powierzchnie części." +"Drukowanie najpierw ścian, może pomóc przy ekstremalnych nawisach, ponieważ " +"ściany mają sąsiednie wypełnienie, do którego przylegają. Jednak wypełnienie " +"może nieznacznie wypchnąć tam wydrukowane ściany w miejscu gdzie są do nich " +"przymocowane. Skutkuje to gorszym wykończeniem zewnętrznej powierzchni. Może " +"to również spowodować prześwitywanie wypełnienia przez zewnętrzne " +"powierzchnie części." msgid "Wall loop direction" msgstr "Kierunek obwodu ściany" msgid "" -"The direction which the wall loops are extruded when looking down from the top.\n" +"The direction which the wall loops are extruded when looking down from the " +"top.\n" "\n" -"By default all walls are extruded in counter-clockwise, unless Reverse on odd is enabled. Set this to any option other than Auto will force the wall direction regardless of the Reverse on odd.\n" +"By default all walls are extruded in counter-clockwise, unless Reverse on " +"odd is enabled. Set this to any option other than Auto will force the wall " +"direction regardless of the Reverse on odd.\n" "\n" "This option will be disabled if sprial vase mode is enabled." msgstr "" "Kierunek, w którym są drukowane obwody ściany, patrząc z góry.\n" "\n" -"Domyślnie wszystkie ściany są drukowane w kierunku przeciwnym do ruchu wskazówek zegara, chyba że włączona jest opcja Odwróć dla nieparzystych warstw.Ustawienie tego na dowolną inną opcję niż Auto spowoduje, że kierunek ściany będzie ustalony niezależnie od ustawienia Odwróć dla nieparzystych.\n" +"Domyślnie wszystkie ściany są drukowane w kierunku przeciwnym do ruchu " +"wskazówek zegara, chyba że włączona jest opcja Odwróć dla nieparzystych " +"warstw.Ustawienie tego na dowolną inną opcję niż Auto spowoduje, że kierunek " +"ściany będzie ustalony niezależnie od ustawienia Odwróć dla nieparzystych.\n" "\n" "Ta opcja będzie wyłączona, jeśli aktywowany jest tryb Wazy.\n" "\n" @@ -9049,17 +10513,29 @@ msgstr "Zgodnie" msgid "Height to rod" msgstr "Odległość od prowadnicy" -msgid "Distance of the nozzle tip to the lower rod. Used for collision avoidance in by-object printing." -msgstr "Odległość od końcówki dyszy do dolnej części prowadnicy. Używane do unikania kolizji w druku według obiektu." +msgid "" +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " +"by-object printing." +msgstr "" +"Odległość od końcówki dyszy do dolnej części prowadnicy. Używane do unikania " +"kolizji w druku według obiektu." msgid "Height to lid" msgstr "Odległość do pokrywy" -msgid "Distance of the nozzle tip to the lid. Used for collision avoidance in by-object printing." -msgstr "Odległość od końcówki dyszy do pokrywy. Używane do unikania kolizji w druku według obiektu." +msgid "" +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" +"object printing." +msgstr "" +"Odległość od końcówki dyszy do pokrywy. Używane do unikania kolizji w druku " +"według obiektu." -msgid "Clearance radius around extruder. Used for collision avoidance in by-object printing." -msgstr "Promień odstępu wokół extrudera. Używane do unikania kolizji w druku obiekt-po-obiekcie." +msgid "" +"Clearance radius around extruder. Used for collision avoidance in by-object " +"printing." +msgstr "" +"Promień odstępu wokół extrudera. Używane do unikania kolizji w druku obiekt-" +"po-obiekcie." msgid "Nozzle height" msgstr "Wysokość dyszy" @@ -9070,26 +10546,69 @@ msgstr "Wysokość końcówki dyszy." msgid "Bed mesh min" msgstr "Min. obszar skanowania stołu" -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 "Ta opcja ustawia minimalny punkt dla dozwolonego obszaru siatki stołu. Ze względu na przesunięcie XY sondy większość drukarek nie jest w stanie zeskanować całego stołu. Aby upewnić się, że punkt skanowania nie wychodzi poza obszar stołu, minimalne i maksymalne punkty siatki stołu powinny być odpowiednio ustawione. OrcaSlicer sprawdza, czy wartości adaptive_bed_mesh_min/adaptive_bed_mesh_max nie przekraczają tych punktów min./maks. Te informacje zazwyczaj można uzyskać od producenta drukarki. Domyślne ustawienie to (-99999, -99999), co oznacza brak ograniczeń, umożliwiając skanowanie całego stołu." +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 "" +"Ta opcja ustawia minimalny punkt dla dozwolonego obszaru siatki stołu. Ze " +"względu na przesunięcie XY sondy większość drukarek nie jest w stanie " +"zeskanować całego stołu. Aby upewnić się, że punkt skanowania nie wychodzi " +"poza obszar stołu, minimalne i maksymalne punkty siatki stołu powinny być " +"odpowiednio ustawione. OrcaSlicer sprawdza, czy wartości " +"adaptive_bed_mesh_min/adaptive_bed_mesh_max nie przekraczają tych punktów " +"min./maks. Te informacje zazwyczaj można uzyskać od producenta drukarki. " +"Domyślne ustawienie to (-99999, -99999), co oznacza brak ograniczeń, " +"umożliwiając skanowanie całego stołu." msgid "Bed mesh max" msgstr "Maks. obszar skanowania stołu" -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 "Ta opcja ustawia maksymalny punkt dla dozwolonego obszaru siatki stołu. Ze względu na przesunięcie XY sondy większość drukarek nie jest w stanie zeskanować całego stołu. Aby upewnić się, że punkt skanowania nie wychodzi poza obszar stołu, minimalne i maksymalne punkty siatki stołu powinny być odpowiednio ustawione. OrcaSlicer sprawdza, czy wartości adaptive_bed_mesh_min/adaptive_bed_mesh_max nie przekraczają tych punktów min./maks. Te informacje zazwyczaj można uzyskać od producenta drukarki. Domyślne ustawienie to (-99999, -99999), co oznacza brak ograniczeń, umożliwiając skanowanie całego stołu" +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 "" +"Ta opcja ustawia maksymalny punkt dla dozwolonego obszaru siatki stołu. Ze " +"względu na przesunięcie XY sondy większość drukarek nie jest w stanie " +"zeskanować całego stołu. Aby upewnić się, że punkt skanowania nie wychodzi " +"poza obszar stołu, minimalne i maksymalne punkty siatki stołu powinny być " +"odpowiednio ustawione. OrcaSlicer sprawdza, czy wartości " +"adaptive_bed_mesh_min/adaptive_bed_mesh_max nie przekraczają tych punktów " +"min./maks. Te informacje zazwyczaj można uzyskać od producenta drukarki. " +"Domyślne ustawienie to (-99999, -99999), co oznacza brak ograniczeń, " +"umożliwiając skanowanie całego stołu" msgid "Probe point distance" msgstr "Odległość między punktami skanowania" -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 "Ta opcja ustawia preferowaną odległość między punktami skanowania (rozmiar siatki) w kierunku X i Y, przy czym wartość domyślna dla obu kierunków wynosi 50 mm." +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 "" +"Ta opcja ustawia preferowaną odległość między punktami skanowania (rozmiar " +"siatki) w kierunku X i Y, przy czym wartość domyślna dla obu kierunków " +"wynosi 50 mm." msgid "Mesh margin" msgstr "Obszar skanowania" -msgid "This option determines the additional distance by which the adaptive bed mesh area should be expanded in the XY directions." -msgstr "Ta opcja określa dodatkową odległość, o którą ma być rozszerzony adaptacyjny obszar siatki stołu w kierunkach XY." +msgid "" +"This option determines the additional distance by which the adaptive bed " +"mesh area should be expanded in the XY directions." +msgstr "" +"Ta opcja określa dodatkową odległość, o którą ma być rozszerzony adaptacyjny " +"obszar siatki stołu w kierunkach XY." msgid "Extruder Color" msgstr "Kolor extrudera" @@ -9103,32 +10622,64 @@ msgstr "Margines ekstrudera" msgid "Flow ratio" msgstr "Współczynnik przepływu" -msgid "The material may have volumetric change after switching between molten state and crystalline state. This setting changes all extrusion flow of this filament in gcode proportionally. Recommended value range is between 0.95 and 1.05. Maybe you can tune this value to get nice flat surface when there has slight overflow or underflow" -msgstr "Materiał może ulegać zmianie objętościowej po przejściu między stanem ciekłym a krystalicznym. Ustawienie to proporcjonalnie zmienia przepływ ekstruzji tego filamentu w G-code. Zalecany zakres wartości mieści się między 0,95 a 1,05. Być może możesz dostroić tę wartość, aby uzyskać gładką powierzchnię, gdy występuje lekkie przelewanie lub niedomiar" +msgid "" +"The material may have volumetric change after switching between molten state " +"and crystalline state. This setting changes all extrusion flow of this " +"filament in gcode proportionally. Recommended value range is between 0.95 " +"and 1.05. Maybe you can tune this value to get nice flat surface when there " +"has slight overflow or underflow" +msgstr "" +"Materiał może ulegać zmianie objętościowej po przejściu między stanem " +"ciekłym a krystalicznym. Ustawienie to proporcjonalnie zmienia przepływ " +"ekstruzji tego filamentu w G-code. Zalecany zakres wartości mieści się " +"między 0,95 a 1,05. Być może możesz dostroić tę wartość, aby uzyskać gładką " +"powierzchnię, gdy występuje lekkie przelewanie lub niedomiar" msgid "Enable pressure advance" msgstr "Włącz przyspieszenie ciśnienia" -msgid "Enable pressure advance, auto calibration result will be overwriten once enabled." -msgstr "Włącz przyspieszenie ciśnienia, wynik automatycznej kalibracji zostanie nadpisany po włączeniu." +msgid "" +"Enable pressure advance, auto calibration result will be overwriten once " +"enabled." +msgstr "" +"Włącz przyspieszenie ciśnienia, wynik automatycznej kalibracji zostanie " +"nadpisany po włączeniu." msgid "Pressure advance(Klipper) AKA Linear advance factor(Marlin)" -msgstr "Przyspieszenie ciśnienia (Klipper), znane również jako współczynnik przyspieszenia liniowego (Marlin)." +msgstr "" +"Przyspieszenie ciśnienia (Klipper), znane również jako współczynnik " +"przyspieszenia liniowego (Marlin)." -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 "Domyślna szerokość linii, jeśli inne szerokości linii są ustawione na 0. Jeśli wyrażona w %, zostanie obliczona na podstawie średnicy dyszy." +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 "" +"Domyślna szerokość linii, jeśli inne szerokości linii są ustawione na 0. " +"Jeśli wyrażona w %, zostanie obliczona na podstawie średnicy dyszy." msgid "Keep fan always on" msgstr "Wentylator zawsze włączony" -msgid "If enable this setting, part cooling fan will never be stoped and will run at least at minimum speed to reduce the frequency of starting and stoping" -msgstr "Jeśli włączysz to ustawienie, wentylator chłodzący części nigdy nie zostanie zatrzymany i będzie pracował przynajmniej z minimalną prędkością, aby zmniejszyć częstotliwość włączania i wyłączania" +msgid "" +"If enable this setting, part cooling fan will never be stoped and will run " +"at least at minimum speed to reduce the frequency of starting and stoping" +msgstr "" +"Jeśli włączysz to ustawienie, wentylator chłodzący części nigdy nie zostanie " +"zatrzymany i będzie pracował przynajmniej z minimalną prędkością, aby " +"zmniejszyć częstotliwość włączania i wyłączania" msgid "Layer time" msgstr "Czas warstwy" -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 "Wentylator chłodzący części zostanie włączony dla warstw, których szacowany czas jest krótszy niż ta wartość. Prędkość wentylatora jest interpolowana między minimalną a maksymalną prędkością wentylatora zgodnie z czasem druku warstwy" +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 "" +"Wentylator chłodzący części zostanie włączony dla warstw, których szacowany " +"czas jest krótszy niż ta wartość. Prędkość wentylatora jest interpolowana " +"między minimalną a maksymalną prędkością wentylatora zgodnie z czasem druku " +"warstwy" msgid "Default color" msgstr "Domyślny kolor" @@ -9145,11 +10696,22 @@ msgstr "Tutaj możesz umieścić notatki dotyczące filamentu." msgid "Required nozzle HRC" msgstr "Wymagana dysza HRC" -msgid "Minimum HRC of nozzle required to print the filament. Zero means no checking of nozzle's HRC." -msgstr "Minimalna twardość dyszy HRC wymagana do druku filamentu. Zero oznacza brak sprawdzania twardości HRC dyszy." +msgid "" +"Minimum HRC of nozzle required to print the filament. Zero means no checking " +"of nozzle's HRC." +msgstr "" +"Minimalna twardość dyszy HRC wymagana do druku filamentu. Zero oznacza brak " +"sprawdzania twardości HRC dyszy." -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 "To ustawienie określa, ile objętości filamentu może być stopione i wyciśnięte na sekundę. Prędkość drukowania jest ograniczana przez maksymalną prędkość przepływu, w przypadku zbyt wysokiego i nierealistycznego ustawienia prędkości. Nie może wynosić zero" +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 "" +"To ustawienie określa, ile objętości filamentu może być stopione i " +"wyciśnięte na sekundę. Prędkość drukowania jest ograniczana przez maksymalną " +"prędkość przepływu, w przypadku zbyt wysokiego i nierealistycznego " +"ustawienia prędkości. Nie może wynosić zero" msgid "mm³/s" msgstr "mm³/s" @@ -9158,25 +10720,41 @@ msgid "Filament load time" msgstr "Czas ładowania filamentu" msgid "Time to load new filament when switch filament. For statistics only" -msgstr "Czas ładowania nowego filamentu podczas zmiany filamentu. Tylko do celów statystycznych" +msgstr "" +"Czas ładowania nowego filamentu podczas zmiany filamentu. Tylko do celów " +"statystycznych" msgid "Filament unload time" msgstr "Czas rozładowania filamentu" msgid "Time to unload old filament when switch filament. For statistics only" -msgstr "Czas rozładunku poprzedniego filamentu podczas zmiany filamentu. Tylko do celów statystycznych" +msgstr "" +"Czas rozładunku poprzedniego filamentu podczas zmiany filamentu. Tylko do " +"celów statystycznych" -msgid "Filament diameter is used to calculate extrusion in gcode, so it's important and should be accurate" -msgstr "Średnica filamentu jest używana do obliczania ekstruzji w G-code, więc jest bardzo ważna i powinna być dokładna" +msgid "" +"Filament diameter is used to calculate extrusion in gcode, so it's important " +"and should be accurate" +msgstr "" +"Średnica filamentu jest używana do obliczania ekstruzji w G-code, więc jest " +"bardzo ważna i powinna być dokładna" msgid "Shrinkage" msgstr "Skurcz" #, 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. Only the filament used for the perimeter is taken into account.\n" -"Be sure to allow enough space between objects, as this compensation is done after the checks." -msgstr "Podaj procent skurczu, którego filament doświadczy po schłodzeniu (94% jeśli zmierzyłeś 94mm zamiast 100mm). Część będzie skalowana w płaszczyźnie xy, aby to zrekompensować. Wzięto pod uwagę tylko filament używany do obwodu. Upewnij się, że pozostawiłeś wystarczająco dużo miejsca między obiektami, ponieważ ta kompensacja jest wykonywana po przeprowadzeniu kontroli." +"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. Only the filament used for the perimeter is taken into account.\n" +"Be sure to allow enough space between objects, as this compensation is done " +"after the checks." +msgstr "" +"Podaj procent skurczu, którego filament doświadczy po schłodzeniu (94% jeśli " +"zmierzyłeś 94mm zamiast 100mm). Część będzie skalowana w płaszczyźnie xy, " +"aby to zrekompensować. Wzięto pod uwagę tylko filament używany do obwodu. " +"Upewnij się, że pozostawiłeś wystarczająco dużo miejsca między obiektami, " +"ponieważ ta kompensacja jest wykonywana po przeprowadzeniu kontroli." msgid "Loading speed" msgstr "Prędkość ładowania" @@ -9193,26 +10771,44 @@ msgstr "Prędkość używana na samym początku fazy ładowania." msgid "Unloading speed" msgstr "Prędkość rozładowania" -msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming)." -msgstr "Prędkość stosowana do usuwania filamentu na wieży czyszczącej (nie ma wpływu na wstępną część usuwania filamentu, następującą bezpośrednio po procesie wtłaczania)." +msgid "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming)." +msgstr "" +"Prędkość stosowana do usuwania filamentu na wieży czyszczącej (nie ma wpływu " +"na wstępną część usuwania filamentu, następującą bezpośrednio po procesie " +"wtłaczania)." msgid "Unloading speed at the start" msgstr "Początkowa prędkość rozładowania" -msgid "Speed used for unloading the tip of the filament immediately after ramming." -msgstr "Prędkość używana do rozładowywania końcówki filamentu zaraz po ramming-u." +msgid "" +"Speed used for unloading the tip of the filament immediately after ramming." +msgstr "" +"Prędkość używana do rozładowywania końcówki filamentu zaraz po ramming-u." msgid "Delay after unloading" msgstr "Opóźnienie po rozładowaniu" -msgid "Time to wait after the filament is unloaded. May help to get reliable toolchanges with flexible materials that may need more time to shrink to original dimensions." -msgstr "Czas bezczynności po rozładowaniu filamentu. Może pomóc w bezproblemowej zmianie narzędzia podczas druku z materiałami elastycznymi, które mogą potrzebować więcej czasu na skurcz termiczny wracając do nominalnego rozmiaru." +msgid "" +"Time to wait after the filament is unloaded. May help to get reliable " +"toolchanges with flexible materials that may need more time to shrink to " +"original dimensions." +msgstr "" +"Czas bezczynności po rozładowaniu filamentu. Może pomóc w bezproblemowej " +"zmianie narzędzia podczas druku z materiałami elastycznymi, które mogą " +"potrzebować więcej czasu na skurcz termiczny wracając do nominalnego " +"rozmiaru." msgid "Number of cooling moves" msgstr "Liczba ruchów chłodzących" -msgid "Filament is cooled by being moved back and forth in the cooling tubes. Specify desired number of these moves." -msgstr "Filament jest chłodzony poprzez poruszanie go tam i z powrotem w ruchach chłodzących. Określ pożądaną liczbę tych ruchów." +msgid "" +"Filament is cooled by being moved back and forth in the cooling tubes. " +"Specify desired number of these moves." +msgstr "" +"Filament jest chłodzony poprzez poruszanie go tam i z powrotem w ruchach " +"chłodzących. Określ pożądaną liczbę tych ruchów." msgid "Speed of the first cooling move" msgstr "Prędkość pierwszego ruchu chłodzącego" @@ -9223,8 +10819,18 @@ msgstr "Ruchy chłodzące stopniowo przyspieszają, zaczynając od tej prędkoś msgid "Minimal purge on wipe tower" msgstr "Minimalna objętość czyszczenia" -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 "Po zmianie narzędzia dokładna pozycja nowo załadowanego filamentu wewnątrz dyszy może nie być znana, a ciśnienie filamentu prawdopodobnie jeszcze nie jest stabilne. Przed wyczyszczeniem głowicy drukującej do wypełnienia lub do obiektu, OrcaSlicer zawsze wstępnie wytłoczy tę ilość filamentu do wieży czyszczącej, aby zapewnić niezawodną dalszą ekstruzję." +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 "" +"Po zmianie narzędzia dokładna pozycja nowo załadowanego filamentu wewnątrz " +"dyszy może nie być znana, a ciśnienie filamentu prawdopodobnie jeszcze nie " +"jest stabilne. Przed wyczyszczeniem głowicy drukującej do wypełnienia lub do " +"obiektu, OrcaSlicer zawsze wstępnie wytłoczy tę ilość filamentu do wieży " +"czyszczącej, aby zapewnić niezawodną dalszą ekstruzję." msgid "Speed of the last cooling move" msgstr "Prędkość ostatniego ruchu chłodzącego" @@ -9232,23 +10838,48 @@ msgstr "Prędkość ostatniego ruchu chłodzącego" msgid "Cooling moves are gradually accelerating towards this speed." msgstr "Ruchy chłodzące stopniowo przyspieszają do tej prędkości." -msgid "Time for the printer firmware (or the Multi Material Unit 2.0) to load a new filament during a tool change (when executing the T code). This time is added to the total print time by the G-code time estimator." -msgstr "Czas, który drukarka (lub dodatek Multi Material 2.0) poświęca na ładowanie nowego filamentu podczas zmiany narzędzia (przy wykonywaniu kodu T). Ten czas jest dodawany do szacowanego czasu druku." +msgid "" +"Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " +"filament during a tool change (when executing the T code). This time is " +"added to the total print time by the G-code time estimator." +msgstr "" +"Czas, który drukarka (lub dodatek Multi Material 2.0) poświęca na ładowanie " +"nowego filamentu podczas zmiany narzędzia (przy wykonywaniu kodu T). Ten " +"czas jest dodawany do szacowanego czasu druku." msgid "Ramming parameters" msgstr "Parametry wyciskania" -msgid "This string is edited by RammingDialog and contains ramming specific parameters." -msgstr "Ten ciąg jest edytowany przez RammingDialog i zawiera parametry właściwe dla wyciskania." +msgid "" +"This string is edited by RammingDialog and contains ramming specific " +"parameters." +msgstr "" +"Ten ciąg jest edytowany przez RammingDialog i zawiera parametry właściwe dla " +"wyciskania." -msgid "Time for the printer firmware (or the Multi Material Unit 2.0) to unload a filament during a tool change (when executing the T code). This time is added to the total print time by the G-code time estimator." -msgstr "Czas, który drukarka (lub dodatek Multi Material 2.0) poświęca na rozładowanie nowego filamentu podczas zmiany narzędzia (przy wykonywaniu kodu T). Ten czas jest dodawany do szacowanego czasu druku." +msgid "" +"Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " +"filament during a tool change (when executing the T code). This time is " +"added to the total print time by the G-code time estimator." +msgstr "" +"Czas, który drukarka (lub dodatek Multi Material 2.0) poświęca na " +"rozładowanie nowego filamentu podczas zmiany narzędzia (przy wykonywaniu " +"kodu T). Ten czas jest dodawany do szacowanego czasu druku." msgid "Enable ramming for multitool setups" msgstr "Włącz wbijanie dla konfiguracji wielonarzędziowych" -msgid "Perform ramming when using multitool 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 toolchange. This option is only used when the wipe tower is enabled." -msgstr "Wykonuj raming podczas korzystania z drukarki wieloinstrumentowej (tj. gdy opcja „Pojedynczy extruder wielomateriałowy” w ustawieniach drukarki jest odznaczona). Po zaznaczeniu tej opcji, niewielka ilość filamentu jest szybko wytłaczana na wieżę czyszczącą tuż przed zmianą narzędzia. Ta opcja jest używana tylko wtedy, gdy wieża czyszcząca jest włączona." +msgid "" +"Perform ramming when using multitool 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 " +"toolchange. This option is only used when the wipe tower is enabled." +msgstr "" +"Wykonuj raming podczas korzystania z drukarki wieloinstrumentowej (tj. gdy " +"opcja „Pojedynczy extruder wielomateriałowy” w ustawieniach drukarki jest " +"odznaczona). Po zaznaczeniu tej opcji, niewielka ilość filamentu jest szybko " +"wytłaczana na wieżę czyszczącą tuż przed zmianą narzędzia. Ta opcja jest " +"używana tylko wtedy, gdy wieża czyszcząca jest włączona." msgid "Multitool ramming volume" msgstr "Objętość ramingu wieloinstrumentowego" @@ -9277,20 +10908,32 @@ msgstr "Typ filamentu" msgid "Soluble material" msgstr "Materiał rozpuszczalny" -msgid "Soluble material is commonly used to print support and support interface" -msgstr "Materiał rozpuszczalny jest powszechnie używany do drukowania podpór i warstw łączących podpory z modelem" +msgid "" +"Soluble material is commonly used to print support and support interface" +msgstr "" +"Materiał rozpuszczalny jest powszechnie używany do drukowania podpór i " +"warstw łączących podpory z modelem" msgid "Support material" msgstr "Materiał podporowy" -msgid "Support material is commonly used to print support and support interface" -msgstr "Materiał podporowy jest powszechnie używany do drukowania podpór i warstw łączących podpory z modelem" +msgid "" +"Support material is commonly used to print support and support interface" +msgstr "" +"Materiał podporowy jest powszechnie używany do drukowania podpór i warstw " +"łączących podpory z modelem" msgid "Softening temperature" msgstr "Temperatura mięknięcia" -msgid "The material softens at this temperature, so when the bed temperature is equal to or greater than it, it's highly recommended to open the front door and/or remove the upper glass to avoid cloggings." -msgstr "Materiał mięknie w tej temperaturze, więc gdy temperatura stołu jest równa lub wyższa, zaleca się otwarcie drzwi przednich i/lub usunięcie górnej szyby, aby uniknąć zatykania." +msgid "" +"The material softens at this temperature, so when the bed temperature is " +"equal to or greater than it, it's highly recommended to open the front door " +"and/or remove the upper glass to avoid cloggings." +msgstr "" +"Materiał mięknie w tej temperaturze, więc gdy temperatura stołu jest równa " +"lub wyższa, zaleca się otwarcie drzwi przednich i/lub usunięcie górnej " +"szyby, aby uniknąć zatykania." msgid "Price" msgstr "Cena" @@ -9313,13 +10956,19 @@ msgstr "(Nieokreślone)" msgid "Sparse infill direction" msgstr "Kierunek wzoru wypełnienia" -msgid "Angle for sparse infill pattern, which controls the start or main direction of line" -msgstr "Kąt dla wzoru wypełnienia, który kontroluje początek lub główny kierunek linii" +msgid "" +"Angle for sparse infill pattern, which controls the start or main direction " +"of line" +msgstr "" +"Kąt dla wzoru wypełnienia, który kontroluje początek lub główny kierunek " +"linii" msgid "Solid infill direction" msgstr "Kierunek wzoru pełnego wypełnienia" -msgid "Angle for solid infill pattern, which controls the start or main direction of line" +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" msgstr "Kąt wyznaczający główny kierunek linii dla wzoru pełnego wypełnienia" msgid "Rotate solid infill direction" @@ -9332,8 +10981,12 @@ msgid "Sparse infill density" msgstr "Gęstość wypełnienia" #, 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 "Gęstość wewnętrznego wypełnienia, 100% przekształca całe rzadkie wypełnienie w wypełnienie pełne, a użyty zostanie wzór wewnętrznego pełnego wypełnienia" +msgid "" +"Density of internal sparse infill, 100% turns all sparse infill into solid " +"infill and internal solid infill pattern will be used" +msgstr "" +"Gęstość wewnętrznego wypełnienia, 100% przekształca całe rzadkie wypełnienie " +"w wypełnienie pełne, a użyty zostanie wzór wewnętrznego pełnego wypełnienia" msgid "Sparse infill pattern" msgstr "Wzór wypełnienia" @@ -9378,11 +11031,28 @@ msgid "Sparse infill anchor length" msgstr "Długość kotwiczenia wypełnienia" 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." +"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 "" -"Połączenie wypełnienia z wewnętrznym obrysem poprzez dodawanie krótkich segmentów obrysu. Gdy wartość jest podana w procentach (przykład: 15%), zostanie ona obliczona na podstawie szerokości ścieżki wypełnienia. Slicer stara się łączyć dwie sąsiednie linie wypełnienia za pomocą krótkiego segmentu obrysu. W sytuacji, gdy nie znajdzie segmentu krótszego niż określony parametr, linia wypełnienia zostanie połączona z segmentem obrysu tylko z jednej strony. Długość tego segmentu zostanie ograniczona do wartości określonej w parametrze infill_anchor, ale nie przekroczy tej wartości. \n" -"Aby wyłączyć funkcję kotwiczenia, należy ustawić wartość na zero. Ustaw zero, aby wyłączyć kotwiczenie obrysów do pojedynczej linii wypełnienia." +"Połączenie wypełnienia z wewnętrznym obrysem poprzez dodawanie krótkich " +"segmentów obrysu. Gdy wartość jest podana w procentach (przykład: 15%), " +"zostanie ona obliczona na podstawie szerokości ścieżki wypełnienia. Slicer " +"stara się łączyć dwie sąsiednie linie wypełnienia za pomocą krótkiego " +"segmentu obrysu. W sytuacji, gdy nie znajdzie segmentu krótszego niż " +"określony parametr, linia wypełnienia zostanie połączona z segmentem obrysu " +"tylko z jednej strony. Długość tego segmentu zostanie ograniczona do " +"wartości określonej w parametrze infill_anchor, ale nie przekroczy tej " +"wartości. \n" +"Aby wyłączyć funkcję kotwiczenia, należy ustawić wartość na zero. Ustaw " +"zero, aby wyłączyć kotwiczenie obrysów do pojedynczej linii wypełnienia." msgid "0 (no open anchors)" msgstr "0 (brak otwartych kotwic)" @@ -9394,11 +11064,27 @@ msgid "Maximum length of the infill anchor" msgstr "Maksymalna długość kotwiczenia wypełnienia" 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." +"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 "" -"Łączenie wypełnienia z wewnętrznym obrysem przez dodanie krótkiego segmentu obrysu. Jeśli wyrażone w procentach (np. 15%), zostanie obliczone z szerokości ścieżki wypełnienia. Orca Slicer spróbuje połączyć dwie najbliższe linie wypełnienia krótkim segmentem obrysu. Jeśli nie zostanie znaleziony segment krótszy, niż ten parametr, linia wypełnienia zostanie dołączona do segmentu obrysu tylko z jednej strony, a długość segmentu będzie ograniczona do wartości parametru infill_anchor, ale nie dłuższa niż ten parametr.\n" -"Jeśli ustawione na 0, zostanie użyty stary algorytm łączenia wypełnienia, powinien dać ten sam wynik co przy ustawieniu 1000 & 0." +"Łączenie wypełnienia z wewnętrznym obrysem przez dodanie krótkiego segmentu " +"obrysu. Jeśli wyrażone w procentach (np. 15%), zostanie obliczone z " +"szerokości ścieżki wypełnienia. Orca Slicer spróbuje połączyć dwie " +"najbliższe linie wypełnienia krótkim segmentem obrysu. Jeśli nie zostanie " +"znaleziony segment krótszy, niż ten parametr, linia wypełnienia zostanie " +"dołączona do segmentu obrysu tylko z jednej strony, a długość segmentu " +"będzie ograniczona do wartości parametru infill_anchor, ale nie dłuższa niż " +"ten parametr.\n" +"Jeśli ustawione na 0, zostanie użyty stary algorytm łączenia wypełnienia, " +"powinien dać ten sam wynik co przy ustawieniu 1000 & 0." msgid "0 (Simple connect)" msgstr "0 (bez przymocowania)" @@ -9412,39 +11098,69 @@ msgstr "Przyspieszenie na wewnętrznych ścianach" msgid "Acceleration of travel moves" msgstr "Przyspieszenie ruchów podróżnych" -msgid "Acceleration of top surface infill. Using a lower value may improve top surface quality" -msgstr "Przyspieszenie dla wypełnienia górnej powierzchni. Użycie niższej wartości może poprawić jakość górnej powierzchni" +msgid "" +"Acceleration of top surface infill. Using a lower value may improve top " +"surface quality" +msgstr "" +"Przyspieszenie dla wypełnienia górnej powierzchni. Użycie niższej wartości " +"może poprawić jakość górnej powierzchni" msgid "Acceleration of outer wall. Using a lower value can improve quality" -msgstr "Przyspieszenie na zewnętrznej ścianie. Użycie niższej wartości może poprawić jakość" +msgstr "" +"Przyspieszenie na zewnętrznej ścianie. Użycie niższej wartości może poprawić " +"jakość" -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 "Przyspieszenie na mostkach. Jeśli wartość jest wyrażona w procentach (np. 50%), będzie obliczana na podstawie przyspieszenia zewnętrznej ściany." +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 "" +"Przyspieszenie na mostkach. Jeśli wartość jest wyrażona w procentach (np. " +"50%), będzie obliczana na podstawie przyspieszenia zewnętrznej ściany." msgid "mm/s² or %" msgstr "mm/s² lub %" -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 "Przyspieszenie na rzadkim wypełnieniu. Jeśli wartość jest wyrażona w procentach (np. 100%), będzie obliczana na podstawie domyślnego przyspieszenia." +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 "" +"Przyspieszenie na rzadkim wypełnieniu. Jeśli wartość jest wyrażona w " +"procentach (np. 100%), będzie obliczana na podstawie domyślnego " +"przyspieszenia." -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 "Przyspieszenie wewnętrznego, pełnego wypełnienia. Jeśli wartość jest wyrażona w procentach (np. 100%), będzie obliczana na podstawie domyślnego przyspieszenia." +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 "" +"Przyspieszenie wewnętrznego, pełnego wypełnienia. Jeśli wartość jest " +"wyrażona w procentach (np. 100%), będzie obliczana na podstawie domyślnego " +"przyspieszenia." -msgid "Acceleration of initial layer. Using a lower value can improve build plate adhesive" -msgstr "Przyspieszenie dla pierwszej warstwy. Użycie niższej wartości może poprawić przyczepność do stołu" +msgid "" +"Acceleration of initial layer. Using a lower value can improve build plate " +"adhesive" +msgstr "" +"Przyspieszenie dla pierwszej warstwy. Użycie niższej wartości może poprawić " +"przyczepność do stołu" msgid "Enable accel_to_decel" msgstr "Włącz accel_to_decel" msgid "Klipper's max_accel_to_decel will be adjusted automatically" -msgstr "Maksymalne przyspieszenie hamowania Klippera zostanie dostosowane automatycznie" +msgstr "" +"Maksymalne przyspieszenie hamowania Klippera zostanie dostosowane " +"automatycznie" msgid "accel_to_decel" msgstr "Dopasuj przyspieszenie przed zmianą kierunku" #, c-format, boost-format -msgid "Klipper's max_accel_to_decel will be adjusted to this %% of acceleration" -msgstr "Maksymalne przyspieszenie hamowania Klippera zostanie dostosowane do tego %% przyspieszenia" +msgid "" +"Klipper's max_accel_to_decel will be adjusted to this %% of acceleration" +msgstr "" +"Maksymalne przyspieszenie hamowania Klippera zostanie dostosowane do tego %% " +"przyspieszenia" msgid "Jerk of outer walls" msgstr "Jerk zewnętrznych ścian" @@ -9464,14 +11180,22 @@ msgstr "Jerk pierwszej warstwy" msgid "Jerk for travel" msgstr "Jerk ruchu jałowego" -msgid "Line width of initial layer. If expressed as a %, it will be computed over the nozzle diameter." -msgstr "Szerokość linii dla pierwszej warstwy. Jeśli jest wyrażona jako %, zostanie obliczona na podstawie średnicy dyszy." +msgid "" +"Line width of initial layer. If expressed as a %, it will be computed over " +"the nozzle diameter." +msgstr "" +"Szerokość linii dla pierwszej warstwy. Jeśli jest wyrażona jako %, zostanie " +"obliczona na podstawie średnicy dyszy." msgid "Initial layer height" msgstr "Wysokość pierwszej warstwy" -msgid "Height of initial layer. Making initial layer height to be thick slightly can improve build plate adhension" -msgstr "Wysokość pierwszej warstwy. Nieznaczne zwiększenie grubości pierwszej warstwy może poprawić przyczepność do stołu" +msgid "" +"Height of initial layer. Making initial layer height to be thick slightly " +"can improve build plate adhension" +msgstr "" +"Wysokość pierwszej warstwy. Nieznaczne zwiększenie grubości pierwszej " +"warstwy może poprawić przyczepność do stołu" msgid "Speed of initial layer except the solid infill part" msgstr "Prędkość pierwszej warstwy z wyjątkiem pełnego wypełnienia" @@ -9491,35 +11215,57 @@ msgstr "Prędkość jałowa dla pierwszej warstwy" msgid "Number of slow layers" msgstr "Ilość warstw o niższej prędkości" -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 "Pierwsze kilka warstw jest drukowane wolniej niż zwykle. Prędkość jest stopniowo zwiększana w sposób liniowy przez określoną liczbę warstw." +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 "" +"Pierwsze kilka warstw jest drukowane wolniej niż zwykle. Prędkość jest " +"stopniowo zwiększana w sposób liniowy przez określoną liczbę warstw." msgid "Initial layer nozzle temperature" msgstr "Temperatura dyszy dla pierwszej warstwy" msgid "Nozzle temperature to print initial layer when using this filament" -msgstr "Temperatura dyszy do drukowania pierwszej warstwy przy użyciu tego filamentu" +msgstr "" +"Temperatura dyszy do drukowania pierwszej warstwy przy użyciu tego filamentu" msgid "Full fan speed at layer" msgstr "Pełna prędkość wentylatora na warstwie" -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 "Prędkość wentylatora będzie stopniowo zwiększana liniowo od zera na warstwie \"close_fan_the_first_x_layers\" do maksymalnej na warstwie \"full_fan_speed_layer\". Jeśli \"full_fan_speed_layer\" jest niższa niż \"close_fan_the_first_x_layers\", to wentylator będzie pracować z maksymalną dozwoloną prędkością na warstwie \"close_fan_the_first_x_layers\" + 1." +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 "" +"Prędkość wentylatora będzie stopniowo zwiększana liniowo od zera na warstwie " +"\"close_fan_the_first_x_layers\" do maksymalnej na warstwie " +"\"full_fan_speed_layer\". Jeśli \"full_fan_speed_layer\" jest niższa niż " +"\"close_fan_the_first_x_layers\", to wentylator będzie pracować z maksymalną " +"dozwoloną prędkością na warstwie \"close_fan_the_first_x_layers\" + 1." msgid "Support interface fan speed" msgstr "Prędkość wentylatora dla warstwy łączącej podpory" msgid "" -"This fan speed is enforced during all support interfaces, to be able to weaken their bonding with a high fan speed.\n" +"This fan speed is enforced during all support interfaces, to be able to " +"weaken their bonding with a high fan speed.\n" "Set to -1 to disable this override.\n" "Can only be overriden by disable_fan_first_layers." msgstr "" -"Ta prędkość wentylatora jest narzucana podczas drukowania wszystkich warstw łączących podpory,\n" -"aby osłabić ich wiązanie przy wyższej prędkości wentylatora. Ustaw na -1, aby wyłączyć to narzucenie.\n" +"Ta prędkość wentylatora jest narzucana podczas drukowania wszystkich warstw " +"łączących podpory,\n" +"aby osłabić ich wiązanie przy wyższej prędkości wentylatora. Ustaw na -1, " +"aby wyłączyć to narzucenie.\n" "Można to nadpisać tylko za pomocą opcji disable_fan_first_layers." -msgid "Randomly jitter while printing the wall, so that the surface has a rough look. This setting controls the fuzzy position" -msgstr "Losowe wibracje podczas drukowania ścian, aby nadać powierzchni chropowaty wygląd.To ustawienie reguluje \"chropowatość\"" +msgid "" +"Randomly jitter while printing the wall, so that the surface has a rough " +"look. This setting controls the fuzzy position" +msgstr "" +"Losowe wibracje podczas drukowania ścian, aby nadać powierzchni chropowaty " +"wygląd.To ustawienie reguluje \"chropowatość\"" msgid "Contour" msgstr "Kontur" @@ -9533,14 +11279,22 @@ msgstr "Wszystkie ściany" msgid "Fuzzy skin thickness" msgstr "Grubość skóry Fuzzy" -msgid "The width within which to jitter. It's adversed to be below outer wall line width" -msgstr "Szerokość w granicach której występuje drganie. Zaleca się, aby była poniżej szerokości linii zewnętrznej ściany." +msgid "" +"The width within which to jitter. It's adversed to be below outer wall line " +"width" +msgstr "" +"Szerokość w granicach której występuje drganie. Zaleca się, aby była poniżej " +"szerokości linii zewnętrznej ściany." msgid "Fuzzy skin point distance" msgstr "Odstęp między punktami na skórze Fuzzy" -msgid "The average diatance between the random points introducded on each line segment" -msgstr "Średnia odległość między losowymi punktami wprowadzonymi na każdym odcinku linii" +msgid "" +"The average diatance between the random points introducded on each line " +"segment" +msgstr "" +"Średnia odległość między losowymi punktami wprowadzonymi na każdym odcinku " +"linii" msgid "Apply fuzzy skin to first layer" msgstr "Zastosuj skórę Fuzzy na pierwszej warstwie" @@ -9557,20 +11311,39 @@ msgstr "Warstwy i obwody" msgid "Filter out gaps smaller than the threshold specified" msgstr "Filtruj szczeliny mniejsze niż podany próg" -msgid "Speed of gap infill. Gap usually has irregular line width and should be printed more slowly" -msgstr "Prędkość wypełniania szczelin. Przerwa zazwyczaj ma nieregularną szerokość linii i powinna być drukowana wolniej" +msgid "" +"Speed of gap infill. Gap usually has irregular line width and should be " +"printed more slowly" +msgstr "" +"Prędkość wypełniania szczelin. Przerwa zazwyczaj ma nieregularną szerokość " +"linii i powinna być drukowana wolniej" msgid "Precise Z height" msgstr "Precyzyjna wysokość 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 "Aktywuj tę opcję, aby uzyskać precyzyjną wysokość obiektu po przetworzeniu na warstwy. Precyzyjna wysokość obiektu zostanie uzyskana poprzez dokładne dostosowanie wysokości ostatnich kilku warstw. Należy pamiętać, że jest to parametr eksperymentalny." +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 "" +"Aktywuj tę opcję, aby uzyskać precyzyjną wysokość obiektu po przetworzeniu " +"na warstwy. Precyzyjna wysokość obiektu zostanie uzyskana poprzez dokładne " +"dostosowanie wysokości ostatnich kilku warstw. Należy pamiętać, że jest to " +"parametr eksperymentalny." msgid "Arc fitting" msgstr "Dopasowanie łuków" -msgid "Enable this to get a G-code file which has G2 and G3 moves. And the fitting tolerance is same with resolution" -msgstr "Włącz tę opcję, aby uzyskać plik G-code zawierający ruchy G2 i G3. Tolerancja dopasowania jest taka sama jak rozdzielczość" +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 recomended 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 "" msgid "Add line number" msgstr "Dodaj numer linii" @@ -9581,14 +11354,22 @@ msgstr "Włącz to, aby dodać numer linii (Nx) na początku każdej linii G-Cod msgid "Scan first layer" msgstr "Skanuj pierwszą warstwę" -msgid "Enable this to enable the camera on printer to check the quality of first layer" -msgstr "Włącz to, aby włączyć kamerę w drukarce do sprawdzania jakości pierwszej warstwy" +msgid "" +"Enable this to enable the camera on printer to check the quality of first " +"layer" +msgstr "" +"Włącz to, aby włączyć kamerę w drukarce do sprawdzania jakości pierwszej " +"warstwy" msgid "Nozzle type" msgstr "Typ dyszy" -msgid "The metallic material of nozzle. This determines the abrasive resistance of nozzle, and what kind of filament can be printed" -msgstr "Materiał metalu dyszy. Określa on odporność na ścieranie dyszy oraz rodzaj filamentu, który można drukować" +msgid "" +"The metallic material of nozzle. This determines the abrasive resistance of " +"nozzle, and what kind of filament can be printed" +msgstr "" +"Materiał metalu dyszy. Określa on odporność na ścieranie dyszy oraz rodzaj " +"filamentu, który można drukować" msgid "Undefine" msgstr "Nie zdefiniowane" @@ -9605,8 +11386,12 @@ msgstr "Mosiądz" msgid "Nozzle HRC" msgstr "Twardość dyszy (HRC)" -msgid "The nozzle's hardness. Zero means no checking for nozzle's hardness during slicing." -msgstr "Twardość dyszy. Zero oznacza brak sprawdzania twardości dyszy podczas procesu cięcia." +msgid "" +"The nozzle's hardness. Zero means no checking for nozzle's hardness during " +"slicing." +msgstr "" +"Twardość dyszy. Zero oznacza brak sprawdzania twardości dyszy podczas " +"procesu cięcia." msgid "HRC" msgstr "HRC" @@ -9633,22 +11418,37 @@ msgid "Best object position" msgstr "Najlepsza pozycja obiektu" msgid "Best auto arranging position in range [0,1] w.r.t. bed shape." -msgstr "Najlepsza automatyczna pozycja w zakresie [0,1] w stosunku do kształtu stołu." - -msgid "Enable this option if machine has auxiliary part cooling fan. G-code command: M106 P2 S(0-255)." -msgstr "Włącz tę opcję, jeśli urządzenie ma dodatkowy wentylator chłodzenia części. Polecenie G-code: M106 P2 S(0-255)." +msgstr "" +"Najlepsza automatyczna pozycja w zakresie [0,1] w stosunku do kształtu stołu." 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 comands from custom gcodes (they act as a sort of 'barrier').\n" -"It won't move fan comands into the start gcode if the 'only custom start gcode' is activated.\n" +"Enable this option if machine has auxiliary part cooling fan. G-code " +"command: M106 P2 S(0-255)." +msgstr "" +"Włącz tę opcję, jeśli urządzenie ma dodatkowy wentylator chłodzenia części. " +"Polecenie G-code: 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 comands from custom gcodes (they act as a sort of " +"'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start " +"gcode' is activated.\n" "Use 0 to deactivate." msgstr "" -"Uruchom wentylator na określoną liczbę sekund wcześniej niż planowany czas startu (możliwe jest użycie ułamków sekundy). Przyjmuje się nieskończone przyspieszenie dla oszacowania tego czasu, przy uwzględnieniu jedynie ruchów G1 i G0 (obsługa ruchów po łuku nie jest wspierana).\n" +"Uruchom wentylator na określoną liczbę sekund wcześniej niż planowany czas " +"startu (możliwe jest użycie ułamków sekundy). Przyjmuje się nieskończone " +"przyspieszenie dla oszacowania tego czasu, przy uwzględnieniu jedynie ruchów " +"G1 i G0 (obsługa ruchów po łuku nie jest wspierana).\n" "\n" -"To nie spowoduje zmiany ustawień wentylatora z niestandardowych G-code (działają one jak rodzaj bariery).\n" +"To nie spowoduje zmiany ustawień wentylatora z niestandardowych G-code " +"(działają one jak rodzaj bariery).\n" "\n" -"Nie spowoduje to również zmiany ustawień wentylatora w początkowym G-code, jeśli aktywowana jest opcja \"tylko niestandardowy początkowy G-code\".\n" +"Nie spowoduje to również zmiany ustawień wentylatora w początkowym G-code, " +"jeśli aktywowana jest opcja \"tylko niestandardowy początkowy G-code\".\n" "\n" "Ustaw 0, aby wyłączyć tę funkcję." @@ -9662,12 +11462,18 @@ msgid "Fan kick-start time" msgstr "Czas działania wentylatora w trybie wymuszonego startu" 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" +"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 "" -"Wysyła polecenie maksymalnej prędkości wentylatora na określony czas, zanim zostanie zmniejszona do docelowej prędkości, aby uruchomić wentylator chłodzenia.\n" -"Jest to przydatne dla wentylatorów, gdzie niskie PWM/moc może być niewystarczające do uruchomienia wentylatora po zatrzymaniu lub do szybszego zwiększenia prędkości obrotowej\n" +"Wysyła polecenie maksymalnej prędkości wentylatora na określony czas, zanim " +"zostanie zmniejszona do docelowej prędkości, aby uruchomić wentylator " +"chłodzenia.\n" +"Jest to przydatne dla wentylatorów, gdzie niskie PWM/moc może być " +"niewystarczające do uruchomienia wentylatora po zatrzymaniu lub do szybszego " +"zwiększenia prędkości obrotowej\n" "\n" "Ustaw 0, aby wyłączyć tę funkcję." @@ -9687,7 +11493,8 @@ msgid "" "This option is enabled if machine support controlling chamber temperature\n" "G-code command: M141 S(0-255)" msgstr "" -"Ta opcja jest włączona, jeśli drukarka obsługuje kontrolę temperatury komory\n" +"Ta opcja jest włączona, jeśli drukarka obsługuje kontrolę temperatury " +"komory\n" "Polecenie G-code: M141 S(0-255)" msgid "Support air filtration" @@ -9718,8 +11525,16 @@ msgstr "Włącz tę opcję, jeśli chcesz używać wielu rodzajów płyt roboczy msgid "Label objects" msgstr "Etykietuj obiekty" -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 plugin. This settings is NOT compatible with Single Extruder Multi Material setup and Wipe into Object / Wipe into Infill." -msgstr "Włącz to, aby dodać komentarze do pliku G-Code, oznaczające ruchy druku, do jakiego obiektu należą. Jest to przydatne dla wtyczki Octoprint CancelObject. Te ustawienia NIE są kompatybilne z konfiguracją Single Extruder Multi Material i opcją Wipe into Object / Wipe into Infill." +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 " +"plugin. This settings is NOT compatible with Single Extruder Multi Material " +"setup and Wipe into Object / Wipe into Infill." +msgstr "" +"Włącz to, aby dodać komentarze do pliku G-Code, oznaczające ruchy druku, do " +"jakiego obiektu należą. Jest to przydatne dla wtyczki Octoprint " +"CancelObject. Te ustawienia NIE są kompatybilne z konfiguracją Single " +"Extruder Multi Material i opcją Wipe into Object / Wipe into Infill." msgid "Exclude objects" msgstr "Wyłącz obiekty" @@ -9730,32 +11545,68 @@ msgstr "Włącz tę opcję, aby dodać polecenie EXCLUDE OBJECT do G-code" msgid "Verbose G-code" msgstr "Rozszerzony 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 "Włącz to, aby uzyskać plik G-code z komentarzami, w którym każda linia jest wyjaśniana przez opisowy tekst. Jeśli drukujesz z karty SD, dodatkowy rozmiar pliku może spowolnić twoje oprogramowanie." +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 "" +"Włącz to, aby uzyskać plik G-code z komentarzami, w którym każda linia jest " +"wyjaśniana przez opisowy tekst. Jeśli drukujesz z karty SD, dodatkowy " +"rozmiar pliku może spowolnić twoje oprogramowanie." msgid "Infill combination" msgstr "Kombinacja wypełnienia" -msgid "Automatically Combine sparse infill of several layers to print together to reduce time. Wall is still printed with original layer height." -msgstr "Automatycznie łącz wypełnienie z kilku warstw, aby wydrukować je razem i zaoszczędzić czas. Ściana będzie nadal drukowana z pierwotną wysokością warstwy." +msgid "" +"Automatically Combine sparse infill of several layers to print together to " +"reduce time. Wall is still printed with original layer height." +msgstr "" +"Automatycznie łącz wypełnienie z kilku warstw, aby wydrukować je razem i " +"zaoszczędzić czas. Ściana będzie nadal drukowana z pierwotną wysokością " +"warstwy." msgid "Filament to print internal sparse infill." msgstr "Filament do druku wewnętrznego wypełnienia." -msgid "Line width of internal sparse infill. If expressed as a %, it will be computed over the nozzle diameter." -msgstr "Szerokość linii wewnętrznego wypełnienia. Jeśli jest wyrażona w procentach, zostanie obliczona na podstawie średnicy dyszy." +msgid "" +"Line width of internal sparse infill. If expressed as a %, it will be " +"computed over the nozzle diameter." +msgstr "" +"Szerokość linii wewnętrznego wypełnienia. Jeśli jest wyrażona w procentach, " +"zostanie obliczona na podstawie średnicy dyszy." msgid "Infill/Wall overlap" msgstr "Nakładanie wypełnienia na obrysy" -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 "Obszar wypełnienia jest nieznacznie powiększony, aby częściowo zachodzić na ścianę i tym zapewnić lepsze połączenie. Wartość procentowa odnosi się do szerokości linii wypełnienia. Ustaw tę wartość na około 10-15%, aby uniknąć nadmiernej ekstruzji materiału, co może prowadzić do nierówności na górnej powierzchni wydruku." +#, 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 "" +"Obszar wypełnienia jest nieznacznie powiększony, aby częściowo zachodzić na " +"ścianę i tym zapewnić lepsze połączenie. Wartość procentowa odnosi się do " +"szerokości linii wypełnienia. Ustaw tę wartość na około 10-15%, aby uniknąć " +"nadmiernej ekstruzji materiału, co może prowadzić do nierówności na górnej " +"powierzchni wydruku." msgid "Top/Bottom solid infill/wall overlap" msgstr "Nachodzenie pełnego wypełnienia na ściany" -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, minimising the appearance of pinholes. The percentage value is relative to line width of sparse infill" -msgstr "Górny obszar wypełnienia jest nieznacznie powiększony, aby zachodził na ścianę w celu lepszego połączenia i zminimalizowania pojawiania się otworów w miejscu, w którym górne wypełnienie styka się ze ścianami. Wartość 25-30% jest dobrym punktem wyjścia, minimalizującym pojawianie się otworów. Wartość procentowa odnosi się do szerokości linii wypełnienia" +#, 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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" +msgstr "" +"Górny obszar wypełnienia jest nieznacznie powiększony, aby zachodził na " +"ścianę w celu lepszego połączenia i zminimalizowania pojawiania się otworów " +"w miejscu, w którym górne wypełnienie styka się ze ścianami. Wartość 25-30% " +"jest dobrym punktem wyjścia, minimalizującym pojawianie się otworów. Wartość " +"procentowa odnosi się do szerokości linii wypełnienia" msgid "Speed of internal sparse infill" msgstr "Prędkość wewnętrznego wypełnienia" @@ -9763,26 +11614,39 @@ msgstr "Prędkość wewnętrznego wypełnienia" msgid "Interface shells" msgstr "Powłoki łączące" -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 "Wymuszaj generowanie warstw między sąsiadującymi materiałami/woluminami. Przydatne przy wydrukach z wieloma ekstruderami, materiałów o przejrzystej strukturze lub rozpuszczalnym materiale do drukowania podpór" +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 "" +"Wymuszaj generowanie warstw między sąsiadującymi materiałami/woluminami. " +"Przydatne przy wydrukach z wieloma ekstruderami, materiałów o przejrzystej " +"strukturze lub rozpuszczalnym materiale do drukowania podpór" msgid "Maximum width of a segmented region" msgstr "Maksymalna szerokość segmentowanej strefy" msgid "Maximum width of a segmented region. Zero disables this feature." -msgstr "Maksymalna szerokość segmentowanej strefy. Wartość zero wyłącza tę funkcję." +msgstr "" +"Maksymalna szerokość segmentowanej strefy. Wartość zero wyłącza tę funkcję." msgid "Interlocking depth of a segmented region" msgstr "Głębokość zazębiania się podzielonego na segmenty obszaru" msgid "Interlocking depth of a segmented region. Zero disables this feature." -msgstr "Głębokość blokowania obszaru segmentowego. Wartość zero wyłącza tę funkcję." +msgstr "" +"Głębokość blokowania obszaru segmentowego. Wartość zero wyłącza tę funkcję." msgid "Ironing Type" msgstr "Rodzaj prasowania" -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 "Prasowanie polega na używaniu małego przepływu, aby ponownie wydrukować na tej samej wysokości powierzchnię, w celu uzyskania bardziej gładkiej powierzchni. Ta opcja kontroluje, który poziom jest prasowany" +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 "" +"Prasowanie polega na używaniu małego przepływu, aby ponownie wydrukować na " +"tej samej wysokości powierzchnię, w celu uzyskania bardziej gładkiej " +"powierzchni. Ta opcja kontroluje, który poziom jest prasowany" msgid "No ironing" msgstr "Bez prasowania" @@ -9805,8 +11669,13 @@ msgstr "Wzór, który zostanie użyty podczas prasowania" msgid "Ironing flow" msgstr "Przepływ prasowania" -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 "Ilość materiału do wytłoczenia podczas prasowania. Względem przepływu o normalnej wysokości warstwy. Zbyt wysoka wartość powoduje nadmierną ekstruzję na powierzchni" +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 "" +"Ilość materiału do wytłoczenia podczas prasowania. Względem przepływu o " +"normalnej wysokości warstwy. Zbyt wysoka wartość powoduje nadmierną " +"ekstruzję na powierzchni" msgid "Ironing line spacing" msgstr "Odstęp między liniami" @@ -9823,17 +11692,27 @@ msgstr "Prędkość drukowania linii dla prasowania" msgid "Ironing angle" msgstr "Kąt prasowania" -msgid "The angle ironing is done at. A negative number disables this function and uses the default method." -msgstr "Kąt, pod jakim wykonywane jest prasowanie. Liczba ujemna wyłącza tę funkcję i używa domyślnej metody." +msgid "" +"The angle ironing is done at. A negative number disables this function and " +"uses the default method." +msgstr "" +"Kąt, pod jakim wykonywane jest prasowanie. Liczba ujemna wyłącza tę funkcję " +"i używa domyślnej metody." msgid "This gcode part is inserted at every layer change after lift z" -msgstr "Ten fragment G-code jest wstawiany przy każdej zmianie warstwy po podniesieniu osi Z" +msgstr "" +"Ten fragment G-code jest wstawiany przy każdej zmianie warstwy po " +"podniesieniu osi Z" msgid "Supports silent mode" msgstr "Obsługuje tryb cichy" -msgid "Whether the machine supports silent mode in which machine use lower acceleration to print" -msgstr "Czy drukarka obsługuje tryb cichy, w którym drukarka używa niższego przyspieszenia do druku" +msgid "" +"Whether the machine supports silent mode in which machine use lower " +"acceleration to print" +msgstr "" +"Czy drukarka obsługuje tryb cichy, w którym drukarka używa niższego " +"przyspieszenia do druku" msgid "Emit limits to G-code" msgstr "Wysyłaj limity do G-code" @@ -9845,11 +11724,16 @@ 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 "" -"Jeśli ta opcja jest włączona, limity maszyny zostaną wysłane do pliku G-code.\n" +"Jeśli ta opcja jest włączona, limity maszyny zostaną wysłane do pliku G-" +"code.\n" "Ta opcja zostanie zignorowana, jeśli wybrany jest G-code Klipper." -msgid "This G-code will be used as a code for the pause print. User can insert pause G-code in gcode viewer" -msgstr "Ten G-code zostanie użyty przy pauzie wydruku. Użytkownik może wstawić G-code do przeglądarki gcode" +msgid "" +"This G-code will be used as a code for the pause print. User can insert " +"pause G-code in gcode viewer" +msgstr "" +"Ten G-code zostanie użyty przy pauzie wydruku. Użytkownik może wstawić G-" +"code do przeglądarki gcode" msgid "This G-code will be used as a custom code" msgstr "Ten G-code będzie użyty jako niestandardowy" @@ -9862,13 +11746,22 @@ msgstr "" "Włącz kompensację przepływu dla małych obszarów wypełnienia\n" "\n" "\n" -"Jest to zaawansowana funkcja, która umożliwia dokładniejsze kontrolowanie, jak materiał wypełnienia jest nanoszony na małych obszarach" +"Jest to zaawansowana funkcja, która umożliwia dokładniejsze kontrolowanie, " +"jak materiał wypełnienia jest nanoszony na małych obszarach" msgid "Flow Compensation Model" msgstr "Model Kompensacji Przepływu" -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 factors, one per line, in the following format: \"1.234,5.678\"" -msgstr "Model kompensacji przepływu, używany do dostosowywania przepływu dla małych obszarów wypełnienia. Model jest wyrażony jako para wartości oddzielonych przecinkiem dla długości wytłoczenia i czynników korekty przepływu, jeden zestaw na linię, w następującym formacie: \"1.234,5.678\"" +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 factors, one per line, in the following format: " +"\"1.234,5.678\"" +msgstr "" +"Model kompensacji przepływu, używany do dostosowywania przepływu dla małych " +"obszarów wypełnienia. Model jest wyrażony jako para wartości oddzielonych " +"przecinkiem dla długości wytłoczenia i czynników korekty przepływu, jeden " +"zestaw na linię, w następującym formacie: \"1.234,5.678\"" msgid "Maximum speed X" msgstr "Maksymalna prędkość X" @@ -9972,42 +11865,81 @@ msgstr "Maksymalne przyspieszenie podczas ruchów jałowych" msgid "Maximum acceleration for travel (M204 T), it only applies to Marlin 2" msgstr "Maksymalne przyspieszenie podróży (M204 T), dotyczy tylko Marlin 2" -msgid "Part cooling fan speed may be increased when auto cooling is enabled. This is the maximum speed limitation of part cooling fan" -msgstr "Prędkość wentylatora chłodzenia części może być zwiększona, gdy jest włączona funkcja automatycznego chłodzenia. To jest maksymalne ograniczenie prędkości wentylatora chłodzenia części" +msgid "" +"Part cooling fan speed may be increased when auto cooling is enabled. This " +"is the maximum speed limitation of part cooling fan" +msgstr "" +"Prędkość wentylatora chłodzenia części może być zwiększona, gdy jest " +"włączona funkcja automatycznego chłodzenia. To jest maksymalne ograniczenie " +"prędkości wentylatora chłodzenia części" msgid "Max" msgstr "Max" -msgid "The largest printable layer height for extruder. Used tp limits the maximum layer hight when enable adaptive layer height" -msgstr "Największa wysokość warstwy drukowalnej dla extrudera. Używane do ograniczenia maksymalnej wysokości warstwy podczas włączonej adaptacyjnej wysokości warstwy" +msgid "" +"The largest printable layer height for extruder. Used tp limits the maximum " +"layer hight when enable adaptive layer height" +msgstr "" +"Największa wysokość warstwy drukowalnej dla extrudera. Używane do " +"ograniczenia maksymalnej wysokości warstwy podczas włączonej adaptacyjnej " +"wysokości warstwy" msgid "Extrusion rate smoothing" msgstr "Wygładzanie przepływu ekstruzji" 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" +"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 mm3/sec can change over time. Higher values mean higher extrusion rate changes are allowed, resulting in faster speed transitions.\n" +"It defines the maximum rate by which the extruded volumetric flow in mm3/sec " +"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-350mm3/s2 is recommended as this allows for just enough smoothing to assist pressure advance achieve a smoother flow transition.\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-350mm3/s2 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-15mm3/s2 is a good starting point for direct drive extruders and 5-10mm3/s2 for Bowden style. \n" +"For slower printers without pressure advance, the value should be set much " +"lower. A value of 10-15mm3/s2 is a good starting point for direct drive " +"extruders and 5-10mm3/s2 for Bowden style. \n" "\n" "This feature is known as Pressure Equalizer in Prusa slicer.\n" "\n" "Note: this parameter disables arc fitting." msgstr "" -"Ten parametr wygładza nagłe zmiany szybkości wytłaczania, które występują, gdy drukarka przechodzi od drukowania wytłaczania o wysokim przepływie (duża prędkość/większa szerokość) do wytłaczania o niższym przepływie (mniejsza prędkość/mniejsza szerokość) i odwrotnie.\n" +"Ten parametr wygładza nagłe zmiany szybkości wytłaczania, które występują, " +"gdy drukarka przechodzi od drukowania wytłaczania o wysokim przepływie (duża " +"prędkość/większa szerokość) do wytłaczania o niższym przepływie (mniejsza " +"prędkość/mniejsza szerokość) i odwrotnie.\n" "\n" -"Określa maksymalną szybkość, o jaką natężenie przepływu wytłaczania w mm3/s może zmieniać się w czasie. Wyższe wartości oznaczają, że dozwolone są większe zmiany szybkości wytłaczania, co skutkuje szybszymi przejściami prędkości.\n" +"Określa maksymalną szybkość, o jaką natężenie przepływu wytłaczania w mm3/s " +"może zmieniać się w czasie. Wyższe wartości oznaczają, że dozwolone są " +"większe zmiany szybkości wytłaczania, co skutkuje szybszymi przejściami " +"prędkości.\n" "\n" "Wartość 0 wyłącza tę funkcję.\n" "\n" -"W przypadku drukarek z napędem bezpośrednim o dużej prędkości i wysokim przepływie (takich jak Bambu lab lub Voron) wartość ta zwykle nie jest potrzebna. Może ona jednak zapewnić pewne marginalne korzyści w niektórych przypadkach, gdy prędkości funkcji znacznie się różnią. Na przykład, gdy występują agresywne spowolnienia spowodowane nawisami. W takich przypadkach zalecana jest wysoka wartość około 300-350 mm3/s2, ponieważ pozwala to na wystarczające wygładzenie, aby wspomóc wzrost ciśnienia w celu uzyskania płynniejszego przejścia przepływu.\n" +"W przypadku drukarek z napędem bezpośrednim o dużej prędkości i wysokim " +"przepływie (takich jak Bambu lab lub Voron) wartość ta zwykle nie jest " +"potrzebna. Może ona jednak zapewnić pewne marginalne korzyści w niektórych " +"przypadkach, gdy prędkości funkcji znacznie się różnią. Na przykład, gdy " +"występują agresywne spowolnienia spowodowane nawisami. W takich przypadkach " +"zalecana jest wysoka wartość około 300-350 mm3/s2, ponieważ pozwala to na " +"wystarczające wygładzenie, aby wspomóc wzrost ciśnienia w celu uzyskania " +"płynniejszego przejścia przepływu.\n" "\n" -"W przypadku wolniejszych drukarek bez przyspieszenia ciśnienia wartość ta powinna być znacznie niższa. Wartość 10-15 mm3/s2 jest dobrym punktem wyjścia dla extruderów z napędem bezpośrednim i 5-10 mm3/s2 dla extruderów typu Bowden.\n" +"W przypadku wolniejszych drukarek bez przyspieszenia ciśnienia wartość ta " +"powinna być znacznie niższa. Wartość 10-15 mm3/s2 jest dobrym punktem " +"wyjścia dla extruderów z napędem bezpośrednim i 5-10 mm3/s2 dla extruderów " +"typu Bowden.\n" "\n" "Ta funkcja jest znana jako Pressure Equalizer w Prusa slicer.\n" "\n" @@ -10020,15 +11952,21 @@ msgid "Smoothing segment length" msgstr "Długość odcinka do wygładzenia" msgid "" -"A lower value results in smoother extrusion rate transitions. However, this results in a significantly larger gcode file and more instructions for the printer to process. \n" +"A lower value results in smoother extrusion rate transitions. However, this " +"results in a significantly larger gcode 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" +"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: 1-5" msgstr "" -"Mniejsza wartość skutkuje płynniejszymi przejściami prędkości ekstruzji. Jednakże prowadzi to do znacznie większego pliku gcode i większej liczby instrukcji do przetworzenia przez drukarkę.\n" +"Mniejsza wartość skutkuje płynniejszymi przejściami prędkości ekstruzji. " +"Jednakże prowadzi to do znacznie większego pliku gcode i większej liczby " +"instrukcji do przetworzenia przez drukarkę.\n" "\n" -"Domyślna wartość 3 działa dobrze dla większości przypadków. Jeśli Twoja drukarka się zacina, zwiększ tę wartość, aby zredukować liczbę dostosowań.\n" +"Domyślna wartość 3 działa dobrze dla większości przypadków. Jeśli Twoja " +"drukarka się zacina, zwiększ tę wartość, aby zredukować liczbę dostosowań.\n" "\n" "Dozwolone wartości: 1-5" @@ -10036,23 +11974,39 @@ msgid "Minimum speed for part cooling fan" msgstr "Minimalna prędkość wentylatora chłodzenia części" 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)" +"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 "" -"Prędkość wentylatora pomocniczego. Wentylator pomocniczy będzie pracować z tą prędkością podczas drukowania, z wyjątkiem pierwszych kilku warstw, które są określone jako warstwy bez chłodzenia.\n" -"Proszę włączyć opcję auxiliary_fan w ustawieniach drukarki, aby skorzystać z tej funkcji. Polecenie G-code: M106 P2 S(0-255)" +"Prędkość wentylatora pomocniczego. Wentylator pomocniczy będzie pracować z " +"tą prędkością podczas drukowania, z wyjątkiem pierwszych kilku warstw, które " +"są określone jako warstwy bez chłodzenia.\n" +"Proszę włączyć opcję auxiliary_fan w ustawieniach drukarki, aby skorzystać z " +"tej funkcji. Polecenie G-code: M106 P2 S(0-255)" msgid "Min" msgstr "Min" -msgid "The lowest printable layer height for extruder. Used tp limits the minimum layer hight when enable adaptive layer height" -msgstr "Najniższa możliwa do wydrukowania wysokość warstwy dla extrudera. Stosowana jako dolna granica dla adaptacyjnej wysokości warstw" +msgid "" +"The lowest printable layer height for extruder. Used tp limits the minimum " +"layer hight when enable adaptive layer height" +msgstr "" +"Najniższa możliwa do wydrukowania wysokość warstwy dla extrudera. Stosowana " +"jako dolna granica dla adaptacyjnej wysokości warstw" msgid "Min print speed" msgstr "Minimalna prędkość druku" -msgid "The minimum printing speed that the printer will slow down to to attempt to maintain the minimum layer time above, when slow down for better layer cooling is enabled." -msgstr "Minimalna prędkość druku, do której drukarka zwolni, aby zachować minimalny czas warstwy powyżej, gdy włączona jest opcja zwalniania dla lepszego schładzania warstwy." +msgid "" +"The minimum printing speed that the printer will slow down to to attempt to " +"maintain the minimum layer time above, when slow down for better layer " +"cooling is enabled." +msgstr "" +"Minimalna prędkość druku, do której drukarka zwolni, aby zachować minimalny " +"czas warstwy powyżej, gdy włączona jest opcja zwalniania dla lepszego " +"schładzania warstwy." msgid "Nozzle diameter" msgstr "Średnica dyszy" @@ -10063,14 +12017,21 @@ msgstr "Średnica dyszy" msgid "Configuration notes" msgstr "Uwagi do konfiguracji" -msgid "You can put here your personal notes. This text will be added to the G-code header comments." -msgstr "Tutaj możesz umieścić notatki, które zostaną dodane do nagłówka pliku G-code." +msgid "" +"You can put here your personal notes. This text will be added to the G-code " +"header comments." +msgstr "" +"Tutaj możesz umieścić notatki, które zostaną dodane do nagłówka pliku G-code." msgid "Host Type" msgstr "Typ hosta" -msgid "Orca Slicer can upload G-code files to a printer host. This field must contain the kind of the host." -msgstr "Orca Slicer może przesyłać pliki G-code do hosta drukarki. To pole musi zawierać rodzaj hosta." +msgid "" +"Orca Slicer can upload G-code files to a printer host. This field must " +"contain the kind of the host." +msgstr "" +"Orca Slicer może przesyłać pliki G-code do hosta drukarki. To pole musi " +"zawierać rodzaj hosta." msgid "Nozzle volume" msgstr "Objętość dyszy" @@ -10088,25 +12049,45 @@ msgid "Cooling tube length" msgstr "Długość rurki chłodzącej" msgid "Length of the cooling tube to limit space for cooling moves inside it." -msgstr "Długość rurki chłodzącej ograniczająca przestrzeń na ruchy chłodzące wewnątrz." +msgstr "" +"Długość rurki chłodzącej ograniczająca przestrzeń na ruchy chłodzące " +"wewnątrz." msgid "High extruder current on filament swap" msgstr "Wysoki prąd extrudera przy wymianie filamentu" -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 "Może być korzystne zwiększenie prądu silnika extrudera podczas wymiany filamentu, aby umożliwić szybkie podawanie i przezwyciężenie oporu podczas ładowania filamentu o nieprawidłowym kształcie końcówki." +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 "" +"Może być korzystne zwiększenie prądu silnika extrudera podczas wymiany " +"filamentu, aby umożliwić szybkie podawanie i przezwyciężenie oporu podczas " +"ładowania filamentu o nieprawidłowym kształcie końcówki." msgid "Filament parking position" msgstr "Pozycja parkowania filamentu" -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 "Odległość końcówki extrudera od pozycji, gdzie filament jest parkowany przy rozładowaniu. Powinno to odpowiadać wartości w oprogramowaniu drukarki." +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 "" +"Odległość końcówki extrudera od pozycji, gdzie filament jest parkowany przy " +"rozładowaniu. Powinno to odpowiadać wartości w oprogramowaniu drukarki." msgid "Extra loading distance" msgstr "Dodatkowa długość ładowania" -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 "Gdy ta wartość wynosi zero, to długość ładowania filamentu z pozycji zaparkowanej jest dokładnie taka sama, jak podczas rozładowywania. Jeśli jest dodatnia to jest większa (więcej filamentu zostanie załadowane), jeśli ujemna to jest mniejsza niż przy rozładowywaniu." +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 "" +"Gdy ta wartość wynosi zero, to długość ładowania filamentu z pozycji " +"zaparkowanej jest dokładnie taka sama, jak podczas rozładowywania. Jeśli " +"jest dodatnia to jest większa (więcej filamentu zostanie załadowane), jeśli " +"ujemna to jest mniejsza niż przy rozładowywaniu." msgid "Start end points" msgstr "Początkowe i końcowe punkty" @@ -10117,32 +12098,54 @@ msgstr "Punkty początkowe i końcowe, od obszaru cięcia do kanału wyrzutowego msgid "Reduce infill retraction" msgstr "Zmniejszanie retrakcji wypełnienia" -msgid "Don't retract when the travel is in infill area absolutely. 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" -msgstr "Nie wykonuj retrakcji, gdy ruch odbywa się całkowicie w obszarze wypełnienia. Oznacza to, że wyciek nie będzie widoczny. Może to zmniejszyć liczbę retrakcji dla skomplikowanego modelu i zaoszczędzić czas druku, ale spowolnić krojenie i generowanie G-code" +msgid "" +"Don't retract when the travel is in infill area absolutely. 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" +msgstr "" +"Nie wykonuj retrakcji, gdy ruch odbywa się całkowicie w obszarze " +"wypełnienia. Oznacza to, że wyciek nie będzie widoczny. Może to zmniejszyć " +"liczbę retrakcji dla skomplikowanego modelu i zaoszczędzić czas druku, ale " +"spowolnić krojenie i generowanie G-code" msgid "Filename format" msgstr "Format nazwy pliku" msgid "User can self-define the project file name when export" -msgstr "Użytkownik może samodzielnie zdefiniować nazwę pliku projektu podczas eksportu" +msgstr "" +"Użytkownik może samodzielnie zdefiniować nazwę pliku projektu podczas " +"eksportu" msgid "Make overhangs printable" msgstr "Drukuj nawisy bez podpór" msgid "Modify the geometry to print overhangs without support material." -msgstr "Modyfikuje tak geometrię, aby drukować elementy wystające bez materiału podporowego." +msgstr "" +"Modyfikuje tak geometrię, aby drukować elementy wystające bez materiału " +"podporowego." msgid "Make overhangs printable - Maximum angle" msgstr "Drukuj nawisy bez podpór - Maksymalny kąt" -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 "Maksymalny kąt elementów wystających dozwolony po umożliwieniu drukowania bardziej stromych elementów. 90° nie zmieni w ogóle modelu i pozwoli na dowolny element wystający, podczas gdy 0° zastąpi wszystkie elementy wystające materiałem stożkowym." +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 "" +"Maksymalny kąt elementów wystających dozwolony po umożliwieniu drukowania " +"bardziej stromych elementów. 90° nie zmieni w ogóle modelu i pozwoli na " +"dowolny element wystający, podczas gdy 0° zastąpi wszystkie elementy " +"wystające materiałem stożkowym." msgid "Make overhangs printable - Hole area" msgstr "Drukuj nawisy bez podpór - Obszar otworów" -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 "Maksymalna powierzchnia otworu w podstawie modelu przed jego wypełnieniem materiałem stożkowym. Wartość 0 wypełni wszystkie otwory w podstawie modelu." +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 "" +"Maksymalna powierzchnia otworu w podstawie modelu przed jego wypełnieniem " +"materiałem stożkowym. Wartość 0 wypełni wszystkie otwory w podstawie modelu." msgid "mm²" msgstr "mm²" @@ -10151,11 +12154,19 @@ msgid "Detect overhang wall" msgstr "Wykrywanie ścian nawisu" #, c-format, 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 "Określ procentowy udział nawisów w stosunku do szerokości ekstruzji i użyj różnych prędkości do druku. Dla 100%% nawisów, zostanie użyta prędkość mostu." +msgid "" +"Detect the overhang percentage relative to line width and use different " +"speed to print. For 100%% overhang, bridge speed is used." +msgstr "" +"Określ procentowy udział nawisów w stosunku do szerokości ekstruzji i użyj " +"różnych prędkości do druku. Dla 100%% nawisów, zostanie użyta prędkość mostu." -msgid "Line width of inner wall. If expressed as a %, it will be computed over the nozzle diameter." -msgstr "Szerokość linii wewnętrznej ściany. Jeśli wyrażona w procentach, zostanie obliczona na podstawie średnicy dyszy." +msgid "" +"Line width of inner wall. If expressed as a %, it will be computed over the " +"nozzle diameter." +msgstr "" +"Szerokość linii wewnętrznej ściany. Jeśli wyrażona w procentach, zostanie " +"obliczona na podstawie średnicy dyszy." msgid "Speed of inner wall" msgstr "Prędkość wewnętrznej ściany" @@ -10167,20 +12178,38 @@ msgid "Alternate extra wall" msgstr "Alternatywna dodatkowa ściana" 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" +"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" +"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." +"Using lightning infill together with this option is not recommended as there " +"is limited infill to anchor the extra perimeters to." msgstr "" -"To ustawienie dodaje dodatkową ścianę do co drugiej warstwy. W ten sposób wypełnienie jest osadzone pionowo między ścianami, co prowadzi do uzyskania wydruków o większej wytrzymałości.\n" +"To ustawienie dodaje dodatkową ścianę do co drugiej warstwy. W ten sposób " +"wypełnienie jest osadzone pionowo między ścianami, co prowadzi do uzyskania " +"wydruków o większej wytrzymałości.\n" "\n" -"Kiedy ta opcja jest włączona, to opcja \"zapewnij stałą pionową grubość powłoki\" musi być wyłączona.\n" +"Kiedy ta opcja jest włączona, to opcja \"zapewnij stałą pionową grubość " +"powłoki\" musi być wyłączona.\n" "\n" -"Nie jest zalecane korzystanie z wypełnienia typu \"lightning\" jednocześnie z tą opcją, ponieważ wypełnienie to jest ograniczone i nie jest w stanie dostarczyć wystarczającego wsparcia dla dodatkowych obwodów." +"Nie jest zalecane korzystanie z wypełnienia typu \"lightning\" jednocześnie " +"z tą opcją, ponieważ wypełnienie to jest ograniczone i nie jest w stanie " +"dostarczyć wystarczającego wsparcia dla dodatkowych obwodów." -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 "Jeśli chcesz przetworzyć wynikowy G-code za pomocą niestandardowych skryptów, wystarczy, że wpiszesz tutaj ich pełne ścieżki. Aby oddzielić kilka skryptów, użyj średnika. Skrypty otrzymają pełną ścieżkę do pliku G-code jako pierwszy argument, a także będą mogły uzyskać dostęp do ustawień konfiguracyjnych Orca Slicer, zytając zmienne środowiskowe." +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 "" +"Jeśli chcesz przetworzyć wynikowy G-code za pomocą niestandardowych " +"skryptów, wystarczy, że wpiszesz tutaj ich pełne ścieżki. Aby oddzielić " +"kilka skryptów, użyj średnika. Skrypty otrzymają pełną ścieżkę do pliku G-" +"code jako pierwszy argument, a także będą mogły uzyskać dostęp do ustawień " +"konfiguracyjnych Orca Slicer, zytając zmienne środowiskowe." msgid "Printer notes" msgstr "Notatki o drukarce" @@ -10192,7 +12221,9 @@ msgid "Raft contact Z distance" msgstr "Odległość Z kontaktu z tratwą" msgid "Z gap between object and raft. Ignored for soluble interface" -msgstr "Dystans między modelem, a raftem, mierzony w poziomie. Ignorowany dla rozpuszczalnych warstw łączących" +msgstr "" +"Dystans między modelem, a raftem, mierzony w poziomie. Ignorowany dla " +"rozpuszczalnych warstw łączących" msgid "Raft expansion" msgstr "Rozszerzenie tratwy" @@ -10210,28 +12241,47 @@ msgid "Initial layer expansion" msgstr "Rozszerzenie pierwszej warstwy" msgid "Expand the first raft or support layer to improve bed plate adhesion" -msgstr "Rozszerz pierwszą warstwę tratwy lub podpory, aby poprawić przyczepność do płyty grzewczej" +msgstr "" +"Rozszerz pierwszą warstwę tratwy lub podpory, aby poprawić przyczepność do " +"płyty grzewczej" msgid "Raft layers" msgstr "Ilość warstw tratwy" -msgid "Object will be raised by this number of support layers. Use this function to avoid wrapping when print ABS" -msgstr "Model zostanie podniesiony o zadaną ilość warstw i umieszczony na podporach. Użyj tej funkcji, aby uniknąć deformacji podczas drukowania ABS" +msgid "" +"Object will be raised by this number of support layers. Use this function to " +"avoid wrapping when print ABS" +msgstr "" +"Model zostanie podniesiony o zadaną ilość warstw i umieszczony na podporach. " +"Użyj tej funkcji, aby uniknąć deformacji podczas drukowania ABS" -msgid "G-code path is genereated after simplifing the contour of model to avoid too much points and gcode lines in gcode file. Smaller value means higher resolution and more time to slice" -msgstr "Ścieżka G-code jest generowana po uproszczeniu konturu modelu, aby uniknąć zbyt wielu punktów i linii w pliku G-code. Mniejsza wartość oznacza wyższą rozdzielczość i więcej czasu na krojenie" +msgid "" +"G-code path is genereated after simplifing the contour of model to avoid too " +"much points and gcode lines in gcode file. Smaller value means higher " +"resolution and more time to slice" +msgstr "" +"Ścieżka G-code jest generowana po uproszczeniu konturu modelu, aby uniknąć " +"zbyt wielu punktów i linii w pliku G-code. Mniejsza wartość oznacza wyższą " +"rozdzielczość i więcej czasu na krojenie" msgid "Travel distance threshold" msgstr "Próg odległości podróży" -msgid "Only trigger retraction when the travel distance is longer than this threshold" -msgstr "Wywołaj retrakcję tylko wtedy, gdy dystans ruchu jałowego jest dłuższy niż ta wartość" +msgid "" +"Only trigger retraction when the travel distance is longer than this " +"threshold" +msgstr "" +"Wywołaj retrakcję tylko wtedy, gdy dystans ruchu jałowego jest dłuższy niż " +"ta wartość" msgid "Retract amount before wipe" msgstr "Długość retrakcji przed ruchem czyszczącym" -msgid "The length of fast retraction before wipe, relative to retraction length" -msgstr "Długość szybkiej retrakcji przed czyszczeniem, w stosunku do długości retrakcji." +msgid "" +"The length of fast retraction before wipe, relative to retraction length" +msgstr "" +"Długość szybkiej retrakcji przed czyszczeniem, w stosunku do długości " +"retrakcji." msgid "Retract when change layer" msgstr "Retrakcja przy zmianie warstwy" @@ -10242,38 +12292,71 @@ msgstr "Wymuś retrakcję przy zmianie warstwy" msgid "Retraction Length" msgstr "Długość retrakcji" -msgid "Some amount of material in extruder is pulled back to avoid ooze during long travel. Set zero to disable retraction" -msgstr "Pewna ilość materiału w ekstruderze jest cofana, aby zapobiec wyciekowi filamentu podczas długiego ruchu. Ustaw zero, aby zablokować retrakcje" +msgid "" +"Some amount of material in extruder is pulled back to avoid ooze during long " +"travel. Set zero to disable retraction" +msgstr "" +"Pewna ilość materiału w ekstruderze jest cofana, aby zapobiec wyciekowi " +"filamentu podczas długiego ruchu. Ustaw zero, aby zablokować retrakcje" msgid "Long retraction when cut(experimental)" msgstr "Długość retrakcji przed odcięciem filamentu (eksperymentalna)" -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 "Funkcja eksperymentalna. Wycofanie i odcięcie filamentu na większej odległości podczas jego zmian w celu zminimalizowania objętości płukania. Chociaż znacząco zmniejszy to zużycie filamentu, może to również zwiększyć ryzyko zatkania dyszy lub innych problemów podczas drukowania." +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 "" +"Funkcja eksperymentalna. Wycofanie i odcięcie filamentu na większej " +"odległości podczas jego zmian w celu zminimalizowania objętości płukania. " +"Chociaż znacząco zmniejszy to zużycie filamentu, może to również zwiększyć " +"ryzyko zatkania dyszy lub innych problemów podczas drukowania." msgid "Retraction distance when cut" msgstr "Długość retrakcji podczas cięcia" -msgid "Experimental feature.Retraction length before cutting off during filament change" -msgstr "Funkcja eksperymentalna. Długość retrakcji przed odcięciem podczas zmiany filamentu" +msgid "" +"Experimental feature.Retraction length before cutting off during filament " +"change" +msgstr "" +"Funkcja eksperymentalna. Długość retrakcji przed odcięciem podczas zmiany " +"filamentu" msgid "Z hop when retract" msgstr "Z-hop podczas retrakcji" -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 line to lift z can prevent stringing" -msgstr "Zawsze gdy wykonana jest retrakcja, dysza jest nieco podnoszona, aby stworzyć odstęp między dyszą a wydrukiem. Zapobiega to uderzeniu dyszy w wydruk podczas ruchu jałowego. Użycie linii spiralnej do podniesienia Z może zapobiec powstawaniu strun" +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 line to lift z can prevent stringing" +msgstr "" +"Zawsze gdy wykonana jest retrakcja, dysza jest nieco podnoszona, aby " +"stworzyć odstęp między dyszą a wydrukiem. Zapobiega to uderzeniu dyszy w " +"wydruk podczas ruchu jałowego. Użycie linii spiralnej do podniesienia Z może " +"zapobiec powstawaniu strun" msgid "Z hop lower boundary" msgstr "Dolna granica 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 "Jeśli podana jest dodatnia wartość, oś Z będzie podnosić się tylko poniżej ustawionej tutaj granicy. W ten sposób możesz zablokować podnoszenie się osi Z powyżej ustawionej wysokości." +msgid "" +"Z hop will only come into effect when Z is above this value and is below the " +"parameter: \"Z hop upper boundary\"" +msgstr "" +"Jeśli podana jest dodatnia wartość, oś Z będzie podnosić się tylko poniżej " +"ustawionej tutaj granicy. W ten sposób możesz zablokować podnoszenie się osi " +"Z powyżej ustawionej wysokości." msgid "Z hop upper boundary" msgstr "Górna granica 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 "Jeśli podano wartość dodatnią, oś Z będzie podnosić się tylko powyżej określonej tutaj wysokości. Dzięki temu możesz wyłączyć podnoszenie osi Z podczas drukowania pierwszych warstw (na początku drukowania)." +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 "" +"Jeśli podano wartość dodatnią, oś Z będzie podnosić się tylko powyżej " +"określonej tutaj wysokości. Dzięki temu możesz wyłączyć podnoszenie osi Z " +"podczas drukowania pierwszych warstw (na początku drukowania)." msgid "Z hop type" msgstr "Typ Z-hop" @@ -10287,20 +12370,32 @@ msgstr "Spiralny" msgid "Only lift Z above" msgstr "Z-hop tylko powyżej" -msgid "If you set this to a positive value, Z lift will only take place above the specified absolute Z." -msgstr "Jeśli ustawisz to na wartość dodatnią, podnoszenie Z będzie miało miejsce tylko powyżej określonego bezwzględnego Z." +msgid "" +"If you set this to a positive value, Z lift will only take place above the " +"specified absolute Z." +msgstr "" +"Jeśli ustawisz to na wartość dodatnią, podnoszenie Z będzie miało miejsce " +"tylko powyżej określonego bezwzględnego Z." msgid "Only lift Z below" msgstr "Z-hop tylko poniżej" -msgid "If you set this to a positive value, Z lift will only take place below the specified absolute Z." -msgstr "Jeśli ustawisz to na wartość dodatnią, podnoszenie Z będzie miało miejsce tylko poniżej określonego bezwzględnego Z." +msgid "" +"If you set this to a positive value, Z lift will only take place below the " +"specified absolute Z." +msgstr "" +"Jeśli ustawisz to na wartość dodatnią, podnoszenie Z będzie miało miejsce " +"tylko poniżej określonego bezwzględnego Z." msgid "On surfaces" msgstr "Na powierzchniach" -msgid "Enforce Z Hop behavior. This setting is impacted by the above settings (Only lift Z above/below)." -msgstr "Wymuszaj zachowanie Z-hop. To ustawienie jest zależne od ustawień powyżej (Z-hop tylko powyżej/poniżej)." +msgid "" +"Enforce Z Hop behavior. This setting is impacted by the above settings (Only " +"lift Z above/below)." +msgstr "" +"Wymuszaj zachowanie Z-hop. To ustawienie jest zależne od ustawień powyżej (Z-" +"hop tylko powyżej/poniżej)." msgid "All Surfaces" msgstr "Wszystkie powierzchnie" @@ -10317,11 +12412,19 @@ msgstr "Na górnych i dolnych" msgid "Extra length on restart" msgstr "Dodatkowa długość przed wznowieniem" -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 "Gdy retrakcja jest kompensowana po ruchu jałowym, ekstruder przepycha tę dodatkową ilość filamentu. To opcja jest rzadko potrzebna." +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 "" +"Gdy retrakcja jest kompensowana po ruchu jałowym, ekstruder przepycha tę " +"dodatkową ilość filamentu. To opcja jest rzadko potrzebna." -msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." -msgstr "Jeśli retrakcja jest korygowana po zmianie narzędzia, extruder przepchnie taką dodatkową ilość filamentu." +msgid "" +"When the retraction is compensated after changing tool, the extruder will " +"push this additional amount of filament." +msgstr "" +"Jeśli retrakcja jest korygowana po zmianie narzędzia, extruder przepchnie " +"taką dodatkową ilość filamentu." msgid "Retraction Speed" msgstr "Prędkość retrakcji" @@ -10332,14 +12435,23 @@ msgstr "Prędkość retrakcji" msgid "Deretraction Speed" msgstr "Prędkość deretrakcji" -msgid "Speed for reloading filament into extruder. Zero means same speed with retraction" -msgstr "Prędkość ponownego załadowania filamentu do extrudera. Zero oznacza tę samą prędkość co retrakcja" +msgid "" +"Speed for reloading filament into extruder. Zero means same speed with " +"retraction" +msgstr "" +"Prędkość ponownego załadowania filamentu do extrudera. Zero oznacza tę samą " +"prędkość co retrakcja" msgid "Use firmware retraction" msgstr "Użyj retrakcji z firmware" -msgid "This experimental setting uses G10 and G11 commands to have the firmware handle the retraction. This is only supported in recent Marlin." -msgstr "To eksperymentalne ustawienie używa komend G10 i G11, aby oprogramowanie obsługiwało retrakcję. Jest to obsługiwane tylko w najnowszych wersjach Marlin." +msgid "" +"This experimental setting uses G10 and G11 commands to have the firmware " +"handle the retraction. This is only supported in recent Marlin." +msgstr "" +"To eksperymentalne ustawienie używa komend G10 i G11, aby oprogramowanie " +"obsługiwało retrakcję. Jest to obsługiwane tylko w najnowszych wersjach " +"Marlin." msgid "Show auto-calibration marks" msgstr "Pokaż znaczniki autokalibracji" @@ -10347,8 +12459,11 @@ msgstr "Pokaż znaczniki autokalibracji" msgid "Disable set remaining print time" msgstr "Wyłącz ustawianie pozostałego czasu druku" -msgid "Disable generating of the M73: Set remaining print time in the final gcode" -msgstr "Zablokuj generowanie polecenia M73: Ustaw pozostały czas druku w końcowym G-code" +msgid "" +"Disable generating of the M73: Set remaining print time in the final gcode" +msgstr "" +"Zablokuj generowanie polecenia M73: Ustaw pozostały czas druku w końcowym G-" +"code" msgid "Seam position" msgstr "Pozycja szwu" @@ -10371,69 +12486,118 @@ msgstr "Losowo" msgid "Staggered inner seams" msgstr "Przesunięte wewnętrzne szwy" -msgid "This option causes the inner seams to be shifted backwards based on their depth, forming a zigzag pattern." -msgstr "Ta opcja powoduje, że wewnętrzne szwy są przesunięte do tyłu w oparciu o ich głębokość, tworząc wzór zygzaka." +msgid "" +"This option causes the inner seams to be shifted backwards based on their " +"depth, forming a zigzag pattern." +msgstr "" +"Ta opcja powoduje, że wewnętrzne szwy są przesunięte do tyłu w oparciu o ich " +"głębokość, tworząc wzór zygzaka." msgid "Seam gap" msgstr "Szczelina szwu" 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%." +"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 "" -"Aby zmniejszyć widoczność szwu w ekstruzji zamkniętej pętli, pętla jest przerywana i skracana o określoną ilość.\n" -"Ta ilość może być określona w milimetrach lub jako procent obecnej średnicy extrudera. Domyślna wartość tego parametru to 10%." +"Aby zmniejszyć widoczność szwu w ekstruzji zamkniętej pętli, pętla jest " +"przerywana i skracana o określoną ilość.\n" +"Ta ilość może być określona w milimetrach lub jako procent obecnej średnicy " +"extrudera. Domyślna wartość tego parametru to 10%." msgid "Scarf joint seam (beta)" msgstr "Szew ukośny (beta)" msgid "Use scarf joint to minimize seam visibility and increase seam strength." -msgstr "Zastosuj szew ukośny, aby zminimalizować widoczność szwu i zwiększyć jego wytrzymałość." +msgstr "" +"Zastosuj szew ukośny, aby zminimalizować widoczność szwu i zwiększyć jego " +"wytrzymałość." msgid "Conditional scarf joint" msgstr "Warunkowe szwy ukośne" -msgid "Apply scarf joints only to smooth perimeters where traditional seams do not conceal the seams at sharp corners effectively." -msgstr "Zastosuj szwy ukośne jedynie do gładkich obwodów, gdzie tradycyjne szwy nie maskują skutecznie szwów w ostrych narożnikach." +msgid "" +"Apply scarf joints only to smooth perimeters where traditional seams do not " +"conceal the seams at sharp corners effectively." +msgstr "" +"Zastosuj szwy ukośne jedynie do gładkich obwodów, gdzie tradycyjne szwy nie " +"maskują skutecznie szwów w ostrych narożnikach." msgid "Conditional angle threshold" msgstr "Warunkowy próg kąta" 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°." +"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 "" "Ten parametr określa minimalny kąt do zastosowania szwu ukośnego.\n" -"Jeśli maksymalny kąt w obrębie pętli obwodu przekroczy tę wartość (co wskazuje na brak ostrych narożników), zostanie użyty szew ukośny. Domyślna wartość to 155°." +"Jeśli maksymalny kąt w obrębie pętli obwodu przekroczy tę wartość (co " +"wskazuje na brak ostrych narożników), zostanie użyty szew ukośny. Domyślna " +"wartość to 155°." msgid "Conditional overhang threshold" msgstr "Wartość progowa nawisu" #, 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 "Ten parametr określa wartości progowe nawisu dla zastosowania szwu ukośnego. Jeśli niepodparta część obwodu jest mniejsza niż ten próg, zostanie zastosowany szew ukośny. Domyślny próg jest ustawiony na 40% szerokości zewnętrznego obwodu. Ze względów wydajnościowych stopień nawisu jest szacowany." +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 "" +"Ten parametr określa wartości progowe nawisu dla zastosowania szwu ukośnego. " +"Jeśli niepodparta część obwodu jest mniejsza niż ten próg, zostanie " +"zastosowany szew ukośny. Domyślny próg jest ustawiony na 40% szerokości " +"zewnętrznego obwodu. Ze względów wydajnościowych stopień nawisu jest " +"szacowany." msgid "Scarf joint speed" msgstr "Prędkość szwu ukośnego" -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 "Ta opcja ustawia prędkość druku dla szwów ukośnych. Zaleca się drukowanie szwów ukośnych z niższą prędkością (poniżej 100 mm/s). Zaleca się również włączenie 'Wygładzania współczynnika ekstruzji', jeśli ustawiona prędkość znacząco różni się od prędkości zewnętrznych lub wewnętrznych obwodów. Jeżeli prędkość określona tutaj jest wyższa niż prędkość zewnętrznych lub wewnętrznych obwodów, drukarka domyślnie użyje wolniejszej z dwóch prędkości. Jeśli prędkość jest podana w procentach (np. 80%), jest ona obliczana na podstawie prędkości zewnętrznego lub wewnętrznego obwodu. Wartość domyślna wynosi 100%." +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 "" +"Ta opcja ustawia prędkość druku dla szwów ukośnych. Zaleca się drukowanie " +"szwów ukośnych z niższą prędkością (poniżej 100 mm/s). Zaleca się również " +"włączenie 'Wygładzania współczynnika ekstruzji', jeśli ustawiona prędkość " +"znacząco różni się od prędkości zewnętrznych lub wewnętrznych obwodów. " +"Jeżeli prędkość określona tutaj jest wyższa niż prędkość zewnętrznych lub " +"wewnętrznych obwodów, drukarka domyślnie użyje wolniejszej z dwóch " +"prędkości. Jeśli prędkość jest podana w procentach (np. 80%), jest ona " +"obliczana na podstawie prędkości zewnętrznego lub wewnętrznego obwodu. " +"Wartość domyślna wynosi 100%." msgid "Scarf joint flow ratio" msgstr "Współczynnik przepływu szwu ukośnego" msgid "This factor affects the amount of material for scarf joints." -msgstr "Ten współczynnik wpływa na ilość materiału potrzebną dla szwów ukośnych." +msgstr "" +"Ten współczynnik wpływa na ilość materiału potrzebną dla szwów ukośnych." msgid "Scarf start height" msgstr "Wysokość początkowa szwu ukośnego" 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." +"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 "" "Początkowa wysokość szwu ukośnego.\n" -"Ta wartość może być określona w milimetrach lub jako procent bieżącej wysokości warstwy. Domyślna wartość tego parametru to 0." +"Ta wartość może być określona w milimetrach lub jako procent bieżącej " +"wysokości warstwy. Domyślna wartość tego parametru to 0." msgid "Scarf around entire wall" msgstr "Szew ukośny obejmujący cały obrys ściany" @@ -10444,8 +12608,11 @@ msgstr "Szew rozciąga się na całą długość ściany" msgid "Scarf length" msgstr "Długość szwu ukośnego" -msgid "Length of the scarf. Setting this parameter to zero effectively disables the scarf." -msgstr "Długość szwu ukośnego. Ustawienie tego parametru na zero wyłączy tą funkcje." +msgid "" +"Length of the scarf. Setting this parameter to zero effectively disables the " +"scarf." +msgstr "" +"Długość szwu ukośnego. Ustawienie tego parametru na zero wyłączy tą funkcje." msgid "Scarf steps" msgstr "Kroki szwu ukośnego" @@ -10462,32 +12629,66 @@ msgstr "Zastosuj szwy ukośne również do wewnętrznych obrysów." msgid "Role base wipe speed" msgstr "Prędkość czyszczenia w oparciu o rolę ekstruzji" -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 "Szybkość czyszczenia głowicy drukującej jest ustalana na podstawie prędkości aktualnie używanej w procesie ekstruzji. Na przykład, jeżeli czyszczenie jest przeprowadzane zaraz po wydrukowaniu zewnętrznej ścianki modelu, to dla czyszczenia wykorzystywana jest prędkość, która została zastosowana przy drukowaniu tej ścianki." +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 "" +"Szybkość czyszczenia głowicy drukującej jest ustalana na podstawie prędkości " +"aktualnie używanej w procesie ekstruzji. Na przykład, jeżeli czyszczenie " +"jest przeprowadzane zaraz po wydrukowaniu zewnętrznej ścianki modelu, to dla " +"czyszczenia wykorzystywana jest prędkość, która została zastosowana przy " +"drukowaniu tej ścianki." msgid "Wipe on loops" msgstr "Czyszczenie na pętlach" -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 "Aby zminimalizować widoczność szwu w ekstruzji zamkniętej pętli, przed opuszczeniem pętli przez extruder wykonuje się mały ruch do wewnątrz." +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 "" +"Aby zminimalizować widoczność szwu w ekstruzji zamkniętej pętli, przed " +"opuszczeniem pętli przez extruder wykonuje się mały ruch do wewnątrz." msgid "Wipe before external loop" msgstr "Czyszczenie przed zewnętrzną pętlą" msgid "" -"To minimise visibility of potential overextrusion at the start of an external perimeter when printing with Outer/Inner or Inner/Outer/Inner wall print order, the deretraction 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" +"To minimise visibility of potential overextrusion at the start of an " +"external perimeter when printing with Outer/Inner or Inner/Outer/Inner wall " +"print order, the deretraction 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 deretraction move." +"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 deretraction move." msgstr "" -"Aby zminimalizować widoczność potencjalnego nadmiernego wytłaczania na początku zewnętrznego obwodu podczas drukowania z kolejnością drukowania Ściana Zewnętrzna/Wewnętrzna lub Wewnętrzna/Zewnętrzna/Wewnętrzna, deretrakcja jest wykonana nieco od wewnątrz od początku zewnętrznego obwodu. W ten sposób wszelkie potencjalne nadmierne wytłaczanie jest ukryte przed zewnętrzną powierzchnią. \n" +"Aby zminimalizować widoczność potencjalnego nadmiernego wytłaczania na " +"początku zewnętrznego obwodu podczas drukowania z kolejnością drukowania " +"Ściana Zewnętrzna/Wewnętrzna lub Wewnętrzna/Zewnętrzna/Wewnętrzna, " +"deretrakcja jest wykonana nieco od wewnątrz od początku zewnętrznego obwodu. " +"W ten sposób wszelkie potencjalne nadmierne wytłaczanie jest ukryte przed " +"zewnętrzną powierzchnią. \n" "\n" -"Jest to przydatne podczas drukowania z kolejnością drukowania Ściana zewnętrzna/Wewnętrzna lub Wewnętrzna/Zewnętrzna/Wewnętrzna, ponieważ w tych trybach jest bardziej prawdopodobne, że zewnętrzny obrys zostanie wydrukowany bezpośrednio po ruchu deretrakcji." +"Jest to przydatne podczas drukowania z kolejnością drukowania Ściana " +"zewnętrzna/Wewnętrzna lub Wewnętrzna/Zewnętrzna/Wewnętrzna, ponieważ w tych " +"trybach jest bardziej prawdopodobne, że zewnętrzny obrys zostanie " +"wydrukowany bezpośrednio po ruchu deretrakcji." msgid "Wipe speed" msgstr "Prędkość czyszczenia" -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 "Prędkość czyszczenia jest ustalona przez ustawienie prędkości określone w tej konfiguracji. Jeśli wartość jest wyrażona w procentach (np. 80%), będzie obliczana na podstawie wcześniej ustawionej prędkości. Domyślna wartość dla tego parametru to 80%" +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 "" +"Prędkość czyszczenia jest ustalona przez ustawienie prędkości określone w " +"tej konfiguracji. Jeśli wartość jest wyrażona w procentach (np. 80%), będzie " +"obliczana na podstawie wcześniej ustawionej prędkości. Domyślna wartość dla " +"tego parametru to 80%" msgid "Skirt distance" msgstr "Odstęp Skirtu od obiektu" @@ -10501,6 +12702,23 @@ msgstr "Wysokość Skirtu" msgid "How many layers of skirt. Usually only one layer" msgstr "Ile warstw Skirtu. Zwykle tylko jedna warstwa" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Ilość pętli Skirtu" @@ -10511,40 +12729,100 @@ msgid "Skirt speed" msgstr "Prędkość Skirtu" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." -msgstr "Prędkość Skirtu, w mm/s. Zero oznacza użycie domyślnej prędkości ekstruzji warstwy." +msgstr "" +"Prędkość Skirtu, w mm/s. Zero oznacza użycie domyślnej prędkości ekstruzji " +"warstwy." -msgid "The printing speed in exported gcode will be slowed down, when the estimated layer time is shorter than this value, to get better cooling for these layers" -msgstr "Prędkość drukowania w wyeksportowanym gcode zostanie zwolniona, gdy szacowany czas warstwy jest krótszy niż ta wartość, aby uzyskać lepsze chłodzenie tych warstw" +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." +msgstr "" + +msgid "" +"The printing speed in exported gcode will be slowed down, when the estimated " +"layer time is shorter than this value, to get better cooling for these layers" +msgstr "" +"Prędkość drukowania w wyeksportowanym gcode zostanie zwolniona, gdy " +"szacowany czas warstwy jest krótszy niż ta wartość, aby uzyskać lepsze " +"chłodzenie tych warstw" msgid "Minimum sparse infill threshold" msgstr "Minimalny próg wypełnienia" -msgid "Sparse infill area which is smaller than threshold value is replaced by internal solid infill" -msgstr "Obszar wypełnienia, który jest mniejszy od wartości progowej zostaje zastąpiony wewnętrznym, pełnym wypełnieniem" +msgid "" +"Sparse infill area which is smaller than threshold value is replaced by " +"internal solid infill" +msgstr "" +"Obszar wypełnienia, który jest mniejszy od wartości progowej zostaje " +"zastąpiony wewnętrznym, pełnym wypełnieniem" -msgid "Line width of internal solid infill. If expressed as a %, it will be computed over the nozzle diameter." -msgstr "Szerokość linii wewnętrznego pełnego wypełnienia. Jeśli wyrażona w procentach, będzie obliczana na podstawie średnicy dyszy." +msgid "" +"Line width of internal solid infill. If expressed as a %, it will be " +"computed over the nozzle diameter." +msgstr "" +"Szerokość linii wewnętrznego pełnego wypełnienia. Jeśli wyrażona w " +"procentach, będzie obliczana na podstawie średnicy dyszy." msgid "Speed of internal solid infill, not the top and bottom surface" -msgstr "Prędkość wewnętrznego pełnego wypełnienia, nie dotyczy górnej i dolnej powierzchni" +msgstr "" +"Prędkość wewnętrznego pełnego wypełnienia, nie dotyczy górnej i dolnej " +"powierzchni" -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 "Tryb Wazy wygładza ruchy osi z zewnętrznego konturu. Zamienia cały model w wydruk jednościenny z pełnymi dolnymi warstwami. Końcowy wygenerowany model nie ma szwu" +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 "" +"Tryb Wazy wygładza ruchy osi z zewnętrznego konturu. Zamienia cały model w " +"wydruk jednościenny z pełnymi dolnymi warstwami. Końcowy wygenerowany model " +"nie ma szwu" msgid "Smooth Spiral" msgstr "Wygładzona Spirala" -msgid "Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam at all, even in the XY directions on walls that are not vertical" -msgstr "Wygładzona Spirala wygładza również ruchy w osiach X i Y, dzięki czemu nie jest widoczny żaden szew, nawet w kierunkach XY na ścianach, które nie są pionowe" +msgid "" +"Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " +"at all, even in the XY directions on walls that are not vertical" +msgstr "" +"Wygładzona Spirala wygładza również ruchy w osiach X i Y, dzięki czemu nie " +"jest widoczny żaden szew, nawet w kierunkach XY na ścianach, które nie są " +"pionowe" msgid "Max XY Smoothing" msgstr "Maksymalne Wygładzanie XY" -msgid "Maximum distance to move points in XY to try to achieve a smooth spiralIf expressed as a %, it will be computed over nozzle diameter" -msgstr "Maksymalna odległość, o którą można przesunąć punkty w płaszczyźnie XY, aby spróbować uzyskać gładką spiralę. Jeśli wyrażone jako %, będzie obliczane względem średnicy dyszy." +msgid "" +"Maximum distance to move points in XY to try to achieve a smooth spiralIf " +"expressed as a %, it will be computed over nozzle diameter" +msgstr "" +"Maksymalna odległość, o którą można przesunąć punkty w płaszczyźnie XY, aby " +"spróbować uzyskać gładką spiralę. Jeśli wyrażone jako %, będzie obliczane " +"względem średnicy dyszy." -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, prime tower is required for smooth mode to wipe nozzle." -msgstr "Jeśli wybrany jest tryb \"Tradycyjny\", dla każdego wydruku będzie tworzony film poklatkowy (timelapse). Po wydrukowaniu każdej warstwy robione jest zdjęcie kamerą w komorze. Wszystkie te zdjęcia są komponowane w film poklatkowy po zakończeniu drukowania. Jeśli wybrany jest tryb \"Wygładź\", głowica drukująca przesunie się w pobliże otworu wyrzutowego przy każdej zmianie warstwy, a następnie zrobi zdjęcie. Ponieważ stopiony filament może wyciekać z dyszy podczas robienia zdjęcia, wieża czyszcząca jest wymagana w trybie \"Wygładź\" do czyszczenia dyszy." +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, prime tower is required for smooth mode to " +"wipe nozzle." +msgstr "" +"Jeśli wybrany jest tryb \"Tradycyjny\", dla każdego wydruku będzie tworzony " +"film poklatkowy (timelapse). Po wydrukowaniu każdej warstwy robione jest " +"zdjęcie kamerą w komorze. Wszystkie te zdjęcia są komponowane w film " +"poklatkowy po zakończeniu drukowania. Jeśli wybrany jest tryb \"Wygładź\", " +"głowica drukująca przesunie się w pobliże otworu wyrzutowego przy każdej " +"zmianie warstwy, a następnie zrobi zdjęcie. Ponieważ stopiony filament może " +"wyciekać z dyszy podczas robienia zdjęcia, wieża czyszcząca jest wymagana w " +"trybie \"Wygładź\" do czyszczenia dyszy." msgid "Traditional" msgstr "Tradycyjny" @@ -10570,8 +12848,18 @@ msgstr "Użyj pojedynczej dyszy do drukowania wieloma filamentami" msgid "Manual Filament Change" msgstr "Ręczna zmiana filamentu" -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 "Włącz tę opcję, aby pominąć niestandardowy G-code zmiany filamentu tylko na początku druku. Komenda zmiany narzędzia (np. T0) będzie pomijana przez cały proces drukowania. Jest to przydatne przy ręcznym drukowaniu wielomateriałowym, gdzie używamy M600/PAUSE, aby wywołać akcję ręcznej zmiany filamentu." +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 "" +"Włącz tę opcję, aby pominąć niestandardowy G-code zmiany filamentu tylko na " +"początku druku. Komenda zmiany narzędzia (np. T0) będzie pomijana przez cały " +"proces drukowania. Jest to przydatne przy ręcznym drukowaniu " +"wielomateriałowym, gdzie używamy M600/PAUSE, aby wywołać akcję ręcznej " +"zmiany filamentu." msgid "Purge in prime tower" msgstr "Oczyszczanie na wieży czyszczącej" @@ -10585,26 +12873,49 @@ msgstr "Włącz szybką ekstruzję filamentu" msgid "No sparse layers (beta)" msgstr "Brak warstw bez czyszczenia (beta)" -msgid "If enabled, the wipe tower will not be printed on layers with no toolchanges. On layers with a toolchange, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." -msgstr "Jeśli włączone, wieża czyszcząca nie będzie drukowana na warstwach bez zmian narzędzi. Na warstwach ze zmianą narzędzia, extruder przemieści się w dół, aby wydrukować wieżę czyszczącą. Użytkownik jest odpowiedzialny za zapewnienie, że nie dojdzie do kolizji z wydrukiem." +msgid "" +"If enabled, the wipe tower will not be printed on layers with no " +"toolchanges. On layers with a toolchange, extruder will travel downward to " +"print the wipe tower. User is responsible for ensuring there is no collision " +"with the print." +msgstr "" +"Jeśli włączone, wieża czyszcząca nie będzie drukowana na warstwach bez zmian " +"narzędzi. Na warstwach ze zmianą narzędzia, extruder przemieści się w dół, " +"aby wydrukować wieżę czyszczącą. Użytkownik jest odpowiedzialny za " +"zapewnienie, że nie dojdzie do kolizji z wydrukiem." msgid "Prime all printing extruders" msgstr "Przygotuj wszystkie extrudery do drukowania" -msgid "If enabled, all printing extruders will be primed at the front edge of the print bed at the start of the print." -msgstr "Jeśli włączone, wszystkie extrudery do drukowania będą przygotowane na przedniej krawędzi stołu drukującego na początku druku." +msgid "" +"If enabled, all printing extruders will be primed at the front edge of the " +"print bed at the start of the print." +msgstr "" +"Jeśli włączone, wszystkie extrudery do drukowania będą przygotowane na " +"przedniej krawędzi stołu drukującego na początku druku." msgid "Slice gap closing radius" msgstr "Promień zamykania szpar" -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 "Szpary mniejsze niż dwukrotność wartości parametru \"promień zamykania szpar\" zostaną zamknięte przy cięciu. Operacja zamykania szpar może zmniejszyć finalną rozdzielczość wydruku, więc zalecane jest ustawienie tej wartości na rozsądnie niskim poziomie." +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 "" +"Szpary mniejsze niż dwukrotność wartości parametru \"promień zamykania szpar" +"\" zostaną zamknięte przy cięciu. Operacja zamykania szpar może zmniejszyć " +"finalną rozdzielczość wydruku, więc zalecane jest ustawienie tej wartości na " +"rozsądnie niskim poziomie." msgid "Slicing Mode" msgstr "Tryb cięcia" -msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." -msgstr "Użyj \"Parzysto-nieparzysty\" dla modeli samolotów 3DLabPrint. Użyj \"Zamknij otwory\" do zamknięcia wszystkich otworów w modelu." +msgid "" +"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " +"close all holes in the model." +msgstr "" +"Użyj \"Parzysto-nieparzysty\" dla modeli samolotów 3DLabPrint. Użyj " +"\"Zamknij otwory\" do zamknięcia wszystkich otworów w modelu." msgid "Regular" msgstr "Regularny" @@ -10618,8 +12929,16 @@ msgstr "Zamknij otwory" msgid "Z offset" msgstr "Przesunięcie w osi 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 "Wartość tego ustawienia zostanie dodana (lub odjęta) od wszystkich koordynat w osi Z w pliku wyjściowym G-code. Jest używana dla korekcji złego położenia wyłącznika krańcowego osi Z. Np. jeśli końcówka dyszy znajduje się 0.3 mm ponad położeniem zerowym, ustaw tutaj -0.3 (lub napraw krańcówkę).\"" +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 "" +"Wartość tego ustawienia zostanie dodana (lub odjęta) od wszystkich koordynat " +"w osi Z w pliku wyjściowym G-code. Jest używana dla korekcji złego położenia " +"wyłącznika krańcowego osi Z. Np. jeśli końcówka dyszy znajduje się 0.3 mm " +"ponad położeniem zerowym, ustaw tutaj -0.3 (lub napraw krańcówkę).\"" msgid "Enable support" msgstr "Włącz" @@ -10627,8 +12946,14 @@ msgstr "Włącz" msgid "Enable support generation." msgstr "Włącz generowanie podpór." -msgid "normal(auto) and tree(auto) is used to generate support automatically. If normal(manual) or tree(manual) is selected, only support enforcers are generated" -msgstr "tryb 'normalny(auto)' oraz 'drzewo(auto)' służą do automatycznego generowania podpór. Jeśli wybierzesz 'normalny(manual)' lub 'drzewo(manual)', zostaną wygenerowane jedynie podpory wymuszone" +msgid "" +"normal(auto) and tree(auto) is used to generate support automatically. If " +"normal(manual) or tree(manual) is selected, only support enforcers are " +"generated" +msgstr "" +"tryb 'normalny(auto)' oraz 'drzewo(auto)' służą do automatycznego " +"generowania podpór. Jeśli wybierzesz 'normalny(manual)' lub " +"'drzewo(manual)', zostaną wygenerowane jedynie podpory wymuszone" msgid "normal(auto)" msgstr "normalny (auto)" @@ -10652,7 +12977,9 @@ msgid "Pattern angle" msgstr "Kąt wzoru" msgid "Use this setting to rotate the support pattern on the horizontal plane." -msgstr "To ustawienie odpowiada za obrót materiału podporowego w płaszczyźnie poziomej." +msgstr "" +"To ustawienie odpowiada za obrót materiału podporowego w płaszczyźnie " +"poziomej." msgid "On build plate only" msgstr "Tylko na stole" @@ -10663,8 +12990,12 @@ msgstr "Nie twórz podpór na powierzchni modelu, tylko na stole" msgid "Support critical regions only" msgstr "Podpory tylko dla krytycznych obszarów" -msgid "Only create support for critical regions including sharp tail, cantilever, etc." -msgstr "Twórz podpory tylko dla krytycznych obszarów, takich jak ostra krawędź, wspornik, itp." +msgid "" +"Only create support for critical regions including sharp tail, cantilever, " +"etc." +msgstr "" +"Twórz podpory tylko dla krytycznych obszarów, takich jak ostra krawędź, " +"wspornik, itp." msgid "Remove small overhangs" msgstr "Usuń małe nawisy" @@ -10687,29 +13018,45 @@ msgstr "Odległość w osi Z między dolną warstwą łączącyą a obiektem" msgid "Support/raft base" msgstr "Podstawa podpory/tratwy" -msgid "Filament to print support base and raft. \"Default\" means no specific filament for support and current filament is used" -msgstr "Filament do drukowania podstawy podpory i raftu. \"Domyślnie\" oznacza brak wyboru konkretnego filamentu dla ich podstawy. Zostanie użyty obecny filament" +msgid "" +"Filament to print support base and raft. \"Default\" means no specific " +"filament for support and current filament is used" +msgstr "" +"Filament do drukowania podstawy podpory i raftu. \"Domyślnie\" oznacza brak " +"wyboru konkretnego filamentu dla ich podstawy. Zostanie użyty obecny filament" msgid "Avoid interface filament for base" msgstr "Zredukuj ilość materiału warstwy łączącej dla podstawy" -msgid "Avoid using support interface filament to print support base if possible." -msgstr "Jeśli to możliwe, unikaj używania filamentu podporowego do drukowania podstawy podpór." +msgid "" +"Avoid using support interface filament to print support base if possible." +msgstr "" +"Jeśli to możliwe, unikaj używania filamentu podporowego do drukowania " +"podstawy podpór." -msgid "Line width of support. If expressed as a %, it will be computed over the nozzle diameter." -msgstr "Szerokość linii podpory. Jeśli wyrażona w procentach, będzie obliczona na podstawie średnicy dyszy." +msgid "" +"Line width of support. If expressed as a %, it will be computed over the " +"nozzle diameter." +msgstr "" +"Szerokość linii podpory. Jeśli wyrażona w procentach, będzie obliczona na " +"podstawie średnicy dyszy." msgid "Interface use loop pattern" msgstr "Użyj wzoru pętli dla warstw łączących" -msgid "Cover the top contact layer of the supports with loops. Disabled by default." +msgid "" +"Cover the top contact layer of the supports with loops. Disabled by default." msgstr "Przykryj górną warstwę stykową podpór pętlami. Domyślnie wyłączone." msgid "Support/raft interface" msgstr "Warstwy łączące podpory/tratwy" -msgid "Filament to print support interface. \"Default\" means no specific filament for support interface and current filament is used" -msgstr "Filament do drukowania warstw łączących podpory z modelem. \"Domyślnie\" oznacza brak konkretnego filamentu dla podpory i używanie obecnego filamentu" +msgid "" +"Filament to print support interface. \"Default\" means no specific filament " +"for support interface and current filament is used" +msgstr "" +"Filament do drukowania warstw łączących podpory z modelem. \"Domyślnie\" " +"oznacza brak konkretnego filamentu dla podpory i używanie obecnego filamentu" msgid "Top interface layers" msgstr "Górne warstwy łączące" @@ -10730,13 +13077,17 @@ msgid "Top interface spacing" msgstr "Rozstaw górnych warstw łączących" msgid "Spacing of interface lines. Zero means solid interface" -msgstr "Odstęp między liniami powierzchni warstwy łączącej. Wartość zero oznacza, że warstwa łącząca jest jednolita i bez przerw" +msgstr "" +"Odstęp między liniami powierzchni warstwy łączącej. Wartość zero oznacza, że " +"warstwa łącząca jest jednolita i bez przerw" msgid "Bottom interface spacing" msgstr "Rozstaw dolnych warstw łączących" msgid "Spacing of bottom interface lines. Zero means solid interface" -msgstr "Odstęp między liniami dolnej powierzchni warstwy łączącej. Wartość zero oznacza, że warstwa łącząca jest jednolita i bez przerw" +msgstr "" +"Odstęp między liniami dolnej powierzchni warstwy łączącej. Wartość zero " +"oznacza, że warstwa łącząca jest jednolita i bez przerw" msgid "Speed of support interface" msgstr "Prędkość dla warstw łączących" @@ -10756,8 +13107,14 @@ msgstr "Wydrążony" msgid "Interface pattern" msgstr "Wzór warstwy łączącej" -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 "Wzór linii dla warstw łączących podpory. Standardowy wzór dla warstwy łączącej podpory nierozpuszczalnej jest Prostoliniowy, natomiast dla warstwy łączącej podpory rozpuszczalnej jest Koncentryczny" +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 "" +"Wzór linii dla warstw łączących podpory. Standardowy wzór dla warstwy " +"łączącej podpory nierozpuszczalnej jest Prostoliniowy, natomiast dla warstwy " +"łączącej podpory rozpuszczalnej jest Koncentryczny" msgid "Rectilinear Interlaced" msgstr "Prostoliniowe przeplatane" @@ -10778,11 +13135,22 @@ msgid "Speed of support" msgstr "Prędkość podpory" 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." +"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 "" -"Styl i kształt podpory. Dla normalnego wsparcia, rzutowanie wsparć na regularną siatkę stworzy stabilniejsze wsparcia (domyślne), podczas gdy wąskie wieże podporowe zaoszczędzą filament i zmniejszą uszkodzenia obiektu.\n" -"Dla podpory drzewa, stylu Cinkiego i Organicznego połączy gałęzie bardziej agresywnie i zaoszczędzi dużo filamentu (domyślnie organiczny), podczas gdy styl hybrydowy stworzy podobną strukturę do normalnego wsparcia pod dużymi płaskimi nawisami." +"Styl i kształt podpory. Dla normalnego wsparcia, rzutowanie wsparć na " +"regularną siatkę stworzy stabilniejsze wsparcia (domyślne), podczas gdy " +"wąskie wieże podporowe zaoszczędzą filament i zmniejszą uszkodzenia " +"obiektu.\n" +"Dla podpory drzewa, stylu Cinkiego i Organicznego połączy gałęzie bardziej " +"agresywnie i zaoszczędzi dużo filamentu (domyślnie organiczny), podczas gdy " +"styl hybrydowy stworzy podobną strukturę do normalnego wsparcia pod dużymi " +"płaskimi nawisami." msgid "Snug" msgstr "Przylegający" @@ -10802,52 +13170,93 @@ msgstr "Organiczne" msgid "Independent support layer height" msgstr "Niezależna wysokość warstwy podpory" -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 "Warstwa podpory używa niezależnej wysokości warstwy od warstwy obiektu. Służy to dostosowywaniu odstępu osi Z i oszczędzaniu czasu drukowania. Opcja ta będzie nieaktywna, gdy włączona jest wieża czyszcząca." +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 "" +"Warstwa podpory używa niezależnej wysokości warstwy od warstwy obiektu. " +"Służy to dostosowywaniu odstępu osi Z i oszczędzaniu czasu drukowania. Opcja " +"ta będzie nieaktywna, gdy włączona jest wieża czyszcząca." msgid "Threshold angle" msgstr "Kąt progowy" -msgid "Support will be generated for overhangs whose slope angle is below the threshold." -msgstr "Podpora zostanie wygenerowana dla nawisów, których kąt nachylenia jest poniżej tego progu." +msgid "" +"Support will be generated for overhangs whose slope angle is below the " +"threshold." +msgstr "" +"Podpora zostanie wygenerowana dla nawisów, których kąt nachylenia jest " +"poniżej tego progu." msgid "Tree support branch angle" msgstr "Kąt nachylenia gałęzi" -msgid "This setting determines the maximum overhang angle that t he branches of tree support allowed to make.If the angle is increased, the branches can be printed more horizontally, allowing them to reach farther." -msgstr "To ustawienie określa maksymalny kąt nawisu, jaki mogą tworzyć gałęzie podpory (drzewo). Jeśli kąt zostanie zwiększony, gałęzie mogą być drukowane bardziej poziomo, pozwalając im sięgać dalej." +msgid "" +"This setting determines the maximum overhang angle that t he branches of " +"tree support allowed to make.If the angle is increased, the branches can be " +"printed more horizontally, allowing them to reach farther." +msgstr "" +"To ustawienie określa maksymalny kąt nawisu, jaki mogą tworzyć gałęzie " +"podpory (drzewo). Jeśli kąt zostanie zwiększony, gałęzie mogą być drukowane " +"bardziej poziomo, pozwalając im sięgać dalej." msgid "Preferred Branch Angle" msgstr "Preferowany kąt gałęzi" #. 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 "Preferowany kąt nachylenia gałęzi, gdy nie muszą one omijać modelu. Użyj mniejszego kąta, aby były bardziej pionowe i stabilne. Użyj większego kąta, aby gałęzie szybciej się łączyły." +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 "" +"Preferowany kąt nachylenia gałęzi, gdy nie muszą one omijać modelu. Użyj " +"mniejszego kąta, aby były bardziej pionowe i stabilne. Użyj większego kąta, " +"aby gałęzie szybciej się łączyły." msgid "Tree support branch distance" msgstr "Odstęp gałęzi podpór drzewa" -msgid "This setting determines the distance between neighboring tree support nodes." -msgstr "To ustawienie określa odległość między sąsiednimi węzłami podpory (drzewa)." +msgid "" +"This setting determines the distance between neighboring tree support nodes." +msgstr "" +"To ustawienie określa odległość między sąsiednimi węzłami podpory (drzewa)." msgid "Branch Density" msgstr "Gęstość gałęzi" #. 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 "Dostosowuje gęstość konstrukcji nośnej używanej do generowania końcówek gałęzi. Wyższa wartość skutkuje lepszymi nawisami, ale podpory są trudniejsze do usunięcia, dlatego zaleca się włączenie górnych łączników podpór zamiast wysokiej gęstości gałęzi, jeśli potrzebne są gęste podpory." +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 "" +"Dostosowuje gęstość konstrukcji nośnej używanej do generowania końcówek " +"gałęzi. Wyższa wartość skutkuje lepszymi nawisami, ale podpory są " +"trudniejsze do usunięcia, dlatego zaleca się włączenie górnych łączników " +"podpór zamiast wysokiej gęstości gałęzi, jeśli potrzebne są gęste podpory." msgid "Adaptive layer height" msgstr "Adaptacyjna wysokość warstwy" -msgid "Enabling this option means the height of tree support layer except the first will be automatically calculated " -msgstr "Włączenie tej opcji oznacza, że wysokość warstwy podpory drzewo, z wyjątkiem pierwszej, zostanie automatycznie obliczona " +msgid "" +"Enabling this option means the height of tree support layer except the " +"first will be automatically calculated " +msgstr "" +"Włączenie tej opcji oznacza, że wysokość warstwy podpory drzewo, z wyjątkiem " +"pierwszej, zostanie automatycznie obliczona " msgid "Auto brim width" msgstr "Automatyczna szerokość Brimu" -msgid "Enabling this option means the width of the brim for tree support will be automatically calculated" -msgstr "Włączenie tej opcji oznacza, że szerokość Brimu dla podpory drzewo będzie automatycznie obliczana" +msgid "" +"Enabling this option means the width of the brim for tree support will be " +"automatically calculated" +msgstr "" +"Włączenie tej opcji oznacza, że szerokość Brimu dla podpory drzewo będzie " +"automatycznie obliczana" msgid "Tree support brim width" msgstr "Szerokość Brimu dla podpory drzewa" @@ -10873,15 +13282,28 @@ msgid "Branch Diameter Angle" msgstr "Kąt średnicy gałęzi" #. 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 "Kąt średnicy gałęzi w miarę stopniowego zagęszczania się ich ku dołowi. Kąt 0 spowoduje, że gałęzie będą miały jednakową grubość na całej długości. Niewielki kąt może zwiększyć stabilność podpór organicznych." +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 "" +"Kąt średnicy gałęzi w miarę stopniowego zagęszczania się ich ku dołowi. Kąt " +"0 spowoduje, że gałęzie będą miały jednakową grubość na całej długości. " +"Niewielki kąt może zwiększyć stabilność podpór organicznych." msgid "Branch Diameter with double walls" msgstr "Średnica gałęzi z podwójnymi ścianami" #. TRN PrintSettings: "Organic supports" > "Branch Diameter" -msgid "Branches with area larger than the area of a circle of this diameter will be printed with double walls for stability. Set this value to zero for no double walls." -msgstr "Gałęzie o powierzchni większej niż powierzchnia koła o tej średnicy będą drukowane z podwójnymi ścianami dla stabilności. Ustaw tę wartość na zero, aby nie było podwójnych ścian." +msgid "" +"Branches with area larger than the area of a circle of this diameter will be " +"printed with double walls for stability. Set this value to zero for no " +"double walls." +msgstr "" +"Gałęzie o powierzchni większej niż powierzchnia koła o tej średnicy będą " +"drukowane z podwójnymi ścianami dla stabilności. Ustaw tę wartość na zero, " +"aby nie było podwójnych ścian." msgid "Support wall loops" msgstr "Pętle ścian podpory" @@ -10892,24 +13314,43 @@ msgstr "To ustawienie określa liczbę ścian wokół podpory" msgid "Tree support with infill" msgstr "Podpora w formie drzewa z wypełnieniem" -msgid "This setting specifies whether to add infill inside large hollows of tree support" -msgstr "To ustawienie określa, czy dodać wypełnienie wewnątrz dużych pustych przestrzeni podpor (drzewa)" +msgid "" +"This setting specifies whether to add infill inside large hollows of tree " +"support" +msgstr "" +"To ustawienie określa, czy dodać wypełnienie wewnątrz dużych pustych " +"przestrzeni podpor (drzewa)" msgid "Activate temperature control" msgstr "Aktywuj kontrolę temperatury" msgid "" -"Enable this option for chamber temperature control. An M191 command will be added before \"machine_start_gcode\"\n" +"Enable this option for chamber temperature control. An M191 command will be " +"added before \"machine_start_gcode\"\n" "G-code commands: M141/M191 S(0-255)" msgstr "" -"Włącz tę opcję dla kontroli temperatury komory. Komenda M191 zostanie dodana przed \"początkowy G-code drukarki\"\n" +"Włącz tę opcję dla kontroli temperatury komory. Komenda M191 zostanie dodana " +"przed \"początkowy G-code drukarki\"\n" "Komendy G-code: M141/M191 S(0-255)" msgid "Chamber temperature" msgstr "Temperatura komory" -msgid "Higher chamber temperature can help suppress or reduce warping and potentially lead to higher interlayer bonding strength for high temperature materials like ABS, ASA, PC, PA and so on.At the same time, the air filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and other low temperature materials,the actual chamber temperature should not be high to avoid cloggings, so 0 which stands for turning off is highly recommended" -msgstr "Wyższa temperatura komory może pomóc w redukcji wypaczania i potencjalnie prowadzić do większej siły wiązania międzywarstwowego w przypadku materiałów wysokotemperaturowych, takich jak ABS, ASA, PC, PA itp. Dla filametów PLA, PETG, TPU, PVA i innych materiałów niskotemperaturowych temperatura komory nie powinna być wysoka. Aby uniknąć zatykania sie dyszy zaleca się ustawienia na wartość 0 (wyłączone)." +msgid "" +"Higher chamber temperature can help suppress or reduce warping and " +"potentially lead to higher interlayer bonding strength for high temperature " +"materials like ABS, ASA, PC, PA and so on.At the same time, the air " +"filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and " +"other low temperature materials,the actual chamber temperature should not be " +"high to avoid cloggings, so 0 which stands for turning off is highly " +"recommended" +msgstr "" +"Wyższa temperatura komory może pomóc w redukcji wypaczania i potencjalnie " +"prowadzić do większej siły wiązania międzywarstwowego w przypadku materiałów " +"wysokotemperaturowych, takich jak ABS, ASA, PC, PA itp. Dla filametów PLA, " +"PETG, TPU, PVA i innych materiałów niskotemperaturowych temperatura komory " +"nie powinna być wysoka. Aby uniknąć zatykania sie dyszy zaleca się " +"ustawienia na wartość 0 (wyłączone)." msgid "Nozzle temperature for layers after the initial one" msgstr "Temperatura dyszy dla warstw po początkowej" @@ -10917,17 +13358,29 @@ msgstr "Temperatura dyszy dla warstw po początkowej" msgid "Detect thin wall" msgstr "Wykrywanie cienkich ścian" -msgid "Detect thin wall which can't contain two line width. And use single line to print. Maybe printed not very well, because it's not closed loop" -msgstr "Wykrywaj ściany o grubości jednego obrysu. Są to obszary, gdzie 2 obrysy nie zmieszczą się i trzeba będzie połączyć je w jedną linię" +msgid "" +"Detect thin wall which can't contain two line width. And use single line to " +"print. Maybe printed not very well, because it's not closed loop" +msgstr "" +"Wykrywaj ściany o grubości jednego obrysu. Są to obszary, gdzie 2 obrysy nie " +"zmieszczą się i trzeba będzie połączyć je w jedną linię" -msgid "This gcode is inserted when change filament, including T command to trigger tool change" -msgstr "Ten gcode jest wstawiany podczas zmiany filamentu, w tym komendy T do wywołania zmiany narzędzia" +msgid "" +"This gcode is inserted when change filament, including T command to trigger " +"tool change" +msgstr "" +"Ten gcode jest wstawiany podczas zmiany filamentu, w tym komendy T do " +"wywołania zmiany narzędzia" msgid "This gcode is inserted when the extrusion role is changed" msgstr "Ten G-code jest dodawany przy zmianie funkcji ekstruzji" -msgid "Line width for top surfaces. If expressed as a %, it will be computed over the nozzle diameter." -msgstr "Szerokość linii dla górnych powierzchni. Jeśli wyrażona w procentach, będzie obliczona na podstawie średnicy dyszy." +msgid "" +"Line width for top surfaces. If expressed as a %, it will be computed over " +"the nozzle diameter." +msgstr "" +"Szerokość linii dla górnych powierzchni. Jeśli wyrażona w procentach, będzie " +"obliczona na podstawie średnicy dyszy." msgid "Speed of top surface infill which is solid" msgstr "Prędkość wypełnienia górnej powierzchni, która jest zwarta" @@ -10935,8 +13388,15 @@ msgstr "Prędkość wypełnienia górnej powierzchni, która jest zwarta" msgid "Top shell layers" msgstr "Górne warstwy powłoki" -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 "To jest liczba pełnych warstw górnej powłoki, włączając w to górną powierzchnie. Jeżeli grubość obliczona na podstawie tej wartości jest mniejsza niż grubość górnej powłoki, liczba warstw górnej powłoki zostanie zwiększona" +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 "" +"To jest liczba pełnych warstw górnej powłoki, włączając w to górną " +"powierzchnie. Jeżeli grubość obliczona na podstawie tej wartości jest " +"mniejsza niż grubość górnej powłoki, liczba warstw górnej powłoki zostanie " +"zwiększona" msgid "Top solid layers" msgstr "Pełne warstwy górne" @@ -10944,8 +13404,18 @@ msgstr "Pełne warstwy górne" msgid "Top shell thickness" msgstr "Grubość górnej powłoki" -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 determained by top shell layers" -msgstr "Liczba górnych zwartych warstw jest zwiększana podczas cięcia, jeśli grubość obliczona przez górną warstwe powłoki jest cieńsza niż ta wartość. Można w ten sposób uniknąć zbyt cienkiej powłoki, gdy wysokość warstwy jest mała. 0 oznacza, że to ustawienie jest wyłączone, a grubość górnej powłoki jest absolutnie określona przez górne warstwy powłoki" +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 determained by top " +"shell layers" +msgstr "" +"Liczba górnych zwartych warstw jest zwiększana podczas cięcia, jeśli grubość " +"obliczona przez górną warstwe powłoki jest cieńsza niż ta wartość. Można w " +"ten sposób uniknąć zbyt cienkiej powłoki, gdy wysokość warstwy jest mała. 0 " +"oznacza, że to ustawienie jest wyłączone, a grubość górnej powłoki jest " +"absolutnie określona przez górne warstwy powłoki" msgid "Speed of travel which is faster and without extrusion" msgstr "Prędkość jałowa, która jest szybsza i bez ekstruzji" @@ -10953,27 +13423,47 @@ msgstr "Prędkość jałowa, która jest szybsza i bez ekstruzji" msgid "Wipe while retracting" msgstr "Czyszczenie przy retrakcji" -msgid "Move nozzle along the last extrusion path when retracting to clean leaked material on nozzle. This can minimize blob when print new part after travel" -msgstr "Przesuń dyszę wzdłuż ostatniej ścieżki ekstruzji podczas cofania, aby oczyścić wyciekły filament na dyszy. Może to zminimalizować wystąpienie grudek podczas drukowania nowej części po przejeździe" +msgid "" +"Move nozzle along the last extrusion path when retracting to clean leaked " +"material on nozzle. This can minimize blob when print new part after travel" +msgstr "" +"Przesuń dyszę wzdłuż ostatniej ścieżki ekstruzji podczas cofania, aby " +"oczyścić wyciekły filament na dyszy. Może to zminimalizować wystąpienie " +"grudek podczas drukowania nowej części po przejeździe" msgid "Wipe Distance" msgstr "Odległość czyszczenia" msgid "" -"Discribe how long the nozzle will move along the last path when retracting. \n" +"Discribe 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" +"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." +"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 "" -"Opisz, jak długo dysza będzie się przesuwać wzdłuż ostatniej ścieżki podczas cofania. \n" +"Opisz, jak długo dysza będzie się przesuwać wzdłuż ostatniej ścieżki podczas " +"cofania. \n" "\n" -"W zależności od tego, jak długo trwa operacja czyszczenia oraz jak szybkie i długie są ustawienia cofania extrudera/filamentu, może być potrzebny ruch cofania, aby cofnąć pozostały filament. \n" +"W zależności od tego, jak długo trwa operacja czyszczenia oraz jak szybkie i " +"długie są ustawienia cofania extrudera/filamentu, może być potrzebny ruch " +"cofania, aby cofnąć pozostały filament. \n" "\n" -"Ustawienie wartości w ilości cofania przed ustawieniem czyszczenia poniżej spowoduje wykonanie nadmiernego cofania przed czyszczeniem, w przeciwnym razie zostanie wykonane po nim." +"Ustawienie wartości w ilości cofania przed ustawieniem czyszczenia poniżej " +"spowoduje wykonanie nadmiernego cofania przed czyszczeniem, w przeciwnym " +"razie zostanie wykonane po nim." -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 "Wieża czyszcząca może być używana do czyszczenia resztek na dyszy i stabilizacji ciśnienia w komorze wewnątrz dyszy, aby uniknąć defektów wyglądu podczas drukowania obiektów." +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 "" +"Wieża czyszcząca może być używana do czyszczenia resztek na dyszy i " +"stabilizacji ciśnienia w komorze wewnątrz dyszy, aby uniknąć defektów " +"wyglądu podczas drukowania obiektów." msgid "Purging volumes" msgstr "Objętości czyszczenia" @@ -10981,14 +13471,19 @@ msgstr "Objętości czyszczenia" msgid "Flush multiplier" msgstr "Mnożnik płukania" -msgid "The actual flushing volumes is equal to the flush multiplier multiplied by the flushing volumes in the table." -msgstr "Aktualna objętość płukania jest równa mnożnikowi płukania pomnożonemu przez objętości płukania w tabeli." +msgid "" +"The actual flushing volumes is equal to the flush multiplier multiplied by " +"the flushing volumes in the table." +msgstr "" +"Aktualna objętość płukania jest równa mnożnikowi płukania pomnożonemu przez " +"objętości płukania w tabeli." msgid "Prime volume" msgstr "Objętość czyszczenia" msgid "The volume of material to prime extruder on tower." -msgstr "Objętość materiału, który ekstruder powinien upuścić na wieży czyszczącej." +msgstr "" +"Objętość materiału, który ekstruder powinien upuścić na wieży czyszczącej." msgid "Width of prime tower" msgstr "Szerokość wieży czyszczącej" @@ -11002,8 +13497,12 @@ msgstr "Kąt obrotu wieży czyszczącej względem osi x." msgid "Stabilization cone apex angle" msgstr "Kąt wierzchołka stożka stabilizacji" -msgid "Angle at the apex of the cone that is used to stabilize the wipe tower. Larger angle means wider base." -msgstr "Kąt w wierzchołku stożka, który jest używany do stabilizacji wieży czyszczącej. Większy kąt oznacza szerszą podstawę." +msgid "" +"Angle at the apex of the cone that is used to stabilize the wipe tower. " +"Larger angle means wider base." +msgstr "" +"Kąt w wierzchołku stożka, który jest używany do stabilizacji wieży " +"czyszczącej. Większy kąt oznacza szerszą podstawę." msgid "Wipe tower purge lines spacing" msgstr "Odległość między liniami na wieży oczyszczającej" @@ -11015,59 +13514,120 @@ msgid "Maximum print speed when purging" msgstr "Maksymalna prędkość druku podczas czyszczenia" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill speed or calculated speed from the filament max volumetric speed is lower, the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be performed over sparse layers. Before increasing this parameter beyond the default of 90mm/sec, make sure your printer can reliably bridge at the increased speeds." +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." msgstr "" -"Maksymalna prędkość drukowania podczas oczyszczania w wieży czyszczącej. Jeśli prędkość wypełnienia rzadkiego lub prędkość obliczona na podstawie maksymalnej prędkości przepływu filamentu jest niższa, zostanie użyta najniższa prędkość.\n" -"Zwiększenie tej prędkości może wpłynąć na stabilność wieży, ponieważ oczyszczanie może być wykonywane na rzadkich warstwach. Przed zwiększeniem tego parametru ponad domyślną wartość 90 mm/s należy upewnić się, że drukarka może niezawodnie drukować ze zwiększoną prędkością." +"Maksymalna prędkość drukowania podczas oczyszczania w wieży czyszczącej. " +"Jeśli prędkość wypełnienia rzadkiego lub prędkość obliczona na podstawie " +"maksymalnej prędkości przepływu filamentu jest niższa, zostanie użyta " +"najniższa prędkość.\n" +"Zwiększenie tej prędkości może wpłynąć na stabilność wieży, ponieważ " +"oczyszczanie może być wykonywane na rzadkich warstwach. Przed zwiększeniem " +"tego parametru ponad domyślną wartość 90 mm/s należy upewnić się, że " +"drukarka może niezawodnie drukować ze zwiększoną prędkością." msgid "Wipe tower extruder" msgstr "Ekstruder dla wieży czyszczącej" -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 "Extruder używany do drukowania obrysów wieży czyszczącej. Ustaw na 0, aby użyć tego, który jest dostępny (preferowany jest ten, w którym załadowany jest filament nierozpuszczalny)." +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 "" +"Extruder używany do drukowania obrysów wieży czyszczącej. Ustaw na 0, aby " +"użyć tego, który jest dostępny (preferowany jest ten, w którym załadowany " +"jest filament nierozpuszczalny)." msgid "Purging volumes - load/unload volumes" msgstr "Objętości czyszczenia - objętości ładowania/rozładowania" -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 "To ustawienie określa wymaganą objętość wieży czyszczącej przy zmianie danego narzędzia. Te wartości używane są do uproszczenia określenia pełnych wartości czyszczenia poniżej" +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 "" +"To ustawienie określa wymaganą objętość wieży czyszczącej przy zmianie " +"danego narzędzia. Te wartości używane są do uproszczenia określenia pełnych " +"wartości czyszczenia poniżej" -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 "Czyszczenie po zmianie filamentu będzie wykonane wewnątrz wypełnień obiektów. Może to zmniejszyć ilość odpadów i skrócić czas druku. Jeśli ściany są drukowane przezroczystym filamentem, mieszane kolorowe wypełnienie będzie widoczne na zewnątrz. Nie będzie miało efektu, chyba że wieża czyszcząca jest włączona." +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 "" +"Czyszczenie po zmianie filamentu będzie wykonane wewnątrz wypełnień " +"obiektów. Może to zmniejszyć ilość odpadów i skrócić czas druku. Jeśli " +"ściany są drukowane przezroczystym filamentem, mieszane kolorowe wypełnienie " +"będzie widoczne na zewnątrz. Nie będzie miało efektu, chyba że wieża " +"czyszcząca jest włączona." -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 "Czyszczenie po zmianie filamentu będzie wykonane wewnątrz podpory obiektów. Może to zmniejszyć ilość odpadów i skrócić czas druku. Nie będzie miało efektu, chyba że wieża czyszcząca jest włączona." +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 "" +"Czyszczenie po zmianie filamentu będzie wykonane wewnątrz podpory obiektów. " +"Może to zmniejszyć ilość odpadów i skrócić czas druku. Nie będzie miało " +"efektu, chyba że wieża czyszcząca jest włączona." -msgid "This object will be used to purge the nozzle after a filament change to save filament and decrease the print time. Colours of the objects will be mixed as a result. It will not take effect, unless the prime tower is enabled." -msgstr "To jest obiekt wykorzystywany do oczyszczenia dyszy po zmianie filamentu, co pozwala zaoszczędzić filament i skrócić czas druku. W wyniku tego procesu kolory filamentów mogą się wymieszać." +msgid "" +"This object will be used to purge the nozzle after a filament change to save " +"filament and decrease the print time. Colours of the objects will be mixed " +"as a result. It will not take effect, unless the prime tower is enabled." +msgstr "" +"To jest obiekt wykorzystywany do oczyszczenia dyszy po zmianie filamentu, co " +"pozwala zaoszczędzić filament i skrócić czas druku. W wyniku tego procesu " +"kolory filamentów mogą się wymieszać." msgid "Maximal bridging distance" msgstr "Maksymalna odległość mostkowania" msgid "Maximal distance between supports on sparse infill sections." -msgstr "Maksymalna odległość między podporami na rzadkich sekcjach wypełnienia." +msgstr "" +"Maksymalna odległość między podporami na rzadkich sekcjach wypełnienia." msgid "X-Y hole compensation" msgstr "Kompensacja otworów X-Y" -msgid "Holes of object will be grown or shrunk in XY plane by the configured value. Positive value makes holes bigger. Negative value makes holes smaller. This function is used to adjust size slightly when the object has assembling issue" -msgstr "Otwory obiektu będą powiększane lub zmniejszane w płaszczyźnie XY przez zadaną wartość (ujemna = zmniejszenie, dodatnia = zwiększenie). Funkcja ta jest używana do lekkiej regulacji rozmiaru, gdy obiekt ma problem z montażem" +msgid "" +"Holes of object will be grown or shrunk in XY plane by the configured value. " +"Positive value makes holes bigger. Negative value makes holes smaller. This " +"function is used to adjust size slightly when the object has assembling issue" +msgstr "" +"Otwory obiektu będą powiększane lub zmniejszane w płaszczyźnie XY przez " +"zadaną wartość (ujemna = zmniejszenie, dodatnia = zwiększenie). Funkcja ta " +"jest używana do lekkiej regulacji rozmiaru, gdy obiekt ma problem z montażem" msgid "X-Y contour compensation" msgstr "Kompensacja konturu X-Y" -msgid "Contour of object will be grown or shrunk in XY plane by the configured value. Positive value makes contour bigger. Negative value makes contour smaller. This function is used to adjust size slightly when the object has assembling issue" -msgstr "Model zostanie zmniejszony lub zwiększony w osiach X i Y o zadaną wartość (ujemna = zmniejszenie, dodatnia = zwiększenie). Może być przydatne przy kalibracji średnic otworów" +msgid "" +"Contour of object will be grown or shrunk in XY plane by the configured " +"value. Positive value makes contour bigger. Negative value makes contour " +"smaller. This function is used to adjust size slightly when the object has " +"assembling issue" +msgstr "" +"Model zostanie zmniejszony lub zwiększony w osiach X i Y o zadaną wartość " +"(ujemna = zmniejszenie, dodatnia = zwiększenie). Może być przydatne przy " +"kalibracji średnic otworów" msgid "Convert holes to polyholes" msgstr "Konwertuj otwory na poligonalne" 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" +"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 "" -"Szukaj niemal okrągłych otworów obejmujących więcej niż jedną warstwę i konwertuj geometrię na poliotwory. Użyj rozmiaru dyszy i (największej) średnicy do obliczenia poliotworu.\n" +"Szukaj niemal okrągłych otworów obejmujących więcej niż jedną warstwę i " +"konwertuj geometrię na poliotwory. Użyj rozmiaru dyszy i (największej) " +"średnicy do obliczenia poliotworu.\n" "Zobacz http://hydraraptor.blogspot.com/2011/02/polyholes.html" msgid "Polyhole detection margin" @@ -11076,11 +13636,15 @@ msgstr "Margines wykrywania poliotworów" #, 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 leway to broaden the detection.\n" +"As cylinders are often exported as triangles of varying size, points may not " +"be on the circle circumference. This setting allows you some leway to " +"broaden the detection.\n" "In mm or in % of the radius." msgstr "" "Maksymalne odchylenie punktu od szacowanego promienia koła.\n" -"Ponieważ cylindry często eksportowane są jako trójkąty o różnej wielkości, punkty mogą nie znajdować się na obwodzie koła. To ustawienie pozwala na pewną swobodę w poszerzaniu wykrywania.\n" +"Ponieważ cylindry często eksportowane są jako trójkąty o różnej wielkości, " +"punkty mogą nie znajdować się na obwodzie koła. To ustawienie pozwala na " +"pewną swobodę w poszerzaniu wykrywania.\n" "W mm lub w % promienia." msgid "Polyhole twist" @@ -11092,25 +13656,47 @@ msgstr "Obracaj poliotwor co warstwę." msgid "G-code thumbnails" msgstr "Miniatury G-code" -msgid "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: \"XxY, XxY, ...\"" -msgstr "Rozmiary obrazów do przechowywania w plikach .gcode i .sl1 / .sl1s, w następującym formacie: \"XxY, XxY, ...\"" +msgid "" +"Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the " +"following format: \"XxY, XxY, ...\"" +msgstr "" +"Rozmiary obrazów do przechowywania w plikach .gcode i .sl1 / .sl1s, w " +"następującym formacie: \"XxY, XxY, ...\"" msgid "Format of G-code thumbnails" msgstr "Format miniatur G-code" -msgid "Format of G-code thumbnails: PNG for best quality, JPG for smallest size, QOI for low memory firmware" -msgstr "Format miniatur G-code: PNG dla najlepszej jakości, JPG dla najmniejszego rozmiaru, QOI dla oprogramowania o niskiej pamięci" +msgid "" +"Format of G-code thumbnails: PNG for best quality, JPG for smallest size, " +"QOI for low memory firmware" +msgstr "" +"Format miniatur G-code: PNG dla najlepszej jakości, JPG dla najmniejszego " +"rozmiaru, QOI dla oprogramowania o niskiej pamięci" msgid "Use relative E distances" msgstr "" "Użyj względnych \n" "wartości dla Extrudera" -msgid "Relative extrusion is recommended when using \"label_objects\" option.Some extruders work better with this option unckecked (absolute extrusion mode). Wipe tower is only compatible with relative mode. It is recommended on most printers. Default is checked" -msgstr "Względna ekstruzja jest zalecana przy użyciu opcji \"label_objects\". Niektóre extrudery działają lepiej z tą opcją odznaczoną (tryb absolutnej ekstruzji). Wieża czyszcząca jest kompatybilna tylko z trybem względnym. Zalecana na większości drukarek. Domyślnie zaznaczone" +msgid "" +"Relative extrusion is recommended when using \"label_objects\" option.Some " +"extruders work better with this option unckecked (absolute extrusion mode). " +"Wipe tower is only compatible with relative mode. It is recommended on most " +"printers. Default is checked" +msgstr "" +"Względna ekstruzja jest zalecana przy użyciu opcji \"label_objects\". " +"Niektóre extrudery działają lepiej z tą opcją odznaczoną (tryb absolutnej " +"ekstruzji). Wieża czyszcząca jest kompatybilna tylko z trybem względnym. " +"Zalecana na większości drukarek. Domyślnie zaznaczone" -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 "Klasyczny generator ścian tworzy ściany o stałej szerokości ekstruzji, a do bardzo cienkich obszarów używa wypełnienia szczelin. Silnik Arachne generuje ściany o zmiennej szerokości ekstruzji" +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 "" +"Klasyczny generator ścian tworzy ściany o stałej szerokości ekstruzji, a do " +"bardzo cienkich obszarów używa wypełnienia szczelin. Silnik Arachne generuje " +"ściany o zmiennej szerokości ekstruzji" msgid "Classic" msgstr "Klasyczny" @@ -11121,62 +13707,140 @@ msgstr "Arachne" msgid "Wall transition length" msgstr "Długość przejścia ściany" -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 "Podczas przechodzenia między różnymi liczbami obrysów, gdy część staje się cieńsza, przydzielana jest pewna ilość miejsca na rozdzielenie lub połączenie segmentów obrysu. Jest wyrażona w procentach i zostanie obliczona na podstawie średnicy dyszy." +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 "" +"Podczas przechodzenia między różnymi liczbami obrysów, gdy część staje się " +"cieńsza, przydzielana jest pewna ilość miejsca na rozdzielenie lub " +"połączenie segmentów obrysu. Jest wyrażona w procentach i zostanie obliczona " +"na podstawie średnicy dyszy." msgid "Wall transitioning filter margin" msgstr "Margines filtra przejścia ściany" -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 "Unikaj zmiany między zbyt grubą a zbyt cienką ścianą. Ten margines rozszerza zakres szerokości ekstruzji na [Minimalną szerokość ściany - margines, 2 * Minimalną szerokość ściany + margines]. Zwiększenie tego marginesu zmniejsza liczbę zmian, co skraca czas wydruku poprzez redukcję liczby startów i zatrzymań ekstruzji. Należy jednak pamiętać, że duże wahania w szerokości ekstruzji mogą prowadzić do problemów z jakością wydruku w postaci nadmiernej lub niewystarczającej ekstruzji. Wartość wyrażana jest jako procent średnicy dyszy" +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 "" +"Unikaj zmiany między zbyt grubą a zbyt cienką ścianą. Ten margines rozszerza " +"zakres szerokości ekstruzji na [Minimalną szerokość ściany - margines, 2 * " +"Minimalną szerokość ściany + margines]. Zwiększenie tego marginesu zmniejsza " +"liczbę zmian, co skraca czas wydruku poprzez redukcję liczby startów i " +"zatrzymań ekstruzji. Należy jednak pamiętać, że duże wahania w szerokości " +"ekstruzji mogą prowadzić do problemów z jakością wydruku w postaci " +"nadmiernej lub niewystarczającej ekstruzji. Wartość wyrażana jest jako " +"procent średnicy dyszy" msgid "Wall transitioning threshold angle" msgstr "Kąt progowy przejścia ściany" -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 "Kiedy tworzyć przejścia między parzystą i nieparzystą liczbą obrysów. Kształt klina o kącie większym niż to ustawienie nie będzie miał przejść, a w środku nie zostaną wydrukowane żadne obrysy, które wypełniłyby pozostałą przestrzeń. Zmniejszenie tego ustawienia zmniejsza liczbę i długość obrysów centralnych, ale może powodować powstawanie szczelin lub nadmierne wytłaczanie." +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 "" +"Kiedy tworzyć przejścia między parzystą i nieparzystą liczbą obrysów. " +"Kształt klina o kącie większym niż to ustawienie nie będzie miał przejść, a " +"w środku nie zostaną wydrukowane żadne obrysy, które wypełniłyby pozostałą " +"przestrzeń. Zmniejszenie tego ustawienia zmniejsza liczbę i długość obrysów " +"centralnych, ale może powodować powstawanie szczelin lub nadmierne " +"wytłaczanie." msgid "Wall distribution count" msgstr "Liczba rozdzielanych ścian" -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 "Ilość ścian, licząc od środka, na których należy rozłożyć zmienność. Niższe wartości oznaczają, że zewnętrzne ściany nie zmieniają szerokości" +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 "" +"Ilość ścian, licząc od środka, na których należy rozłożyć zmienność. Niższe " +"wartości oznaczają, że zewnętrzne ściany nie zmieniają szerokości" msgid "Minimum feature size" msgstr "Minimalny rozmiar detalu" -msgid "Minimum thickness of thin features. Model features that are thinner than this value will not be printed, while features thicker than the Minimum feature size will be widened to the Minimum wall width. It's expressed as a percentage over nozzle diameter" -msgstr "Minimalna grubość cienkich detali. Detale modelu, które są cieńsze niż ta wartość, nie będą drukowane, natomiast detale grubsze niż minimalny rozmiar detalu zostaną poszerzone do minimalnej szerokości ściany. Jest to wyrażone jako procent średnicy dyszy" +msgid "" +"Minimum thickness of thin features. Model features that are thinner than " +"this value will not be printed, while features thicker than the Minimum " +"feature size will be widened to the Minimum wall width. It's expressed as a " +"percentage over nozzle diameter" +msgstr "" +"Minimalna grubość cienkich detali. Detale modelu, które są cieńsze niż ta " +"wartość, nie będą drukowane, natomiast detale grubsze niż minimalny rozmiar " +"detalu zostaną poszerzone do minimalnej szerokości ściany. Jest to wyrażone " +"jako procent średnicy dyszy" msgid "Minimum wall length" msgstr "Minimalna szerokość ściany" 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" +"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 ouside 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 visibile if this setting is set above the default value of 0.5, or if single-wall top surfaces is enabled." +"NOTE: Bottom and top surfaces will not be affected by this value to prevent " +"visual gaps on the ouside 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 visibile if this setting is set " +"above the default value of 0.5, or if single-wall top surfaces is enabled." msgstr "" -"Zmodyfikuj tę wartość, aby uniknąć drukowania krótkich, otwartych ścianek, co może prowadzić do wydłużenia czasu druku. Wyższe wartości spowodują usunięcie większej ilości dłuższych ścianek.\n" +"Zmodyfikuj tę wartość, aby uniknąć drukowania krótkich, otwartych ścianek, " +"co może prowadzić do wydłużenia czasu druku. Wyższe wartości spowodują " +"usunięcie większej ilości dłuższych ścianek.\n" "\n" -"UWAGA: Ta wartość nie wpłynie na dolne i górne powierzchnie modelu i może zapobiec widocznym przerwom na zewnątrz. Aby dostosować czułość określającą, co jest uważane za górną powierzchnię, dostosuj 'Próg jednej ściany' w zaawansowanych ustawieniach poniżej. 'Próg jednej ściany' jest widoczny tylko wtedy, gdy to ustawienie jest ustawione na wartość wyższą niż domyślna wartość 0,5 lub jeśli opcja pojedynczych ścianek na górze jest włączona." +"UWAGA: Ta wartość nie wpłynie na dolne i górne powierzchnie modelu i może " +"zapobiec widocznym przerwom na zewnątrz. Aby dostosować czułość określającą, " +"co jest uważane za górną powierzchnię, dostosuj 'Próg jednej ściany' w " +"zaawansowanych ustawieniach poniżej. 'Próg jednej ściany' jest widoczny " +"tylko wtedy, gdy to ustawienie jest ustawione na wartość wyższą niż domyślna " +"wartość 0,5 lub jeśli opcja pojedynczych ścianek na górze jest włączona." msgid "First layer minimum wall width" msgstr "Minimalna szerokość ściany pierwszej warstwy" -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 "Zaleca się, aby minimalna szerokość ściany, która powinna być używana dla pierwszej warstwy, była ustawiona na tę samą wielkość co dysza. Oczekuje się, że to dostosowanie zwiększy przyczepność." +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 "" +"Zaleca się, aby minimalna szerokość ściany, która powinna być używana dla " +"pierwszej warstwy, była ustawiona na tę samą wielkość co dysza. Oczekuje " +"się, że to dostosowanie zwiększy przyczepność." msgid "Minimum wall width" msgstr "Minimalna szerokość ściany" -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 "Szerokość obrysu, który zastąpi cienkie detale modelu (zgodnie z minimalnym rozmiarem detalu). Jeśli minimalna szerokość obrysu jest mniejsza niż grubość detalu, obrys będzie miał taką samą grubość jak sam element. Jest wyrażona w procentach i zostanie obliczona na podstawie średnicy dyszy." +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 "" +"Szerokość obrysu, który zastąpi cienkie detale modelu (zgodnie z minimalnym " +"rozmiarem detalu). Jeśli minimalna szerokość obrysu jest mniejsza niż " +"grubość detalu, obrys będzie miał taką samą grubość jak sam element. Jest " +"wyrażona w procentach i zostanie obliczona na podstawie średnicy dyszy." msgid "Detect narrow internal solid infill" msgstr "Wykryj wąskie wewnętrzne pełne wypełnienie" -msgid "This option will auto detect narrow internal solid infill area. If enabled, concentric pattern will be used for the area to speed printing up. Otherwise, rectilinear pattern is used defaultly." -msgstr "Ta opcja automatycznie wykryje wąski obszar wewnętrznego pełnego wypełnienia. Jeśli włączone, zostanie użyty wzór koncentryczny dla tego obszaru, aby przyspieszyć drukowanie. W przeciwnym razie domyślnie używany jest wzór prostoliniowy." +msgid "" +"This option will auto detect narrow internal solid infill area. If enabled, " +"concentric pattern will be used for the area to speed printing up. " +"Otherwise, rectilinear pattern is used defaultly." +msgstr "" +"Ta opcja automatycznie wykryje wąski obszar wewnętrznego pełnego " +"wypełnienia. Jeśli włączone, zostanie użyty wzór koncentryczny dla tego " +"obszaru, aby przyspieszyć drukowanie. W przeciwnym razie domyślnie używany " +"jest wzór prostoliniowy." msgid "invalid value " msgstr "nieprawidłowa wartość " @@ -11200,13 +13864,17 @@ msgid "No check" msgstr "Brak sprawdzania" msgid "Do not run any validity checks, such as gcode path conflicts check." -msgstr "Nie uruchamiaj żadnych testów poprawności, takich jak sprawdzanie konfliktów ścieżek gcode." +msgstr "" +"Nie uruchamiaj żadnych testów poprawności, takich jak sprawdzanie konfliktów " +"ścieżek gcode." msgid "Ensure on bed" msgstr "Zapewnij na łóżku" -msgid "Lift the object above the bed when it is partially below. Disabled by default" -msgstr "Podnieś obiekt ponad łóżko, gdy jest częściowo poniżej. Domyślnie wyłączone" +msgid "" +"Lift the object above the bed when it is partially below. Disabled by default" +msgstr "" +"Podnieś obiekt ponad łóżko, gdy jest częściowo poniżej. Domyślnie wyłączone" msgid "Orient Options" msgstr "Opcje orientacji" @@ -11226,8 +13894,13 @@ msgstr "Kąt obrotu wokół osi Y w stopniach." msgid "Data directory" msgstr "Katalog danych" -msgid "Load and store settings at the given directory. This is useful for maintaining different profiles or including configurations from a network storage." -msgstr "Załaduj i zapisz ustawienia w podanym katalogu. Jest to przydatne do utrzymania różnych profili lub dołączania konfiguracji z pamięci sieciowej." +msgid "" +"Load and store settings at the given directory. This is useful for " +"maintaining different profiles or including configurations from a network " +"storage." +msgstr "" +"Załaduj i zapisz ustawienia w podanym katalogu. Jest to przydatne do " +"utrzymania różnych profili lub dołączania konfiguracji z pamięci sieciowej." msgid "Load custom gcode" msgstr "Załaduj własny gcode" @@ -11241,17 +13914,32 @@ msgstr "Bieżący Z-hop" msgid "Contains z-hop present at the beginning of the custom G-code block." msgstr "Zawiera z-hop obecny na początku bloku niestandardowego 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 PrusaSlicer knows where it travels from when it gets control back." -msgstr "Pozycja ekstrudera na początku bloku niestandardowego G-kodu. Jeśli niestandardowy G-code przemieszcza się gdzieś indziej, powinien zostać zapisany do tej zmiennej, aby OrcaSlicer wiedział, skąd się przemieszcza, gdy odzyska kontrolę." +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 " +"PrusaSlicer knows where it travels from when it gets control back." +msgstr "" +"Pozycja ekstrudera na początku bloku niestandardowego G-kodu. Jeśli " +"niestandardowy G-code przemieszcza się gdzieś indziej, powinien zostać " +"zapisany do tej zmiennej, aby OrcaSlicer wiedział, skąd się przemieszcza, " +"gdy odzyska kontrolę." -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 PrusaSlicer deretracts correctly when it gets control back." -msgstr "Stan retrakcji na początku bloku niestandardowego G-code. Jeśli niestandardowy G-code przesunie oś ekstrudera, powinien zostać zapisany do tej zmiennej, aby OrcaSlicer prawidłowo wykonał retrakcję, gdy odzyska kontrolę." +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 " +"PrusaSlicer deretracts correctly when it gets control back." +msgstr "" +"Stan retrakcji na początku bloku niestandardowego G-code. Jeśli " +"niestandardowy G-code przesunie oś ekstrudera, powinien zostać zapisany do " +"tej zmiennej, aby OrcaSlicer prawidłowo wykonał retrakcję, gdy odzyska " +"kontrolę." msgid "Extra deretraction" msgstr "Dodatkowa deretrakcja" msgid "Currently planned extra extruder priming after deretraction." -msgstr "Obecnie planowane dodatkowe czyszczenie ekstrudera po powrocie z retrakcji." +msgstr "" +"Obecnie planowane dodatkowe czyszczenie ekstrudera po powrocie z retrakcji." msgid "Current extruder" msgstr "Aktualny extruder" @@ -11262,8 +13950,12 @@ msgstr "Indeks aktualnie używanego extrudera wynosi - zero" msgid "Current object index" msgstr "Zapisz bieżący projekt do pliku" -msgid "Specific for sequential printing. Zero-based index of currently printed object." -msgstr "Specyficzne dla druku sekwencyjnego. Indeks obecnie drukowanego obiektu, zaczynający się od zera." +msgid "" +"Specific for sequential printing. Zero-based index of currently printed " +"object." +msgstr "" +"Specyficzne dla druku sekwencyjnego. Indeks obecnie drukowanego obiektu, " +"zaczynający się od zera." msgid "Has wipe tower" msgstr "Ma wieżę czyszczącą" @@ -11274,26 +13966,37 @@ msgstr "Określa, czy dla tego wydruku generowana jest wieża czyszcząca." msgid "Initial extruder" msgstr "Początkowy ekstruder" -msgid "Zero-based index of the first extruder used in the print. Same as initial_tool." -msgstr "Indeks pierwszego extrudera używanego w wydruku, uwzględniający zero. To samo, co initial_tool." +msgid "" +"Zero-based index of the first extruder used in the print. Same as " +"initial_tool." +msgstr "" +"Indeks pierwszego extrudera używanego w wydruku, uwzględniający zero. To " +"samo, co initial_tool." msgid "Initial tool" msgstr "Początkowe narzędzie" -msgid "Zero-based index of the first extruder used in the print. Same as initial_extruder." -msgstr "Index pierwszego ekstrudera używanego podczas drukowania, licząc od zera. To samo, co initial_extruder" +msgid "" +"Zero-based index of the first extruder used in the print. Same as " +"initial_extruder." +msgstr "" +"Index pierwszego ekstrudera używanego podczas drukowania, licząc od zera. To " +"samo, co initial_extruder" msgid "Is extruder used?" msgstr "Czy ekstruder jest używany?" msgid "Vector of bools stating whether a given extruder is used in the print." -msgstr "Wektory logiczne określające, czy dany ekstruder jest używany w wydruku" +msgstr "" +"Wektory logiczne określające, czy dany ekstruder jest używany w wydruku" msgid "Volume per extruder" msgstr "Objętość na extruder" msgid "Total filament volume extruded per extruder during the entire print." -msgstr "Całkowita objętość filamentu wytłoczona przez każdy ekstruder podczas całego wydruku" +msgstr "" +"Całkowita objętość filamentu wytłoczona przez każdy ekstruder podczas całego " +"wydruku" msgid "Total toolchanges" msgstr "Całkowita zmiana narzędzia" @@ -11310,14 +14013,22 @@ msgstr "Całkowita objętość filamentu użytego podczas całego wydruku." msgid "Weight per extruder" msgstr "Waga na ekstruder" -msgid "Weight per extruder extruded during the entire print. Calculated from filament_density value in Filament Settings." -msgstr "Waga wytłaczanego filamentu przypadająca na każdy extruder podczas całego wydruku. Obliczana na podstawie gęstości w sekcji Ustawienia filamentu." +msgid "" +"Weight per extruder extruded during the entire print. Calculated from " +"filament_density value in Filament Settings." +msgstr "" +"Waga wytłaczanego filamentu przypadająca na każdy extruder podczas całego " +"wydruku. Obliczana na podstawie gęstości w sekcji Ustawienia filamentu." msgid "Total weight" msgstr "Waga całkowita" -msgid "Total weight of the print. Calculated from filament_density value in Filament Settings." -msgstr "Całkowita waga wydruku. Obliczana na podstawie wartości w sekcji Ustawienia filamentu." +msgid "" +"Total weight of the print. Calculated from filament_density value in " +"Filament Settings." +msgstr "" +"Całkowita waga wydruku. Obliczana na podstawie wartości w sekcji Ustawienia " +"filamentu." msgid "Total layer count" msgstr "Całkowita liczba warstw" @@ -11335,16 +14046,22 @@ msgid "Number of instances" msgstr "Liczba instancji" msgid "Total number of object instances in the print, summed over all objects." -msgstr "Całkowita liczba instancji obiektów w druku, zsumowana dla wszystkich obiektów." +msgstr "" +"Całkowita liczba instancji obiektów w druku, zsumowana dla wszystkich " +"obiektów." msgid "Scale per object" msgstr "Skalowanie wg obiektu" 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" +"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 "" -"Zawiera ciąg znaków z informacją o zastosowanej skali dla poszczególnych obiektów. Numeracja obiektów zaczyna się od zera (pierwszy obiekt ma indeks 0).\n" +"Zawiera ciąg znaków z informacją o zastosowanej skali dla poszczególnych " +"obiektów. Numeracja obiektów zaczyna się od zera (pierwszy obiekt ma indeks " +"0).\n" "Przykład: 'x:100% y:50% z:100'." msgid "Input filename without extension" @@ -11353,17 +14070,26 @@ msgstr "Podaj nazwę pliku wejściowego bez rozszerzenia" msgid "Source filename of the first object, without extension." msgstr "Nazwa pliku źródłowego pierwszego obiektu, bez rozszerzenia." -msgid "The vector has two elements: x and y coordinate of the point. Values in mm." -msgstr "Wektor składa się z dwóch elementów: współrzędnych x i y punktu. Wartości w mm." +msgid "" +"The vector has two elements: x and y coordinate of the point. Values in mm." +msgstr "" +"Wektor składa się z dwóch elementów: współrzędnych x i y punktu. Wartości w " +"mm." -msgid "The vector has two elements: x and y dimension of the bounding box. Values in mm." +msgid "" +"The vector has two elements: x and y dimension of the bounding box. Values " +"in mm." msgstr "Wektor ma dwa elementy: wymiar x i y obwiedni. Wartości w mm." msgid "First layer convex hull" msgstr "Otoczka wypukła pierwszej warstwy" -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 "Wektor punktów otoczki wypukłej pierwszej warstwy. Każdy element ma następujący format: '[x, y]' (x i y są liczbami zmiennoprzecinkowymi w mm)." +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 "" +"Wektor punktów otoczki wypukłej pierwszej warstwy. Każdy element ma " +"następujący format: '[x, y]' (x i y są liczbami zmiennoprzecinkowymi w mm)." msgid "Bottom-left corner of first layer bounding box" msgstr "Ogranicznik lewego dolnego narożnika obszaru pierwszej warstwy" @@ -11407,8 +14133,12 @@ msgstr "Nazwa profilu druku używanego do cięcia." msgid "Filament preset name" msgstr "Nazwa profilu filamentu" -msgid "Names of the filament presets used for slicing. The variable is a vector containing one name for each extruder." -msgstr "Nazwy profili filamentu używane do cięcia.\" Zmienna jest wektorem zawierającym jedną nazwę dla każdego extrudera" +msgid "" +"Names of the filament presets used for slicing. The variable is a vector " +"containing one name for each extruder." +msgstr "" +"Nazwy profili filamentu używane do cięcia.\" Zmienna jest wektorem " +"zawierającym jedną nazwę dla każdego extrudera" msgid "Printer preset name" msgstr "Nazwa profilu drukarki" @@ -11426,13 +14156,18 @@ msgid "Layer number" msgstr "Numer warstwy" msgid "Index of the current layer. One-based (i.e. first layer is number 1)." -msgstr "Indeks aktualnej warstwy uwzględniający zero (pierwsza warstwa ma wartość 1)." +msgstr "" +"Indeks aktualnej warstwy uwzględniający zero (pierwsza warstwa ma wartość 1)." msgid "Layer z" msgstr "Warstwa Z" -msgid "Height of the current layer above the print bed, measured to the top of the layer." -msgstr "Wysokość bieżącej warstwy nad stołem roboczym, mierzona do górnej krawędzi warstwy" +msgid "" +"Height of the current layer above the print bed, measured to the top of the " +"layer." +msgstr "" +"Wysokość bieżącej warstwy nad stołem roboczym, mierzona do górnej krawędzi " +"warstwy" msgid "Maximal layer z" msgstr "Maksymalna warstwa Z" @@ -11477,8 +14212,12 @@ msgid "large overhangs" msgstr "duże nawisy" #, c-format, boost-format -msgid "It seems object %s has %s. Please re-orient the object or enable support generation." -msgstr "Wydaje się, że obiekt %s ma %s. Proszę ponownie ustawić obiekt lub włączyć generowanie podpór." +msgid "" +"It seems object %s has %s. Please re-orient the object or enable support " +"generation." +msgstr "" +"Wydaje się, że obiekt %s ma %s. Proszę ponownie ustawić obiekt lub włączyć " +"generowanie podpór." msgid "Optimizing toolpath" msgstr "Optymalizowanie ścieżki narzędzia" @@ -11486,14 +14225,20 @@ msgstr "Optymalizowanie ścieżki narzędzia" msgid "Slicing mesh" msgstr "Krojenie siatki" -msgid "No layers were detected. You might want to repair your STL file(s) or check their size or thickness and retry.\n" -msgstr "Nie wykryto żadnych warstw. Możesz chcieć naprawić swoje pliki STL lub sprawdzić ich rozmiar lub grubość i spróbować ponownie.\n" +msgid "" +"No layers were detected. You might want to repair your STL file(s) or check " +"their size or thickness and retry.\n" +msgstr "" +"Nie wykryto żadnych warstw. Możesz chcieć naprawić swoje pliki STL lub " +"sprawdzić ich rozmiar lub grubość i spróbować ponownie.\n" msgid "" -"An object's XY size compensation will not be used because it is also color-painted.\n" +"An object's XY size compensation will not be used because it is also color-" +"painted.\n" "XY Size compensation can not be combined with color-painting." msgstr "" -"Kompensacja rozmiaru XY obiektu nie będzie używana, ponieważ jest także malowany na kolor.\n" +"Kompensacja rozmiaru XY obiektu nie będzie używana, ponieważ jest także " +"malowany na kolor.\n" "Kompensacja rozmiaru XY nie może być połączona z malowaniem kolorów." #, c-format, boost-format @@ -11527,8 +14272,11 @@ msgstr "Podpory: napraw dziury na warstwie %d" msgid "Support: propagate branches at layer %d" msgstr "Podpory: rozprzestrzeniaj gałęzie na warstwie %d" -msgid "Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension." -msgstr "Nieznany format pliku. Plik wejściowy musi mieć rozszerzenie .stl, .obj, .amf(.xml)." +msgid "" +"Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension." +msgstr "" +"Nieznany format pliku. Plik wejściowy musi mieć rozszerzenie .stl, .obj, ." +"amf(.xml)." msgid "Loading of a model file failed." msgstr "Ładowanie pliku modelu nie powiodło się." @@ -11537,7 +14285,9 @@ msgid "The supplied file couldn't be read because it's empty" msgstr "Dostarczony plik nie mógł być odczytany, ponieważ jest pusty" msgid "Unknown file format. Input file must have .3mf or .zip.amf extension." -msgstr "Nieznany format pliku. Plik wejściowy musi mieć rozszerzenie .3mf lub .zip.amf." +msgstr "" +"Nieznany format pliku. Plik wejściowy musi mieć rozszerzenie .3mf lub .zip." +"amf." msgid "Canceled" msgstr "Anulowano" @@ -11596,8 +14346,11 @@ msgstr "Zakończ" msgid "How to use calibration result?" msgstr "Jak używać wyniku kalibracji?" -msgid "You could change the Flow Dynamics Calibration Factor in material editing" -msgstr "Możesz zmienić współczynnik Kalibracji Dynamiki Przepływu podczas edycji profilu filamentu" +msgid "" +"You could change the Flow Dynamics Calibration Factor in material editing" +msgstr "" +"Możesz zmienić współczynnik Kalibracji Dynamiki Przepływu podczas edycji " +"profilu filamentu" msgid "" "The current firmware version of the printer does not support calibration.\n" @@ -11654,8 +14407,10 @@ msgstr "Nazwa jest taka sama jak nazwa innego istniejącego ustwienia" msgid "create new preset failed." msgstr "utworzenie nowego profilu nie powiodło się." -msgid "Are you sure to cancel the current calibration and return to the home page?" -msgstr "Czy na pewno chcesz anulować bieżącą kalibrację i powrócić do strony głównej?" +msgid "" +"Are you sure to cancel the current calibration and return to the home page?" +msgstr "" +"Czy na pewno chcesz anulować bieżącą kalibrację i powrócić do strony głównej?" msgid "No Printer Connected!" msgstr "Żadna drukarka nie jest podłączona!" @@ -11670,9 +14425,16 @@ msgid "The input value size must be 3." msgstr "Rozmiar wartości wejściowej musi wynosić 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" +"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 "To urządzenie może przechowywać tylko 16 wyników w historii dla jednej dyszy. Możesz usunąć istniejące wyniki w historii, a następnie rozpocząć kalibrację lub kontynuować, ale nie będzie można tworzyć nowych wyników kalibracji. Czy nadal chcesz kontynuować kalibrację?" +msgstr "" +"To urządzenie może przechowywać tylko 16 wyników w historii dla jednej " +"dyszy. Możesz usunąć istniejące wyniki w historii, a następnie rozpocząć " +"kalibrację lub kontynuować, ale nie będzie można tworzyć nowych wyników " +"kalibracji. Czy nadal chcesz kontynuować kalibrację?" msgid "Connecting to printer..." msgstr "Łączenie z drukarką..." @@ -11684,12 +14446,21 @@ msgid "Flow Dynamics Calibration result has been saved to the printer" msgstr "Wynik Kalibracji Dynamiki Przepływu został zapisany w drukarce" #, c-format, 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 "W historii kalibracji istnieje już wynik o nazwie: %s. Czy na pewno chcesz zastąpić poprzedni wynik?" +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 "" +"W historii kalibracji istnieje już wynik o nazwie: %s. Czy na pewno chcesz " +"zastąpić poprzedni wynik?" #, c-format, boost-format -msgid "This machine type can only hold %d history results per nozzle. This result will not be saved." -msgstr "To urządzenie może przechowywać tylko %d wyników w historii dla jednej dyszy. Ten wynik nie zostanie zapisany." +msgid "" +"This machine type can only hold %d history results per nozzle. This result " +"will not be saved." +msgstr "" +"To urządzenie może przechowywać tylko %d wyników w historii dla jednej " +"dyszy. Ten wynik nie zostanie zapisany." msgid "Internal Error" msgstr "Błąd wewnętrzny" @@ -11707,15 +14478,24 @@ msgid "When do you need Flow Dynamics Calibration" msgstr "Kiedy potrzebujesz Kalibracji Dynamiki Przepływu" 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" +"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." +"3. If the max volumetric speed or print temperature is changed in the " +"filament setting." msgstr "" -"Teraz dodaliśmy automatyczną kalibrację dla różnych filamentów, która jest w pełni zautomatyzowana, a wynik zostanie zapisany w drukarce do przyszłego użycia. Musisz przeprowadzić kalibrację tylko w następujących ograniczonych przypadkach:\n" -"1. Jeśli wprowadzasz nowy filament innej marki/modelu lub filament jest wilgotny;\n" +"Teraz dodaliśmy automatyczną kalibrację dla różnych filamentów, która jest w " +"pełni zautomatyzowana, a wynik zostanie zapisany w drukarce do przyszłego " +"użycia. Musisz przeprowadzić kalibrację tylko w następujących ograniczonych " +"przypadkach:\n" +"1. Jeśli wprowadzasz nowy filament innej marki/modelu lub filament jest " +"wilgotny;\n" "2. Jeśli dysza jest zużyta lub została wymieniona na nową;\n" -"3. Jeśli maksymalna prędkość przepływu lub temperatura druku zostaną zmienione w ustawieniach filamentu." +"3. Jeśli maksymalna prędkość przepływu lub temperatura druku zostaną " +"zmienione w ustawieniach filamentu." msgid "About this calibration" msgstr "O tej kalibracji" @@ -11723,54 +14503,131 @@ msgstr "O tej kalibracji" 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" +"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 there are a few cases that will make the calibration result not reliable: using a texture plate to do the calibration; the build plate does not have good adhesion (please wash the build plate or apply gluestick!) ...You can find more from our wiki.\n" +"Please note there are a few cases that will make the calibration result not " +"reliable: using a texture plate to do the calibration; the build plate does " +"not have good adhesion (please wash the build plate or apply gluestick!) ..." +"You can find more from 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." +"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 "" -"Proszę znaleźć szczegóły dotyczące kalibracji dynamiki przepływu w naszej wiki.\n" +"Proszę znaleźć szczegóły dotyczące kalibracji dynamiki przepływu w naszej " +"wiki.\n" "\n" -"Zazwyczaj kalibracja nie jest konieczna. Gdy rozpoczynasz druk w jednym kolorze/materiale i zaznaczasz opcję \"kalibracja dynamiki przepływu\" w menu rozpoczęcia druku. Drukarka będzie postępować w tradycyjny sposób, kalibrując filament przed rozpoczęciem druku. W przypadku druku w wielu kolorach/materiałach drukarka będzie używać domyślnego parametru kompensacji dla filamentu podczas każdej jego zmiany, co w większości przypadków daje dobre rezultaty.\n" +"Zazwyczaj kalibracja nie jest konieczna. Gdy rozpoczynasz druk w jednym " +"kolorze/materiale i zaznaczasz opcję \"kalibracja dynamiki przepływu\" w " +"menu rozpoczęcia druku. Drukarka będzie postępować w tradycyjny sposób, " +"kalibrując filament przed rozpoczęciem druku. W przypadku druku w wielu " +"kolorach/materiałach drukarka będzie używać domyślnego parametru kompensacji " +"dla filamentu podczas każdej jego zmiany, co w większości przypadków daje " +"dobre rezultaty.\n" "\n" -"Proszę jednak zauważyć, że istnieją pewne przypadki, w których wynik kalibracji może być niesolidny: korzystanie z Texture PEI do kalibracji; brak dobrej przyczepności podłoża (proszę umyć płytę lub nałożyć klej!)... Więcej informacji można znaleźć w naszej wiki.\n" +"Proszę jednak zauważyć, że istnieją pewne przypadki, w których wynik " +"kalibracji może być niesolidny: korzystanie z Texture PEI do kalibracji; " +"brak dobrej przyczepności podłoża (proszę umyć płytę lub nałożyć klej!)... " +"Więcej informacji można znaleźć w naszej wiki.\n" "\n" -"Wyniki kalibracji mają około 10 procent fluktuacji w naszych testach, co może powodować, że wynik nie będzie dokładnie taki sam w każdej kalibracji. Wciąż badamy źródło tych fluktuacji i pracujemy nad wprowadzeniem ulepszeń w nowych aktualizacjach." +"Wyniki kalibracji mają około 10 procent fluktuacji w naszych testach, co " +"może powodować, że wynik nie będzie dokładnie taki sam w każdej kalibracji. " +"Wciąż badamy źródło tych fluktuacji i pracujemy nad wprowadzeniem ulepszeń w " +"nowych aktualizacjach." msgid "When to use Flow Rate Calibration" msgstr "Kiedy użyć Kalibracji Natężenia Przepływu" 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" +"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." +"4. Weak Structural Integrity: Prints break easily or don't seem as sturdy as " +"they should be." msgstr "" -"Po użyciu kalibracji dynamiki przepływu mogą nadal występować pewne problemy z ekstruzją, takie jak:\n" -"1. Nadmierna ekstruzja: Nadmiar filamentu na twoim wydrukowanym obiekcie, tworzenie grudek i wybrzuszeń, lub warstwy wydają się być grubsze i nierówne niż oczekiwano.\n" -"2. Niedostateczna ekstruzja: Bardzo cienkie warstwy, słaba wytrzymałość wypełnienia, lub przerwy w górnej warstwie modelu, nawet przy wolnym drukowaniu.\n" -"3. Słaba jakość powierzchni: Powierzchnia twoich wydruków wydaje się być szorstka lub nierówna.\n" -"4. Słaba wytrzymałość strukturalna: Wydruki łatwo się łamią lub nie wydają się być tak wytrzymałe, jak powinny." - -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 "Dodatkowo, kalibracja natężenia przepływu jest kluczowa dla materiałów piankowych, takich jak LW-PLA używane w samolotach RC. Te filamenty znacząco się rozprężają pod wpływem temperatury, a kalibracja zapewnia przydatną referencyjną prędkość przepływu." - -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 "Kalibracja Natężenie Przepływu mierzy stosunek oczekiwanej do rzeczywistej objętości ekstruzji. Domyślne ustawienie dobrze funkcjonuje w drukarkach Bambu Lab i oficjalnych filamentach, ponieważ były one wcześniej skalibrowane i dokładnie dostrojone. Dla zwykłego filamentu zazwyczaj nie będziesz musiał przeprowadzać kalibracji natężenia przepływu, chyba że nadzieja widoczne wymienione wady po wykonaniu innych kalibracji. Po więcej szczegółów proszę sprawdzić artykuł w naszej stronie Wiki." +"Po użyciu kalibracji dynamiki przepływu mogą nadal występować pewne problemy " +"z ekstruzją, takie jak:\n" +"1. Nadmierna ekstruzja: Nadmiar filamentu na twoim wydrukowanym obiekcie, " +"tworzenie grudek i wybrzuszeń, lub warstwy wydają się być grubsze i nierówne " +"niż oczekiwano.\n" +"2. Niedostateczna ekstruzja: Bardzo cienkie warstwy, słaba wytrzymałość " +"wypełnienia, lub przerwy w górnej warstwie modelu, nawet przy wolnym " +"drukowaniu.\n" +"3. Słaba jakość powierzchni: Powierzchnia twoich wydruków wydaje się być " +"szorstka lub nierówna.\n" +"4. Słaba wytrzymałość strukturalna: Wydruki łatwo się łamią lub nie wydają " +"się być tak wytrzymałe, jak powinny." 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." +"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 "" -"Automatyczna kalibracja natężenia przepływu wykorzystuje technologię Micro-Lidar firmy Bambu Lab, bezpośrednio mierząc wzorce kalibracyjne. Jednak należy pamiętać, że skuteczność i dokładność tej metody mogą być ograniczone w przypadku konkretnych rodzajów filamentów. Szczególnie filamenty, które są przezroczyste lub półprzezroczyste, z iskrzącymi cząstkami lub o wysokim połysku mogą być nieodpowiednie do tej kalibracji i mogą dawać mniej niż pożądane wyniki.\n" +"Dodatkowo, kalibracja natężenia przepływu jest kluczowa dla materiałów " +"piankowych, takich jak LW-PLA używane w samolotach RC. Te filamenty znacząco " +"się rozprężają pod wpływem temperatury, a kalibracja zapewnia przydatną " +"referencyjną prędkość przepływu." + +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 "" +"Kalibracja Natężenie Przepływu mierzy stosunek oczekiwanej do rzeczywistej " +"objętości ekstruzji. Domyślne ustawienie dobrze funkcjonuje w drukarkach " +"Bambu Lab i oficjalnych filamentach, ponieważ były one wcześniej " +"skalibrowane i dokładnie dostrojone. Dla zwykłego filamentu zazwyczaj nie " +"będziesz musiał przeprowadzać kalibracji natężenia przepływu, chyba że " +"nadzieja widoczne wymienione wady po wykonaniu innych kalibracji. Po więcej " +"szczegółów proszę sprawdzić artykuł w naszej stronie Wiki." + +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" -"Wyniki kalibracji mogą się różnić między poszczególnymi kalibracjami lub filamentami. Nadal pracujemy nad poprawą dokładności i kompatybilności tej kalibracji za pomocą aktualizacji oprogramowania.\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" -"Ostrzeżenie: Kalibracja przepływu jest zaawansowanym procesem, który powinien być przeprowadzany tylko przez osoby, które w pełni rozumieją jego cel i implikacje. Niewłaściwe użycie może prowadzić do niskiej jakości wydruków lub uszkodzenia drukarki. Przed przystąpieniem do kalibracji upewnij się, że dokładnie przeczytałeś i zrozumiałeś proces." +"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 "" +"Automatyczna kalibracja natężenia przepływu wykorzystuje technologię Micro-" +"Lidar firmy Bambu Lab, bezpośrednio mierząc wzorce kalibracyjne. Jednak " +"należy pamiętać, że skuteczność i dokładność tej metody mogą być ograniczone " +"w przypadku konkretnych rodzajów filamentów. Szczególnie filamenty, które są " +"przezroczyste lub półprzezroczyste, z iskrzącymi cząstkami lub o wysokim " +"połysku mogą być nieodpowiednie do tej kalibracji i mogą dawać mniej niż " +"pożądane wyniki.\n" +"\n" +"Wyniki kalibracji mogą się różnić między poszczególnymi kalibracjami lub " +"filamentami. Nadal pracujemy nad poprawą dokładności i kompatybilności tej " +"kalibracji za pomocą aktualizacji oprogramowania.\n" +"\n" +"Ostrzeżenie: Kalibracja przepływu jest zaawansowanym procesem, który " +"powinien być przeprowadzany tylko przez osoby, które w pełni rozumieją jego " +"cel i implikacje. Niewłaściwe użycie może prowadzić do niskiej jakości " +"wydruków lub uszkodzenia drukarki. Przed przystąpieniem do kalibracji " +"upewnij się, że dokładnie przeczytałeś i zrozumiałeś proces." msgid "When you need Max Volumetric Speed Calibration" msgstr "Kiedy potrzebujesz kalibracji Maksymalnej Prędkości Przepływu" @@ -11790,11 +14647,19 @@ msgstr "filamentami z niedokładną średnicą" msgid "We found the best Flow Dynamics Calibration Factor" msgstr "Znaleźliśmy najlepszy współczynnik Kalibracji Dynamiki Przepływu" -msgid "Part of the calibration failed! You may clean the plate and retry. The failed test result would be dropped." -msgstr "Część kalibracji nie powiodła się! Możesz oczyścić płytę i spróbować ponownie. Niewłaściwy wynik testu zostanie odrzucony." +msgid "" +"Part of the calibration failed! You may clean the plate and retry. The " +"failed test result would be dropped." +msgstr "" +"Część kalibracji nie powiodła się! Możesz oczyścić płytę i spróbować " +"ponownie. Niewłaściwy wynik testu zostanie odrzucony." -msgid "*We recommend you to add brand, materia, type, and even humidity level in the Name" -msgstr "*Zalecamy dodanie do nazwy marki i typu filamentu, a nawet poziomu wilgotności" +msgid "" +"*We recommend you to add brand, materia, type, and even humidity level in " +"the Name" +msgstr "" +"*Zalecamy dodanie do nazwy marki i typu filamentu, a nawet poziomu " +"wilgotności" msgid "Failed" msgstr "Nieudane" @@ -11805,12 +14670,22 @@ msgstr "Proszę wprowadzić nazwę, którą chcesz zapisać w drukarce." msgid "The name cannot exceed 40 characters." msgstr "Nazwa nie może przekraczać 40 znaków." -msgid "Only one of the results with the same name will be saved. Are you sure you want to overrides the other results?" -msgstr "Tylko jeden z wyników o tej samej nazwie zostanie zapisany. Czy na pewno chcesz zastąpić inne wyniki?" +msgid "" +"Only one of the results with the same name will be saved. Are you sure you " +"want to overrides the other results?" +msgstr "" +"Tylko jeden z wyników o tej samej nazwie zostanie zapisany. Czy na pewno " +"chcesz zastąpić inne wyniki?" #, c-format, 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 overrides the historical result?" -msgstr "Istnieje już historia wyników kalibracji o tej samej nazwie: %s. Tylko jeden z wyników o tej samej nazwie zostanie zapisany. Czy na pewno chcesz zastąpić ten wynik?" +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 overrides the historical result?" +msgstr "" +"Istnieje już historia wyników kalibracji o tej samej nazwie: %s. Tylko jeden " +"z wyników o tej samej nazwie zostanie zapisany. Czy na pewno chcesz zastąpić " +"ten wynik?" msgid "Please find the best line on your plate" msgstr "Znajdź najlepszą linię na swojej płycie" @@ -11868,7 +14743,8 @@ msgid "Please choose a block with smoothest top surface." msgstr "Wybierz blok z najgładszą górną powierzchnią." msgid "Please input a valid value (0 <= Max Volumetric Speed <= 60)" -msgstr "Proszę wprowadzić prawidłową wartość (0 <= Max Prędkość Przepływu <= 60)" +msgstr "" +"Proszę wprowadzić prawidłową wartość (0 <= Max Prędkość Przepływu <= 60)" msgid "Calibration Type" msgstr "Typ kalibracji" @@ -11882,8 +14758,12 @@ msgstr "Dokładna kalibracja na podstawie współczynnika przepływu" msgid "Title" msgstr "Tytuł" -msgid "A test model will be printed. Please clear the build plate and place it back to the hot bed before calibration." -msgstr "Będzie wydrukowany model testowy. Przed kalibracją oczyść płytę roboczą i umieść ją z powrotem na stole grzewczym." +msgid "" +"A test model will be printed. Please clear the build plate and place it back " +"to the hot bed before calibration." +msgstr "" +"Będzie wydrukowany model testowy. Przed kalibracją oczyść płytę roboczą i " +"umieść ją z powrotem na stole grzewczym." msgid "Printing Parameters" msgstr "Parametry drukowania" @@ -11920,7 +14800,8 @@ msgid "%s is not compatible with %s" msgstr "%s nie jest kompatybilne z %s" msgid "TPU is not supported for Flow Dynamics Auto-Calibration." -msgstr "TPU nie jest obsługiwane dla automatycznej kalibracji dynamiki przepływu." +msgstr "" +"TPU nie jest obsługiwane dla automatycznej kalibracji dynamiki przepływu." msgid "Connecting to printer" msgstr "Łączenie z drukarką" @@ -11963,7 +14844,8 @@ msgstr "Akcja" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "To urządzenie może przechowywać tylko %d wyników w historii dla jednej dyszy." +msgstr "" +"To urządzenie może przechowywać tylko %d wyników w historii dla jednej dyszy." msgid "Edit Flow Dynamics Calibration" msgstr "Edytuj Kalibrację Dynamiki Przepływu" @@ -12156,14 +15038,17 @@ msgid "Upload to Printer Host with the following filename:" msgstr "Prześlij do serwera druku z następującą nazwą pliku:" msgid "Use forward slashes ( / ) as a directory separator if needed." -msgstr "Użyj prawego ukośnika ( / ) jako separatora katalogów, jeśli jest to potrzebne." +msgstr "" +"Użyj prawego ukośnika ( / ) jako separatora katalogów, jeśli jest to " +"potrzebne." msgid "Upload to storage" msgstr "Prześlij do pamięci" #, c-format, boost-format msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?" -msgstr "Przesyłana nazwa pliku nie kończy się z \\\"‪%s‬\\\". Czy chcesz kontynuować?" +msgstr "" +"Przesyłana nazwa pliku nie kończy się z \\\"‪%s‬\\\". Czy chcesz kontynuować?" msgid "Upload" msgstr "Załaduj" @@ -12332,10 +15217,14 @@ msgid "Vendor is not selected, please reselect vendor." msgstr "Dostawca nie jest wybrany, proszę ponownie wybrać producenta." msgid "Custom vendor is not input, please input custom vendor." -msgstr "Nie wprowadzono dostawcy, proszę wprowadzić niestandardowego producenta." +msgstr "" +"Nie wprowadzono dostawcy, proszę wprowadzić niestandardowego producenta." -msgid "\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." -msgstr "\"Bambu\" lub \"Generic\" nie mogą być używane jako Dostawca dla niestandardowych filamentów." +msgid "" +"\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." +msgstr "" +"\"Bambu\" lub \"Generic\" nie mogą być używane jako Dostawca dla " +"niestandardowych filamentów." msgid "Filament type is not selected, please reselect type." msgstr "Typ filamentu nie jest wybrany, proszę ponownie wybrać typ." @@ -12343,25 +15232,36 @@ msgstr "Typ filamentu nie jest wybrany, proszę ponownie wybrać typ." msgid "Filament serial is not inputed, please input serial." msgstr "Seria filamentu nie jest wprowadzona, proszę wprowadzić serie." -msgid "There may be escape characters in the vendor or serial input of filament. Please delete and re-enter." -msgstr "W polu Dostawcy lub Serii filamentu nie mogą występować znaki specjalne. Proszę usunąć i ponownie wprowadzić." +msgid "" +"There may be escape characters in the vendor or serial input of filament. " +"Please delete and re-enter." +msgstr "" +"W polu Dostawcy lub Serii filamentu nie mogą występować znaki specjalne. " +"Proszę usunąć i ponownie wprowadzić." msgid "All inputs in the custom vendor or serial are spaces. Please re-enter." -msgstr "Wszystkie wprowadzone dane w niestandardowym dostawcy lub serii to spacje. Proszę wprowadzić ponownie." +msgstr "" +"Wszystkie wprowadzone dane w niestandardowym dostawcy lub serii to spacje. " +"Proszę wprowadzić ponownie." msgid "The vendor can not be a number. Please re-enter." msgstr "Dostawca nie może być liczbą. Proszę wprowadzić ponownie." -msgid "You have not selected a printer or preset yet. Please select at least one." -msgstr "Nie wybrałeś jeszcze żadnej drukarki ani ustawień wstępnych. Proszę wybierz przynajmniej jedno." +msgid "" +"You have not selected a printer or preset yet. Please select at least one." +msgstr "" +"Nie wybrałeś jeszcze żadnej drukarki ani ustawień wstępnych. Proszę wybierz " +"przynajmniej jedno." #, c-format, boost-format msgid "" "The Filament name %s you created already exists. \n" -"If you continue creating, the preset created will be displayed with its full name. Do you want to continue?" +"If you continue creating, the preset created will be displayed with its full " +"name. Do you want to continue?" msgstr "" "Nazwa filamentu %s, którą utworzyłeś, już istnieje. \n" -"Jeśli będziesz kontynuować, utworzony preset będzie wyświetlany pod swoją pełną nazwą. Czy chcesz kontynuować?" +"Jeśli będziesz kontynuować, utworzony preset będzie wyświetlany pod swoją " +"pełną nazwą. Czy chcesz kontynuować?" msgid "Some existing presets have failed to be created, as follows:\n" msgstr "Niektóre istniejące profile nie zostały utworzone:\n" @@ -12374,10 +15274,12 @@ msgstr "" "Czy chcesz go zastąpić?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected\". \n" +"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 "" -"Nazwa profilu zostanie zmieniona na \"Dostawca Typ Seria @nazwa drukarki, którą wybrałeś\".\n" +"Nazwa profilu zostanie zmieniona na \"Dostawca Typ Seria @nazwa drukarki, " +"którą wybrałeś\".\n" "Aby dodać profil dla innych drukarek, przejdź do wyboru drukarki." msgid "Create Printer/Nozzle" @@ -12448,10 +15350,13 @@ msgid "The file exceeds %d MB, please import again." msgstr "Plik przekracza %d MB, proszę zaimportuj ponownie." msgid "Exception in obtaining file size, please import again." -msgstr "Wyjątek podczas uzyskiwania rozmiaru pliku, proszę zaimportuj ponownie." +msgstr "" +"Wyjątek podczas uzyskiwania rozmiaru pliku, proszę zaimportuj ponownie." msgid "Preset path is not find, please reselect vendor." -msgstr "Ścieżka ustawień wstępnych nie została znaleziona, proszę wybrać dostawcę ponownie." +msgstr "" +"Ścieżka ustawień wstępnych nie została znaleziona, proszę wybrać dostawcę " +"ponownie." msgid "The printer model was not found, please reselect." msgstr "Model drukarki nie został znaleziony, proszę wybrać ponownie" @@ -12477,19 +15382,30 @@ msgstr "Opracuj Profil Procesu" msgid "Back Page 1" msgstr "Poprzednia Strona 1" -msgid "You have not yet chosen which printer preset to create based on. Please choose the vendor and model of the printer" -msgstr "Jeszcze nie dokonano wyboru, na podstawie którego profilu drukarki ma być utworzony nowy profil. Proszę wybrać dostawce i model drukarki." +msgid "" +"You have not yet chosen which printer preset to create based on. Please " +"choose the vendor and model of the printer" +msgstr "" +"Jeszcze nie dokonano wyboru, na podstawie którego profilu drukarki ma być " +"utworzony nowy profil. Proszę wybrać dostawce i model drukarki." -msgid "You have entered an illegal input in the printable area section on the first page. Please check before creating it." -msgstr "W sekcji \"Obszar drukowania\" na pierwszej stronie wprowadzono nieprawidłową wartość. Sprawdź wprowadzone dane przed utworzeniem." +msgid "" +"You have entered an illegal input in the printable area section on the first " +"page. Please check before creating it." +msgstr "" +"W sekcji \"Obszar drukowania\" na pierwszej stronie wprowadzono " +"nieprawidłową wartość. Sprawdź wprowadzone dane przed utworzeniem." msgid "The custom printer or model is not inputed, place input." msgstr "Brakuje niestandardowej drukarki lub modelu, proszę wprowadzić dane." 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" +"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 "" "Profil drukarki o tej nazwie już istnieje. Czy chcesz go zastąpić?\n" @@ -12515,20 +15431,36 @@ msgstr "Dostawca nie został znaleziony, proszę wybrać ponownie." msgid "Current vendor has no models, please reselect." msgstr "Obecny dostawca nie ma modeli, proszę wybrać ponownie." -msgid "You have not selected the vendor and model or inputed the custom vendor and model." -msgstr "Nie wybrano dostawcy ani modelu lub nie wprowadzono niestandardowego dostawcy i modelu" +msgid "" +"You have not selected the vendor and model or inputed the custom vendor and " +"model." +msgstr "" +"Nie wybrano dostawcy ani modelu lub nie wprowadzono niestandardowego " +"dostawcy i modelu" -msgid "There may be escape characters in the custom printer vendor or model. Please delete and re-enter." -msgstr "W polu Dostawcy lub Modelu drukarki nie mogą występować znaki Specjalne. Proszę usunąć i wprowadzić ponownie." +msgid "" +"There may be escape characters in the custom printer vendor or model. Please " +"delete and re-enter." +msgstr "" +"W polu Dostawcy lub Modelu drukarki nie mogą występować znaki Specjalne. " +"Proszę usunąć i wprowadzić ponownie." -msgid "All inputs in the custom printer vendor or model are spaces. Please re-enter." -msgstr "W polach dotyczących niestandardowego producenta lub modelu drukarki wprowadzono spacje. Proszę ponownie wprowadzić poprawne dane." +msgid "" +"All inputs in the custom printer vendor or model are spaces. Please re-enter." +msgstr "" +"W polach dotyczących niestandardowego producenta lub modelu drukarki " +"wprowadzono spacje. Proszę ponownie wprowadzić poprawne dane." msgid "Please check bed printable shape and origin input." -msgstr "Proszę sprawdzić kształt stołu do druku oraz dane dotyczące jego położenia początkowego" +msgstr "" +"Proszę sprawdzić kształt stołu do druku oraz dane dotyczące jego położenia " +"początkowego" -msgid "You have not yet selected the printer to replace the nozzle, please choose." -msgstr "Nie wybrałeś jeszcze drukarki, do której chcesz zamienić dyszę, proszę dokonaj wyboru." +msgid "" +"You have not yet selected the printer to replace the nozzle, please choose." +msgstr "" +"Nie wybrałeś jeszcze drukarki, do której chcesz zamienić dyszę, proszę " +"dokonaj wyboru." msgid "Create Printer Successful" msgstr "Utworzenie profilu drukarki zakończyło się powodzeniem" @@ -12547,25 +15479,33 @@ msgstr "Utworzono Profil Filamentu" 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 "Jeżeli zajdzie taka potrzeba, przejdź do ustawień filamentu, aby edytować swoje profile. Należy pamiętać, że temperatura dyszy, temperatura stołu i maksymalna prędkość objętościowa mają znaczący wpływ na jakość druku. Proszę ustawiać je ostrożnie." +"Please note that nozzle temperature, hot bed temperature, and maximum " +"volumetric speed has a significant impact on printing quality. Please set " +"them carefully." +msgstr "" +"Jeżeli zajdzie taka potrzeba, przejdź do ustawień filamentu, aby edytować " +"swoje profile. Należy pamiętać, że temperatura dyszy, temperatura stołu i " +"maksymalna prędkość objętościowa mają znaczący wpływ na jakość druku. Proszę " +"ustawiać je ostrożnie." msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not enabled, which may result in unsuccessful Filament settings on the Device page. \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 "" "\n" "\n" -"Slicer wykrył, że funkcja synchronizacji profili użytkownika nie jest włączona, co może skutkować niepoprawnymi ustawieniami filamentu na stronie Urządzenia. Kliknij \"Synchronizuj profile użytkownika\", aby włączyć funkcję synchronizacji." +"Slicer wykrył, że funkcja synchronizacji profili użytkownika nie jest " +"włączona, co może skutkować niepoprawnymi ustawieniami filamentu na stronie " +"Urządzenia. Kliknij \"Synchronizuj profile użytkownika\", aby włączyć " +"funkcję synchronizacji." msgid "Printer Setting" msgstr "Ustawienia drukarki" -msgid "Export Configs" -msgstr "Eksportuj konfiguracje" - msgid "Printer config bundle(.orca_printer)" msgstr "Zestaw konfiguracji drukarki (.orca_printer)" @@ -12601,8 +15541,10 @@ msgstr "Eksport zakończony sukcesem" #, c-format, 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." +"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 "" "Plik '%s' już istnieje w bieżącym katalogu. Czy chcesz go nadpisać?\n" "Jeśli nie, zostanie dodany sufiks czasowy do nazwy pliku." @@ -12611,7 +15553,8 @@ msgid "" "Printer and all the filament&&process presets that belongs to the printer. \n" "Can be shared with others." msgstr "" -"Profil drukarki oraz wszystkie ustawienia filamentu i procesu, które do niej należą. \n" +"Profil drukarki oraz wszystkie ustawienia filamentu i procesu, które do niej " +"należą. \n" "Można je udostępniać innym osobom." msgid "" @@ -12621,27 +15564,42 @@ msgstr "" "Profile filamentu.\n" "Można je udostępniać innym osobom." -msgid "Only display printer names with changes to printer, filament, and process presets." -msgstr "Wyświetlone są jedynie nazwy drukarek, które miały zmienione ustawienia filamentu lub procesu." +msgid "" +"Only display printer names with changes to printer, filament, and process " +"presets." +msgstr "" +"Wyświetlone są jedynie nazwy drukarek, które miały zmienione ustawienia " +"filamentu lub procesu." msgid "Only display the filament names with changes to filament presets." -msgstr "Wyświetlone są jedynie nazwy filamentów, które zostały zmodyfikowane w ustawieniach." +msgstr "" +"Wyświetlone są jedynie nazwy filamentów, które zostały zmodyfikowane w " +"ustawieniach." -msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." -msgstr "Wyświetlane są tylko nazwy drukarek z ustawieniami użytkownika, wybrany zestaw zostanie wyeksportowany jako plik zip." +msgid "" +"Only printer names with user printer presets will be displayed, and each " +"preset you choose will be exported as a zip." +msgstr "" +"Wyświetlane są tylko nazwy drukarek z ustawieniami użytkownika, wybrany " +"zestaw zostanie wyeksportowany jako plik 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." +"and all user filament presets in each filament name you select will be " +"exported as a zip." msgstr "" -"Na liście widoczne są tylko nazwy filamentów ze zmodyfikowanymi ustawieniami, \n" -"a dla każdej wybranej nazwy filamentu zostaną wyeksportowane wszystkie ustawienia jako archiwum zip." +"Na liście widoczne są tylko nazwy filamentów ze zmodyfikowanymi " +"ustawieniami, \n" +"a dla każdej wybranej nazwy filamentu zostaną wyeksportowane wszystkie " +"ustawienia jako archiwum 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." +"and all user process presets in each printer name you select will be " +"exported as a zip." msgstr "" -"Na liście widoczne są tylko nazwy drukarek ze zmodyfikowanymi ustawieniami procesu, \n" +"Na liście widoczne są tylko nazwy drukarek ze zmodyfikowanymi ustawieniami " +"procesu, \n" "a dla każdej wybranej nazwy drukarki zostaną wyeksportowane wszystkie \n" "ustawienia procesu jako archiwum zip." @@ -12652,7 +15610,9 @@ msgid "Please select a type you want to export" msgstr "Proszę wybierz co chcesz wyeksportować" msgid "Failed to create temporary folder, please try Export Configs again." -msgstr "Nie udało się utworzyć tymczasowego folderu. Spróbuj ponownie wyeksportować konfiguracje." +msgstr "" +"Nie udało się utworzyć tymczasowego folderu. Spróbuj ponownie wyeksportować " +"konfiguracje." msgid "Edit Filament" msgstr "Edytuj Filament" @@ -12660,8 +15620,12 @@ msgstr "Edytuj Filament" msgid "Filament presets under this filament" msgstr "Dodaj profil filamentu poniżej" -msgid "Note: If the only preset under this filament is deleted, the filament will be deleted after exiting the dialog." -msgstr "Uwaga: Jeśli ostatni profil tego filamentu zostanie usunięty, wszystkie ustawienia tego filamentu zostaną skasowane po wyjściu z okna dialogowego." +msgid "" +"Note: If the only preset under this filament is deleted, the filament will " +"be deleted after exiting the dialog." +msgstr "" +"Uwaga: Jeśli ostatni profil tego filamentu zostanie usunięty, wszystkie " +"ustawienia tego filamentu zostaną skasowane po wyjściu z okna dialogowego." msgid "Presets inherited by other presets can not be deleted" msgstr "Nie można usunąć profili dziedziczonych przez inne profile" @@ -12689,10 +15653,13 @@ msgstr "Usuń Filament" 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." +"If you are using this filament on your printer, please reset the filament " +"information for that slot." msgstr "" -"Wszystkie ustawienia wstępne filamentu przypisane do tego profilu zostaną usunięte.\n" -"Jeśli używasz tego filamentu w swojej drukarce, proszę zresetuj informacje o filamencie dla tego slotu." +"Wszystkie ustawienia wstępne filamentu przypisane do tego profilu zostaną " +"usunięte.\n" +"Jeśli używasz tego filamentu w swojej drukarce, proszę zresetuj informacje o " +"filamencie dla tego slotu." msgid "Delete filament" msgstr "Usuń filament" @@ -12707,7 +15674,9 @@ msgid "Copy preset from filament" msgstr "Skopiuj ustawienie z filamentu" msgid "The filament choice not find filament preset, please reselect it" -msgstr "Nie znaleziono profilu dla wybranego filamentu, proszę dokonać ponownego wyboru" +msgstr "" +"Nie znaleziono profilu dla wybranego filamentu, proszę dokonać ponownego " +"wyboru" msgid "[Delete Required]" msgstr "[Usuń Wymagane]" @@ -12724,12 +15693,17 @@ msgstr "Zwiń" msgid "Daily Tips" msgstr "Porada Dnia" -msgid "Your nozzle diameter in preset is not consistent with memorized nozzle diameter. Did you change your nozzle lately?" -msgstr "Średnica Twojej dyszy w profilu nie jest zgodna ze zapamiętaną średnicą dyszy. Czy ostatnio zmieniałeś swoją dyszę?" +msgid "" +"Your nozzle diameter in preset is not consistent with memorized nozzle " +"diameter. Did you change your nozzle lately?" +msgstr "" +"Średnica Twojej dyszy w profilu nie jest zgodna ze zapamiętaną średnicą " +"dyszy. Czy ostatnio zmieniałeś swoją dyszę?" #, c-format, boost-format msgid "*Printing %s material with %s may cause nozzle damage" -msgstr "*Drukowanie filamentu %s z użyciem %s może spowodować uszkodzenie dyszy" +msgstr "" +"*Drukowanie filamentu %s z użyciem %s może spowodować uszkodzenie dyszy" msgid "Need select printer" msgstr "Konieczny jest wybór drukarki" @@ -12737,8 +15711,12 @@ msgstr "Konieczny jest wybór drukarki" msgid "The start, end or step is not valid value." msgstr "Wartość początkowa, końcowa lub krokowa jest nieprawidłowa." -msgid "Unable to calibrate: maybe because the set calibration value range is too large, or the step is too small" -msgstr "Nie można skalibrować: być może zakres ustawionych wartości kalibracyjnych jest zbyt duży, lub krok jest zbyt mały" +msgid "" +"Unable to calibrate: maybe because the set calibration value range is too " +"large, or the step is too small" +msgstr "" +"Nie można skalibrować: być może zakres ustawionych wartości kalibracyjnych " +"jest zbyt duży, lub krok jest zbyt mały" msgid "Physical Printer" msgstr "Fizyczna drukarka" @@ -12758,8 +15736,12 @@ msgstr "Czy na pewno chcesz się wylogować?" msgid "Refresh Printers" msgstr "Odśwież drukarki" -msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." -msgstr "Plik HTTPS CA jest opcjonalny. Jest potrzebny tylko w przypadku uzycia HTTPS z certyfikatem wlasnego podpisu." +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." +msgstr "" +"Plik HTTPS CA jest opcjonalny. Jest potrzebny tylko w przypadku uzycia HTTPS " +"z certyfikatem wlasnego podpisu." msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "Pliki certyfikatów (.crt, .pem)|.crt;.pem|Wszystkie pliki|*.*" @@ -12768,17 +15750,26 @@ msgid "Open CA certificate file" msgstr "Otwórz plik certyfikatu CA" #, c-format, boost-format -msgid "On this system, %s uses HTTPS certificates from the system Certificate Store or Keychain." -msgstr "W tym systemie %s używa certyfikatów HTTPS z systemowego magazynu certyfikatów lub łańcucha kluczy." +msgid "" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." +msgstr "" +"W tym systemie %s używa certyfikatów HTTPS z systemowego magazynu " +"certyfikatów lub łańcucha kluczy." -msgid "To use a custom CA file, please import your CA file into Certificate Store / Keychain." -msgstr "Aby użyć własnego certyfikatu, zaimportuj plik do magazynu (Certificate Store / Keychain)." +msgid "" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." +msgstr "" +"Aby użyć własnego certyfikatu, zaimportuj plik do magazynu (Certificate " +"Store / Keychain)." msgid "Login/Test" msgstr "Logowanie/Test" msgid "Connection to printers connected via the print host failed." -msgstr "Połączenie z drukarkami podłączonymi przez hosta drukowania nie powiodło się." +msgstr "" +"Połączenie z drukarkami podłączonymi przez hosta drukowania nie powiodło się." #, c-format, boost-format msgid "Mismatched type of print host: %s" @@ -12817,8 +15808,12 @@ msgstr "Połączenie z FlashAir działa poprawnie, a przesyłanie jest włączon msgid "Could not connect to FlashAir" msgstr "Nie udało się połączyć z FlashAir" -msgid "Note: FlashAir with firmware 2.00.02 or newer and activated upload function is required." -msgstr "Uwaga: Wymagany jest FlashAir z oprogramowaniem 2.00.02 lub nowszym oraz aktywowaną funkcją przesyłania." +msgid "" +"Note: FlashAir with firmware 2.00.02 or newer and activated upload function " +"is required." +msgstr "" +"Uwaga: Wymagany jest FlashAir z oprogramowaniem 2.00.02 lub nowszym oraz " +"aktywowaną funkcją przesyłania." msgid "Connection to MKS works correctly." msgstr "Połączenie z MKS działa poprawnie." @@ -12863,7 +15858,8 @@ msgstr "%1% : brak wolnego miejsca" #. TRN %1% = host #, boost-format msgid "Upload has failed. There is no suitable storage found at %1%." -msgstr "Przesyłanie nie powiodło się. Nie znaleziono odpowiedniego nośnika w %1%.." +msgstr "" +"Przesyłanie nie powiodło się. Nie znaleziono odpowiedniego nośnika w %1%.." msgid "Connection to Prusa Connect works correctly." msgstr "Połączenie z Prusa Connect działa poprawnie." @@ -12908,89 +15904,271 @@ msgstr "" "Treść wiadomości: \"%1%\"\n" "Błąd: \"%2%\"" -msgid "It has a small layer height, and results in almost negligible layer lines and high printing quality. It is suitable for most general printing cases." -msgstr "Ta niska wysokość warstwy prowadzi do praktycznie niewidocznych warstw i wysokiej jakości wydruku. Nadaje się do większości standardowych przypadków druku." +msgid "" +"It has a small layer height, and results in almost negligible layer lines " +"and high printing quality. It is suitable for most general printing cases." +msgstr "" +"Ta niska wysokość warstwy prowadzi do praktycznie niewidocznych warstw i " +"wysokiej jakości wydruku. Nadaje się do większości standardowych przypadków " +"druku." -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. So, it results in much higher printing quality, but a much longer printing time." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.2 mm, ma niższe prędkości i przyspieszenia, a wzorzec rzadkiego wypełnienia to Gyroidalny. Dlatego daje znacznie lepszą jakość druku, ale znacznie wydłuża czas druku." +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. So, it results in " +"much higher printing quality, but a much longer printing time." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.2 mm, ma niższe " +"prędkości i przyspieszenia, a wzorzec rzadkiego wypełnienia to Gyroidalny. " +"Dlatego daje znacznie lepszą jakość druku, ale znacznie wydłuża czas druku." -msgid "Compared with the default profile of a 0.2 mm nozzle, it has a slightly bigger layer height, and results in almost negligible layer lines, and slightly shorter printing time." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.2 mm, ma nieznacznie większą wysokość warstwy, co skutkuje praktycznie niezauważalnymi liniami warstw i nieco krótszym czasem druku." +msgid "" +"Compared with the default profile of a 0.2 mm nozzle, it has a slightly " +"bigger layer height, and results in almost negligible layer lines, and " +"slightly shorter printing time." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.2 mm, ma " +"nieznacznie większą wysokość warstwy, co skutkuje praktycznie " +"niezauważalnymi liniami warstw i nieco krótszym czasem druku." -msgid "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer height, and results in slightly visible layer lines, but shorter printing time." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.2 mm, ma większą wysokość warstwy, co skutkuje lekko widocznymi liniami warstw, ale krótszym czasem druku." +msgid "" +"Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " +"height, and results in slightly visible layer lines, but shorter printing " +"time." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.2 mm, ma większą " +"wysokość warstwy, co skutkuje lekko widocznymi liniami warstw, ale krótszym " +"czasem druku." -msgid "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer height, and results in almost invisible layer lines and higher printing quality, but shorter printing time." -msgstr "W porównaniu z domyślnym profilem dyszy o średnicy 0.2 mm, ma mniejszą wysokość warstwy, co prowadzi do praktycznie niewidocznych linii warstw i wyższej jakości druku, ale wydłuża czas druku." +msgid "" +"Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " +"height, and results in almost invisible layer lines and higher printing " +"quality, but shorter printing time." +msgstr "" +"W porównaniu z domyślnym profilem dyszy o średnicy 0.2 mm, ma mniejszą " +"wysokość warstwy, co prowadzi do praktycznie niewidocznych linii warstw i " +"wyższej jakości druku, ale wydłuża czas druku." -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. So, it results in almost invisible layer lines and much higher printing quality, but much longer printing time." -msgstr "W porównaniu z domyślnym profilem dyszy 0.2 mm, ma mniejszą wysokość warstwy, niższe prędkości i przyspieszenie, oraz wzór wypełnienia jest gyroidalny. To prowadzi do praktycznie niewidocznych linii warstw i wyższej jakości druku, ale znacznie wydłuża czasu druku." +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. So, it results in almost invisible layer lines and much higher " +"printing quality, but much longer printing time." +msgstr "" +"W porównaniu z domyślnym profilem dyszy 0.2 mm, ma mniejszą wysokość " +"warstwy, niższe prędkości i przyspieszenie, oraz wzór wypełnienia jest " +"gyroidalny. To prowadzi do praktycznie niewidocznych linii warstw i wyższej " +"jakości druku, ale znacznie wydłuża czasu druku." -msgid "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer height, and results in minimal layer lines and higher printing quality, but shorter printing time." -msgstr "W porównaniu ze standardowym profilem dyszy o średnicy 0.2 mm, ten profil ma mniejszą wysokość warstwy, co prowadzi do praktycznie niewidocznych linii warstw i znacznie wyższa jakość wydruku, ale jednocześnie wydłuża jego czas." +msgid "" +"Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " +"height, and results in minimal layer lines and higher printing quality, but " +"shorter printing time." +msgstr "" +"W porównaniu ze standardowym profilem dyszy o średnicy 0.2 mm, ten profil ma " +"mniejszą wysokość warstwy, co prowadzi do praktycznie niewidocznych linii " +"warstw i znacznie wyższa jakość wydruku, ale jednocześnie wydłuża jego czas." -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. So, it results in minimal layer lines and much higher printing quality, but much longer printing time." -msgstr "W porównaniu ze standardowym profilem dyszy o średnicy 0.2 mm, ma on mniejszą wysokość warstwy, niższe prędkości i przyspieszenia, a także zastosowany jest wzór wypełnienia Gyroid. To prowadzi do praktycznie niewidocznych warstw i znacznie lepszej jakości wydruku, ale jednocześnie wydłuża jego czas." +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. So, it results in minimal layer lines and much higher printing " +"quality, but much longer printing time." +msgstr "" +"W porównaniu ze standardowym profilem dyszy o średnicy 0.2 mm, ma on " +"mniejszą wysokość warstwy, niższe prędkości i przyspieszenia, a także " +"zastosowany jest wzór wypełnienia Gyroid. To prowadzi do praktycznie " +"niewidocznych warstw i znacznie lepszej jakości wydruku, ale jednocześnie " +"wydłuża jego czas." -msgid "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases." -msgstr "Ta standardowa wysokość warstwy zapewnia normalną jakość druku, odpowiednią dla większości standardowych przypadków druku." +msgid "" +"It has a general layer height, and results in general layer lines and " +"printing quality. It is suitable for most general printing cases." +msgstr "" +"Ta standardowa wysokość warstwy zapewnia normalną jakość druku, odpowiednią " +"dla większości standardowych przypadków druku." -msgid "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time." -msgstr "W porównaniu ze standardowym profilem dla dyszy o średnicy 0.4 mm, ten profil ma więcej obwodów i większą gęstość wypełnienia. To zwiększa wytrzymałość wydruku, ale prowadzi także do większego zużycia materiału i dłuższego czasu druku." +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " +"and a higher sparse infill density. So, it results in higher strength of the " +"prints, but more filament consumption and longer printing time." +msgstr "" +"W porównaniu ze standardowym profilem dla dyszy o średnicy 0.4 mm, ten " +"profil ma więcej obwodów i większą gęstość wypełnienia. To zwiększa " +"wytrzymałość wydruku, ale prowadzi także do większego zużycia materiału i " +"dłuższego czasu druku." -msgid "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but slightly shorter printing time." -msgstr "W porównaniu ze standardowym profilem dla dyszy o średnicy 0.4 mm, ten profil ma większą wysokość warstwy. W rezultacie warstwy są bardziej widoczne, co obniża jakość druku, ale jednocześnie delikatnie skraca jego czas." +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " +"height, and results in more apparent layer lines and lower printing quality, " +"but slightly shorter printing time." +msgstr "" +"W porównaniu ze standardowym profilem dla dyszy o średnicy 0.4 mm, ten " +"profil ma większą wysokość warstwy. W rezultacie warstwy są bardziej " +"widoczne, co obniża jakość druku, ale jednocześnie delikatnie skraca jego " +"czas." -msgid "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time." -msgstr "W porównaniu ze standardowym profilem dla dyszy o średnicy 0.4 mm, ten profil ma większą wysokość warstwy. W rezultacie warstwy są bardziej widoczne, co obniża jakość druku, ale jednocześnie skraca jego czas." +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " +"height, and results in more apparent layer lines and lower printing quality, " +"but shorter printing time." +msgstr "" +"W porównaniu ze standardowym profilem dla dyszy o średnicy 0.4 mm, ten " +"profil ma większą wysokość warstwy. W rezultacie warstwy są bardziej " +"widoczne, co obniża jakość druku, ale jednocześnie skraca jego czas." -msgid "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma mniejszą wysokość warstwy. W rezultacie warstwy są mniej widoczne, co skutkuje wyższą jakością druku, ale jednocześnie wydłuża się jego czas." +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " +"height, and results in less apparent layer lines and higher printing " +"quality, but longer printing time." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma " +"mniejszą wysokość warstwy. W rezultacie warstwy są mniej widoczne, co " +"skutkuje wyższą jakością druku, ale jednocześnie wydłuża się jego czas." -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. So, it results in less apparent layer lines and much higher printing quality, but much longer printing time." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma mniejszą wysokość warstwy, niższe prędkości i przyspieszenia, oraz wzór wypełnienia Gyroidalny. W rezultacie warstwy są mniej widoczne, co prowadzi do znacznie wyższej jakości druku, ale zauważalnie dłuższego czasu druku." +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. So, it results in less apparent layer lines and much higher printing " +"quality, but much longer printing time." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma " +"mniejszą wysokość warstwy, niższe prędkości i przyspieszenia, oraz wzór " +"wypełnienia Gyroidalny. W rezultacie warstwy są mniej widoczne, co prowadzi " +"do znacznie wyższej jakości druku, ale zauważalnie dłuższego czasu druku." -msgid "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and higher printing quality, but longer printing time." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma mniejszą wysokość warstwy. W rezultacie warstwy są prawie niewidoczne, co prowadzi do wyższej jakości druku, ale wydłużenia jego czas." +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " +"height, and results in almost negligible layer lines and higher printing " +"quality, but longer printing time." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma " +"mniejszą wysokość warstwy. W rezultacie warstwy są prawie niewidoczne, co " +"prowadzi do wyższej jakości druku, ale wydłużenia jego czas." -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. So, it results in almost negligible layer lines and much higher printing quality, but much longer printing time." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma mniejszą wysokość warstwy, niższe prędkości i przyspieszenia, a także zastosowany wzór wypełnienia gyroidalnego. W rezultacie warstwy są prawie niewidoczne, co prowadzi do znacznie wyższej jakości druku, ale wydłuża jego czas." +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. So, it results in almost negligible layer lines and much higher " +"printing quality, but much longer printing time." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma " +"mniejszą wysokość warstwy, niższe prędkości i przyspieszenia, a także " +"zastosowany wzór wypełnienia gyroidalnego. W rezultacie warstwy są prawie " +"niewidoczne, co prowadzi do znacznie wyższej jakości druku, ale wydłuża jego " +"czas." -msgid "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and longer printing time." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma mniejszą wysokość warstwy. W rezultacie warstwy są prawie niewidoczne, co prowadzi do wyższej jakości druku, ale wydłużenia jego czas." +msgid "" +"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " +"height, and results in almost negligible layer lines and longer printing " +"time." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.4 mm, ten profil ma " +"mniejszą wysokość warstwy. W rezultacie warstwy są prawie niewidoczne, co " +"prowadzi do wyższej jakości druku, ale wydłużenia jego czas." -msgid "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time." -msgstr "Ta wyższa wysokość warstwy, skutkuje widocznymi liniami warstw i zwykłą jakością i czasem druku." +msgid "" +"It has a big layer height, and results in apparent layer lines and ordinary " +"printing quality and printing time." +msgstr "" +"Ta wyższa wysokość warstwy, skutkuje widocznymi liniami warstw i zwykłą " +"jakością i czasem druku." -msgid "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma więcej obwodów i większą gęstość wypełnienia. Skutkuje to zwiększeniem wytrzymałości wydrukowanego elementu, ale zwiększa zużycie materiału i czas wydruku." +msgid "" +"Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " +"and a higher sparse infill density. So, it results in higher strength of the " +"prints, but more filament consumption and longer printing time." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma " +"więcej obwodów i większą gęstość wypełnienia. Skutkuje to zwiększeniem " +"wytrzymałości wydrukowanego elementu, ale zwiększa zużycie materiału i czas " +"wydruku." -msgid "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma większą wysokość warstwy. Skutkuje to bardziej zauważalnymi warstwami i obniżeniem jakości druku, chociaż w niektórych przypadkach może skrócić jego czas." +msgid "" +"Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " +"height, and results in more apparent layer lines and lower printing quality, " +"but shorter printing time in some printing cases." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma " +"większą wysokość warstwy. Skutkuje to bardziej zauważalnymi warstwami i " +"obniżeniem jakości druku, chociaż w niektórych przypadkach może skrócić jego " +"czas." -msgid "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma większą wysokość warstwy. Skutkuje to bardziej zauważalnymi warstwami i znacznym obniżeniem jakości druku, chociaż w niektórych przypadkach może skrócić jego czas." +msgid "" +"Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " +"height, and results in much more apparent layer lines and much lower " +"printing quality, but shorter printing time in some printing cases." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma " +"większą wysokość warstwy. Skutkuje to bardziej zauważalnymi warstwami i " +"znacznym obniżeniem jakości druku, chociaż w niektórych przypadkach może " +"skrócić jego czas." -msgid "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma mniejszą wysokość warstwy. W rezultacie warstwy są mniej zauważalne, co powoduje nieznaczny wzrost jakości druku, ale jednocześnie zwiększa czas wydruku." +msgid "" +"Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " +"height, and results in less apparent layer lines and slight higher printing " +"quality, but longer printing time." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma " +"mniejszą wysokość warstwy. W rezultacie warstwy są mniej zauważalne, co " +"powoduje nieznaczny wzrost jakości druku, ale jednocześnie zwiększa czas " +"wydruku." -msgid "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma mniejszą wysokość warstwy. W rezultacie warstwy są mniej zauważalne, co prowadzi do wyższej jakości druku, ale wydłuża jego czas." +msgid "" +"Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " +"height, and results in less apparent layer lines and higher printing " +"quality, but longer printing time." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.6 mm, ten profil ma " +"mniejszą wysokość warstwy. W rezultacie warstwy są mniej zauważalne, co " +"prowadzi do wyższej jakości druku, ale wydłuża jego czas." -msgid "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time." -msgstr "Ta bardzo duża wysokość warstwy skutkuje wyraźnie widocznymi liniami warstw, niską jakością druku, a także standardowym czasem druku." +msgid "" +"It has a very big layer height, and results in very apparent layer lines, " +"low printing quality and general printing time." +msgstr "" +"Ta bardzo duża wysokość warstwy skutkuje wyraźnie widocznymi liniami warstw, " +"niską jakością druku, a także standardowym czasem druku." -msgid "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0.8 mm, ten profil ma nieco większą wysokość warstwy. W rezultacie są to wyraźnie widoczne warstwy i znacznie niższa jakość druku, ale w niektórych przypadkach skraca to czas wydruku." +msgid "" +"Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " +"height, and results in very apparent layer lines and much lower printing " +"quality, but shorter printing time in some printing cases." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0.8 mm, ten profil ma " +"nieco większą wysokość warstwy. W rezultacie są to wyraźnie widoczne warstwy " +"i znacznie niższa jakość druku, ale w niektórych przypadkach skraca to czas " +"wydruku." -msgid "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger layer height, and results in extremely apparent layer lines and much lower printing quality, but much shorter printing time in some printing cases." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0,8 mm, ten profil ma znacznie większą wysokość warstwy. W rezultacie warstwy są bardzej widoczne, a jakość druku znacznie niższa, ale w niektórych przypadkach znacznie skraca się czas wydruku." +msgid "" +"Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " +"layer height, and results in extremely apparent layer lines and much lower " +"printing quality, but much shorter printing time in some printing cases." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0,8 mm, ten profil ma " +"znacznie większą wysokość warstwy. W rezultacie warstwy są bardzej widoczne, " +"a jakość druku znacznie niższa, ale w niektórych przypadkach znacznie skraca " +"się czas wydruku." -msgid "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0,8 mm, ten profil ma nieco mniejszą wysokość warstwy. W rezultacie warstwy są nieco mniej widoczne, a jakość druku jest nieco lepsza, ale w niektórych przypadkach czas druku może się nieco wydłużyć." +msgid "" +"Compared with the default profile of a 0.8 mm nozzle, it has a slightly " +"smaller layer height, and results in slightly less but still apparent layer " +"lines and slightly higher printing quality, but longer printing time in some " +"printing cases." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0,8 mm, ten profil ma " +"nieco mniejszą wysokość warstwy. W rezultacie warstwy są nieco mniej " +"widoczne, a jakość druku jest nieco lepsza, ale w niektórych przypadkach " +"czas druku może się nieco wydłużyć." -msgid "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases." -msgstr "W porównaniu z domyślnym profilem dla dyszy o średnicy 0,8 mm, ten profil ma mniejszą wysokość warstwy, co prowadzi do mniejszych, ale nadal widocznych warstw i lepszej jakości druku, a w niektórych przypadkach może się wydłużyć czas wydruku." +msgid "" +"Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " +"height, and results in less but still apparent layer lines and slightly " +"higher printing quality, but longer printing time in some printing cases." +msgstr "" +"W porównaniu z domyślnym profilem dla dyszy o średnicy 0,8 mm, ten profil ma " +"mniejszą wysokość warstwy, co prowadzi do mniejszych, ale nadal widocznych " +"warstw i lepszej jakości druku, a w niektórych przypadkach może się wydłużyć " +"czas wydruku." msgid "Connected to Obico successfully!" msgstr "Pomyślnie połączono z SimplyPrint!" @@ -13005,10 +16183,16 @@ msgid "Could not connect to SimplyPrint" msgstr "Nie można połączyć się z SimplyPrint" msgid "SimplyPrint account not linked. Go to Connect options to set it up." -msgstr "Nie połączono z kontem SimplyPrint. Przejdź do opcji Połącz, aby go skonfigurować." +msgstr "" +"Nie połączono z kontem SimplyPrint. Przejdź do opcji Połącz, aby go " +"skonfigurować." -msgid "File size exceeds the 100MB upload limit. Please upload your file through the panel." -msgstr "Rozmiar pliku przekracza limit przesyłania 100 MB. Proszę przesłać plik za pomocą panelu." +msgid "" +"File size exceeds the 100MB upload limit. Please upload your file through " +"the panel." +msgstr "" +"Rozmiar pliku przekracza limit przesyłania 100 MB. Proszę przesłać plik za " +"pomocą panelu." msgid "Unknown error" msgstr "Nieznany błąd" @@ -13023,7 +16207,8 @@ msgid "The provided state is not correct." msgstr "Podany stan nie jest właściwy" msgid "Please give the required permissions when authorizing this application." -msgstr "Proszę udzielić wymaganych uprawnień podczas autoryzacji tej aplikacji." +msgstr "" +"Proszę udzielić wymaganych uprawnień podczas autoryzacji tej aplikacji." msgid "Something unexpected happened when trying to log in, please try again." msgstr "Wystąpił problem podczas próby logowania, proszę spróbować ponownie." @@ -13034,18 +16219,24 @@ msgstr "Anulowane przez użytkownika." #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" -"Did you know that turning on precise wall can improve precision and layer consistency?" +"Did you know that turning on precise wall can improve precision and layer " +"consistency?" msgstr "" "Precyzyjna ściana\n" -"Czy wiesz, że włączenie \"ściany o wysokiej precyzji\" może poprawić ich jakość i spójność warstw?" +"Czy wiesz, że włączenie \"ściany o wysokiej precyzji\" może poprawić ich " +"jakość i spójność warstw?" #: resources/data/hints.ini: [hint:Sandwich mode] msgid "" "Sandwich mode\n" -"Did 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?" +"Did 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 "" "Tryb kanapki\n" -"Czy wiesz, że możesz użyć trybu kanapki (wewnętrzna-zewnętrzna-wewnętrzna) do poprawy precyzji i spójności warstw, jeśli twój model nie ma bardzo stromych występów?" +"Czy wiesz, że możesz użyć trybu kanapki (wewnętrzna-zewnętrzna-wewnętrzna) " +"do poprawy precyzji i spójności warstw, jeśli twój model nie ma bardzo " +"stromych występów?" #: resources/data/hints.ini: [hint:Chamber temperature] msgid "" @@ -13058,10 +16249,12 @@ msgstr "" #: resources/data/hints.ini: [hint:Calibration] msgid "" "Calibration\n" -"Did you know that calibrating your printer can do wonders? Check out our beloved calibration solution in OrcaSlicer." +"Did you know that calibrating your printer can do wonders? Check out our " +"beloved calibration solution in OrcaSlicer." msgstr "" "Kalibracja\n" -"Czy wiesz, że kalibrowanie twojej drukarki może zdziałać cuda? Sprawdź nasze ukochane rozwiązanie kalibracyjne w OrcaSlicer." +"Czy wiesz, że kalibrowanie twojej drukarki może zdziałać cuda? Sprawdź nasze " +"ukochane rozwiązanie kalibracyjne w OrcaSlicer." #: resources/data/hints.ini: [hint:Auxiliary fan] msgid "" @@ -13077,7 +16270,8 @@ msgid "" "Did you know that OrcaSlicer can support Air filtration/Exhaust Fan?" msgstr "" "Filtracja powietrza/Wentylator wyciągowy\n" -"Czy wiesz, że OrcaSlicer może obsługiwać filtrację powietrza/wentylator wyciągowy?" +"Czy wiesz, że OrcaSlicer może obsługiwać filtrację powietrza/wentylator " +"wyciągowy?" #: resources/data/hints.ini: [hint:G-code window] msgid "" @@ -13090,42 +16284,52 @@ msgstr "" #: resources/data/hints.ini: [hint:Switch workspaces] msgid "" "Switch workspaces\n" -"You can switch between Prepare and Preview workspaces by pressing the Tab key." +"You can switch between Prepare and Preview workspaces by " +"pressing the Tab key." msgstr "" "Przełączanie przestrzeni roboczych\n" -"Możesz przełączać się między przestrzeniami roboczymi Przygotowanie i Podgląd za pomocą klawisza Tab." +"Możesz przełączać się między przestrzeniami roboczymi Przygotowanie i " +"Podgląd za pomocą klawisza Tab." #: resources/data/hints.ini: [hint:How to use keyboard shortcuts] msgid "" "How to use keyboard shortcuts\n" -"Did you know that Orca Slicer offers a wide range of keyboard shortcuts and 3D scene operations." +"Did you know that Orca Slicer offers a wide range of keyboard shortcuts and " +"3D scene operations." msgstr "" "Jak korzystać ze skrótów klawiszowych\n" -"Czy wiesz, że Orca Slicer oferuje szeroki zakres skrótów klawiszowych i operacji na scenie 3D." +"Czy wiesz, że Orca Slicer oferuje szeroki zakres skrótów klawiszowych i " +"operacji na scenie 3D." #: resources/data/hints.ini: [hint:Reverse on odd] msgid "" "Reverse on odd\n" -"Did you know that Reverse on odd feature can significantly improve the surface quality of your overhangs?" +"Did you know that Reverse on odd feature can significantly improve " +"the surface quality of your overhangs?" msgstr "" "Odwróć na nieparzystych\n" -"Czy wiesz, że funkcja Odwróć na nieparzystych może znacząco poprawić jakość powierzchni twoich występów?" +"Czy wiesz, że funkcja Odwróć na nieparzystych może znacząco poprawić " +"jakość powierzchni twoich występów?" #: resources/data/hints.ini: [hint:Cut Tool] msgid "" "Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the cutting tool?" +"Did you know that you can cut a model at any angle and position with the " +"cutting tool?" msgstr "" "Narzędzie przecinania\n" -"Czy wiesz, że możesz ciąć model pod dowolnym kątem i w dowolnej pozycji za pomocą narzędzia do przecinania?" +"Czy wiesz, że możesz ciąć model pod dowolnym kątem i w dowolnej pozycji za " +"pomocą narzędzia do przecinania?" #: resources/data/hints.ini: [hint:Fix Model] msgid "" "Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing problems on the Windows system?" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " +"problems on the Windows system?" msgstr "" "Napraw model\n" -"Czy wiesz, że możesz naprawić uszkodzony model 3D, aby uniknąć wielu problemów z krojeniem w systemie Windows?" +"Czy wiesz, że możesz naprawić uszkodzony model 3D, aby uniknąć wielu " +"problemów z krojeniem w systemie Windows?" #: resources/data/hints.ini: [hint:Timelapse] msgid "" @@ -13141,153 +16345,209 @@ msgid "" "Did you know that you can auto-arrange all objects in your project?" msgstr "" "Automatyczne rozmieszczanie\n" -"Czy wiesz, że możesz automatycznie rozmieścić wszystkie obiekty w swoim projekcie?" +"Czy wiesz, że możesz automatycznie rozmieścić wszystkie obiekty w swoim " +"projekcie?" #: resources/data/hints.ini: [hint:Auto-Orient] msgid "" "Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for printing by a simple click?" +"Did you know that you can rotate objects to an optimal orientation for " +"printing by a simple click?" msgstr "" "Automatyczna orientacja\n" -"Czy wiesz, że możesz obracać obiekty do optymalnej orientacji do druku za pomocą jednego kliknięcia?" +"Czy wiesz, że możesz obracać obiekty do optymalnej orientacji do druku za " +"pomocą jednego kliknięcia?" #: resources/data/hints.ini: [hint:Lay on Face] msgid "" "Lay on Face\n" -"Did 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." +"Did 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 "" "Połóż na powierzchni\n" -"Czy wiesz, że możesz szybko ułożyć model tak, aby Czy wiesz, że możesz szybko ustawić model tak, aby jedna z jego ścian znajdowała się na stole roboczym? Wybierz funkcję „Umieść na powierzchni” lub naciśnij F." +"Czy wiesz, że możesz szybko ułożyć model tak, aby Czy wiesz, że możesz " +"szybko ustawić model tak, aby jedna z jego ścian znajdowała się na stole " +"roboczym? Wybierz funkcję „Umieść na powierzchni” lub naciśnij F." #: resources/data/hints.ini: [hint:Object List] msgid "" "Object List\n" -"Did you know that you can view all objects/parts in a list and change settings for each object/part?" +"Did you know that you can view all objects/parts in a list and change " +"settings for each object/part?" msgstr "" "Lista obiektów\n" -"Czy wiesz, że możesz wyświetlać wszystkie obiekty/części na liście i zmieniać ustawienia dla każdego obiektu/części?" +"Czy wiesz, że możesz wyświetlać wszystkie obiekty/części na liście i " +"zmieniać ustawienia dla każdego obiektu/części?" #: resources/data/hints.ini: [hint:Search Functionality] msgid "" "Search Functionality\n" -"Did you know that you use the Search tool to quickly find a specific Orca Slicer setting?" +"Did you know that you use the Search tool to quickly find a specific Orca " +"Slicer setting?" msgstr "" "Funkcja wyszukiwania\n" -"Czy wiesz, że możesz użyć narzędzia wyszukiwania, aby szybko znaleźć konkretne ustawienie Orca Slicer?" +"Czy wiesz, że możesz użyć narzędzia wyszukiwania, aby szybko znaleźć " +"konkretne ustawienie Orca Slicer?" #: resources/data/hints.ini: [hint:Simplify Model] msgid "" "Simplify Model\n" -"Did 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." +"Did 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 "" "Uprość model\n" -"Czy wiesz, że możesz zmniejszyć liczbę trójkątów w siatce za pomocą funkcji upraszczania siatki? Kliknij prawym przyciskiem myszy model i wybierz opcję Uprość model." +"Czy wiesz, że możesz zmniejszyć liczbę trójkątów w siatce za pomocą funkcji " +"upraszczania siatki? Kliknij prawym przyciskiem myszy model i wybierz opcję " +"Uprość model." #: resources/data/hints.ini: [hint:Slicing Parameter Table] msgid "" "Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change settings for each object/part?" +"Did you know that you can view all objects/parts on a table and change " +"settings for each object/part?" msgstr "" "Tabela Parametrów Cięcia\n" -"Czy wiesz, że możesz wyświetlić wszystkie obiekty/części na tabeli i zmieniać ustawienia dla każdego obiektu/części?" +"Czy wiesz, że możesz wyświetlić wszystkie obiekty/części na tabeli i " +"zmieniać ustawienia dla każdego obiektu/części?" #: resources/data/hints.ini: [hint:Split to Objects/Parts] msgid "" "Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy colorizing or printing?" +"Did you know that you can split a big object into small ones for easy " +"colorizing or printing?" msgstr "" "Podziel na obiekty/części\n" -"Czy wiesz, że możesz podzielić duży obiekt na mniejsze, aby łatwiej je kolorować lub drukować?" +"Czy wiesz, że możesz podzielić duży obiekt na mniejsze, aby łatwiej je " +"kolorować lub drukować?" #: resources/data/hints.ini: [hint:Subtract a Part] msgid "" "Subtract a Part\n" -"Did 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." +"Did 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 "" "Odejmowanie części\n" -"Czy wiesz, że możesz odjąć jedną siatkę od drugiej, używając modyfikatora części negatywnej? W ten sposób możesz na przykład łatwo tworzyć otwory o zmiennym rozmiarze bezpośrednio w Orca Slicer." +"Czy wiesz, że możesz odjąć jedną siatkę od drugiej, używając modyfikatora " +"części negatywnej? W ten sposób możesz na przykład łatwo tworzyć otwory o " +"zmiennym rozmiarze bezpośrednio w Orca Slicer." #: resources/data/hints.ini: [hint:STEP] msgid "" "STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a lower resolution STL. Give it a try!" +"Did you know that you can improve your print quality by slicing a STEP file " +"instead of an STL?\n" +"Orca Slicer supports slicing STEP files, providing smoother results than a " +"lower resolution STL. Give it a try!" msgstr "" "STEP\n" -"Czy wiesz, że możesz poprawić jakość swojego druku, krojąc plik STEP zamiast STL?\n" -"Orca Slicer wspiera krojenie plików STEP, oferując lepszą jakość niż STL o niższej rozdzielczości. Wypróbuj to!" +"Czy wiesz, że możesz poprawić jakość swojego druku, krojąc plik STEP zamiast " +"STL?\n" +"Orca Slicer wspiera krojenie plików STEP, oferując lepszą jakość niż STL o " +"niższej rozdzielczości. Wypróbuj to!" #: resources/data/hints.ini: [hint:Z seam location] msgid "" "Z seam location\n" -"Did 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!" +"Did 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 "" "Lokalizacja szwu Z\n" -"Czy wiesz, że możesz dostosować lokalizację szwu Z, a nawet namalować go na swoim wydruku, aby był w mniej widocznej lokalizacji? Poprawia to ogólny wygląd twojego modelu. Sprawdź to!" +"Czy wiesz, że możesz dostosować lokalizację szwu Z, a nawet namalować go na " +"swoim wydruku, aby był w mniej widocznej lokalizacji? Poprawia to ogólny " +"wygląd twojego modelu. Sprawdź to!" #: resources/data/hints.ini: [hint:Fine-tuning for flow rate] msgid "" "Fine-tuning for flow rate\n" -"Did 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." +"Did 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 "" "Dopasowanie prędkości przepływu\n" -"Czy wiesz, że prędkość przepływu może być dopasowana dla jeszcze lepszego wyglądu wydruków? W zależności od filamentu, możesz poprawić ogólne wykończenie wydrukowanego modelu poprzez dokonanie kilku drobnych regulacji." +"Czy wiesz, że prędkość przepływu może być dopasowana dla jeszcze lepszego " +"wyglądu wydruków? W zależności od filamentu, możesz poprawić ogólne " +"wykończenie wydrukowanego modelu poprzez dokonanie kilku drobnych regulacji." #: resources/data/hints.ini: [hint:Split your prints into plates] msgid "" "Split your prints into plates\n" -"Did 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." +"Did 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 "" "Podziel swoje wydruki na płyty\n" -"Czy wiesz, że możesz podzielić model, który ma wiele części, na indywidualne płyty gotowe do druku? Ułatwi to proces śledzenia wszystkich części." +"Czy wiesz, że możesz podzielić model, który ma wiele części, na indywidualne " +"płyty gotowe do druku? Ułatwi to proces śledzenia wszystkich części." -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer Height] +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer +#: Height] msgid "" "Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive Layer Height option? Check it out!" +"Did you know that you can print a model even faster, by using the Adaptive " +"Layer Height option? Check it out!" msgstr "" "Przyspiesz swój wydruk z adaptacyjną wysokością warstwy\n" -"Czy wiesz, że możesz wydrukować model jeszcze szybciej, używając opcji adaptacyjnej wysokości warstwy? Sprawdź to!" +"Czy wiesz, że możesz wydrukować model jeszcze szybciej, używając opcji " +"adaptacyjnej wysokości warstwy? Sprawdź to!" #: resources/data/hints.ini: [hint:Support painting] msgid "" "Support painting\n" -"Did 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." +"Did 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 "" "Namaluj Podpory\n" -"Czy wiesz, że możesz malować lokalizację swoich podpór? Ta funkcja ułatwia umieszczenie filamentu podporowego tylko w tych sekcjach modelu, które go faktycznie potrzebują." +"Czy wiesz, że możesz malować lokalizację swoich podpór? Ta funkcja ułatwia " +"umieszczenie filamentu podporowego tylko w tych sekcjach modelu, które go " +"faktycznie potrzebują." #: resources/data/hints.ini: [hint:Different types of supports] msgid "" "Different types of supports\n" -"Did 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!" +"Did 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 "" "Różne rodzaje podpór\n" -"Czy wiesz, że możesz wybierać spośród wielu rodzajów podpór? Podpory drzewiaste świetnie sprawdzają się w modelach organicznych, jednocześnie oszczędzając filament i poprawiając prędkość druku. Sprawdź je!" +"Czy wiesz, że możesz wybierać spośród wielu rodzajów podpór? Podpory " +"drzewiaste świetnie sprawdzają się w modelach organicznych, jednocześnie " +"oszczędzając filament i poprawiając prędkość druku. Sprawdź je!" #: resources/data/hints.ini: [hint:Printing Silk Filament] msgid "" "Printing Silk Filament\n" -"Did you know that Silk filament needs special consideration to print it successfully? Higher temperature and lower speed are always recommended for the best results." +"Did 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 "" "Drukowanie filamentem jedwabnym (Slik)\n" -"Czy wiesz, że filament jedwabny wymaga szczególnej uwagi, aby go skutecznie wydrukować? Zalecana jest zawsze wyższa temperatura i niższa prędkość, aby osiągnąć najlepsze rezultaty." +"Czy wiesz, że filament jedwabny wymaga szczególnej uwagi, aby go skutecznie " +"wydrukować? Zalecana jest zawsze wyższa temperatura i niższa prędkość, aby " +"osiągnąć najlepsze rezultaty." #: resources/data/hints.ini: [hint:Brim for better adhesion] msgid "" "Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with the printing surface, it's recommended to use a brim?" +"Did you know that when printing models have a small contact interface with " +"the printing surface, it's recommended to use a brim?" msgstr "" "Brim dla lepszej przyczepności\n" -"Czy wiesz, że przy drukowaniu modeli o małej powierzchni styku z powierzchnią druku, zaleca się użycie brimu?" +"Czy wiesz, że przy drukowaniu modeli o małej powierzchni styku z " +"powierzchnią druku, zaleca się użycie brimu?" #: resources/data/hints.ini: [hint:Set parameters for multiple objects] msgid "" "Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at one time?" +"Did you know that you can set slicing parameters for all selected objects at " +"one time?" msgstr "" "Ustawianie parametrów dla wielu obiektów\n" -"Czy wiesz, że możesz ustawić parametry cięcia dla wszystkich wybranych obiektów jednocześnie?" +"Czy wiesz, że możesz ustawić parametry cięcia dla wszystkich wybranych " +"obiektów jednocześnie?" #: resources/data/hints.ini: [hint:Stack objects] msgid "" @@ -13300,34 +16560,77 @@ msgstr "" #: resources/data/hints.ini: [hint:Flush into support/objects/infill] msgid "" "Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?" +"Did you know that you can save the wasted filament by flushing them into " +"support/objects/infill during filament change?" msgstr "" "Czyszczenie do podpór/obiektów/wypełnienia\n" -"Czy wiesz, że możesz zaoszczędzić marnowany filament, przepłukując go do podpór/obiektów/wypełnienia podczas zmiany filamentu?" +"Czy wiesz, że możesz zaoszczędzić marnowany filament, przepłukując go do " +"podpór/obiektów/wypełnienia podczas zmiany filamentu?" #: resources/data/hints.ini: [hint:Improve strength] msgid "" "Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill density to improve the strength of the model?" +"Did you know that you can use more wall loops and higher sparse infill " +"density to improve the strength of the model?" msgstr "" "Zwiększanie wytrzymałości\n" -"Czy wiesz, że możesz użyć więcej pętli ścian i większej gęstości wypełnienia, aby zwiększyć wytrzymałość modelu?" +"Czy wiesz, że możesz użyć więcej pętli ścian i większej gęstości " +"wypełnienia, aby zwiększyć wytrzymałość modelu?" -#: resources/data/hints.ini: [hint:When need to print with the printer door opened] +#: resources/data/hints.ini: [hint:When need to print with the printer door +#: opened] msgid "" "When need to print with the printer door opened\n" -"Did 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." +"Did 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 "" "Kiedy należy drukować przy otwartych drzwiach drukarki? \n" -"Czy wiesz, że otwarcie drzwiczek drukarki może zmniejszyć prawdopodobieństwo zatkania ekstrudera/hotendu podczas drukowania filamentem o niższej temperaturze gdy temperatura obudowy jest wyższa? Więcej informacji na ten temat znajdziesz na Wiki." +"Czy wiesz, że otwarcie drzwiczek drukarki może zmniejszyć prawdopodobieństwo " +"zatkania ekstrudera/hotendu podczas drukowania filamentem o niższej " +"temperaturze gdy temperatura obudowy jest wyższa? Więcej informacji na ten " +"temat znajdziesz na Wiki." #: resources/data/hints.ini: [hint:Avoid warping] msgid "" "Avoid warping\n" -"Did 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." +"Did 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 "" "Unikaj odkształceń\n" -"Czy wiesz, że podczas drukowania filamentami podatnymi na odkształcenia, takimi jak ABS, odpowiednie zwiększenie temperatury podgrzewanej płyty może zmniejszyć prawdopodobieństwo odkształceń." +"Czy wiesz, że podczas drukowania filamentami podatnymi na odkształcenia, " +"takimi jak ABS, odpowiednie zwiększenie temperatury podgrzewanej płyty może " +"zmniejszyć prawdopodobieństwo odkształceń." + +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "Orca Slicer opiera się na BambuStudio od Bambulab, które wywodzi się z " +#~ "PrusaSlicer od Prusa Research. PrusaSlicer z kolei bazuje na Slic3r od " +#~ "Alessandro Ranellucci i społeczności RepRap" + +#~ msgid "Export &Configs" +#~ msgstr "Eksportuj &konfiguracje" + +#~ msgid "" +#~ "Over 4 systems/handy are using remote access, you can close some and try " +#~ "again." +#~ msgstr "" +#~ "Więcej niż 4 aplikacje Studio/Handy korzystają z dostępu zdalnego, możesz " +#~ "zamknąć kilka z nich i spróbować ponownie." + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Włącz tę opcję, aby uzyskać plik G-code zawierający ruchy G2 i G3. " +#~ "Tolerancja dopasowania jest taka sama jak rozdzielczość" + +#~ msgid "Export Configs" +#~ msgstr "Eksportuj konfiguracje" #~ msgid "Actions For Unsaved Changes" #~ msgstr "Działania dotyczące niezapisanych zmian" @@ -13356,21 +16659,29 @@ msgstr "" #~ msgid "" #~ "\n" -#~ "Would you like to keep these changed settings(modified value) after switching preset?" +#~ "Would you like to keep these changed settings(modified value) after " +#~ "switching preset?" #~ msgstr "" #~ "\n" #~ "\n" -#~ "Czy chciałbyś zachować te zmienione ustawienia (zmodyfikowaną wartość) po przełączeniu profilu?" +#~ "Czy chciałbyś zachować te zmienione ustawienia (zmodyfikowaną wartość) po " +#~ "przełączeniu profilu?" -#~ msgid "You have previously modified your settings and are about to overwrite them with new ones." -#~ msgstr "Wcześniej zmodyfikowałeś swoje ustawienia i masz zamiar nadpisać je nowymi." +#~ msgid "" +#~ "You have previously modified your settings and are about to overwrite " +#~ "them with new ones." +#~ msgstr "" +#~ "Wcześniej zmodyfikowałeś swoje ustawienia i masz zamiar nadpisać je " +#~ "nowymi." #~ msgid "" #~ "\n" -#~ "Do you want to keep your current modified settings, or use preset settings?" +#~ "Do you want to keep your current modified settings, or use preset " +#~ "settings?" #~ msgstr "" #~ "\n" -#~ "Czy chcesz zachować obecnie zmienione ustawienia, czy może chcesz użyć ustawień domyślnych?" +#~ "Czy chcesz zachować obecnie zmienione ustawienia, czy może chcesz użyć " +#~ "ustawień domyślnych?" #~ msgid "" #~ "\n" @@ -13383,7 +16694,8 @@ msgstr "" #~ msgstr "Wyładuj" #~ msgid "A problem occured during calibration. Click to view the solution." -#~ msgstr "Wystąpił problem podczas kalibracji. Kliknij, aby zobaczyć rozwiązanie." +#~ msgstr "" +#~ "Wystąpił problem podczas kalibracji. Kliknij, aby zobaczyć rozwiązanie." #~ msgid "MC" #~ msgstr "MC (Płytka główna)" @@ -13418,20 +16730,42 @@ msgstr "" #~ msgid "Cabin humidity" #~ msgstr "Wilgotność w kabinie" -#~ msgid "Green means that AMS humidity is normal, orange represent humidity is high, red represent humidity is too high.(Hygrometer: lower the better.)" -#~ msgstr "Zielony kolor oznacza, że wilgotność w AMS jest normalna, pomarańczowy oznacza wysoką wilgotność, czerwony oznacza zbyt wysoką wilgotność. (Higrometr: im niższa, tym lepiej.)" +#~ msgid "" +#~ "Green means that AMS humidity is normal, orange represent humidity is " +#~ "high, red represent humidity is too high.(Hygrometer: lower the better.)" +#~ msgstr "" +#~ "Zielony kolor oznacza, że wilgotność w AMS jest normalna, pomarańczowy " +#~ "oznacza wysoką wilgotność, czerwony oznacza zbyt wysoką wilgotność. " +#~ "(Higrometr: im niższa, tym lepiej.)" #~ msgid "Desiccant status" #~ msgstr "Stan wilgotności" -#~ msgid "A desiccant status lower than two bars indicates that desiccant may be inactive. Please change the desiccant.(The bars: higher the better.)" -#~ msgstr "Stan wilgotności poniżej dwóch kresek oznacza, że sorbent może być nieaktywny. Proszę wymień sorbent. (Im więcej kresek, tym lepiej.)" +#~ msgid "" +#~ "A desiccant status lower than two bars indicates that desiccant may be " +#~ "inactive. Please change the desiccant.(The bars: higher the better.)" +#~ msgstr "" +#~ "Stan wilgotności poniżej dwóch kresek oznacza, że sorbent może być " +#~ "nieaktywny. Proszę wymień sorbent. (Im więcej kresek, tym lepiej.)" -#~ msgid "Note: When the lid is open or the desiccant pack is changed, it can take hours or a night to absorb the moisture. Low temperatures also slow down the process. During this time, the indicator may not represent the chamber accurately." -#~ msgstr "Uwaga: gdy pokrywa jest otwarta lub zmieniono pakiet sorbentu, może potrwać kilka godzin lub noc, aby wchłonąć wilgoć. Niska temperatura również spowalnia proces. W tym czasie wskaźnik może nie dokładnie odzwierciedlać stan komory." +#~ msgid "" +#~ "Note: When the lid is open or the desiccant pack is changed, it can take " +#~ "hours or a night to absorb the moisture. Low temperatures also slow down " +#~ "the process. During this time, the indicator may not represent the " +#~ "chamber accurately." +#~ msgstr "" +#~ "Uwaga: gdy pokrywa jest otwarta lub zmieniono pakiet sorbentu, może " +#~ "potrwać kilka godzin lub noc, aby wchłonąć wilgoć. Niska temperatura " +#~ "również spowalnia proces. W tym czasie wskaźnik może nie dokładnie " +#~ "odzwierciedlać stan komory." -#~ msgid "Note: if new filament is inserted during printing, the AMS will not automatically read any information until printing is completed." -#~ msgstr "Uwaga: jeśli podczas drukowania włożony zostanie nowy filament, AMS nie będzie automatycznie odczytywać żadnych informacji do zakończenia drukowania." +#~ msgid "" +#~ "Note: if new filament is inserted during printing, the AMS will not " +#~ "automatically read any information until printing is completed." +#~ msgstr "" +#~ "Uwaga: jeśli podczas drukowania włożony zostanie nowy filament, AMS nie " +#~ "będzie automatycznie odczytywać żadnych informacji do zakończenia " +#~ "drukowania." #, boost-format #~ msgid "Succeed to export G-code to %1%" @@ -13443,17 +16777,22 @@ msgstr "" #~ msgid "Initialize failed (No Camera Device)!" #~ msgstr "Inicjalizacja nie powiodła się (Brak urządzenia kamery)!" -#~ msgid "Printer is busy downloading, Please wait for the downloading to finish." -#~ msgstr "Drukarka jest zajęta pobieraniem. Proszę czekać, aż pobieranie zostanie zakończone." +#~ msgid "" +#~ "Printer is busy downloading, Please wait for the downloading to finish." +#~ msgstr "" +#~ "Drukarka jest zajęta pobieraniem. Proszę czekać, aż pobieranie zostanie " +#~ "zakończone." #~ msgid "Initialize failed (Not supported on the current printer version)!" -#~ msgstr "Inicjalizacja nie powiodła się (Nieobsługiwane w obecnej wersji drukarki)!" +#~ msgstr "" +#~ "Inicjalizacja nie powiodła się (Nieobsługiwane w obecnej wersji drukarki)!" #~ msgid "Initialize failed (Not accessible in LAN-only mode)!" #~ msgstr "Inicjalizacja nie powiodła się (Niedostępne w trybie tylko LAN)!" #~ msgid "Initialize failed (Missing LAN ip of printer)!" -#~ msgstr "Inicjalizacja nie powiodła się (Brak adresu IP drukarki w sieci LAN)!" +#~ msgstr "" +#~ "Inicjalizacja nie powiodła się (Brak adresu IP drukarki w sieci LAN)!" #, c-format, boost-format #~ msgid "Stopped [%d]!" @@ -13483,33 +16822,46 @@ msgstr "" #~ msgid "File not exists." #~ msgstr "Plik nie istnieje." -#~ msgid "Unable to perform boolean operation on model meshes. Only positive parts will be exported." -#~ msgstr "Nie można wykonywać operacji boolowskich na siatkach modeli. Eksportowane będą tylko części dodatnie." +#~ msgid "" +#~ "Unable to perform boolean operation on model meshes. Only positive parts " +#~ "will be exported." +#~ msgstr "" +#~ "Nie można wykonywać operacji boolowskich na siatkach modeli. Eksportowane " +#~ "będą tylko części dodatnie." #, boost-format #~ msgid "" #~ "You have changed some settings of preset \"%1%\". \n" -#~ "Would you like to keep these changed settings (new value) after switching preset?" +#~ "Would you like to keep these changed settings (new value) after switching " +#~ "preset?" #~ msgstr "" #~ "Zmieniłeś niektóre ustawienia profilu \"%1%\". \n" -#~ "Czy chciałbyś zachować te zmienione ustawienia (nowa wartość) po zmianie profilu?" +#~ "Czy chciałbyś zachować te zmienione ustawienia (nowa wartość) po zmianie " +#~ "profilu?" #~ msgid "" #~ "You have changed some preset settings. \n" -#~ "Would you like to keep these changed settings (new value) after switching preset?" +#~ "Would you like to keep these changed settings (new value) after switching " +#~ "preset?" #~ msgstr "" #~ "Zmieniłeś niektóre ustawienia profilu. \n" -#~ "Czy chciałbyś zachować te zmienione ustawienia (nowa wartość) po zmianie profilu?" +#~ "Czy chciałbyś zachować te zmienione ustawienia (nowa wartość) po zmianie " +#~ "profilu?" #~ msgid " ℃" #~ 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 have a significant impact on printing quality. Please set them carefully." +#~ "Please note that nozzle temperature, hot bed temperature, and maximum " +#~ "volumetric speed have a significant impact on printing quality. Please " +#~ "set them carefully." #~ msgstr "" -#~ "Jeśli zajdzie taka potrzeba, proszę przejść do ustawień filamentu, aby edytować swoje zmiany.\n" -#~ "Zwróć uwagę, że temperatura dyszy, temperatura podgrzewanego stołu oraz maksymalna prędkość przepływu mają znaczący wpływ na jakość druku 3D. Proszę ustawić je z rozwagą." +#~ "Jeśli zajdzie taka potrzeba, proszę przejść do ustawień filamentu, aby " +#~ "edytować swoje zmiany.\n" +#~ "Zwróć uwagę, że temperatura dyszy, temperatura podgrzewanego stołu oraz " +#~ "maksymalna prędkość przepływu mają znaczący wpływ na jakość druku 3D. " +#~ "Proszę ustawić je z rozwagą." #~ msgid "Timeout when authenticating with the account server." #~ msgstr "Przekroczono limit czasu serwera podczas uwierzytelniania." @@ -13519,7 +16871,8 @@ msgstr "" #~ "Did you know that OrcaSlicer can support Air filtration/Exhuast Fan?" #~ msgstr "" #~ "Filtracja powietrza/Wentylator wyciągowy\n" -#~ "Czy wiesz, że OrcaSlicer może obsługiwać filtrację powietrza/wentylator wyciągowy?" +#~ "Czy wiesz, że OrcaSlicer może obsługiwać filtrację powietrza/wentylator " +#~ "wyciągowy?" #~ msgid "Studio Version:" #~ msgstr "Wersja Studio:" @@ -13564,19 +16917,29 @@ msgstr "" #~ msgstr "Test załadunku przechowywania" #~ msgid "" -#~ "The speed setting exceeds the printer's maximum speed (machine_max_speed_x/machine_max_speed_y).\n" -#~ "Orca will automatically cap the print speed to ensure it doesn't surpass the printer's capabilities.\n" -#~ "You can adjust the maximum speed setting in your printer's configuration to get higher speeds." +#~ "The speed setting exceeds the printer's maximum speed " +#~ "(machine_max_speed_x/machine_max_speed_y).\n" +#~ "Orca will automatically cap the print speed to ensure it doesn't surpass " +#~ "the printer's capabilities.\n" +#~ "You can adjust the maximum speed setting in your printer's configuration " +#~ "to get higher speeds." #~ msgstr "" -#~ "Ustawienie prędkości przekracza maksymalną prędkość drukarki (machine_max_speed_x/machine_max_speed_y).\n" -#~ "Orca automatycznie ograniczy prędkość druku, aby nie przekroczyć zdolności drukarki.\n" -#~ "Możesz dostosować ustawienie maksymalnej prędkości w konfiguracji swojej drukarki, aby uzyskać wyższe prędkości." +#~ "Ustawienie prędkości przekracza maksymalną prędkość drukarki " +#~ "(machine_max_speed_x/machine_max_speed_y).\n" +#~ "Orca automatycznie ograniczy prędkość druku, aby nie przekroczyć " +#~ "zdolności drukarki.\n" +#~ "Możesz dostosować ustawienie maksymalnej prędkości w konfiguracji swojej " +#~ "drukarki, aby uzyskać wyższe prędkości." #~ msgid "Choose ZIP file" #~ msgstr "Wybierz plik ZIP" -#~ msgid "Could not start URL download. Destination folder is not set. Please choose destination folder in Configuration Wizard." -#~ msgstr "Nie można rozpocząć pobierania pliku z adresu URL. Folder docelowy nie jest ustawiony. Proszę wybrać folder docelowy w Kreatorze Konfiguracji" +#~ msgid "" +#~ "Could not start URL download. Destination folder is not set. Please " +#~ "choose destination folder in Configuration Wizard." +#~ msgstr "" +#~ "Nie można rozpocząć pobierania pliku z adresu URL. Folder docelowy nie " +#~ "jest ustawiony. Proszę wybrać folder docelowy w Kreatorze Konfiguracji" #~ msgid "Import Zip Archive" #~ msgstr "Importuj archiwum ZIP" @@ -13594,46 +16957,68 @@ msgstr "" #, boost-format #~ msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." -#~ msgstr "Nie udało się znaleźć rozpakowanego pliku pod adresem %1%. Rozpakowywanie pliku nie powiodło się." +#~ msgstr "" +#~ "Nie udało się znaleźć rozpakowanego pliku pod adresem %1%. Rozpakowywanie " +#~ "pliku nie powiodło się." #~ msgid "Allow downloads from Printables.com" #~ msgstr "Zezwól na pobieranie modeli z Printables.com" #~ msgid "" #~ "When using scarf joint, we recommend the following settings:\n" -#~ "print outer wall first, disable wipe before external loop, reduce outer wall speed to no greater than 50mm/s, and don't use random or nearest seam position" +#~ "print outer wall first, disable wipe before external loop, reduce outer " +#~ "wall speed to no greater than 50mm/s, and don't use random or nearest " +#~ "seam position" #~ msgstr "" #~ "Przy korzystaniu ze szwu szalikowego zalecamy następujące ustawienia: \n" -#~ "drukuj zewnętrzną ściane jako pierwszą, wyłączenie czyszczenia przed zewnętrzną pętlą, ograniczenie prędkości zewnętrznej ściany do maksymalnie 50 mm/s oraz unikanie stosowania pozycji szwu \"losowo\" lub \"najbliższy\"." +#~ "drukuj zewnętrzną ściane jako pierwszą, wyłączenie czyszczenia przed " +#~ "zewnętrzną pętlą, ograniczenie prędkości zewnętrznej ściany do " +#~ "maksymalnie 50 mm/s oraz unikanie stosowania pozycji szwu \"losowo\" lub " +#~ "\"najbliższy\"." -#~ msgid "Add solid infill near sloping surfaces to guarantee the vertical shell thickness (top+bottom solid layers)" -#~ msgstr "Dodaj pełne wypełnienie w pobliżu nachylonych powierzchni, aby zagwarantować pionową grubość powłoki (górne+ dolne pełne warstwy)" +#~ msgid "" +#~ "Add solid infill near sloping surfaces to guarantee the vertical shell " +#~ "thickness (top+bottom solid layers)" +#~ msgstr "" +#~ "Dodaj pełne wypełnienie w pobliżu nachylonych powierzchni, aby " +#~ "zagwarantować pionową grubość powłoki (górne+ dolne pełne warstwy)" #~ msgid "Further reduce solid infill on walls (beta)" #~ msgstr "Dodatkowe zmniejszenie gęstości wypełnienia na obwodzie (beta)" #~ msgid "" -#~ "Further reduces any solid infill applied to walls. As there will be very limited infill supporting solid surfaces, make sure that you are using adequate number of walls to support the part on sloping surfaces.\n" +#~ "Further reduces any solid infill applied to walls. As there will be very " +#~ "limited infill supporting solid surfaces, make sure that you are using " +#~ "adequate number of walls to support the part on sloping surfaces.\n" #~ "\n" -#~ "For heavily sloped surfaces this option is not suitable as it will generate too thin of a top layer and should be disabled." +#~ "For heavily sloped surfaces this option is not suitable as it will " +#~ "generate too thin of a top layer and should be disabled." #~ msgstr "" #~ "Dodatkowo redukuje ilość stałego wypełnienia aplikowanego na ściany. \n" #~ "\n" -#~ "Ponieważ ilość wypełnienia podpory powierzchni stałych będzie bardzo ograniczona, upewnij się, że używasz odpowiedniej liczby ścian do podparcia części na nachylonych powierzchniach." +#~ "Ponieważ ilość wypełnienia podpory powierzchni stałych będzie bardzo " +#~ "ograniczona, upewnij się, że używasz odpowiedniej liczby ścian do " +#~ "podparcia części na nachylonych powierzchniach." #~ msgid "Scarf joint seam" #~ msgstr "Szew szalikowy (beta)" #~ 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.05mm." +#~ "This amount can be specified in millimeters or as a percentage of the " +#~ "current layer height. The default value for this parameter is 0.05mm." #~ msgstr "" #~ "Początkowa wysokość szwu szalikowego.\n" #~ "\n" -#~ "Ta wartość może być określona w milimetrach lub jako procent bieżącej wysokości warstwy. Domyślna wartość tego parametru to 0,05 mm." +#~ "Ta wartość może być określona w milimetrach lub jako procent bieżącej " +#~ "wysokości warstwy. Domyślna wartość tego parametru to 0,05 mm." -#~ msgid "Speed of exhuast fan during printing.This speed will overwrite the speed in filament custom gcode" -#~ msgstr "Prędkość wentylatora wyciągowego podczas druku. Ta prędkość zastąpi prędkość w niestandardowym gcode filamentu" +#~ msgid "" +#~ "Speed of exhuast fan during printing.This speed will overwrite the speed " +#~ "in filament custom gcode" +#~ msgstr "" +#~ "Prędkość wentylatora wyciągowego podczas druku. Ta prędkość zastąpi " +#~ "prędkość w niestandardowym gcode filamentu" #~ msgid "Speed of exhuast fan after printing completes" #~ msgstr "Prędkość wentylatora wyciągowego po zakończeniu druku" @@ -13695,14 +17080,22 @@ msgstr "" #~ msgstr "Witam" #, c-format, boost-format -#~ msgid "Hello, welcome to %s! This %s helps you with the initial configuration; just a few settings and you will be ready to print." -#~ msgstr "Witaj w %s! Ten %s pomoże Ci z konfiguracją początkową - wszystko będzie gotowe do drukowania po zaledwie kilku kliknięciach" +#~ msgid "" +#~ "Hello, welcome to %s! This %s helps you with the initial configuration; " +#~ "just a few settings and you will be ready to print." +#~ msgstr "" +#~ "Witaj w %s! Ten %s pomoże Ci z konfiguracją początkową - wszystko będzie " +#~ "gotowe do drukowania po zaledwie kilku kliknięciach" #~ msgid "Remove user profiles (a snapshot will be taken beforehand)" #~ msgstr "Usuń profile użytkownika (zostanie wykonany zrzut)" -#~ msgid "Perform desktop integration (Sets this binary to be searchable by the system)." -#~ msgstr "Wykonaj integrację z pulpitem (ustawia ten plik binarny tak, aby był możliwy do wyszukania przez system)." +#~ msgid "" +#~ "Perform desktop integration (Sets this binary to be searchable by the " +#~ "system)." +#~ msgstr "" +#~ "Wykonaj integrację z pulpitem (ustawia ten plik binarny tak, aby był " +#~ "możliwy do wyszukania przez system)." #, c-format, boost-format #~ msgid "%s Family" @@ -13721,8 +17114,12 @@ msgstr "" #~ msgstr "(Wszystko)" #, boost-format -#~ msgid "%1% marked with * are not compatible with some installed printers." -#~ msgstr "%1% oznaczone symbolem *niekompatybilne z niektórymi zainstalowanymi drukarkami." +#~ msgid "" +#~ "%1% marked with * are not compatible with some installed " +#~ "printers." +#~ msgstr "" +#~ "%1% oznaczone symbolem *niekompatybilne z niektórymi " +#~ "zainstalowanymi drukarkami." #~ msgid "SLA materials" #~ msgstr "Materiał rozpuszczalny" @@ -13737,11 +17134,19 @@ msgstr "" #~ msgid "SLA material" #~ msgstr "Materiał rozpuszczalny" -#~ msgid "Only the following installed printers are compatible with the selected filaments" -#~ msgstr "Tylko następujące zainstalowane drukarki są kompatybilne z wybranymi filamentami" +#~ msgid "" +#~ "Only the following installed printers are compatible with the selected " +#~ "filaments" +#~ msgstr "" +#~ "Tylko następujące zainstalowane drukarki są kompatybilne z wybranymi " +#~ "filamentami" -#~ msgid "Only the following installed printers are compatible with the selected SLA materials" -#~ msgstr "Tylko następujące zainstalowane drukarki są kompatybilne z wybranymi materiałami SLA" +#~ msgid "" +#~ "Only the following installed printers are compatible with the selected " +#~ "SLA materials" +#~ msgstr "" +#~ "Tylko następujące zainstalowane drukarki są kompatybilne z wybranymi " +#~ "materiałami SLA" #~ msgid "Custom Printer Setup" #~ msgstr "Ustawienie Własnej Drukarki" @@ -13788,8 +17193,12 @@ msgstr "" #~ msgid "Enter the diameter of your filament." #~ msgstr "Wprowadź średnicę filamentu." -#~ msgid "Good precision is required, so use a caliper and do multiple measurements along the filament, then compute the average." -#~ msgstr "Wymagana jest spora precyzja, użyj więc suwmiarki, przeprowadź kilka pomiarów w sporych odstępach od siebie i oblicz średnią." +#~ msgid "" +#~ "Good precision is required, so use a caliper and do multiple measurements " +#~ "along the filament, then compute the average." +#~ msgstr "" +#~ "Wymagana jest spora precyzja, użyj więc suwmiarki, przeprowadź kilka " +#~ "pomiarów w sporych odstępach od siebie i oblicz średnią." #~ msgid "Filament Diameter:" #~ msgstr "Średnica filamentu:" @@ -13801,16 +17210,25 @@ msgstr "" #~ msgstr "Wprowadź temperaturę dyszy potrzebną do ekstruzji filamentu." #~ msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." -#~ msgstr "Generalną zasadą jest 160 do 230 °C dla PLA i 215 do 250 °C dla ABS." +#~ msgstr "" +#~ "Generalną zasadą jest 160 do 230 °C dla PLA i 215 do 250 °C dla ABS." #~ msgid "Extrusion Temperature:" #~ msgstr "Temperatura ekstrudera:" -#~ msgid "Enter the bed temperature needed for getting your filament to stick to your heated bed." -#~ msgstr "Wprowadź temperaturę potrzebną do dobrego przylegania filamentu do powierzchni podgrzewanego stołu." +#~ msgid "" +#~ "Enter the bed temperature needed for getting your filament to stick to " +#~ "your heated bed." +#~ msgstr "" +#~ "Wprowadź temperaturę potrzebną do dobrego przylegania filamentu do " +#~ "powierzchni podgrzewanego stołu." -#~ msgid "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have no heated bed." -#~ msgstr "Generalną zasadą jest 60 °C dla PLA i 110 °C dla ABS. Ustaw zero, jeśli nie masz podgrzewanego stołu." +#~ msgid "" +#~ "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you " +#~ "have no heated bed." +#~ msgstr "" +#~ "Generalną zasadą jest 60 °C dla PLA i 110 °C dla ABS. Ustaw zero, jeśli " +#~ "nie masz podgrzewanego stołu." #~ msgid "Bed Temperature:" #~ msgstr "Temperatura stołu" @@ -13825,17 +17243,26 @@ msgstr "" #~ msgstr "Technologia druku SLA" #, boost-format -#~ msgid "Following printer profiles has no default filament: %1%Please select one manually." -#~ msgstr "Następujące profile druku nie mają domyślnego filamentu: %1% Wybierz jeden ręcznie." +#~ msgid "" +#~ "Following printer profiles has no default filament: %1%Please select one " +#~ "manually." +#~ msgstr "" +#~ "Następujące profile druku nie mają domyślnego filamentu: %1% Wybierz " +#~ "jeden ręcznie." #, boost-format -#~ msgid "Following printer profiles has no default material: %1%Please select one manually." -#~ msgstr "Następujące profile druku nie mają domyślnego materiału: %1% Wybierz jeden ręcznie." +#~ msgid "" +#~ "Following printer profiles has no default material: %1%Please select one " +#~ "manually." +#~ msgstr "" +#~ "Następujące profile druku nie mają domyślnego materiału: %1% Wybierz " +#~ "jeden ręcznie." #~ msgid "The following FFF printer models have no filament selected:" #~ msgstr "Następujące modele drukarek FFF nie mają przypisanych filamentów:" -#~ msgid "Do you want to select default filaments for these FFF printer models?" +#~ msgid "" +#~ "Do you want to select default filaments for these FFF printer models?" #~ msgstr "Czy chcesz ustawić domyślne filamenty dla tych modeli drukarek FFF?" #~ msgid "Configuration is edited in ConfigWizard" @@ -13845,10 +17272,17 @@ msgstr "" #~ msgstr "Wszystkie profile ustawień użytkownika zostaną usunięte." #~ msgid "A new vendor was installed and one of its printers will be activated" -#~ msgid_plural "New vendors were installed and one of theirs printers will be activated" -#~ msgstr[0] "Nowy producent drukarki został dodany i jedna z jego drukarek zostanie aktywowana" -#~ msgstr[1] "Nowych producentów drukarek zostało dodanych i jedna z ich drukarek zostanie aktywowana." -#~ msgstr[2] "Nowych producentów drukarek zostało dodanych i jedna z ich drukarek zostanie aktywowana." +#~ msgid_plural "" +#~ "New vendors were installed and one of theirs printers will be activated" +#~ msgstr[0] "" +#~ "Nowy producent drukarki został dodany i jedna z jego drukarek zostanie " +#~ "aktywowana" +#~ msgstr[1] "" +#~ "Nowych producentów drukarek zostało dodanych i jedna z ich drukarek " +#~ "zostanie aktywowana." +#~ msgstr[2] "" +#~ "Nowych producentów drukarek zostało dodanych i jedna z ich drukarek " +#~ "zostanie aktywowana." #~ msgid "A new Printer was installed and it will be activated." #~ msgstr "Zainstalowano nową drukarkę i zostanie ona aktywowana." @@ -13866,7 +17300,8 @@ msgstr "" #~ msgstr "Niektóre filamenty zostały odinstalowane." #~ msgid "Custom printer was installed and it will be activated." -#~ msgstr "Niestandardowa drukarka została zainstalowana i zostanie aktywowana." +#~ msgstr "" +#~ "Niestandardowa drukarka została zainstalowana i zostanie aktywowana." #~ msgid " Extruder -> Layer height limits, this may cause printing quality issues." -#~ msgstr "Wysokość warstwy przekracza limit w Ustawieniach Drukarki -> Extruder -> Limity wysokości warstwy, co może powodować problemy z jakością druku." +#~ msgid "" +#~ "Layer height exceeds the limit in Printer Settings -> Extruder -> Layer " +#~ "height limits, this may cause printing quality issues." +#~ msgstr "" +#~ "Wysokość warstwy przekracza limit w Ustawieniach Drukarki -> Extruder -> " +#~ "Limity wysokości warstwy, co może powodować problemy z jakością druku." #~ msgid "Delete objects, parts, modifiers " #~ msgstr "Usuń obiekty, części, modyfikatory " -#~ msgid "Connection failed! If your IP and Access Code is correct, please move to step 3 for troubleshooting network issues" -#~ msgstr "Połączenie nieudane! Jeśli twój IP i kod dostępu są poprawne, przejdź do kroku 3, aby rozwiązać problemy z siecią" +#~ msgid "" +#~ "Connection failed! If your IP and Access Code is correct, please move to " +#~ "step 3 for troubleshooting network issues" +#~ msgstr "" +#~ "Połączenie nieudane! Jeśli twój IP i kod dostępu są poprawne, przejdź do " +#~ "kroku 3, aby rozwiązać problemy z siecią" #, c-format -#~ msgid "Force cooling fan to be specific speed when overhang degree of printed part exceeds this value.Expressed as percentage which indicides how much width of the line without support from lower layer. 0% means forcing cooling for all outer wall no matter how much overhang degree" -#~ msgstr "Wymuś pracę wentylatora chłodzącego na określoną prędkość, gdy stopień nawisu drukowanej części przekracza tę wartość. Wyrażone w procentach, co wskazuje, jak duża jest szerokość linii bez podpór z niższej warstwy. 0%% oznacza wymuszanie chłodzenia dla całej zewnętrznej ściany, bez względu na stopień nawisu" +#~ msgid "" +#~ "Force cooling fan to be specific speed when overhang degree of printed " +#~ "part exceeds this value.Expressed as percentage which indicides how much " +#~ "width of the line without support from lower layer. 0% means forcing " +#~ "cooling for all outer wall no matter how much overhang degree" +#~ msgstr "" +#~ "Wymuś pracę wentylatora chłodzącego na określoną prędkość, gdy stopień " +#~ "nawisu drukowanej części przekracza tę wartość. Wyrażone w procentach, co " +#~ "wskazuje, jak duża jest szerokość linii bez podpór z niższej warstwy. 0%% " +#~ "oznacza wymuszanie chłodzenia dla całej zewnętrznej ściany, bez względu " +#~ "na stopień nawisu" #, c-format, 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" +#~ "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 odd layers regardless." #~ msgstr "" -#~ "Ilość mm, jaką musi mieć nawis, aby odwrócenie było uznane za użyteczne. Może być to %% szerokości obryski.\n" -#~ "Wartość 0 umożliwia odwrócenie na każdej nieparzystej warstwie, niezależnie od wszystkiego." +#~ "Ilość mm, jaką musi mieć nawis, aby odwrócenie było uznane za użyteczne. " +#~ "Może być to %% szerokości obryski.\n" +#~ "Wartość 0 umożliwia odwrócenie na każdej nieparzystej warstwie, " +#~ "niezależnie od wszystkiego." -#~ msgid "Smooth Spiral smoothes 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 wygładza również ruchy w osiach X i Y, co skutkuje brakiem widocznych szwów, nawet w kierunkach XY na ścianach, które nie są pionowe" +#~ msgid "" +#~ "Smooth Spiral smoothes 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 wygładza również ruchy w osiach X i Y, co skutkuje brakiem " +#~ "widocznych szwów, nawet w kierunkach XY na ścianach, które nie są pionowe" -#~ 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 "Maksymalna odległość przesuwania punktów w XY, aby osiągnąć gładką spiralę. Jeśli wyrażona w procentach, będzie obliczona na podstawie średnicy dyszy" +#~ 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 "" +#~ "Maksymalna odległość przesuwania punktów w XY, aby osiągnąć gładką " +#~ "spiralę. Jeśli wyrażona w procentach, będzie obliczona na podstawie " +#~ "średnicy dyszy" #, c-format, 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 leway to broaden the detection.\n" +#~ "As cylinders are often exported as triangles of varying size, points may " +#~ "not be on the circle circumference. This setting allows you some leway to " +#~ "broaden the detection.\n" #~ "In mm or in %% of the radius." #~ msgstr "" #~ "Maksymalne odchylenie punktu od szacowanego promienia koła.\n" -#~ "Ponieważ cylindry często eksportowane są jako trójkąty o różnej wielkości, punkty mogą nie znajdować się na obwodzie koła. To ustawienie pozwala na pewną swobodę w poszerzaniu wykrywania.\n" +#~ "Ponieważ cylindry często eksportowane są jako trójkąty o różnej " +#~ "wielkości, punkty mogą nie znajdować się na obwodzie koła. To ustawienie " +#~ "pozwala na pewną swobodę w poszerzaniu wykrywania.\n" #~ "W mm lub w %% promienia." #~ msgid "Certificate files (.crt, .pem)|.crt;.pem|All files|." #~ msgstr "Pliki certyfikatów (.crt, .pem)|.crt;.pem|Wszystkie pliki|." -#~ 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 always enabled on BambuLab printers. Default is checked" -#~ msgstr "Przy użyciu opcji \"label_objects\" zaleca się ekstruzję względną. Niektóre ekstrudery działają lepiej, gdy ta opcja jest odznaczona (tryb ekstruzji absolutnej). Wieża czyszcząca jest kompatybilna tylko z trybem względnym. Jest zawsze włączona w drukarkach BambuLab. Domyślnie zaznaczone" +#~ 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 always " +#~ "enabled on BambuLab printers. Default is checked" +#~ msgstr "" +#~ "Przy użyciu opcji \"label_objects\" zaleca się ekstruzję względną. " +#~ "Niektóre ekstrudery działają lepiej, gdy ta opcja jest odznaczona (tryb " +#~ "ekstruzji absolutnej). Wieża czyszcząca jest kompatybilna tylko z trybem " +#~ "względnym. Jest zawsze włączona w drukarkach BambuLab. Domyślnie " +#~ "zaznaczone" #~ msgid "Error! Unable to create thread!" #~ msgstr "Błąd! Nie można utworzyć wątku!" @@ -14667,22 +18439,34 @@ msgstr "" #~ msgid "Exception" #~ msgstr "Wyjątek" -#~ msgid "Discribe how long the nozzle will move along the last path when retracting" -#~ msgstr "Opisz, jak długo dysza będzie się poruszać wzdłuż ostatniej ścieżki podczas retrakcji" +#~ msgid "" +#~ "Discribe how long the nozzle will move along the last path when retracting" +#~ msgstr "" +#~ "Opisz, jak długo dysza będzie się poruszać wzdłuż ostatniej ścieżki " +#~ "podczas retrakcji" #~ msgid "" #~ "Simplify Model\n" -#~ "Did 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. Read more in the documentation." +#~ "Did 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. Read more in the documentation." #~ msgstr "" #~ "Uprość model\n" -#~ "Czy wiedziałeś, że możesz zmniejszyć liczbę trójkątów w siatce za pomocą funkcji Uprość siatkę? Kliknij prawym przyciskiem myszy na model i wybierz Uprość model. Więcej informacji znajdziesz w dokumentacji." +#~ "Czy wiedziałeś, że możesz zmniejszyć liczbę trójkątów w siatce za pomocą " +#~ "funkcji Uprość siatkę? Kliknij prawym przyciskiem myszy na model i " +#~ "wybierz Uprość model. Więcej informacji znajdziesz w dokumentacji." #~ msgid "" #~ "Subtract a Part\n" -#~ "Did 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. Read more in the documentation." +#~ "Did 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. Read more in the documentation." #~ msgstr "" #~ "Odejmowanie części\n" -#~ "Czy wiedziałeś, że możesz odjąć jedną siatkę od drugiej, używając modyfikatora negatywnej części? W ten sposób na przykład możesz łatwo tworzyć otwory o zmiennej wielkości bezpośrednio w Orca Slicer. Przeczytaj więcej w dokumentacji." +#~ "Czy wiedziałeś, że możesz odjąć jedną siatkę od drugiej, używając " +#~ "modyfikatora negatywnej części? W ten sposób na przykład możesz łatwo " +#~ "tworzyć otwory o zmiennej wielkości bezpośrednio w Orca Slicer. " +#~ "Przeczytaj więcej w dokumentacji." #~ msgid "Filling bed " #~ msgstr "Wypełnianie podłoża " @@ -14701,7 +18485,8 @@ msgstr "" #~ "Nie - automatycznie zresetuj gęstość do domyślnej wartości nie 100%" #~ msgid "Please heat the nozzle to above 170 degree before loading filament." -#~ msgstr "Proszę podgrzać dyszę do ponad 170 stopni przed załadowaniem filamentu." +#~ msgstr "" +#~ "Proszę podgrzać dyszę do ponad 170 stopni przed załadowaniem filamentu." #~ msgid "Show g-code window" #~ msgstr "Pokaż okno G-kodu" @@ -14711,7 +18496,9 @@ msgstr "" #, fuzzy, c-format #~ msgid "Density of internal sparse infill, 100% means solid throughout" -#~ msgstr "Gęstość wewnętrznego rzadkiego wypełnienia, 100% oznacza pełne w całym zakresie" +#~ msgstr "" +#~ "Gęstość wewnętrznego rzadkiego wypełnienia, 100% oznacza pełne w całym " +#~ "zakresie" #~ msgid "Tree support wall loops" #~ msgstr "Pętle ścienne podpory drzewnej" @@ -14739,7 +18526,9 @@ msgstr "" #~ msgstr "Proszę wprowadzić prawidłową wartość (K w zakresie 0~0,5)" #~ msgid "Please input a valid value (K in 0~0.5, N in 0.6~2.0)" -#~ msgstr "Proszę wprowadzić prawidłową wartość (K w zakresie 0~0,5, N w zakresie 0,6~2,0)" +#~ msgstr "" +#~ "Proszę wprowadzić prawidłową wartość (K w zakresie 0~0,5, N w zakresie " +#~ "0,6~2,0)" #~ msgid "Export all objects as STL" #~ msgstr "Eksportuj wszystkie obiekty jako STL" @@ -14753,8 +18542,12 @@ msgstr "" #~ msgid "Add/Remove printers" #~ msgstr "Dodaj/Usuń drukarki" -#~ msgid "When print by object, machines with I3 structure will not generate timelapse videos." -#~ msgstr "Podczas drukowania według obiektu, maszyny ze strukturą I3 nie będą tworzyć filmów poklatkowych." +#~ msgid "" +#~ "When print by object, machines with I3 structure will not generate " +#~ "timelapse videos." +#~ msgstr "" +#~ "Podczas drukowania według obiektu, maszyny ze strukturą I3 nie będą " +#~ "tworzyć filmów poklatkowych." #, c-format, boost-format #~ msgid "%s is not supported by AMS." @@ -14766,14 +18559,21 @@ msgstr "" #~ msgid "Error: IP or Access Code are not correct" #~ msgstr "Błąd: IP lub kod dostępu są niepoprawne" -#~ msgid "Extrude perimeters that have a part over an overhang in the reverse direction on odd layers. This alternating pattern can drastically improve steep overhang." -#~ msgstr "Ekstruduj obwody, które mają część nad występem w przeciwnym kierunku na nieparzystych warstwach. Ten naprzemienny wzór może drastycznie poprawić strome nawisy." +#~ msgid "" +#~ "Extrude perimeters that have a part over an overhang in the reverse " +#~ "direction on odd layers. This alternating pattern can drastically improve " +#~ "steep overhang." +#~ msgstr "" +#~ "Ekstruduj obwody, które mają część nad występem w przeciwnym kierunku na " +#~ "nieparzystych warstwach. Ten naprzemienny wzór może drastycznie poprawić " +#~ "strome nawisy." #~ msgid "Order of inner wall/outer wall/infil" #~ msgstr "Kolejność wewnętrznej ściany/zewnętrznej ściany/wypełnienia" #~ msgid "Print sequence of inner wall, outer wall and infill. " -#~ msgstr "Sekwencja druku wewnętrznej ściany, zewnętrznej ściany i wypełnienia. " +#~ msgstr "" +#~ "Sekwencja druku wewnętrznej ściany, zewnętrznej ściany i wypełnienia. " #~ msgid "inner/outer/infill" #~ msgstr "wewnętrzna/zewnętrzna/wypełnienie" @@ -14834,7 +18634,9 @@ msgstr "" #~ msgstr "Załaduj domyślne filamenty" #~ msgid "Load first filament as default for those not loaded" -#~ msgstr "Załaduj pierwszy filament jako domyślny dla tych, które nie zostały załadowane" +#~ msgstr "" +#~ "Załaduj pierwszy filament jako domyślny dla tych, które nie zostały " +#~ "załadowane" #~ msgid "mtcpp" #~ msgstr "mtcpp" @@ -14918,10 +18720,16 @@ msgstr "" #~ msgstr "Pomiń niektóre obiekty w tym druku" #~ msgid "load uptodate process/machine settings when using uptodate" -#~ msgstr "załaduj aktualne ustawienia procesu/maszyny podczas korzystania z aktualizacji" +#~ msgstr "" +#~ "załaduj aktualne ustawienia procesu/maszyny podczas korzystania z " +#~ "aktualizacji" -#~ msgid "load uptodate process/machine settings from the specified file when using uptodate" -#~ msgstr "załaduj aktualne ustawienia procesu/maszyny z określonego pliku podczas korzystania z aktualizacji" +#~ msgid "" +#~ "load uptodate process/machine settings from the specified file when using " +#~ "uptodate" +#~ msgstr "" +#~ "załaduj aktualne ustawienia procesu/maszyny z określonego pliku podczas " +#~ "korzystania z aktualizacji" #~ msgid "Output directory" #~ msgstr "Katalog wyjściowy" @@ -14932,31 +18740,43 @@ msgstr "" #~ msgid "Debug level" #~ msgstr "Poziom debugowania" -#~ msgid "Sets debug logging level. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" -#~ msgstr "Ustawia poziom logowania debugowania. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" +#~ msgid "" +#~ "Sets debug logging level. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:" +#~ "trace\n" +#~ msgstr "" +#~ "Ustawia poziom logowania debugowania. 0:fatal, 1:error, 2:warning, 3:" +#~ "info, 4:debug, 5:trace\n" #~ msgid "The selected preset: %1% is not found." #~ msgstr "Wybrana przędło: %1% nie została znaleziona." #~ msgid "" #~ "3D Scene Operations\n" -#~ "Did you know how to control view and object/part selection with mouse and touchpanel in the 3D scene?" +#~ "Did you know how to control view and object/part selection with mouse and " +#~ "touchpanel in the 3D scene?" #~ msgstr "" #~ "Operacje w scenie 3D\n" -#~ "Czy wiesz, jak kontrolować widok i wybór obiektów/części za pomocą myszy i panelu dotykowego w scenie 3D?" +#~ "Czy wiesz, jak kontrolować widok i wybór obiektów/części za pomocą myszy " +#~ "i panelu dotykowego w scenie 3D?" #~ msgid "" #~ "Fix Model\n" -#~ "Did you know that you can fix a corrupted 3D model to avoid a lot of slicing problems?" +#~ "Did you know that you can fix a corrupted 3D model to avoid a lot of " +#~ "slicing problems?" #~ msgstr "" #~ "Napraw model\n" -#~ "Czy wiesz, że możesz naprawić uszkodzony model 3D, aby uniknąć wielu problemów z krojeniem?" +#~ "Czy wiesz, że możesz naprawić uszkodzony model 3D, aby uniknąć wielu " +#~ "problemów z krojeniem?" #~ msgid "Embeded" #~ msgstr "Osadzone" -#~ msgid "OrcaSlicer configuration file may be corrupted and is not abled to be parsed.Please delete the file and try again." -#~ msgstr "Plik konfiguracyjny OrcaSlicer może być uszkodzony i nie można go przeanalizować. Proszę usunąć plik i spróbować ponownie." +#~ msgid "" +#~ "OrcaSlicer configuration file may be corrupted and is not abled to be " +#~ "parsed.Please delete the file and try again." +#~ msgstr "" +#~ "Plik konfiguracyjny OrcaSlicer może być uszkodzony i nie można go " +#~ "przeanalizować. Proszę usunąć plik i spróbować ponownie." #~ msgid "Online Models" #~ msgstr "Modele online" @@ -14968,41 +18788,70 @@ msgstr "" #~ msgstr "Minimalna prędkość drukowania przy zwolnieniu do chłodzenia" #~ msgid "" -#~ "There are currently no identical spare consumables available, and automatic replenishment is currently not possible. \n" -#~ "(Currently supporting automatic supply of consumables with the same brand, material type, and color)" +#~ "There are currently no identical spare consumables available, and " +#~ "automatic replenishment is currently not possible. \n" +#~ "(Currently supporting automatic supply of consumables with the same " +#~ "brand, material type, and color)" #~ msgstr "" -#~ "Obecnie nie ma dostępnych identycznych zapasowych materiałów eksploatacyjnych, i automatyczne uzupełnianie nie jest obecnie możliwe. \n" -#~ "(Obecnie obsługiwane jest automatyczne zaopatrzenie w materiały eksploatacyjne tej samej marki, typu materiału i koloru)" +#~ "Obecnie nie ma dostępnych identycznych zapasowych materiałów " +#~ "eksploatacyjnych, i automatyczne uzupełnianie nie jest obecnie możliwe. \n" +#~ "(Obecnie obsługiwane jest automatyczne zaopatrzenie w materiały " +#~ "eksploatacyjne tej samej marki, typu materiału i koloru)" #~ msgid "Invalid nozzle diameter" #~ msgstr "Nieprawidłowa średnica dyszy" -#~ msgid "The bed temperature exceeds filament's vitrification temperature. Please open the front door of printer before printing to avoid nozzle clog." -#~ msgstr "Temperatura łóżka przekracza temperaturę witrifikacji filamentu. Proszę otworzyć przednie drzwi drukarki przed drukowaniem, aby uniknąć zatkania dyszy." +#~ msgid "" +#~ "The bed temperature exceeds filament's vitrification temperature. Please " +#~ "open the front door of printer before printing to avoid nozzle clog." +#~ msgstr "" +#~ "Temperatura łóżka przekracza temperaturę witrifikacji filamentu. Proszę " +#~ "otworzyć przednie drzwi drukarki przed drukowaniem, aby uniknąć zatkania " +#~ "dyszy." #~ msgid "Temperature of vitrificaiton" #~ msgstr "Temperatura witrifikacji" -#~ msgid "Material becomes soft at this temperature. Thus the heatbed cannot be hotter than this tempature" -#~ msgstr "Materiał staje się miękki w tej temperaturze. Dlatego podgrzewane łóżko nie może być gorętsze niż ta temperatura" +#~ msgid "" +#~ "Material becomes soft at this temperature. Thus the heatbed cannot be " +#~ "hotter than this tempature" +#~ msgstr "" +#~ "Materiał staje się miękki w tej temperaturze. Dlatego podgrzewane łóżko " +#~ "nie może być gorętsze niż ta temperatura" #~ msgid "Enable this option if machine has auxiliary part cooling fan" -#~ msgstr "Włącz tę opcję, jeśli maszyna ma dodatkowy wentylator chłodzenia części" +#~ msgstr "" +#~ "Włącz tę opcję, jeśli maszyna ma dodatkowy wentylator chłodzenia części" -#~ msgid "This option is enabled if machine support controlling chamber temperature" -#~ msgstr "Ta opcja jest włączona, jeśli maszyna obsługuje kontrolę temperatury komory" +#~ msgid "" +#~ "This option is enabled if machine support controlling chamber temperature" +#~ msgstr "" +#~ "Ta opcja jest włączona, jeśli maszyna obsługuje kontrolę temperatury " +#~ "komory" #~ msgid "Enable this if printer support air filtration" #~ msgstr "Włącz to, jeśli drukarka obsługuje filtrację powietrza" -#~ 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" -#~ msgstr "Prędkość wentylatora chłodzenia pomocniczej części. Wentylator pomocniczy będzie pracować z tą prędkością podczas drukowania, z wyjątkiem pierwszych kilku warstw, które są zdefiniowane jako warstwy bez chłodzenia" +#~ 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" +#~ msgstr "" +#~ "Prędkość wentylatora chłodzenia pomocniczej części. Wentylator pomocniczy " +#~ "będzie pracować z tą prędkością podczas drukowania, z wyjątkiem " +#~ "pierwszych kilku warstw, które są zdefiniowane jako warstwy bez chłodzenia" -#~ msgid "Filter out gaps smaller than the threshold specified. This setting won't affect top/bottom layers" -#~ msgstr "Filtruj przerwy mniejsze niż określony próg. To ustawienie nie wpłynie na warstwy górne/dolne" +#~ msgid "" +#~ "Filter out gaps smaller than the threshold specified. This setting won't " +#~ "affect top/bottom layers" +#~ msgstr "" +#~ "Filtruj przerwy mniejsze niż określony próg. To ustawienie nie wpłynie na " +#~ "warstwy górne/dolne" #~ msgid "Empty layers around bottom are replaced by nearest normal layers." -#~ msgstr "Puste warstwy wokół dolnej części są zastępowane najbliższymi normalnymi warstwami." +#~ msgstr "" +#~ "Puste warstwy wokół dolnej części są zastępowane najbliższymi normalnymi " +#~ "warstwami." #~ msgid "The model has too many empty layers." #~ msgstr "Model ma zbyt wiele pustych warstw." @@ -15018,20 +18867,26 @@ msgstr "" #, c-format, boost-format #~ msgid "" -#~ "Bed temperature of other layer is lower than bed temperature of initial layer for more than %d degree centigrade.\n" +#~ "Bed temperature of other layer is lower than bed temperature of initial " +#~ "layer for more than %d degree centigrade.\n" #~ "This may cause model broken free from build plate during printing" #~ msgstr "" -#~ "Temperatura podłoża innych warstw jest niższa niż temperatura podłoża pierwszej warstwy o więcej niż %d stopni Celsjusza.\n" +#~ "Temperatura podłoża innych warstw jest niższa niż temperatura podłoża " +#~ "pierwszej warstwy o więcej niż %d stopni Celsjusza.\n" #~ "Może to spowodować oderwanie modelu od płyty budowlanej podczas drukowania" #~ msgid "" -#~ "Bed temperature is higher than vitrification temperature of this filament.\n" +#~ "Bed temperature is higher than vitrification temperature of this " +#~ "filament.\n" #~ "This may cause nozzle blocked and printing failure\n" -#~ "Please keep the printer open during the printing process to ensure air circulation or reduce the temperature of the hot bed" +#~ "Please keep the printer open during the printing process to ensure air " +#~ "circulation or reduce the temperature of the hot bed" #~ msgstr "" -#~ "Temperatura podłoża jest wyższa niż temperatura witrifikacji tego filamentu.\n" +#~ "Temperatura podłoża jest wyższa niż temperatura witrifikacji tego " +#~ "filamentu.\n" #~ "Może to spowodować zablokowanie dyszy i niepowodzenie drukowania\n" -#~ "Proszę pozostawić drukarkę otwartą podczas procesu drukowania, aby zapewnić cyrkulację powietrza lub obniżyć temperaturę podgrzewanego łóżka" +#~ "Proszę pozostawić drukarkę otwartą podczas procesu drukowania, aby " +#~ "zapewnić cyrkulację powietrza lub obniżyć temperaturę podgrzewanego łóżka" #~ msgid "Total Time Estimation" #~ msgstr "Całkowity szacowany czas" @@ -15060,25 +18915,53 @@ msgstr "" #~ msgid "High Temp Plate" #~ msgstr "Płyta wysokotemperaturowa" -#~ msgid "Bed temperature when high temperature plate is installed. Value 0 means the filament does not support to print on the High Temp Plate" -#~ msgstr "Temperatura podłoża, gdy jest zainstalowana płyta wysokotemperaturowa. Wartość 0 oznacza, że filament nie obsługuje drukowania na Płycie Wysokotemperaturowej" +#~ msgid "" +#~ "Bed temperature when high temperature plate is installed. Value 0 means " +#~ "the filament does not support to print on the High Temp Plate" +#~ msgstr "" +#~ "Temperatura podłoża, gdy jest zainstalowana płyta wysokotemperaturowa. " +#~ "Wartość 0 oznacza, że filament nie obsługuje drukowania na Płycie " +#~ "Wysokotemperaturowej" #~ msgid "Internal bridge support thickness" #~ msgstr "Grubość wewnętrznej podpory mostu" -#~ msgid "If enabled, support loops will be generated under the contours of internal bridges.These support loops could prevent internal bridges from extruding over the air and improve the top surface quality, especially when the sparse infill density is low. This value determines the thickness of the support loops. 0 means disable this feature" -#~ msgstr "Jeśli włączone, pętle podpory zostaną wygenerowane pod konturami wewnętrznych mostów. Te pętle podpory mogą zapobiec wyciskaniu mostów do powietrza i poprawić jakość górnej powierzchni, szczególnie gdy gęstość wypełnienia jest niska. Ta wartość określa grubość pętli podpory. 0 oznacza wyłączenie tej funkcji" +#~ msgid "" +#~ "If enabled, support loops will be generated under the contours of " +#~ "internal bridges.These support loops could prevent internal bridges from " +#~ "extruding over the air and improve the top surface quality, especially " +#~ "when the sparse infill density is low. This value determines the " +#~ "thickness of the support loops. 0 means disable this feature" +#~ msgstr "" +#~ "Jeśli włączone, pętle podpory zostaną wygenerowane pod konturami " +#~ "wewnętrznych mostów. Te pętle podpory mogą zapobiec wyciskaniu mostów do " +#~ "powietrza i poprawić jakość górnej powierzchni, szczególnie gdy gęstość " +#~ "wypełnienia jest niska. Ta wartość określa grubość pętli podpory. 0 " +#~ "oznacza wyłączenie tej funkcji" #, fuzzy, c-format, boost-format -#~ msgid "Klipper's max_accel_to_decel will be adjusted to this % of acceleration" -#~ msgstr "Maksymalne przyspieszenie Klippera max_accel_to_decel zostanie dostosowane do tego % przyspieszenia" +#~ msgid "" +#~ "Klipper's max_accel_to_decel will be adjusted to this % of acceleration" +#~ msgstr "" +#~ "Maksymalne przyspieszenie Klippera max_accel_to_decel zostanie " +#~ "dostosowane do tego % przyspieszenia" #~ 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 style will merge branches more aggressively and save a lot of material (default), while hybrid style will create similar structure to normal support under large flat overhangs." +#~ "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 style will merge branches more aggressively and " +#~ "save a lot of material (default), while hybrid style will create similar " +#~ "structure to normal support under large flat overhangs." #~ msgstr "" -#~ "Styl i kształt podpory. Dla normalnej podpory, rzutowanie podpór na regularną siatkę stworzy stabilniejsze podpory (domyślnie), podczas gdy ciasne wieże podpory zaoszczędzą materiał i zmniejszą blizny na obiekcie.\n" -#~ "Dla podpory drzewa, szczupły styl połączy gałęzie agresywniej i zaoszczędzi dużo materiału (domyślnie), podczas gdy styl hybrydowy stworzy podobną strukturę do normalnej podpory pod dużymi płaskimi zwisami." +#~ "Styl i kształt podpory. Dla normalnej podpory, rzutowanie podpór na " +#~ "regularną siatkę stworzy stabilniejsze podpory (domyślnie), podczas gdy " +#~ "ciasne wieże podpory zaoszczędzą materiał i zmniejszą blizny na " +#~ "obiekcie.\n" +#~ "Dla podpory drzewa, szczupły styl połączy gałęzie agresywniej i " +#~ "zaoszczędzi dużo materiału (domyślnie), podczas gdy styl hybrydowy " +#~ "stworzy podobną strukturę do normalnej podpory pod dużymi płaskimi " +#~ "zwisami." #~ msgid "Target chamber temperature" #~ msgstr "Docelowa temperatura komory" @@ -15086,8 +18969,14 @@ msgstr "" #~ msgid "Bed temperature difference" #~ msgstr "Różnica temperatury podłoża" -#~ msgid "Do not recommend bed temperature of other layer to be lower than initial layer for more than this threshold. Too low bed temperature of other layer may cause the model broken free from build plate" -#~ msgstr "Nie zaleca się, aby temperatura łóżka innej warstwy była niższa niż początkowa warstwa o więcej niż ten próg. Zbyt niska temperatura podłoża innej warstwy może spowodować oderwanie modelu od blatu budowlanego" +#~ msgid "" +#~ "Do not recommend bed temperature of other layer to be lower than initial " +#~ "layer for more than this threshold. Too low bed temperature of other " +#~ "layer may cause the model broken free from build plate" +#~ msgstr "" +#~ "Nie zaleca się, aby temperatura łóżka innej warstwy była niższa niż " +#~ "początkowa warstwa o więcej niż ten próg. Zbyt niska temperatura podłoża " +#~ "innej warstwy może spowodować oderwanie modelu od blatu budowlanego" #~ msgid "Orient the model" #~ msgstr "Zorientuj model" diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po index f84e1d99c50..d54c5904118 100644 --- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po +++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: 2024-04-16 11:17-0300\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" @@ -1906,6 +1906,9 @@ msgstr "Adicionar Primitivo" msgid "Add Handy models" msgstr "Adicionar Modelos Úteis" +msgid "Add Models" +msgstr "Adicionar Modelos" + msgid "Show Labels" msgstr "Mostrar Etiquetas" @@ -2400,7 +2403,7 @@ msgstr "Falha ao conectar à impressora" msgid "Connection to printer failed" msgstr "Falha na conexão com a impressora" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "Por favor, verifique a conexão de rede da impressora e do Studio." msgid "Connecting..." @@ -2761,14 +2764,8 @@ msgstr "O Orca Slicer é licenciado sob " msgid "GNU Affero General Public License, version 3" msgstr "Licença Pública Geral Affero GNU, versão 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" -"O Orca Slicer é baseado no BambuStudio da Bambulab, que é derivado do " -"PrusaSlicer da Prusa Research. O PrusaSlicer vem do Slic3r de Alessandro " -"Ranellucci e da comunidade RepRap" msgid "Libraries" msgstr "Bibliotecas" @@ -3272,6 +3269,210 @@ msgstr "" "Agendando o envio para `%1%`. Veja Janela -> Fila de Envio do Anfitrião de " "Impressão" +msgid "Device" +msgstr "Dispositivo" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Desconectado" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "Visualizar" + +msgid "N/A" +msgstr "N/D" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Adicionar" + +msgid "Idle" +msgstr "Inativo" + +msgid "Printing" +msgstr "Imprimindo" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Incompatível" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Preparar" + +msgid "Slicing" +msgstr "Fatiando" + +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 "Resume" +msgstr "Continuar" + +msgid "Stop" +msgstr "Parar" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Carregando..." + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "Preparando trabalho de impressão" + +msgid "Abnormal print file data. Please slice again" +msgstr "Dados de arquivo de impressão anormais. Por favor, fatie novamente" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +msgstr "Enviar" + +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 "Name is invalid;" +msgstr "O nome é inválido;" + +msgid "illegal characters:" +msgstr "caracteres ilegais:" + +msgid "illegal suffix:" +msgstr "sufixo ilegal:" + +msgid "The name is not allowed to be empty." +msgstr "O nome não pode ficar vazio." + +msgid "The name is not allowed to start with space character." +msgstr "O nome não pode começar com um espaço." + +msgid "The name is not allowed to end with space character." +msgstr "O nome não pode terminar com um espaço." + +msgid "The name length exceeds the limit." +msgstr "O comprimento do nome excede o limite." + msgid "Origin" msgstr "Origem" @@ -3803,9 +4004,6 @@ msgstr "Configurações da Impressora" msgid "parameter name" msgstr "nome do parâmetro" -msgid "N/A" -msgstr "N/D" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s não pode ser percentagem" @@ -4123,9 +4321,6 @@ msgstr "Evitar a região de calibração da extrusão" msgid "Align to Y axis" msgstr "Alinhar com o eixo Y" -msgid "Add" -msgstr "Adicionar" - msgid "Add plate" msgstr "Adicionar mesa" @@ -4312,15 +4507,9 @@ msgstr "Fechando o aplicativo enquanto alguns perfis estão sendo modificados." msgid "Logging" msgstr "Registro" -msgid "Prepare" -msgstr "Preparar" - msgid "Preview" msgstr "Pré-visualizar" -msgid "Device" -msgstr "Dispositivo" - msgid "Multi-device" msgstr "" @@ -4348,9 +4537,6 @@ msgstr "Fatiar Tudo" msgid "Export G-code file" msgstr "Exportar arquivo G-code" -msgid "Send" -msgstr "Enviar" - msgid "Export plate sliced file" msgstr "Exportar arquivo de mesa fatiada" @@ -4363,9 +4549,6 @@ msgstr "Imprimir tudo" msgid "Send all" msgstr "Enviar tudo" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "Atalhos de Teclado" @@ -4507,8 +4690,8 @@ msgstr "Exportar G-code" msgid "Export current plate as G-code" msgstr "Exportar a mesa atual como G-code" -msgid "Export &Configs" -msgstr "Exportar &Configurações" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Exportar configuração atual para arquivos" @@ -4609,9 +4792,6 @@ msgstr "Mostrar destaque de sobrecarga de objeto na cena 3D" msgid "Preferences" msgstr "Preferências" -msgid "View" -msgstr "Visualizar" - msgid "Help" msgstr "Ajuda" @@ -4678,10 +4858,10 @@ msgstr "Exportar &Trilhas de Ferramentas como OBJ" msgid "Export toolpaths as OBJ" msgstr "Exportar trilhas de ferramentas como OBJ" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Abrir &Estúdio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Abrir Estúdio" msgid "&Quit" @@ -4877,9 +5057,6 @@ msgstr "Informação" msgid "Playing..." msgstr "Reproduzindo..." -msgid "Loading..." -msgstr "Carregando..." - msgid "Year" msgstr "Ano" @@ -5045,11 +5222,6 @@ msgstr "" "Reconectando a impressora, a operação não pôde ser concluída imediatamente, " "por favor, tente novamente mais tarde." -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "O arquivo não existe." @@ -5108,12 +5280,6 @@ msgstr "Inverter eixo de rotação" msgid "Printing Progress" msgstr "Progresso da Impressão" -msgid "Resume" -msgstr "Continuar" - -msgid "Stop" -msgstr "Parar" - msgid "0" msgstr "0" @@ -5888,6 +6054,9 @@ msgstr "" msgid "The name may show garbage characters!" msgstr "O nome pode exibir caracteres inválidos!" +msgid "Remember my choice." +msgstr "Lembrar minha escolha." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "" @@ -6017,9 +6186,6 @@ msgstr "Não é possível recarregar:" msgid "Error during reload" msgstr "Erro durante a recarga" -msgid "Slicing" -msgstr "Fatiando" - msgid "There are warnings after slicing models:" msgstr "Existem avisos após o fatiamento dos modelos:" @@ -6095,9 +6261,11 @@ msgid "Project downloaded %d%%" msgstr "Projeto baixado %d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" +"A importação para o Orca Slicer falhou. Por favor, baixe o arquivo e importe " +"manualmente." msgid "Import SLA archive" msgstr "Importar arquivo SLA" @@ -6135,18 +6303,12 @@ msgstr "Arquivos de G-code não podem ser carregados junto com modelos!" msgid "Can not add models when in preview mode!" msgstr "Não é possível adicionar modelos no modo de visualização!" -msgid "Add Models" -msgstr "Adicionar Modelos" - msgid "All objects will be removed, continue?" msgstr "Todos os objetos serão removidos, continuar?" msgid "The current project has unsaved changes, save it before continue?" msgstr "O projeto atual tem alterações não salvas, salvar antes de continuar?" -msgid "Remember my choice." -msgstr "Lembrar minha escolha." - msgid "Number of copies:" msgstr "Número de cópias:" @@ -6358,6 +6520,11 @@ msgstr "Região de Login" msgid "Stealth Mode" msgstr "Modo Oculto" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "Ativar plugin de rede" @@ -6470,7 +6637,7 @@ msgstr "" "Se ativo, Orca vai lembrar e alternar a configuração de filamento/processo " "para cada impressora automaticamente." -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6693,9 +6860,6 @@ msgstr "Selecionar/Remover impressoras (presets do sistema)" msgid "Create printer" msgstr "Criar impressora" -msgid "Incompatible" -msgstr "Incompatível" - msgid "The selected preset is null!" msgstr "O preset selecionada é nulo!" @@ -6791,15 +6955,6 @@ msgstr "Preset do usuário" msgid "Preset Inside Project" msgstr "Preset dentro do projeto" -msgid "Name is invalid;" -msgstr "O nome é inválido;" - -msgid "illegal characters:" -msgstr "caracteres ilegais:" - -msgid "illegal suffix:" -msgstr "sufixo ilegal:" - msgid "Name is unavailable." msgstr "O nome não está disponível." @@ -6817,15 +6972,6 @@ msgstr "O perfil \"%1%\" já existe e é incompatível com a impressora atual." msgid "Please note that saving action will replace this preset" msgstr "Por favor, note que a ação de salvar substituirá este perfil" -msgid "The name is not allowed to be empty." -msgstr "O nome não pode ficar vazio." - -msgid "The name is not allowed to start with space character." -msgstr "O nome não pode começar com um espaço." - -msgid "The name is not allowed to end with space character." -msgstr "O nome não pode terminar com um espaço." - msgid "The name cannot be the same as a preset alias name." msgstr "O nome não pode ser o mesmo que um nome de alias de perfil." @@ -6883,9 +7029,6 @@ msgstr "Não consegue encontrar meus dispositivos?" msgid "Log out successful." msgstr "Sessão encerrada com sucesso." -msgid "Offline" -msgstr "Desconectado" - msgid "Busy" msgstr "Ocupado" @@ -7111,15 +7254,6 @@ msgstr "" "Conectando à impressora. Não é possível cancelar durante o processo de " "conexão." -msgid "Preparing print job" -msgstr "Preparando trabalho de impressão" - -msgid "Abnormal print file data. Please slice again" -msgstr "Dados de arquivo de impressão anormais. Por favor, fatie novamente" - -msgid "The name length exceeds the limit." -msgstr "O comprimento do nome excede o limite." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7519,6 +7653,9 @@ msgstr "Filamento de suporte" msgid "Tree supports" msgstr "Suportes de árvore" +msgid "Skirt" +msgstr "Saia" + msgid "Prime tower" msgstr "Torre de purga" @@ -8431,6 +8568,12 @@ msgstr "Mover o controle deslizante 5 vezes mais rápido" msgid "Shift+Mouse wheel" msgstr "Shift+Roda do mouse" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Nota de lançamento" @@ -8556,12 +8699,6 @@ msgstr "Versão:" msgid "Update firmware" msgstr "Atualizar firmware" -msgid "Printing" -msgstr "Imprimindo" - -msgid "Idle" -msgstr "Inativo" - msgid "Beta version" msgstr "Versão beta" @@ -8596,7 +8733,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "A versão do firmware está anormal. É necessário reparar e atualizar antes de " "imprimir. Deseja atualizar agora? Você também pode atualizar mais tarde na " @@ -8738,9 +8875,6 @@ msgstr "Ponte interna" msgid "Gap infill" msgstr "Preenchimento de vão" -msgid "Skirt" -msgstr "Saia" - msgid "Support interface" msgstr "Interface de suporte" @@ -10759,8 +10893,8 @@ msgstr "Fornecedor do filamento. Apenas para mostrar" msgid "(Undefined)" msgstr "(Indefinido)" -msgid "Infill direction" -msgstr "Direção de preenchimento" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10769,6 +10903,20 @@ msgstr "" "Ângulo para o padrão de preenchimento não sólido, que controla o início ou a " "direção principal da linha" +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Densidade do preenchimento" @@ -11127,11 +11275,15 @@ msgid "Arc fitting" msgstr "Ajuste de arco (Arc fitting)" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"Habilitar isso para obter um arquivo G-code que tenha movimentos G2 e G3. E " -"a tolerância de ajuste é a mesma que a resolução" msgid "Add line number" msgstr "Adicionar número da linha" @@ -11367,13 +11519,25 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Sobreposição de preenchimento/perímetro" +#, 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"A área de preenchimento é ligeiramente ampliada para se sobrepor ao " -"perímetro para melhor aderência. O valor percentual é relativo à largura da " -"linha do preenchimento não sólido" msgid "Speed of internal sparse infill" msgstr "Velocidade do preenchimento" @@ -12459,6 +12623,23 @@ msgstr "Altura da saia" msgid "How many layers of skirt. Usually only one layer" msgstr "Quantas camadas de saia. Geralmente apenas uma camada" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Voltas da saia" @@ -12473,6 +12654,17 @@ msgstr "" "Velocidade da saia, em mm/s. Zero significa usar a velocidade padrão de " "extrusão da camada." +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -13242,6 +13434,19 @@ msgstr "Espaçamento das linhas de purga da torre de limpeza" msgid "Spacing of purge lines on the wipe tower." msgstr "Espaçamento das linhas de purga na torre de limpeza." +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "Extrusor da torre de limpeza" @@ -15196,7 +15401,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -15212,9 +15417,6 @@ msgstr "" msgid "Printer Setting" msgstr "Configuração da Impressora" -msgid "Export Configs" -msgstr "Exportar Configurações" - msgid "Printer config bundle(.orca_printer)" msgstr "Pacote de configuração da impressora (.orca_printer)" @@ -16216,6 +16418,39 @@ msgstr "" "aumentar adequadamente a temperatura da mesa aquecida pode reduzir a " "probabilidade de empenamento?" +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "O Orca Slicer é baseado no BambuStudio da Bambulab, que é derivado do " +#~ "PrusaSlicer da Prusa Research. O PrusaSlicer vem do Slic3r de Alessandro " +#~ "Ranellucci e da comunidade RepRap" + +#~ msgid "Export &Configs" +#~ msgstr "Exportar &Configurações" + +#~ msgid "Infill direction" +#~ msgstr "Direção de preenchimento" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Habilitar isso para obter um arquivo G-code que tenha movimentos G2 e G3. " +#~ "E a tolerância de ajuste é a mesma que a resolução" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "A área de preenchimento é ligeiramente ampliada para se sobrepor ao " +#~ "perímetro para melhor aderência. O valor percentual é relativo à largura " +#~ "da linha do preenchimento não sólido" + +#~ msgid "Export Configs" +#~ msgstr "Exportar Configurações" + #~ msgid "Actions For Unsaved Changes" #~ msgstr "Ações para Alterações Não Salvas" @@ -16318,13 +16553,6 @@ msgstr "" #~ "Atualizar seu Bambu Studio pode habilitar todas as funcionalidades do " #~ "arquivo 3mf." -#~ msgid "" -#~ "Importing to Orca Slicer failed. Please download the file and manually " -#~ "import it." -#~ msgstr "" -#~ "A importação para o Orca Slicer falhou. Por favor, baixe o arquivo e " -#~ "importe manualmente." - #~ msgid "- ℃" #~ msgstr "- °C" diff --git a/localization/i18n/ru/OrcaSlicer_ru.po b/localization/i18n/ru/OrcaSlicer_ru.po index ea2a0c00885..e3e164ba42c 100644 --- a/localization/i18n/ru/OrcaSlicer_ru.po +++ b/localization/i18n/ru/OrcaSlicer_ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer V2.0.0 Official Release\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: 2024-04-12 13:49+0700\n" "Last-Translator: \n" "Language-Team: andylg@yandex.ru\n" @@ -1906,6 +1906,9 @@ msgstr "Добавить примитив" msgid "Add Handy models" msgstr "Добавьте тестовую модель" +msgid "Add Models" +msgstr "Добавить модель" + msgid "Show Labels" msgstr "Показать имена файлов" @@ -2408,7 +2411,7 @@ msgstr "Не удалось подключиться к принтеру." msgid "Connection to printer failed" msgstr "Не удалось подключиться к принтеру" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "Пожалуйста, проверьте сетевое подключение принтера с BambuStudio." msgid "Connecting..." @@ -2768,14 +2771,8 @@ msgstr "Orca Slicer распространяется под лицензией " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public третьей версии" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" -"Orca Slicer основан на BambuStudio от компании Bambulab, которая взяла за " -"основу PrusaSlicer от компании Prusa Research. PrusaSlicer же основан на " -"Slic3r от Alessandro Ranellucci и разработках сообщества RepRap." msgid "Libraries" msgstr "Библиотеки" @@ -3278,6 +3275,210 @@ msgstr "" "Планирование загрузки на `%1%`. Смотрите Окна -> Очередь загрузки на хост " "печати" +msgid "Device" +msgstr "Принтер" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Не в сети" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "Вид" + +msgid "N/A" +msgstr "Н/Д" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Добавить" + +msgid "Idle" +msgstr "Простой" + +msgid "Printing" +msgstr "Печать" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Несовместимы" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Подготовка" + +msgid "Slicing" +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 "Resume" +msgstr "Продолжить" + +msgid "Stop" +msgstr "Остановить" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Загрузка..." + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "Подготовка задания на печать" + +msgid "Abnormal print file data. Please slice again" +msgstr "Неправильные данные файла печати. Пожалуйста, нарежьте ещё раз." + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +msgstr "Отправить G-код стола на SD-карту" + +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 "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 length exceeds the limit." +msgstr "Длина имени превышает установленное ограничение." + msgid "Origin" msgstr "Начало координат" @@ -3810,9 +4011,6 @@ msgstr "Настройки принтера" msgid "parameter name" msgstr "Имя параметра" -msgid "N/A" -msgstr "Н/Д" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s не может быть в процентах" @@ -4130,9 +4328,6 @@ msgstr "Избегать зону калибровки экструзии" msgid "Align to Y axis" msgstr "Выравнивать по оси Y" -msgid "Add" -msgstr "Добавить" - msgid "Add plate" msgstr "Добавить стол" @@ -4321,15 +4516,9 @@ msgstr "Закрытие приложения, при имеющихся изм msgid "Logging" msgstr "Авторизация" -msgid "Prepare" -msgstr "Подготовка" - msgid "Preview" msgstr "Предпросмотр нарезки" -msgid "Device" -msgstr "Принтер" - msgid "Multi-device" msgstr "" @@ -4357,9 +4546,6 @@ msgstr "Нарезать все столы" msgid "Export G-code file" msgstr "Экспорт в G-код" -msgid "Send" -msgstr "Отправить G-код стола на SD-карту" - msgid "Export plate sliced file" msgstr "Экспорт стола в файл проекта" @@ -4372,9 +4558,6 @@ msgstr "Распечатать все столы" msgid "Send all" msgstr "Отправить G-код всех столов на SD-карту" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "Горячие клавиши" @@ -4516,8 +4699,8 @@ msgstr "Экспорт в G-код" msgid "Export current plate as G-code" msgstr "Экспортировать текущие модели со стола в G-код" -msgid "Export &Configs" -msgstr "Экспорт конфигурации" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Экспортировать текущую конфигурацию в файл" @@ -4619,9 +4802,6 @@ msgstr "Подсвечивать нависания у модели в 3D-сце msgid "Preferences" msgstr "Параметры" -msgid "View" -msgstr "Вид" - msgid "Help" msgstr "Помощь" @@ -4689,10 +4869,10 @@ msgstr "Экспорт траектории &инструмента в OBJ" msgid "Export toolpaths as OBJ" msgstr "Экспортировать траекторию инструмента в OBJ" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Открыть &Studio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Открыть Studio" msgid "&Quit" @@ -4875,9 +5055,6 @@ msgstr "Информация" msgid "Playing..." msgstr "Воспроизведение..." -msgid "Loading..." -msgstr "Загрузка..." - msgid "Year" msgstr "Год" @@ -5040,11 +5217,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -5103,12 +5275,6 @@ msgstr "Инвертировать ось крена (Z)" msgid "Printing Progress" msgstr "Прогресс печати" -msgid "Resume" -msgstr "Продолжить" - -msgid "Stop" -msgstr "Остановить" - msgid "0" msgstr "0" @@ -5884,6 +6050,9 @@ msgstr "Имена компонентов внутри step файла не в msgid "The name may show garbage characters!" msgstr "В названии могут присутствовать ненужные символы!" +msgid "Remember my choice." +msgstr "Запомнить выбор" + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "" @@ -6014,9 +6183,6 @@ msgstr "Не удалось перезагрузить:" msgid "Error during reload" msgstr "Ошибка во время перезагрузки" -msgid "Slicing" -msgstr "Нарезка" - msgid "There are warnings after slicing models:" msgstr "Предупреждение о нарезке моделей:" @@ -6089,9 +6255,11 @@ msgid "Project downloaded %d%%" msgstr "Проект загружен %d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" +"Не удалось импортировать в Orca Slicer. Загрузите файл и импортируйте его " +"вручную." msgid "Import SLA archive" msgstr "Импорт SLA архива" @@ -6129,9 +6297,6 @@ msgstr "Одновременная загрузка файла G-кода и м msgid "Can not add models when in preview mode!" msgstr "В режиме предпросмотра добавление моделей недоступно!" -msgid "Add Models" -msgstr "Добавить модель" - msgid "All objects will be removed, continue?" msgstr "Все модели будут удалены, продолжить?" @@ -6140,9 +6305,6 @@ msgstr "" "В текущем проекте имеются несохранённые изменения. \n" "Сохранить их перед продолжением?" -msgid "Remember my choice." -msgstr "Запомнить выбор" - msgid "Number of copies:" msgstr "Количество копий:" @@ -6349,6 +6511,11 @@ msgstr "Регион входа" msgid "Stealth Mode" msgstr "Режим конфиденциальности (отключение телеметрии Bambulab)" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "Включить сетевой плагин" @@ -6465,7 +6632,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6690,9 +6857,6 @@ msgstr "Выбор/удаление принтеров (системные пр msgid "Create printer" msgstr "Создать принтер" -msgid "Incompatible" -msgstr "Несовместимы" - msgid "The selected preset is null!" msgstr "Выбранный профиль пуст!" @@ -6791,15 +6955,6 @@ msgstr "Пользовательский профиль" msgid "Preset Inside Project" msgstr "Внутрипроектный профиль" -msgid "Name is invalid;" -msgstr "Некорректное имя;" - -msgid "illegal characters:" -msgstr "недопустимые символы:" - -msgid "illegal suffix:" -msgstr "недопустимый суффикс:" - msgid "Name is unavailable." msgstr "Имя недоступно." @@ -6818,15 +6973,6 @@ msgid "Please note that saving action will replace this preset" 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 cannot be the same as a preset alias name." msgstr "Имя не должно совпадать с именем предустановленного профиля." @@ -6884,9 +7030,6 @@ msgstr "Не удаётся найти свои принтеры?" msgid "Log out successful." msgstr "Выход выполнен успешно." -msgid "Offline" -msgstr "Не в сети" - msgid "Busy" msgstr "Занят" @@ -7107,15 +7250,6 @@ msgid "" msgstr "" "Подключение к принтеру. Невозможно отменить во время процесса подключения." -msgid "Preparing print job" -msgstr "Подготовка задания на печать" - -msgid "Abnormal print file data. Please slice again" -msgstr "Неправильные данные файла печати. Пожалуйста, нарежьте ещё раз." - -msgid "The name length exceeds the limit." -msgstr "Длина имени превышает установленное ограничение." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7501,6 +7635,9 @@ msgstr "Пруток для поддержки" msgid "Tree supports" msgstr "Древовидная поддержка" +msgid "Skirt" +msgstr "Юбка" + msgid "Prime tower" msgstr "Черновая башня" @@ -8427,6 +8564,12 @@ msgstr "Перемещение ползунка быстрее в 5 раз" msgid "Shift+Mouse wheel" msgstr "Shift + Колесо мыши" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Информация о версии" @@ -8552,12 +8695,6 @@ msgstr "Версия:" msgid "Update firmware" msgstr "Обновить прошивку" -msgid "Printing" -msgstr "Печать" - -msgid "Idle" -msgstr "Простой" - msgid "Beta version" msgstr "Бета-версия" @@ -8592,7 +8729,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "Ошибка в версии прошивки. Перед печатью её необходимо исправить и обновить. " "Хотите обновить сейчас? Вы можете сделать это позже с принтера или при " @@ -8734,9 +8871,6 @@ msgstr "Внутренний мост" msgid "Gap infill" msgstr "Заполнение пробелов" -msgid "Skirt" -msgstr "Юбка" - msgid "Support interface" msgstr "Связующий слой" @@ -10757,8 +10891,8 @@ msgstr "Производитель пластиковой нити (только msgid "(Undefined)" msgstr "(Не указано)" -msgid "Infill direction" -msgstr "Угол печати заполнения" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10767,6 +10901,20 @@ msgstr "" "Базовый угол для ориентации шаблона заполнения, который определяет начало " "или основное направление линий." +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Плотность заполнения" @@ -11125,12 +11273,15 @@ msgid "Arc fitting" msgstr "Поддержка движения по дуге окружности" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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-коде команды перемещения по дуге " -"окружности G2/G3. Значение допуска траектории такое же как разрешение G-кода " -"выше." msgid "Add line number" msgstr "Добавить номер строки" @@ -11364,12 +11515,25 @@ 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"Параметр указывает на сколько процентов заполнение будет перекрываться с " -"периметром для лучшего соединения друг с другом." msgid "Speed of internal sparse infill" msgstr "Скорость заполнения" @@ -12459,6 +12623,23 @@ msgstr "Слоёв юбки" msgid "How many layers of skirt. Usually only one layer" 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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Юбок вокруг модели" @@ -12471,6 +12652,17 @@ msgstr "Скорость печати юбки" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." msgstr "Скорость печати юбки (мм/с). 0 - скорость экструзии слоя по умолчанию." +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -13266,6 +13458,19 @@ msgstr "Расстояние между линиями очистки черно msgid "Spacing of purge lines on the wipe tower." msgstr "Расстояние между линиями очистки на черновой башне." +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "Экструдер черновой башни" @@ -15218,7 +15423,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -15227,9 +15432,6 @@ msgstr "" msgid "Printer Setting" msgstr "Настройка принтера" -msgid "Export Configs" -msgstr "Экспорт конфигураций" - msgid "Printer config bundle(.orca_printer)" msgstr "Printer config bundle(.orca_printer) - Пакет конфигурации принтеров" @@ -16221,6 +16423,39 @@ msgstr "" "ABS, повышение температуры подогреваемого стола может снизить эту " "вероятность?" +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "Orca Slicer основан на BambuStudio от компании Bambulab, которая взяла за " +#~ "основу PrusaSlicer от компании Prusa Research. PrusaSlicer же основан на " +#~ "Slic3r от Alessandro Ranellucci и разработках сообщества RepRap." + +#~ msgid "Export &Configs" +#~ msgstr "Экспорт конфигурации" + +#~ msgid "Infill direction" +#~ msgstr "Угол печати заполнения" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Включите, если хотите использовать в G-коде команды перемещения по дуге " +#~ "окружности G2/G3. Значение допуска траектории такое же как разрешение G-" +#~ "кода выше." + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "Параметр указывает на сколько процентов заполнение будет перекрываться с " +#~ "периметром для лучшего соединения друг с другом." + +#~ msgid "Export Configs" +#~ msgstr "Экспорт конфигураций" + #~ msgid "Unload Filament" #~ msgstr "Выгрузить" @@ -16246,13 +16481,6 @@ msgstr "" #~ msgid "HMS" #~ msgstr "Здоровье принтера" -#~ msgid "" -#~ "Importing to Orca Slicer failed. Please download the file and manually " -#~ "import it." -#~ msgstr "" -#~ "Не удалось импортировать в Orca Slicer. Загрузите файл и импортируйте его " -#~ "вручную." - #~ msgid "- ℃" #~ msgstr "- ℃" diff --git a/localization/i18n/sv/OrcaSlicer_sv.po b/localization/i18n/sv/OrcaSlicer_sv.po index edc30815c76..10d28d6075c 100644 --- a/localization/i18n/sv/OrcaSlicer_sv.po +++ b/localization/i18n/sv/OrcaSlicer_sv.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1841,6 +1841,9 @@ msgstr "Lägg till Primitiv" msgid "Add Handy models" msgstr "" +msgid "Add Models" +msgstr "Lägg till modeller" + msgid "Show Labels" msgstr "Visa Etiketter" @@ -2336,7 +2339,7 @@ msgstr "Uppkoppling till printern misslyckades" msgid "Connection to printer failed" msgstr "Anslutning till skrivaren misslyckades" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "Kontrollera nätverksanslutningen för skrivaren och Studio." msgid "Connecting..." @@ -2690,10 +2693,7 @@ msgstr "Orca Slicer är licensierad under " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, version 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" msgid "Libraries" @@ -3177,6 +3177,210 @@ msgstr "" "Planerar uppladdning till `%1%`. Se fönster -> Kö för uppladdning av " "utskriftsvärd" +msgid "Device" +msgstr "Enhet" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Offline" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "Vy" + +msgid "N/A" +msgstr "N/A" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Lägg till" + +msgid "Idle" +msgstr "Inaktiv" + +msgid "Printing" +msgstr "Utskrift pågår" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Inkompatibel" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Förbered" + +msgid "Slicing" +msgstr "Bereder" + +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 "Resume" +msgstr "Återuppta" + +msgid "Stop" +msgstr "Stopp" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Laddar..." + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "Förbereder utskriftsjobb" + +msgid "Abnormal print file data. Please slice again" +msgstr "Onormal utskrifts fil data. Vänligen bered igen" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +msgstr "Skicka" + +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 "Name is invalid;" +msgstr "Namnet är ogiltligt;" + +msgid "illegal characters:" +msgstr "Ogiltliga tecken:" + +msgid "illegal suffix:" +msgstr "Ogiltlig ändelse:" + +msgid "The name is not allowed to be empty." +msgstr "Namn fältet får inte vara tomt." + +msgid "The name is not allowed to start with space character." +msgstr "Namnet får inte börja med mellanrum." + +msgid "The name is not allowed to end with space character." +msgstr "Namnet får inte avslutas med mellanrum." + +msgid "The name length exceeds the limit." +msgstr "Namnlängden överskrider gränsen." + msgid "Origin" msgstr "Ursprung" @@ -3670,9 +3874,6 @@ msgstr "Skrivarens inställningar" msgid "parameter name" msgstr "Parameter namn" -msgid "N/A" -msgstr "N/A" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s kan inte vara procent" @@ -3990,9 +4191,6 @@ msgstr "Undvik kalibrerings området" msgid "Align to Y axis" msgstr "" -msgid "Add" -msgstr "Lägg till" - msgid "Add plate" msgstr "Lägg till byggplata" @@ -4177,15 +4375,9 @@ msgstr "Stänger Begäran medans vissa inställningar ändrats." msgid "Logging" msgstr "Loggar" -msgid "Prepare" -msgstr "Förbered" - msgid "Preview" msgstr "Förhandsvisning" -msgid "Device" -msgstr "Enhet" - msgid "Multi-device" msgstr "" @@ -4213,9 +4405,6 @@ msgstr "Bered allt" msgid "Export G-code file" msgstr "Exportera G-kod filen" -msgid "Send" -msgstr "Skicka" - msgid "Export plate sliced file" msgstr "Exportera byggplattans beredda fil" @@ -4228,9 +4417,6 @@ msgstr "Skriv ut allt" msgid "Send all" msgstr "Skicka alla" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "Kortkommando" @@ -4372,8 +4558,8 @@ msgstr "Exportera G-kod" msgid "Export current plate as G-code" msgstr "Exportera aktuell byggplatta som G-kod" -msgid "Export &Configs" -msgstr "Exportera konfiguration" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Exportera aktuell konfiguration till filer" @@ -4474,9 +4660,6 @@ msgstr "Visa objektets överhäng i 3D-scen" msgid "Preferences" msgstr "Inställningar" -msgid "View" -msgstr "Vy" - msgid "Help" msgstr "Hjälp" @@ -4543,10 +4726,10 @@ msgstr "Exportera &Toolpaths som OBJ" msgid "Export toolpaths as OBJ" msgstr "Exportera toolpaths som OBJ" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Öppna &Studio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Öppna Studio" msgid "&Quit" @@ -4720,9 +4903,6 @@ msgstr "information" msgid "Playing..." msgstr "Spelar..." -msgid "Loading..." -msgstr "Laddar..." - msgid "Year" msgstr "År" @@ -4876,11 +5056,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -4939,12 +5114,6 @@ msgstr "" msgid "Printing Progress" msgstr "Utskriftsförlopp" -msgid "Resume" -msgstr "Återuppta" - -msgid "Stop" -msgstr "Stopp" - msgid "0" msgstr "0" @@ -5678,6 +5847,9 @@ msgstr "Komponent namnet i step filen är inte UTF8 format!" msgid "The name may show garbage characters!" msgstr "På grund av textkodning som inte stöds så kan skräptecken visas!" +msgid "Remember my choice." +msgstr "Kom ihåg mitt val." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "" @@ -5803,9 +5975,6 @@ msgstr "" msgid "Error during reload" msgstr "" -msgid "Slicing" -msgstr "Bereder" - msgid "There are warnings after slicing models:" msgstr "Varningar efter beredning:" @@ -5881,7 +6050,7 @@ msgid "Project downloaded %d%%" msgstr "Projektet har laddats ned %d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" @@ -5921,18 +6090,12 @@ msgstr "G-kod filer och modeller kan inte laddas tillsammans!!" msgid "Can not add models when in preview mode!" msgstr "Det gick inte att lägga till modeller i förhandsvisningsläge" -msgid "Add Models" -msgstr "Lägg till modeller" - msgid "All objects will be removed, continue?" msgstr "Alla objekt kommer att raderas, fortsätta?" msgid "The current project has unsaved changes, save it before continue?" msgstr "Nuvarande projekt har ej sparade ändringar, spara innan du går vidare?" -msgid "Remember my choice." -msgstr "Kom ihåg mitt val." - msgid "Number of copies:" msgstr "Antal kopior:" @@ -6131,6 +6294,11 @@ msgstr "Logga in Region" msgid "Stealth Mode" msgstr "" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "" @@ -6237,7 +6405,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6457,9 +6625,6 @@ msgstr "" msgid "Create printer" msgstr "" -msgid "Incompatible" -msgstr "Inkompatibel" - msgid "The selected preset is null!" msgstr "" @@ -6554,15 +6719,6 @@ msgstr "Användar förinställning" msgid "Preset Inside Project" msgstr "Projekt förinställning" -msgid "Name is invalid;" -msgstr "Namnet är ogiltligt;" - -msgid "illegal characters:" -msgstr "Ogiltliga tecken:" - -msgid "illegal suffix:" -msgstr "Ogiltlig ändelse:" - msgid "Name is unavailable." msgstr "Namnet ej tillgängligt." @@ -6583,15 +6739,6 @@ msgstr "" "Observera att om du sparar kommer den aktuella förinställningen att skrivas " "över" -msgid "The name is not allowed to be empty." -msgstr "Namn fältet får inte vara tomt." - -msgid "The name is not allowed to start with space character." -msgstr "Namnet får inte börja med mellanrum." - -msgid "The name is not allowed to end with space character." -msgstr "Namnet får inte avslutas med mellanrum." - msgid "The name cannot be the same as a preset alias name." msgstr "Namnet får inte vara samma som förinställt namn." @@ -6649,9 +6796,6 @@ msgstr "Hittar du inte enheter?" msgid "Log out successful." msgstr "Utloggning lyckades." -msgid "Offline" -msgstr "Offline" - msgid "Busy" msgstr "Upptagen" @@ -6860,15 +7004,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" -msgid "Preparing print job" -msgstr "Förbereder utskriftsjobb" - -msgid "Abnormal print file data. Please slice again" -msgstr "Onormal utskrifts fil data. Vänligen bered igen" - -msgid "The name length exceeds the limit." -msgstr "Namnlängden överskrider gränsen." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7238,6 +7373,9 @@ msgstr "Support filament" msgid "Tree supports" msgstr "" +msgid "Skirt" +msgstr "" + msgid "Prime tower" msgstr "Prime torn" @@ -8122,6 +8260,12 @@ msgstr "Flytta reglage 5x snabbare" msgid "Shift+Mouse wheel" msgstr "Shift+Mushjulet" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Meddelande om utgåvan" @@ -8242,12 +8386,6 @@ msgstr "Version:" msgid "Update firmware" msgstr "Uppdatera programvara" -msgid "Printing" -msgstr "Utskrift pågår" - -msgid "Idle" -msgstr "Inaktiv" - msgid "Beta version" msgstr "" @@ -8282,7 +8420,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "Firmware versionen är onormal. Reparation och uppdatering krävs före " "utskrift. Vill du uppdatera nu? Du kan också uppdatera senare på skrivaren " @@ -8421,9 +8559,6 @@ msgstr "" msgid "Gap infill" msgstr "Mellanrums ifyllnad" -msgid "Skirt" -msgstr "" - msgid "Support interface" msgstr "Support kontaktyta" @@ -10113,8 +10248,8 @@ msgstr "" msgid "(Undefined)" msgstr "(Oidentifierad)" -msgid "Infill direction" -msgstr "Ifyllnads riktning" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10123,6 +10258,20 @@ msgstr "" "Vinkeln för sparsam ifyllnads mönster, som styr start- eller huvudriktningen " "för linjer" +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Sparsam ifyllnads densitet" @@ -10427,11 +10576,15 @@ msgid "Arc fitting" msgstr "Arc passning" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"Aktivera detta för att få en G-kod med G2 och G3 drag. Passnings toleransen " -"är densamma som upplösningen" msgid "Add line number" msgstr "Lägg till rad nummer" @@ -10630,13 +10783,25 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Ifyllnad/Vägg överlapp" +#, 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"Detta gör att ifyllnads området kan förstoras något för att överlappa " -"väggarna för bättre vidhäftning.Det procentuella värdet är i förhållande " -"till linjebredden för sparsam ifyllnad" msgid "Speed of internal sparse infill" msgstr "Hastighet för sparsam ifyllnad" @@ -11544,6 +11709,23 @@ msgstr "Skirt höjd" msgid "How many layers of skirt. Usually only one layer" msgstr "Antal skirt lager: vanligtvis bara en" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Skirt varv" @@ -11556,6 +11738,17 @@ msgstr "" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." msgstr "" +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -12242,6 +12435,19 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "" @@ -13954,7 +14160,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -13963,9 +14169,6 @@ msgstr "" msgid "Printer Setting" msgstr "" -msgid "Export Configs" -msgstr "" - msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -14850,6 +15053,27 @@ msgid "" "probability of warping." msgstr "" +#~ msgid "Export &Configs" +#~ msgstr "Exportera konfiguration" + +#~ msgid "Infill direction" +#~ msgstr "Ifyllnads riktning" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Aktivera detta för att få en G-kod med G2 och G3 drag. Passnings " +#~ "toleransen är densamma som upplösningen" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "Detta gör att ifyllnads området kan förstoras något för att överlappa " +#~ "väggarna för bättre vidhäftning.Det procentuella värdet är i förhållande " +#~ "till linjebredden för sparsam ifyllnad" + #~ msgid "Unload Filament" #~ msgstr "Mata ut" diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po index 65a60b1c715..385a411fd9a 100644 --- a/localization/i18n/tr/OrcaSlicer_tr.po +++ b/localization/i18n/tr/OrcaSlicer_tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: 2024-05-02 19:55+0300\n" "Last-Translator: Olcay ÖREN\n" "Language-Team: \n" @@ -727,8 +727,8 @@ msgid "" "The text cannot be written using the selected font. Please try choosing a " "different font." msgstr "" -"Metin seçilen yazı tipi kullanılarak yazılamıyor. Lütfen farklı bir yazı tipi " -"seçmeyi deneyin." +"Metin seçilen yazı tipi kullanılarak yazılamıyor. Lütfen farklı bir yazı " +"tipi seçmeyi deneyin." msgid "Embossed text cannot contain only white spaces." msgstr "Kabartmalı metin yalnızca beyaz boşluklardan oluşamaz." @@ -1009,12 +1009,12 @@ msgstr "Metni kameraya doğru yönlendirin." #, boost-format msgid "" -"Can't load exactly same font(\"%1%\"). Aplication selected a similar one(\"%2%" -"\"). You have to specify font for enable edit text." +"Can't load exactly same font(\"%1%\"). Aplication selected a similar " +"one(\"%2%\"). You have to specify font for enable edit text." msgstr "" -"Tam olarak aynı yazı tipi yüklenemiyor(\"%1%\"). Uygulama benzer bir uygulama " -"seçti(\"%2%\"). Metni düzenlemeyi etkinleştirmek için yazı tipini belirtmeniz " -"gerekir." +"Tam olarak aynı yazı tipi yüklenemiyor(\"%1%\"). Uygulama benzer bir " +"uygulama seçti(\"%2%\"). Metni düzenlemeyi etkinleştirmek için yazı tipini " +"belirtmeniz gerekir." msgid "No symbol" msgstr "Sembol yok" @@ -1469,8 +1469,8 @@ msgstr "Bilgi" 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." +"Please note, application settings will be lost, but printer profiles will " +"not be affected." msgstr "" "OrcaSlicer konfigürasyon dosyası bozulmuş olabilir ve ayrıştırılamayabilir.\n" "OrcaSlicer, konfigürasyon dosyasını yeniden oluşturmayı denedi.\n" @@ -1891,6 +1891,9 @@ msgstr "Şekil Ekle" msgid "Add Handy models" msgstr "Pratik Modeller Ekle" +msgid "Add Models" +msgstr "Model Ekle" + msgid "Show Labels" msgstr "Etiketleri Göster" @@ -2086,8 +2089,8 @@ 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 " -"infornation first." +"To manipulate with solid parts or negative volumes you have to invalidate " +"cut infornation first." msgstr "" "Bu eylem kesilmiş bir yazışmayı bozacaktır.\n" "Bundan sonra model tutarlılığı garanti edilemez.\n" @@ -2150,7 +2153,8 @@ msgstr "İlk seçilen öğe bir nesne ise ikincisi de nesne olmalıdır." msgid "" "If first selected item is a part, the second one should be part in the same " "object." -msgstr "İlk seçilen öğe bir parça ise ikincisi aynı nesnenin parçası olmalıdır." +msgstr "" +"İlk seçilen öğe bir parça ise ikincisi aynı nesnenin parçası olmalıdır." msgid "The type of the last solid object part is not to be changed." msgstr "Son katı nesne parçasının tipi değiştirilNozullidir." @@ -2377,7 +2381,7 @@ msgstr "Yazıcıya bağlanılamadı" msgid "Connection to printer failed" msgstr "Yazıcıya bağlantı başarısız oldu" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "Lütfen yazıcının ve Studio'nun ağ bağlantısını kontrol edin." msgid "Connecting..." @@ -2507,14 +2511,16 @@ msgstr "" msgid "Arranging done." msgstr "Hizalama tamamlandı." -msgid "Arrange failed. Found some exceptions when processing object geometries." +msgid "" +"Arrange failed. Found some exceptions when processing object geometries." msgstr "" "Hizalama başarısız oldu. Nesne geometrilerini işlerken bazı istisnalar " "bulundu." #, c-format, boost-format msgid "" -"Arrangement ignored the following objects which can't fit into a single bed:\n" +"Arrangement ignored the following objects which can't fit into a single " +"bed:\n" "%s" msgstr "" "Hizalama tek tablaya sığmayan aşağıdaki nesneler göz ardı edildi:\n" @@ -2614,7 +2620,8 @@ msgstr "" "deneyin." msgid "Print file not found, Please slice it again and send it for printing." -msgstr "Yazdırma dosyası bulunamadı. Lütfen tekrar dilimleyip baskıya gönderin." +msgstr "" +"Yazdırma dosyası bulunamadı. Lütfen tekrar dilimleyip baskıya gönderin." msgid "" "Failed to upload print file to FTP. Please check the network status and try " @@ -2670,8 +2677,8 @@ msgid "Importing SLA archive" msgstr "SLA arşivi içe aktarılıyor" msgid "" -"The SLA archive doesn't contain any presets. Please activate some SLA printer " -"preset first before importing that SLA archive." +"The SLA archive doesn't contain any presets. Please activate some SLA " +"printer preset first before importing that SLA archive." msgstr "" "SLA arşivi herhangi bir ön ayar içermez. Lütfen SLA arşivini içe aktarmadan " "önce bazı SLA yazıcı ön ayarlarını etkinleştirin." @@ -2683,8 +2690,8 @@ msgid "Importing done." msgstr "İçe aktarma tamamlandı." msgid "" -"The imported SLA archive did not contain any presets. The current SLA presets " -"were used as fallback." +"The imported SLA archive did not contain any presets. The current SLA " +"presets were used as fallback." msgstr "" "İçe aktarılan SLA arşivi herhangi bir ön ayar içermiyordu. Geçerli SLA ön " "ayarları geri dönüş olarak kullanıldı." @@ -2731,14 +2738,8 @@ msgstr "Orca Dilimleyici şu lisansa sahiptir: " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero Genel Kamu Lisansı, sürüm 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer by " -"Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and the " -"RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" -"Orca Slicer, Prusa Research'ün PrusaSlicer'ından Bambulab'ın BambuStudio'sunu " -"temel alıyor. PrusaSlicer, Alessandro Ranellucci ve RepRap topluluğu " -"tarafından hazırlanan Slic3r'dendir" msgid "Libraries" msgstr "Kütüphaneler" @@ -2747,8 +2748,8 @@ msgid "" "This software uses open source components whose copyright and other " "proprietary rights belong to their respective owners" msgstr "" -"Bu yazılım, telif hakkı ve diğer mülkiyet hakları ilgili sahiplerine ait olan " -"açık kaynaklı bileşenleri kullanır" +"Bu yazılım, telif hakkı ve diğer mülkiyet hakları ilgili sahiplerine ait " +"olan açık kaynaklı bileşenleri kullanır" #, c-format, boost-format msgid "About %s" @@ -2762,7 +2763,8 @@ msgstr "OrcaSlicer, BambuStudio, PrusaSlicer ve SuperSlicer'ı temel alır." msgid "BambuStudio is originally based on PrusaSlicer by PrusaResearch." msgstr "" -"BambuStudio orijinal olarak PrusaResearch'ün PrusaSlicer'ını temel almaktadır." +"BambuStudio orijinal olarak PrusaResearch'ün PrusaSlicer'ını temel " +"almaktadır." msgid "PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci." msgstr "" @@ -2851,9 +2853,9 @@ msgid "Dynamic flow calibration" msgstr "Dinamik akış kalibrasyonu" 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." +"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 "" "Nozul sıcaklığı ve maksimum hacimsel hız kalibrasyon sonuçlarını " "etkileyecektir. Lütfen gerçek yazdırmayla aynı değerleri girin. Bir filament " @@ -2988,7 +2990,8 @@ msgid "" "When the current material run out, the printer will continue to print in the " "following order." msgstr "" -"Mevcut malzeme bittiğinde yazıcı aşağıdaki sırayla yazdırmaya devam edecektir." +"Mevcut malzeme bittiğinde yazıcı aşağıdaki sırayla yazdırmaya devam " +"edecektir." msgid "Group" msgstr "Grup" @@ -3026,8 +3029,8 @@ msgid "Insertion update" msgstr "Ekleme güncellemesi" msgid "" -"The AMS will automatically read the filament information when inserting a new " -"Bambu Lab filament. This takes about 20 seconds." +"The AMS will automatically read the filament information when inserting a " +"new Bambu Lab filament. This takes about 20 seconds." msgstr "" "AMS, yeni bir Bambu Lab filamenti takıldığında filament bilgilerini otomatik " "olarak okuyacaktır. Bu yaklaşık 20 saniye sürer." @@ -3050,16 +3053,17 @@ msgid "Power on update" msgstr "Güncellemeyi aç" 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 filament spools." +"The AMS will automatically read the information of inserted filament on " +"start-up. It will take about 1 minute.The reading process will roll filament " +"spools." msgstr "" "AMS, başlangıçta takılan filamentin bilgilerini otomatik olarak okuyacaktır. " "Yaklaşık 1 dakika sürecektir. Okuma işlemi filament makaralarını saracaktır." 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." +"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, başlatma sırasında takılan filamentden bilgileri otomatik olarak okumaz " "ve son kapatmadan önce kaydedilen bilgileri kullanmaya devam eder." @@ -3073,8 +3077,8 @@ msgid "" "automatically." msgstr "" "AMS, filament bilgisi güncellendikten sonra Bambu filamentin kalan " -"kapasitesini tahmin edecek. Yazdırma sırasında kalan kapasite otomatik olarak " -"güncellenecektir." +"kapasitesini tahmin edecek. Yazdırma sırasında kalan kapasite otomatik " +"olarak güncellenecektir." msgid "AMS filament backup" msgstr "AMS filament yedeklemesi" @@ -3106,8 +3110,8 @@ msgid "" "Failed to download the plug-in. Please check your firewall settings and vpn " "software, check and retry." msgstr "" -"Eklenti indirilemedi. Lütfen güvenlik duvarı ayarlarınızı ve vpn yazılımınızı " -"kontrol edin, kontrol edip yeniden deneyin." +"Eklenti indirilemedi. Lütfen güvenlik duvarı ayarlarınızı ve vpn " +"yazılımınızı kontrol edin, kontrol edip yeniden deneyin." msgid "" "Failed to install the plug-in. Please check whether it is blocked or deleted " @@ -3195,8 +3199,8 @@ msgid "" "device. The corrupted output G-code is at %1%.tmp." msgstr "" "Geçici G kodunun çıkış G koduna kopyalanması başarısız oldu. Hedef cihazda " -"sorun olabilir, lütfen tekrar dışa aktarmayı veya farklı bir cihaz kullanmayı " -"deneyin. Bozuk çıktı G kodu %1%.tmp konumunda." +"sorun olabilir, lütfen tekrar dışa aktarmayı veya farklı bir cihaz " +"kullanmayı deneyin. Bozuk çıktı G kodu %1%.tmp konumunda." #, boost-format msgid "" @@ -3248,6 +3252,210 @@ msgstr "" "\"%1%\" hedefine yükleme planlanıyor. Bkz. Pencere -> Ana Bilgisayar Yükleme " "Sırasını Yazdır" +msgid "Device" +msgstr "Cihaz" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Çevrimdışı" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "Görünüm" + +msgid "N/A" +msgstr "N/A" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Ekle" + +msgid "Idle" +msgstr "Boşta" + +msgid "Printing" +msgstr "Baskı" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "Uyumsuz" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Hazırlık" + +msgid "Slicing" +msgstr "Dilimleniyor" + +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 "Resume" +msgstr "Sürdür" + +msgid "Stop" +msgstr "Durdur" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Yükleniyor..." + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "Çoklu cihaza gönder" + +msgid "Preparing print job" +msgstr "Yazdırma için hazırlanıyor" + +msgid "Abnormal print file data. Please slice again" +msgstr "Anormal yazdırma dosyası verileri. Lütfen tekrar dilimleyin" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +msgstr "Gönder" + +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 "Name is invalid;" +msgstr "Geçersiz isim;" + +msgid "illegal characters:" +msgstr "yasadışı karakterler:" + +msgid "illegal suffix:" +msgstr "yasadışı sonek:" + +msgid "The name is not allowed to be empty." +msgstr "Ad alanı boş bırakılamaz." + +msgid "The name is not allowed to start with space character." +msgstr "Adın boşluk karakteriyle başlamasına izin verilmez." + +msgid "The name is not allowed to end with space character." +msgstr "Adın boşluk karakteriyle bitmesine izin verilmez." + +msgid "The name length exceeds the limit." +msgstr "Ad uzunluğu sınırı aşıyor." + msgid "Origin" msgstr "Konum" @@ -3317,8 +3525,8 @@ msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" msgstr "" -"Önerilen minimum sıcaklık 190 dereceden azdır veya önerilen maksimum sıcaklık " -"300 dereceden yüksektir.\n" +"Önerilen minimum sıcaklık 190 dereceden azdır veya önerilen maksimum " +"sıcaklık 300 dereceden yüksektir.\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " @@ -3355,13 +3563,13 @@ msgstr "" #, c-format, boost-format msgid "" -"Current chamber temperature is higher than the material's safe temperature,it " -"may result in material softening and clogging.The maximum safe temperature " -"for the material is %d" +"Current chamber temperature is higher than the material's safe temperature," +"it may result in material softening and clogging.The maximum safe " +"temperature for the material is %d" msgstr "" -"Mevcut hazne sıcaklığı malzemenin güvenli sıcaklığından yüksektir, malzemenin " -"yumuşamasına ve tıkanmasına neden olabilir Malzeme için maksimum güvenli " -"sıcaklık %d'dir" +"Mevcut hazne sıcaklığı malzemenin güvenli sıcaklığından yüksektir, " +"malzemenin yumuşamasına ve tıkanmasına neden olabilir Malzeme için maksimum " +"güvenli sıcaklık %d'dir" msgid "" "Too small layer height.\n" @@ -3415,16 +3623,16 @@ msgstr "" "Değer 0'a sıfırlanacaktır." msgid "" -"Alternate extra wall does't work well when ensure vertical shell thickness is " -"set to All. " +"Alternate extra wall does't work well when ensure vertical shell thickness " +"is set to All. " msgstr "" -"Alternatif ekstra duvar, dikey kabuk kalınlığının Tümü olarak ayarlandığından " -"emin olunduğunda iyi çalışmaz. " +"Alternatif ekstra duvar, dikey kabuk kalınlığının Tümü olarak " +"ayarlandığından emin olunduğunda iyi çalışmaz. " msgid "" "Change these settings automatically? \n" -"Yes - Change ensure vertical shell thickness to Moderate and enable alternate " -"extra wall\n" +"Yes - Change ensure vertical shell thickness to Moderate and enable " +"alternate extra wall\n" "No - Dont use alternate extra wall" msgstr "" "Bu ayarlar otomatik olarak değiştirilsin mi? \n" @@ -3501,7 +3709,8 @@ msgid "" "No - Give up using spiral mode this time" msgstr "" "Bu ayarlar otomatik olarak değiştirilsin mi?\n" -"Evet - Bu ayarları değiştirin ve spiral modunu otomatik olarak etkinleştirin\n" +"Evet - Bu ayarları değiştirin ve spiral modunu otomatik olarak " +"etkinleştirin\n" "Hayır - Bu sefer spiral modunu kullanmaktan vazgeçin" msgid "Auto bed leveling" @@ -3634,9 +3843,9 @@ msgid "Update failed." msgstr "Güncelleme başarısız." 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." +"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 "" "Mevcut hazne sıcaklığı veya hedef hazne sıcaklığı 45 ° C'yi aşıyor Ekstruder " "tıkanmasını önlemek için düşük sıcaklıkta filament (PLA / PETG / TPU) " @@ -3663,7 +3872,8 @@ msgstr "" msgid "Failed to start printing job" msgstr "Yazdırma işi başlatılamadı" -msgid "This calibration does not support the currently selected nozzle diameter" +msgid "" +"This calibration does not support the currently selected nozzle diameter" msgstr "Bu kalibrasyon, şu anda seçilen nozzle çapını desteklememektedir" msgid "Current flowrate cali param is invalid" @@ -3688,12 +3898,12 @@ msgid "" "Damp PVA will become flexible and get stuck inside AMS,please take care to " "dry it before use." msgstr "" -"Nemli PVA esnekleşecek ve AMS'nin içine sıkışacaktır, lütfen kullanmadan önce " -"kurutmaya dikkat edin." +"Nemli PVA esnekleşecek ve AMS'nin içine sıkışacaktır, lütfen kullanmadan " +"önce kurutmaya dikkat edin." msgid "" -"CF/GF filaments are hard and brittle, It's easy to break or get stuck in AMS, " -"please use with caution." +"CF/GF filaments are hard and brittle, It's easy to break or get stuck in " +"AMS, please use with caution." msgstr "" "CF/GF filamentleri sert ve kırılgandır. AMS'de kırılması veya sıkışması " "kolaydır, lütfen dikkatli kullanın." @@ -3766,9 +3976,6 @@ msgstr "Yazıcı Ayarları" msgid "parameter name" msgstr "parametre adı" -msgid "N/A" -msgstr "N/A" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s yüzde olamaz" @@ -4086,9 +4293,6 @@ msgstr "Ekstrüzyon kalibrasyon bölgesinden kaçın" msgid "Align to Y axis" msgstr "Y eksenine hizala" -msgid "Add" -msgstr "Ekle" - msgid "Add plate" msgstr "Plaka ekle" @@ -4275,15 +4479,9 @@ msgstr "Bazı ön ayarlar değiştirilirken Uygulama kapatılıyor." msgid "Logging" msgstr "Günlük kaydı" -msgid "Prepare" -msgstr "Hazırlık" - msgid "Preview" msgstr "Ön İzleme" -msgid "Device" -msgstr "Cihaz" - msgid "Multi-device" msgstr "Çoklu cihaz" @@ -4312,9 +4510,6 @@ msgstr "Hepsini dilimle" msgid "Export G-code file" msgstr "G-kod dosyasını dışa aktar" -msgid "Send" -msgstr "Gönder" - msgid "Export plate sliced file" msgstr "Dilimlenmiş plaka dosyasını dışa aktar" @@ -4327,9 +4522,6 @@ msgstr "Tümünü yazdır" msgid "Send all" msgstr "Hepsini gönder" -msgid "Send to Multi-device" -msgstr "Çoklu cihaza gönder" - msgid "Keyboard Shortcuts" msgstr "Klavye kısayolları" @@ -4471,8 +4663,8 @@ msgstr "G-kodunu dışa aktar" msgid "Export current plate as G-code" msgstr "Geçerli plakayı G kodu olarak dışa aktar" -msgid "Export &Configs" -msgstr "Yapılandırmaları Dışa Aktar" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Geçerli yapılandırmayı dosyalara aktar" @@ -4573,9 +4765,6 @@ msgstr "3B sahnede nesne çıkıntısı vurgusunu göster" msgid "Preferences" msgstr "Tercihler" -msgid "View" -msgstr "Görünüm" - msgid "Help" msgstr "Yardım" @@ -4642,10 +4831,10 @@ msgstr "&Takımyollarını OBJ olarak dışa aktar" msgid "Export toolpaths as OBJ" msgstr "Takımyollarını OBJ olarak dışa aktar" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "&Stüdyo'yu aç" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Stüdyoyu Aç" msgid "&Quit" @@ -4711,8 +4900,8 @@ msgstr[1] "" msgid "" "\n" -"Hint: Make sure you have added the corresponding printer before importing the " -"configs." +"Hint: Make sure you have added the corresponding printer before importing " +"the configs." msgstr "" "\n" "İpucu: Yapılandırmaları içe aktarmadan önce ilgili yazıcıyı eklediğinizden " @@ -4761,7 +4950,8 @@ msgid "Please confirm if the printer is connected." msgstr "Lütfen yazıcının bağlı olup olmadığını onaylayın." msgid "" -"The printer is currently busy downloading. Please try again after it finishes." +"The printer is currently busy downloading. Please try again after it " +"finishes." msgstr "" "Yazıcı şu anda indirmeyle meşgul. Lütfen bittikten sonra tekrar deneyin." @@ -4772,7 +4962,8 @@ msgid "Problem occured. Please update the printer firmware and try again." msgstr "" "Sorun oluştu. Lütfen yazıcının ürün yazılımını güncelleyin ve tekrar deneyin." -msgid "LAN Only Liveview is off. Please turn on the liveview on printer screen." +msgid "" +"LAN Only Liveview is off. Please turn on the liveview on printer screen." msgstr "" "Yalnızca LAN Canlı İzleme kapalı. Lütfen yazıcı ekranındaki canlı " "görüntülemeyi açın." @@ -4787,8 +4978,8 @@ msgid "Connection Failed. Please check the network and try again" msgstr "Bağlantı Başarısız. Lütfen ağı kontrol edip tekrar deneyin" msgid "" -"Please check the network and try again, You can restart or update the printer " -"if the issue persists." +"Please check the network and try again, You can restart or update the " +"printer if the issue persists." msgstr "" "Lütfen ağı kontrol edip tekrar deneyin. Sorun devam ederse yazıcıyı yeniden " "başlatabilir veya güncelleyebilirsiniz." @@ -4834,9 +5025,6 @@ msgstr "Bilgi" msgid "Playing..." msgstr "Oynatılıyor..." -msgid "Loading..." -msgstr "Yükleniyor..." - msgid "Year" msgstr "Yıl" @@ -4937,7 +5125,8 @@ msgid_plural "" "You are going to delete %u files from printer. Are you sure to continue?" msgstr[0] "" "%u dosyasını yazıcıdan sileceksiniz. Devam edeceğinizden emin misiniz?" -msgstr[1] "%u dosyayı yazıcıdan sileceksiniz. Devam edeceğinizden emin misiniz?" +msgstr[1] "" +"%u dosyayı yazıcıdan sileceksiniz. Devam edeceğinizden emin misiniz?" msgid "Delete files" msgstr "Dosyaları sil" @@ -4997,15 +5186,8 @@ msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." msgstr "" -"Yazıcıyı yeniden bağladığınızda işlem hemen tamamlanamıyor, lütfen daha sonra " -"tekrar deneyin." - -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" -"4’ten fazla sistem/kullanışlı uzaktan erişimi kullanıyor, bazılarını kapatıp " -"tekrar deneyebilirsiniz." +"Yazıcıyı yeniden bağladığınızda işlem hemen tamamlanamıyor, lütfen daha " +"sonra tekrar deneyin." msgid "File does not exist." msgstr "Dosya bulunmuyor." @@ -5065,12 +5247,6 @@ msgstr "Silindir eksenini ters çevir" msgid "Printing Progress" msgstr "Yazdırma İlerlemesi" -msgid "Resume" -msgstr "Sürdür" - -msgid "Stop" -msgstr "Durdur" - msgid "0" msgstr "0" @@ -5094,8 +5270,8 @@ msgid "" "(The model has already been rated. Your rating will overwrite the previous " "rating.)" msgstr "" -"(Model zaten derecelendirilmiştir. Derecelendirmeniz önceki derecelendirmenin " -"üzerine yazılacaktır)" +"(Model zaten derecelendirilmiştir. Derecelendirmeniz önceki " +"derecelendirmenin üzerine yazılacaktır)" msgid "Rate" msgstr "Derecelendir" @@ -5685,8 +5861,8 @@ msgstr "Arama plakası, nesne ve parça." msgid "" "No AMS filaments. Please select a printer in 'Device' page to load AMS info." msgstr "" -"AMS filamentleri yok. AMS bilgilerini yüklemek için lütfen 'Cihaz' sayfasında " -"bir yazıcı seçin." +"AMS filamentleri yok. AMS bilgilerini yüklemek için lütfen 'Cihaz' " +"sayfasında bir yazıcı seçin." msgid "Sync filaments with AMS" msgstr "Filamentleri AMS ile senkronize et" @@ -5699,7 +5875,8 @@ msgstr "" "ayarlarını ve renklerini kaldıracaktır. Devam etmek istiyor musun?" msgid "" -"Already did a synchronization, do you want to sync only changes or resync all?" +"Already did a synchronization, do you want to sync only changes or resync " +"all?" msgstr "" "Zaten bir senkronizasyon yaptınız. Yalnızca değişiklikleri senkronize etmek " "mi yoksa tümünü yeniden senkronize etmek mi istiyorsunuz?" @@ -5714,13 +5891,13 @@ msgid "There are no compatible filaments, and sync is not performed." msgstr "Uyumlu filament yok ve senkronizasyon gerçekleştirilmiyor." msgid "" -"There are some unknown filaments mapped to generic preset. Please update Orca " -"Slicer or restart Orca Slicer to check if there is an update to system " +"There are some unknown filaments mapped to generic preset. Please update " +"Orca Slicer or restart Orca Slicer to check if there is an update to system " "presets." msgstr "" -"Genel ön ayara eşlenen bazı bilinmeyen filamentler var. Sistem ön ayarlarında " -"bir güncelleme olup olmadığını kontrol etmek için lütfen Orca Slicer'ı " -"güncelleyin veya Orca Slicer'ı yeniden başlatın." +"Genel ön ayara eşlenen bazı bilinmeyen filamentler var. Sistem ön " +"ayarlarında bir güncelleme olup olmadığını kontrol etmek için lütfen Orca " +"Slicer'ı güncelleyin veya Orca Slicer'ı yeniden başlatın." #, boost-format msgid "Do you want to save changes to \"%1%\"?" @@ -5745,13 +5922,13 @@ msgid "Restore" msgstr "Geri Yükleme" 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." +"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 "" -"Mevcut sıcak yatak sıcaklığı oldukça yüksek. Bu filamenti kapalı bir muhafaza " -"içinde bastırırken nozzle tıkanabilir. Lütfen ön kapağı açın ve/veya üst camı " -"çıkarın." +"Mevcut sıcak yatak sıcaklığı oldukça yüksek. Bu filamenti kapalı bir " +"muhafaza içinde bastırırken nozzle tıkanabilir. Lütfen ön kapağı açın ve/" +"veya üst camı çıkarın." msgid "" "The nozzle hardness required by the filament is higher than the default " @@ -5814,8 +5991,8 @@ msgstr "Lütfen bunları parametre sekmelerinde düzeltin" msgid "The 3mf has following modified G-codes in filament or printer presets:" msgstr "" -"3mf dosyasında filament veya yazıcı ön ayarlarında şu değiştirilmiş G-kodları " -"bulunmaktadır:" +"3mf dosyasında filament veya yazıcı ön ayarlarında şu değiştirilmiş G-" +"kodları bulunmaktadır:" msgid "" "Please confirm that these modified G-codes are safe to prevent any damage to " @@ -5846,6 +6023,9 @@ msgstr "Adım dosyasındaki bileşenlerin adı UTF8 formatında değil!" msgid "The name may show garbage characters!" msgstr "İsimde çöp karakterler görünebilir!" +msgid "Remember my choice." +msgstr "Seçimimi hatırla." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "\"%1%\" dosyası yüklenemedi. Geçersiz bir yapılandırma bulundu." @@ -5973,9 +6153,6 @@ msgstr "Yeniden yüklenemiyor:" msgid "Error during reload" msgstr "Yeniden yükleme sırasında hata oluştu" -msgid "Slicing" -msgstr "Dilimleniyor" - msgid "There are warnings after slicing models:" msgstr "Modellerin dilimlenmesinden sonra uyarılar vardır:" @@ -6044,14 +6221,16 @@ msgstr "İndirme başarısız oldu, Dosya boyutu sorunlu." #, c-format, boost-format msgid "Project downloaded %d%%" -msgstr "Proje %d%% indirildi" +msgstr "" +"Proje %d%% indirildiBambu Studio’ya içe aktarma başarısız oldu. Lütfen " +"dosyayı indirin ve manuel olarak içe aktarın." msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" -"Bambu Studio’ya içe aktarma başarısız oldu. Lütfen dosyayı indirin ve manuel " -"olarak içe aktarın." +"Orca Slicer'ya aktarma başarısız oldu. Lütfen dosyayı indirin ve manuel " +"olarak İçe aktarın." msgid "Import SLA archive" msgstr "SLA arşivini içe aktar" @@ -6089,9 +6268,6 @@ msgstr "G kodu dosyaları modellerle birlikte yüklenemez!" msgid "Can not add models when in preview mode!" msgstr "Önizleme modundayken model eklenemiyor!" -msgid "Add Models" -msgstr "Model Ekle" - msgid "All objects will be removed, continue?" msgstr "Tüm nesneler kaldırılacak, devam edilsin mi?" @@ -6100,9 +6276,6 @@ msgstr "" "Mevcut projede kaydedilmemiş değişiklikler var. Devam etmeden önce " "kaydedilsin mi?" -msgid "Remember my choice." -msgstr "Seçimimi hatırla." - msgid "Number of copies:" msgstr "Kopya sayısı:" @@ -6126,15 +6299,15 @@ msgstr "Dilimlenmiş dosyayı şu şekilde kaydedin:" #, c-format, boost-format msgid "" -"The file %s has been sent to the printer's storage space and can be viewed on " -"the printer." +"The file %s has been sent to the printer's storage space and can be viewed " +"on the printer." msgstr "" "%s dosyası yazıcının depolama alanına gönderildi ve yazıcıda " "görüntülenebiliyor." msgid "" -"Unable to perform boolean operation on model meshes. Only positive parts will " -"be kept. You may fix the meshes and try agian." +"Unable to perform boolean operation on model meshes. Only positive parts " +"will be kept. You may fix the meshes and try agian." msgstr "" "Model ağlarında boole işlemi gerçekleştirilemiyor. Yalnızca olumlu kısımlar " "tutulacaktır. Kafesleri düzeltip tekrar deneyebilirsiniz." @@ -6248,8 +6421,8 @@ msgstr "" #, c-format, boost-format msgid "" "Plate% d: %s is not suggested to be used to print filament %s(%s). If you " -"still want to do this printing, please set this filament's bed temperature to " -"non zero." +"still want to do this printing, please set this filament's bed temperature " +"to non zero." msgstr "" "Plaka% d: %s'nin %s(%s) filamentinı yazdırmak için kullanılması önerilmez. " "Eğer yine de bu baskıyı yapmak istiyorsanız, lütfen bu filamentin yatak " @@ -6309,6 +6482,11 @@ msgstr "Giriş Bölgesi" msgid "Stealth Mode" msgstr "Gizli mod" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "Ağ eklentisini etkinleştir" @@ -6329,8 +6507,8 @@ msgstr "Yalnızca bir OrcaSlicer örneğine izin ver" 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." +"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’te her zaman varsayılan olarak çalışan tek bir uygulama örneği vardır. " "Ancak aynı uygulamanın birden fazla örneğinin komut satırından " @@ -6338,8 +6516,9 @@ msgstr "" "örneğe izin verecektir." msgid "" -"If this is enabled, when starting OrcaSlicer and another instance of the same " -"OrcaSlicer is already running, that instance will be reactivated instead." +"If this is enabled, when starting OrcaSlicer and another instance of the " +"same OrcaSlicer is already running, that instance will be reactivated " +"instead." msgstr "" "Bu etkinleştirilirse, OrcaSlicer başlatıldığında ve aynı OrcaSlicer’ın başka " "bir örneği zaten çalışıyorken, bunun yerine bu örnek yeniden " @@ -6430,12 +6609,13 @@ msgstr "" "Etkinleştirilirse, Orca her yazıcı için filament/işlem yapılandırmasını " "hatırlayacak ve otomatik olarak değiştirecektir." -msgid "Multi-device Management(Take effect after restarting Studio)." -msgstr "Çoklu Cihaz Yönetimi(Studio yeniden başlatıldıktan sonra geçerli olur)." +msgid "Multi-device Management(Take effect after restarting Orca)." +msgstr "" +"Çoklu Cihaz Yönetimi(Studio yeniden başlatıldıktan sonra geçerli olur)." msgid "" -"With this option enabled, you can send a task to multiple devices at the same " -"time and manage multiple devices." +"With this option enabled, you can send a task to multiple devices at the " +"same time and manage multiple devices." msgstr "" "Bu seçenek etkinleştirildiğinde, aynı anda birden fazla cihaza bir görev " "gönderebilir ve birden fazla cihazı yönetebilirsiniz." @@ -6503,8 +6683,8 @@ msgstr "Otomatik yedekleme" msgid "" "Backup your project periodically for restoring from the occasional crash." msgstr "" -"Ara sıra meydana gelen çökmelerden sonra geri yüklemek için projenizi düzenli " -"aralıklarla yedekleyin." +"Ara sıra meydana gelen çökmelerden sonra geri yüklemek için projenizi " +"düzenli aralıklarla yedekleyin." msgid "every" msgstr "her" @@ -6656,9 +6836,6 @@ msgstr "Yazıcıları Seç/Kaldır (sistem ön ayarları)" msgid "Create printer" msgstr "Yazıcı oluştur" -msgid "Incompatible" -msgstr "Uyumsuz" - msgid "The selected preset is null!" msgstr "Seçilen ön ayar boş!" @@ -6753,15 +6930,6 @@ msgstr "Kullanıcı Ön Ayarı" msgid "Preset Inside Project" msgstr "Ön ayar içerisinde proje" -msgid "Name is invalid;" -msgstr "Geçersiz isim;" - -msgid "illegal characters:" -msgstr "yasadışı karakterler:" - -msgid "illegal suffix:" -msgstr "yasadışı sonek:" - msgid "Name is unavailable." msgstr "Ad kullanılamıyor." @@ -6779,15 +6947,6 @@ msgstr "\"%1%\" ön ayarı zaten mevcut ve mevcut yazıcıyla uyumlu değil." msgid "Please note that saving action will replace this preset" msgstr "Kaydetme eyleminin bu ön ayarın yerini alacağını lütfen unutmayın" -msgid "The name is not allowed to be empty." -msgstr "Ad alanı boş bırakılamaz." - -msgid "The name is not allowed to start with space character." -msgstr "Adın boşluk karakteriyle başlamasına izin verilmez." - -msgid "The name is not allowed to end with space character." -msgstr "Adın boşluk karakteriyle bitmesine izin verilmez." - msgid "The name cannot be the same as a preset alias name." msgstr "Ad, önceden ayarlanmış bir takma adla aynı olamaz." @@ -6845,9 +7004,6 @@ msgstr "Cihazlarımı bulamıyor musunuz?" msgid "Log out successful." msgstr "Çıkış Başarılı." -msgid "Offline" -msgstr "Çevrimdışı" - msgid "Busy" msgstr "Meşgul" @@ -6891,7 +7047,8 @@ msgid "Printer local connection failed, please try again." msgstr "Yazıcının yerel bağlantısı başarısız oldu, lütfen tekrar deneyin." msgid "No login account, only printers in LAN mode are displayed" -msgstr "Oturum açma hesabı yok, yalnızca LAN modundaki yazıcılar görüntüleniyor" +msgstr "" +"Oturum açma hesabı yok, yalnızca LAN modundaki yazıcılar görüntüleniyor" msgid "Connecting to server" msgstr "Sunucuya baglanıyor" @@ -6959,7 +7116,8 @@ msgstr "" "desteklemek için lütfen yazıcının ürün yazılımını güncelleyin." msgid "" -"The printer firmware only supports sequential mapping of filament => AMS slot." +"The printer firmware only supports sequential mapping of filament => AMS " +"slot." msgstr "" "Yazıcı ürün yazılımı yalnızca filament => AMS yuvasının sıralı eşlemesini " "destekler." @@ -7020,8 +7178,8 @@ msgstr "" 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." +"they are the required filaments. If they are okay, press \"Confirm\" to " +"start printing." msgstr "" "AMS eşlemelerinde bazı bilinmeyen filamentler var. Lütfen bunların gerekli " "filamentler olup olmadığını kontrol edin. Sorun yoksa, yazdırmayı başlatmak " @@ -7053,7 +7211,8 @@ msgstr "" "hasarına neden olabilir" msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "Lütfen yukarıdaki hatayı düzeltin, aksi takdirde yazdırma devam edemez." +msgstr "" +"Lütfen yukarıdaki hatayı düzeltin, aksi takdirde yazdırma devam edemez." msgid "" "Please click the confirm button if you still want to proceed with printing." @@ -7065,15 +7224,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "Yazıcıya bağlanılıyor. Bağlantı işlemi sırasında iptal edilemiyor." -msgid "Preparing print job" -msgstr "Yazdırma için hazırlanıyor" - -msgid "Abnormal print file data. Please slice again" -msgstr "Anormal yazdırma dosyası verileri. Lütfen tekrar dilimleyin" - -msgid "The name length exceeds the limit." -msgstr "Ad uzunluğu sınırı aşıyor." - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7213,11 +7363,11 @@ msgid "" "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." +"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 "" "3D Baskı topluluğunda, kendi dilimleme parametrelerimizi ve ayarlarımızı " "düzenlerken birbirimizin başarılarından ve başarısızlıklarından öğreniyoruz. " @@ -7268,16 +7418,16 @@ msgid "Click to reset all settings to the last saved preset." msgstr "Tüm ayarları en son kaydedilen ön ayara sıfırlamak için tıklayın." msgid "" -"Prime tower is required for smooth timeplase. There may be flaws on the model " -"without prime tower. Are you sure you want to disable prime tower?" +"Prime tower is required for smooth timeplase. There may be flaws on the " +"model without prime tower. Are you sure you want to disable prime tower?" msgstr "" "Sorunsuz timeplace için Prime Tower gereklidir. Prime tower olmayan modelde " "kusurlar olabilir. Prime tower'ı devre dışı bırakmak istediğinizden emin " "misiniz?" msgid "" -"Prime tower is required for smooth timelapse. There may be flaws on the model " -"without prime tower. Do you want to enable prime tower?" +"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 "" "Sorunsuz hızlandırılmış çekim için Prime Tower gereklidir. Prime tower " "olmayan modelde kusurlar olabilir. Prime tower'ı etkinleştirmek istiyor " @@ -7306,11 +7456,11 @@ msgstr "" msgid "" "For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following " -"settings: at least 2 interface layers, at least 0.1mm top z distance or using " -"support materials on interface." +"settings: at least 2 interface layers, at least 0.1mm top z distance or " +"using support materials on interface." msgstr "" -"\"Güçlü Ağaç\" ve \"Ağaç Hibrit\" stilleri için şu ayarları öneriyoruz: en az " -"2 arayüz katmanı, en az 0,1 mm üst z mesafesi veya arayüzde destek " +"\"Güçlü Ağaç\" ve \"Ağaç Hibrit\" stilleri için şu ayarları öneriyoruz: en " +"az 2 arayüz katmanı, en az 0,1 mm üst z mesafesi veya arayüzde destek " "malzemeleri kullanılması." msgid "" @@ -7349,8 +7499,8 @@ msgid "" "height limits ,this may cause printing quality issues." msgstr "" "Katman yüksekliği, Yazıcı Ayarları -> Ekstruder -> Katman yüksekliği " -"sınırları bölümündeki sınırı aşıyor bu durum baskı kalitesi sorunlarına neden " -"olabilir." +"sınırları bölümündeki sınırı aşıyor bu durum baskı kalitesi sorunlarına " +"neden olabilir." msgid "Adjust to the set range automatically? \n" msgstr "Ayarlanan aralığa otomatik olarak ayarlansın mı? \n" @@ -7364,8 +7514,8 @@ msgstr "Atla" 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." +"reduce flush, it may also elevate the risk of nozzle clogs or other " +"printing complications." msgstr "" "Deneysel özellik: Filament değişiklikleri sırasında, floşu en aza indirmek " "için filamanı daha büyük bir mesafeden geri çekmek ve kesmek. Flush’u önemli " @@ -7387,8 +7537,8 @@ 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\"." +"by right-click the empty position of build plate and choose \"Add Primitive" +"\"->\"Timelapse Wipe Tower\"." msgstr "" "Araç başlığı olmadan timelapse kaydederken, bir \"Timelapse Wipe Tower\" " "eklenmesi önerilir.\n" @@ -7437,8 +7587,8 @@ msgid "" "the overhang degree range and wall speed is used" msgstr "" "Bu, çeşitli sarkma dereceleri için hızdır. Çıkıntı dereceleri çizgi " -"genişliğinin yüzdesi olarak ifade edilir. 0 hız, sarkma derecesi aralığı için " -"yavaşlamanın olmadığı anlamına gelir ve duvar hızı kullanılır" +"genişliğinin yüzdesi olarak ifade edilir. 0 hız, sarkma derecesi aralığı " +"için yavaşlamanın olmadığı anlamına gelir ve duvar hızı kullanılır" msgid "Bridge" msgstr "Köprü" @@ -7464,6 +7614,9 @@ msgstr "Destek Filamenti" msgid "Tree supports" msgstr "Ağaç destekler" +msgid "Skirt" +msgstr "Etek" + msgid "Prime tower" msgstr "Prime Kulesi" @@ -7535,11 +7688,11 @@ msgid "Cool plate" msgstr "Soğuk plaka" msgid "" -"Bed temperature when cool plate is installed. Value 0 means the filament does " -"not support to print on the Cool Plate" +"Bed temperature when cool plate is installed. Value 0 means the filament " +"does not support to print on the Cool Plate" msgstr "" -"Soğutma plakası takıldığında yatak sıcaklığı. 0 değeri, filamentin Cool Plate " -"üzerine yazdırmayı desteklemediği anlamına gelir" +"Soğutma plakası takıldığında yatak sıcaklığı. 0 değeri, filamentin Cool " +"Plate üzerine yazdırmayı desteklemediği anlamına gelir" msgid "Engineering plate" msgstr "Mühendislik plakası" @@ -7860,16 +8013,16 @@ msgstr "\"%1%\" ön ayarı aşağıdaki kaydedilmemiş değişiklikleri içeriyo #, boost-format msgid "" -"Preset \"%1%\" is not compatible with the new printer profile and it contains " -"the following unsaved changes:" +"Preset \"%1%\" is not compatible with the new printer profile and it " +"contains the following unsaved changes:" msgstr "" "Ön ayar \"%1%\", yeni yazıcı profiliyle uyumlu değil ve aşağıdaki " "kaydedilmemiş değişiklikleri içeriyor:" #, boost-format msgid "" -"Preset \"%1%\" is not compatible with the new process profile and it contains " -"the following unsaved changes:" +"Preset \"%1%\" is not compatible with the new process profile and it " +"contains the following unsaved changes:" msgstr "" "Ön ayar \"%1%\", yeni işlem profiliyle uyumlu değil ve aşağıdaki " "kaydedilmemiş değişiklikleri içeriyor:" @@ -7903,8 +8056,8 @@ msgid "" "the modified values to the new project" msgstr "" "\n" -"Değiştirdiğiniz ön ayar değerlerini atabilir veya değiştirilen değerleri yeni " -"projeye aktarmayı seçebilirsiniz." +"Değiştirdiğiniz ön ayar değerlerini atabilir veya değiştirilen değerleri " +"yeni projeye aktarmayı seçebilirsiniz." msgid "Extruders count" msgstr "Ekstruder sayısı" @@ -7928,19 +8081,19 @@ 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." +"Note: New modified presets will be selected in settings tabs after close " +"this dialog." msgstr "" "Seçilen seçenekleri sol ön ayardan sağa aktarın.\n" -"Not: Bu iletişim kutusunu kapattıktan sonra ayarlar sekmelerinde değiştirilen " -"yeni ön ayarlar seçilecektir." +"Not: Bu iletişim kutusunu kapattıktan sonra ayarlar sekmelerinde " +"değiştirilen yeni ön ayarlar seçilecektir." msgid "Transfer values from left to right" msgstr "Değerleri soldan sağa aktarın" msgid "" -"If enabled, this dialog can be used for transfer selected values from left to " -"right preset." +"If enabled, this dialog can be used for transfer selected values from left " +"to right preset." msgstr "" "Etkinleştirilirse, bu iletişim kutusu seçilen değerleri soldan sağa ön ayara " "aktarmak için kullanılabilir." @@ -8027,11 +8180,11 @@ msgstr "Sıkıştırma özelleştirme" 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" +"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." @@ -8378,6 +8531,12 @@ msgstr "Kaydırıcıyı 5 kat daha hızlı hareket ettirin" msgid "Shift+Mouse wheel" msgstr "Shift+Fare tekerleği" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Sürüm notu" @@ -8391,8 +8550,8 @@ msgstr "Ağ eklentisi güncellemesi" msgid "" "Click OK to update the Network plug-in when Orca Slicer launches next time." msgstr "" -"Orca Slicer bir sonraki sefer başlatıldığında Ağ eklentisini güncellemek için " -"Tamam'a tıklayın." +"Orca Slicer bir sonraki sefer başlatıldığında Ağ eklentisini güncellemek " +"için Tamam'a tıklayın." #, c-format, boost-format msgid "A new Network plug-in(%s) available, Do you want to install it?" @@ -8449,7 +8608,8 @@ msgstr "Nozulu Onaylayın ve Güncelleyin" msgid "LAN Connection Failed (Sending print file)" msgstr "LAN Bağlantısı Başarısız (Yazdırma dosyası gönderiliyor)" -msgid "Step 1, please confirm Orca Slicer and your printer are in the same LAN." +msgid "" +"Step 1, please confirm Orca Slicer and your printer are in the same LAN." msgstr "" "Adım 1, lütfen Orca Slicer ile yazıcınızın aynı LAN'da olduğunu doğrulayın." @@ -8502,12 +8662,6 @@ msgstr "Sürüm:" msgid "Update firmware" msgstr "Ürün yazılımını güncelle" -msgid "Printing" -msgstr "Baskı" - -msgid "Idle" -msgstr "Boşta" - msgid "Beta version" msgstr "Beta sürüm" @@ -8524,8 +8678,8 @@ msgid "Updating successful" msgstr "Güncelleme başarılı" 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." +"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 "" "Güncellemek istediğinizden emin misiniz? Bu yaklaşık 10 dakika sürecektir. " "Yazıcı güncellenirken gücü kapatmayın." @@ -8542,11 +8696,12 @@ 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 the studio." +"update next time starting Orca." msgstr "" -"Ürün yazılımı sürümü anormal. Yazdırmadan önce onarım ve güncelleme yapılması " -"gerekir. Şimdi güncellemek istiyor musunuz? Ayrıca daha sonra yazıcıda " -"güncelleyebilir veya stüdyoyu bir sonraki başlatışınızda güncelleyebilirsiniz." +"Ürün yazılımı sürümü anormal. Yazdırmadan önce onarım ve güncelleme " +"yapılması gerekir. Şimdi güncellemek istiyor musunuz? Ayrıca daha sonra " +"yazıcıda güncelleyebilir veya stüdyoyu bir sonraki başlatışınızda " +"güncelleyebilirsiniz." msgid "Extension Board" msgstr "Uzatma Kartı" @@ -8684,9 +8839,6 @@ msgstr "İç Köprü" msgid "Gap infill" msgstr "Boşluk doldurma" -msgid "Skirt" -msgstr "Etek" - msgid "Support interface" msgstr "Destek arayüzü" @@ -8701,8 +8853,8 @@ msgid "Failed to calculate line width of %1%. Can not get value of \"%2%\" " msgstr "%1% çizgi genişliği hesaplanamadı. \"%2%\" değeri alınamıyor " msgid "" -"Invalid spacing supplied to Flow::with_spacing(), check your layer height and " -"extrusion width" +"Invalid spacing supplied to Flow::with_spacing(), check your layer height " +"and extrusion width" msgstr "" "Flow::with_spacing()'e sağlanan geçersiz boşluk, kat yüksekliğinizi ve " "ekstrüzyon genişliğinizi kontrol edin" @@ -8835,8 +8987,8 @@ msgstr " dışlama alanına çok yakın ve çarpışmalara neden olacak.\n" msgid "" "Can not print multiple filaments which have large difference of temperature " -"together. Otherwise, the extruder and nozzle may be blocked or damaged during " -"printing" +"together. Otherwise, the extruder and nozzle may be blocked or damaged " +"during printing" msgstr "" "Birlikte büyük sıcaklık farkına sahip birden fazla filament basılamaz. Aksi " "takdirde baskı sırasında ekstruder ve nozul tıkanabilir veya hasar görebilir" @@ -8855,8 +9007,8 @@ msgid "" "Please select \"By object\" print sequence to print multiple objects in " "spiral vase mode." msgstr "" -"Birden fazla nesneyi spiral vazo modunda yazdırmak için lütfen \"Nesneye " -"göre\" yazdırma sırasını seçin." +"Birden fazla nesneyi spiral vazo modunda yazdırmak için lütfen \"Nesneye göre" +"\" yazdırma sırasını seçin." msgid "" "The spiral vase mode does not work when an object contains more than one " @@ -8869,8 +9021,8 @@ msgstr "%1% nesnesi maksimum yapı hacmi yüksekliğini aşıyor." #, boost-format msgid "" -"While the object %1% itself fits the build volume, its last layer exceeds the " -"maximum build volume height." +"While the object %1% itself fits the build volume, its last layer exceeds " +"the maximum build volume height." msgstr "" "%1% nesnesinin kendisi yapı hacmine uysa da, son katmanı maksimum yapı hacmi " "yüksekliğini aşıyor." @@ -8899,7 +9051,8 @@ msgstr "" "Temizleme Kulesi şu anda yalnızca ilgili ekstruder adreslemesiyle " "desteklenmektedir (use_relative_e_distances=1)." -msgid "Ooze prevention is currently not supported with the prime tower enabled." +msgid "" +"Ooze prevention is currently not supported with the prime tower enabled." msgstr "Sızıntı önleme şu anda ana kule etkinken desteklenmemektedir." msgid "" @@ -8916,8 +9069,8 @@ msgid "" "The prime tower is not supported when adaptive layer height is on. It " "requires that all objects have the same layer height." msgstr "" -"Uyarlanabilir katman yüksekliği açıkken ana kule desteklenmez. Tüm nesnelerin " -"aynı katman yüksekliğine sahip olmasını gerektirir." +"Uyarlanabilir katman yüksekliği açıkken ana kule desteklenmez. Tüm " +"nesnelerin aynı katman yüksekliğine sahip olmasını gerektirir." msgid "The prime tower requires \"support gap\" to be multiple of layer height" msgstr "" @@ -8925,11 +9078,12 @@ msgstr "" msgid "The prime tower requires that all objects have the same layer heights" msgstr "" -"Prime tower, tüm nesnelerin aynı katman yüksekliğine sahip olmasını gerektirir" +"Prime tower, tüm nesnelerin aynı katman yüksekliğine sahip olmasını " +"gerektirir" msgid "" -"The prime tower requires that all objects are printed over the same number of " -"raft layers" +"The prime tower requires that all objects are printed over the same number " +"of raft layers" msgstr "" "Ana kule, tüm nesnelerin aynı sayıda sal katmanı üzerine yazdırılmasını " "gerektirir" @@ -8942,8 +9096,8 @@ msgstr "" "gerektirir." msgid "" -"The prime tower is only supported if all objects have the same variable layer " -"height" +"The prime tower is only supported if all objects have the same variable " +"layer height" msgstr "" "Prime tower yalnızca tüm nesnelerin aynı değişken katman yüksekliğine sahip " "olması durumunda desteklenir" @@ -8957,7 +9111,8 @@ msgstr "Çok büyük çizgi genişliği" msgid "" "The prime tower requires that support has the same layer height with object." msgstr "" -"Prime kulesi için, destek, nesne ile aynı katman yüksekliğine sahip olmalıdır." +"Prime kulesi için, destek, nesne ile aynı katman yüksekliğine sahip " +"olmalıdır." msgid "" "Organic support tree tip diameter must not be smaller than support material " @@ -8970,8 +9125,8 @@ msgid "" "Organic support branch diameter must not be smaller than 2x support material " "extrusion width." msgstr "" -"Organik destek dalı çapı, destek malzemesi ekstrüzyon genişliğinin 2 katından " -"daha küçük olamaz." +"Organik destek dalı çapı, destek malzemesi ekstrüzyon genişliğinin 2 " +"katından daha küçük olamaz." msgid "" "Organic support branch diameter must not be smaller than support tree tip " @@ -8988,20 +9143,20 @@ msgid "Layer height cannot exceed nozzle diameter" msgstr "Katman yüksekliği nozul çapını aşamaz" msgid "" -"Relative extruder addressing requires resetting the extruder position at each " -"layer to prevent loss of floating point accuracy. Add \"G92 E0\" to " +"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 "" -"Göreceli ekstruder adreslemesi, kayan nokta doğruluğunun kaybını önlemek için " -"her katmandaki ekstruder konumunun sıfırlanmasını gerektirir. Layer_gcode'a " -"\"G92 E0\" ekleyin." +"Göreceli ekstruder adreslemesi, kayan nokta doğruluğunun kaybını önlemek " +"için her katmandaki ekstruder konumunun sıfırlanmasını gerektirir. " +"Layer_gcode'a \"G92 E0\" ekleyin." msgid "" "\"G92 E0\" was found in before_layer_gcode, which is incompatible with " "absolute extruder addressing." msgstr "" -"Before_layer_gcode'da \"G92 E0\" bulundu ve bu, mutlak ekstruder adreslemeyle " -"uyumsuzdu." +"Before_layer_gcode'da \"G92 E0\" bulundu ve bu, mutlak ekstruder " +"adreslemeyle uyumsuzdu." msgid "" "\"G92 E0\" was found in layer_gcode, which is incompatible with absolute " @@ -9040,8 +9195,8 @@ msgid "" "(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." +"You can adjust the machine_max_acceleration_extruding value in your " +"printer's configuration to get higher speeds." msgstr "" "Hızlanma ayarı yazıcının maksimum hızlanmasını aşıyor " "(machine_max_acceleration_extruding).\n" @@ -9102,7 +9257,8 @@ msgid "Elephant foot compensation" msgstr "Fil ayağı telafi oranı" msgid "" -"Shrink the initial layer on build plate to compensate for elephant foot effect" +"Shrink the initial layer on build plate to compensate for elephant foot " +"effect" msgstr "" "Fil ayağı etkisini telafi etmek için baskı plakasındaki ilk katmanı küçültün" @@ -9161,15 +9317,15 @@ 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/" +"user name and password into the URL in the following format: https://" +"username:password@your-octopi-address/" msgstr "" -"Orca Slicer, G kodu dosyalarını bir yazıcı ana bilgisayarına yükleyebilir. Bu " -"alan, yazıcı ana bilgisayar örneğinin ana bilgisayar adını, IP adresini veya " -"URL'sini içermelidir. Temel kimlik doğrulamanın etkin olduğu HAProxy'nin " -"arkasındaki yazdırma ana bilgisayarına, kullanıcı adı ve parolanın aşağıdaki " -"biçimdeki URL'ye girilmesiyle erişilebilir: https://username:password@your-" -"octopi-address/" +"Orca Slicer, G kodu dosyalarını bir yazıcı ana bilgisayarına yükleyebilir. " +"Bu alan, yazıcı ana bilgisayar örneğinin ana bilgisayar adını, IP adresini " +"veya URL'sini içermelidir. Temel kimlik doğrulamanın etkin olduğu " +"HAProxy'nin arkasındaki yazdırma ana bilgisayarına, kullanıcı adı ve " +"parolanın aşağıdaki biçimdeki URL'ye girilmesiyle erişilebilir: https://" +"username:password@your-octopi-address/" msgid "Device UI" msgstr "Cihaz kullanıcı arayüzü" @@ -9177,7 +9333,8 @@ msgstr "Cihaz kullanıcı arayüzü" msgid "" "Specify the URL of your device user interface if it's not same as print_host" msgstr "" -"Print_Host ile aynı değilse cihazınızın kullanıcı arayüzünün URL'sini belirtin" +"Print_Host ile aynı değilse cihazınızın kullanıcı arayüzünün URL'sini " +"belirtin" msgid "API Key / Password" msgstr "API Anahtarı / Şifre" @@ -9186,8 +9343,9 @@ 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 kodu dosyalarını bir yazıcı ana bilgisayarına yükleyebilir. Bu " -"alan, kimlik doğrulama için gereken API Anahtarını veya şifreyi içermelidir." +"Orca Slicer, G kodu dosyalarını bir yazıcı ana bilgisayarına yükleyebilir. " +"Bu alan, kimlik doğrulama için gereken API Anahtarını veya şifreyi " +"içermelidir." msgid "Name of the printer" msgstr "Yazıcı adı" @@ -9197,8 +9355,8 @@ msgstr "HTTPS CA Dosyası" 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." +"in crt/pem format. If left blank, the default OS CA certificate repository " +"is used." msgstr "" "HTTPS OctoPrint bağlantıları için crt/pem formatında özel CA sertifika " "dosyası belirtilebilir. Boş bırakılırsa varsayılan OS CA sertifika deposu " @@ -9249,10 +9407,10 @@ msgid "" "either as an absolute value or as percentage (for example 50%) of a direct " "travel path. Zero to disable" msgstr "" -"Duvarı geçmekten kaçınmak için maksimum sapma mesafesi. Yoldan sapma mesafesi " -"bu değerden büyükse yoldan sapmayın. Yol uzunluğu, mutlak bir değer olarak " -"veya doğrudan seyahat yolunun yüzdesi (örneğin %50) olarak belirtilebilir. " -"Devre dışı bırakmak için sıfır" +"Duvarı geçmekten kaçınmak için maksimum sapma mesafesi. Yoldan sapma " +"mesafesi bu değerden büyükse yoldan sapmayın. Yol uzunluğu, mutlak bir değer " +"olarak veya doğrudan seyahat yolunun yüzdesi (örneğin %50) olarak " +"belirtilebilir. Devre dışı bırakmak için sıfır" msgid "mm or %" msgstr "mm veya %" @@ -9261,8 +9419,8 @@ msgid "Other layers" msgstr "Diğer katmanlar" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the filament " -"does not support to print on the Cool Plate" +"Bed temperature for layers except the initial one. Value 0 means the " +"filament does not support to print on the Cool Plate" msgstr "" "İlk katman dışındaki katmanlar için yatak sıcaklığı. 0 değeri, filamentin " "Cool Plate üzerine yazdırmayı desteklemediği anlamına gelir" @@ -9271,22 +9429,22 @@ msgid "°C" msgstr "°C" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the filament " -"does not support to print on the Engineering Plate" +"Bed temperature for layers except the initial one. Value 0 means the " +"filament does not support to print on the Engineering Plate" msgstr "" "İlk katman dışındaki katmanlar için yatak sıcaklığı. Değer 0, filamentin " "Mühendislik Plakasına yazdırmayı desteklemediği anlamına gelir" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the filament " -"does not support to print on the High Temp Plate" +"Bed temperature for layers except the initial one. Value 0 means the " +"filament does not support to print on the High Temp Plate" msgstr "" "İlk katman dışındaki katmanlar için yatak sıcaklığı. 0 değeri, filamentin " "Yüksek Sıcaklık Plakasına yazdırmayı desteklemediği anlamına gelir" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the filament " -"does not support to print on the Textured PEI Plate" +"Bed temperature for layers except the initial one. Value 0 means the " +"filament does not support to print on the Textured PEI Plate" msgstr "" "İlk katman dışındaki katmanlar için yatak sıcaklığı. 0 Değeri, filamentin " "Dokulu PEI Plaka üzerine yazdırmayı desteklemediği anlamına gelir" @@ -9368,11 +9526,11 @@ 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 determained by bottom " -"shell layers" +"is disabled and thickness of bottom shell is absolutely determained by " +"bottom shell layers" msgstr "" -"Alt kabuk katmanları tarafından hesaplanan kalınlık bu değerden daha ince ise " -"dilimleme sırasında alt katı katmanların sayısı arttırılır. Bu, katman " +"Alt kabuk katmanları tarafından hesaplanan kalınlık bu değerden daha ince " +"ise dilimleme sırasında alt katı katmanların sayısı arttırılır. Bu, katman " "yüksekliği küçük olduğunda kabuğun çok ince olmasını önleyebilir. 0, bu " "ayarın devre dışı olduğu ve alt kabuğun kalınlığının mutlaka alt kabuk " "katmanları tarafından belirlendiği anlamına gelir" @@ -9386,7 +9544,8 @@ msgid "" "\n" "Options:\n" "1. Everywhere: Applies gap fill to top, bottom and internal solid surfaces\n" -"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces only\n" +"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces " +"only\n" "3. Nowhere: Disables gap fill\n" msgstr "" "Seçilen yüzeyler için boşluk doldurmayı etkinleştirir. Doldurulacak minimum " @@ -9412,19 +9571,19 @@ msgid "Force cooling for overhang and bridge" msgstr "Çıkıntı ve köprüler için soğutmayı zorla" msgid "" -"Enable this option to optimize part cooling fan speed for overhang and bridge " -"to get better cooling" +"Enable this option to optimize part cooling fan speed for overhang and " +"bridge to get better cooling" msgstr "" -"Daha iyi soğutma elde etmek amacıyla çıkıntı ve köprü için parça soğutma fanı " -"hızını optimize etmek amacıyla bu seçeneği etkinleştirin" +"Daha iyi soğutma elde etmek amacıyla çıkıntı ve köprü için parça soğutma " +"fanı hızını optimize etmek amacıyla bu seçeneği etkinleştirin" msgid "Fan speed for overhang" msgstr "Çıkıntılar için fan hızı" msgid "" -"Force part cooling fan to be this speed when printing bridge or overhang wall " -"which has large overhang degree. Forcing cooling for overhang and bridge can " -"get better quality for these part" +"Force part cooling fan to be this speed when printing bridge or overhang " +"wall which has large overhang degree. Forcing cooling for overhang and " +"bridge can get better quality for these part" msgstr "" "Çıkıntı derecesi büyük olan köprü veya çıkıntılı duvara baskı yaparken parça " "soğutma fanını bu hızda olmaya zorlayın. Çıkıntı ve köprü için soğutmayı " @@ -9436,9 +9595,9 @@ msgstr "Çıkıntı soğutması" #, c-format msgid "" "Force cooling fan to be specific speed when overhang degree of printed part " -"exceeds this value. Expressed as percentage which indicides how much width of " -"the line without support from lower layer. 0% means forcing cooling for all " -"outer wall no matter how much overhang degree" +"exceeds this value. Expressed as percentage which indicides how much width " +"of the line without support from lower layer. 0% means forcing cooling for " +"all outer wall no matter how much overhang degree" msgstr "" "Yazdırılan parçanın çıkıntı derecesi bu değeri aştığında soğutma fanını " "belirli bir hıza zorlar. Alt katmandan destek almadan çizginin ne kadar " @@ -9472,8 +9631,8 @@ msgid "" "Decrease this value slightly(for example 0.9) to reduce the amount of " "material for bridge, to improve sag" msgstr "" -"Köprü için malzeme miktarını azaltmak ve sarkmayı iyileştirmek için bu değeri " -"biraz azaltın (örneğin 0,9)" +"Köprü için malzeme miktarını azaltmak ve sarkmayı iyileştirmek için bu " +"değeri biraz azaltın (örneğin 0,9)" msgid "Internal bridge flow ratio" msgstr "İç köprü akış oranı" @@ -9541,11 +9700,11 @@ msgid "" "on the next layer, like letters. Set this setting to 0 to remove these " "artifacts." msgstr "" -"Eğer bir üst yüzey basılacaksa ve kısmen başka bir katman tarafından kaplıysa " -"layer genişliği bu değerin altında olan bir üst katman olarak " +"Eğer bir üst yüzey basılacaksa ve kısmen başka bir katman tarafından " +"kaplıysa layer genişliği bu değerin altında olan bir üst katman olarak " "değerlendirilmeyecek. Yalnızca çevrelerle kaplanması gereken yüzeyde 'bir " -"çevre üstte' tetiklemesine izin vermemek yararlı olabilir. Bu değer mm veya a " -"% çevre ekstrüzyon genişliğinin bir yüzdesi olabilir.\n" +"çevre üstte' tetiklemesine izin vermemek yararlı olabilir. Bu değer mm veya " +"a % çevre ekstrüzyon genişliğinin bir yüzdesi olabilir.\n" "Uyarı: Etkinleştirilirse bir sonraki katmanda harfler gibi bazı ince " "özelliklerin olması durumunda yapay yapılar oluşturulabilir. Bu yapıları " "kaldırmak için bu ayarı 0 olarak ayarlayın." @@ -9577,9 +9736,9 @@ msgid "Overhang reversal" msgstr "Çıkıntıyı tersine çevir" msgid "" -"Extrude perimeters that have a part over an overhang in the reverse direction " -"on odd layers. This alternating pattern can drastically improve steep " -"overhangs.\n" +"Extrude perimeters that have a part over an overhang in the reverse " +"direction on odd 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." @@ -9601,7 +9760,8 @@ msgid "" "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" +"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 recomended to set the " "Reverse Threshold to 0 so that all internal walls print in alternating " @@ -9633,7 +9793,8 @@ msgstr "" "Bu seçenek, havşa delikleri için köprüler oluşturarak bunların desteksiz " "yazdırılmasına olanak tanır. Mevcut modlar şunları içerir:\n" "1. Yok: Köprü oluşturulmaz.\n" -"2. Kısmen Köprülendi: Desteklenmeyen alanın yalnızca bir kısmı köprülenecek.\n" +"2. Kısmen Köprülendi: Desteklenmeyen alanın yalnızca bir kısmı " +"köprülenecek.\n" "3. Feda Katman: Tam bir feda köprü katmanı oluşturulur." msgid "Partially bridged" @@ -9753,8 +9914,8 @@ msgid "Brim ear detection radius" msgstr "Kenar kulak algılama yarıçapı" msgid "" -"The geometry will be decimated before dectecting sharp angles. This parameter " -"indicates the minimum length of the deviation for the decimation.\n" +"The geometry will be decimated before dectecting sharp angles. This " +"parameter indicates the minimum length of the deviation for the decimation.\n" "0 to deactivate" msgstr "" "Keskin açılar tespit edilmeden önce geometrinin büyük bir kısmı yok " @@ -9803,10 +9964,10 @@ msgid "" "that layer can be cooled for longer time. This can improve the cooling " "quality for needle and small details" msgstr "" -"Son katman süresinin \"Maksimum fan hızı eşiği\"ndeki katman süresi eşiğinden " -"kısa olmamasını sağlamak amacıyla yazdırma hızını yavaşlatmak için bu " -"seçeneği etkinleştirin, böylece katman daha uzun süre soğutulabilir. Bu, iğne " -"ve küçük detaylar için soğutma kalitesini artırabilir" +"Son katman süresinin \"Maksimum fan hızı eşiği\"ndeki katman süresi " +"eşiğinden kısa olmamasını sağlamak amacıyla yazdırma hızını yavaşlatmak için " +"bu seçeneği etkinleştirin, böylece katman daha uzun süre soğutulabilir. Bu, " +"iğne ve küçük detaylar için soğutma kalitesini artırabilir" msgid "Normal printing" msgstr "Normal baskı" @@ -9815,7 +9976,8 @@ msgid "" "The default acceleration of both normal printing and travel except initial " "layer" msgstr "" -"İlk katman dışında hem normal yazdırmanın hem de ilerlemenin varsayılan ivmesi" +"İlk katman dışında hem normal yazdırmanın hem de ilerlemenin varsayılan " +"ivmesi" msgid "mm/s²" msgstr "mm/s²" @@ -9859,8 +10021,8 @@ msgid "" "Close all cooling fan for the first certain layers. Cooling fan of the first " "layer used to be closed to get better build plate adhesion" msgstr "" -"İlk belirli katmanlar için tüm soğutma fanını kapatın. Daha iyi baskı plakası " -"yapışması sağlamak için ilk katmanın soğutma fanı kapatılırdı" +"İlk belirli katmanlar için tüm soğutma fanını kapatın. Daha iyi baskı " +"plakası yapışması sağlamak için ilk katmanın soğutma fanı kapatılırdı" msgid "Don't support bridges" msgstr "Köprülerde destek olmasın" @@ -9901,8 +10063,8 @@ msgid "Don't filter out small internal bridges (beta)" msgstr "Küçük iç köprüleri filtrelemeyin (deneysel)" msgid "" -"This option can help reducing pillowing on top surfaces in heavily slanted or " -"curved models.\n" +"This option can help reducing pillowing on top surfaces in heavily slanted " +"or curved models.\n" "\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 " @@ -9917,16 +10079,16 @@ msgid "" "unsupported internal solid infill. The options below control the amount of " "filtering, i.e. the amount of internal bridges created.\n" "\n" -"Disabled - Disables this option. This is the default behaviour and works well " -"in most cases.\n" +"Disabled - Disables this option. This is the default behaviour and works " +"well in most cases.\n" "\n" "Limited filtering - Creates internal bridges on heavily slanted surfaces, " -"while avoiding creating uncessesary interal bridges. This works well for most " -"difficult models.\n" +"while avoiding creating uncessesary interal bridges. This works well for " +"most difficult models.\n" "\n" -"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 unecessary bridges." +"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 unecessary bridges." msgstr "" "Bu seçenek, aşırı eğimli veya kavisli modellerde üst yüzeylerdeki " "yastıklamanın azaltılmasına yardımcı olabilir.\n" @@ -10078,8 +10240,8 @@ 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 "" -"En dışta görünen ve görünen dış duvarın hızı. Daha iyi kalite elde etmek için " -"iç duvar hızından daha yavaş olması kullanılır." +"En dışta görünen ve görünen dış duvarın hızı. Daha iyi kalite elde etmek " +"için iç duvar hızından daha yavaş olması kullanılır." msgid "Small perimeters" msgstr "Küçük çevre (perimeter)" @@ -10108,8 +10270,8 @@ msgstr "Duvar baskı sırası" 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 neighouring perimeter while printing. However, this option " +"Use Inner/Outer for best overhangs. This is because the overhanging walls " +"can adhere to a neighouring 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" @@ -10140,14 +10302,14 @@ msgstr "" "kalitesi ve boyutsal doğruluk için İç/Dış/İç seçeneğini kullanın. Ancak, dış " "duvarın üzerine baskı yapılacak bir iç çevre olmadığından sarkma performansı " "düşecektir. Bu seçenek, önce 3. çevreden itibaren iç duvarları, ardından dış " -"çevreyi ve son olarak da birinci iç çevreyi yazdırdığından etkili olması için " -"en az 3 duvar gerektirir. Bu seçenek çoğu durumda Dış/İç seçeneğine karşı " -"önerilir. \n" +"çevreyi ve son olarak da birinci iç çevreyi yazdırdığından etkili olması " +"için en az 3 duvar gerektirir. Bu seçenek çoğu durumda Dış/İç seçeneğine " +"karşı önerilir. \n" "\n" "İç/Dış/İç seçeneğinin aynı dış duvar kalitesi ve boyutsal doğruluk " "avantajları için Dış/İç seçeneğini kullanın. Bununla birlikte, yeni bir " -"katmanın ilk ekstrüzyonu görünür bir yüzey üzerinde başladığından z dikişleri " -"daha az tutarlı görünecektir.\n" +"katmanın ilk ekstrüzyonu görünür bir yüzey üzerinde başladığından z " +"dikişleri daha az tutarlı görünecektir.\n" "\n" " " @@ -10169,9 +10331,9 @@ msgid "" "\n" "Printing walls first may help with extreme overhangs as the walls have the " "neighbouring infill to adhere to. However, the infill will slighly 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." +"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 "" "Duvar/dolgu sırası. Onay kutusunun işareti kaldırıldığında ilk olarak " "duvarlar yazdırılır ve bu çoğu durumda en iyi sonucu verir.\n" @@ -10189,8 +10351,8 @@ msgid "" "The direction which the wall loops are extruded when looking down from the " "top.\n" "\n" -"By default all walls are extruded in counter-clockwise, unless Reverse on odd " -"is enabled. Set this to any option other than Auto will force the wall " +"By default all walls are extruded in counter-clockwise, unless Reverse on " +"odd is enabled. Set this to any option other than Auto will force the wall " "direction regardless of the Reverse on odd.\n" "\n" "This option will be disabled if sprial vase mode is enabled." @@ -10198,8 +10360,8 @@ msgstr "" "Yukarıdan aşağıya bakıldığında duvar döngülerinin ekstrüzyona uğradığı yön.\n" "\n" "Tek sayıyı ters çevir seçeneği etkinleştirilmedikçe, varsayılan olarak tüm " -"duvarlar saat yönünün tersine ekstrüde edilir. Bunu Otomatik dışında herhangi " -"bir seçeneğe ayarlayın, Ters açıklığa bakılmaksızın duvar yönünü " +"duvarlar saat yönünün tersine ekstrüde edilir. Bunu Otomatik dışında " +"herhangi bir seçeneğe ayarlayın, Ters açıklığa bakılmaksızın duvar yönünü " "zorlayacaktır.\n" "\n" "Spiral vazo modu etkinse bu seçenek devre dışı bırakılacaktır." @@ -10227,8 +10389,8 @@ msgid "" "Distance of the nozzle tip to the lid. Used for collision avoidance in by-" "object printing." msgstr "" -"Nozul ucunun kapağa olan mesafesi. Nesneye göre yazdırmada çarpışmayı önlemek " -"için kullanılır." +"Nozul ucunun kapağa olan mesafesi. Nesneye göre yazdırmada çarpışmayı " +"önlemek için kullanılır." msgid "" "Clearance radius around extruder. Used for collision avoidance in by-object " @@ -10251,19 +10413,20 @@ msgid "" "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." +"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 "" -"Bu seçenek, izin verilen yatak ağ alanı için minimum noktayı ayarlar. Prob XY " -"ofseti nedeniyle çoğu yazıcı yatağın tamamını tarayamaz. Prob noktasının " -"yatak alanı dışına çıkmamasını sağlamak için yatak ağının minimum ve maksimum " -"noktaları uygun şekilde ayarlanmalıdır. OrcaSlicer, adaptive_bed_mesh_min/" -"adaptive_bed_mesh_max değerlerinin bu min/maks noktalarını aşmamasını sağlar. " -"Bu bilgi genellikle yazıcınızın üreticisinden edinilebilir. Varsayılan ayar " -"(-99999, -99999) şeklindedir; bu, herhangi bir sınırın olmadığı anlamına " -"gelir, dolayısıyla yatağın tamamında problamaya izin verilir." +"Bu seçenek, izin verilen yatak ağ alanı için minimum noktayı ayarlar. Prob " +"XY ofseti nedeniyle çoğu yazıcı yatağın tamamını tarayamaz. Prob noktasının " +"yatak alanı dışına çıkmamasını sağlamak için yatak ağının minimum ve " +"maksimum noktaları uygun şekilde ayarlanmalıdır. OrcaSlicer, " +"adaptive_bed_mesh_min/adaptive_bed_mesh_max değerlerinin bu min/maks " +"noktalarını aşmamasını sağlar. Bu bilgi genellikle yazıcınızın üreticisinden " +"edinilebilir. Varsayılan ayar (-99999, -99999) şeklindedir; bu, herhangi bir " +"sınırın olmadığı anlamına gelir, dolayısıyla yatağın tamamında problamaya " +"izin verilir." msgid "Bed mesh max" msgstr "Maksimum yatak ağı" @@ -10273,19 +10436,20 @@ msgid "" "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." +"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 "" -"Bu seçenek, izin verilen yatak ağ alanı için maksimum noktayı ayarlar. Probun " -"XY ofseti nedeniyle çoğu yazıcı yatağın tamamını tarayamaz. Prob noktasının " -"yatak alanı dışına çıkmamasını sağlamak için yatak ağının minimum ve maksimum " -"noktaları uygun şekilde ayarlanmalıdır. OrcaSlicer, adaptive_bed_mesh_min/" -"adaptive_bed_mesh_max değerlerinin bu min/maks noktalarını aşmamasını sağlar. " -"Bu bilgi genellikle yazıcınızın üreticisinden edinilebilir. Varsayılan ayar " -"(99999, 99999) şeklindedir; bu, herhangi bir sınırın olmadığı anlamına gelir, " -"dolayısıyla yatağın tamamında problamaya izin verilir." +"Bu seçenek, izin verilen yatak ağ alanı için maksimum noktayı ayarlar. " +"Probun XY ofseti nedeniyle çoğu yazıcı yatağın tamamını tarayamaz. Prob " +"noktasının yatak alanı dışına çıkmamasını sağlamak için yatak ağının minimum " +"ve maksimum noktaları uygun şekilde ayarlanmalıdır. OrcaSlicer, " +"adaptive_bed_mesh_min/adaptive_bed_mesh_max değerlerinin bu min/maks " +"noktalarını aşmamasını sağlar. Bu bilgi genellikle yazıcınızın üreticisinden " +"edinilebilir. Varsayılan ayar (99999, 99999) şeklindedir; bu, herhangi bir " +"sınırın olmadığı anlamına gelir, dolayısıyla yatağın tamamında problamaya " +"izin verilir." msgid "Probe point distance" msgstr "Prob noktası mesafesi" @@ -10302,8 +10466,8 @@ msgid "Mesh margin" msgstr "Yatak ağı boşluğu" msgid "" -"This option determines the additional distance by which the adaptive bed mesh " -"area should be expanded in the XY directions." +"This option determines the additional distance by which the adaptive bed " +"mesh area should be expanded in the XY directions." msgstr "" "Bu seçenek, uyarlanabilir yatak ağ alanının XY yönlerinde genişletilmesi " "gereken ek mesafeyi belirler." @@ -10323,9 +10487,9 @@ msgstr "Akış oranı" msgid "" "The material may have volumetric change after switching between molten state " "and crystalline state. This setting changes all extrusion flow of this " -"filament in gcode proportionally. Recommended value range is between 0.95 and " -"1.05. Maybe you can tune this value to get nice flat surface when there has " -"slight overflow or underflow" +"filament in gcode proportionally. Recommended value range is between 0.95 " +"and 1.05. Maybe you can tune this value to get nice flat surface when there " +"has slight overflow or underflow" msgstr "" "Malzeme, erimiş hal ile kristal hal arasında geçiş yaptıktan sonra hacimsel " "değişime sahip olabilir. Bu ayar, bu filamentin gcode'daki tüm ekstrüzyon " @@ -10347,8 +10511,8 @@ msgid "Pressure advance(Klipper) AKA Linear advance factor(Marlin)" msgstr "Basınç avansı (Klipper) Doğrusal ilerleme faktörü (Marlin)" msgid "" -"Default line width if other line widths are set to 0. If expressed as a %, it " -"will be computed over the nozzle diameter." +"Default line width if other line widths are set to 0. If expressed as a %, " +"it will be computed over the nozzle diameter." msgstr "" "Diğer çizgi genişlikleri 0'a ayarlanmışsa varsayılan çizgi genişliği. % " "olarak ifade edilirse nozul çapı üzerinden hesaplanacaktır." @@ -10357,8 +10521,8 @@ msgid "Keep fan always on" msgstr "Fanı her zaman açık tut" msgid "" -"If enable this setting, part cooling fan will never be stoped and will run at " -"least at minimum speed to reduce the frequency of starting and stoping" +"If enable this setting, part cooling fan will never be stoped and will run " +"at least at minimum speed to reduce the frequency of starting and stoping" msgstr "" "Bu ayarı etkinleştirirseniz, parça soğutma fanı hiçbir zaman durdurulmayacak " "ve başlatma ve durdurma sıklığını azaltmak için en azından minimum hızda " @@ -10444,11 +10608,11 @@ msgid "" "Be sure to allow enough space between objects, as this compensation is done " "after the checks." msgstr "" -"Filamentin soğuduktan sonra alacağı büzülme yüzdesini girin (100 mm yerine 94 " -"mm ölçerseniz 94%). Parça, telafi etmek için xy'de ölçeklendirilecektir. " +"Filamentin soğuduktan sonra alacağı büzülme yüzdesini girin (100 mm yerine " +"94 mm ölçerseniz 94%). Parça, telafi etmek için xy'de ölçeklendirilecektir. " "Yalnızca çevre için kullanılan filament dikkate alınır.\n" -"Bu telafi kontrollerden sonra yapıldığından, nesneler arasında yeterli boşluk " -"bıraktığınızdan emin olun." +"Bu telafi kontrollerden sonra yapıldığından, nesneler arasında yeterli " +"boşluk bıraktığınızdan emin olun." msgid "Loading speed" msgstr "Yükleme hızı" @@ -10499,8 +10663,8 @@ msgid "" "Filament is cooled by being moved back and forth in the cooling tubes. " "Specify desired number of these moves." msgstr "" -"Filament, soğutma tüpleri içinde ileri geri hareket ettirilerek soğutulur. Bu " -"sayısını belirtin." +"Filament, soğutma tüpleri içinde ileri geri hareket ettirilerek soğutulur. " +"Bu sayısını belirtin." msgid "Speed of the first cooling move" msgstr "İlk soğutma hareketi hızı" @@ -10514,9 +10678,9 @@ msgstr "Silme kulesi üzerinde minimum boşaltım" 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." +"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 "" "Bir takım değişiminden sonra, yeni yüklenen filamentin nozul içindeki kesin " "konumu bilinmeyebilir ve filament basıncı muhtemelen henüz stabil değildir. " @@ -10533,12 +10697,13 @@ msgstr "Soğutma hareketleri bu hıza doğru giderek hızlanır." msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " -"filament during a tool change (when executing the T code). This time is added " -"to the total print time by the G-code time estimator." +"filament during a tool change (when executing the T code). This time is " +"added to the total print time by the G-code time estimator." msgstr "" "Yazıcı donanım yazılımının (veya Çoklu Malzeme Ünitesi 2.0'ın) takım " -"değişikliği sırasında (T kodu yürütülürken) yeni bir filament yükleme süresi. " -"Bu süre, G kodu zaman tahmincisi tarafından toplam baskı süresine eklenir." +"değişikliği sırasında (T kodu yürütülürken) yeni bir filament yükleme " +"süresi. Bu süre, G kodu zaman tahmincisi tarafından toplam baskı süresine " +"eklenir." msgid "Ramming parameters" msgstr "Sıkıştırma parametreleri" @@ -10552,8 +10717,8 @@ msgstr "" msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " -"filament during a tool change (when executing the T code). This time is added " -"to the total print time by the G-code time estimator." +"filament during a tool change (when executing the T code). This time is " +"added to the total print time by the G-code time estimator." msgstr "" "Yazıcı ürün yazılımının (veya Çoklu Malzeme Ünitesi 2.0'ın) takım değişimi " "sırasında (T kodu yürütülürken) filamenti boşaltma süresi. Bu süre, G kodu " @@ -10601,7 +10766,8 @@ msgstr "Filament malzeme türü" msgid "Soluble material" msgstr "Çözünür malzeme" -msgid "Soluble material is commonly used to print support and support interface" +msgid "" +"Soluble material is commonly used to print support and support interface" msgstr "" "Çözünür malzeme genellikle destek ve destek arayüzünü yazdırmak için " "kullanılır" @@ -10609,7 +10775,8 @@ msgstr "" msgid "Support material" msgstr "Destek malzemesi" -msgid "Support material is commonly used to print support and support interface" +msgid "" +"Support material is commonly used to print support and support interface" msgstr "" "Destek malzemesi yaygın olarak destek ve destek arayüzünü yazdırmak için " "kullanılır" @@ -10644,8 +10811,8 @@ msgstr "Filament satıcısı. Yalnızca gösteri için" msgid "(Undefined)" msgstr "(Tanımsız)" -msgid "Infill direction" -msgstr "Dolgu açısı" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10653,6 +10820,20 @@ msgid "" msgstr "" "Hattın başlangıcını veya ana yönünü kontrol eden seyrek dolgu deseni açısı" +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Dolgu yoğunluğu" @@ -10661,8 +10842,8 @@ msgid "" "Density of internal sparse infill, 100% turns all sparse infill into solid " "infill and internal solid infill pattern will be used" msgstr "" -"İç seyrek dolgunun yoğunluğu, %100 tüm seyrek dolguyu katı dolguya dönüştürür " -"ve iç katı dolgu modeli kullanılacaktır" +"İç seyrek dolgunun yoğunluğu, %100 tüm seyrek dolguyu katı dolguya " +"dönüştürür ve iç katı dolgu modeli kullanılacaktır" msgid "Sparse infill pattern" msgstr "Dolgu deseni" @@ -10710,22 +10891,23 @@ 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" +"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 "" "Bir dolgu hattını, ek bir çevrenin kısa bir bölümü ile bir iç çevreye " -"bağlayın. Yüzde olarak ifade edilirse (örnek: %15) dolgu ekstrüzyon genişliği " -"üzerinden hesaplanır. Orca Slicer iki yakın dolgu hattını kısa bir çevre " -"segmentine bağlamaya çalışıyor. infill_anchor_max'tan daha kısa böyle bir " -"çevre segmenti bulunamazsa, dolgu hattı yalnızca bir taraftaki bir çevre " +"bağlayın. Yüzde olarak ifade edilirse (örnek: %15) dolgu ekstrüzyon " +"genişliği üzerinden hesaplanır. Orca Slicer iki yakın dolgu hattını kısa bir " +"çevre segmentine bağlamaya çalışıyor. infill_anchor_max'tan daha kısa böyle " +"bir çevre segmenti bulunamazsa, dolgu hattı yalnızca bir taraftaki bir çevre " "segmentine bağlanır ve alınan çevre segmentinin uzunluğu bu parametreyle " "sınırlıdır, ancak çapa_uzunluk_max'tan uzun olamaz.\n" -"Tek bir dolgu hattına bağlı sabitleme çevrelerini devre dışı bırakmak için bu " -"parametreyi sıfıra ayarlayın." +"Tek bir dolgu hattına bağlı sabitleme çevrelerini devre dışı bırakmak için " +"bu parametreyi sıfıra ayarlayın." msgid "0 (no open anchors)" msgstr "0 (açık bağlantı yok)" @@ -10740,22 +10922,23 @@ 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" +"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 "" "Bir dolgu hattını, ek bir çevrenin kısa bir bölümü ile bir iç çevreye " -"bağlayın. Yüzde olarak ifade edilirse (örnek: %15) dolgu ekstrüzyon genişliği " -"üzerinden hesaplanır. Orca Slicer iki yakın dolgu hattını kısa bir çevre " -"segmentine bağlamaya çalışıyor. Bu parametreden daha kısa bir çevre segmenti " -"bulunamazsa, dolgu hattı sadece bir kenardaki bir çevre segmentine bağlanır " -"ve alınan çevre segmentinin uzunluğu infill_anchor ile sınırlıdır ancak bu " -"parametreden daha uzun olamaz.\n" -"0'a ayarlanırsa dolgu bağlantısı için eski algoritma kullanılacaktır; 1000 ve " -"0 ile aynı sonucu oluşturmalıdır." +"bağlayın. Yüzde olarak ifade edilirse (örnek: %15) dolgu ekstrüzyon " +"genişliği üzerinden hesaplanır. Orca Slicer iki yakın dolgu hattını kısa bir " +"çevre segmentine bağlamaya çalışıyor. Bu parametreden daha kısa bir çevre " +"segmenti bulunamazsa, dolgu hattı sadece bir kenardaki bir çevre segmentine " +"bağlanır ve alınan çevre segmentinin uzunluğu infill_anchor ile sınırlıdır " +"ancak bu parametreden daha uzun olamaz.\n" +"0'a ayarlanırsa dolgu bağlantısı için eski algoritma kullanılacaktır; 1000 " +"ve 0 ile aynı sonucu oluşturmalıdır." msgid "0 (Simple connect)" msgstr "0 (Basit bağlantı)" @@ -10773,8 +10956,8 @@ msgid "" "Acceleration of top surface infill. Using a lower value may improve top " "surface quality" msgstr "" -"Üst yüzey dolgusunun hızlandırılması. Daha düşük bir değerin kullanılması üst " -"yüzey kalitesini iyileştirebilir" +"Üst yüzey dolgusunun hızlandırılması. Daha düşük bir değerin kullanılması " +"üst yüzey kalitesini iyileştirebilir" msgid "Acceleration of outer wall. Using a lower value can improve quality" msgstr "" @@ -10784,8 +10967,8 @@ 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 "" -"Köprülerin hızlandırılması. Değer yüzde olarak ifade edilirse (örn. %50), dış " -"duvar ivmesine göre hesaplanacaktır." +"Köprülerin hızlandırılması. Değer yüzde olarak ifade edilirse (örn. %50), " +"dış duvar ivmesine göre hesaplanacaktır." msgid "mm/s² or %" msgstr "mm/s² veya %" @@ -10822,7 +11005,8 @@ msgid "accel_to_decel" msgstr "Accel_to_decel" #, c-format, boost-format -msgid "Klipper's max_accel_to_decel will be adjusted to this %% of acceleration" +msgid "" +"Klipper's max_accel_to_decel will be adjusted to this %% of acceleration" msgstr "" "Klipper'ın max_accel_to_decel değeri ivmenin bu %%'sine göre ayarlanacak" @@ -10855,8 +11039,8 @@ msgid "Initial layer height" msgstr "Başlangıç katman yüksekliği" msgid "" -"Height of initial layer. Making initial layer height to be thick slightly can " -"improve build plate adhension" +"Height of initial layer. Making initial layer height to be thick slightly " +"can improve build plate adhension" msgstr "" "İlk katmanın yüksekliği. İlk katman yüksekliğini biraz kalın yapmak, baskı " "plakasının yapışmasını iyileştirebilir" @@ -10897,16 +11081,16 @@ msgstr "Maksimum fan hızı" 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." +"\"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 "" "Fan hızı, \"close_fan_the_first_x_layers\" katmanında sıfırdan " "\"ful_fan_speed_layer\" katmanında maksimuma doğrusal olarak artırılacaktır. " -"\"full_fan_speed_layer\", \"close_fan_the_first_x_layers\" değerinden düşükse " -"göz ardı edilecektir; bu durumda fan, \"close_fan_the_first_x_layers\" + 1 " -"katmanında izin verilen maksimum hızda çalışacaktır." +"\"full_fan_speed_layer\", \"close_fan_the_first_x_layers\" değerinden " +"düşükse göz ardı edilecektir; bu durumda fan, \"close_fan_the_first_x_layers" +"\" + 1 katmanında izin verilen maksimum hızda çalışacaktır." msgid "Support interface fan speed" msgstr "Destekler için fan hızı" @@ -10996,11 +11180,15 @@ msgid "Arc fitting" msgstr "Ark" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 "" -"G2 ve G3 hareketlerine sahip bir G kodu dosyası elde etmek için bunu " -"etkinleştirin. Ve montaj toleransı çözünürlükle aynıdır" msgid "Add line number" msgstr "Satır numarası ekle" @@ -11027,8 +11215,8 @@ msgid "" "The metallic material of nozzle. This determines the abrasive resistance of " "nozzle, and what kind of filament can be printed" msgstr "" -"Nozulnin metalik malzemesi. Bu, nozulun aşınma direncini ve ne tür filamentin " -"basılabileceğini belirler" +"Nozulnin metalik malzemesi. Bu, nozulun aşınma direncini ve ne tür " +"filamentin basılabileceğini belirler" msgid "Undefine" msgstr "Tanımsız" @@ -11080,8 +11268,8 @@ msgid "Best auto arranging position in range [0,1] w.r.t. bed shape." msgstr "Yatak şekline göre [0,1] aralığında en iyi otomatik düzenleme konumu." msgid "" -"Enable this option if machine has auxiliary part cooling fan. G-code command: " -"M106 P2 S(0-255)." +"Enable this option if machine has auxiliary part cooling fan. G-code " +"command: M106 P2 S(0-255)." msgstr "" "Makinede yardımcı parça soğutma fanı varsa bu seçeneği etkinleştirin. G-code " "komut: M106 P2 S(0-255)." @@ -11124,8 +11312,8 @@ msgid "" msgstr "" "Soğutma fanını başlatmak için hedef hıza düşmeden önce bu süre boyunca " "maksimum fan hızı komutunu verin.\n" -"Bu, düşük PWM/gücün fanın durma noktasından dönmeye başlaması veya fanın daha " -"hızlı hızlanması için yetersiz olabileceği fanlar için kullanışlıdır.\n" +"Bu, düşük PWM/gücün fanın durma noktasından dönmeye başlaması veya fanın " +"daha hızlı hızlanması için yetersiz olabileceği fanlar için kullanışlıdır.\n" "Devre dışı bırakmak için 0'a ayarlayın." msgid "Time cost" @@ -11179,20 +11367,21 @@ msgstr "Nesneleri etiketle" 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 plugin. " -"This settings is NOT compatible with Single Extruder Multi Material setup and " -"Wipe into Object / Wipe into Infill." +"object they belong to, which is useful for the Octoprint CancelObject " +"plugin. This settings is NOT compatible with Single Extruder Multi Material " +"setup and Wipe into Object / Wipe into Infill." msgstr "" "G-Code etiketleme yazdırma hareketlerine ait oldukları nesneyle ilgili " "yorumlar eklemek için bunu etkinleştirin; bu, Octoprint CancelObject " -"eklentisi için kullanışlıdır. Bu ayarlar Tek Ekstruder Çoklu Malzeme kurulumu " -"ve Nesneye Temizleme / Dolguya Temizleme ile uyumlu DEĞİLDİR." +"eklentisi için kullanışlıdır. Bu ayarlar Tek Ekstruder Çoklu Malzeme " +"kurulumu ve Nesneye Temizleme / Dolguya Temizleme ile uyumlu DEĞİLDİR." msgid "Exclude objects" msgstr "Nesneleri hariç tut" msgid "Enable this option to add EXCLUDE OBJECT command in g-code" -msgstr "G koduna EXCLUDE OBJECT komutunu eklemek için bu seçeneği etkinleştirin" +msgstr "" +"G koduna EXCLUDE OBJECT komutunu eklemek için bu seçeneği etkinleştirin" msgid "Verbose G-code" msgstr "Ayrıntılı G kodu" @@ -11230,12 +11419,25 @@ msgstr "" msgid "Infill/Wall overlap" msgstr "Dolgu/Duvar örtüşmesi" +#, 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"Daha iyi yapışma için dolgu alanı duvarla örtüşecek şekilde hafifçe " -"genişletilir. Yüzde değeri seyrek dolgunun çizgi genişliğine göredir" msgid "Speed of internal sparse infill" msgstr "İç seyrek dolgunun hızı" @@ -11245,12 +11447,12 @@ msgstr "Arayüz kabukları" msgid "" "Force the generation of solid shells between adjacent materials/volumes. " -"Useful for multi-extruder prints with translucent materials or manual soluble " -"support material" +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material" msgstr "" "Bitişik malzemeler/hacimler arasında katı kabuk oluşumunu zorlayın. Yarı " -"saydam malzemelerle veya elle çözülebilen destek malzemesiyle çoklu ekstruder " -"baskıları için kullanışlıdır" +"saydam malzemelerle veya elle çözülebilen destek malzemesiyle çoklu " +"ekstruder baskıları için kullanışlıdır" msgid "Maximum width of a segmented region" msgstr "Bölümlere ayrılmış bir bölgenin maksimum genişliği" @@ -11265,8 +11467,8 @@ msgstr "Bölümlere ayrılmış bir bölgenin birbirine kenetlenen derinliği" msgid "Interlocking depth of a segmented region. Zero disables this feature." msgstr "" -"Bölümlere ayrılmış bir bölgenin birbirine kenetlenen derinliği. 0 bu özelliği " -"devre dışı bırakır." +"Bölümlere ayrılmış bir bölgenin birbirine kenetlenen derinliği. 0 bu " +"özelliği devre dışı bırakır." msgid "Ironing Type" msgstr "Ütüleme tipi" @@ -11357,8 +11559,8 @@ msgstr "" "G kodu tadı Klipper olarak ayarlandığında bu seçenek göz ardı edilecektir." msgid "" -"This G-code will be used as a code for the pause print. User can insert pause " -"G-code in gcode viewer" +"This G-code will be used as a code for the pause print. User can insert " +"pause G-code in gcode viewer" msgstr "" "Bu G kodu duraklatma yazdırması için bir kod olarak kullanılacaktır. " "Kullanıcı gcode görüntüleyiciye duraklatma G kodunu ekleyebilir" @@ -11489,8 +11691,8 @@ msgid "Maximum acceleration for travel (M204 T), it only applies to Marlin 2" msgstr "Seyahat için maksimum ivme (M204 T), yalnızca Marlin 2 için geçerlidir" msgid "" -"Part cooling fan speed may be increased when auto cooling is enabled. This is " -"the maximum speed limitation of part cooling fan" +"Part cooling fan speed may be increased when auto cooling is enabled. This " +"is the maximum speed limitation of part cooling fan" msgstr "" "Otomatik soğutma etkinleştirildiğinde parça soğutma fanı hızı artırılabilir. " "Bu, parça soğutma fanının maksimum hız sınırlamasıdır" @@ -11510,8 +11712,8 @@ msgid "Extrusion rate smoothing" msgstr "Ekstrüzyon hızını yumuşatma" msgid "" -"This parameter smooths out sudden extrusion rate changes that happen when the " -"printer transitions from printing a high flow (high speed/larger width) " +"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" @@ -11522,11 +11724,12 @@ msgid "" "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-350mm3/s2 is recommended as this allows for just enough " -"smoothing to assist pressure advance achieve a smoother flow transition.\n" +"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-350mm3/s2 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-15mm3/s2 is a good starting point for direct drive " @@ -11548,13 +11751,13 @@ msgstr "" "\n" "0 değeri özelliği devre dışı bırakır. \n" "\n" -"Yüksek hızlı, yüksek akışlı doğrudan tahrikli bir yazıcı için (Bambu lab veya " -"Voron gibi) bu değer genellikle gerekli değildir. Ancak özellik hızlarının " -"büyük ölçüde değiştiği bazı durumlarda marjinal bir fayda sağlayabilir. " -"Örneğin, çıkıntılar nedeniyle agresif yavaşlamalar olduğunda. Bu durumlarda " -"300-350mm3/s2 civarında yüksek bir değer önerilir çünkü bu, basınç " -"ilerlemesinin daha yumuşak bir akış geçişi elde etmesine yardımcı olmak için " -"yeterli yumuşatmaya izin verir.\n" +"Yüksek hızlı, yüksek akışlı doğrudan tahrikli bir yazıcı için (Bambu lab " +"veya Voron gibi) bu değer genellikle gerekli değildir. Ancak özellik " +"hızlarının büyük ölçüde değiştiği bazı durumlarda marjinal bir fayda " +"sağlayabilir. Örneğin, çıkıntılar nedeniyle agresif yavaşlamalar olduğunda. " +"Bu durumlarda 300-350mm3/s2 civarında yüksek bir değer önerilir çünkü bu, " +"basınç ilerlemesinin daha yumuşak bir akış geçişi elde etmesine yardımcı " +"olmak için yeterli yumuşatmaya izin verir.\n" "\n" "Basınç avansı olmayan daha yavaş yazıcılar için değer çok daha düşük " "ayarlanmalıdır. Doğrudan tahrikli ekstruderler için 10-15mm3/s2 ve Bowden " @@ -11651,8 +11854,8 @@ 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 kodu dosyalarını bir yazıcı ana bilgisayarına yükleyebilir. Bu " -"alan ana bilgisayarın türünü içermelidir." +"Orca Slicer, G kodu dosyalarını bir yazıcı ana bilgisayarına yükleyebilir. " +"Bu alan ana bilgisayarın türünü içermelidir." msgid "Nozzle volume" msgstr "Nozul hacmi" @@ -11693,8 +11896,8 @@ 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 "" -"Ekstruder ucunun, boşaltıldığında filamentin park edildiği konumdan uzaklığı. " -"Bu ayar yazıcı ürün yazılımındaki değerle eşleşmelidir." +"Ekstruder ucunun, boşaltıldığında filamentin park edildiği konumdan " +"uzaklığı. Bu ayar yazıcı ürün yazılımındaki değerle eşleşmelidir." msgid "Extra loading distance" msgstr "Ekstra yükleme mesafesi" @@ -11721,8 +11924,8 @@ msgstr "Dolguda geri çekmeyi azalt" msgid "" "Don't retract when the travel is in infill area absolutely. 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" +"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" msgstr "" "Hareket kesinlikle dolgu alanına girdiğinde geri çekilmeyin. Bu, sızıntının " "görülemeyeceği anlamına gelir. Bu, karmaşık model için geri çekme sürelerini " @@ -11759,11 +11962,11 @@ msgid "Make overhangs printable - Hole area" msgstr "Yazdırılabilir çıkıntı delik alanı oluşturun" 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." +"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 "" -"Modelin tabanındaki bir deliğin, konik malzemeyle doldurulmadan önce maksimum " -"alanı. 0 değeri, model tabanındaki tüm delikleri dolduracaktır." +"Modelin tabanındaki bir deliğin, konik malzemeyle doldurulmadan önce " +"maksimum alanı. 0 değeri, model tabanındaki tüm delikleri dolduracaktır." msgid "mm²" msgstr "mm²" @@ -11773,11 +11976,11 @@ msgstr "Çıkıntılı duvarı algıla" #, c-format, boost-format msgid "" -"Detect the overhang percentage relative to line width and use different speed " -"to print. For 100%% overhang, bridge speed is used." +"Detect the overhang percentage relative to line width and use different " +"speed to print. For 100%% overhang, bridge speed is used." msgstr "" -"Çizgi genişliğine göre çıkıntı yüzdesini tespit edin ve yazdırmak için farklı " -"hızlar kullanın. %%100 çıkıntı için köprü hızı kullanılır." +"Çizgi genişliğine göre çıkıntı yüzdesini tespit edin ve yazdırmak için " +"farklı hızlar kullanın. %%100 çıkıntı için köprü hızı kullanılır." msgid "" "Line width of inner wall. If expressed as a %, it will be computed over the " @@ -11799,8 +12002,8 @@ 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" +"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." @@ -11821,10 +12024,11 @@ msgid "" "argument, and they can access the Orca Slicer config settings by reading " "environment variables." msgstr "" -"Çıktı G-kodunu özel komut dosyaları aracılığıyla işlemek istiyorsanız, mutlak " -"yollarını burada listeleyin. Birden fazla betiği noktalı virgülle ayırın. " -"Betiklere ilk argüman olarak G-code dosyasının mutlak yolu aktarılır ve ortam " -"değişkenlerini okuyarak Orca Slicer yapılandırma ayarlarına erişebilirler." +"Çıktı G-kodunu özel komut dosyaları aracılığıyla işlemek istiyorsanız, " +"mutlak yollarını burada listeleyin. Birden fazla betiği noktalı virgülle " +"ayırın. Betiklere ilk argüman olarak G-code dosyasının mutlak yolu aktarılır " +"ve ortam değişkenlerini okuyarak Orca Slicer yapılandırma ayarlarına " +"erişebilirler." msgid "Printer notes" msgstr "Yazıcı notları" @@ -11836,7 +12040,8 @@ msgid "Raft contact Z distance" msgstr "Raft kontak Z mesafesi" msgid "Z gap between object and raft. Ignored for soluble interface" -msgstr "Nesne ve raft arasındaki Z boşluğu. Çözünür arayüz için göz ardı edildi" +msgstr "" +"Nesne ve raft arasındaki Z boşluğu. Çözünür arayüz için göz ardı edildi" msgid "Raft expansion" msgstr "Raft genişletme" @@ -11865,8 +12070,8 @@ msgid "" "Object will be raised by this number of support layers. Use this function to " "avoid wrapping when print ABS" msgstr "" -"Nesne bu sayıdaki destek katmanı tarafından yükseltilecektir. ABS yazdırırken " -"sarmayı önlemek için bu işlevi kullanın" +"Nesne bu sayıdaki destek katmanı tarafından yükseltilecektir. ABS " +"yazdırırken sarmayı önlemek için bu işlevi kullanın" msgid "" "G-code path is genereated after simplifing the contour of model to avoid too " @@ -11881,7 +12086,8 @@ msgid "Travel distance threshold" msgstr "Seyahat mesafesi" msgid "" -"Only trigger retraction when the travel distance is longer than this threshold" +"Only trigger retraction when the travel distance is longer than this " +"threshold" msgstr "" "Geri çekmeyi yalnızca hareket mesafesi bu eşikten daha uzun olduğunda " "tetikleyin" @@ -11889,7 +12095,8 @@ msgstr "" msgid "Retract amount before wipe" msgstr "Temizleme işlemi öncesi geri çekme miktarı" -msgid "The length of fast retraction before wipe, relative to retraction length" +msgid "" +"The length of fast retraction before wipe, relative to retraction length" msgstr "" "Geri çekme uzunluğuna göre, temizlemeden önce hızlı geri çekilmenin uzunluğu" @@ -12106,13 +12313,13 @@ msgid "Seam gap" msgstr "Dikiş boşluğu" 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%." +"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 "" -"Kapalı döngü ekstrüzyonda dikişin görünürlüğünü azaltmak için döngü kesintiye " -"uğrar ve belirli bir miktarda kısaltılır.\n" +"Kapalı döngü ekstrüzyonda dikişin görünürlüğünü azaltmak için döngü " +"kesintiye uğrar ve belirli bir miktarda kısaltılır.\n" "Bu miktar milimetre cinsinden veya mevcut ekstruder çapının yüzdesi olarak " "belirtilebilir. Bu parametrenin varsayılan değeri %10'dur." @@ -12121,8 +12328,8 @@ msgstr "Atkı birleşim dikişi (beta)" msgid "Use scarf joint to minimize seam visibility and increase seam strength." msgstr "" -"Dikiş görünürlüğünü en aza indirmek ve dikiş mukavemetini arttırmak için atkı " -"birleşimini kullanın." +"Dikiş görünürlüğünü en aza indirmek ve dikiş mukavemetini arttırmak için " +"atkı birleşimini kullanın." msgid "Conditional scarf joint" msgstr "Koşullu atkı birleşimi" @@ -12140,9 +12347,9 @@ msgstr "Koşullu açı eşiği" 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°." +"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 "" "Bu seçenek, koşullu bir atkı eklem dikişi uygulamak için eşik açısını " "ayarlar.\n" @@ -12157,8 +12364,8 @@ msgstr "Koşullu çıkıntı eşiği" 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 " +"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 "" "Bu seçenek, atkı bağlantı dikişlerinin uygulanması için sarkma eşiğini " @@ -12172,22 +12379,22 @@ msgstr "Atkı birleşim hızı" 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%." +"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 "" "Bu seçenek, atkı bağlantılarının yazdırma hızını ayarlar. Atkı " "bağlantılarının yavaş bir hızda (100 mm/s'den az) yazdırılması tavsiye " "edilir. Ayarlanan hızın dış veya iç duvarların hızından önemli ölçüde farklı " -"olması durumunda 'Ekstrüzyon hızı yumuşatma' seçeneğinin etkinleştirilmesi de " -"tavsiye edilir. Burada belirtilen hız, dış veya iç duvarların hızından daha " -"yüksekse, yazıcı varsayılan olarak iki hızdan daha yavaş olanı seçecektir. " -"Yüzde olarak belirtildiğinde (örn. %80), hız, ilgili dış veya iç duvar hızına " -"göre hesaplanır. Varsayılan değer %100 olarak ayarlanmıştır." +"olması durumunda 'Ekstrüzyon hızı yumuşatma' seçeneğinin etkinleştirilmesi " +"de tavsiye edilir. Burada belirtilen hız, dış veya iç duvarların hızından " +"daha yüksekse, yazıcı varsayılan olarak iki hızdan daha yavaş olanı " +"seçecektir. Yüzde olarak belirtildiğinde (örn. %80), hız, ilgili dış veya iç " +"duvar hızına göre hesaplanır. Varsayılan değer %100 olarak ayarlanmıştır." msgid "Scarf joint flow ratio" msgstr "Atkı birleşimi akış oranı" @@ -12201,8 +12408,8 @@ msgstr "Atkı başlangıç ​​yüksekliği" 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." +"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 "" "Atkı başlangıç yüksekliği.\n" "Bu miktar milimetre cinsinden veya geçerli katman yüksekliğinin yüzdesi " @@ -12221,8 +12428,8 @@ msgid "" "Length of the scarf. Setting this parameter to zero effectively disables the " "scarf." msgstr "" -"Atkının uzunluğu. Bu parametrenin 0 a ayarlanması atkıyı dolaylı yoldan devre " -"dışı bırakır." +"Atkının uzunluğu. Bu parametrenin 0 a ayarlanması atkıyı dolaylı yoldan " +"devre dışı bırakır." msgid "Scarf steps" msgstr "Atkı kademesi" @@ -12263,15 +12470,15 @@ msgid "Wipe before external loop" msgstr "Harici döngüden önce silin" msgid "" -"To minimise visibility of potential overextrusion at the start of an external " -"perimeter when printing with Outer/Inner or Inner/Outer/Inner wall print " -"order, the deretraction 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" +"To minimise visibility of potential overextrusion at the start of an " +"external perimeter when printing with Outer/Inner or Inner/Outer/Inner wall " +"print order, the deretraction 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 deretraction move." +"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 deretraction move." msgstr "" "Dış/İç veya İç/Dış/İç duvar baskı sırası ile yazdırırken, dış çevrenin " "başlangıcında olası aşırı çıkıntının görünürlüğünü en aza indirmek için, " @@ -12280,8 +12487,8 @@ msgstr "" "yüzeyden gizlenir. \n" "\n" "Bu, Dış/İç veya İç/Dış/İç duvar yazdırma sırası ile yazdırırken " -"kullanışlıdır, çünkü bu modlarda, bir geri çekilme hareketinin hemen ardından " -"bir dış çevrenin yazdırılması daha olasıdır." +"kullanışlıdır, çünkü bu modlarda, bir geri çekilme hareketinin hemen " +"ardından bir dış çevrenin yazdırılması daha olasıdır." msgid "Wipe speed" msgstr "Temizleme hızı" @@ -12308,11 +12515,29 @@ msgstr "Etek yüksekliği" msgid "How many layers of skirt. Usually only one layer" msgstr "Etek katman sayısı. Genellikle tek katman" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Etek sayısı" msgid "Number of loops for the skirt. Zero means disabling skirt" -msgstr "Etek için ilmek sayısı. Sıfır, eteği devre dışı bırakmak anlamına gelir" +msgstr "" +"Etek için ilmek sayısı. Sıfır, eteği devre dışı bırakmak anlamına gelir" msgid "Skirt speed" msgstr "Etek hızı" @@ -12322,6 +12547,17 @@ msgstr "" "Eteğin hızı, mm/s cinsinden. Sıfır, varsayılan katman ekstrüzyon hızının " "kullanılması anlamına gelir." +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -12341,8 +12577,8 @@ msgstr "" "bırakmıştır" msgid "" -"Line width of internal solid infill. If expressed as a %, it will be computed " -"over the nozzle diameter." +"Line width of internal solid infill. If expressed as a %, it will be " +"computed over the nozzle diameter." msgstr "" "İç katı dolgunun çizgi genişliği. % olarak ifade edilirse Nozul çapı " "üzerinden hesaplanacaktır." @@ -12356,8 +12592,8 @@ msgid "" "generated model has no seam" msgstr "" "Spiralleştirme, dış konturun z hareketlerini yumuşatır. Ve katı bir modeli, " -"katı alt katmanlara sahip tek duvarlı bir baskıya dönüştürür. Oluşturulan son " -"modelde dikiş yok." +"katı alt katmanlara sahip tek duvarlı bir baskıya dönüştürür. Oluşturulan " +"son modelde dikiş yok." msgid "Smooth Spiral" msgstr "Pürüzsüz spiral" @@ -12382,11 +12618,12 @@ msgstr "" 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, prime tower is required for smooth mode to wipe nozzle." +"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, prime tower is required for smooth mode to " +"wipe nozzle." msgstr "" "Düzgün veya geleneksel mod seçilirse her baskı için bir hızlandırılmış video " "oluşturulacaktır. Her katman basıldıktan sonra oda kamerasıyla anlık görüntü " @@ -12447,9 +12684,10 @@ msgid "No sparse layers (beta)" msgstr "Seyrek katman yok (beta)" msgid "" -"If enabled, the wipe tower will not be printed on layers with no toolchanges. " -"On layers with a toolchange, extruder will travel downward to print the wipe " -"tower. User is responsible for ensuring there is no collision with the print." +"If enabled, the wipe tower will not be printed on layers with no " +"toolchanges. On layers with a toolchange, extruder will travel downward to " +"print the wipe tower. User is responsible for ensuring there is no collision " +"with the print." msgstr "" "Etkinleştirilirse, silme kulesi araç değişimi olmayan katmanlarda " "yazdırılmayacaktır. Araç değişimi olan katmanlarda, ekstruder silme kulesini " @@ -12474,16 +12712,16 @@ msgid "" "triangle mesh slicing. The gap closing operation may reduce the final print " "resolution, therefore it is advisable to keep the value reasonably low." msgstr "" -"Üçgen mesh dilimleme sırasında 2x boşluk kapatma yarıçapından küçük çatlaklar " -"doldurulmaktadır. Boşluk kapatma işlemi son yazdırma çözünürlüğünü " +"Üçgen mesh dilimleme sırasında 2x boşluk kapatma yarıçapından küçük " +"çatlaklar doldurulmaktadır. Boşluk kapatma işlemi son yazdırma çözünürlüğünü " "düşürebilir, bu nedenle değerin oldukça düşük tutulması tavsiye edilir." msgid "Slicing Mode" msgstr "Dilimleme modu" msgid "" -"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close " -"all holes in the model." +"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " +"close all holes in the model." msgstr "" "3DLabPrint uçak modelleri için \"Çift-tek\" seçeneğini kullanın. Modeldeki " "tüm delikleri kapatmak için \"Delikleri kapat\"ı kullanın." @@ -12507,9 +12745,10 @@ msgid "" "print bed, set this to -0.3 (or fix your endstop)." msgstr "" "Bu değer, çıkış G-kodu içindeki tüm Z koordinatlarına eklenir (veya " -"çıkarılır).Bu, kötü Z endstop konumunu telafi etmek için kullanılır: örneğin, " -"endstop sıfır noktanız aslında nozulu baskı tablasından 0.3mm uzakta " -"bırakıyorsa, bu değeri -0.3 olarak ayarlayın (veya endstop'unuzu düzeltin)." +"çıkarılır).Bu, kötü Z endstop konumunu telafi etmek için kullanılır: " +"örneğin, endstop sıfır noktanız aslında nozulu baskı tablasından 0.3mm " +"uzakta bırakıyorsa, bu değeri -0.3 olarak ayarlayın (veya endstop'unuzu " +"düzeltin)." msgid "Enable support" msgstr "Desteği etkinleştir" @@ -12563,7 +12802,8 @@ msgid "" "Only create support for critical regions including sharp tail, cantilever, " "etc." msgstr "" -"Yalnızca keskin kuyruk, konsol vb. gibi kritik bölgeler için destek oluşturun." +"Yalnızca keskin kuyruk, konsol vb. gibi kritik bölgeler için destek " +"oluşturun." msgid "Remove small overhangs" msgstr "Küçük çıkıntıları kaldır" @@ -12600,7 +12840,8 @@ msgstr "Taban için arayüz filamentini azaltın" msgid "" "Avoid using support interface filament to print support base if possible." msgstr "" -"Destek tabanını yazdırmak için destek arayüzü filamentini kullanmaktan kaçının" +"Destek tabanını yazdırmak için destek arayüzü filamentini kullanmaktan " +"kaçının" msgid "" "Line width of support. If expressed as a %, it will be computed over the " @@ -12675,8 +12916,8 @@ msgstr "Arayüz deseni" msgid "" "Line pattern of support interface. Default pattern for non-soluble support " -"interface is Rectilinear, while default pattern for soluble support interface " -"is Concentric" +"interface is Rectilinear, while default pattern for soluble support " +"interface is Concentric" msgstr "" "Destek arayüzünün çizgi deseni. Çözünmeyen destek arayüzü için varsayılan " "model Doğrusaldır, çözünebilir destek arayüzü için varsayılan model ise " @@ -12705,11 +12946,12 @@ msgid "" "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." +"aggressively and save a lot of material (default organic), while hybrid " +"style will create similar structure to normal support under large flat " +"overhangs." msgstr "" -"Destek stil ve şekli. Normal destek için, destekleri düzenli bir ızgara içine " -"projelendirmek daha stabil destekler oluşturacaktır (varsayılan), aynı " +"Destek stil ve şekli. Normal destek için, destekleri düzenli bir ızgara " +"içine projelendirmek daha stabil destekler oluşturacaktır (varsayılan), aynı " "zamanda sıkı destek kuleleri malzeme tasarrufu sağlar ve nesne üzerindeki " "izleri azaltır.\n" "Ağaç destek için, ince ve organik tarz, dalları daha etkili bir şekilde " @@ -12758,8 +13000,8 @@ msgid "Tree support branch angle" msgstr "Ağaç desteği dal açısı" msgid "" -"This setting determines the maximum overhang angle that t he branches of tree " -"support allowed to make.If the angle is increased, the branches can be " +"This setting determines the maximum overhang angle that t he branches of " +"tree support allowed to make.If the angle is increased, the branches can be " "printed more horizontally, allowing them to reach farther." msgstr "" "Bu ayar, ağaç desteğinin dallarının oluşmasına izin verilen maksimum çıkıntı " @@ -12791,10 +13033,11 @@ msgstr "Dal Yoğunluğu" #. 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." +"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 "" "Dalların uçlarını oluşturmak için kullanılan destek yapısının yoğunluğunu " "ayarlar. Daha yüksek bir değer daha iyi çıkıntılarla sonuçlanır, ancak " @@ -12806,8 +13049,8 @@ msgid "Adaptive layer height" msgstr "Uyarlanabilir katman yüksekliği" msgid "" -"Enabling this option means the height of tree support layer except the first " -"will be automatically calculated " +"Enabling this option means the height of tree support layer except the " +"first will be automatically calculated " msgstr "" "Bu seçeneğin etkinleştirilmesi, ilki hariç ağaç destek katmanının " "yüksekliğinin otomatik olarak hesaplanacağı anlamına gelir " @@ -12862,8 +13105,8 @@ msgstr "Çift duvarlı dal çapı" #. TRN PrintSettings: "Organic supports" > "Branch Diameter" msgid "" "Branches with area larger than the area of a circle of this diameter will be " -"printed with double walls for stability. Set this value to zero for no double " -"walls." +"printed with double walls for stability. Set this value to zero for no " +"double walls." msgstr "" "Bu çaptaki bir dairenin alanından daha büyük alana sahip dallar, stabilite " "için çift duvarlı olarak basılacaktır. Çift duvar olmaması için bu değeri " @@ -12893,8 +13136,8 @@ msgid "" "added before \"machine_start_gcode\"\n" "G-code commands: M141/M191 S(0-255)" msgstr "" -"Hazne sıcaklığı kontrolü için bu seçeneği etkinleştirin. Önce bir M191 komutu " -"eklenecek \"machine_start_gcode\"\n" +"Hazne sıcaklığı kontrolü için bu seçeneği etkinleştirin. Önce bir M191 " +"komutu eklenecek \"machine_start_gcode\"\n" "G-code komut: M141/M191 S(0-255)" msgid "Chamber temperature" @@ -12972,11 +13215,11 @@ 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 determained by top shell " -"layers" +"is disabled and thickness of top shell is absolutely determained by top " +"shell layers" msgstr "" -"Üst kabuk katmanları tarafından hesaplanan kalınlık bu değerden daha ince ise " -"dilimleme sırasında üst katı katmanların sayısı artırılır. Bu, katman " +"Üst kabuk katmanları tarafından hesaplanan kalınlık bu değerden daha ince " +"ise dilimleme sırasında üst katı katmanların sayısı artırılır. Bu, katman " "yüksekliği küçük olduğunda kabuğun çok ince olmasını önleyebilir. 0, bu " "ayarın devre dışı olduğu ve üst kabuğun kalınlığının kesinlikle üst kabuk " "katmanları tarafından belirlendiği anlamına gelir" @@ -12999,11 +13242,12 @@ msgid "Wipe Distance" msgstr "Temizleme mesafesi" msgid "" -"Discribe how long the nozzle will move along the last path when retracting. \n" +"Discribe 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" +"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." @@ -13011,9 +13255,9 @@ msgstr "" "Geri çekilirken nozulun son yol boyunca ne kadar süre hareket edeceğini " "açıklayın. \n" "\n" -"Silme işleminin ne kadar sürdüğüne, ekstruder/filament geri çekme ayarlarının " -"ne kadar hızlı ve uzun olduğuna bağlı olarak, kalan filamanı geri çekmek için " -"bir geri çekme hareketine ihtiyaç duyulabilir. \n" +"Silme işleminin ne kadar sürdüğüne, ekstruder/filament geri çekme " +"ayarlarının ne kadar hızlı ve uzun olduğuna bağlı olarak, kalan filamanı " +"geri çekmek için bir geri çekme hareketine ihtiyaç duyulabilir. \n" "\n" "Aşağıdaki silme ayarından önce geri çekme miktarına bir değer ayarlamak, " "silme işleminden önce aşırı geri çekme işlemini gerçekleştirecektir, aksi " @@ -13063,8 +13307,8 @@ msgid "" "Angle at the apex of the cone that is used to stabilize the wipe tower. " "Larger angle means wider base." msgstr "" -"Silme kulesini stabilize etmek için kullanılan koninin tepe noktasındaki açı. " -"Daha büyük açı daha geniş taban anlamına gelir." +"Silme kulesini stabilize etmek için kullanılan koninin tepe noktasındaki " +"açı. Daha büyük açı daha geniş taban anlamına gelir." msgid "Wipe tower purge lines spacing" msgstr "Silme kulesi temizleme hatları aralığı" @@ -13072,6 +13316,19 @@ msgstr "Silme kulesi temizleme hatları aralığı" msgid "Spacing of purge lines on the wipe tower." msgstr "Silme kulesindeki boşaltma hatlarının aralığı." +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "Silme kulesi ekstruderi" @@ -13091,8 +13348,8 @@ msgid "" "volumes below." msgstr "" "Bu vektör, silme kulesinde kullanılan her bir araçtan/araca geçiş için " -"gerekli hacimleri kaydeder. Bu değerler, aşağıdaki tam temizleme hacimlerinin " -"oluşturulmasını basitleştirmek için kullanılır." +"gerekli hacimleri kaydeder. Bu değerler, aşağıdaki tam temizleme " +"hacimlerinin oluşturulmasını basitleştirmek için kullanılır." msgid "" "Purging after filament change will be done inside objects' infills. This may " @@ -13116,13 +13373,13 @@ msgstr "" msgid "" "This object will be used to purge the nozzle after a filament change to save " -"filament and decrease the print time. Colours of the objects will be mixed as " -"a result. It will not take effect, unless the prime tower is enabled." +"filament and decrease the print time. Colours of the objects will be mixed " +"as a result. It will not take effect, unless the prime tower is enabled." msgstr "" -"Bu nesne, filamentten tasarruf etmek ve baskı süresini azaltmak için filament " -"değişiminden sonra nozulu temizlemek için kullanılacaktır. Sonuç olarak " -"nesnelerin renkleri karıştırılacaktır. Prime tower etkinleştirilmediği sürece " -"etkili olmayacaktır." +"Bu nesne, filamentten tasarruf etmek ve baskı süresini azaltmak için " +"filament değişiminden sonra nozulu temizlemek için kullanılacaktır. Sonuç " +"olarak nesnelerin renkleri karıştırılacaktır. Prime tower " +"etkinleştirilmediği sürece etkili olmayacaktır." msgid "Maximal bridging distance" msgstr "Maksimum köprüleme mesafesi" @@ -13131,8 +13388,8 @@ msgid "Maximal distance between supports on sparse infill sections." msgstr "" "Bu nesne, filamentten tasarruf etmek ve baskı süresini azaltmak için bir " "filament değişiminden sonra nozulu temizlemek için kullanılacaktır. Sonuç " -"olarak nesnelerin renkleri karıştırılacaktır. Prime tower etkinleştirilmediği " -"sürece etkili olmayacaktır." +"olarak nesnelerin renkleri karıştırılacaktır. Prime tower " +"etkinleştirilmediği sürece etkili olmayacaktır." msgid "X-Y hole compensation" msgstr "X-Y delik dengeleme" @@ -13157,8 +13414,8 @@ msgid "" "assembling issue" msgstr "" "Nesnenin konturu XY düzleminde yapılandırılan değer kadar büyütülür veya " -"küçültülür. Pozitif değer konturu büyütür. Negatif değer konturu küçültür. Bu " -"fonksiyon, nesnenin montaj sorunu olduğunda boyutu hafifçe ayarlamak için " +"küçültülür. Pozitif değer konturu büyütür. Negatif değer konturu küçültür. " +"Bu fonksiyon, nesnenin montaj sorunu olduğunda boyutu hafifçe ayarlamak için " "kullanılır" msgid "Convert holes to polyholes" @@ -13182,14 +13439,14 @@ msgstr "Çokgen delik tespiti marjı" 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 leway to broaden " -"the detection.\n" +"be on the circle circumference. This setting allows you some leway to " +"broaden the detection.\n" "In mm or in % of the radius." msgstr "" "Bir noktanın dairenin tahmini yarıçapına göre maksimum sapması.\n" "Silindirler genellikle farklı boyutlarda üçgenler olarak ihraç edildiğinden, " -"noktalar daire çevresinde olmayabilir. Bu ayar, algılamayı genişletmeniz için " -"size biraz alan sağlar.\n" +"noktalar daire çevresinde olmayabilir. Bu ayar, algılamayı genişletmeniz " +"için size biraz alan sağlar.\n" "inc mm cinsinden veya yarıçapın %'si cinsinden." msgid "Polyhole twist" @@ -13212,8 +13469,8 @@ msgid "Format of G-code thumbnails" msgstr "G kodu küçük resimlerinin formatı" msgid "" -"Format of G-code thumbnails: PNG for best quality, JPG for smallest size, QOI " -"for low memory firmware" +"Format of G-code thumbnails: PNG for best quality, JPG for smallest size, " +"QOI for low memory firmware" msgstr "" "G kodu küçük resimlerinin formatı: En iyi kalite için PNG, en küçük boyut " "için JPG, düşük bellekli donanım yazılımı için QOI" @@ -13234,11 +13491,11 @@ msgstr "" 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" +"very thin areas is used gap-fill. Arachne engine produces walls with " +"variable extrusion width" msgstr "" -"Klasik duvar oluşturucu sabit ekstrüzyon genişliğine sahip duvarlar üretir ve " -"çok ince alanlar için boşluk doldurma kullanılır. Arachne motoru değişken " +"Klasik duvar oluşturucu sabit ekstrüzyon genişliğine sahip duvarlar üretir " +"ve çok ince alanlar için boşluk doldurma kullanılır. Arachne motoru değişken " "ekstrüzyon genişliğine sahip duvarlar üretir" msgid "Classic" @@ -13265,19 +13522,20 @@ msgstr "Duvar geçiş filtresi oranı" 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" +"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 "" -"Fazladan bir duvar ile bir eksik arasında ileri geri geçişi önleyin. Bu kenar " -"boşluğu, [Minimum duvar genişliği - kenar boşluğu, 2 * Minimum duvar " +"Fazladan bir duvar ile bir eksik arasında ileri geri geçişi önleyin. Bu " +"kenar boşluğu, [Minimum duvar genişliği - kenar boşluğu, 2 * Minimum duvar " "genişliği + kenar boşluğu] şeklinde takip eden ekstrüzyon genişlikleri " "aralığını genişletir. Bu marjın arttırılması geçiş sayısını azaltır, bu da " "ekstrüzyonun başlama/durma sayısını ve seyahat süresini azaltır. Bununla " -"birlikte, büyük ekstrüzyon genişliği değişimi, yetersiz veya aşırı ekstrüzyon " -"sorunlarına yol açabilir. Nozul çapına göre yüzde olarak ifade edilir" +"birlikte, büyük ekstrüzyon genişliği değişimi, yetersiz veya aşırı " +"ekstrüzyon sorunlarına yol açabilir. Nozul çapına göre yüzde olarak ifade " +"edilir" msgid "Wall transitioning threshold angle" msgstr "Duvar geçiş açısı" @@ -13289,11 +13547,11 @@ msgid "" "this setting reduces the number and length of these center walls, but may " "leave gaps or overextrude" msgstr "" -"Çift ve tek sayıdaki duvarlar arasında geçişler ne zaman oluşturulmalıdır? Bu " -"ayardan daha büyük bir açıya sahip bir kama şeklinin geçişleri olmayacak ve " -"kalan alanı dolduracak şekilde ortada hiçbir duvar basılmayacaktır. Bu ayarın " -"düşürülmesi, bu merkez duvarların sayısını ve uzunluğunu azaltır ancak " -"boşluklara veya aşırı çıkıntıya neden olabilir" +"Çift ve tek sayıdaki duvarlar arasında geçişler ne zaman oluşturulmalıdır? " +"Bu ayardan daha büyük bir açıya sahip bir kama şeklinin geçişleri olmayacak " +"ve kalan alanı dolduracak şekilde ortada hiçbir duvar basılmayacaktır. Bu " +"ayarın düşürülmesi, bu merkez duvarların sayısını ve uzunluğunu azaltır " +"ancak boşluklara veya aşırı çıkıntıya neden olabilir" msgid "Wall distribution count" msgstr "Duvar dağılım sayısı" @@ -13309,9 +13567,9 @@ msgid "Minimum feature size" msgstr "Minimum özellik boyutu" msgid "" -"Minimum thickness of thin features. Model features that are thinner than this " -"value will not be printed, while features thicker than the Minimum feature " -"size will be widened to the Minimum wall width. It's expressed as a " +"Minimum thickness of thin features. Model features that are thinner than " +"this value will not be printed, while features thicker than the Minimum " +"feature size will be widened to the Minimum wall width. It's expressed as a " "percentage over nozzle diameter" msgstr "" "İnce özellikler için minimum kalınlık. Bu değerden daha ince olan model " @@ -13328,27 +13586,28 @@ msgid "" "\n" "NOTE: Bottom and top surfaces will not be affected by this value to prevent " "visual gaps on the ouside 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 visibile if this setting is set above " -"the default value of 0.5, or if single-wall top surfaces is enabled." +"Advanced settings below to adjust the sensitivity of what is considered a " +"top-surface. 'One wall threshold' is only visibile if this setting is set " +"above the default value of 0.5, or if single-wall top surfaces is enabled." msgstr "" "Yazdırma süresini artırabilecek kısa, kapatılmamış duvarların yazdırılmasını " "önlemek için bu değeri ayarlayın. Daha yüksek değerler daha fazla ve daha " "uzun duvarları kaldırır.\n" "\n" -"NOT: Modelin dış kısmında görsel boşluk kalmaması için alt ve üst yüzeyler bu " -"değerden etkilenmeyecektir. Üst yüzey olarak kabul edilen şeyin hassasiyetini " -"ayarlamak için aşağıdaki Gelişmiş ayarlarda 'Tek duvar eşiği'ni ayarlayın. " -"'Tek duvar eşiği' yalnızca bu ayar varsayılan değer olan 0,5'in üzerine " -"ayarlandığında veya tek duvarlı üst yüzeyler etkinleştirildiğinde görünür." +"NOT: Modelin dış kısmında görsel boşluk kalmaması için alt ve üst yüzeyler " +"bu değerden etkilenmeyecektir. Üst yüzey olarak kabul edilen şeyin " +"hassasiyetini ayarlamak için aşağıdaki Gelişmiş ayarlarda 'Tek duvar " +"eşiği'ni ayarlayın. 'Tek duvar eşiği' yalnızca bu ayar varsayılan değer olan " +"0,5'in üzerine ayarlandığında veya tek duvarlı üst yüzeyler " +"etkinleştirildiğinde görünür." msgid "First layer minimum wall width" msgstr "İlk katman minimum duvar genişliği" 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." +"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 "" "İlk katman için kullanılması gereken minimum duvar genişliğinin nozul ile " "aynı boyuta ayarlanması tavsiye edilir. Bu ayarlamanın yapışmayı artırması " @@ -13373,8 +13632,8 @@ msgstr "Dar iç katı dolguyu tespit et" msgid "" "This option will auto detect narrow internal solid infill area. If enabled, " -"concentric pattern will be used for the area to speed printing up. Otherwise, " -"rectilinear pattern is used defaultly." +"concentric pattern will be used for the area to speed printing up. " +"Otherwise, rectilinear pattern is used defaultly." msgstr "" "Bu seçenek dar dahili katı dolgu alanını otomatik olarak algılayacaktır. " "Etkinleştirilirse, yazdırmayı hızlandırmak amacıyla alanda eşmerkezli desen " @@ -13420,7 +13679,8 @@ msgstr "Yönlendirme Seçenekleri" msgid "Orient options: 0-disable, 1-enable, others-auto" msgstr "" -"Yönlendirme seçenekleri: 0-devre dışı bırak, 1-etkinleştir, diğerleri-otomatik" +"Yönlendirme seçenekleri: 0-devre dışı bırak, 1-etkinleştir, diğerleri-" +"otomatik" msgid "Rotation angle around the Z axis in degrees." msgstr "Z ekseni etrafında derece cinsinden dönüş açısı." @@ -13465,13 +13725,13 @@ msgstr "" "ettiğini bilmesi için bu değişkene yazması gerekir." 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 PrusaSlicer " -"deretracts correctly when it gets control back." +"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 " +"PrusaSlicer deretracts correctly when it gets control back." msgstr "" "Özel G kodu bloğunun başlangıcındaki geri çekilme durumu. Özel G kodu " -"ekstruder eksenini hareket ettirirse, Slicer'ın kontrolü geri aldığında doğru " -"şekilde geri çekme yapması için bu değişkene yazması gerekir." +"ekstruder eksenini hareket ettirirse, Slicer'ın kontrolü geri aldığında " +"doğru şekilde geri çekme yapması için bu değişkene yazması gerekir." msgid "Extra deretraction" msgstr "Ekstra deretraksiyon" @@ -13556,18 +13816,18 @@ msgid "" "Weight per extruder extruded during the entire print. Calculated from " "filament_density value in Filament Settings." msgstr "" -"Baskının tamamı boyunca ekstrüzyon yapılan ekstruder başına ağırlık. Filament " -"Ayarlarındaki filaman yoğunluğu değerinden hesaplanır." +"Baskının tamamı boyunca ekstrüzyon yapılan ekstruder başına ağırlık. " +"Filament Ayarlarındaki filaman yoğunluğu değerinden hesaplanır." msgid "Total weight" msgstr "Toplam ağırlık" msgid "" -"Total weight of the print. Calculated from filament_density value in Filament " -"Settings." +"Total weight of the print. Calculated from filament_density value in " +"Filament Settings." msgstr "" -"Baskının toplam ağırlığı. Filament Ayarlarındaki filaman yoğunluğu değerinden " -"hesaplanır." +"Baskının toplam ağırlığı. Filament Ayarlarındaki filaman yoğunluğu " +"değerinden hesaplanır." msgid "Total layer count" msgstr "Toplam katman sayısı" @@ -13616,8 +13876,8 @@ msgstr "" "cinsindendir." msgid "" -"The vector has two elements: x and y dimension of the bounding box. Values in " -"mm." +"The vector has two elements: x and y dimension of the bounding box. Values " +"in mm." msgstr "" "Vektörün iki öğesi vardır: sınırlayıcı kutunun x ve y boyutu. Değerler mm " "cinsindendir." @@ -13629,8 +13889,8 @@ 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 "" -"Birinci katmanın dışbükey gövdesinin noktalarının vektörü. Her öğe şu formata " -"sahiptir:'[x, y]' (x ve y, mm cinsinden kayan noktalı sayılardır)." +"Birinci katmanın dışbükey gövdesinin noktalarının vektörü. Her öğe şu " +"formata sahiptir:'[x, y]' (x ve y, mm cinsinden kayan noktalı sayılardır)." msgid "Bottom-left corner of first layer bounding box" msgstr "İlk katman sınırlayıcı kutusunun sol alt köşesi" @@ -13826,7 +14086,8 @@ msgstr "Sağlanan dosya boş olduğundan okunamadı" msgid "Unknown file format. Input file must have .3mf or .zip.amf extension." msgstr "" -"Bilinmeyen dosya formatı. Giriş dosyası .3mf veya .zip.amf uzantılı olmalıdır." +"Bilinmeyen dosya formatı. Giriş dosyası .3mf veya .zip.amf uzantılı " +"olmalıdır." msgid "Canceled" msgstr "İptal edildi" @@ -13948,7 +14209,8 @@ msgstr "yeni ön ayar oluşturma başarısız oldu." msgid "" "Are you sure to cancel the current calibration and return to the home page?" msgstr "" -"Mevcut kalibrasyonu iptal edip ana sayfaya dönmek istediğinizden emin misiniz?" +"Mevcut kalibrasyonu iptal edip ana sayfaya dönmek istediğinizden emin " +"misiniz?" msgid "No Printer Connected!" msgstr "Yazıcı Bağlı Değil!" @@ -13963,16 +14225,16 @@ msgid "The input value size must be 3." msgstr "Giriş değeri boyutu 3 olmalıdır." 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" +"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 "" "Bu makine tipi, püskürtme ucu başına yalnızca 16 geçmiş sonucu tutabilir. " -"Mevcut geçmiş sonuçları silebilir ve ardından kalibrasyona başlayabilirsiniz. " -"Veya kalibrasyona devam edebilirsiniz ancak yeni kalibrasyon geçmişi " -"sonuçları oluşturamazsınız.\n" +"Mevcut geçmiş sonuçları silebilir ve ardından kalibrasyona " +"başlayabilirsiniz. Veya kalibrasyona devam edebilirsiniz ancak yeni " +"kalibrasyon geçmişi sonuçları oluşturamazsınız.\n" "Hala kalibrasyona devam etmek istiyor musunuz?" msgid "Connecting to printer..." @@ -13986,9 +14248,9 @@ msgstr "Akış Dinamiği Kalibrasyonu sonucu yazıcıya kaydedildi" #, c-format, 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?" +"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 "" "Aynı ada sahip geçmiş bir kalibrasyon sonucu zaten var: %s. Aynı ada sahip " "sonuçlardan yalnızca biri kaydedilir. Geçmiş sonucu geçersiz kılmak " @@ -13999,8 +14261,8 @@ msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." msgstr "" -"Bu makine türü püskürtme ucu başına yalnızca %d geçmiş sonucunu tutabilir. Bu " -"sonuç kaydedilmeyecek." +"Bu makine türü püskürtme ucu başına yalnızca %d geçmiş sonucunu tutabilir. " +"Bu sonuç kaydedilmeyecek." msgid "Internal Error" msgstr "İç hata" @@ -14019,10 +14281,10 @@ msgstr "Akış Dinamiği Kalibrasyonuna ne zaman ihtiyacınız olur" 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" +"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." @@ -14044,10 +14306,10 @@ msgid "" "\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" +"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 there are a few cases that will make the calibration result not " "reliable: using a texture plate to do the calibration; the build plate does " @@ -14073,9 +14335,9 @@ msgstr "" "plakasının yapışması iyi değil (lütfen baskı plakasını yıkayın veya " "yapıştırıcı uygulayın!) ...Daha fazlasını wiki'mizden bulabilirsiniz.\n" "\n" -"Testimizde kalibrasyon sonuçlarında yaklaşık yüzde 10'luk bir titreşim var ve " -"bu da sonucun her kalibrasyonda tam olarak aynı olmamasına neden olabilir. " -"Yeni güncellemelerle iyileştirmeler yapmak için hâlâ temel nedeni " +"Testimizde kalibrasyon sonuçlarında yaklaşık yüzde 10'luk bir titreşim var " +"ve bu da sonucun her kalibrasyonda tam olarak aynı olmamasına neden " +"olabilir. Yeni güncellemelerle iyileştirmeler yapmak için hâlâ temel nedeni " "araştırıyoruz." msgid "When to use Flow Rate Calibration" @@ -14116,10 +14378,10 @@ msgstr "" 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." +"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 "" "Akış Hızı Kalibrasyonu, beklenen ekstrüzyon hacimlerinin gerçek ekstrüzyon " "hacimlerine oranını ölçer. Varsayılan ayar, önceden kalibre edilmiş ve ince " @@ -14134,12 +14396,13 @@ msgid "" "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" +"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" +"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 " @@ -14150,8 +14413,8 @@ msgstr "" "kullanarak kalibrasyon modellerini doğrudan ölçer. Ancak, bu yöntemin " "etkinliğinin ve doğruluğunun belirli malzeme türleriyle tehlikeye " "girebileceğini lütfen unutmayın. Özellikle şeffaf veya yarı şeffaf, parlak " -"parçacıklı veya yüksek yansıtıcı yüzeye sahip filamentler bu kalibrasyon için " -"uygun olmayabilir ve arzu edilenden daha az sonuçlar üretebilir.\n" +"parçacıklı veya yüksek yansıtıcı yüzeye sahip filamentler bu kalibrasyon " +"için uygun olmayabilir ve arzu edilenden daha az sonuçlar üretebilir.\n" "\n" "Kalibrasyon sonuçları her kalibrasyon veya filament arasında farklılık " "gösterebilir. Zaman içinde ürün yazılımı güncellemeleriyle bu kalibrasyonun " @@ -14160,8 +14423,8 @@ msgstr "" "Dikkat: Akış Hızı Kalibrasyonu, yalnızca amacını ve sonuçlarını tam olarak " "anlayan kişiler tarafından denenmesi gereken gelişmiş bir işlemdir. Yanlış " "kullanım, ortalamanın altında baskılara veya yazıcının zarar görmesine neden " -"olabilir. Lütfen işlemi yapmadan önce işlemi dikkatlice okuyup anladığınızdan " -"emin olun." +"olabilir. Lütfen işlemi yapmadan önce işlemi dikkatlice okuyup " +"anladığınızdan emin olun." msgid "When you need Max Volumetric Speed Calibration" msgstr "Maksimum Hacimsel Hız Kalibrasyonuna ihtiyaç duyduğunuzda" @@ -14183,15 +14446,15 @@ msgid "We found the best Flow Dynamics Calibration Factor" msgstr "En iyi Akış Dinamiği Kalibrasyon Faktörünü bulduk" msgid "" -"Part of the calibration failed! You may clean the plate and retry. The failed " -"test result would be dropped." +"Part of the calibration failed! You may clean the plate and retry. The " +"failed test result would be dropped." msgstr "" "Kalibrasyonun bir kısmı başarısız oldu! Plakayı temizleyip tekrar " "deneyebilirsiniz. Başarısız olan test sonucu görmezden gelinir." msgid "" -"*We recommend you to add brand, materia, type, and even humidity level in the " -"Name" +"*We recommend you to add brand, materia, type, and even humidity level in " +"the Name" msgstr "*İsme marka, malzeme, tür ve hatta nem seviyesini eklemenizi öneririz" msgid "Failed" @@ -14212,9 +14475,9 @@ msgstr "" #, c-format, 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 " -"overrides the historical result?" +"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 overrides the historical result?" msgstr "" "Aynı ada sahip geçmiş bir kalibrasyon sonucu zaten var: %s. Aynı ada sahip " "sonuçlardan yalnızca biri kaydedilir. Geçmiş sonucu geçersiz kılmak " @@ -14784,8 +15047,8 @@ msgid "" "name. Do you want to continue?" msgstr "" "Oluşturduğunuz %s Filament adı zaten mevcut.\n" -"Oluşturmaya devam ederseniz oluşturulan ön ayar tam adıyla görüntülenecektir. " -"Devam etmek istiyor musun?" +"Oluşturmaya devam ederseniz oluşturulan ön ayar tam adıyla " +"görüntülenecektir. Devam etmek istiyor musun?" msgid "Some existing presets have failed to be created, as follows:\n" msgstr "Aşağıdaki gibi bazı mevcut ön ayarlar oluşturulamadı:\n" @@ -14798,8 +15061,8 @@ msgstr "" "Yeniden yazmak ister misin?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you " -"selected\". \n" +"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 "" "Ön ayarları şu şekilde yeniden adlandırırdık: \"Satıcı Türü Seçtiğiniz Seri " @@ -14907,15 +15170,15 @@ msgid "" "You have not yet chosen which printer preset to create based on. Please " "choose the vendor and model of the printer" msgstr "" -"Hangi yazıcı ön ayarının temel alınacağını henüz seçmediniz. Lütfen yazıcının " -"satıcısını ve modelini seçin" +"Hangi yazıcı ön ayarının temel alınacağını henüz seçmediniz. Lütfen " +"yazıcının satıcısını ve modelini seçin" msgid "" "You have entered an illegal input in the printable area section on the first " "page. Please check before creating it." msgstr "" -"İlk sayfadaki yazdırılabilir alan kısmına geçersiz bir giriş yaptınız. Lütfen " -"oluşturmadan önce kontrol edin." +"İlk sayfadaki yazdırılabilir alan kısmına geçersiz bir giriş yaptınız. " +"Lütfen oluşturmadan önce kontrol edin." msgid "The custom printer or model is not inputed, place input." msgstr "Özel yazıcı veya model girilmedi lütfen giriş yapın." @@ -14932,7 +15195,8 @@ msgstr "" "Oluşturduğunuz yazıcı ön ayarının zaten aynı ada sahip bir ön ayarı var. " "Üzerine yazmak istiyor musunuz?\n" "\tEvet: Aynı adı taşıyan yazıcı ön ayarının üzerine yazın; aynı ön ayar adı " -"taşıyan filaman ve proses ön ayarları yeniden oluşturulacak ve aynı ön ayar \n" +"taşıyan filaman ve proses ön ayarları yeniden oluşturulacak ve aynı ön " +"ayar \n" "adı olmayan filament ve işlem ön ayarları rezerve edilecektir.\n" "\tİptal: Ön ayar oluşturmayın, oluşturma arayüzüne dönün." @@ -14978,7 +15242,8 @@ msgstr "" msgid "" "You have not yet selected the printer to replace the nozzle, please choose." -msgstr "Hala nozulu değiştirmek için yazıcı seçmediniz, lütfen bir seçim yapın." +msgstr "" +"Hala nozulu değiştirmek için yazıcı seçmediniz, lütfen bir seçim yapın." msgid "Create Printer Successful" msgstr "Yazıcı Oluşturma Başarılı" @@ -15010,7 +15275,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -15026,9 +15291,6 @@ msgstr "" msgid "Printer Setting" msgstr "Yazıcı Ayarı" -msgid "Export Configs" -msgstr "Yapılandırmaları Dışa Aktar" - msgid "Printer config bundle(.orca_printer)" msgstr "Yazıcı yapılandırma paketi(.orca_printer)" @@ -15064,8 +15326,8 @@ msgstr "Dışa aktarma başarılı" #, c-format, boost-format msgid "" -"The '%s' folder already exists in the current directory. Do you want to clear " -"it and rebuild it.\n" +"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 "" @@ -15104,8 +15366,8 @@ msgid "" "Only printer names with user printer presets will be displayed, and each " "preset you choose will be exported as a zip." msgstr "" -"Yalnızca kullanıcı yazıcı ön ayarlarına sahip yazıcı adları görüntülenecek ve " -"seçtiğiniz her ön ayar zip olarak dışa aktarılacaktır." +"Yalnızca kullanıcı yazıcı ön ayarlarına sahip yazıcı adları görüntülenecek " +"ve seçtiğiniz her ön ayar zip olarak dışa aktarılacaktır." msgid "" "Only the filament names with user filament presets will be displayed, \n" @@ -15113,13 +15375,13 @@ msgid "" "exported as a zip." msgstr "" "Yalnızca kullanıcı filamenti ön ayarlarına sahip filament adları \n" -"görüntülenecek ve seçtiğiniz her filament adındaki tüm kullanıcı filamenti ön " -"ayarları zip olarak dışa aktarılacaktır." +"görüntülenecek ve seçtiğiniz her filament adındaki tüm kullanıcı filamenti " +"ön ayarları zip olarak dışa aktarılacaktır." 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." +"and all user process presets in each printer name you select will be " +"exported as a zip." msgstr "" "Yalnızca işlem ön ayarları değiştirilen yazıcı adları görüntülenecek \n" "ve seçtiğiniz her yazıcı adındaki tüm kullanıcı işlem ön ayarları zip olarak " @@ -15143,8 +15405,8 @@ msgid "Filament presets under this filament" msgstr "Bu filamentin altındaki filament ön ayarları" msgid "" -"Note: If the only preset under this filament is deleted, the filament will be " -"deleted after exiting the dialog." +"Note: If the only preset under this filament is deleted, the filament will " +"be deleted after exiting the dialog." msgstr "" "Not: Bu filamentin altındaki tek ön ayar silinirse, diyalogdan çıkıldıktan " "sonra filament silinecektir." @@ -15271,8 +15533,8 @@ msgid "" "On this system, %s uses HTTPS certificates from the system Certificate Store " "or Keychain." msgstr "" -"Bu sistemde %s, sistem Sertifika Deposu veya Anahtar Zincirinden alınan HTTPS " -"sertifikalarını kullanıyor." +"Bu sistemde %s, sistem Sertifika Deposu veya Anahtar Zincirinden alınan " +"HTTPS sertifikalarını kullanıyor." msgid "" "To use a custom CA file, please import your CA file into Certificate Store / " @@ -15422,30 +15684,31 @@ msgstr "" "Hata: \"%2%\"" msgid "" -"It has a small layer height, and results in almost negligible layer lines and " -"high printing quality. It is suitable for most general printing cases." +"It has a small layer height, and results in almost negligible layer lines " +"and high printing quality. It is suitable for most general printing cases." msgstr "" "Küçük bir katman yüksekliğine sahiptir ve neredeyse ihmal edilebilir katman " "çizgileri ve yüksek baskı kalitesi sağlar. Çoğu genel yazdırma durumu için " "uygundur." 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. So, it results in much " -"higher printing quality, but a much longer printing time." +"Compared with the default profile of a 0.2 mm nozzle, it has lower speeds " +"and acceleration, and the sparse infill pattern is Gyroid. So, it results in " +"much higher printing quality, but a much longer printing time." msgstr "" "0,2 mm’lik nozülün varsayılan profiliyle karşılaştırıldığında daha düşük hız " -"ve ivmeye sahiptir ve seyrek dolgu deseni Gyroid’dir. Böylece çok daha yüksek " -"baskı kalitesi elde edilir, ancak çok daha uzun baskı süresi elde edilir." +"ve ivmeye sahiptir ve seyrek dolgu deseni Gyroid’dir. Böylece çok daha " +"yüksek baskı kalitesi elde edilir, ancak çok daha uzun baskı süresi elde " +"edilir." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" -"0,2 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, biraz " -"daha büyük katman yüksekliğine sahiptir ve neredeyse ihmal edilebilir düzeyde " -"katman çizgileri ve biraz daha kısa yazdırma süresi sağlar." +"0,2 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, " +"biraz daha büyük katman yüksekliğine sahiptir ve neredeyse ihmal edilebilir " +"düzeyde katman çizgileri ve biraz daha kısa yazdırma süresi sağlar." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " @@ -15483,8 +15746,8 @@ msgid "" "shorter printing time." msgstr "" "Varsayılan 0,2 mm püskürtme ucu profiliyle karşılaştırıldığında, daha küçük " -"katman yüksekliğine sahiptir ve minimum katman çizgileri ve daha yüksek baskı " -"kalitesi sağlar, ancak daha kısa yazdırma süresi sağlar." +"katman yüksekliğine sahiptir ve minimum katman çizgileri ve daha yüksek " +"baskı kalitesi sağlar, ancak daha kısa yazdırma süresi sağlar." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -15535,12 +15798,12 @@ msgstr "" msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " -"height, and results in less apparent layer lines and higher printing quality, " -"but longer printing time." +"height, and results in less apparent layer lines and higher printing " +"quality, but longer printing time." msgstr "" "0,4 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, daha " -"küçük bir katman yüksekliğine sahiptir ve daha az görünür katman çizgileri ve " -"daha yüksek baskı kalitesi sağlar, ancak daha uzun yazdırma süresi sağlar." +"küçük bir katman yüksekliğine sahiptir ve daha az görünür katman çizgileri " +"ve daha yüksek baskı kalitesi sağlar, ancak daha uzun yazdırma süresi sağlar." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -15578,7 +15841,8 @@ msgstr "" msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " -"height, and results in almost negligible layer lines and longer printing time." +"height, and results in almost negligible layer lines and longer printing " +"time." msgstr "" "0,4 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, " "katman yüksekliği daha küçüktür ve neredeyse göz ardı edilebilecek düzeyde " @@ -15613,8 +15877,8 @@ msgstr "" msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " -"height, and results in much more apparent layer lines and much lower printing " -"quality, but shorter printing time in some printing cases." +"height, and results in much more apparent layer lines and much lower " +"printing quality, but shorter printing time in some printing cases." msgstr "" "0,6 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, daha " "büyük bir katman yüksekliğine sahiptir ve çok daha belirgin katman çizgileri " @@ -15633,16 +15897,16 @@ msgstr "" msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " -"height, and results in less apparent layer lines and higher printing quality, " -"but longer printing time." +"height, and results in less apparent layer lines and higher printing " +"quality, but longer printing time." msgstr "" "0,6 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, daha " -"küçük bir katman yüksekliğine sahiptir ve daha az görünür katman çizgileri ve " -"daha yüksek baskı kalitesi sağlar, ancak daha uzun yazdırma süresi sağlar." +"küçük bir katman yüksekliğine sahiptir ve daha az görünür katman çizgileri " +"ve daha yüksek baskı kalitesi sağlar, ancak daha uzun yazdırma süresi sağlar." msgid "" -"It has a very big layer height, and results in very apparent layer lines, low " -"printing quality and general printing time." +"It has a very big layer height, and results in very apparent layer lines, " +"low printing quality and general printing time." msgstr "" "Çok büyük bir katman yüksekliğine sahiptir ve çok belirgin katman " "çizgilerine, düşük baskı kalitesine ve genel yazdırma süresine neden olur." @@ -15654,8 +15918,8 @@ msgid "" msgstr "" "0,8 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, daha " "büyük bir katman yüksekliğine sahiptir ve çok belirgin katman çizgileri ve " -"çok daha düşük baskı kalitesiyle sonuçlanır, ancak bazı yazdırma durumlarında " -"daha kısa yazdırma süresi sağlar." +"çok daha düşük baskı kalitesiyle sonuçlanır, ancak bazı yazdırma " +"durumlarında daha kısa yazdırma süresi sağlar." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " @@ -15664,8 +15928,8 @@ msgid "" msgstr "" "0,8 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, çok " "daha büyük bir katman yüksekliğine sahiptir ve son derece belirgin katman " -"çizgileri ve çok daha düşük baskı kalitesiyle sonuçlanır, ancak bazı yazdırma " -"durumlarında çok daha kısa yazdırma süresi sağlar." +"çizgileri ve çok daha düşük baskı kalitesiyle sonuçlanır, ancak bazı " +"yazdırma durumlarında çok daha kısa yazdırma süresi sağlar." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -15673,10 +15937,10 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" -"0,8 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, biraz " -"daha küçük bir katman yüksekliğine sahiptir ve biraz daha az ama yine de " -"görünür katman çizgileri ve biraz daha yüksek baskı kalitesi sağlar, ancak " -"bazı yazdırma durumlarında daha uzun yazdırma süresi sağlar." +"0,8 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, " +"biraz daha küçük bir katman yüksekliğine sahiptir ve biraz daha az ama yine " +"de görünür katman çizgileri ve biraz daha yüksek baskı kalitesi sağlar, " +"ancak bazı yazdırma durumlarında daha uzun yazdırma süresi sağlar." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " @@ -15705,11 +15969,11 @@ msgstr "" "SimplyPrint hesabı bağlı değil. Ayarlamak için Bağlantı seçeneklerine gidin." msgid "" -"File size exceeds the 100MB upload limit. Please upload your file through the " -"panel." +"File size exceeds the 100MB upload limit. Please upload your file through " +"the panel." msgstr "" -"Dosya boyutu 100 MB yükleme sınırını aşıyor. Lütfen dosyanızı panel üzerinden " -"yükleyiniz." +"Dosya boyutu 100 MB yükleme sınırını aşıyor. Lütfen dosyanızı panel " +"üzerinden yükleyiniz." msgid "Unknown error" msgstr "Bilinmeyen hata" @@ -15752,7 +16016,8 @@ msgid "" msgstr "" "Sandviç modu\n" "Modelinizde çok dik çıkıntılar yoksa hassasiyeti ve katman tutarlılığını " -"artırmak için sandviç modunu (iç-dış-iç) kullanabileceğinizi biliyor muydunuz?" +"artırmak için sandviç modunu (iç-dış-iç) kullanabileceğinizi biliyor " +"muydunuz?" #: resources/data/hints.ini: [hint:Chamber temperature] msgid "" @@ -15814,14 +16079,14 @@ msgid "" "3D scene operations." msgstr "" "Klavye kısayolları nasıl kullanılır?\n" -"Orca Slicer'ın çok çeşitli klavye kısayolları ve 3B sahne işlemleri sunduğunu " -"biliyor muydunuz?" +"Orca Slicer'ın çok çeşitli klavye kısayolları ve 3B sahne işlemleri " +"sunduğunu biliyor muydunuz?" #: resources/data/hints.ini: [hint:Reverse on odd] msgid "" "Reverse on odd\n" -"Did you know that Reverse on odd feature can significantly improve the " -"surface quality of your overhangs?" +"Did you know that Reverse on odd feature can significantly improve " +"the surface quality of your overhangs?" msgstr "" "Tek sayıyı tersine çevir\n" "Tek sayıyı ters çevir özelliğinin çıkıntılarınızın yüzey kalitesini " @@ -15844,8 +16109,8 @@ msgid "" "problems on the Windows system?" msgstr "" "Modeli Düzelt\n" -"Windows sisteminde birçok dilimleme sorununu önlemek için bozuk bir 3D modeli " -"düzeltebileceğinizi biliyor muydunuz?" +"Windows sisteminde birçok dilimleme sorununu önlemek için bozuk bir 3D " +"modeli düzeltebileceğinizi biliyor muydunuz?" #: resources/data/hints.ini: [hint:Timelapse] msgid "" @@ -15978,9 +16243,9 @@ msgstr "" #: resources/data/hints.ini: [hint:Fine-tuning for flow rate] msgid "" "Fine-tuning for flow rate\n" -"Did 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." +"Did 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 "" "Akış hızı için ince ayar\n" "Baskıların daha da iyi görünmesi için akış hızına ince ayar yapılabileceğini " @@ -16014,8 +16279,8 @@ msgstr "" msgid "" "Support painting\n" "Did 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." +"makes it easy to place the support material only on the sections of the " +"model that actually need it." msgstr "" "Destek boyama\n" "Desteklerinizin yerini boyayabileceğinizi biliyor muydunuz? Bu özellik, " @@ -16120,6 +16385,45 @@ msgstr "" "sıcaklığının uygun şekilde arttırılmasının bükülme olasılığını " "azaltabileceğini biliyor muydunuz?" +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "Orca Slicer, Prusa Research'ün PrusaSlicer'ından Bambulab'ın " +#~ "BambuStudio'sunu temel alıyor. PrusaSlicer, Alessandro Ranellucci ve " +#~ "RepRap topluluğu tarafından hazırlanan Slic3r'dendir" + +#~ msgid "Export &Configs" +#~ msgstr "Yapılandırmaları Dışa Aktar" + +#~ msgid "" +#~ "Over 4 systems/handy are using remote access, you can close some and try " +#~ "again." +#~ msgstr "" +#~ "4’ten fazla sistem/kullanışlı uzaktan erişimi kullanıyor, bazılarını " +#~ "kapatıp tekrar deneyebilirsiniz." + +#~ msgid "Infill direction" +#~ msgstr "Dolgu açısı" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "G2 ve G3 hareketlerine sahip bir G kodu dosyası elde etmek için bunu " +#~ "etkinleştirin. Ve montaj toleransı çözünürlükle aynıdır" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "Daha iyi yapışma için dolgu alanı duvarla örtüşecek şekilde hafifçe " +#~ "genişletilir. Yüzde değeri seyrek dolgunun çizgi genişliğine göredir" + +#~ msgid "Export Configs" +#~ msgstr "Yapılandırmaları Dışa Aktar" + #~ msgid "Actions For Unsaved Changes" #~ msgstr "Kaydedilmemiş Değişikliklere İlişkin İşlemler" @@ -16155,15 +16459,16 @@ msgstr "" #~ "değer) korumak ister misiniz?" #~ msgid "" -#~ "You have previously modified your settings and are about to overwrite them " -#~ "with new ones." +#~ "You have previously modified your settings and are about to overwrite " +#~ "them with new ones." #~ msgstr "" -#~ "Ayarlarınızı daha önce değiştirdiniz ve bunların üzerine yenilerini yazmak " -#~ "üzeresiniz." +#~ "Ayarlarınızı daha önce değiştirdiniz ve bunların üzerine yenilerini " +#~ "yazmak üzeresiniz." #~ msgid "" #~ "\n" -#~ "Do you want to keep your current modified settings, or use preset settings?" +#~ "Do you want to keep your current modified settings, or use preset " +#~ "settings?" #~ msgstr "" #~ "\n" #~ "Geçerli değiştirilen ayarlarınızı korumak mı yoksa önceden ayarlanmış " @@ -16183,8 +16488,8 @@ msgstr "" #~ "Choose an AMS slot then press \"Load\" or \"Unload\" button to " #~ "automatically load or unload filiament." #~ msgstr "" -#~ "Filamenti otomatik olarak yüklemek veya çıkarmak için bir AMS yuvası seçin " -#~ "ve ardından \"Yükle\" veya \"Boşalt\" düğmesine basın." +#~ "Filamenti otomatik olarak yüklemek veya çıkarmak için bir AMS yuvası " +#~ "seçin ve ardından \"Yükle\" veya \"Boşalt\" düğmesine basın." #~ msgid "MC" #~ msgstr "MC" @@ -16201,13 +16506,6 @@ msgstr "" #~ msgid "HMS" #~ msgstr "HMS" -#~ msgid "" -#~ "Importing to Orca Slicer failed. Please download the file and manually " -#~ "import it." -#~ msgstr "" -#~ "Orca Slicer'ya aktarma başarısız oldu. Lütfen dosyayı indirin ve manuel " -#~ "olarak İçe aktarın." - #~ msgid "- ℃" #~ msgstr "- °C" @@ -16231,8 +16529,8 @@ msgstr "" #~ "The 3mf file version is in Beta and it is newer than the current Bambu " #~ "Studio version." #~ msgstr "" -#~ "3mf dosya sürümü Beta aşamasındadır ve mevcut Bambu Studio sürümünden daha " -#~ "yenidir." +#~ "3mf dosya sürümü Beta aşamasındadır ve mevcut Bambu Studio sürümünden " +#~ "daha yenidir." #~ msgid "If you would like to try Bambu Studio Beta, you may click to" #~ msgstr "Bambu Studio Beta’yı denemek isterseniz tıklayabilirsiniz." @@ -16259,9 +16557,9 @@ msgstr "" #~ "Green means that AMS humidity is normal, orange represent humidity is " #~ "high, red represent humidity is too high.(Hygrometer: lower the better.)" #~ msgstr "" -#~ "Yeşil, AMS neminin normal olduğunu, turuncu nemin yüksek olduğunu, kırmızı " -#~ "ise nemin çok yüksek olduğunu gösterir.(Higrometre: ne kadar düşükse o " -#~ "kadar iyidir.)" +#~ "Yeşil, AMS neminin normal olduğunu, turuncu nemin yüksek olduğunu, " +#~ "kırmızı ise nemin çok yüksek olduğunu gösterir.(Higrometre: ne kadar " +#~ "düşükse o kadar iyidir.)" #~ msgid "Desiccant status" #~ msgstr "Kurutucu durumu" @@ -16271,14 +16569,14 @@ msgstr "" #~ "inactive. Please change the desiccant.(The bars: higher the better.)" #~ msgstr "" #~ "İki çubuktan daha düşük bir kurutucu durumu, kurutucunun etkin olmadığını " -#~ "gösterir. Lütfen kurutucuyu değiştirin.(Çubuklar: ne kadar yüksek olursa o " -#~ "kadar iyidir.)" +#~ "gösterir. Lütfen kurutucuyu değiştirin.(Çubuklar: ne kadar yüksek olursa " +#~ "o kadar iyidir.)" #~ msgid "" #~ "Note: When the lid is open or the desiccant pack is changed, it can take " #~ "hours or a night to absorb the moisture. Low temperatures also slow down " -#~ "the process. During this time, the indicator may not represent the chamber " -#~ "accurately." +#~ "the process. During this time, the indicator may not represent the " +#~ "chamber accurately." #~ msgstr "" #~ "Not: Kapak açıkken veya kurutucu paketi değiştirildiğinde, nemin emilmesi " #~ "saatler veya bir gece sürebilir. Düşük sıcaklıklar da süreci yavaşlatır. " @@ -16376,14 +16674,14 @@ 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 have a significant impact on printing quality. Please set " -#~ "them carefully." +#~ "volumetric speed have a significant impact on printing quality. Please " +#~ "set them carefully." #~ msgstr "" -#~ "İhtiyacınız olursa ön ayarlarınızı düzenlemek için lütfen filament ayarına " -#~ "gidin.\n" +#~ "İhtiyacınız olursa ön ayarlarınızı düzenlemek için lütfen filament " +#~ "ayarına gidin.\n" #~ "Lütfen püskürtme ucu sıcaklığının, sıcak yatak sıcaklığının ve maksimum " -#~ "hacimsel hızın yazdırma kalitesi üzerinde önemli bir etkiye sahip olduğunu " -#~ "unutmayın. Lütfen bunları dikkatlice ayarlayın." +#~ "hacimsel hızın yazdırma kalitesi üzerinde önemli bir etkiye sahip " +#~ "olduğunu unutmayın. Lütfen bunları dikkatlice ayarlayın." #~ msgid "Studio Version:" #~ msgstr "Stüdyo Sürümü:" @@ -16428,8 +16726,8 @@ msgstr "" #~ msgstr "Depolama Yüklemesini Test Etme" #~ msgid "" -#~ "The speed setting exceeds the printer's maximum speed (machine_max_speed_x/" -#~ "machine_max_speed_y).\n" +#~ "The speed setting exceeds the printer's maximum speed " +#~ "(machine_max_speed_x/machine_max_speed_y).\n" #~ "Orca will automatically cap the print speed to ensure it doesn't surpass " #~ "the printer's capabilities.\n" #~ "You can adjust the maximum speed setting in your printer's configuration " @@ -16437,8 +16735,8 @@ msgstr "" #~ msgstr "" #~ "Hız ayarı yazıcının maksimum hızını aşıyor (machine_max_speed_x/" #~ "machine_max_speed_y).\n" -#~ "Orca, yazıcının yeteneklerini aşmadığından emin olmak için yazdırma hızını " -#~ "otomatik olarak sınırlayacaktır.\n" +#~ "Orca, yazıcının yeteneklerini aşmadığından emin olmak için yazdırma " +#~ "hızını otomatik olarak sınırlayacaktır.\n" #~ "Daha yüksek hızlar elde etmek için yazıcınızın yapılandırmasındaki " #~ "maksimum hız ayarını yapabilirsiniz." @@ -16464,8 +16762,8 @@ msgstr "" #~ "Add solid infill near sloping surfaces to guarantee the vertical shell " #~ "thickness (top+bottom solid layers)" #~ msgstr "" -#~ "Dikey kabuk kalınlığını garanti etmek için eğimli yüzeylerin yakınına katı " -#~ "dolgu ekleyin (üst + alt katı katmanlar)" +#~ "Dikey kabuk kalınlığını garanti etmek için eğimli yüzeylerin yakınına " +#~ "katı dolgu ekleyin (üst + alt katı katmanlar)" #~ msgid "Further reduce solid infill on walls (beta)" #~ msgstr "Duvarlardaki katı dolguyu daha da azaltın (deneysel)" @@ -16519,19 +16817,19 @@ msgstr "" #~ "are not specified explicitly." #~ msgstr "" #~ "Daha iyi katman soğutması için yavaşlama etkinleştirildiğinde, yazdırma " -#~ "çıkıntıları olduğunda ve özellik hızları açıkça belirtilmediğinde filament " -#~ "için minimum yazdırma hızı." +#~ "çıkıntıları olduğunda ve özellik hızları açıkça belirtilmediğinde " +#~ "filament için minimum yazdırma hızı." #~ msgid "No sparse layers (EXPERIMENTAL)" #~ msgstr "Seyrek katman yok (DENEYSEL)" #~ msgid "" -#~ "We would rename the presets as \"Vendor Type Serial @printer you " -#~ "selected\". \n" +#~ "We would rename the presets as \"Vendor Type Serial @printer you selected" +#~ "\". \n" #~ "To add preset for more prinetrs, Please go to printer selection" #~ msgstr "" -#~ "We would rename the presets as \"Vendor Type Serial @printer you " -#~ "selected\". \n" +#~ "We would rename the presets as \"Vendor Type Serial @printer you selected" +#~ "\". \n" #~ "To add preset for more prinetrs, Please go to printer selection" #~ msgid "The Config can not be loaded." @@ -16546,8 +16844,8 @@ msgstr "" #~ msgstr "wiki" #~ msgid "" -#~ "Relative extrusion is recommended when using \"label_objects\" option.Some " -#~ "extruders work better with this option unckecked (absolute extrusion " +#~ "Relative extrusion is recommended when using \"label_objects\" option." +#~ "Some extruders work better with this option unckecked (absolute extrusion " #~ "mode). Wipe tower is only compatible with relative mode. It is always " #~ "enabled on BambuLab printers. Default is checked" #~ msgstr "" @@ -16677,8 +16975,8 @@ msgstr "" #~ "Bir Parçayı Çıkar\n" #~ "Negatif parça değiştiriciyi kullanarak bir ağı diğerinden " #~ "çıkarabileceğinizi biliyor muydunuz? Bu şekilde örneğin doğrudan Orca " -#~ "Slicer'da kolayca yeniden boyutlandırılabilen delikler oluşturabilirsiniz. " -#~ "Daha fazlasını belgelerde okuyun." +#~ "Slicer'da kolayca yeniden boyutlandırılabilen delikler " +#~ "oluşturabilirsiniz. Daha fazlasını belgelerde okuyun." #~ msgid "Filling bed " #~ msgstr "Yatak doldurma " @@ -16694,7 +16992,8 @@ msgstr "" #~ msgstr "" #~ "Doğrusal desene geçilsin mi?\n" #~ "Evet - otomatik olarak doğrusal desene geçin\n" -#~ "Hayır - yoğunluğu otomatik olarak %100 olmayan varsayılan değere sıfırlayın" +#~ "Hayır - yoğunluğu otomatik olarak %100 olmayan varsayılan değere " +#~ "sıfırlayın" #~ msgid "Please heat the nozzle to above 170 degree before loading filament." #~ msgstr "" @@ -16935,8 +17234,8 @@ msgstr "" #~ "load uptodate process/machine settings from the specified file when using " #~ "uptodate" #~ msgstr "" -#~ "güncellemeyi kullanırken belirtilen dosyadan güncel işlem/yazıcıayarlarını " -#~ "yükle" +#~ "güncellemeyi kullanırken belirtilen dosyadan güncel işlem/" +#~ "yazıcıayarlarını yükle" #~ msgid "Output directory" #~ msgstr "Çıkış dizini" @@ -16983,8 +17282,8 @@ msgstr "" #~ "OrcaSlicer configuration file may be corrupted and is not abled to be " #~ "parsed.Please delete the file and try again." #~ msgstr "" -#~ "OrcaSlicer yapılandırma dosyası bozulmuş olabilir ve ayrıştırılması mümkün " -#~ "olmayabilir. Lütfen dosyayı silin ve tekrar deneyin." +#~ "OrcaSlicer yapılandırma dosyası bozulmuş olabilir ve ayrıştırılması " +#~ "mümkün olmayabilir. Lütfen dosyayı silin ve tekrar deneyin." #~ msgid "Online Models" #~ msgstr "Çevrimiçi Modeller" @@ -16998,8 +17297,8 @@ msgstr "" #~ msgid "" #~ "There are currently no identical spare consumables available, and " #~ "automatic replenishment is currently not possible. \n" -#~ "(Currently supporting automatic supply of consumables with the same brand, " -#~ "material type, and color)" +#~ "(Currently supporting automatic supply of consumables with the same " +#~ "brand, material type, and color)" #~ msgstr "" #~ "Şu anda aynı yedek sarf malzemesi mevcut değildir ve otomatik yenileme şu " #~ "anda mümkün değildir.\n" @@ -17031,7 +17330,8 @@ msgstr "" #~ "daha sıcak olamaz" #~ msgid "Enable this option if machine has auxiliary part cooling fan" -#~ msgstr "Makinede yardımcı parça soğutma fanı varsa bu seçeneği etkinleştirin" +#~ msgstr "" +#~ "Makinede yardımcı parça soğutma fanı varsa bu seçeneği etkinleştirin" #~ msgid "" #~ "This option is enabled if machine support controlling chamber temperature" @@ -17059,7 +17359,8 @@ msgstr "" #~ "katmanları etkilemez" #~ msgid "Empty layers around bottom are replaced by nearest normal layers." -#~ msgstr "Alt kısımdaki boş katmanların yerini en yakın normal katmanlar alır." +#~ msgstr "" +#~ "Alt kısımdaki boş katmanların yerini en yakın normal katmanlar alır." #~ msgid "The model has too many empty layers." #~ msgstr "Modelde çok fazla boş katman var." @@ -17077,8 +17378,9 @@ msgstr "" #~ "Bed temperature when high temperature plate is installed. Value 0 means " #~ "the filament does not support to print on the High Temp Plate" #~ msgstr "" -#~ "Yüksek sıcaklık plakası takıldığında yatak sıcaklığı. 0 değeri, filamentin " -#~ "Yüksek Sıcaklık Plakasına yazdırmayı desteklemediği anlamına gelir" +#~ "Yüksek sıcaklık plakası takıldığında yatak sıcaklığı. 0 değeri, " +#~ "filamentin Yüksek Sıcaklık Plakasına yazdırmayı desteklemediği anlamına " +#~ "gelir" #~ msgid "" #~ "Klipper's max_accel_to_decel will be adjusted to this % of acceleration" @@ -17098,7 +17400,8 @@ msgstr "" #~ msgstr "" #~ "Desteğin stili ve şekli. Normal destek için, desteklerin düzenli bir " #~ "ızgaraya yansıtılması daha sağlam destekler oluşturur (varsayılan), rahat " -#~ "destek kuleleri ise malzemeden tasarruf sağlar ve nesne izlerini azaltır.\n" +#~ "destek kuleleri ise malzemeden tasarruf sağlar ve nesne izlerini " +#~ "azaltır.\n" #~ "Ağaç desteği için, ince stil, dalları daha agresif bir şekilde " #~ "birleştirecek ve çok fazla malzeme tasarrufu sağlayacak (varsayılan), " #~ "hibrit stil ise büyük düz çıkıntılar altında normal desteğe benzer yapı " diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po index 4e60a4526ca..83dd2df5f82 100644 --- a/localization/i18n/uk/OrcaSlicer_uk.po +++ b/localization/i18n/uk/OrcaSlicer_uk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: 2023-08-10 20:25-0400\n" "Last-Translator: \n" "Language-Team: \n" @@ -1853,6 +1853,9 @@ msgstr "Додати примітив" msgid "Add Handy models" msgstr "" +msgid "Add Models" +msgstr "Додати моделі" + msgid "Show Labels" msgstr "Показати ярлики" @@ -2353,7 +2356,7 @@ msgstr "Не вдалося підключитися до принтера" msgid "Connection to printer failed" msgstr "" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "" msgid "Connecting..." @@ -2701,15 +2704,8 @@ msgstr "Orca Slicer знаходиться під ліцензією " msgid "GNU Affero General Public License, version 3" msgstr "Стандартна громадська ліцензія GNU Affero, версія 3" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" -"Orca Slicer заснований на BambuStudio від Bambulab, який належить " -"PrusaSlicer.\n" -"Prusa Research. PrusaSlicer від Slic3r Алессандро Ранеллуччі і\n" -"спільнота RepRap" msgid "Libraries" msgstr "Бібліотеки" @@ -3201,6 +3197,210 @@ msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" msgstr "" "Планування завантаження в `%1%`. Див. вікно -> Черга завантаження вузла друку" +msgid "Device" +msgstr "Пристрій" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "Не в мережі" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "Вигляд" + +msgid "N/A" +msgstr "Н/Д" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "Додати" + +msgid "Idle" +msgstr "Холостий хід" + +msgid "Printing" +msgstr "Друк" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "Підготувати" + +msgid "Slicing" +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 "Resume" +msgstr "Продовжити" + +msgid "Stop" +msgstr "Стоп" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "Завантаження..." + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "Підготовка завдання друку" + +msgid "Abnormal print file data. Please slice again" +msgstr "Неправильні дані файлу друку. Будь ласка, наріжте знову" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +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 "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 length exceeds the limit." +msgstr "" + msgid "Origin" msgstr "Джерело" @@ -3696,9 +3896,6 @@ msgstr "Налаштування принтера" msgid "parameter name" msgstr "ім'я параметра" -msgid "N/A" -msgstr "Н/Д" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s не може бути відсотком" @@ -4016,9 +4213,6 @@ msgstr "Уникайте області калібрування екструз msgid "Align to Y axis" msgstr "" -msgid "Add" -msgstr "Додати" - msgid "Add plate" msgstr "Додати плату" @@ -4205,15 +4399,9 @@ msgstr "Закриття програми під чвс зміни деяких msgid "Logging" msgstr "Ведення журналу" -msgid "Prepare" -msgstr "Підготувати" - msgid "Preview" msgstr "Попередній перегляд" -msgid "Device" -msgstr "Пристрій" - msgid "Multi-device" msgstr "" @@ -4241,9 +4429,6 @@ msgstr "Нарізати все" msgid "Export G-code file" msgstr "Експорт файлу G-коду" -msgid "Send" -msgstr "Надіслати" - msgid "Export plate sliced file" msgstr "Експорт файлу зрізів планшета" @@ -4256,9 +4441,6 @@ msgstr "Роздрукувати все" msgid "Send all" msgstr "Надіслати все" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "Гарячі клавіші" @@ -4400,8 +4582,8 @@ msgstr "Експорт G-коду" msgid "Export current plate as G-code" msgstr "Експортувати поточну пластину як G-код" -msgid "Export &Configs" -msgstr "Експорт &конфігурації" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "Експорт поточної конфігурації до файлів" @@ -4502,9 +4684,6 @@ msgstr "" msgid "Preferences" msgstr "Налаштування" -msgid "View" -msgstr "Вигляд" - msgid "Help" msgstr "Допомога" @@ -4571,10 +4750,10 @@ msgstr "Експорт траєкторій як OBJ" msgid "Export toolpaths as OBJ" msgstr "Експортувати траєкторії як OBJ" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "Відкрити &студію" -msgid "Open Studio" +msgid "Open Slicer" msgstr "Відкрита студія" msgid "&Quit" @@ -4762,9 +4941,6 @@ msgstr "Інформація" msgid "Playing..." msgstr "Гра..." -msgid "Loading..." -msgstr "Завантаження..." - msgid "Year" msgstr "Рік" @@ -4919,11 +5095,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -4982,12 +5153,6 @@ msgstr "" msgid "Printing Progress" msgstr "Хід друку" -msgid "Resume" -msgstr "Продовжити" - -msgid "Stop" -msgstr "Стоп" - msgid "0" msgstr "0" @@ -5726,6 +5891,9 @@ msgstr "Ім'я компонентів всередині крокового ф msgid "The name may show garbage characters!" msgstr "Ім'я може містити символи для сміття!" +msgid "Remember my choice." +msgstr "Запам'ятай мій вибір." + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "" @@ -5852,9 +6020,6 @@ msgstr "" msgid "Error during reload" msgstr "" -msgid "Slicing" -msgstr "Нарізка" - msgid "There are warnings after slicing models:" msgstr "Є попередження після нарізки моделей:" @@ -5929,7 +6094,7 @@ msgid "Project downloaded %d%%" msgstr "Проект завантажено %d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" @@ -5969,9 +6134,6 @@ msgstr "Файли G-коду не можна завантажувати раз msgid "Can not add models when in preview mode!" msgstr "Неможливо додати моделі у режимі попереднього перегляду!" -msgid "Add Models" -msgstr "Додати моделі" - msgid "All objects will be removed, continue?" msgstr "Усі об'єкти будуть видалені, продовжити?" @@ -5979,9 +6141,6 @@ msgid "The current project has unsaved changes, save it before continue?" msgstr "" "У поточному проекті є незбережені зміни, зберегти їх, перш ніжпродовжити?" -msgid "Remember my choice." -msgstr "Запам'ятай мій вибір." - msgid "Number of copies:" msgstr "Кількість копій:" @@ -6184,6 +6343,11 @@ msgstr "Регіон входу" msgid "Stealth Mode" msgstr "" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "" @@ -6289,7 +6453,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6514,9 +6678,6 @@ msgstr "" msgid "Create printer" msgstr "" -msgid "Incompatible" -msgstr "" - msgid "The selected preset is null!" msgstr "" @@ -6612,15 +6773,6 @@ msgstr "Установка користувача" msgid "Preset Inside Project" msgstr "Налаштування проекту всередині" -msgid "Name is invalid;" -msgstr "Ім'я недійсне;" - -msgid "illegal characters:" -msgstr "неприпустимі символи:" - -msgid "illegal suffix:" -msgstr "неприпустимий суфікс:" - msgid "Name is unavailable." msgstr "Ім'я недоступне." @@ -6638,15 +6790,6 @@ msgstr "Предустановка \\%1%\\ вже існує і несумісн msgid "Please note that saving action will replace this preset" 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 cannot be the same as a preset alias name." msgstr "Ім'я не може збігатися з встановленим псевдонімом." @@ -6704,9 +6847,6 @@ msgstr "Не можу знайти пристрої?" msgid "Log out successful." msgstr "Вийти успішно." -msgid "Offline" -msgstr "Не в мережі" - msgid "Busy" msgstr "Зайнятий" @@ -6914,15 +7054,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" -msgid "Preparing print job" -msgstr "Підготовка завдання друку" - -msgid "Abnormal print file data. Please slice again" -msgstr "Неправильні дані файлу друку. Будь ласка, наріжте знову" - -msgid "The name length exceeds the limit." -msgstr "" - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7274,6 +7405,9 @@ msgstr "Філамент підтримки" msgid "Tree supports" msgstr "" +msgid "Skirt" +msgstr "" + msgid "Prime tower" msgstr "Вежа Очищення" @@ -8161,6 +8295,12 @@ msgstr "Переміщення повзунка в 5 разів швидше" msgid "Shift+Mouse wheel" msgstr "Shift+колесо миші" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "Примітка до випуску" @@ -8280,12 +8420,6 @@ msgstr "Версія:" msgid "Update firmware" msgstr "Оновити прошивку" -msgid "Printing" -msgstr "Друк" - -msgid "Idle" -msgstr "Холостий хід" - msgid "Beta version" msgstr "" @@ -8320,7 +8454,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "Версія прошивки незвичайна. Потрібно виправити та оновити перед друком. Ви " "хочете оновити зараз? Ви також можете оновити пізніше на принтері або " @@ -8461,9 +8595,6 @@ msgstr "" msgid "Gap infill" msgstr "Заповнення пропусків" -msgid "Skirt" -msgstr "" - msgid "Support interface" msgstr "Інтерфейс підтримки" @@ -10192,8 +10323,8 @@ msgstr "" msgid "(Undefined)" msgstr "(Невизначений)" -msgid "Infill direction" -msgstr "Напрям заповнення" +msgid "Sparse infill direction" +msgstr "" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10202,6 +10333,20 @@ msgstr "" "Angle for sparse infill pattern, which controls the start or main direction " "of line" +msgid "Solid infill direction" +msgstr "" + +msgid "" +"Angle for solid infill pattern, which controls the start or main direction " +"of line" +msgstr "" + +msgid "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "Щільність заповнення" @@ -10548,11 +10693,15 @@ msgid "Arc fitting" msgstr "Дуговий фітинг" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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-коду з переміщеннями G2 та G3. А " -"допуск припасування однаковим дозволом" msgid "Add line number" msgstr "Додати номер рядка" @@ -10773,12 +10922,25 @@ 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"Область заповнення трохи збільшена для перекриття периметром для " -"кращогоскріплення. Відсоткове значення щодо ширини лінії заповнення" msgid "Speed of internal sparse infill" msgstr "Швидкість внутрішнього заповнення" @@ -11714,6 +11876,23 @@ msgstr "Шари спідниці" msgid "How many layers of skirt. Usually only one layer" 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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Спідниця навколо моделі" @@ -11728,6 +11907,17 @@ msgstr "" "Швидкість спідниці, у мм/с. Нуль означає використання стандартної швидкості " "екструзії шару." +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -12416,6 +12606,19 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "" @@ -14119,7 +14322,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -14128,9 +14331,6 @@ msgstr "" msgid "Printer Setting" msgstr "" -msgid "Export Configs" -msgstr "" - msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -15022,6 +15222,36 @@ msgid "" "probability of warping." msgstr "" +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "Orca Slicer заснований на BambuStudio від Bambulab, який належить " +#~ "PrusaSlicer.\n" +#~ "Prusa Research. PrusaSlicer від Slic3r Алессандро Ранеллуччі і\n" +#~ "спільнота RepRap" + +#~ msgid "Export &Configs" +#~ msgstr "Експорт &конфігурації" + +#~ msgid "Infill direction" +#~ msgstr "Напрям заповнення" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "Увімкніть цей параметр, щоб отримати файл G-коду з переміщеннями G2 та " +#~ "G3. А допуск припасування однаковим дозволом" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "Область заповнення трохи збільшена для перекриття периметром для " +#~ "кращогоскріплення. Відсоткове значення щодо ширини лінії заповнення" + #~ msgid "Unload Filament" #~ msgstr "Вивантажте філамент" diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po index 64e4251179a..5bbe0a47439 100644 --- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po +++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Slic3rPE\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: 2023-04-01 13:21+0800\n" "Last-Translator: SoftFever \n" "Language-Team: \n" @@ -1836,6 +1836,9 @@ msgstr "添加标准模型" msgid "Add Handy models" msgstr "添加实用模型" +msgid "Add Models" +msgstr "添加模型" + msgid "Show Labels" msgstr "显示标签" @@ -2309,7 +2312,7 @@ msgstr "无法连接打印机" msgid "Connection to printer failed" msgstr "连接打印机失败" -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "请检查打印机和工作室的网络连接" msgid "Connecting..." @@ -2642,10 +2645,7 @@ msgstr "逆戟鲸是在" msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero 通用公共许可证,版本 3下授权的" -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" msgid "Libraries" @@ -3104,6 +3104,210 @@ msgstr "将临时 G 代码复制到输出 G 代码失败" msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" msgstr "计划上传到 `%1%`。请参阅窗口-> 打印主机上传队列" +msgid "Device" +msgstr "设备" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "离线" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "视图" + +msgid "N/A" +msgstr "N/A" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "添加" + +msgid "Idle" +msgstr "空闲" + +msgid "Printing" +msgstr "打印中" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "不兼容的预设" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "准备" + +msgid "Slicing" +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 "Resume" +msgstr "继续" + +msgid "Stop" +msgstr "停止" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "正在加载视频……" + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "正在准备打印任务" + +msgid "Abnormal print file data. Please slice again" +msgstr "打印文件数据异常,请重新切片" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +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 "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 length exceeds the limit." +msgstr "名称长度超过限制。" + msgid "Origin" msgstr "原点" @@ -3593,9 +3797,6 @@ msgstr "打印机设置" msgid "parameter name" msgstr "参数名称" -msgid "N/A" -msgstr "N/A" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s 不可以是百分比" @@ -3914,9 +4115,6 @@ msgstr "避开挤出标定区域" msgid "Align to Y axis" msgstr "对齐到Y轴" -msgid "Add" -msgstr "添加" - msgid "Add plate" msgstr "添加新盘" @@ -4101,15 +4299,9 @@ msgstr "正在关闭应用程序,部分预设已修改。" msgid "Logging" msgstr "日志" -msgid "Prepare" -msgstr "准备" - msgid "Preview" msgstr "预览" -msgid "Device" -msgstr "设备" - msgid "Multi-device" msgstr "" @@ -4137,9 +4329,6 @@ msgstr "切片所有盘" msgid "Export G-code file" msgstr "导出G-code文件" -msgid "Send" -msgstr "发送" - msgid "Export plate sliced file" msgstr "导出单盘切片文件" @@ -4152,9 +4341,6 @@ msgstr "打印所有盘" msgid "Send all" msgstr "发送所有盘" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "快捷键" @@ -4296,8 +4482,8 @@ msgstr "导出 G-code" msgid "Export current plate as G-code" msgstr "导出当前盘的G-code" -msgid "Export &Configs" -msgstr "导出预设" +msgid "Export Preset Bundle" +msgstr "" msgid "Export current configuration to files" msgstr "导出当前选择的预设" @@ -4398,9 +4584,6 @@ msgstr "在3D场景中显示悬空高亮" msgid "Preferences" msgstr "偏好设置" -msgid "View" -msgstr "视图" - msgid "Help" msgstr "帮助" @@ -4468,10 +4651,10 @@ msgstr "将工具路径导出为OBJ格式" msgid "Export toolpaths as OBJ" msgstr "将工具路径导出为OBJ格式" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "打开 Studio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "打开 Studio" msgid "&Quit" @@ -4641,9 +4824,6 @@ msgstr "信息" msgid "Playing..." msgstr "正在播放中……" -msgid "Loading..." -msgstr "正在加载视频……" - msgid "Year" msgstr "年" @@ -4798,11 +4978,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -4861,12 +5036,6 @@ msgstr "反转纵轴,横滚轴" msgid "Printing Progress" msgstr "打印进度" -msgid "Resume" -msgstr "继续" - -msgid "Stop" -msgstr "停止" - msgid "0" msgstr "" @@ -5589,6 +5758,9 @@ msgstr "step 文件中的部件名称包含非UTF8格式的字符!" msgid "The name may show garbage characters!" msgstr "此名称可能显示乱码字符!" +msgid "Remember my choice." +msgstr "记住我的选择。" + #, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "加载文件“%1%”失败。发现无效配置。" @@ -5711,9 +5883,6 @@ msgstr "无法重新加载:" msgid "Error during reload" msgstr "重新加载时发生错误" -msgid "Slicing" -msgstr "正在切片" - msgid "There are warnings after slicing models:" msgstr "模型切片警告:" @@ -5782,7 +5951,7 @@ msgid "Project downloaded %d%%" msgstr "项目已下载%d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" @@ -5822,18 +5991,12 @@ msgstr "G-code文件不能和模型一起加载" msgid "Can not add models when in preview mode!" msgstr "在预览模式不允许添加模型" -msgid "Add Models" -msgstr "添加模型" - msgid "All objects will be removed, continue?" msgstr "即将删除所有对象,是否继续?" msgid "The current project has unsaved changes, save it before continue?" msgstr "当前项目包含未保存的修改,是否先保存?" -msgid "Remember my choice." -msgstr "记住我的选择。" - msgid "Number of copies:" msgstr "克隆数量:" @@ -6030,6 +6193,11 @@ msgstr "登录区域" msgid "Stealth Mode" msgstr "局域网模式" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "启用网络插件" @@ -6134,7 +6302,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6350,9 +6518,6 @@ msgstr "选择/移除打印机(系统预设)" msgid "Create printer" msgstr "创建打印机" -msgid "Incompatible" -msgstr "不兼容的预设" - msgid "The selected preset is null!" msgstr "选择的预设为空!" @@ -6447,15 +6612,6 @@ msgstr "用户预设" msgid "Preset Inside Project" msgstr "项目预设" -msgid "Name is invalid;" -msgstr "无效名称;" - -msgid "illegal characters:" -msgstr "非法字符:" - -msgid "illegal suffix:" -msgstr "非法后缀:" - msgid "Name is unavailable." msgstr "名称不可用。" @@ -6473,15 +6629,6 @@ msgstr "预设“%1%”已存在,并且和当前打印机不兼容。" msgid "Please note that saving action will replace this preset" 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 cannot be the same as a preset alias name." msgstr "名称不能和一个预设的别名相同。" @@ -6539,9 +6686,6 @@ msgstr "无法找到我的设备?" msgid "Log out successful." msgstr "登出成功。" -msgid "Offline" -msgstr "离线" - msgid "Busy" msgstr "忙碌" @@ -6735,15 +6879,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "正在连接打印机。连接过程中无法取消。" -msgid "Preparing print job" -msgstr "正在准备打印任务" - -msgid "Abnormal print file data. Please slice again" -msgstr "打印文件数据异常,请重新切片" - -msgid "The name length exceeds the limit." -msgstr "名称长度超过限制。" - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7093,6 +7228,9 @@ msgstr "支撑耗材" msgid "Tree supports" msgstr "树状支撑" +msgid "Skirt" +msgstr "裙边" + msgid "Prime tower" msgstr "擦拭塔" @@ -7961,6 +8099,12 @@ msgstr "5倍速移动滑动条" msgid "Shift+Mouse wheel" msgstr "Shift+鼠标滚轮" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "更新说明" @@ -8079,12 +8223,6 @@ msgstr "版本:" msgid "Update firmware" msgstr "更新固件" -msgid "Printing" -msgstr "打印中" - -msgid "Idle" -msgstr "空闲" - msgid "Beta version" msgstr "" @@ -8116,7 +8254,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "当前固件版本异常,需要进行修复升级,否则无法继续打印。你想现在就开始升级吗?" "你也可以稍后在打印机上升级,或者下一次启动studio再升级。" @@ -8250,9 +8388,6 @@ msgstr "内部搭桥" msgid "Gap infill" msgstr "填缝" -msgid "Skirt" -msgstr "裙边" - msgid "Support interface" msgstr "支撑面" @@ -9983,14 +10118,28 @@ msgstr "打印耗材的供应商。仅用于展示。" msgid "(Undefined)" msgstr "(未定义)" -msgid "Infill direction" -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 "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "稀疏填充密度" @@ -10296,10 +10445,15 @@ msgid "Arc fitting" msgstr "圆弧拟合" msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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指令。圆弧拟合的容许值和精度相同。" msgid "Add line number" msgstr "标注行号" @@ -10500,12 +10654,25 @@ 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"填充区域被轻微扩大,并和外墙产生重叠,进而产生更好的粘接。表示为相对稀疏填充" -"的线宽的百分比。" msgid "Speed of internal sparse infill" msgstr "内部稀疏填充的打印速度" @@ -11448,6 +11615,23 @@ msgstr "Skirt高度" msgid "How many layers of skirt. Usually only one layer" msgstr "skirt有多少层。通常只有一层" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Skirt圈数" @@ -11460,6 +11644,17 @@ msgstr "Skirt速度" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." msgstr "skirt速度,单位为mm/s。0表示使用默认的层挤出速度。" +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -12124,6 +12319,19 @@ msgstr "擦拭塔冲刷线间距" msgid "Spacing of purge lines on the wipe tower." msgstr "擦拭塔上冲刷线的间距" +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "擦拭塔挤出机" @@ -13899,7 +14107,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -13908,9 +14116,6 @@ msgstr "" msgid "Printer Setting" msgstr "打印机设置" -msgid "Export Configs" -msgstr "导出预设" - msgid "Printer config bundle(.orca_printer)" msgstr "打印机预设集(.orca_printer)" @@ -14835,6 +15040,28 @@ msgstr "" "避免翘曲\n" "您知道吗?打印ABS这类易翘曲材料时,适当提高热床温度可以降低翘曲的概率。" +#~ msgid "Export &Configs" +#~ msgstr "导出预设" + +#~ msgid "Infill direction" +#~ msgstr "填充方向" + +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "打开这个设置,导出的G-code将包含G2 G3指令。圆弧拟合的容许值和精度相同。" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "填充区域被轻微扩大,并和外墙产生重叠,进而产生更好的粘接。表示为相对稀疏填" +#~ "充的线宽的百分比。" + +#~ msgid "Export Configs" +#~ msgstr "导出预设" + #~ msgid "Unload Filament" #~ msgstr "退料" diff --git a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po index 2ddad8f7fa3..7ee55788abb 100644 --- a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po +++ b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-01 00:42+0800\n" +"POT-Creation-Date: 2024-05-21 00:29+0800\n" "PO-Revision-Date: 2023-11-06 14:37+0800\n" "Last-Translator: ablegods \n" "Language-Team: \n" @@ -1892,6 +1892,9 @@ msgstr "新增標準模型" msgid "Add Handy models" msgstr "" +msgid "Add Models" +msgstr "新增模型" + msgid "Show Labels" msgstr "顯示標籤" @@ -2396,7 +2399,7 @@ msgid "Connection to printer failed" msgstr "連接列印設備失敗" #, fuzzy -msgid "Please check the network connection of the printer and Studio." +msgid "Please check the network connection of the printer and Orca." msgstr "請檢查列印設備和 Orca Slicer 的網路連接" msgid "Connecting..." @@ -2739,15 +2742,8 @@ msgstr " Orca Slicer 是在" msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero 通用公共許可證,版本 3 下授權的" -#, fuzzy -msgid "" -"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " -"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and " -"the RepRap community" +msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "" -"Orca Slicer 是基於 Bambulab 的 BambuStudio 開發,而 BambuStudio 源自於 Prusa " -"Research 的 PrusaSlicer。PrusaSlicer 源自於 Alessandro Ranellucci 的 Slic3r " -"和 RepRap 社群" msgid "Libraries" msgstr "庫" @@ -3226,6 +3222,212 @@ msgstr "將臨時 G-Code 複製到輸出 G-Code 失敗" msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" msgstr "計劃上傳到 `%1%`。請參閱視窗-> 列印設備上傳隊列" +msgid "Device" +msgstr "設備" + +msgid "Task Sending" +msgstr "" + +msgid "Task Sent" +msgstr "" + +msgid "Edit multiple printers" +msgstr "" + +msgid "Select connected printetrs (0/6)" +msgstr "" + +#, c-format, boost-format +msgid "Select Connected Printetrs (%d/6)" +msgstr "" + +#, c-format, boost-format +msgid "The maximum number of printers that can be selected is %d" +msgstr "" + +msgid "Offline" +msgstr "離線" + +msgid "No task" +msgstr "" + +msgid "View" +msgstr "視角" + +msgid "N/A" +msgstr "N/A" + +msgid "Edit Printers" +msgstr "" + +msgid "Device Name" +msgstr "" + +msgid "Task Name" +msgstr "" + +msgid "Device Status" +msgstr "" + +msgid "Actions" +msgstr "" + +msgid "" +"Please select the devices you would like to manage here (up to 6 devices)" +msgstr "" + +msgid "Add" +msgstr "新增" + +msgid "Idle" +msgstr "閒置" + +msgid "Printing" +msgstr "列印中" + +msgid "Upgrading" +msgstr "" + +msgid "Incompatible" +msgstr "不相容的預設" + +msgid "syncing" +msgstr "" + +msgid "Printing Finish" +msgstr "" + +msgid "Printing Failed" +msgstr "" + +msgid "PrintingPause" +msgstr "" + +msgid "Prepare" +msgstr "準備" + +#, fuzzy +msgid "Slicing" +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 "Resume" +msgstr "繼續" + +msgid "Stop" +msgstr "停止" + +msgid "Task Status" +msgstr "" + +msgid "Sent Time" +msgstr "" + +msgid "There are no tasks to be sent!" +msgstr "" + +msgid "No historical tasks!" +msgstr "" + +msgid "Loading..." +msgstr "正在載入影片……" + +msgid "No AMS" +msgstr "" + +msgid "Send to Multi-device" +msgstr "" + +msgid "Preparing print job" +msgstr "正在準備列印作業" + +#, fuzzy +msgid "Abnormal print file data. Please slice again" +msgstr "列印檔案資料異常,請重新切片" + +msgid "There is no device available to send printing." +msgstr "" + +msgid "The number of printers in use simultaneously cannot be equal to 0." +msgstr "" + +msgid "Use External Spool" +msgstr "" + +msgid "Use AMS" +msgstr "" + +msgid "Select Printers" +msgstr "" + +msgid "Ams Status" +msgstr "" + +msgid "Printing Options" +msgstr "" + +msgid "Send Options" +msgstr "" + +msgid "Send" +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 "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 length exceeds the limit." +msgstr "名稱長度超過限制。" + msgid "Origin" msgstr "原點" @@ -3736,9 +3938,6 @@ msgstr "列印設備設定" msgid "parameter name" msgstr "參數名稱" -msgid "N/A" -msgstr "N/A" - #, c-format, boost-format msgid "%s can't be percentage" msgstr "%s 不可以是百分比" @@ -4074,9 +4273,6 @@ msgstr "避開擠出校準區域" msgid "Align to Y axis" msgstr "與 Y 軸對齊" -msgid "Add" -msgstr "新增" - #, fuzzy msgid "Add plate" msgstr "新增列印板" @@ -4268,15 +4464,9 @@ msgstr "正在關閉應用程式,部分預設已修改。" msgid "Logging" msgstr "日誌" -msgid "Prepare" -msgstr "準備" - msgid "Preview" msgstr "預覽" -msgid "Device" -msgstr "設備" - msgid "Multi-device" msgstr "" @@ -4307,9 +4497,6 @@ msgstr "切片所有列印板" msgid "Export G-code file" msgstr "匯出 G-code 檔案" -msgid "Send" -msgstr "傳送" - #, fuzzy msgid "Export plate sliced file" msgstr "匯出單一列印板切片檔案" @@ -4326,9 +4513,6 @@ msgstr "列印所有列印板" msgid "Send all" msgstr "傳送所有列印板" -msgid "Send to Multi-device" -msgstr "" - msgid "Keyboard Shortcuts" msgstr "快捷鍵" @@ -4476,9 +4660,8 @@ msgstr "匯出 G-code" msgid "Export current plate as G-code" msgstr "匯出目前列印板的 G-code" -#, fuzzy -msgid "Export &Configs" -msgstr "匯出設定檔" +msgid "Export Preset Bundle" +msgstr "" #, fuzzy msgid "Export current configuration to files" @@ -4582,9 +4765,6 @@ msgstr "在 3D 場景中凸顯懸空" msgid "Preferences" msgstr "偏好設定" -msgid "View" -msgstr "視角" - msgid "Help" msgstr "幫助" @@ -4653,10 +4833,10 @@ msgstr "將工具路徑匯出為 OBJ 格式" msgid "Export toolpaths as OBJ" msgstr "將工具路徑匯出為 OBJ 格式" -msgid "Open &Studio" +msgid "Open &Slicer" msgstr "開啟 Studio" -msgid "Open Studio" +msgid "Open Slicer" msgstr "開啟 Studio" msgid "&Quit" @@ -4830,9 +5010,6 @@ msgstr "資訊" msgid "Playing..." msgstr "正在播放中……" -msgid "Loading..." -msgstr "正在載入影片……" - msgid "Year" msgstr "年" @@ -4990,11 +5167,6 @@ msgid "" "please try again later." msgstr "" -msgid "" -"Over 4 systems/handy are using remote access, you can close some and try " -"again." -msgstr "" - msgid "File does not exist." msgstr "" @@ -5056,12 +5228,6 @@ msgstr "反轉橫滾軸(縱軸)" msgid "Printing Progress" msgstr "列印進度" -msgid "Resume" -msgstr "繼續" - -msgid "Stop" -msgstr "停止" - msgid "0" msgstr "0" @@ -5820,6 +5986,9 @@ msgstr "step 檔案中的零件名稱包含非 UTF8 格式的字元!" msgid "The name may show garbage characters!" msgstr "此名稱可能顯示亂碼字元!" +msgid "Remember my choice." +msgstr "記住我的選擇。" + #, fuzzy, boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." msgstr "載入檔案 \"%1%\" 失敗。發現無效設定值。" @@ -5941,10 +6110,6 @@ msgstr "無法重新載入:" msgid "Error during reload" msgstr "重新載入時出現錯誤" -#, fuzzy -msgid "Slicing" -msgstr "正在切片中" - msgid "There are warnings after slicing models:" msgstr "模型切片警告:" @@ -6017,9 +6182,9 @@ msgid "Project downloaded %d%%" msgstr "專案項目已下載 %d%%" msgid "" -"Importing to Bambu Studio failed. Please download the file and manually " +"Importing to Orca Slicer failed. Please download the file and manually " "import it." -msgstr "" +msgstr "匯入 Orca Slicer 失敗。 請下載該檔案並手動匯入。" msgid "Import SLA archive" msgstr "" @@ -6058,9 +6223,6 @@ msgstr "G-code 檔案不能和模型一起載入" msgid "Can not add models when in preview mode!" msgstr "在預覽模式不允許增加模型" -msgid "Add Models" -msgstr "新增模型" - msgid "All objects will be removed, continue?" msgstr "即將刪除所有物件,是否繼續?" @@ -6068,9 +6230,6 @@ msgstr "即將刪除所有物件,是否繼續?" msgid "The current project has unsaved changes, save it before continue?" msgstr "目前專案項目包含未儲存的修改,是否先儲存?" -msgid "Remember my choice." -msgstr "記住我的選擇。" - msgid "Number of copies:" msgstr "複製數量:" @@ -6276,6 +6435,11 @@ msgstr "登入區域" msgid "Stealth Mode" msgstr "區域網路模式" +msgid "" +"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." +msgstr "" + msgid "Enable network plugin" msgstr "" @@ -6381,7 +6545,7 @@ msgid "" "each printer automatically." msgstr "" -msgid "Multi-device Management(Take effect after restarting Studio)." +msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" msgid "" @@ -6615,9 +6779,6 @@ msgstr "" msgid "Create printer" msgstr "" -msgid "Incompatible" -msgstr "不相容的預設" - msgid "The selected preset is null!" msgstr "選擇的預設為空!" @@ -6719,15 +6880,6 @@ msgstr "使用者預設" msgid "Preset Inside Project" msgstr "項目預設" -msgid "Name is invalid;" -msgstr "無效名稱;" - -msgid "illegal characters:" -msgstr "非法字元:" - -msgid "illegal suffix:" -msgstr "非法後綴:" - msgid "Name is unavailable." msgstr "名稱不可用。" @@ -6745,15 +6897,6 @@ msgstr "預設 \"%1%\" 已存在,並且和目前列印設備不相容。" msgid "Please note that saving action will replace this preset" 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 cannot be the same as a preset alias name." msgstr "名稱不能和一個預設的別名相同。" @@ -6811,9 +6954,6 @@ msgstr "無法找到我的設備?" msgid "Log out successful." msgstr "登出成功。" -msgid "Offline" -msgstr "離線" - msgid "Busy" msgstr "忙碌" @@ -7028,16 +7168,6 @@ msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "正在連接列印設備。連接過程中無法取消。" -msgid "Preparing print job" -msgstr "正在準備列印作業" - -#, fuzzy -msgid "Abnormal print file data. Please slice again" -msgstr "列印檔案資料異常,請重新切片" - -msgid "The name length exceeds the limit." -msgstr "名稱長度超過限制。" - msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." @@ -7413,6 +7543,9 @@ msgstr "支撐線材" msgid "Tree supports" msgstr "樹狀支撐" +msgid "Skirt" +msgstr "" + msgid "Prime tower" msgstr "擦拭塔" @@ -8342,6 +8475,12 @@ msgstr "5 倍速移動滑動條" msgid "Shift+Mouse wheel" msgstr "Shift+滑鼠滾輪" +msgid "Horizontal slider - Move to start position" +msgstr "" + +msgid "Horizontal slider - Move to last position" +msgstr "" + msgid "Release Note" msgstr "更新說明" @@ -8465,12 +8604,6 @@ msgstr "版本:" msgid "Update firmware" msgstr "更新韌體" -msgid "Printing" -msgstr "列印中" - -msgid "Idle" -msgstr "閒置" - msgid "Beta version" msgstr "" @@ -8503,7 +8636,7 @@ 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 the studio." +"update next time starting Orca." msgstr "" "目前韌體版本異常,需要進行修復升級,否則無法繼續列印。你想現在就開始升級嗎?" "你也可以稍後在列印設備上升級,或者下一次啟動 Orca Slicer 再升級。" @@ -8642,9 +8775,6 @@ msgstr "內部橋接" msgid "Gap infill" msgstr "填縫" -msgid "Skirt" -msgstr "" - msgid "Support interface" msgstr "支撐面" @@ -10381,14 +10511,28 @@ msgstr "列印線材的供應商。僅用於展示。" msgid "(Undefined)" msgstr "(未定義)" -msgid "Infill direction" -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 "Rotate solid infill direction" +msgstr "" + +msgid "Rotate the solid infill direction by 90° for each layer." +msgstr "" + msgid "Sparse infill density" msgstr "稀疏填充密度" @@ -10706,12 +10850,16 @@ msgstr "" msgid "Arc fitting" msgstr "圓弧擬合" -#, fuzzy msgid "" -"Enable this to get a G-code file which has G2 and G3 moves. And the fitting " -"tolerance is same with resolution" +"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 recomended 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 指令。圓弧擬合的容許值和精度相同。" msgid "Add line number" msgstr "標註行號" @@ -10931,12 +11079,25 @@ 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" +"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 "" + +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, minimising the " +"appearance of pinholes. The percentage value is relative to line width of " +"sparse infill" msgstr "" -"填充區域被輕微擴大,並和外牆產生重疊,進而產生更好的黏接。表示為相對稀疏填充" -"的線寬的百分比。" msgid "Speed of internal sparse infill" msgstr "內部稀疏填充的列印速度" @@ -11869,6 +12030,23 @@ msgstr "Skirt 高度" msgid "How many layers of skirt. Usually only one layer" msgstr "skirt 有多少層。通常只有一層" +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" +"Options:\n" +"Enabled = skirt is as tall as the highest printed object.\n" +"Limited = skirt is as tall as specified by skirt height.\n" +"\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 "" + msgid "Skirt loops" msgstr "Skirt 圈數" @@ -11881,6 +12059,17 @@ msgstr "Skirt 速度" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." msgstr "Skirt 速度,單位為 mm/秒。 0 表示使用預設層擠出速度。" +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." +msgstr "" + msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " "layer time is shorter than this value, to get better cooling for these layers" @@ -12566,6 +12755,19 @@ msgstr "擦拭塔線距" msgid "Spacing of purge lines on the wipe tower." msgstr "擦拭塔上的線距。" +msgid "Maximum print speed when purging" +msgstr "" + +msgid "" +"The maximum print speed when purging in the wipe tower. If the sparse infill " +"speed or calculated speed from the filament max volumetric speed is lower, " +"the lowest speed will be used instead.\n" +"Increasing this speed may affect the tower's stability, as purging can be " +"performed over sparse layers. Before increasing this parameter beyond the " +"default of 90mm/sec, make sure your printer can reliably bridge at the " +"increased speeds." +msgstr "" + msgid "Wipe tower extruder" msgstr "擦拭塔擠出機" @@ -14384,7 +14586,7 @@ msgstr "" msgid "" "\n" "\n" -"Studio has detected that your user presets synchronization function is not " +"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." @@ -14393,9 +14595,6 @@ msgstr "" msgid "Printer Setting" msgstr "" -msgid "Export Configs" -msgstr "" - msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -15284,6 +15483,38 @@ msgid "" "probability of warping." msgstr "" +#, fuzzy +#~ msgid "" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " +#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " +#~ "Ranellucci and the RepRap community" +#~ msgstr "" +#~ "Orca Slicer 是基於 Bambulab 的 BambuStudio 開發,而 BambuStudio 源自於 " +#~ "Prusa Research 的 PrusaSlicer。PrusaSlicer 源自於 Alessandro Ranellucci " +#~ "的 Slic3r 和 RepRap 社群" + +#, fuzzy +#~ msgid "Export &Configs" +#~ msgstr "匯出設定檔" + +#~ msgid "Infill direction" +#~ msgstr "填充方向" + +#, fuzzy +#~ msgid "" +#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " +#~ "fitting tolerance is same with resolution" +#~ msgstr "" +#~ "打開這個設定,匯出的 G-code 將包含 G2 G3 指令。圓弧擬合的容許值和精度相" +#~ "同。" + +#~ msgid "" +#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " +#~ "The percentage value is relative to line width of sparse infill" +#~ msgstr "" +#~ "填充區域被輕微擴大,並和外牆產生重疊,進而產生更好的黏接。表示為相對稀疏填" +#~ "充的線寬的百分比。" + #~ msgid "Unload Filament" #~ msgstr "退料" @@ -15295,11 +15526,6 @@ msgstr "" #~ msgid "MainBoard" #~ msgstr "主板" -#~ msgid "" -#~ "Importing to Orca Slicer failed. Please download the file and manually " -#~ "import it." -#~ msgstr "匯入 Orca Slicer 失敗。 請下載該檔案並手動匯入。" - #~ msgid "active" #~ msgstr "活動的" diff --git a/src/slic3r/GUI/AboutDialog.cpp b/src/slic3r/GUI/AboutDialog.cpp index 53d7c559a9d..f4e69dd5877 100644 --- a/src/slic3r/GUI/AboutDialog.cpp +++ b/src/slic3r/GUI/AboutDialog.cpp @@ -151,7 +151,7 @@ wxString CopyrightsDialog::get_html_text() _L("License"), _L("Orca Slicer is licensed under "), "https://www.gnu.org/licenses/agpl-3.0.html",_L("GNU Affero General Public License, version 3"), - _L("Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and the RepRap community"), + _L("Orca Slicer is based on PrusaSlicer and BambuStudio"), _L("Libraries"), _L("This software uses open source components whose copyright and other proprietary rights belong to their respective owners")); @@ -244,7 +244,7 @@ AboutDialog::AboutDialog() vesizer->Add(0, FromDIP(165), 1, wxEXPAND, FromDIP(5)); auto version_string = _L("Orca Slicer ") + " " + std::string(SoftFever_VERSION); wxStaticText* version = new wxStaticText(this, wxID_ANY, version_string.c_str(), wxDefaultPosition, wxDefaultSize); - wxStaticText* bs_version = new wxStaticText(this, wxID_ANY, wxString::Format("Based on BambuStudio and PrusaSlicer"), wxDefaultPosition, wxDefaultSize); + wxStaticText* bs_version = new wxStaticText(this, wxID_ANY, wxString::Format("Based on PrusaSlicer and BambuStudio"), wxDefaultPosition, wxDefaultSize); bs_version->SetFont(Label::Body_12); wxFont version_font = GetFont(); #ifdef __WXMSW__ diff --git a/src/slic3r/GUI/CreatePresetsDialog.cpp b/src/slic3r/GUI/CreatePresetsDialog.cpp index be34c5f203d..5e6b863217f 100644 --- a/src/slic3r/GUI/CreatePresetsDialog.cpp +++ b/src/slic3r/GUI/CreatePresetsDialog.cpp @@ -3221,7 +3221,7 @@ CreatePresetSuccessfulDialog::CreatePresetSuccessfulDialog(wxWindow *parent, con success_text = new wxStaticText(this, wxID_ANY, _L("Filament Created")); wxString prompt_text = _L("Please go to filament setting to edit your presets if you need.\nPlease note that nozzle temperature, hot bed temperature, and maximum " "volumetric speed has a significant impact on printing quality. Please set them carefully."); - wxString sync_text = sync_user_preset_need_enabled ? _L("\n\nStudio has detected that your user presets synchronization function is not enabled, which may result in unsuccessful Filament settings on " + wxString sync_text = sync_user_preset_need_enabled ? _L("\n\nOrca has detected that your user presets synchronization function is not enabled, which may result in unsuccessful Filament settings on " "the Device page. \nClick \"Sync user presets\" to enable the synchronization function.") : ""; next_step_text = new wxStaticText(this, wxID_ANY, prompt_text + sync_text); break; diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 9c28d9acfdf..98012eb1636 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -340,7 +340,7 @@ public: memDc.SetTextForeground(StateColor::darkModeColorFor(wxColor(134, 134, 134))); memDc.DrawLabel(m_constant_text.version, version_rect, wxALIGN_LEFT | wxALIGN_BOTTOM); - auto bs_version = wxString::Format("Based on BambuStudio and PrusaSlicer").ToStdString(); + auto bs_version = wxString::Format("Based on PrusaSlicer and BambuStudio").ToStdString(); memDc.SetFont(Label::Body_12); wxSize text_rect = memDc.GetTextExtent(bs_version); int start_x = (title_rect.GetLeft() + version_rect.GetRight()) / 2 - text_rect.GetWidth()/2; diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index f18c2d7be6f..757fa2226bd 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -3054,7 +3054,7 @@ void MainFrame::init_menubar_as_gcodeviewer() append_menu_item(fileMenu, wxID_ANY, _L("Export &Toolpaths as OBJ") + dots, _L("Export toolpaths as OBJ"), [this](wxCommandEvent&) { if (m_plater != nullptr) m_plater->export_toolpaths_to_obj(); }, "export_plater", nullptr, [this]() {return can_export_toolpaths(); }, this); - append_menu_item(fileMenu, wxID_ANY, _L("Open &Studio") + dots, _L("Open Studio"), + append_menu_item(fileMenu, wxID_ANY, _L("Open &Slicer") + dots, _L("Open Slicer"), [](wxCommandEvent&) { start_new_slicer(); }, "", nullptr, []() {return true; }, this); fileMenu->AppendSeparator(); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 9a7de192ff2..59381b93f37 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -9109,7 +9109,7 @@ void Plater::import_model_id(wxString download_info) error); if (retry_count == max_retries) { - msg = _L("Importing to Bambu Studio failed. Please download the file and manually import it."); + msg = _L("Importing to Orca Slicer failed. Please download the file and manually import it."); cont = false; } }) diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index ac2e4f97c9a..da217703e9f 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -1046,7 +1046,7 @@ wxWindow* PreferencesDialog::create_general_page() auto item_calc_mode = create_item_checkbox(_L("Flushing volumes: Auto-calculate everytime the color changed."), page, _L("If enabled, auto-calculate everytime the color changed."), 50, "auto_calculate"); auto item_calc_in_long_retract = create_item_checkbox(_L("Flushing volumes: Auto-calculate every time when the filament is changed."), page, _L("If enabled, auto-calculate every time when filament is changed"), 50, "auto_calculate_when_filament_change"); auto item_remember_printer_config = create_item_checkbox(_L("Remember printer configuration"), page, _L("If enabled, Orca will remember and switch filament/process configuration for each printer automatically."), 50, "remember_printer_config"); - auto item_multi_machine = create_item_checkbox(_L("Multi-device Management(Take effect after restarting Studio)."), page, _L("With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices."), 50, "enable_multi_machine"); + auto item_multi_machine = create_item_checkbox(_L("Multi-device Management(Take effect after restarting Orca)."), page, _L("With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices."), 50, "enable_multi_machine"); auto title_presets = create_item_title(_L("Presets"), page, _L("Presets")); auto title_network = create_item_title(_L("Network"), page, _L("Network")); auto item_user_sync = create_item_checkbox(_L("Auto sync user presets(Printer/Filament/Process)"), page, _L("User Sync"), 50, "sync_user_preset"); diff --git a/src/slic3r/GUI/UpgradePanel.cpp b/src/slic3r/GUI/UpgradePanel.cpp index efcacc98dab..e9384c385be 100644 --- a/src/slic3r/GUI/UpgradePanel.cpp +++ b/src/slic3r/GUI/UpgradePanel.cpp @@ -1157,7 +1157,7 @@ void UpgradePanel::update(MachineObject *obj) }); } consistency_dlg->update_text(_L( - "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 the studio." + "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." )); consistency_dlg->on_show(); } diff --git a/src/slic3r/GUI/Widgets/SideTools.cpp b/src/slic3r/GUI/Widgets/SideTools.cpp index 5e5700040c8..85e1a1f65b8 100644 --- a/src/slic3r/GUI/Widgets/SideTools.cpp +++ b/src/slic3r/GUI/Widgets/SideTools.cpp @@ -504,7 +504,7 @@ void SideTools::show_status(int status) m_hyperlink->SetLabel(_L("Failed to connect to the printer")); update_connect_err_info(BAMBU_NETWORK_ERR_CONNECTION_TO_PRINTER_FAILED, _L("Connection to printer failed"), - _L("Please check the network connection of the printer and Studio.")); + _L("Please check the network connection of the printer and Orca.")); } m_hyperlink->Show(); From f13e22265b7bbce3988d443e91638e6a9be0e13e Mon Sep 17 00:00:00 2001 From: KrisMorr <154343071+KrisMorr@users.noreply.github.com> Date: Tue, 21 May 2024 01:45:22 +0200 Subject: [PATCH 042/178] Update locale + fix (#5413) * Update locale * fix strings * Update pl locale * Fix --- localization/i18n/OrcaSlicer.pot | 304 ++++++++++---------- localization/i18n/ca/OrcaSlicer_ca.po | 8 +- localization/i18n/cs/OrcaSlicer_cs.po | 8 +- localization/i18n/de/OrcaSlicer_de.po | 8 +- localization/i18n/en/OrcaSlicer_en.po | 8 +- localization/i18n/es/OrcaSlicer_es.po | 8 +- localization/i18n/fr/OrcaSlicer_fr.po | 8 +- localization/i18n/hu/OrcaSlicer_hu.po | 8 +- localization/i18n/it/OrcaSlicer_it.po | 8 +- localization/i18n/ja/OrcaSlicer_ja.po | 8 +- localization/i18n/ko/OrcaSlicer_ko.po | 8 +- localization/i18n/nl/OrcaSlicer_nl.po | 8 +- localization/i18n/pl/OrcaSlicer_pl.po | 171 ++++++----- localization/i18n/pt_BR/OrcaSlicer_pt_BR.po | 8 +- localization/i18n/ru/OrcaSlicer_ru.po | 8 +- localization/i18n/sv/OrcaSlicer_sv.po | 8 +- localization/i18n/tr/OrcaSlicer_tr.po | 8 +- localization/i18n/uk/OrcaSlicer_uk.po | 8 +- localization/i18n/zh_CN/OrcaSlicer_zh_CN.po | 8 +- localization/i18n/zh_TW/OrcaSlicer_zh_TW.po | 8 +- src/libslic3r/PrintConfig.cpp | 6 +- 21 files changed, 389 insertions(+), 236 deletions(-) diff --git a/localization/i18n/OrcaSlicer.pot b/localization/i18n/OrcaSlicer.pot index 5ffd2250e8d..f6fd3097609 100644 --- a/localization/i18n/OrcaSlicer.pot +++ b/localization/i18n/OrcaSlicer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -11158,6 +11158,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "" @@ -14020,151 +14026,151 @@ msgstr "" msgid "User cancelled." 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 "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:Chamber temperature] -msgid "Chamber temperature\nDid you know that OrcaSlicer supports chamber temperature?" -msgstr "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:Auxiliary fan] -msgid "Auxiliary fan\nDid you know that OrcaSlicer supports Auxiliary part cooling fan?" -msgstr "" - -#: resources/data/hints.ini: [hint:Air filtration] -msgid "Air filtration/Exhaust Fan\nDid you know that OrcaSlicer can support Air filtration/Exhaust Fan?" -msgstr "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:Switch workspaces] -msgid "Switch workspaces\nYou can switch between Prepare and Preview workspaces by pressing the Tab key." -msgstr "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:Reverse on odd] -msgid "Reverse on odd\nDid you know that Reverse on odd feature can significantly improve the surface quality of your overhangs?" -msgstr "" - -#: 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 "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:Timelapse] -msgid "Timelapse\nDid you know that you can generate a timelapse video during each print?" -msgstr "" - -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "Auto-Arrange\nDid you know that you can auto-arrange all objects in your project?" -msgstr "" - -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "Auto-Orient\nDid you know that you can rotate objects to an optimal orientation for printing by a simple click?" -msgstr "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "Brim for better adhesion\nDid you know that when printing models have a small contact interface with the printing surface, it's recommended to use a brim?" -msgstr "" - -#: 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 one time?" -msgstr "" - -#: resources/data/hints.ini: [hint:Stack objects] -msgid "Stack objects\nDid you know that you can stack objects as a whole one?" -msgstr "" - -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "Flush into support/objects/infill\nDid you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?" -msgstr "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:When need to print with the printer door opened] -msgid "When 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 "" - -#: 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 "" + +#: 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 "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:Chamber temperature] +msgid "Chamber temperature\nDid you know that OrcaSlicer supports chamber temperature?" +msgstr "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:Auxiliary fan] +msgid "Auxiliary fan\nDid you know that OrcaSlicer supports Auxiliary part cooling fan?" +msgstr "" + +#: resources/data/hints.ini: [hint:Air filtration] +msgid "Air filtration/Exhaust Fan\nDid you know that OrcaSlicer can support Air filtration/Exhaust Fan?" +msgstr "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:Switch workspaces] +msgid "Switch workspaces\nYou can switch between Prepare and Preview workspaces by pressing the Tab key." +msgstr "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:Reverse on odd] +msgid "Reverse on odd\nDid you know that Reverse on odd feature can significantly improve the surface quality of your overhangs?" +msgstr "" + +#: 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 "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "Timelapse\nDid you know that you can generate a timelapse video during each print?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "Auto-Arrange\nDid you know that you can auto-arrange all objects in your project?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "Auto-Orient\nDid you know that you can rotate objects to an optimal orientation for printing by a simple click?" +msgstr "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "Brim for better adhesion\nDid you know that when printing models have a small contact interface with the printing surface, it's recommended to use a brim?" +msgstr "" + +#: 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 one time?" +msgstr "" + +#: resources/data/hints.ini: [hint:Stack objects] +msgid "Stack objects\nDid you know that you can stack objects as a whole one?" +msgstr "" + +#: resources/data/hints.ini: [hint:Flush into support/objects/infill] +msgid "Flush into support/objects/infill\nDid you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?" +msgstr "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:When need to print with the printer door opened] +msgid "When 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 "" + +#: 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 "" diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po index 7965f645b80..35ce4937c88 100644 --- a/localization/i18n/ca/OrcaSlicer_ca.po +++ b/localization/i18n/ca/OrcaSlicer_ca.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: 2024-03-17 22:08+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -12595,6 +12595,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Voltes de la faldilla" diff --git a/localization/i18n/cs/OrcaSlicer_cs.po b/localization/i18n/cs/OrcaSlicer_cs.po index d6336904f6d..86c1b9086b3 100644 --- a/localization/i18n/cs/OrcaSlicer_cs.po +++ b/localization/i18n/cs/OrcaSlicer_cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: 2023-09-30 15:15+0200\n" "Last-Translator: René Mošner \n" "Language-Team: \n" @@ -12087,6 +12087,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Obrysové smyčky" diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index 75f20c83d7a..56a5b917c76 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: \n" "Last-Translator: Heiko Liebscher \n" "Language-Team: \n" @@ -12804,6 +12804,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Anzahl Umrandungsringe" diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po index 5e03bfb8682..110633360b8 100644 --- a/localization/i18n/en/OrcaSlicer_en.po +++ b/localization/i18n/en/OrcaSlicer_en.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -11711,6 +11711,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Skirt loops" diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po index 3f554170b64..dc2ac1fb5bb 100644 --- a/localization/i18n/es/OrcaSlicer_es.po +++ b/localization/i18n/es/OrcaSlicer_es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: \n" "Last-Translator: Carlos Fco. Caruncho Serrano \n" "Language-Team: \n" @@ -12654,6 +12654,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Contorno de la falda" diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po index da6caed1fcd..28428f3bd7d 100644 --- a/localization/i18n/fr/OrcaSlicer_fr.po +++ b/localization/i18n/fr/OrcaSlicer_fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Guislain Cyril, Thomas Lété\n" @@ -12917,6 +12917,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Boucles de la jupe" diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po index 4ccbb727cb3..cbfa7f7dadf 100644 --- a/localization/i18n/hu/OrcaSlicer_hu.po +++ b/localization/i18n/hu/OrcaSlicer_hu.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -11788,6 +11788,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Szoknya hurkok száma" diff --git a/localization/i18n/it/OrcaSlicer_it.po b/localization/i18n/it/OrcaSlicer_it.po index 65e688c29d9..0132fabd4ae 100644 --- a/localization/i18n/it/OrcaSlicer_it.po +++ b/localization/i18n/it/OrcaSlicer_it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -12657,6 +12657,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Anelli skirt" diff --git a/localization/i18n/ja/OrcaSlicer_ja.po b/localization/i18n/ja/OrcaSlicer_ja.po index 676f6d06812..2d9cd610fc3 100644 --- a/localization/i18n/ja/OrcaSlicer_ja.po +++ b/localization/i18n/ja/OrcaSlicer_ja.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -11487,6 +11487,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "スカートのループ数" diff --git a/localization/i18n/ko/OrcaSlicer_ko.po b/localization/i18n/ko/OrcaSlicer_ko.po index 382216deb48..4148be61ef7 100644 --- a/localization/i18n/ko/OrcaSlicer_ko.po +++ b/localization/i18n/ko/OrcaSlicer_ko.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: 2024-05-01 04:51+0900\n" "Last-Translator: Hotsolidinfill <138652683+Hotsolidinfill@users.noreply." "github.com>, crwusiz \n" @@ -12212,6 +12212,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "스커트 루프" diff --git a/localization/i18n/nl/OrcaSlicer_nl.po b/localization/i18n/nl/OrcaSlicer_nl.po index e97d061cc01..3b38d6b6e83 100644 --- a/localization/i18n/nl/OrcaSlicer_nl.po +++ b/localization/i18n/nl/OrcaSlicer_nl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -11893,6 +11893,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Rand (skirt) lussen" diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po index 6dff8f9f35d..cdf2baa704d 100644 --- a/localization/i18n/pl/OrcaSlicer_pl.po +++ b/localization/i18n/pl/OrcaSlicer_pl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer 2.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:31+0200\n" "PO-Revision-Date: \n" "Last-Translator: Krzysztof Morga \n" "Language-Team: \n" @@ -2404,7 +2404,7 @@ msgid "Connection to printer failed" msgstr "Nie udało się połączyć z drukarką" msgid "Please check the network connection of the printer and Orca." -msgstr "Proszę sprawdzić połączenie sieciowe drukarki i Studio." +msgstr "Proszę sprawdzić połączenie sieciowe drukarki i Orca." msgid "Connecting..." msgstr "Łączenie..." @@ -2434,7 +2434,7 @@ msgid "Unload" msgstr "Wyładuj" msgid "Ext Spool" -msgstr "zew.Szpula" +msgstr "zew.szpula" msgid "Tips" msgstr "Wskazówki" @@ -2496,8 +2496,8 @@ msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" -"Wybierz gniazdo AMS, a następnie naciśnij przycisk \"Ładuj\" lub \"Wyładuj" -"\" ,aby automatycznie załadować lub wyładować filamenty." +"Wybierz gniazdo AMS, a następnie naciśnij przycisk \"Ładuj\" lub " +"\"Wyładuj\" ,aby automatycznie załadować lub wyładować filamenty." msgid "Edit" msgstr "Edytuj" @@ -2764,7 +2764,7 @@ msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, wersja 3" msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" -msgstr "" +msgstr "Orca Slicer opiera się na projektach PrusaSlicer i BambuStudio" msgid "Libraries" msgstr "Biblioteki" @@ -2954,7 +2954,7 @@ msgid "Step" msgstr "Krok" msgid "AMS Slots" -msgstr "Sloty AMS" +msgstr "Gniazda AMS" msgid "" "Note: Only the AMS slots loaded with the same material type can be selected." @@ -3302,11 +3302,11 @@ msgid "Edit multiple printers" msgstr "Edycja drukarek" msgid "Select connected printetrs (0/6)" -msgstr "Wybierz połączone drukarki (0/6)" +msgstr "Wybierz podłączone drukarki (0/6)" #, c-format, boost-format msgid "Select Connected Printetrs (%d/6)" -msgstr "Wybierz Połączone Drukarki (%d/6)" +msgstr "Wybierz Podłączone Drukarki (%d/6)" #, c-format, boost-format msgid "The maximum number of printers that can be selected is %d" @@ -3348,28 +3348,28 @@ msgid "Add" msgstr "Dodaj" msgid "Idle" -msgstr "Bezczynność" +msgstr "Bezczynny" msgid "Printing" msgstr "Drukowanie" msgid "Upgrading" -msgstr "" +msgstr "Aktualizacja" msgid "Incompatible" msgstr "Niekompatybilne" msgid "syncing" -msgstr "" +msgstr "synchronizacja" msgid "Printing Finish" -msgstr "" +msgstr "Drukowanie zakończone" msgid "Printing Failed" -msgstr "" +msgstr "Drukowanie nie powiodło się" msgid "PrintingPause" -msgstr "" +msgstr "Drukowanie zatrzymane" msgid "Prepare" msgstr "Przygotowanie" @@ -3378,28 +3378,28 @@ msgid "Slicing" msgstr "Cięcie" msgid "Pending" -msgstr "" +msgstr "W toku" msgid "Sending" -msgstr "" +msgstr "Wysyłanie" msgid "Sending Finish" -msgstr "" +msgstr "Wysłanie ukończone" msgid "Sending Cancel" -msgstr "" +msgstr "Anulowano wysyłanie" msgid "Sending Failed" -msgstr "" +msgstr "Wysyłanie nieudane" msgid "Print Success" -msgstr "" +msgstr "Pomyślnie wydrukowano" msgid "Print Failed" -msgstr "" +msgstr "Drukowanie nie powiodło się" msgid "Removed" -msgstr "" +msgstr "Usunięto" msgid "Resume" msgstr "Wznów" @@ -3435,10 +3435,10 @@ msgid "Abnormal print file data. Please slice again" msgstr "Nieprawidłowe dane pliku druku. Proszę ponownie przetnij" msgid "There is no device available to send printing." -msgstr "" +msgstr "Brak dostępnego urządzenia lub nie zostało wybrane." msgid "The number of printers in use simultaneously cannot be equal to 0." -msgstr "" +msgstr "Liczba używanych jednocześnie drukarek nie może być równa 0." msgid "Use External Spool" msgstr "Użyj zewnętrznej szpuli" @@ -3450,7 +3450,7 @@ msgid "Select Printers" msgstr "Wybierz drukarki" msgid "Ams Status" -msgstr "Ams Status" +msgstr "Status Ams" msgid "Printing Options" msgstr "Opcje drukowania" @@ -3465,8 +3465,8 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" -"jednocześnie drukowanie na kilku drukarkach (zależy to od liczby urządzeń, " -"które można podgrzewać jednocześnie.)" +"zadania druku jednoczesne. (zależy to od liczby urządzeń, które można " +"podgrzewać jednocześnie.)" msgid "Wait" msgstr "Czekaj" @@ -4712,7 +4712,7 @@ msgid "Export current plate as G-code" msgstr "Eksportuj bieżący stół jako plik G-code" msgid "Export Preset Bundle" -msgstr "" +msgstr "Eksport pakietów ustawień" msgid "Export current configuration to files" msgstr "Eksportuj bieżącą konfigurację do plików" @@ -4880,10 +4880,10 @@ msgid "Export toolpaths as OBJ" msgstr "Eksportuj ścieżki narzędzi jako OBJ" msgid "Open &Slicer" -msgstr "Otwórz &Studio" +msgstr "Otwórz &Slicer" msgid "Open Slicer" -msgstr "Otwórz Studio" +msgstr "Otwórz Slicer" msgid "&Quit" msgstr "&Wyjście" @@ -6287,14 +6287,14 @@ msgstr "Pobieranie nie powiodło się, wyjątek - rozmiar pliku." #, c-format, boost-format msgid "Project downloaded %d%%" -msgstr "" -"Projekt pobrany w %d%%Importowanie do OrcaSlicer nie powiodło się. Proszę " -"pobrać plik i ręcznie go zaimportować." +msgstr "Projekt pobrany w %d%%" msgid "" "Importing to Orca Slicer failed. Please download the file and manually " "import it." msgstr "" +"Importowanie do Orca Slicer nie powiodło się. Proszę pobrać plik i " +"zaimportować go ręcznie." msgid "Import SLA archive" msgstr "Importuj archiwum SLA" @@ -6685,7 +6685,7 @@ msgstr "" msgid "Multi-device Management(Take effect after restarting Orca)." msgstr "" -"Obsługa wielu urządzeń (zacznie być aktywna po ponownym uruchomieniu Slicera)" +"Obsługa wielu urządzeń (zacznie być aktywna po ponownym uruchomieniu Orca)" msgid "" "With this option enabled, you can send a task to multiple devices at the " @@ -7108,7 +7108,7 @@ msgid "Bed Leveling" msgstr "Poziomowanie stołu" msgid "Flow Dynamics Calibration" -msgstr "Kalibracja Dynamiki Przepływu" +msgstr "Kalib. Dyn. Przepływu" msgid "Click here if you can't connect to the printer" msgstr "Kliknij tutaj, jeśli nie możesz połączyć się z drukarką" @@ -7614,8 +7614,8 @@ 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\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Podczas nagrywania timelapse'a bez głowicy drukującej zaleca się dodanie " "\"Timelaps - Wieża Czyszcząca\" \n" @@ -8025,8 +8025,7 @@ msgid "Set" msgstr "Ustaw" msgid "Click to reset current value and attach to the global value." -msgstr "" -"Kliknij, aby zresetować bieżącą wartość i przypiąć ją do wartości globalnej." +msgstr "Kliknij, aby zresetować bieżącą wartość do wartości globalnej." msgid "Click to drop current modify and reset to saved value." msgstr "" @@ -8621,10 +8620,10 @@ msgid "Shift+Mouse wheel" msgstr "Shift+Kółko myszy" msgid "Horizontal slider - Move to start position" -msgstr "" +msgstr "Suwak poziomy - Przesuń do pozycji początkowej" msgid "Horizontal slider - Move to last position" -msgstr "" +msgstr "Suwak poziomy - Przesuń do ostatniej pozycji" msgid "Release Note" msgstr "Informacje o wydaniu" @@ -8791,7 +8790,7 @@ msgid "" msgstr "" "Błąd wersji oprogramowania układowego. Naprawa i aktualizacja są wymagane " "przed drukowaniem. Czy chcesz zaktualizować teraz? Możesz to również zrobić " -"później na drukarce lub przy następnym uruchomieniu studia." +"później na drukarce lub przy następnym uruchomieniu Orca." msgid "Extension Board" msgstr "Płyta rozszerzeń" @@ -9510,10 +9509,10 @@ msgid "" msgstr "" "Unikaj ruchów nad obrysami-\n" "Maksymalna długość objazdu przy unikaniu przejeżdżania nad obrysami. Jeśli " -"objazd miałby wykroczyć poza tę wartość, funkcja \"unikaj ruchów nad obrysami" -"\" zostanie zignorowana dla tej ścieżki. Długość objazdu można zdefiniować " -"jako wartość absolutna lub obliczona procentowo (np. 50%) z długości ruchu " -"bezpośredniego." +"objazd miałby wykroczyć poza tę wartość, funkcja \"unikaj ruchów nad " +"obrysami\" zostanie zignorowana dla tej ścieżki. Długość objazdu można " +"zdefiniować jako wartość absolutna lub obliczona procentowo (np. 50%) z " +"długości ruchu bezpośredniego." msgid "mm or %" msgstr "mm lub %" @@ -10237,7 +10236,7 @@ msgstr "" "niepotrzebnych mostów." msgid "Disabled" -msgstr "Wyłączona" +msgstr "Wyłączony" msgid "Limited filtering" msgstr "Ograniczona filtracja" @@ -11234,10 +11233,10 @@ msgstr "Pełna prędkość wentylatora na warstwie" 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." +"\"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 "" "Prędkość wentylatora będzie stopniowo zwiększana liniowo od zera na warstwie " "\"close_fan_the_first_x_layers\" do maksymalnej na warstwie " @@ -11344,6 +11343,14 @@ msgid "" "quality as line segments are converted to arcs by the slicer and then back " "to line segments by the firmware." msgstr "" +"Włącz to, aby uzyskać plik G-code, który zawiera ruchy G2 i G3. Tolerancja " +"dopasowania jest taka sama jak rozdzielczość.\n" +"\n" +"Uwaga: Dla maszyn Klipper, zaleca się wyłączenie tej opcji. Klipper nie " +"korzysta z poleceń łuku, ponieważ są one ponownie dzielone na segmenty linii " +"przez oprogramowanie firmware. Skutkuje to obniżeniem jakości powierzchni, " +"ponieważ segmenty linii są konwertowane na łuki przez slicer, a następnie z " +"powrotem na segmenty linii przez oprogramowanie firmware." msgid "Add line number" msgstr "Dodaj numer linii" @@ -12703,7 +12710,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Ile warstw Skirtu. Zwykle tylko jedna warstwa" msgid "Draft shield" -msgstr "" +msgstr "Draft shield" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12718,6 +12725,27 @@ msgid "" "distance from the object. Therefore, if brims are active it may intersect " "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +"Draft Shield (\"ochrona przed przeciągiem\")jest przydatna do ochrony " +"wydruku z ABS lub ASA przed wypaczaniem i oderwaniem się od stołu drukarki z " +"powodu podmuchów powietrza. Zazwyczaj jest to potrzebne tylko w przypadku " +"drukarek otwartych, czyli bez obudowy.\n" +"\n" +"Opcje:\n" +"Włączone = Skirt jest takiej samej wysokości, jak najwyższy wydrukowany " +"obiekt.\n" +"Ograniczony =Skirt jest takiej samej wysoki, jak został określony w wysokość " +"Skirtu.\n" +"\n" +"Uwaga: Aktywując funkcję Draft Shield, Skirt zostanie wydrukowany w takiej " +"odległości od obiektu jak określono w odstęp Skirtu od obiektu. Jeśli w tym " +"samym czasie Brim jest też aktywny, może dojść do jego przecięcia się ze " +"Skirt-em. Aby temu zapobiec, zwiększ wartość odległości Skirt - Obiekt\n" + +msgid "Limited" +msgstr "Ograniczony" + +msgid "Enabled" +msgstr "Włączony" msgid "Skirt loops" msgstr "Ilość pętli Skirtu" @@ -12734,7 +12762,7 @@ msgstr "" "warstwy." msgid "Skirt minimum extrusion length" -msgstr "" +msgstr "Minimalna długość ekstruzji Skirtu" msgid "" "Minimum filament extrusion length in mm when printing the skirt. Zero means " @@ -12743,6 +12771,11 @@ msgid "" "Using a non zero value is useful if the printer is set up to print without a " "prime line." msgstr "" +"Minimalna długość ekstruzji filamentu podczas drukowania Skirtu, wyrażona w " +"milimetrach. Wartość zero oznacza, że ta funkcja jest wyłączona. \n" +"\n" +"Użycie wartości innej niż 0 jest przydatne, kiedy drukarka jest ustawiona " +"tak aby nie drukowała początkowej linii czyszczącej." msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " @@ -12902,10 +12935,10 @@ msgid "" "triangle mesh slicing. The gap closing operation may reduce the final print " "resolution, therefore it is advisable to keep the value reasonably low." msgstr "" -"Szpary mniejsze niż dwukrotność wartości parametru \"promień zamykania szpar" -"\" zostaną zamknięte przy cięciu. Operacja zamykania szpar może zmniejszyć " -"finalną rozdzielczość wydruku, więc zalecane jest ustawienie tej wartości na " -"rozsądnie niskim poziomie." +"Szpary mniejsze niż dwukrotność wartości parametru \"promień zamykania " +"szpar\" zostaną zamknięte przy cięciu. Operacja zamykania szpar może " +"zmniejszyć finalną rozdzielczość wydruku, więc zalecane jest ustawienie tej " +"wartości na rozsądnie niskim poziomie." msgid "Slicing Mode" msgstr "Tryb cięcia" @@ -15274,8 +15307,8 @@ msgstr "" "Czy chcesz go zastąpić?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"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 "" "Nazwa profilu zostanie zmieniona na \"Dostawca Typ Seria @nazwa drukarki, " @@ -15498,7 +15531,7 @@ msgid "" msgstr "" "\n" "\n" -"Slicer wykrył, że funkcja synchronizacji profili użytkownika nie jest " +"Orca wykrył, że funkcja synchronizacji profili użytkownika nie jest " "włączona, co może skutkować niepoprawnymi ustawieniami filamentu na stronie " "Urządzenia. Kliknij \"Synchronizuj profile użytkownika\", aby włączyć " "funkcję synchronizacji." @@ -16612,6 +16645,15 @@ msgstr "" #~ "PrusaSlicer od Prusa Research. PrusaSlicer z kolei bazuje na Slic3r od " #~ "Alessandro Ranellucci i społeczności RepRap" +#~ msgid "Open &Studio" +#~ msgstr "Otwórz &Studio" + +#~ msgid "Open Studio" +#~ msgstr "Otwórz Studio" + +#~ msgid "Flow Dynamic Calibration" +#~ msgstr "Kalibracja Dynamiki Przepływu" + #~ msgid "Export &Configs" #~ msgstr "Eksportuj &konfiguracje" @@ -17494,9 +17536,6 @@ msgstr "" #~ msgid "Font doesn't have any shape for given text." #~ msgstr "Czcionka nie ma żadnego kształtu dla danego tekstu." -#~ msgid "There is no valid surface for text projection." -#~ msgstr "Nie istnieje żadna prawidłowa powierzchnia do rzutowania tekstu." - #~ msgid "An unexpected error occured" #~ msgstr "Wystąpił nieoczekiwany błąd" @@ -17751,8 +17790,8 @@ msgstr "" #~ "Elevation is too low for object. Use the \"Pad around object\" feature to " #~ "print the object without elevation." #~ msgstr "" -#~ "Podniesienie zbyt małe dla modelu. Użyj funkcji \"Podkładka wokół modelu" -#~ "\", aby wydrukować model bez podniesienia." +#~ "Podniesienie zbyt małe dla modelu. Użyj funkcji \"Podkładka wokół " +#~ "modelu\", aby wydrukować model bez podniesienia." #~ msgid "" #~ "The endings of the support pillars will be deployed on the gap between " diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po index d54c5904118..23877c5b174 100644 --- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po +++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: 2024-04-16 11:17-0300\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" @@ -12640,6 +12640,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Voltas da saia" diff --git a/localization/i18n/ru/OrcaSlicer_ru.po b/localization/i18n/ru/OrcaSlicer_ru.po index e3e164ba42c..6ef7b7020be 100644 --- a/localization/i18n/ru/OrcaSlicer_ru.po +++ b/localization/i18n/ru/OrcaSlicer_ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer V2.0.0 Official Release\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: 2024-04-12 13:49+0700\n" "Last-Translator: \n" "Language-Team: andylg@yandex.ru\n" @@ -12640,6 +12640,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Юбок вокруг модели" diff --git a/localization/i18n/sv/OrcaSlicer_sv.po b/localization/i18n/sv/OrcaSlicer_sv.po index 10d28d6075c..211673d710d 100644 --- a/localization/i18n/sv/OrcaSlicer_sv.po +++ b/localization/i18n/sv/OrcaSlicer_sv.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -11726,6 +11726,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Skirt varv" diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po index 385a411fd9a..516c58f5bdf 100644 --- a/localization/i18n/tr/OrcaSlicer_tr.po +++ b/localization/i18n/tr/OrcaSlicer_tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: 2024-05-02 19:55+0300\n" "Last-Translator: Olcay ÖREN\n" "Language-Team: \n" @@ -12532,6 +12532,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Etek sayısı" diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po index 83dd2df5f82..3e5d5346ce1 100644 --- a/localization/i18n/uk/OrcaSlicer_uk.po +++ b/localization/i18n/uk/OrcaSlicer_uk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: 2023-08-10 20:25-0400\n" "Last-Translator: \n" "Language-Team: \n" @@ -11893,6 +11893,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Спідниця навколо моделі" diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po index 5bbe0a47439..998cfc8a0c6 100644 --- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po +++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Slic3rPE\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: 2023-04-01 13:21+0800\n" "Last-Translator: SoftFever \n" "Language-Team: \n" @@ -11632,6 +11632,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Skirt圈数" diff --git a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po index 7ee55788abb..a9260d96303 100644 --- a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po +++ b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-21 00:29+0800\n" +"POT-Creation-Date: 2024-05-20 22:45+0200\n" "PO-Revision-Date: 2023-11-06 14:37+0800\n" "Last-Translator: ablegods \n" "Language-Team: \n" @@ -12047,6 +12047,12 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +msgid "Limited" +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Skirt loops" msgstr "Skirt 圈數" diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index bdc0938511b..da57a5dcfc1 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3816,9 +3816,9 @@ def = this->add("filament_loading_speed", coFloats); def->enum_values.push_back("disabled"); def->enum_values.push_back("limited"); def->enum_values.push_back("enabled"); - def->enum_labels.push_back("Disabled"); - def->enum_labels.push_back("Limited"); - def->enum_labels.push_back("Enabled"); + def->enum_labels.push_back(L("Disabled")); + def->enum_labels.push_back(L("Limited")); + def->enum_labels.push_back(L("Enabled")); def->mode = comAdvanced; def->set_default_value(new ConfigOptionEnum(dsDisabled)); From 98f230b69dc8d8e262cddafe5deebf3bc187749f Mon Sep 17 00:00:00 2001 From: SoftFever Date: Tue, 21 May 2024 07:47:45 +0800 Subject: [PATCH 043/178] Orca Slicer default parameter tweaks (#5406) * gap_fill_target -> gftNowhere z_hop_types -> zhtSlope * ensure_vertical_shell_thickness -> evstModerate * top_surface_pattern -> ipMonotonicLine --- 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 da57a5dcfc1..5b52fd26969 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -850,7 +850,7 @@ void PrintConfigDef::init_fff_params() def->enum_labels.push_back(L("Top and bottom surfaces")); def->enum_labels.push_back(L("Nowhere")); def->mode = comAdvanced; - def->set_default_value(new ConfigOptionEnum(gftEverywhere)); + def->set_default_value(new ConfigOptionEnum(gftNowhere)); def = this->add("enable_overhang_bridge_fan", coBools); @@ -1439,7 +1439,7 @@ void PrintConfigDef::init_fff_params() def->enum_labels.push_back(L("Moderate")); def->enum_labels.push_back(L("All")); def->mode = comAdvanced; - def->set_default_value(new ConfigOptionEnum(EnsureVerticalShellThickness::evstAll)); + def->set_default_value(new ConfigOptionEnum(EnsureVerticalShellThickness::evstModerate)); auto def_top_fill_pattern = def = this->add("top_surface_pattern", coEnum); def->label = L("Top surface pattern"); @@ -1462,7 +1462,7 @@ void PrintConfigDef::init_fff_params() def->enum_labels.push_back(L("Hilbert Curve")); def->enum_labels.push_back(L("Archimedean Chords")); def->enum_labels.push_back(L("Octagram Spiral")); - def->set_default_value(new ConfigOptionEnum(ipMonotonic)); + def->set_default_value(new ConfigOptionEnum(ipMonotonicLine)); def = this->add("bottom_surface_pattern", coEnum); def->label = L("Bottom surface pattern"); @@ -3538,7 +3538,7 @@ def = this->add("filament_loading_speed", coFloats); def->enum_labels.push_back(L("Slope")); def->enum_labels.push_back(L("Spiral")); def->mode = comAdvanced; - def->set_default_value(new ConfigOptionEnumsGeneric{ ZHopType::zhtNormal }); + def->set_default_value(new ConfigOptionEnumsGeneric{ ZHopType::zhtSlope }); def = this->add("retract_lift_above", coFloats); def->label = L("Only lift Z above"); From 0eb7fb4131e649fb594a2e590f5136307fbb66d7 Mon Sep 17 00:00:00 2001 From: Ocraftyone Date: Tue, 21 May 2024 22:52:34 -0400 Subject: [PATCH 044/178] ENH: Open Prinables.com Links and Zip Archives (#3823) * Enable ability to open `prusaslicer://` links * Add needed function to miniz * Import Zip Functionality Allows zip file to be drag and dropped or imported via the menu option Based on prusa3d/PrusaSlicer@ce38e57 and current master branch files * Update dialog style to match Orca * Ensure link is from printables * add toggle option in preferences doesn't actually control anything yet * Add Downloader classes As-is from PS master * Create Orca Styled Variant of Icons * Add Icons to ImGui * Use PS's Downloader impl for `prusaslicer://` links * Implement URL Registering on Windows * Implement prusaslicer:// link on macOS * Remove unnecessary class name qualifier in Plater.hpp * Add downloader desktop integration registration and undo * Revert Info.plist --------- Co-authored-by: SoftFever --- resources/images/notification_open.svg | 40 ++ resources/images/notification_open_dark.svg | 40 ++ resources/images/notification_open_hover.svg | 40 ++ .../images/notification_open_hover_dark.svg | 40 ++ resources/images/notification_pause.svg | 46 ++ resources/images/notification_pause_dark.svg | 46 ++ resources/images/notification_pause_hover.svg | 48 ++ .../images/notification_pause_hover_dark.svg | 48 ++ resources/images/notification_play.svg | 46 ++ resources/images/notification_play_dark.svg | 46 ++ resources/images/notification_play_hover.svg | 46 ++ .../images/notification_play_hover_dark.svg | 46 ++ src/imgui/imconfig.h | 16 +- src/libslic3r/AppConfig.cpp | 5 + src/libslic3r/CMakeLists.txt | 2 + src/libslic3r/Format/ZipperArchiveImport.cpp | 147 ++++++ src/libslic3r/Format/ZipperArchiveImport.hpp | 58 +++ src/miniz/miniz.c | 34 ++ src/miniz/miniz.h | 3 + src/slic3r/CMakeLists.txt | 8 +- src/slic3r/GUI/DesktopIntegrationDialog.cpp | 165 +++++++ src/slic3r/GUI/DesktopIntegrationDialog.hpp | 3 + src/slic3r/GUI/Downloader.cpp | 270 +++++++++++ src/slic3r/GUI/Downloader.hpp | 103 ++++ src/slic3r/GUI/DownloaderFileGet.cpp | 395 ++++++++++++++++ src/slic3r/GUI/DownloaderFileGet.hpp | 49 ++ src/slic3r/GUI/FileArchiveDialog.cpp | 447 ++++++++++++++++++ src/slic3r/GUI/FileArchiveDialog.hpp | 131 +++++ src/slic3r/GUI/GUI_App.cpp | 113 ++++- src/slic3r/GUI/GUI_App.hpp | 12 + src/slic3r/GUI/ImGuiWrapper.cpp | 13 + src/slic3r/GUI/MainFrame.cpp | 23 +- src/slic3r/GUI/NotificationManager.cpp | 288 +++++++++++ src/slic3r/GUI/NotificationManager.hpp | 68 +++ src/slic3r/GUI/Plater.cpp | 230 ++++++++- src/slic3r/GUI/Plater.hpp | 5 +- src/slic3r/GUI/Preferences.cpp | 3 + src/slic3r/Utils/Http.cpp | 16 +- src/slic3r/Utils/Http.hpp | 11 +- 39 files changed, 3109 insertions(+), 41 deletions(-) create mode 100644 resources/images/notification_open.svg create mode 100644 resources/images/notification_open_dark.svg create mode 100644 resources/images/notification_open_hover.svg create mode 100644 resources/images/notification_open_hover_dark.svg create mode 100644 resources/images/notification_pause.svg create mode 100644 resources/images/notification_pause_dark.svg create mode 100644 resources/images/notification_pause_hover.svg create mode 100644 resources/images/notification_pause_hover_dark.svg create mode 100644 resources/images/notification_play.svg create mode 100644 resources/images/notification_play_dark.svg create mode 100644 resources/images/notification_play_hover.svg create mode 100644 resources/images/notification_play_hover_dark.svg create mode 100644 src/libslic3r/Format/ZipperArchiveImport.cpp create mode 100644 src/libslic3r/Format/ZipperArchiveImport.hpp create mode 100644 src/slic3r/GUI/Downloader.cpp create mode 100644 src/slic3r/GUI/Downloader.hpp create mode 100644 src/slic3r/GUI/DownloaderFileGet.cpp create mode 100644 src/slic3r/GUI/DownloaderFileGet.hpp create mode 100644 src/slic3r/GUI/FileArchiveDialog.cpp create mode 100644 src/slic3r/GUI/FileArchiveDialog.hpp diff --git a/resources/images/notification_open.svg b/resources/images/notification_open.svg new file mode 100644 index 00000000000..0532391f055 --- /dev/null +++ b/resources/images/notification_open.svg @@ -0,0 +1,40 @@ + +image/svg+xml + + + + diff --git a/resources/images/notification_open_dark.svg b/resources/images/notification_open_dark.svg new file mode 100644 index 00000000000..00589c18198 --- /dev/null +++ b/resources/images/notification_open_dark.svg @@ -0,0 +1,40 @@ + +image/svg+xml + + + + diff --git a/resources/images/notification_open_hover.svg b/resources/images/notification_open_hover.svg new file mode 100644 index 00000000000..207e9ac75cd --- /dev/null +++ b/resources/images/notification_open_hover.svg @@ -0,0 +1,40 @@ + +image/svg+xml + + + + diff --git a/resources/images/notification_open_hover_dark.svg b/resources/images/notification_open_hover_dark.svg new file mode 100644 index 00000000000..07ac1661901 --- /dev/null +++ b/resources/images/notification_open_hover_dark.svg @@ -0,0 +1,40 @@ + +image/svg+xml + + + + diff --git a/resources/images/notification_pause.svg b/resources/images/notification_pause.svg new file mode 100644 index 00000000000..fe108b8caec --- /dev/null +++ b/resources/images/notification_pause.svg @@ -0,0 +1,46 @@ + +image/svg+xml + + + + + diff --git a/resources/images/notification_pause_dark.svg b/resources/images/notification_pause_dark.svg new file mode 100644 index 00000000000..f2dc08fb8df --- /dev/null +++ b/resources/images/notification_pause_dark.svg @@ -0,0 +1,46 @@ + +image/svg+xml + + + + + diff --git a/resources/images/notification_pause_hover.svg b/resources/images/notification_pause_hover.svg new file mode 100644 index 00000000000..012e34f5d43 --- /dev/null +++ b/resources/images/notification_pause_hover.svg @@ -0,0 +1,48 @@ + +image/svg+xml + + + + + diff --git a/resources/images/notification_pause_hover_dark.svg b/resources/images/notification_pause_hover_dark.svg new file mode 100644 index 00000000000..8933199eb70 --- /dev/null +++ b/resources/images/notification_pause_hover_dark.svg @@ -0,0 +1,48 @@ + +image/svg+xml + + + + + diff --git a/resources/images/notification_play.svg b/resources/images/notification_play.svg new file mode 100644 index 00000000000..6ff4389ac8d --- /dev/null +++ b/resources/images/notification_play.svg @@ -0,0 +1,46 @@ + +image/svg+xml + + + + + diff --git a/resources/images/notification_play_dark.svg b/resources/images/notification_play_dark.svg new file mode 100644 index 00000000000..974e653f3a6 --- /dev/null +++ b/resources/images/notification_play_dark.svg @@ -0,0 +1,46 @@ + +image/svg+xml + + + + + diff --git a/resources/images/notification_play_hover.svg b/resources/images/notification_play_hover.svg new file mode 100644 index 00000000000..3a0ff0b2236 --- /dev/null +++ b/resources/images/notification_play_hover.svg @@ -0,0 +1,46 @@ + +image/svg+xml + + + + + diff --git a/resources/images/notification_play_hover_dark.svg b/resources/images/notification_play_hover_dark.svg new file mode 100644 index 00000000000..5a41f14fea7 --- /dev/null +++ b/resources/images/notification_play_hover_dark.svg @@ -0,0 +1,46 @@ + +image/svg+xml + + + + + diff --git a/src/imgui/imconfig.h b/src/imgui/imconfig.h index e51e1f9e149..b230fa718c8 100644 --- a/src/imgui/imconfig.h +++ b/src/imgui/imconfig.h @@ -210,6 +210,20 @@ namespace ImGui const wchar_t ExpandArrowIcon = 0x0843; const wchar_t CompleteIcon = 0x0844; -// void MyFunction(const char* name, const MyMatrix44& v); + // Orca + const wchar_t PlayButton = 0x0850; + const wchar_t PlayDarkButton = 0x0851; + const wchar_t PlayHoverButton = 0x0852; + const wchar_t PlayHoverDarkButton = 0x0853; + const wchar_t PauseButton = 0x0854; + const wchar_t PauseDarkButton = 0x0855; + const wchar_t PauseHoverButton = 0x0856; + const wchar_t PauseHoverDarkButton = 0x0857; + const wchar_t OpenButton = 0x0858; + const wchar_t OpenDarkButton = 0x0859; + const wchar_t OpenHoverButton = 0x085A; + const wchar_t OpenHoverDarkButton = 0x085B; + + // void MyFunction(const char* name, const MyMatrix44& v); } diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index 49a7228f1fb..1121a785c59 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -333,6 +333,11 @@ void AppConfig::set_defaults() set("download_path", ""); } + // Orca + if (get("ps_url_registered").empty()) { + set_bool("ps_url_registered", false); + } + if (get("mouse_wheel").empty()) { set("mouse_wheel", "0"); } diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt index 2a37967de58..3ed7972d22a 100644 --- a/src/libslic3r/CMakeLists.txt +++ b/src/libslic3r/CMakeLists.txt @@ -145,6 +145,8 @@ set(lisbslic3r_sources Format/SL1.cpp Format/svg.hpp Format/svg.cpp + Format/ZipperArchiveImport.hpp + Format/ZipperArchiveImport.cpp GCode/ThumbnailData.cpp GCode/ThumbnailData.hpp GCode/CoolingBuffer.cpp diff --git a/src/libslic3r/Format/ZipperArchiveImport.cpp b/src/libslic3r/Format/ZipperArchiveImport.cpp new file mode 100644 index 00000000000..426e0d3252b --- /dev/null +++ b/src/libslic3r/Format/ZipperArchiveImport.cpp @@ -0,0 +1,147 @@ +///|/ Copyright (c) Prusa Research 2022 - 2023 Tomáš Mészáros @tamasmeszaros, David Kocík @kocikdav +///|/ +///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher +///|/ +#include "ZipperArchiveImport.hpp" + +#include "libslic3r/miniz_extension.hpp" +#include "libslic3r/Exception.hpp" +#include "libslic3r/PrintConfig.hpp" + +#include +#include +#include + +namespace Slic3r { + +namespace { + +// Read an ini file into boost property tree +boost::property_tree::ptree read_ini(const mz_zip_archive_file_stat &entry, + MZ_Archive &zip) +{ + std::string buf(size_t(entry.m_uncomp_size), '\0'); + + if (!mz_zip_reader_extract_to_mem(&zip.arch, entry.m_file_index, + buf.data(), buf.size(), 0)) + throw Slic3r::FileIOError(zip.get_errorstr()); + + boost::property_tree::ptree tree; + std::stringstream ss(buf); + boost::property_tree::read_ini(ss, tree); + return tree; +} + +// Read an arbitrary file into EntryBuffer +EntryBuffer read_entry(const mz_zip_archive_file_stat &entry, + MZ_Archive &zip, + const std::string &name) +{ + std::vector buf(entry.m_uncomp_size); + + if (!mz_zip_reader_extract_to_mem(&zip.arch, entry.m_file_index, + buf.data(), buf.size(), 0)) + throw Slic3r::FileIOError(zip.get_errorstr()); + + return {std::move(buf), (name.empty() ? entry.m_filename : name)}; +} + +} // namespace + +ZipperArchive read_zipper_archive(const std::string &zipfname, + const std::vector &includes, + const std::vector &excludes) +{ + ZipperArchive arch; + + // Little RAII + struct Arch : public MZ_Archive + { + Arch(const std::string &fname) + { + if (!open_zip_reader(&arch, fname)) + throw Slic3r::FileIOError(get_errorstr()); + } + + ~Arch() { close_zip_reader(&arch); } + } zip(zipfname); + + mz_uint num_entries = mz_zip_reader_get_num_files(&zip.arch); + + for (mz_uint i = 0; i < num_entries; ++i) { + mz_zip_archive_file_stat entry; + + if (mz_zip_reader_file_stat(&zip.arch, i, &entry)) { + std::string name = entry.m_filename; + boost::algorithm::to_lower(name); + + if (!std::any_of(includes.begin(), includes.end(), + [&name](const std::string &incl) { + return boost::algorithm::contains(name, incl); + })) + continue; + + if (std::any_of(excludes.begin(), excludes.end(), + [&name](const std::string &excl) { + return boost::algorithm::contains(name, excl); + })) + continue; + + if (name == CONFIG_FNAME) { + arch.config = read_ini(entry, zip); + continue; + } + + if (name == PROFILE_FNAME) { + arch.profile = read_ini(entry, zip); + continue; + } + + auto it = std::lower_bound( + arch.entries.begin(), arch.entries.end(), + EntryBuffer{{}, name}, + [](const EntryBuffer &r1, const EntryBuffer &r2) { + return std::less()(r1.fname, r2.fname); + }); + + arch.entries.insert(it, read_entry(entry, zip, name)); + } + } + + return arch; +} + +std::pair extract_profile( + const ZipperArchive &arch, DynamicPrintConfig &profile_out) +{ + DynamicPrintConfig profile_in, profile_use; + ConfigSubstitutions config_substitutions = + profile_in.load(arch.profile, + ForwardCompatibilitySubstitutionRule::Enable); + + if (profile_in.empty()) { // missing profile... do guess work + // try to recover the layer height from the config.ini which was + // present in all versions of sl1 files. + if (auto lh_opt = arch.config.find("layerHeight"); + lh_opt != arch.config.not_found()) { + auto lh_str = lh_opt->second.data(); + + size_t pos = 0; + double lh = string_to_double_decimal_point(lh_str, &pos); + if (pos) { // TODO: verify that pos is 0 when parsing fails + profile_out.set("layer_height", lh); + profile_out.set("initial_layer_height", lh); + } + } + } + + // If the archive contains an empty profile, use the one that was passed + // as output argument then replace it with the readed profile to report + // that it was empty. + profile_use = profile_in.empty() ? profile_out : profile_in; + profile_out = profile_in; + + return {profile_use, std::move(config_substitutions)}; +} + +} // namespace Slic3r diff --git a/src/libslic3r/Format/ZipperArchiveImport.hpp b/src/libslic3r/Format/ZipperArchiveImport.hpp new file mode 100644 index 00000000000..d375cf55d61 --- /dev/null +++ b/src/libslic3r/Format/ZipperArchiveImport.hpp @@ -0,0 +1,58 @@ +///|/ Copyright (c) Prusa Research 2022 Tomáš Mészáros @tamasmeszaros +///|/ +///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher +///|/ +#ifndef ZIPPERARCHIVEIMPORT_HPP +#define ZIPPERARCHIVEIMPORT_HPP + +#include +#include +#include + +#include + +#include "libslic3r/PrintConfig.hpp" + +namespace Slic3r { + +// Buffer for arbitraryfiles inside a zipper archive. +struct EntryBuffer +{ + std::vector buf; + std::string fname; +}; + +// Structure holding the data read from a zipper archive. +struct ZipperArchive +{ + boost::property_tree::ptree profile, config; + std::vector entries; +}; + +// Names of the files containing metadata inside the archive. +const constexpr char *CONFIG_FNAME = "config.ini"; +const constexpr char *PROFILE_FNAME = "prusaslicer.ini"; + +// Read an archive that was written using the Zipper class. +// The includes parameter is a set of file name substrings that the entries +// must contain to be included in ZipperArchive. +// The excludes parameter may contain substrings that filenames must not +// contain. +// Every file in the archive is read into ZipperArchive::entries +// except the files CONFIG_FNAME, and PROFILE_FNAME which are read into +// ZipperArchive::config and ZipperArchive::profile structures. +ZipperArchive read_zipper_archive(const std::string &zipfname, + const std::vector &includes, + const std::vector &excludes); + +// Extract the print profile form the archive into 'out'. +// Returns a profile that has correct parameters to use for model reconstruction +// even if the needed parameters were not fully found in the archive's metadata. +// The inout argument shall be a usable fallback profile if the archive +// has totally corrupted metadata. +std::pair extract_profile( + const ZipperArchive &arch, DynamicPrintConfig &inout); + +} // namespace Slic3r + +#endif // ZIPPERARCHIVEIMPORT_HPP diff --git a/src/miniz/miniz.c b/src/miniz/miniz.c index d649adb1bc8..c6cd29e003f 100644 --- a/src/miniz/miniz.c +++ b/src/miniz/miniz.c @@ -8000,6 +8000,40 @@ mz_uint mz_zip_reader_get_extra(mz_zip_archive* pZip, mz_uint file_index, char* return ne + 1; } +mz_uint mz_zip_reader_get_filename_from_extra(mz_zip_archive* pZip, mz_uint file_index, char* buffer, mz_uint extra_buf_size) +{ + if (extra_buf_size == 0) + return 0; + mz_uint nf; + mz_uint ne; + const mz_uint8* p = mz_zip_get_cdh(pZip, file_index); + if (!p) + { + if (extra_buf_size) + buffer[0] = '\0'; + mz_zip_set_error(pZip, MZ_ZIP_INVALID_PARAMETER); + return 0; + } + nf = MZ_READ_LE16(p + MZ_ZIP_CDH_FILENAME_LEN_OFS); + ne = MZ_READ_LE16(p + MZ_ZIP_CDH_EXTRA_LEN_OFS); + + int copy = 0; + char const* p_nf = p + MZ_ZIP_CENTRAL_DIR_HEADER_SIZE + nf; + char const* e = p_nf + ne + 1; + while (p_nf + 4 < e) { + mz_uint16 len = ((mz_uint16)p_nf[2]) | ((mz_uint16)p_nf[3] << 8); + if (p_nf[0] == '\x75' && p_nf[1] == '\x70' && len >= 5 && p_nf + 4 + len < e && p_nf[4] == '\x01') { + mz_uint length = MZ_MIN(len - 5, extra_buf_size - 1); + memcpy(buffer, p_nf + 9, length); + return length; + } + else { + p_nf += 4 + len; + } + } + return 0; +} + mz_bool mz_zip_reader_file_stat(mz_zip_archive *pZip, mz_uint file_index, mz_zip_archive_file_stat *pStat) { return mz_zip_file_stat_internal(pZip, file_index, mz_zip_get_cdh(pZip, file_index), pStat, NULL); diff --git a/src/miniz/miniz.h b/src/miniz/miniz.h index 4ed3320a1ca..f0549f3de2f 100644 --- a/src/miniz/miniz.h +++ b/src/miniz/miniz.h @@ -1171,6 +1171,9 @@ mz_uint mz_zip_reader_get_extra(mz_zip_archive *pZip, mz_uint file_index, char * int mz_zip_reader_locate_file(mz_zip_archive *pZip, const char *pName, const char *pComment, mz_uint flags); int mz_zip_reader_locate_file_v2(mz_zip_archive *pZip, const char *pName, const char *pComment, mz_uint flags, mz_uint32 *file_index); +/* Retrieves the filename of an archive file entry from EXTRA ID. */ +mz_uint mz_zip_reader_get_filename_from_extra(mz_zip_archive * pZip, mz_uint file_index, char* buffer, mz_uint extra_buf_size); + /* Returns detailed information about an archive file entry. */ mz_bool mz_zip_reader_file_stat(mz_zip_archive *pZip, mz_uint file_index, mz_zip_archive_file_stat *pStat); diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt index 6ff0adf18bb..d03a0c20dc7 100644 --- a/src/slic3r/CMakeLists.txt +++ b/src/slic3r/CMakeLists.txt @@ -111,7 +111,7 @@ set(SLIC3R_GUI_SOURCES GUI/GLCanvas3D.hpp GUI/GLCanvas3D.cpp GUI/SceneRaycaster.hpp - GUI/SceneRaycaster.cpp + GUI/SceneRaycaster.cpp GUI/OpenGLManager.hpp GUI/OpenGLManager.cpp GUI/Selection.hpp @@ -290,6 +290,8 @@ set(SLIC3R_GUI_SOURCES GUI/ConfigManipulation.hpp GUI/Field.cpp GUI/Field.hpp + GUI/FileArchiveDialog.cpp + GUI/FileArchiveDialog.hpp GUI/OptionsGroup.cpp GUI/OptionsGroup.hpp GUI/OG_CustomCtrl.cpp @@ -342,6 +344,10 @@ set(SLIC3R_GUI_SOURCES GUI/ConfigWizard_private.hpp GUI/MsgDialog.cpp GUI/MsgDialog.hpp + GUI/Downloader.hpp + GUI/Downloader.cpp + GUI/DownloaderFileGet.hpp + GUI/DownloaderFileGet.cpp GUI/DownloadProgressDialog.hpp GUI/DownloadProgressDialog.cpp GUI/UpdateDialogs.cpp diff --git a/src/slic3r/GUI/DesktopIntegrationDialog.cpp b/src/slic3r/GUI/DesktopIntegrationDialog.cpp index 05bedf536f8..a9d87084622 100644 --- a/src/slic3r/GUI/DesktopIntegrationDialog.cpp +++ b/src/slic3r/GUI/DesktopIntegrationDialog.cpp @@ -455,6 +455,171 @@ void DesktopIntegrationDialog::undo_desktop_intgration() wxGetApp().plater()->get_notification_manager()->push_notification(NotificationType::UndoDesktopIntegrationSuccess); } +void DesktopIntegrationDialog::perform_downloader_desktop_integration() +{ + BOOST_LOG_TRIVIAL(debug) << "performing downloader desktop integration."; + // Path to appimage + const char* appimage_env = std::getenv("APPIMAGE"); + std::string excutable_path; + if (appimage_env) { + try { + excutable_path = boost::filesystem::canonical(boost::filesystem::path(appimage_env)).string(); + } + catch (std::exception&) { + BOOST_LOG_TRIVIAL(error) << "Performing downloader desktop integration failed - boost::filesystem::canonical did not return appimage path."; + show_error(nullptr, _L("Performing downloader desktop integration failed - boost::filesystem::canonical did not return appimage path.")); + return; + } + } + else { + // not appimage - find executable + excutable_path = boost::dll::program_location().string(); + //excutable_path = wxStandardPaths::Get().GetExecutablePath().string(); + BOOST_LOG_TRIVIAL(debug) << "non-appimage path to executable: " << excutable_path; + if (excutable_path.empty()) + { + BOOST_LOG_TRIVIAL(error) << "Performing downloader desktop integration failed - no executable found."; + show_error(nullptr, _L("Performing downloader desktop integration failed - Could not find executable.")); + return; + } + } + + // Escape ' characters in appimage, other special symbols will be esacaped in desktop file by 'excutable_path' + //boost::replace_all(excutable_path, "'", "'\\''"); + excutable_path = escape_string(excutable_path); + + // Find directories icons and applications + // $XDG_DATA_HOME defines the base directory relative to which user specific data files should be stored. + // If $XDG_DATA_HOME is either not set or empty, a default equal to $HOME/.local/share should be used. + // $XDG_DATA_DIRS defines the preference-ordered set of base directories to search for data files in addition to the $XDG_DATA_HOME base directory. + // The directories in $XDG_DATA_DIRS should be seperated with a colon ':'. + // If $XDG_DATA_DIRS is either not set or empty, a value equal to /usr/local/share/:/usr/share/ should be used. + std::vectortarget_candidates; + resolve_path_from_var("XDG_DATA_HOME", target_candidates); + resolve_path_from_var("XDG_DATA_DIRS", target_candidates); + + AppConfig* app_config = wxGetApp().app_config; + // suffix string to create different desktop file for alpha, beta. + + std::string version_suffix; + std::string name_suffix; + std::string version(SLIC3R_VERSION); + if (version.find("alpha") != std::string::npos) + { + version_suffix = "-alpha"; + name_suffix = " - alpha"; + } + else if (version.find("beta") != std::string::npos) + { + version_suffix = "-beta"; + name_suffix = " - beta"; + } + + // theme path to icon destination + std::string icon_theme_path; + std::string icon_theme_dirs; + + if (platform_flavor() == PlatformFlavor::LinuxOnChromium) { + icon_theme_path = "hicolor/96x96/apps/"; + icon_theme_dirs = "/hicolor/96x96/apps"; + } + + std::string target_dir_desktop; + + // desktop file + // iterate thru target_candidates to find applications folder + + std::string desktop_file_downloader = GUI::format( + "[Desktop Entry]\n" + "Name=PrusaSlicer URL Protocol%1%\n" + "Exec=\"%2%\" %%u\n" + "Terminal=false\n" + "Type=Application\n" + "MimeType=x-scheme-handler/prusaslicer;\n" + "StartupNotify=false\n" + "NoDisplay=true\n" + , name_suffix, excutable_path); + + // desktop file for downloader as part of main app + std::string desktop_path = GUI::format("%1%/applications/PrusaSlicerURLProtocol%2%.desktop", target_dir_desktop, version_suffix); + if (create_desktop_file(desktop_path, desktop_file_downloader)) { + // save path to desktop file + app_config->set("desktop_integration_URL_path", desktop_path); + // finish registration on mime type + std::string command = GUI::format("xdg-mime default PrusaSlicerURLProtocol%1%.desktop x-scheme-handler/prusaslicer", version_suffix); + BOOST_LOG_TRIVIAL(debug) << "system command: " << command; + int r = system(command.c_str()); + BOOST_LOG_TRIVIAL(debug) << "system result: " << r; + + } + + bool candidate_found = false; + for (size_t i = 0; i < target_candidates.size(); ++i) { + if (contains_path_dir(target_candidates[i], "applications")) { + target_dir_desktop = target_candidates[i]; + // Write slicer desktop file + std::string path = GUI::format("%1%/applications/PrusaSlicerURLProtocol%2%.desktop", target_dir_desktop, version_suffix); + if (create_desktop_file(path, desktop_file_downloader)) { + app_config->set("desktop_integration_URL_path", path); + candidate_found = true; + BOOST_LOG_TRIVIAL(debug) << "PrusaSlicerURLProtocol.desktop file installation success."; + break; + } + else { + // write failed - try another path + BOOST_LOG_TRIVIAL(debug) << "Attempt to PrusaSlicerURLProtocol.desktop file installation failed. failed path: " << target_candidates[i]; + target_dir_desktop.clear(); + } + } + } + // if all failed - try creating default home folder + if (!candidate_found) { + // create $HOME/.local/share + create_path(boost::nowide::narrow(wxFileName::GetHomeDir()), ".local/share/applications"); + // create desktop file + target_dir_desktop = GUI::format("%1%/.local/share", wxFileName::GetHomeDir()); + std::string path = GUI::format("%1%/applications/PrusaSlicerURLProtocol%2%.desktop", target_dir_desktop, version_suffix); + if (contains_path_dir(target_dir_desktop, "applications")) { + if (!create_desktop_file(path, desktop_file_downloader)) { + // Desktop file not written - end desktop integration + BOOST_LOG_TRIVIAL(error) << "Performing downloader desktop integration failed - could not create desktop file."; + return; + } + app_config->set("desktop_integration_URL_path", path); + } + else { + // Desktop file not written - end desktop integration + BOOST_LOG_TRIVIAL(error) << "Performing downloader desktop integration failed because the application directory was not found."; + return; + } + } + assert(!target_dir_desktop.empty()); + if (target_dir_desktop.empty()) { + // Desktop file not written - end desktop integration + BOOST_LOG_TRIVIAL(error) << "Performing downloader desktop integration failed because the application directory was not found."; + show_error(nullptr, _L("Performing downloader desktop integration failed because the application directory was not found.")); + return; + } + + // finish registration on mime type + std::string command = GUI::format("xdg-mime default PrusaSlicerURLProtocol%1%.desktop x-scheme-handler/prusaslicer", version_suffix); + BOOST_LOG_TRIVIAL(debug) << "system command: " << command; + int r = system(command.c_str()); + BOOST_LOG_TRIVIAL(debug) << "system result: " << r; + + wxGetApp().plater()->get_notification_manager()->push_notification(NotificationType::DesktopIntegrationSuccess); +} +void DesktopIntegrationDialog::undo_downloader_registration() +{ + const AppConfig *app_config = wxGetApp().app_config; + std::string path = std::string(app_config->get("desktop_integration_URL_path")); + if (!path.empty()) { + BOOST_LOG_TRIVIAL(debug) << "removing " << path; + std::remove(path.c_str()); + } + // There is no need to undo xdg-mime default command. It is done automatically when desktop file is deleted. +} + DesktopIntegrationDialog::DesktopIntegrationDialog(wxWindow *parent) : wxDialog(parent, wxID_ANY, _(L("Desktop Integration")), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER) { diff --git a/src/slic3r/GUI/DesktopIntegrationDialog.hpp b/src/slic3r/GUI/DesktopIntegrationDialog.hpp index 4bb7c5e2c09..66057732345 100644 --- a/src/slic3r/GUI/DesktopIntegrationDialog.hpp +++ b/src/slic3r/GUI/DesktopIntegrationDialog.hpp @@ -29,6 +29,9 @@ public: static void perform_desktop_integration(); // Deletes Desktop files and icons for both PrusaSlicer and GcodeViewer at paths stored in App Config. static void undo_desktop_intgration(); + + static void perform_downloader_desktop_integration(); + static void undo_downloader_registration(); private: }; diff --git a/src/slic3r/GUI/Downloader.cpp b/src/slic3r/GUI/Downloader.cpp new file mode 100644 index 00000000000..229936160f9 --- /dev/null +++ b/src/slic3r/GUI/Downloader.cpp @@ -0,0 +1,270 @@ +///|/ Copyright (c) Prusa Research 2023 David Kocík @kocikdav, Oleksandra Iushchenko @YuSanka +///|/ +///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher +///|/ +#include "Downloader.hpp" +#include "GUI_App.hpp" +#include "NotificationManager.hpp" +#include "format.hpp" +#include "MainFrame.hpp" + +#include +#include +#include + +namespace Slic3r { +namespace GUI { + +namespace { +void open_folder(const std::string& path) +{ + // Code taken from NotificationManager.cpp + + // Execute command to open a file explorer, platform dependent. + // FIXME: The const_casts aren't needed in wxWidgets 3.1, remove them when we upgrade. + +#ifdef _WIN32 + const wxString widepath = from_u8(path); + const wchar_t* argv[] = { L"explorer", widepath.GetData(), nullptr }; + ::wxExecute(const_cast(argv), wxEXEC_ASYNC, nullptr); +#elif __APPLE__ + const char* argv[] = { "open", path.data(), nullptr }; + ::wxExecute(const_cast(argv), wxEXEC_ASYNC, nullptr); +#else + const char* argv[] = { "xdg-open", path.data(), nullptr }; + + // Check if we're running in an AppImage container, if so, we need to remove AppImage's env vars, + // because they may mess up the environment expected by the file manager. + // Mostly this is about LD_LIBRARY_PATH, but we remove a few more too for good measure. + if (wxGetEnv("APPIMAGE", nullptr)) { + // We're running from AppImage + wxEnvVariableHashMap env_vars; + wxGetEnvMap(&env_vars); + + env_vars.erase("APPIMAGE"); + env_vars.erase("APPDIR"); + env_vars.erase("LD_LIBRARY_PATH"); + env_vars.erase("LD_PRELOAD"); + env_vars.erase("UNION_PRELOAD"); + + wxExecuteEnv exec_env; + exec_env.env = std::move(env_vars); + + wxString owd; + if (wxGetEnv("OWD", &owd)) { + // This is the original work directory from which the AppImage image was run, + // set it as CWD for the child process: + exec_env.cwd = std::move(owd); + } + + ::wxExecute(const_cast(argv), wxEXEC_ASYNC, nullptr, &exec_env); + } + else { + // Looks like we're NOT running from AppImage, we'll make no changes to the environment. + ::wxExecute(const_cast(argv), wxEXEC_ASYNC, nullptr, nullptr); + } +#endif +} + +std::string filename_from_url(const std::string& url) +{ + // TODO: can it be done with curl? + size_t slash = url.find_last_of("/"); + if (slash == std::string::npos && slash != url.size() - 1) + return {}; + return url.substr(slash + 1, url.size() - slash + 1); +} +} + +Download::Download(int ID, std::string url, wxEvtHandler* evt_handler, const boost::filesystem::path& dest_folder) + : m_id(ID) + , m_filename(filename_from_url(url)) + , m_dest_folder(dest_folder) +{ + assert(boost::filesystem::is_directory(dest_folder)); + m_final_path = dest_folder / m_filename; + m_file_get = std::make_shared(ID, std::move(url), m_filename, evt_handler, dest_folder); +} + +void Download::start() +{ + m_state = DownloadState::DownloadOngoing; + m_file_get->get(); +} +void Download::cancel() +{ + m_state = DownloadState::DownloadStopped; + m_file_get->cancel(); +} +void Download::pause() +{ + //assert(m_state == DownloadState::DownloadOngoing); + // if instead of assert - it can happen that user clicks on pause several times before the pause happens + if (m_state != DownloadState::DownloadOngoing) + return; + m_state = DownloadState::DownloadPaused; + m_file_get->pause(); +} +void Download::resume() +{ + //assert(m_state == DownloadState::DownloadPaused); + if (m_state != DownloadState::DownloadPaused) + return; + m_state = DownloadState::DownloadOngoing; + m_file_get->resume(); +} + + +Downloader::Downloader() + : wxEvtHandler() +{ + //Bind(EVT_DWNLDR_FILE_COMPLETE, [](const wxCommandEvent& evt) {}); + //Bind(EVT_DWNLDR_FILE_PROGRESS, [](const wxCommandEvent& evt) {}); + //Bind(EVT_DWNLDR_FILE_ERROR, [](const wxCommandEvent& evt) {}); + //Bind(EVT_DWNLDR_FILE_NAME_CHANGE, [](const wxCommandEvent& evt) {}); + + Bind(EVT_DWNLDR_FILE_COMPLETE, &Downloader::on_complete, this); + Bind(EVT_DWNLDR_FILE_PROGRESS, &Downloader::on_progress, this); + Bind(EVT_DWNLDR_FILE_ERROR, &Downloader::on_error, this); + Bind(EVT_DWNLDR_FILE_NAME_CHANGE, &Downloader::on_name_change, this); + Bind(EVT_DWNLDR_FILE_PAUSED, &Downloader::on_paused, this); + Bind(EVT_DWNLDR_FILE_CANCELED, &Downloader::on_canceled, this); +} + +void Downloader::start_download(const std::string& full_url) +{ + assert(m_initialized); + + // Orca: check if url is registered + if (!wxGetApp().app_config->has("ps_url_registered") || !wxGetApp().app_config->get_bool("ps_url_registered")) { + BOOST_LOG_TRIVIAL(error) << "PrusaSlicer links are not enabled. Download aborted: " << full_url; + show_error(nullptr, "PrusaSlicer links are not enabled in preferences. Download aborted."); + return; + } + + // Orca: Move to the 3D view + MainFrame* mainframe = wxGetApp().mainframe; + Plater* plater = wxGetApp().plater(); + + mainframe->Freeze(); + mainframe->select_tab((size_t)MainFrame::TabPosition::tp3DEditor); + plater->select_view_3D("3D"); + plater->select_view("plate"); + plater->get_current_canvas3D()->zoom_to_bed(); + mainframe->Thaw(); + + // Orca: Replace PS workaround for "mysterious slash" with a more dynamic approach + // Windows seems to have fixed the issue and this provides backwards compatability for those it still affects + boost::regex re(R"(^prusaslicer:\/\/open[\/]?\?file=)", boost::regbase::icase); + boost::smatch results; + + if (!boost::regex_search(full_url, results, re)) { + BOOST_LOG_TRIVIAL(error) << "Could not start download due to wrong URL: " << full_url; + // Orca: show error + NotificationManager* ntf_mngr = wxGetApp().notification_manager(); + ntf_mngr->push_notification(NotificationType::CustomNotification, NotificationManager::NotificationLevel::ErrorNotificationLevel, + "Could not start download due to malformed URL"); + return; + } + size_t id = get_next_id(); + std::string escaped_url = FileGet::escape_url(full_url.substr(results.length())); + if (!boost::starts_with(escaped_url, "https://") || !FileGet::is_subdomain(escaped_url, "printables.com")) { + std::string msg = format(_L("Download won't start. Download URL doesn't point to https://printables.com : %1%"), escaped_url); + BOOST_LOG_TRIVIAL(error) << msg; + NotificationManager* ntf_mngr = wxGetApp().notification_manager(); + ntf_mngr->push_notification(NotificationType::CustomNotification, NotificationManager::NotificationLevel::ErrorNotificationLevel, + "Download failed. Download URL doesn't point to https://printables.com."); + return; + } + + std::string text(escaped_url); + m_downloads.emplace_back(std::make_unique(id, std::move(escaped_url), this, m_dest_folder)); + NotificationManager* ntf_mngr = wxGetApp().notification_manager(); + ntf_mngr->push_download_URL_progress_notification(id, m_downloads.back()->get_filename(), std::bind(&Downloader::user_action_callback, this, std::placeholders::_1, std::placeholders::_2)); + m_downloads.back()->start(); + BOOST_LOG_TRIVIAL(debug) << "started download"; +} + +void Downloader::on_progress(wxCommandEvent& event) +{ + size_t id = event.GetInt(); + float percent = (float)std::stoi(boost::nowide::narrow(event.GetString())) / 100.f; + //BOOST_LOG_TRIVIAL(error) << "progress " << id << ": " << percent; + NotificationManager* ntf_mngr = wxGetApp().notification_manager(); + BOOST_LOG_TRIVIAL(trace) << "Download "<< id << ": " << percent; + ntf_mngr->set_download_URL_progress(id, percent); +} +void Downloader::on_error(wxCommandEvent& event) +{ + size_t id = event.GetInt(); + set_download_state(event.GetInt(), DownloadState::DownloadError); + BOOST_LOG_TRIVIAL(error) << "Download error: " << event.GetString(); + NotificationManager* ntf_mngr = wxGetApp().notification_manager(); + ntf_mngr->set_download_URL_error(id, boost::nowide::narrow(event.GetString())); + show_error(nullptr, format_wxstr(L"%1%\n%2%", _L("The download has failed") + ":", event.GetString())); +} +void Downloader::on_complete(wxCommandEvent& event) +{ + // TODO: is this always true? : + // here we open the file itself, notification should get 1.f progress from on progress. + set_download_state(event.GetInt(), DownloadState::DownloadDone); + wxArrayString paths; + paths.Add(event.GetString()); + wxGetApp().plater()->load_files(paths); +} +bool Downloader::user_action_callback(DownloaderUserAction action, int id) +{ + for (size_t i = 0; i < m_downloads.size(); ++i) { + if (m_downloads[i]->get_id() == id) { + switch (action) { + case DownloadUserCanceled: + m_downloads[i]->cancel(); + return true; + case DownloadUserPaused: + m_downloads[i]->pause(); + return true; + case DownloadUserContinued: + m_downloads[i]->resume(); + return true; + case DownloadUserOpenedFolder: + open_folder(m_downloads[i]->get_dest_folder()); + return true; + default: + return false; + } + } + } + return false; +} + +void Downloader::on_name_change(wxCommandEvent& event) +{ + +} + +void Downloader::on_paused(wxCommandEvent& event) +{ + size_t id = event.GetInt(); + NotificationManager* ntf_mngr = wxGetApp().notification_manager(); + ntf_mngr->set_download_URL_paused(id); +} + +void Downloader::on_canceled(wxCommandEvent& event) +{ + size_t id = event.GetInt(); + NotificationManager* ntf_mngr = wxGetApp().notification_manager(); + ntf_mngr->set_download_URL_canceled(id); +} + +void Downloader::set_download_state(int id, DownloadState state) +{ + for (size_t i = 0; i < m_downloads.size(); ++i) { + if (m_downloads[i]->get_id() == id) { + m_downloads[i]->set_state(state); + return; + } + } +} + +} +} \ No newline at end of file diff --git a/src/slic3r/GUI/Downloader.hpp b/src/slic3r/GUI/Downloader.hpp new file mode 100644 index 00000000000..4fe896f5ce6 --- /dev/null +++ b/src/slic3r/GUI/Downloader.hpp @@ -0,0 +1,103 @@ +///|/ Copyright (c) Prusa Research 2023 David Kocík @kocikdav +///|/ +///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher +///|/ +#ifndef slic3r_Downloader_hpp_ +#define slic3r_Downloader_hpp_ + +#include "DownloaderFileGet.hpp" +#include +#include + +namespace Slic3r { +namespace GUI { + +class NotificationManager; + +enum DownloadState +{ + DownloadPending = 0, + DownloadOngoing, + DownloadStopped, + DownloadDone, + DownloadError, + DownloadPaused, + DownloadStateUnknown +}; + +enum DownloaderUserAction +{ + DownloadUserCanceled, + DownloadUserPaused, + DownloadUserContinued, + DownloadUserOpenedFolder +}; + +class Download { +public: + Download(int ID, std::string url, wxEvtHandler* evt_handler, const boost::filesystem::path& dest_folder); + void start(); + void cancel(); + void pause(); + void resume(); + + int get_id() const { return m_id; } + boost::filesystem::path get_final_path() const { return m_final_path; } + std::string get_filename() const { return m_filename; } + DownloadState get_state() const { return m_state; } + void set_state(DownloadState state) { m_state = state; } + std::string get_dest_folder() { return m_dest_folder.string(); } +private: + const int m_id; + std::string m_filename; + boost::filesystem::path m_final_path; + boost::filesystem::path m_dest_folder; + std::shared_ptr m_file_get; + DownloadState m_state { DownloadState::DownloadPending }; +}; + +class Downloader : public wxEvtHandler { +public: + Downloader(); + + bool get_initialized() { return m_initialized; } + void init(const boost::filesystem::path& dest_folder) + { + m_dest_folder = dest_folder; + m_initialized = true; + } + void start_download(const std::string& full_url); + // cancel = false -> just pause + bool user_action_callback(DownloaderUserAction action, int id); +private: + bool m_initialized { false }; + + std::vector> m_downloads; + boost::filesystem::path m_dest_folder; + + size_t m_next_id { 0 }; + size_t get_next_id() { return ++m_next_id; } + + void on_progress(wxCommandEvent& event); + void on_error(wxCommandEvent& event); + void on_complete(wxCommandEvent& event); + void on_name_change(wxCommandEvent& event); + void on_paused(wxCommandEvent& event); + void on_canceled(wxCommandEvent& event); + + void set_download_state(int id, DownloadState state); + /* + bool is_in_state(int id, DownloadState state) const; + DownloadState get_download_state(int id) const; + bool cancel_download(int id); + bool pause_download(int id); + bool resume_download(int id); + bool delete_download(int id); + wxString get_path_of(int id) const; + wxString get_folder_path_of(int id) const; + */ +}; + +} +} +#endif \ No newline at end of file diff --git a/src/slic3r/GUI/DownloaderFileGet.cpp b/src/slic3r/GUI/DownloaderFileGet.cpp new file mode 100644 index 00000000000..137a7e9bc14 --- /dev/null +++ b/src/slic3r/GUI/DownloaderFileGet.cpp @@ -0,0 +1,395 @@ +///|/ Copyright (c) Prusa Research 2023 Oleksandra Iushchenko @YuSanka, David Kocík @kocikdav +///|/ +///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher +///|/ +#include "DownloaderFileGet.hpp" + +#include +#include +#include +#include +#include +#include +#include + +#include "format.hpp" +#include "GUI.hpp" +#include "I18N.hpp" + +namespace Slic3r { +namespace GUI { + +const size_t DOWNLOAD_MAX_CHUNK_SIZE = 10 * 1024 * 1024; +const size_t DOWNLOAD_SIZE_LIMIT = 1024 * 1024 * 1024; + +std::string FileGet::escape_url(const std::string& unescaped) +{ + std::string ret_val; + CURL* curl = curl_easy_init(); + if (curl) { + int decodelen; + char* decoded = curl_easy_unescape(curl, unescaped.c_str(), unescaped.size(), &decodelen); + if (decoded) { + ret_val = std::string(decoded); + curl_free(decoded); + } + curl_easy_cleanup(curl); + } + return ret_val; +} +bool FileGet::is_subdomain(const std::string& url, const std::string& domain) +{ + // domain should be f.e. printables.com (.com including) + char* host; + std::string host_string; + CURLUcode rc; + CURLU* curl = curl_url(); + if (!curl) { + BOOST_LOG_TRIVIAL(error) << "Failed to init Curl library in function is_domain."; + return false; + } + rc = curl_url_set(curl, CURLUPART_URL, url.c_str(), 0); + if (rc != CURLUE_OK) { + curl_url_cleanup(curl); + return false; + } + rc = curl_url_get(curl, CURLUPART_HOST, &host, 0); + if (rc != CURLUE_OK || !host) { + curl_url_cleanup(curl); + return false; + } + host_string = std::string(host); + curl_free(host); + // now host should be subdomain.domain or just domain + if (domain == host_string) { + curl_url_cleanup(curl); + return true; + } + if(boost::ends_with(host_string, "." + domain)) { + curl_url_cleanup(curl); + return true; + } + curl_url_cleanup(curl); + return false; +} + +namespace { +unsigned get_current_pid() +{ +#ifdef WIN32 + return GetCurrentProcessId(); +#else + return ::getpid(); +#endif +} +} + +// int = DOWNLOAD ID; string = file path +wxDEFINE_EVENT(EVT_DWNLDR_FILE_COMPLETE, wxCommandEvent); +// int = DOWNLOAD ID; string = error msg +wxDEFINE_EVENT(EVT_DWNLDR_FILE_ERROR, wxCommandEvent); +// int = DOWNLOAD ID; string = progress percent +wxDEFINE_EVENT(EVT_DWNLDR_FILE_PROGRESS, wxCommandEvent); +// int = DOWNLOAD ID; string = name +wxDEFINE_EVENT(EVT_DWNLDR_FILE_NAME_CHANGE, wxCommandEvent); +// int = DOWNLOAD ID; +wxDEFINE_EVENT(EVT_DWNLDR_FILE_PAUSED, wxCommandEvent); +// int = DOWNLOAD ID; +wxDEFINE_EVENT(EVT_DWNLDR_FILE_CANCELED, wxCommandEvent); + +struct FileGet::priv +{ + const int m_id; + std::string m_url; + std::string m_filename; + std::thread m_io_thread; + wxEvtHandler* m_evt_handler; + boost::filesystem::path m_dest_folder; + boost::filesystem::path m_tmp_path; // path when ongoing download + std::atomic_bool m_cancel { false }; + std::atomic_bool m_pause { false }; + std::atomic_bool m_stopped { false }; // either canceled or paused - download is not running + size_t m_written { 0 }; + size_t m_absolute_size { 0 }; + priv(int ID, std::string&& url, const std::string& filename, wxEvtHandler* evt_handler, const boost::filesystem::path& dest_folder); + + void get_perform(); +}; + +FileGet::priv::priv(int ID, std::string&& url, const std::string& filename, wxEvtHandler* evt_handler, const boost::filesystem::path& dest_folder) + : m_id(ID) + , m_url(std::move(url)) + , m_filename(filename) + , m_evt_handler(evt_handler) + , m_dest_folder(dest_folder) +{ +} + +void FileGet::priv::get_perform() +{ + assert(m_evt_handler); + assert(!m_url.empty()); + assert(!m_filename.empty()); + assert(boost::filesystem::is_directory(m_dest_folder)); + + m_stopped = false; + + // open dest file + if (m_written == 0) + { + boost::filesystem::path dest_path = m_dest_folder / m_filename; + std::string extension = boost::filesystem::extension(dest_path); + std::string just_filename = m_filename.substr(0, m_filename.size() - extension.size()); + std::string final_filename = just_filename; + // Find unsed filename + try { + size_t version = 0; + while (boost::filesystem::exists(m_dest_folder / (final_filename + extension)) || boost::filesystem::exists(m_dest_folder / (final_filename + extension + "." + std::to_string(get_current_pid()) + ".download"))) + { + ++version; + if (version > 999) { + wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_ERROR); + evt->SetString(GUI::format_wxstr(L"Failed to find suitable filename. Last name: %1%." , (m_dest_folder / (final_filename + extension)).string())); + evt->SetInt(m_id); + m_evt_handler->QueueEvent(evt); + return; + } + final_filename = GUI::format("%1%(%2%)", just_filename, std::to_string(version)); + } + } catch (const boost::filesystem::filesystem_error& e) + { + wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_ERROR); + evt->SetString(e.what()); + evt->SetInt(m_id); + m_evt_handler->QueueEvent(evt); + return; + } + + m_filename = final_filename + extension; + + m_tmp_path = m_dest_folder / (m_filename + "." + std::to_string(get_current_pid()) + ".download"); + + wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_NAME_CHANGE); + evt->SetString(boost::nowide::widen(m_filename)); + evt->SetInt(m_id); + m_evt_handler->QueueEvent(evt); + } + + boost::filesystem::path dest_path = m_dest_folder / m_filename; + + wxString temp_path_wstring(m_tmp_path.wstring()); + + //std::cout << "dest_path: " << dest_path.string() << std::endl; + //std::cout << "m_tmp_path: " << m_tmp_path.string() << std::endl; + + BOOST_LOG_TRIVIAL(info) << GUI::format("Starting download from %1% to %2%. Temp path is %3%",m_url, dest_path, m_tmp_path); + + FILE* file; + // open file for writting + if (m_written == 0) + file = fopen(temp_path_wstring.c_str(), "wb"); + else + file = fopen(temp_path_wstring.c_str(), "ab"); + + //assert(file != NULL); + if (file == NULL) { + wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_ERROR); + // TRN %1% = file path + evt->SetString(GUI::format_wxstr(_L("Can't create file at %1%"), temp_path_wstring)); + evt->SetInt(m_id); + m_evt_handler->QueueEvent(evt); + return; + } + + std:: string range_string = std::to_string(m_written) + "-"; + + size_t written_previously = m_written; + size_t written_this_session = 0; + Http::get(m_url) + .size_limit(DOWNLOAD_SIZE_LIMIT) //more? + .set_range(range_string) + .on_progress([&](Http::Progress progress, bool& cancel) { + // to prevent multiple calls into following ifs (m_cancel / m_pause) + if (m_stopped){ + cancel = true; + return; + } + if (m_cancel) { + m_stopped = true; + fclose(file); + // remove canceled file + std::remove(m_tmp_path.string().c_str()); + m_written = 0; + cancel = true; + wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_CANCELED); + evt->SetInt(m_id); + m_evt_handler->QueueEvent(evt); + return; + // TODO: send canceled event? + } + if (m_pause) { + m_stopped = true; + fclose(file); + cancel = true; + if (m_written == 0) + std::remove(m_tmp_path.string().c_str()); + wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_PAUSED); + evt->SetInt(m_id); + m_evt_handler->QueueEvent(evt); + return; + } + + if (m_absolute_size < progress.dltotal) { + m_absolute_size = progress.dltotal; + } + + if (progress.dlnow != 0) { + if (progress.dlnow - written_this_session > DOWNLOAD_MAX_CHUNK_SIZE || progress.dlnow == progress.dltotal) { + try + { + std::string part_for_write = progress.buffer.substr(written_this_session, progress.dlnow); + fwrite(part_for_write.c_str(), 1, part_for_write.size(), file); + } + catch (const std::exception& e) + { + // fclose(file); do it? + wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_ERROR); + evt->SetString(e.what()); + evt->SetInt(m_id); + m_evt_handler->QueueEvent(evt); + cancel = true; + return; + } + written_this_session = progress.dlnow; + m_written = written_previously + written_this_session; + } + wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_PROGRESS); + int percent_total = (written_previously + progress.dlnow) * 100 / m_absolute_size; + evt->SetString(std::to_string(percent_total)); + evt->SetInt(m_id); + m_evt_handler->QueueEvent(evt); + } + + }) + .on_error([&](std::string body, std::string error, unsigned http_status) { + if (file != NULL) + fclose(file); + wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_ERROR); + if (!error.empty()) + evt->SetString(GUI::from_u8(error)); + else + evt->SetString(GUI::from_u8(body)); + evt->SetInt(m_id); + m_evt_handler->QueueEvent(evt); + }) + .on_complete([&](std::string body, unsigned /* http_status */) { + + // TODO: perform a body size check + // + //size_t body_size = body.size(); + //if (body_size != expected_size) { + // return; + //} + try + { + /* + if (m_written < body.size()) + { + // this code should never be entered. As there should be on_progress call after last bit downloaded. + std::string part_for_write = body.substr(m_written); + fwrite(part_for_write.c_str(), 1, part_for_write.size(), file); + } + */ + fclose(file); + boost::filesystem::rename(m_tmp_path, dest_path); + } + catch (const std::exception& /*e*/) + { + //TODO: report? + //error_message = GUI::format("Failed to write and move %1% to %2%", tmp_path, dest_path); + wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_ERROR); + evt->SetString("Failed to write and move."); + evt->SetInt(m_id); + m_evt_handler->QueueEvent(evt); + return; + } + + wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_COMPLETE); + evt->SetString(dest_path.wstring()); + evt->SetInt(m_id); + m_evt_handler->QueueEvent(evt); + }) + .perform_sync(); + +} + +FileGet::FileGet(int ID, std::string url, const std::string& filename, wxEvtHandler* evt_handler, const boost::filesystem::path& dest_folder) + : p(new priv(ID, std::move(url), filename, evt_handler, dest_folder)) +{} + +FileGet::FileGet(FileGet&& other) : p(std::move(other.p)) {} + +FileGet::~FileGet() +{ + if (p && p->m_io_thread.joinable()) { + p->m_cancel = true; + p->m_io_thread.join(); + } +} + +void FileGet::get() +{ + assert(p); + if (p->m_io_thread.joinable()) { + // This will stop transfers being done by the thread, if any. + // Cancelling takes some time, but should complete soon enough. + p->m_cancel = true; + p->m_io_thread.join(); + } + p->m_cancel = false; + p->m_pause = false; + p->m_io_thread = std::thread([this]() { + p->get_perform(); + }); +} + +void FileGet::cancel() +{ + if(p && p->m_stopped) { + if (p->m_io_thread.joinable()) { + p->m_cancel = true; + p->m_io_thread.join(); + wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_CANCELED); + evt->SetInt(p->m_id); + p->m_evt_handler->QueueEvent(evt); + } + } + + if (p) + p->m_cancel = true; + +} + +void FileGet::pause() +{ + if (p) { + p->m_pause = true; + } +} +void FileGet::resume() +{ + assert(p); + if (p->m_io_thread.joinable()) { + // This will stop transfers being done by the thread, if any. + // Cancelling takes some time, but should complete soon enough. + p->m_cancel = true; + p->m_io_thread.join(); + } + p->m_cancel = false; + p->m_pause = false; + p->m_io_thread = std::thread([this]() { + p->get_perform(); + }); +} +} +} diff --git a/src/slic3r/GUI/DownloaderFileGet.hpp b/src/slic3r/GUI/DownloaderFileGet.hpp new file mode 100644 index 00000000000..37a59ec30e8 --- /dev/null +++ b/src/slic3r/GUI/DownloaderFileGet.hpp @@ -0,0 +1,49 @@ +///|/ Copyright (c) Prusa Research 2023 David Kocík @kocikdav +///|/ +///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher +///|/ +#ifndef slic3r_DownloaderFileGet_hpp_ +#define slic3r_DownloaderFileGet_hpp_ + +#include "../Utils/Http.hpp" + +#include +#include +#include +#include +#include + +namespace Slic3r { +namespace GUI { +class FileGet : public std::enable_shared_from_this { +private: + struct priv; +public: + FileGet(int ID, std::string url, const std::string& filename, wxEvtHandler* evt_handler,const boost::filesystem::path& dest_folder); + FileGet(FileGet&& other); + ~FileGet(); + + void get(); + void cancel(); + void pause(); + void resume(); + static std::string escape_url(const std::string& url); + static bool is_subdomain(const std::string& url, const std::string& domain); +private: + std::unique_ptr p; +}; +// int = DOWNLOAD ID; string = file path +wxDECLARE_EVENT(EVT_DWNLDR_FILE_COMPLETE, wxCommandEvent); +// int = DOWNLOAD ID; string = error msg +wxDECLARE_EVENT(EVT_DWNLDR_FILE_PROGRESS, wxCommandEvent); +// int = DOWNLOAD ID; string = progress percent +wxDECLARE_EVENT(EVT_DWNLDR_FILE_ERROR, wxCommandEvent); +// int = DOWNLOAD ID; string = name +wxDECLARE_EVENT(EVT_DWNLDR_FILE_NAME_CHANGE, wxCommandEvent); +// int = DOWNLOAD ID; +wxDECLARE_EVENT(EVT_DWNLDR_FILE_PAUSED, wxCommandEvent); +// int = DOWNLOAD ID; +wxDECLARE_EVENT(EVT_DWNLDR_FILE_CANCELED, wxCommandEvent); +} +} +#endif diff --git a/src/slic3r/GUI/FileArchiveDialog.cpp b/src/slic3r/GUI/FileArchiveDialog.cpp new file mode 100644 index 00000000000..5f3927753f2 --- /dev/null +++ b/src/slic3r/GUI/FileArchiveDialog.cpp @@ -0,0 +1,447 @@ +///|/ Copyright (c) Prusa Research 2023 David Kocík @kocikdav +///|/ +///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher +///|/ +#include "FileArchiveDialog.hpp" + +#include "I18N.hpp" +#include "GUI_App.hpp" +#include "GUI.hpp" +#include "MainFrame.hpp" +#include "ExtraRenderers.hpp" +#include "format.hpp" +#include +#include +#include + +namespace Slic3r { +namespace GUI { + +#define BTN_SIZE wxSize(FromDIP(58), FromDIP(24)) +#define BTN_GAP FromDIP(20) + +ArchiveViewModel::ArchiveViewModel(wxWindow* parent) + :m_parent(parent) +{} +ArchiveViewModel::~ArchiveViewModel() +{} + +std::shared_ptr ArchiveViewModel::AddFile(std::shared_ptr parent, const wxString& name, bool container) +{ + std::shared_ptr node = std::make_shared(ArchiveViewNode(name)); + node->set_container(container); + + if (parent.get() != nullptr) { + parent->get_children().push_back(node); + node->set_parent(parent); + parent->set_is_folder(true); + } else { + m_top_children.emplace_back(node); + } + + wxDataViewItem child = wxDataViewItem((void*)node.get()); + wxDataViewItem parent_item= wxDataViewItem((void*)parent.get()); + ItemAdded(parent_item, child); + + if (parent) + m_ctrl->Expand(parent_item); + return node; +} + +wxString ArchiveViewModel::GetColumnType(unsigned int col) const +{ + if (col == 0) + return "bool"; + return "string";//"DataViewBitmapText"; +} + +void ArchiveViewModel::Rescale() +{ + // There should be no pictures rendered +} + +void ArchiveViewModel::Delete(const wxDataViewItem& item) +{ + assert(item.IsOk()); + ArchiveViewNode* node = static_cast(item.GetID()); + assert(node->get_parent() != nullptr); + for (std::shared_ptr child : node->get_children()) + { + Delete(wxDataViewItem((void*)child.get())); + } + delete [] node; +} +void ArchiveViewModel::Clear() +{ +} + +wxDataViewItem ArchiveViewModel::GetParent(const wxDataViewItem& item) const +{ + assert(item.IsOk()); + ArchiveViewNode* node = static_cast(item.GetID()); + return wxDataViewItem((void*)node->get_parent().get()); +} +unsigned int ArchiveViewModel::GetChildren(const wxDataViewItem& parent, wxDataViewItemArray& array) const +{ + if (!parent.IsOk()) { + for (std::shared_ptrchild : m_top_children) { + array.push_back(wxDataViewItem((void*)child.get())); + } + return m_top_children.size(); + } + + ArchiveViewNode* node = static_cast(parent.GetID()); + for (std::shared_ptr child : node->get_children()) { + array.push_back(wxDataViewItem((void*)child.get())); + } + return node->get_children().size(); +} + +void ArchiveViewModel::GetValue(wxVariant& variant, const wxDataViewItem& item, unsigned int col) const +{ + assert(item.IsOk()); + ArchiveViewNode* node = static_cast(item.GetID()); + if (col == 0) { + variant = node->get_toggle(); + } else { + variant = node->get_name(); + } +} + +void ArchiveViewModel::untoggle_folders(const wxDataViewItem& item) +{ + assert(item.IsOk()); + ArchiveViewNode* node = static_cast(item.GetID()); + node->set_toggle(false); + if (node->get_parent().get() != nullptr) + untoggle_folders(wxDataViewItem((void*)node->get_parent().get())); +} + +bool ArchiveViewModel::SetValue(const wxVariant& variant, const wxDataViewItem& item, unsigned int col) +{ + assert(item.IsOk()); + ArchiveViewNode* node = static_cast(item.GetID()); + if (col == 0) { + node->set_toggle(variant.GetBool()); + // if folder recursivelly check all children + for (std::shared_ptr child : node->get_children()) { + SetValue(variant, wxDataViewItem((void*)child.get()), col); + } + if(!variant.GetBool() && node->get_parent()) + untoggle_folders(wxDataViewItem((void*)node->get_parent().get())); + } else { + node->set_name(variant.GetString()); + } + m_parent->Refresh(); + return true; +} +bool ArchiveViewModel::IsEnabled(const wxDataViewItem& item, unsigned int col) const +{ + // As of now, all items are always enabled. + // Returning false for col 1 would gray out text. + return true; +} + +bool ArchiveViewModel::IsContainer(const wxDataViewItem& item) const +{ + if(!item.IsOk()) + return true; + ArchiveViewNode* node = static_cast(item.GetID()); + return node->is_container(); +} + +ArchiveViewCtrl::ArchiveViewCtrl(wxWindow* parent, wxSize size) + : wxDataViewCtrl(parent, wxID_ANY, wxDefaultPosition, size, wxDV_VARIABLE_LINE_HEIGHT | wxDV_ROW_LINES +#ifdef _WIN32 + | wxBORDER_SIMPLE +#endif + ) + //, m_em_unit(em_unit(parent)) +{ + wxGetApp().UpdateDVCDarkUI(this); + + m_model = new ArchiveViewModel(parent); + this->AssociateModel(m_model); + m_model->SetAssociatedControl(this); +} + +ArchiveViewCtrl::~ArchiveViewCtrl() +{ + if (m_model) { + m_model->Clear(); + m_model->DecRef(); + } +} + +FileArchiveDialog::FileArchiveDialog(wxWindow* parent_window, mz_zip_archive* archive, std::vector>& selected_paths_w_size) + : DPIDialog(parent_window, wxID_ANY, _(L("Archive preview")), wxDefaultPosition, + wxSize(45 * wxGetApp().em_unit(), 40 * wxGetApp().em_unit()), + wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxMAXIMIZE_BOX) + , m_selected_paths_w_size (selected_paths_w_size) +{ +#ifdef _WIN32 + SetBackgroundColour(*wxWHITE); + wxGetApp().UpdateDarkUI(this); + wxGetApp().UpdateDlgDarkUI(this); +#else + SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); +#endif + + int em = em_unit(); + + wxBoxSizer* topSizer = new wxBoxSizer(wxVERTICAL); + + m_avc = new ArchiveViewCtrl(this, wxSize(45 * em, 30 * em)); + wxDataViewColumn* toggle_column = m_avc->AppendToggleColumn(L"\u2714", 0, wxDATAVIEW_CELL_ACTIVATABLE, 6 * em); + m_avc->AppendTextColumn("filename", 1); + + std::vector> stack; + + std::function >&, size_t)> reduce_stack = [] (std::vector>& stack, size_t size) { + if (size == 0) { + stack.clear(); + return; + } + while (stack.size() > size) + stack.pop_back(); + }; + // recursively stores whole structure of file onto function stack and synchoronize with stack object. + std::function>&)> adjust_stack = [&adjust_stack, &reduce_stack, &avc = m_avc](const boost::filesystem::path& const_file, std::vector>& stack)->size_t { + boost::filesystem::path file(const_file); + size_t struct_size = file.has_parent_path() ? adjust_stack(file.parent_path(), stack) : 0; + + if (stack.size() > struct_size && (file.has_extension() || file.filename().string() != stack[struct_size]->get_name())) + { + reduce_stack(stack, struct_size); + } + if (!file.has_extension() && stack.size() == struct_size) + stack.push_back(avc->get_model()->AddFile((stack.empty() ? std::shared_ptr(nullptr) : stack.back()), boost::nowide::widen(file.filename().string()), true)); // filename string to wstring? + return struct_size + 1; + }; + + const std::regex pattern_drop(".*[.](stl|obj|amf|3mf|step|stp)", std::regex::icase); + mz_uint num_entries = mz_zip_reader_get_num_files(archive); + mz_zip_archive_file_stat stat; + std::vector> filtered_entries; // second is unzipped size + for (mz_uint i = 0; i < num_entries; ++i) { + if (mz_zip_reader_file_stat(archive, i, &stat)) { + std::string extra(1024, 0); + boost::filesystem::path path; + size_t extra_size = mz_zip_reader_get_filename_from_extra(archive, i, extra.data(), extra.size()); + if (extra_size > 0) { + path = boost::filesystem::path(extra.substr(0, extra_size)); + } else { + wxString wname = boost::nowide::widen(stat.m_filename); + std::string name = boost::nowide::narrow(wname); + path = boost::filesystem::path(name); + } + assert(!path.empty()); + if (!path.has_extension()) + continue; + // filter out MACOS specific hidden files + if (boost::algorithm::starts_with(path.string(), "__MACOSX")) + continue; + filtered_entries.emplace_back(std::move(path), stat.m_uncomp_size); + } + } + // sorting files will help adjust_stack function to not create multiple same folders + std::sort(filtered_entries.begin(), filtered_entries.end(), [](const std::pair& p1, const std::pair& p2){ return p1.first.string() < p2.first.string(); }); + size_t entry_count = 0; + size_t depth = 1; + for (const auto& entry : filtered_entries) + { + const boost::filesystem::path& path = entry.first; + std::shared_ptr parent(nullptr); + + depth = std::max(depth, adjust_stack(path, stack)); + if (!stack.empty()) + parent = stack.back(); + if (std::regex_match(path.extension().string(), pattern_drop)) { // this leaves out non-compatible files + std::shared_ptr new_node = m_avc->get_model()->AddFile(parent, boost::nowide::widen(path.filename().string()), false); + new_node->set_fullpath(/*std::move(path)*/path); // filename string to wstring? + new_node->set_size(entry.second); + entry_count++; + } + } + if (entry_count == 1) + on_all_button(); + + toggle_column->SetWidth((4 + depth) * em); + + wxBoxSizer* btn_sizer = create_btn_sizer(); + + topSizer->Add(m_avc, 1, wxEXPAND | wxALL, 10); + topSizer->Add(btn_sizer, 0, wxEXPAND | wxALL, 10); + this->SetSizer(topSizer); + SetMinSize(wxSize(40 * em, 30 * em)); + + for (auto btn : m_button_list) + wxGetApp().UpdateDarkUI(btn); +} + +void FileArchiveDialog::on_dpi_changed(const wxRect& suggested_rect) +{ + int em = em_unit(); + BOOST_LOG_TRIVIAL(error) << "on_dpi_changed"; + + for (auto btn : m_button_list) { + btn->SetMinSize(BTN_SIZE); + btn->SetCornerRadius(FromDIP(12)); + } + + const wxSize& size = wxSize(45 * em, 40 * em); + SetSize(size); + //m_tree->Rescale(em); + + Fit(); + Refresh(); +} + +void FileArchiveDialog::on_open_button() +{ + wxDataViewItemArray top_items; + m_avc->get_model()->GetChildren(wxDataViewItem(nullptr), top_items); + + std::function deep_fill = [&paths = m_selected_paths_w_size, &deep_fill](ArchiveViewNode* node){ + if (node == nullptr) + return; + if (node->get_children().empty()) { + if (node->get_toggle()) + paths.emplace_back(node->get_fullpath(), node->get_size()); + } else { + for (std::shared_ptr child : node->get_children()) + deep_fill(child.get()); + } + }; + + for (const auto& item : top_items) + { + ArchiveViewNode* node = static_cast(item.GetID()); + deep_fill(node); + } + this->EndModal(wxID_OK); +} + +void FileArchiveDialog::on_all_button() +{ + + wxDataViewItemArray top_items; + m_avc->get_model()->GetChildren(wxDataViewItem(nullptr), top_items); + + std::function deep_fill = [&deep_fill](ArchiveViewNode* node) { + if (node == nullptr) + return; + node->set_toggle(true); + if (!node->get_children().empty()) { + for (std::shared_ptr child : node->get_children()) + deep_fill(child.get()); + } + }; + + for (const auto& item : top_items) + { + ArchiveViewNode* node = static_cast(item.GetID()); + deep_fill(node); + // Fix for linux, where Refresh or Update wont help to redraw toggle checkboxes. + // It should be enough to call ValueChanged for top items. + m_avc->get_model()->ValueChanged(item, 0); + } + + Refresh(); +} + +void FileArchiveDialog::on_none_button() +{ + wxDataViewItemArray top_items; + m_avc->get_model()->GetChildren(wxDataViewItem(nullptr), top_items); + + std::function deep_fill = [&deep_fill](ArchiveViewNode* node) { + if (node == nullptr) + return; + node->set_toggle(false); + if (!node->get_children().empty()) { + for (std::shared_ptr child : node->get_children()) + deep_fill(child.get()); + } + }; + + for (const auto& item : top_items) + { + ArchiveViewNode* node = static_cast(item.GetID()); + deep_fill(node); + // Fix for linux, where Refresh or Update wont help to redraw toggle checkboxes. + // It should be enough to call ValueChanged for top items. + m_avc->get_model()->ValueChanged(item, 0); + } + + this->Refresh(); +} + +//Orca: Apply buttons style +wxBoxSizer* FileArchiveDialog::create_btn_sizer() +{ + auto btn_sizer = new wxBoxSizer(wxHORIZONTAL); + + auto apply_highlighted_btn_colors = [](Button* btn) { + btn->SetBackgroundColor(StateColor(std::pair(wxColour(0, 137, 123), StateColor::Pressed), + std::pair(wxColour(38, 166, 154), StateColor::Hovered), + std::pair(wxColour(0, 150, 136), StateColor::Normal))); + + btn->SetBorderColor(StateColor(std::pair(wxColour(0, 150, 136), StateColor::Normal))); + + btn->SetTextColor(StateColor(std::pair(wxColour(255, 255, 254), StateColor::Normal))); + }; + + auto apply_std_btn_colors = [](Button* btn) { + btn->SetBackgroundColor(StateColor(std::pair(wxColour(206, 206, 206), StateColor::Pressed), + std::pair(wxColour(238, 238, 238), StateColor::Hovered), + std::pair(wxColour(255, 255, 255), StateColor::Normal))); + + btn->SetBorderColor(StateColor(std::pair(wxColour(38, 46, 48), StateColor::Normal))); + + btn->SetTextColor(StateColor(std::pair(wxColour(38, 46, 48), StateColor::Normal))); + }; + + auto style_btn = [this, apply_highlighted_btn_colors, apply_std_btn_colors](Button* btn, bool highlight) { + btn->SetMinSize(BTN_SIZE); + btn->SetCornerRadius(FromDIP(12)); + if (highlight) + apply_highlighted_btn_colors(btn); + else + apply_std_btn_colors(btn); + }; + + Button* all_btn = new Button(this, _L("All")); + style_btn(all_btn, false); + all_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) { on_all_button(); }); + btn_sizer->Add(all_btn, 0, wxALIGN_CENTER_VERTICAL); + m_button_list.push_back(all_btn); + + Button* none_btn = new Button(this, _L("None")); + style_btn(none_btn, false); + none_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) { on_none_button(); }); + btn_sizer->Add(none_btn, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, BTN_GAP); + m_button_list.push_back(none_btn); + + btn_sizer->AddStretchSpacer(); + + Button* open_btn = new Button(this, _L("Open")); + style_btn(open_btn, true); + open_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) { on_open_button(); }); + open_btn->SetFocus(); + open_btn->SetId(wxID_OK); + btn_sizer->Add(open_btn, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, BTN_GAP); + m_button_list.push_back(open_btn); + + Button* cancel_btn = new Button(this, _L("Cancel")); + style_btn(cancel_btn, false); + cancel_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) { this->EndModal(wxID_CANCEL); }); + cancel_btn->SetId(wxID_CANCEL); + btn_sizer->Add(cancel_btn, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, BTN_GAP); + m_button_list.push_back(cancel_btn); + + return btn_sizer; +} + +} // namespace GUI +} // namespace Slic3r \ No newline at end of file diff --git a/src/slic3r/GUI/FileArchiveDialog.hpp b/src/slic3r/GUI/FileArchiveDialog.hpp new file mode 100644 index 00000000000..f4b7c037e1b --- /dev/null +++ b/src/slic3r/GUI/FileArchiveDialog.hpp @@ -0,0 +1,131 @@ +///|/ Copyright (c) Prusa Research 2023 David Kocík @kocikdav +///|/ +///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher +///|/ +#ifndef slic3r_GUI_FileArchiveDialog_hpp_ +#define slic3r_GUI_FileArchiveDialog_hpp_ + +#include "GUI_Utils.hpp" +#include "libslic3r/miniz_extension.hpp" + +#include +#include +#include +#include +#include "wxExtensions.hpp" + +namespace Slic3r { +namespace GUI { + +class ArchiveViewCtrl; + +class ArchiveViewNode +{ +public: + ArchiveViewNode(const wxString& name) : m_name(name) {} + + std::vector>& get_children() { return m_children; } + void set_parent(std::shared_ptr parent) { m_parent = parent; } + // On Linux, get_parent cannot just return size of m_children. ItemAdded would than crash. + std::shared_ptr get_parent() const { return m_parent; } + bool is_container() const { return m_container; } + void set_container(bool is_container) { m_container = is_container; } + wxString get_name() const { return m_name; } + void set_name(const wxString& name) { m_name = name; } + bool get_toggle() const { return m_toggle; } + void set_toggle(bool toggle) { m_toggle = toggle; } + bool get_is_folder() const { return m_folder; } + void set_is_folder(bool is_folder) { m_folder = is_folder; } + void set_fullpath(boost::filesystem::path path) { m_fullpath = path; } + boost::filesystem::path get_fullpath() const { return m_fullpath; } + void set_size(size_t size) { m_size = size; } + size_t get_size() const { return m_size; } + +private: + wxString m_name; + std::shared_ptr m_parent { nullptr }; + std::vector> m_children; + + bool m_toggle { false }; + bool m_folder { false }; + boost::filesystem::path m_fullpath; + bool m_container { false }; + size_t m_size { 0 }; +}; + +class ArchiveViewModel : public wxDataViewModel +{ +public: + ArchiveViewModel(wxWindow* parent); + ~ArchiveViewModel(); + + /* wxDataViewItem AddFolder(wxDataViewItem& parent, wxString name); + wxDataViewItem AddFile(wxDataViewItem& parent, wxString name);*/ + + std::shared_ptr AddFile(std::shared_ptr parent,const wxString& name, bool container); + + wxString GetColumnType(unsigned int col) const override; + unsigned int GetColumnCount() const override { return 2; } + + void Rescale(); + void Delete(const wxDataViewItem& item); + void Clear(); + + wxDataViewItem GetParent(const wxDataViewItem& item) const override; + unsigned int GetChildren(const wxDataViewItem& parent, wxDataViewItemArray& array) const override; + + void SetAssociatedControl(ArchiveViewCtrl* ctrl) { m_ctrl = ctrl; } + + void GetValue(wxVariant& variant, const wxDataViewItem& item, unsigned int col) const override; + bool SetValue(const wxVariant& variant, const wxDataViewItem& item, unsigned int col) override; + + void untoggle_folders(const wxDataViewItem& item); + + bool IsEnabled(const wxDataViewItem& item, unsigned int col) const override; + bool IsContainer(const wxDataViewItem& item) const override; + // Is the container just a header or an item with all columns + // In our case it is an item with all columns + bool HasContainerColumns(const wxDataViewItem& WXUNUSED(item)) const override { return true; } + +protected: + wxWindow* m_parent { nullptr }; + ArchiveViewCtrl* m_ctrl { nullptr }; + std::vector> m_top_children; +}; + +class ArchiveViewCtrl : public wxDataViewCtrl +{ + public: + ArchiveViewCtrl(wxWindow* parent, wxSize size); + ~ArchiveViewCtrl(); + + ArchiveViewModel* get_model() const {return m_model; } +protected: + ArchiveViewModel* m_model; +}; + + +class FileArchiveDialog : public DPIDialog +{ +public: + FileArchiveDialog(wxWindow* parent_window, mz_zip_archive* archive, std::vector>& selected_paths_w_size); + +protected: + void on_dpi_changed(const wxRect& suggested_rect) override; + + void on_open_button(); + void on_all_button(); + void on_none_button(); + + wxBoxSizer* create_btn_sizer(); + + // chosen files are written into this vector and returned to caller via reference. + // path in archive and decompressed size. The size can be used to distinguish between files with same path. + std::vector>& m_selected_paths_w_size; + ArchiveViewCtrl* m_avc; + std::vector m_button_list; +}; + +} // namespace GU +} // namespace Slic3r +#endif // slic3r_GUI_FileArchiveDialog_hpp_ \ No newline at end of file diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 98012eb1636..46b0c4bc23d 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -7,6 +7,7 @@ #include "slic3r/GUI/TaskManager.hpp" #include "format.hpp" #include "libslic3r_version.h" +#include "Downloader.hpp" // Localization headers: include libslic3r version first so everything in this file // uses the slic3r/GUI version (the macros will take precedence over the functions). @@ -517,6 +518,7 @@ static const FileWildcards file_wildcards_by_type[FT_SIZE] = { /* FT_MODEL */ {"Supported files"sv, {".3mf"sv, ".stl"sv, ".oltp"sv, ".stp"sv, ".step"sv, ".svg"sv, ".amf"sv, ".obj"sv}}, #endif + /* FT_ZIP */ { "ZIP files"sv, { ".zip"sv } }, /* FT_PROJECT */ { "Project files"sv, { ".3mf"sv} }, /* FT_GALLERY */ { "Known files"sv, { ".stl"sv, ".obj"sv } }, @@ -816,18 +818,25 @@ void GUI_App::post_init() if (this->init_params->input_files.size() == 1 && - boost::starts_with(this->init_params->input_files.front(), "orcaslicer://open")) { - auto input_str_arr = split_str(this->init_params->input_files.front(), "orcaslicer://open/?file="); + (boost::starts_with(this->init_params->input_files.front(), "orcaslicer://open") || + boost::starts_with(this->init_params->input_files.front(), "prusaslicer://open"))) { - std::string download_origin_url; - for (auto input_str:input_str_arr) { - if (!input_str.empty()) download_origin_url = input_str; - } + if (boost::starts_with(this->init_params->input_files.front(), "prusaslicer://open")) { + switch_to_3d = true; + start_download(this->init_params->input_files.front()); + } else if (vector input_str_arr = split_str(this->init_params->input_files.front(), "orcaslicer://open/?file="); input_str_arr.size() > 1) { + std::string download_origin_url; + for (auto input_str : input_str_arr) { + if (!input_str.empty()) + download_origin_url = input_str; + } - std::string download_file_url = url_decode(download_origin_url); - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << download_file_url; - if (!download_file_url.empty() && ( boost::starts_with(download_file_url, "http://") || boost::starts_with(download_file_url, "https://")) ) { - request_model_download(download_origin_url); + std::string download_file_url = url_decode(download_origin_url); + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << download_file_url; + if (!download_file_url.empty() && + (boost::starts_with(download_file_url, "http://") || boost::starts_with(download_file_url, "https://"))) { + request_model_download(download_file_url); + } } m_open_method = "makerworld"; } @@ -1089,6 +1098,7 @@ GUI_App::GUI_App() , m_em_unit(10) , m_imgui(new ImGuiWrapper()) , m_removable_drive_manager(std::make_unique()) + , m_downloader(std::make_unique()) , m_other_instance_message_handler(std::make_unique()) { //app config initializes early becasuse it is used in instance checking in OrcaSlicer.cpp @@ -2361,6 +2371,10 @@ bool GUI_App::on_init_inner() associate_files(L"step"); associate_files(L"stp"); } + // Orca: add PS url functionality + if (app_config->get_bool("ps_url_registered")) { + associate_url(L"prusaslicer"); + } if (app_config->get("associate_gcode") == "true") associate_files(L"gcode"); #endif // __WXMSW__ @@ -3576,6 +3590,17 @@ void GUI_App::import_model(wxWindow *parent, wxArrayString& input_files) const dialog.GetPaths(input_files); } +void GUI_App::import_zip(wxWindow* parent, wxString& input_file) const +{ + wxFileDialog dialog(parent ? parent : GetTopWindow(), + _L("Choose ZIP file") + ":", + from_u8(app_config->get_last_dir()), "", + file_wildcards(FT_ZIP), wxFD_OPEN | wxFD_FILE_MUST_EXIST); + + if (dialog.ShowModal() == wxID_OK) + input_file = dialog.GetPath(); +} + void GUI_App::load_gcode(wxWindow* parent, wxString& input_file) const { input_file.Clear(); @@ -5508,6 +5533,10 @@ void GUI_App::open_preferences(size_t open_on_tab, const std::string& highlight_ associate_files(L"step"); associate_files(L"stp"); } + // Orca: add PS url functionality + if (app_config->get_bool("ps_url_registered")) { + associate_url(L"prusaslicer"); + } } else { if (app_config->get("associate_gcode") == "true") @@ -5861,7 +5890,10 @@ void GUI_App::MacOpenURL(const wxString& url) { BOOST_LOG_TRIVIAL(trace) << __FUNCTION__ << "get mac url " << url; - if (!url.empty() && boost::starts_with(url, "orcasliceropen://")) { + if (url.empty()) + return; + + if (boost::starts_with(url, "orcasliceropen://")) { auto input_str_arr = split_str(url.ToStdString(), "orcasliceropen://"); std::string download_origin_url; @@ -5880,7 +5912,8 @@ void GUI_App::MacOpenURL(const wxString& url) m_download_file_url = download_file_url; } } - } + } else if (boost::starts_with(url, "prusasliceropen://")) + start_download(boost::nowide::narrow(url)); } // wxWidgets override to get an event on open files. @@ -6004,6 +6037,11 @@ Model& GUI_App::model() return plater_->model(); } +Downloader* GUI_App::downloader() +{ + return m_downloader.get(); +} + void GUI_App::load_url(wxString url) { if (mainframe) @@ -6593,9 +6631,60 @@ void GUI_App::disassociate_files(std::wstring extend) ::SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nullptr, nullptr); } +void GUI_App::associate_url(std::wstring url_prefix) +{ + // Registry key creation for "prusaslicer://" URL + + boost::filesystem::path binary_path(boost::filesystem::canonical(boost::dll::program_location())); + // the path to binary needs to be correctly saved in string with respect to localized characters + wxString wbinary = wxString::FromUTF8(binary_path.string()); + std::string binary_string = (boost::format("%1%") % wbinary).str(); + BOOST_LOG_TRIVIAL(info) << "Downloader registration: Path of binary: " << binary_string; + + std::string key_string = "\"" + binary_string + "\" \"%1\""; + + wxRegKey key_first(wxRegKey::HKCU, "Software\\Classes\\" + url_prefix); + wxRegKey key_full(wxRegKey::HKCU, "Software\\Classes\\" + url_prefix + "\\shell\\open\\command"); + if (!key_first.Exists()) { + key_first.Create(false); + } + key_first.SetValue("URL Protocol", ""); + + if (!key_full.Exists()) { + key_full.Create(false); + } + key_full = key_string; +} + +void GUI_App::disassociate_url(std::wstring url_prefix) +{ + wxRegKey key_full(wxRegKey::HKCU, "Software\\Classes\\" + url_prefix + "\\shell\\open\\command"); + if (!key_full.Exists()) { + return; + } + key_full = ""; +} #endif // __WXMSW__ +void GUI_App::start_download(std::string url) +{ + if (!plater_) { + BOOST_LOG_TRIVIAL(error) << "Could not start URL download: plater is nullptr."; + return; + } + //lets always init so if the download dest folder was changed, new dest is used + boost::filesystem::path dest_folder(app_config->get("download_path")); + if (dest_folder.empty() || !boost::filesystem::is_directory(dest_folder)) { + std::string msg = _u8L("Could not start URL download. Destination folder is not set. Please choose destination folder in Configuration Wizard."); + BOOST_LOG_TRIVIAL(error) << msg; + show_error(nullptr, msg); + return; + } + m_downloader->init(dest_folder); + m_downloader->start_download(url); +} + bool is_support_filament(int extruder_id) { auto &filament_presets = Slic3r::GUI::wxGetApp().preset_bundle->filament_presets; diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index 62cce8a0754..dc0b8e4ff3e 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -74,6 +74,7 @@ class ObjectLayers; class Plater; class ParamsPanel; class NotificationManager; +class Downloader; struct GUI_InitParams; class ParamsDialog; class HMSQuery; @@ -90,6 +91,7 @@ enum FileType FT_3MF, FT_GCODE, FT_MODEL, + FT_ZIP, FT_PROJECT, FT_GALLERY, @@ -275,6 +277,8 @@ private: std::string m_instance_hash_string; size_t m_instance_hash_int; + std::unique_ptr m_downloader; + //BBS bool m_is_closing {false}; Slic3r::DeviceManager* m_device_manager { nullptr }; @@ -423,6 +427,7 @@ private: void keyboard_shortcuts(); void load_project(wxWindow *parent, wxString& input_file) const; void import_model(wxWindow *parent, wxArrayString& input_files) const; + void import_zip(wxWindow* parent, wxString& input_file) const; void load_gcode(wxWindow* parent, wxString& input_file) const; wxString transition_tridid(int trid_id); @@ -559,6 +564,7 @@ private: ParamsDialog* params_dialog(); Model& model(); NotificationManager * notification_manager(); + Downloader* downloader(); std::string m_mall_model_download_url; @@ -644,7 +650,13 @@ private: // extend is stl/3mf/gcode/step etc void associate_files(std::wstring extend); void disassociate_files(std::wstring extend); + void associate_url(std::wstring url_prefix); + void disassociate_url(std::wstring url_prefix); #endif // __WXMSW__ + + // URL download - PrusaSlicer gets system call to open prusaslicer:// URL which should contain address of download + void start_download(std::string url); + std::string get_plugin_url(std::string name, std::string country_code); int download_plugin(std::string name, std::string package_name, InstallProgressFn pro_fn = nullptr, WasCancelledFn cancel_fn = nullptr); int install_plugin(std::string name, std::string package_name, InstallProgressFn pro_fn = nullptr, WasCancelledFn cancel_fn = nullptr); diff --git a/src/slic3r/GUI/ImGuiWrapper.cpp b/src/slic3r/GUI/ImGuiWrapper.cpp index 74082fde43c..58a97fceb03 100644 --- a/src/slic3r/GUI/ImGuiWrapper.cpp +++ b/src/slic3r/GUI/ImGuiWrapper.cpp @@ -136,6 +136,19 @@ static const std::map font_icons_large = { {ImGui::PrevArrowBtnIcon, "notification_arrow_left" }, {ImGui::NextArrowBtnIcon, "notification_arrow_right" }, {ImGui::CompleteIcon, "notification_slicing_complete" }, + + {ImGui::PlayButton, "notification_play" }, + {ImGui::PlayDarkButton, "notification_play_dark" }, + {ImGui::PlayHoverButton, "notification_play_hover" }, + {ImGui::PlayHoverDarkButton, "notification_play_hover_dark" }, + {ImGui::PauseButton, "notification_pause" }, + {ImGui::PauseDarkButton, "notification_pause_dark" }, + {ImGui::PauseHoverButton, "notification_pause_hover" }, + {ImGui::PauseHoverDarkButton, "notification_pause_hover_dark" }, + {ImGui::OpenButton, "notification_open" }, + {ImGui::OpenDarkButton, "notification_open_dark" }, + {ImGui::OpenHoverButton, "notification_open_hover" }, + {ImGui::OpenHoverDarkButton, "notification_open_hover_dark" }, }; static const std::map font_icons_extra_large = { diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 757fa2226bd..24bc9423cb7 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -588,15 +588,9 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ if (evt.CmdDown() && evt.GetKeyCode() == 'P') #endif { - PreferencesDialog dlg(this); - dlg.ShowModal(); + // Orca: Use GUI_App::open_preferences instead of direct call so windows associations are updated on exit + wxGetApp().open_preferences(); plater()->get_current_canvas3D()->force_set_focus(); -#if ENABLE_GCODE_LINES_ID_IN_H_SLIDER - if (dlg.seq_top_layer_only_changed() || dlg.seq_seq_top_gcode_indices_changed()) -#else - if (dlg.seq_top_layer_only_changed()) -#endif // ENABLE_GCODE_LINES_ID_IN_H_SLIDER - plater()->refresh_print(); return; } @@ -2314,6 +2308,9 @@ void MainFrame::init_menubar_as_editor() [this](wxCommandEvent&) { if (m_plater) { m_plater->add_model(); } }, "", nullptr, [this](){return can_add_models(); }, this); #endif + append_menu_item(import_menu, wxID_ANY, _L("Import Zip Archive") + dots, _L("Load models contained within a zip archive"), + [this](wxCommandEvent&) { if (m_plater) m_plater->import_zip_archive(); }, "menu_import", nullptr, + [this]() { return can_add_models(); }); append_menu_item(import_menu, wxID_ANY, _L("Import Configs") + dots /*+ "\tCtrl+I"*/, _L("Load configs"), [this](wxCommandEvent&) { load_config_file(); }, "menu_import", nullptr, [this](){return true; }, this); @@ -2787,15 +2784,9 @@ void MainFrame::init_menubar_as_editor() append_menu_item( m_topbar->GetTopMenu(), wxID_ANY, _L("Preferences") + "\t" + ctrl + "P", "", [this](wxCommandEvent &) { - PreferencesDialog dlg(this); - dlg.ShowModal(); + // Orca: Use GUI_App::open_preferences instead of direct call so windows associations are updated on exit + wxGetApp().open_preferences(); plater()->get_current_canvas3D()->force_set_focus(); -#if ENABLE_GCODE_LINES_ID_IN_H_SLIDER - if (dlg.seq_top_layer_only_changed() || dlg.seq_seq_top_gcode_indices_changed()) -#else - if (dlg.seq_top_layer_only_changed()) -#endif - plater()->refresh_print(); }, "", nullptr, []() { return true; }, this); //m_topbar->AddDropDownMenuItem(preference_item); diff --git a/src/slic3r/GUI/NotificationManager.cpp b/src/slic3r/GUI/NotificationManager.cpp index 390cae058ba..08ef8c7493b 100644 --- a/src/slic3r/GUI/NotificationManager.cpp +++ b/src/slic3r/GUI/NotificationManager.cpp @@ -1283,6 +1283,219 @@ void NotificationManager::UpdatedItemsInfoNotification::add_type(InfoItemType ty update(data); } +//------URLDownloadNotification---------------- + +void NotificationManager::URLDownloadNotification::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) +{ + if (m_percentage < 0.f || m_percentage >= 1.f) { + render_close_button_inner(imgui, win_size_x, win_size_y, win_pos_x, win_pos_y); + if (m_percentage >= 1.f) + render_open_button_inner(imgui, win_size_x, win_size_y, win_pos_x, win_pos_y); + } else + render_pause_cancel_buttons_inner(imgui, win_size_x, win_size_y, win_pos_x, win_pos_y); +} +void NotificationManager::URLDownloadNotification::render_close_button_inner(ImGuiWrapper& imgui, const float win_size_x, const float win_size_y, const float win_pos_x, const float win_pos_y) +{ + ImVec2 win_size(win_size_x, win_size_y); + ImVec2 win_pos(win_pos_x, win_pos_y); + ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(.0f, .0f, .0f, .0f)); + ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4(.0f, .0f, .0f, .0f)); + push_style_color(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.f), m_state == EState::FadingOut, m_current_fade_opacity); + push_style_color(ImGuiCol_TextSelectedBg, ImVec4(0, .75f, .75f, 1.f), m_state == EState::FadingOut, m_current_fade_opacity); + ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4(.0f, .0f, .0f, .0f)); + + + std::string button_text; + // Orca: Change based on dark mode + button_text = m_is_dark ? ImGui::CloseNotifDarkButton : ImGui::CloseNotifButton; + + if (ImGui::IsMouseHoveringRect(ImVec2(win_pos.x - win_size.x / 10.f, win_pos.y), + ImVec2(win_pos.x, win_pos.y + win_size.y - (m_minimize_b_visible ? 2 * m_line_height : 0)), + true)) + { + // Orca: Change based on dark mode + button_text = m_is_dark ? ImGui::CloseNotifHoverDarkButton : ImGui::CloseNotifHoverButton; + } + ImVec2 button_pic_size = ImGui::CalcTextSize(button_text.c_str()); + ImVec2 button_size(button_pic_size.x * 1.25f, button_pic_size.y * 1.25f); + ImGui::SetCursorPosX(win_size.x - m_line_height * 2.75f); + ImGui::SetCursorPosY(win_size.y / 2 - button_size.y); + if (imgui.button(button_text.c_str(), button_size.x, button_size.y)) + { + close(); + } + + //invisible large button + ImGui::SetCursorPosX(win_size.x - m_line_height * 2.35f); + ImGui::SetCursorPosY(0); + if (imgui.button(" ", m_line_height * 2.125, win_size.y - (m_minimize_b_visible ? 2 * m_line_height : 0))) + { + close(); + } + ImGui::PopStyleColor(5); + +} + +void NotificationManager::URLDownloadNotification::render_pause_cancel_buttons_inner(ImGuiWrapper& imgui, const float win_size_x, const float win_size_y, const float win_pos_x, const float win_pos_y) +{ + + render_cancel_button_inner(imgui, win_size_x, win_size_y, win_pos_x, win_pos_y); + render_pause_button_inner(imgui, win_size_x, win_size_y, win_pos_x, win_pos_y); +} +void NotificationManager::URLDownloadNotification::render_pause_button_inner(ImGuiWrapper& imgui, const float win_size_x, const float win_size_y, const float win_pos_x, const float win_pos_y) +{ + ImVec2 win_size(win_size_x, win_size_y); + ImVec2 win_pos(win_pos_x, win_pos_y); + ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(.0f, .0f, .0f, .0f)); + ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4(.0f, .0f, .0f, .0f)); + push_style_color(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.f), m_state == EState::FadingOut, m_current_fade_opacity); + push_style_color(ImGuiCol_TextSelectedBg, ImVec4(0, .75f, .75f, 1.f), m_state == EState::FadingOut, m_current_fade_opacity); + ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4(.0f, .0f, .0f, .0f)); + + std::wstring button_text; + // Orca: Change based on dark mode + button_text = m_is_dark ? (m_download_paused ? ImGui::PlayDarkButton : ImGui::PauseDarkButton) : (m_download_paused ? ImGui::PlayButton : ImGui::PauseButton); + + if (ImGui::IsMouseHoveringRect(ImVec2(win_pos.x - m_line_height * 5.f, win_pos.y), + ImVec2(win_pos.x - m_line_height * 2.5f, win_pos.y + win_size.y), + true)) + { + // Orca: Change based on dark mode + button_text = m_is_dark ? (m_download_paused ? ImGui::PlayHoverDarkButton : ImGui::PauseHoverDarkButton) : (m_download_paused ? ImGui::PlayHoverButton : ImGui::PauseHoverButton); + } + + ImVec2 button_pic_size = ImGui::CalcTextSize(boost::nowide::narrow(button_text).c_str()); + ImVec2 button_size(button_pic_size.x * 1.25f, button_pic_size.y * 1.25f); + ImGui::SetCursorPosX(win_size.x - m_line_height * 5.0f); + ImGui::SetCursorPosY(win_size.y / 2 - button_size.y); + if (imgui.button(button_text.c_str(), button_size.x, button_size.y)) + { + trigger_user_action_callback(m_download_paused ? DownloaderUserAction::DownloadUserContinued : DownloaderUserAction::DownloadUserPaused); + } + + //invisible large button + ImGui::SetCursorPosX(win_size.x - m_line_height * 4.625f); + ImGui::SetCursorPosY(0); + if (imgui.button(" ", m_line_height * 2.f, win_size.y)) + { + trigger_user_action_callback(m_download_paused ? DownloaderUserAction::DownloadUserContinued : DownloaderUserAction::DownloadUserPaused); + } + ImGui::PopStyleColor(5); +} + +void NotificationManager::URLDownloadNotification::render_open_button_inner(ImGuiWrapper& imgui, const float win_size_x, const float win_size_y, const float win_pos_x, const float win_pos_y) +{ + ImVec2 win_size(win_size_x, win_size_y); + ImVec2 win_pos(win_pos_x, win_pos_y); + ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(.0f, .0f, .0f, .0f)); + ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4(.0f, .0f, .0f, .0f)); + push_style_color(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.f), m_state == EState::FadingOut, m_current_fade_opacity); + push_style_color(ImGuiCol_TextSelectedBg, ImVec4(0, .75f, .75f, 1.f), m_state == EState::FadingOut, m_current_fade_opacity); + ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4(.0f, .0f, .0f, .0f)); + + std::wstring button_text; + // Orca: Change based on dark mode + button_text = m_is_dark ? ImGui::OpenDarkButton : ImGui::OpenButton; + + if (ImGui::IsMouseHoveringRect(ImVec2(win_pos.x - m_line_height * 5.f, win_pos.y), + ImVec2(win_pos.x - m_line_height * 2.5f, win_pos.y + win_size.y), + true)) + { + // Orca: Change based on dark mode + button_text = m_is_dark ? ImGui::OpenHoverDarkButton : ImGui::OpenHoverButton; + } + + ImVec2 button_pic_size = ImGui::CalcTextSize(boost::nowide::narrow(button_text).c_str()); + ImVec2 button_size(button_pic_size.x * 1.25f, button_pic_size.y * 1.25f); + ImGui::SetCursorPosX(win_size.x - m_line_height * 5.0f); + ImGui::SetCursorPosY(win_size.y / 2 - button_size.y); + if (imgui.button(button_text.c_str(), button_size.x, button_size.y)) + { + trigger_user_action_callback(DownloaderUserAction::DownloadUserOpenedFolder); + } + + //invisible large button + ImGui::SetCursorPosX(win_size.x - m_line_height * 4.625f); + ImGui::SetCursorPosY(0); + if (imgui.button(" ", m_line_height * 2.f, win_size.y)) + { + trigger_user_action_callback(DownloaderUserAction::DownloadUserOpenedFolder); + } + ImGui::PopStyleColor(5); +} + +void NotificationManager::URLDownloadNotification::render_cancel_button_inner(ImGuiWrapper& imgui, const float win_size_x, const float win_size_y, const float win_pos_x, const float win_pos_y) +{ + ImVec2 win_size(win_size_x, win_size_y); + ImVec2 win_pos(win_pos_x, win_pos_y); + ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(.0f, .0f, .0f, .0f)); + ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4(.0f, .0f, .0f, .0f)); + push_style_color(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.f), m_state == EState::FadingOut, m_current_fade_opacity); + push_style_color(ImGuiCol_TextSelectedBg, ImVec4(0, .75f, .75f, 1.f), m_state == EState::FadingOut, m_current_fade_opacity); + ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4(.0f, .0f, .0f, .0f)); + + + std::string button_text; + button_text = ImGui::CancelButton; + + if (ImGui::IsMouseHoveringRect(ImVec2(win_pos.x - win_size.x / 10.f, win_pos.y), + ImVec2(win_pos.x, win_pos.y + win_size.y - (m_minimize_b_visible ? 2 * m_line_height : 0)), + true)) + { + button_text = ImGui::CancelHoverButton; + } + ImVec2 button_pic_size = ImGui::CalcTextSize(button_text.c_str()); + ImVec2 button_size(button_pic_size.x * 1.25f, button_pic_size.y * 1.25f); + ImGui::SetCursorPosX(win_size.x - m_line_height * 2.75f); + ImGui::SetCursorPosY(win_size.y / 2 - button_size.y); + if (imgui.button(button_text.c_str(), button_size.x, button_size.y)) + { + trigger_user_action_callback(DownloaderUserAction::DownloadUserCanceled); + } + + //invisible large button + ImGui::SetCursorPosX(win_size.x - m_line_height * 2.35f); + ImGui::SetCursorPosY(0); + if (imgui.button(" ", m_line_height * 2.125, win_size.y - (m_minimize_b_visible ? 2 * m_line_height : 0))) + { + trigger_user_action_callback(DownloaderUserAction::DownloadUserCanceled); + } + ImGui::PopStyleColor(5); + +} + +void NotificationManager::URLDownloadNotification::trigger_user_action_callback(DownloaderUserAction action) +{ + if (m_user_action_callback) { + if (m_user_action_callback(action, m_download_id)) {} + } +} + + +void NotificationManager::URLDownloadNotification::render_bar(ImGuiWrapper& imgui, const float win_size_x, const float win_size_y, const float win_pos_x, const float win_pos_y) +{ + ProgressBarNotification::render_bar(imgui, win_size_x, win_size_y, win_pos_x, win_pos_y); + std::string text; + if (m_percentage < 0.f) { + text = _u8L("ERROR") + ": " + m_error_message; + } else if (m_percentage >= 1.f) { + text = _u8L("COMPLETED"); + } else { + std::stringstream stream; + stream << std::fixed << std::setprecision(2) << (int)(m_percentage * 100) << "%"; + text = stream.str(); + } + ImGui::SetCursorPosX(m_left_indentation); + ImGui::SetCursorPosY(win_size_y / 2 + win_size_y / 6 - (m_multiline ? 0 : m_line_height / 4)); + imgui.text(text.c_str()); +} + +void NotificationManager::URLDownloadNotification::count_spaces() +{ + ProgressBarNotification::count_spaces(); + m_window_width_offset = m_line_height * 6; +} + //------PrintHostUploadNotification---------------- void NotificationManager::PrintHostUploadNotification::init() { @@ -1841,6 +2054,81 @@ void NotificationManager::push_import_finished_notification(const std::string& p set_slicing_progress_hidden(); } +void NotificationManager::push_download_URL_progress_notification(size_t id, const std::string& text, std::function user_action_callback) +{ + // If already exists + for (std::unique_ptr& notification : m_pop_notifications) { + if (notification->get_type() == NotificationType::URLDownload && dynamic_cast(notification.get())->get_download_id() == id) { + return; + } + } + // push new one + NotificationData data{ NotificationType::URLDownload, NotificationLevel::ProgressBarNotificationLevel, 5, _u8L("Download") + ": " + text }; + push_notification_data(std::make_unique(data, m_id_provider, m_evt_handler, id, user_action_callback), 0); +} + +void NotificationManager::set_download_URL_progress(size_t id, float percentage) +{ + for (std::unique_ptr& notification : m_pop_notifications) { + if (notification->get_type() == NotificationType::URLDownload) { + URLDownloadNotification* ntf = dynamic_cast(notification.get()); + if (ntf->get_download_id() != id) + continue; + // if this changes the percentage, it should be shown now + float percent_b4 = ntf->get_percentage(); + ntf->set_percentage(percentage); + ntf->set_paused(false); + if (ntf->get_percentage() != percent_b4) + wxGetApp().plater()->get_current_canvas3D()->schedule_extra_frame(0); + return; + } + } +} + +void NotificationManager::set_download_URL_paused(size_t id) +{ + for (std::unique_ptr& notification : m_pop_notifications) { + if (notification->get_type() == NotificationType::URLDownload) { + URLDownloadNotification* ntf = dynamic_cast(notification.get()); + if (ntf->get_download_id() != id) + continue; + ntf->set_paused(true); + wxGetApp().plater()->get_current_canvas3D()->schedule_extra_frame(0); + return; + } + } +} + +void NotificationManager::set_download_URL_canceled(size_t id) +{ + for (std::unique_ptr& notification : m_pop_notifications) { + if (notification->get_type() == NotificationType::URLDownload) { + URLDownloadNotification* ntf = dynamic_cast(notification.get()); + if (ntf->get_download_id() != id) + continue; + ntf->close(); + wxGetApp().plater()->get_current_canvas3D()->schedule_extra_frame(0); + return; + } + } +} +void NotificationManager::set_download_URL_error(size_t id, const std::string& text) +{ + for (std::unique_ptr& notification : m_pop_notifications) { + if (notification->get_type() == NotificationType::URLDownload) { + URLDownloadNotification* ntf = dynamic_cast(notification.get()); + if (ntf->get_download_id() != id) + continue; + float percent_b4 = ntf->get_percentage(); + ntf->set_percentage(-1.f); + ntf->set_error_message(text); + if (ntf->get_percentage() != percent_b4) + wxGetApp().plater()->get_current_canvas3D()->schedule_extra_frame(0); + return; + } + } +} + void NotificationManager::push_upload_job_notification(int id, float filesize, const std::string& filename, const std::string& host, float percentage) { // find if upload with same id was not already in notification diff --git a/src/slic3r/GUI/NotificationManager.hpp b/src/slic3r/GUI/NotificationManager.hpp index 68e26f4a0ec..d971fd2d740 100644 --- a/src/slic3r/GUI/NotificationManager.hpp +++ b/src/slic3r/GUI/NotificationManager.hpp @@ -11,6 +11,7 @@ #include "Event.hpp" #include "I18N.hpp" #include "Jobs/ProgressIndicator.hpp" +#include "Downloader.hpp" #include #include @@ -129,6 +130,8 @@ enum class NotificationType NetfabbFinished, // Short meesage to fill space between start and finish of export ExportOngoing, + // Progressbar of download from prusaslicer://url + URLDownload, // BBS: Short meesage to fill space between start and finish of arranging ArrangeOngoing, // BBL: Plate Info ,Design For @YangLeDuo @@ -247,6 +250,14 @@ public: // Exporting finished, show this information with path, button to open containing folder and if ejectable - eject button void push_exporting_finished_notification(const std::string& path, const std::string& dir_path, bool on_removable); void push_import_finished_notification(const std::string& path, const std::string& dir_path, bool on_removable); + + // Download URL progress notif + void push_download_URL_progress_notification(size_t id, const std::string& text, std::function user_action_callback); + void set_download_URL_progress(size_t id, float percentage); + void set_download_URL_paused(size_t id); + void set_download_URL_canceled(size_t id); + void set_download_URL_error(size_t id, const std::string& text); + // notifications with progress bar // slicing progress void init_slicing_progress_notification(std::function cancel_callback); @@ -593,6 +604,7 @@ private: ProgressBarNotification(const NotificationData& n, NotificationIDProvider& id_provider, wxEvtHandler* evt_handler) : PopNotification(n, id_provider, evt_handler) { } virtual void set_percentage(float percent) { m_percentage = percent; } + float get_percentage() const { return m_percentage; } protected: virtual void init() override; virtual void render_text(ImGuiWrapper& imgui, @@ -615,6 +627,62 @@ private: }; + class URLDownloadNotification : public ProgressBarNotification + { + public: + URLDownloadNotification(const NotificationData& n, NotificationIDProvider& id_provider, wxEvtHandler* evt_handler, size_t download_id, std::function user_action_callback) + //: ProgressBarWithCancelNotification(n, id_provider, evt_handler, cancel_callback) + : ProgressBarNotification(n, id_provider, evt_handler) + , m_download_id(download_id) + , m_user_action_callback(user_action_callback) + { + } + void set_percentage(float percent) override + { + m_percentage = percent; + if (m_percentage >= 1.f) { + m_notification_start = GLCanvas3D::timestamp_now(); + m_state = EState::Shown; + } else + m_state = EState::NotFading; + } + size_t get_download_id() { return m_download_id; } + void set_user_action_callback(std::function user_action_callback) { m_user_action_callback = user_action_callback; } + void set_paused(bool paused) { m_download_paused = paused; } + void set_error_message(const std::string& message) { m_error_message = message; } + bool compare_text(const std::string& text) const override { return false; }; + protected: + void 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) override; + void render_close_button_inner(ImGuiWrapper& imgui, + const float win_size_x, const float win_size_y, + const float win_pos_x, const float win_pos_y); + void render_pause_cancel_buttons_inner(ImGuiWrapper& imgui, + const float win_size_x, const float win_size_y, + const float win_pos_x, const float win_pos_y); + void render_open_button_inner(ImGuiWrapper& imgui, + const float win_size_x, const float win_size_y, + const float win_pos_x, const float win_pos_y); + void render_cancel_button_inner(ImGuiWrapper& imgui, + const float win_size_x, const float win_size_y, + const float win_pos_x, const float win_pos_y); + void render_pause_button_inner(ImGuiWrapper& imgui, + const float win_size_x, const float win_size_y, + const float win_pos_x, const float win_pos_y); + void render_bar(ImGuiWrapper& imgui, + const float win_size_x, const float win_size_y, + const float win_pos_x, const float win_pos_y) override; + void trigger_user_action_callback(DownloaderUserAction action); + + void count_spaces() override; + + size_t m_download_id; + std::function m_user_action_callback; + bool m_download_paused {false}; + std::string m_error_message; + }; + class PrintHostUploadNotification : public ProgressBarNotification { public: diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 59381b93f37..abb5f33ddfb 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -156,6 +156,7 @@ #include #include // Needs to be last because reasons :-/ +#include #include "WipeTowerDialog.hpp" #include "ObjColorDialog.hpp" @@ -168,6 +169,7 @@ #include "PlateSettingsDialog.hpp" #include "DailyTips.hpp" #include "CreatePresetsDialog.hpp" +#include "FileArchiveDialog.hpp" using boost::optional; namespace fs = boost::filesystem; @@ -8996,8 +8998,9 @@ void Plater::import_model_id(wxString download_info) /* prepare project and profile */ boost::thread import_thread = Slic3r::create_thread([&percent, &cont, &cancel, &retry_count, max_retries, &msg, &target_path, &download_ok, download_url, &filename] { - NetworkAgent* m_agent = Slic3r::GUI::wxGetApp().getAgent(); - if (!m_agent) return; + // Orca: NetworkAgent is not needed and only prevents this from running +// NetworkAgent* m_agent = Slic3r::GUI::wxGetApp().getAgent(); +// if (!m_agent) return; int res = 0; unsigned int http_code; @@ -9148,7 +9151,11 @@ void Plater::import_model_id(wxString download_info) if (download_ok) { BOOST_LOG_TRIVIAL(trace) << "import_model_id: target_path = " << target_path.string(); /* load project */ - this->load_project(target_path.wstring()); + // Orca: If download is a zip file, treat it as if file has been drag and dropped on the plater + if (target_path.extension() == ".zip") + this->load_files(wxArrayString(1, target_path.string())); + else + this->load_project(target_path.wstring()); /*BBS set project info after load project, project info is reset in load project */ //p->project.project_model_id = model_id; //p->project.project_design_id = design_id; @@ -9818,6 +9825,19 @@ void Plater::calib_VFA(const Calib_Params& params) p->background_process.fff_print()->set_calib_params(params); } BuildVolume_Type Plater::get_build_volume_type() const { return p->bed.get_build_volume_type(); } + +void Plater::import_zip_archive() +{ + wxString input_file; + wxGetApp().import_zip(this, input_file); + if (input_file.empty()) + return; + + wxArrayString arr; + arr.Add(input_file); + load_files(arr); +} + void Plater::import_sl1_archive() { auto &w = get_ui_job_worker(); @@ -10003,6 +10023,186 @@ std::vector Plater::load_files(const std::vector& input_fil return p->load_files(paths, strategy, ask_multi); } +bool Plater::preview_zip_archive(const boost::filesystem::path& archive_path) +{ + //std::vector unzipped_paths; + std::vector non_project_paths; + std::vector project_paths; + try + { + mz_zip_archive archive; + mz_zip_zero_struct(&archive); + + if (!open_zip_reader(&archive, archive_path.string())) { + // TRN %1% is archive path + std::string err_msg = GUI::format(_u8L("Loading of a ZIP archive on path %1% has failed."), archive_path.string()); + throw Slic3r::FileIOError(err_msg); + } + mz_uint num_entries = mz_zip_reader_get_num_files(&archive); + mz_zip_archive_file_stat stat; + // selected_paths contains paths and its uncompressed size. The size is used to distinguish between files with same path. + std::vector> selected_paths; + FileArchiveDialog dlg(static_cast(wxGetApp().mainframe), &archive, selected_paths); + if (dlg.ShowModal() == wxID_OK) + { + std::string archive_path_string = archive_path.string(); + archive_path_string = archive_path_string.substr(0, archive_path_string.size() - 4); + fs::path archive_dir(wxStandardPaths::Get().GetTempDir().utf8_str().data()); + + for (auto& path_w_size : selected_paths) { + const fs::path& path = path_w_size.first; + size_t size = path_w_size.second; + // find path in zip archive + for (mz_uint i = 0; i < num_entries; ++i) { + if (mz_zip_reader_file_stat(&archive, i, &stat)) { + if (size != stat.m_uncomp_size) // size must fit + continue; + wxString wname = boost::nowide::widen(stat.m_filename); + std::string name = boost::nowide::narrow(wname); + fs::path archive_path(name); + + std::string extra(1024, 0); + size_t extra_size = mz_zip_reader_get_filename_from_extra(&archive, i, extra.data(), extra.size()); + if (extra_size > 0) { + archive_path = fs::path(extra.substr(0, extra_size)); + name = archive_path.string(); + } + + if (archive_path.empty()) + continue; + if (path != archive_path) + continue; + // decompressing + try + { + std::replace(name.begin(), name.end(), '\\', '/'); + // rename if file exists + std::string filename = path.filename().string(); + std::string extension = boost::filesystem::extension(path); + std::string just_filename = filename.substr(0, filename.size() - extension.size()); + std::string final_filename = just_filename; + + size_t version = 0; + while (fs::exists(archive_dir / (final_filename + extension))) + { + ++version; + final_filename = just_filename + "(" + std::to_string(version) + ")"; + } + filename = final_filename + extension; + fs::path final_path = archive_dir / filename; + std::string buffer((size_t)stat.m_uncomp_size, 0); + // Decompress action. We already has correct file index in stat structure. + mz_bool res = mz_zip_reader_extract_to_mem(&archive, stat.m_file_index, (void*)buffer.data(), (size_t)stat.m_uncomp_size, 0); + if (res == 0) { + // TRN: First argument = path to file, second argument = error description + wxString error_log = GUI::format_wxstr(_L("Failed to unzip file to %1%: %2%"), final_path.string(), mz_zip_get_error_string(mz_zip_get_last_error(&archive))); + BOOST_LOG_TRIVIAL(error) << error_log; + show_error(nullptr, error_log); + break; + } + // write buffer to file + fs::fstream file(final_path, std::ios::out | std::ios::binary | std::ios::trunc); + file.write(buffer.c_str(), buffer.size()); + file.close(); + if (!fs::exists(final_path)) { + wxString error_log = GUI::format_wxstr(_L("Failed to find unzipped file at %1%. Unzipping of file has failed."), final_path.string()); + BOOST_LOG_TRIVIAL(error) << error_log; + show_error(nullptr, error_log); + break; + } + BOOST_LOG_TRIVIAL(info) << "Unzipped " << final_path; + if (!boost::algorithm::iends_with(filename, ".3mf") && !boost::algorithm::iends_with(filename, ".amf")) { + non_project_paths.emplace_back(final_path); + break; + } + // if 3mf - read archive headers to find project file + if (/*(boost::algorithm::iends_with(filename, ".3mf") && !is_project_3mf(final_path.string())) ||*/ + (boost::algorithm::iends_with(filename, ".amf") && !boost::algorithm::iends_with(filename, ".zip.amf"))) { + non_project_paths.emplace_back(final_path); + break; + } + + project_paths.emplace_back(final_path); + break; + } + catch (const std::exception& e) + { + // ensure the zip archive is closed and rethrow the exception + close_zip_reader(&archive); + throw Slic3r::FileIOError(e.what()); + } + } + } + } + close_zip_reader(&archive); + if (non_project_paths.size() + project_paths.size() != selected_paths.size()) + BOOST_LOG_TRIVIAL(error) << "Decompresing of archive did not retrieve all files. Expected files: " + << selected_paths.size() + << " Decopressed files: " + << non_project_paths.size() + project_paths.size(); + } else { + close_zip_reader(&archive); + return false; + } + + } + catch (const Slic3r::FileIOError& e) { + // zip reader should be already closed or not even opened + GUI::show_error(this, e.what()); + return false; + } + // none selected + if (project_paths.empty() && non_project_paths.empty()) + { + return false; + } + + // 1 project file and some models - behave like drag n drop of 3mf and then load models + if (project_paths.size() == 1) + { + wxArrayString aux; + aux.Add(from_u8(project_paths.front().string())); + bool loaded3mf = load_files(aux); + load_files(non_project_paths, LoadStrategy::LoadModel); + boost::system::error_code ec; + if (loaded3mf) { + fs::remove(project_paths.front(), ec); + if (ec) + BOOST_LOG_TRIVIAL(error) << ec.message(); + } + for (const fs::path& path : non_project_paths) { + // Delete file from temp file (path variable), it will stay only in app memory. + boost::system::error_code ec; + fs::remove(path, ec); + if (ec) + BOOST_LOG_TRIVIAL(error) << ec.message(); + } + return true; + } + + // load all projects and all models as geometry + load_files(project_paths, LoadStrategy::LoadModel); + load_files(non_project_paths, LoadStrategy::LoadModel); + + + for (const fs::path& path : project_paths) { + // Delete file from temp file (path variable), it will stay only in app memory. + boost::system::error_code ec; + fs::remove(path, ec); + if (ec) + BOOST_LOG_TRIVIAL(error) << ec.message(); + } + for (const fs::path& path : non_project_paths) { + // Delete file from temp file (path variable), it will stay only in app memory. + boost::system::error_code ec; + fs::remove(path, ec); + if (ec) + BOOST_LOG_TRIVIAL(error) << ec.message(); + } + + return true; +} + class RadioBox; class RadioSelector { @@ -10341,7 +10541,7 @@ void ProjectDropDialog::on_dpi_changed(const wxRect& suggested_rect) //BBS: remove GCodeViewer as seperate APP logic bool Plater::load_files(const wxArrayString& filenames) { - const std::regex pattern_drop(".*[.](stp|step|stl|oltp|obj|amf|3mf|svg)", std::regex::icase); + const std::regex pattern_drop(".*[.](stp|step|stl|oltp|obj|amf|3mf|svg|zip)", std::regex::icase); const std::regex pattern_gcode_drop(".*[.](gcode|g)", std::regex::icase); std::vector normal_paths; @@ -10431,6 +10631,21 @@ bool Plater::load_files(const wxArrayString& filenames) } } + // Orca: Iters through given paths and imports files from zip then remove zip from paths + // returns true if zip files were found + auto handle_zips = [this](vector& paths) { // NOLINT(*-no-recursion) - Recursion is intended and should be managed properly + bool res = false; + for (auto it = paths.begin(); it != paths.end();) { + if (boost::algorithm::iends_with(it->string(), ".zip")) { + res = true; + preview_zip_archive(*it); + it = paths.erase(it); + } else + it++; + } + return res; + }; + switch (loadfiles_type) { case LoadFilesType::Single3MF: open_3mf_file(normal_paths[0]); @@ -10438,6 +10653,7 @@ bool Plater::load_files(const wxArrayString& filenames) case LoadFilesType::SingleOther: { Plater::TakeSnapshot snapshot(this, snapshot_label); + if (handle_zips(normal_paths)) return true; if (load_files(normal_paths, LoadStrategy::LoadModel, false).empty()) { res = false; } break; } @@ -10453,6 +10669,9 @@ bool Plater::load_files(const wxArrayString& filenames) case LoadFilesType::MultipleOther: { Plater::TakeSnapshot snapshot(this, snapshot_label); + if (handle_zips(normal_paths)) { + if (normal_paths.empty()) return true; + } if (load_files(normal_paths, LoadStrategy::LoadModel, true).empty()) { res = false; } break; } @@ -10471,6 +10690,9 @@ bool Plater::load_files(const wxArrayString& filenames) open_3mf_file(first_file[0]); if (load_files(tmf_file, LoadStrategy::LoadModel).empty()) { res = false; } + if (res && handle_zips(other_file)) { + if (normal_paths.empty()) return true; + } if (load_files(other_file, LoadStrategy::LoadModel, false).empty()) { res = false; } break; default: break; diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index e03fd3d60c4..dd9c58fd570 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -262,6 +262,7 @@ public: int get_3mf_file_count(std::vector paths); void add_file(); void add_model(bool imperial_units = false, std::string fname = ""); + void import_zip_archive(); void import_sl1_archive(); void extract_config_from_project(); void load_gcode(); @@ -298,6 +299,8 @@ public: static wxColour get_next_color_for_filament(); static wxString get_slice_warning_string(GCodeProcessorResult::SliceWarning& warning); + bool preview_zip_archive(const boost::filesystem::path& archive_path); + // BBS: restore std::vector load_files(const std::vector& input_files, LoadStrategy strategy = LoadStrategy::LoadModel | LoadStrategy::LoadConfig, bool ask_multi = false); // To be called when providing a list of files to the GUI slic3r on command line. @@ -803,7 +806,7 @@ private: bool m_only_gcode { false }; bool m_exported_file { false }; bool skip_thumbnail_invalid { false }; - bool m_loading_project {false }; + bool m_loading_project { false }; std::string m_preview_only_filename; int m_valid_plates_count { 0 }; diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index da217703e9f..42ec0a49c76 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -1088,6 +1088,8 @@ wxWindow* PreferencesDialog::create_general_page() //downloads auto title_downloads = create_item_title(_L("Downloads"), page, _L("Downloads")); auto item_downloads = create_item_downloads(page,50,"download_path"); + auto ps_download_url_registered = create_item_checkbox(_L("Allow downloads from Printables.com"), page, + _L("Allow downloads from Printables.com"), 50, "ps_url_registered"); //dark mode #ifdef _WIN32 @@ -1150,6 +1152,7 @@ wxWindow* PreferencesDialog::create_general_page() sizer_page->Add(title_downloads, 0, wxTOP| wxEXPAND, FromDIP(20)); sizer_page->Add(item_downloads, 0, wxEXPAND, FromDIP(3)); + sizer_page->Add(ps_download_url_registered, 0, wxTOP | wxEXPAND, FromDIP(20)); #ifdef _WIN32 sizer_page->Add(title_darkmode, 0, wxTOP | wxEXPAND, FromDIP(20)); diff --git a/src/slic3r/Utils/Http.cpp b/src/slic3r/Utils/Http.cpp index 12ff9540027..88d9acf934a 100644 --- a/src/slic3r/Utils/Http.cpp +++ b/src/slic3r/Utils/Http.cpp @@ -138,6 +138,7 @@ struct Http::priv void set_post_body(const std::string &body); void set_put_body(const fs::path &path); void set_del_body(const std::string& body); + void set_range(const std::string &range); std::string curl_error(CURLcode curlcode); std::string body_size_error(); @@ -237,7 +238,7 @@ int Http::priv::xfercb(void *userp, curl_off_t dltotal, curl_off_t dlnow, curl_o curl_easy_getinfo(self->curl, CURLINFO_SPEED_UPLOAD, &speed); if (speed > 0.01) speed = speed; - Progress progress(dltotal, dlnow, ultotal, ulnow, speed); + Progress progress(dltotal, dlnow, ultotal, ulnow, self->buffer, speed); self->progressfn(progress, cb_cancel); } @@ -370,6 +371,11 @@ void Http::priv::set_del_body(const std::string& body) postfields = body; } +void Http::priv::set_range(const std::string& range) +{ + ::curl_easy_setopt(curl, CURLOPT_RANGE, range.c_str()); +} + std::string Http::priv::curl_error(CURLcode curlcode) { return (boost::format("curl:%1%:\n%2%\n[Error %3%]") @@ -434,7 +440,7 @@ void Http::priv::http_perform() if (res == CURLE_ABORTED_BY_CALLBACK) { if (cancel) { // The abort comes from the request being cancelled programatically - Progress dummyprogress(0, 0, 0, 0); + Progress dummyprogress(0, 0, 0, 0, std::string()); bool cancel = true; if (progressfn) { progressfn(dummyprogress, cancel); } } else { @@ -510,6 +516,12 @@ Http& Http::size_limit(size_t sizeLimit) return *this; } +Http& Http::set_range(const std::string& range) +{ + if (p) { p->set_range(range); } + return *this; +} + Http& Http::header(std::string name, const std::string &value) { if (!p) { return * this; } diff --git a/src/slic3r/Utils/Http.hpp b/src/slic3r/Utils/Http.hpp index c7f7ac2cd95..1218a562a68 100644 --- a/src/slic3r/Utils/Http.hpp +++ b/src/slic3r/Utils/Http.hpp @@ -42,14 +42,15 @@ public: size_t dlnow; // Bytes downloaded so far size_t ultotal; // Total bytes to upload size_t ulnow; // Bytes uploaded so far + const std::string& buffer; // reference to buffer containing all data double upload_spd{0.0f}; - Progress(size_t dltotal, size_t dlnow, size_t ultotal, size_t ulnow) : - dltotal(dltotal), dlnow(dlnow), ultotal(ultotal), ulnow(ulnow) + Progress(size_t dltotal, size_t dlnow, size_t ultotal, size_t ulnow, const std::string& buffer) : + dltotal(dltotal), dlnow(dlnow), ultotal(ultotal), ulnow(ulnow), buffer(buffer) {} - Progress(size_t dltotal, size_t dlnow, size_t ultotal, size_t ulnow, double ulspd) : - dltotal(dltotal), dlnow(dlnow), ultotal(ultotal), ulnow(ulnow), upload_spd(ulspd) + Progress(size_t dltotal, size_t dlnow, size_t ultotal, size_t ulnow, const std::string& buffer, double ulspd) : + dltotal(dltotal), dlnow(dlnow), ultotal(ultotal), ulnow(ulnow), buffer(buffer), upload_spd(ulspd) {} }; @@ -102,6 +103,8 @@ public: // Sets a maximum size of the data that can be received. // A value of zero sets the default limit, which is is 5MB. Http& size_limit(size_t sizeLimit); + // range of donloaded bytes. example: curl_easy_setopt(curl, CURLOPT_RANGE, "0-199"); + Http& set_range(const std::string& range); // Sets a HTTP header field. Http& header(std::string name, const std::string &value); // Removes a header field. From 54dae38c086b9ec84c37e1979c1a07e7ee24dd73 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Wed, 22 May 2024 15:26:52 +0800 Subject: [PATCH 045/178] Printables.com support (associate prusaslicer:// link explicitly) (#5416) * Enable ability to open `prusaslicer://` links * Add needed function to miniz * Import Zip Functionality Allows zip file to be drag and dropped or imported via the menu option Based on prusa3d/PrusaSlicer@ce38e57 and current master branch files * Update dialog style to match Orca * Ensure link is from printables * add toggle option in preferences doesn't actually control anything yet * Add Downloader classes As-is from PS master * Create Orca Styled Variant of Icons * Add Icons to ImGui * Use PS's Downloader impl for `prusaslicer://` links * Implement URL Registering on Windows * Implement prusaslicer:// link on macOS * Remove unnecessary class name qualifier in Plater.hpp * Add downloader desktop integration registration and undo * Revert Info.plist * register prusaslicer:// on user request only * fix build error * fix single instance problem * format * add orcalicer:// handler for Mac Attempt to add Linux support but seems not working --------- Co-authored-by: Ocraftyone --- cmake/modules/MacOSXBundleInfo.plist.in | 1 + src/libslic3r/AppConfig.cpp | 5 -- src/platform/osx/Info.plist.in | 1 + src/slic3r/GUI/DesktopIntegrationDialog.cpp | 16 +++---- src/slic3r/GUI/Downloader.cpp | 27 +++++------ src/slic3r/GUI/DownloaderFileGet.cpp | 14 +++--- src/slic3r/GUI/GUI_App.cpp | 51 +++++++++++++++------ src/slic3r/GUI/GUI_App.hpp | 3 +- src/slic3r/GUI/InstanceCheck.cpp | 12 +++++ src/slic3r/GUI/InstanceCheck.hpp | 2 + src/slic3r/GUI/Plater.cpp | 9 ++++ src/slic3r/GUI/Preferences.cpp | 28 +++++++---- src/slic3r/GUI/Preferences.hpp | 2 +- 13 files changed, 111 insertions(+), 60 deletions(-) diff --git a/cmake/modules/MacOSXBundleInfo.plist.in b/cmake/modules/MacOSXBundleInfo.plist.in index 1f435674cf1..66c30a6ffee 100644 --- a/cmake/modules/MacOSXBundleInfo.plist.in +++ b/cmake/modules/MacOSXBundleInfo.plist.in @@ -36,6 +36,7 @@ CFBundleURLSchemes orcasliceropen + orcaslicer diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index 1121a785c59..49a7228f1fb 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -333,11 +333,6 @@ void AppConfig::set_defaults() set("download_path", ""); } - // Orca - if (get("ps_url_registered").empty()) { - set_bool("ps_url_registered", false); - } - if (get("mouse_wheel").empty()) { set("mouse_wheel", "0"); } diff --git a/src/platform/osx/Info.plist.in b/src/platform/osx/Info.plist.in index f5846c023a5..a2621d25211 100644 --- a/src/platform/osx/Info.plist.in +++ b/src/platform/osx/Info.plist.in @@ -32,6 +32,7 @@ CFBundleURLSchemes orcasliceropen + orcaslicer diff --git a/src/slic3r/GUI/DesktopIntegrationDialog.cpp b/src/slic3r/GUI/DesktopIntegrationDialog.cpp index a9d87084622..672504ebd2a 100644 --- a/src/slic3r/GUI/DesktopIntegrationDialog.cpp +++ b/src/slic3r/GUI/DesktopIntegrationDialog.cpp @@ -531,7 +531,7 @@ void DesktopIntegrationDialog::perform_downloader_desktop_integration() std::string desktop_file_downloader = GUI::format( "[Desktop Entry]\n" - "Name=PrusaSlicer URL Protocol%1%\n" + "Name=OrcaSlicer URL Protocol%1%\n" "Exec=\"%2%\" %%u\n" "Terminal=false\n" "Type=Application\n" @@ -541,12 +541,12 @@ void DesktopIntegrationDialog::perform_downloader_desktop_integration() , name_suffix, excutable_path); // desktop file for downloader as part of main app - std::string desktop_path = GUI::format("%1%/applications/PrusaSlicerURLProtocol%2%.desktop", target_dir_desktop, version_suffix); + std::string desktop_path = GUI::format("%1%/applications/OrcaSlicerURLProtocol%2%.desktop", target_dir_desktop, version_suffix); if (create_desktop_file(desktop_path, desktop_file_downloader)) { // save path to desktop file app_config->set("desktop_integration_URL_path", desktop_path); // finish registration on mime type - std::string command = GUI::format("xdg-mime default PrusaSlicerURLProtocol%1%.desktop x-scheme-handler/prusaslicer", version_suffix); + std::string command = GUI::format("xdg-mime default OrcaSlicerURLProtocol%1%.desktop x-scheme-handler/prusaslicer", version_suffix); BOOST_LOG_TRIVIAL(debug) << "system command: " << command; int r = system(command.c_str()); BOOST_LOG_TRIVIAL(debug) << "system result: " << r; @@ -558,16 +558,16 @@ void DesktopIntegrationDialog::perform_downloader_desktop_integration() if (contains_path_dir(target_candidates[i], "applications")) { target_dir_desktop = target_candidates[i]; // Write slicer desktop file - std::string path = GUI::format("%1%/applications/PrusaSlicerURLProtocol%2%.desktop", target_dir_desktop, version_suffix); + std::string path = GUI::format("%1%/applications/OrcaSlicerURLProtocol%2%.desktop", target_dir_desktop, version_suffix); if (create_desktop_file(path, desktop_file_downloader)) { app_config->set("desktop_integration_URL_path", path); candidate_found = true; - BOOST_LOG_TRIVIAL(debug) << "PrusaSlicerURLProtocol.desktop file installation success."; + BOOST_LOG_TRIVIAL(debug) << "OrcaSlicerURLProtocol.desktop file installation success."; break; } else { // write failed - try another path - BOOST_LOG_TRIVIAL(debug) << "Attempt to PrusaSlicerURLProtocol.desktop file installation failed. failed path: " << target_candidates[i]; + BOOST_LOG_TRIVIAL(debug) << "Attempt to OrcaSlicerURLProtocol.desktop file installation failed. failed path: " << target_candidates[i]; target_dir_desktop.clear(); } } @@ -578,7 +578,7 @@ void DesktopIntegrationDialog::perform_downloader_desktop_integration() create_path(boost::nowide::narrow(wxFileName::GetHomeDir()), ".local/share/applications"); // create desktop file target_dir_desktop = GUI::format("%1%/.local/share", wxFileName::GetHomeDir()); - std::string path = GUI::format("%1%/applications/PrusaSlicerURLProtocol%2%.desktop", target_dir_desktop, version_suffix); + std::string path = GUI::format("%1%/applications/OrcaSlicerURLProtocol%2%.desktop", target_dir_desktop, version_suffix); if (contains_path_dir(target_dir_desktop, "applications")) { if (!create_desktop_file(path, desktop_file_downloader)) { // Desktop file not written - end desktop integration @@ -602,7 +602,7 @@ void DesktopIntegrationDialog::perform_downloader_desktop_integration() } // finish registration on mime type - std::string command = GUI::format("xdg-mime default PrusaSlicerURLProtocol%1%.desktop x-scheme-handler/prusaslicer", version_suffix); + std::string command = GUI::format("xdg-mime default OrcaSlicerURLProtocol%1%.desktop x-scheme-handler/prusaslicer", version_suffix); BOOST_LOG_TRIVIAL(debug) << "system command: " << command; int r = system(command.c_str()); BOOST_LOG_TRIVIAL(debug) << "system result: " << r; diff --git a/src/slic3r/GUI/Downloader.cpp b/src/slic3r/GUI/Downloader.cpp index 229936160f9..10b3b6cbe58 100644 --- a/src/slic3r/GUI/Downloader.cpp +++ b/src/slic3r/GUI/Downloader.cpp @@ -135,13 +135,6 @@ void Downloader::start_download(const std::string& full_url) { assert(m_initialized); - // Orca: check if url is registered - if (!wxGetApp().app_config->has("ps_url_registered") || !wxGetApp().app_config->get_bool("ps_url_registered")) { - BOOST_LOG_TRIVIAL(error) << "PrusaSlicer links are not enabled. Download aborted: " << full_url; - show_error(nullptr, "PrusaSlicer links are not enabled in preferences. Download aborted."); - return; - } - // Orca: Move to the 3D view MainFrame* mainframe = wxGetApp().mainframe; Plater* plater = wxGetApp().plater(); @@ -155,7 +148,7 @@ void Downloader::start_download(const std::string& full_url) // Orca: Replace PS workaround for "mysterious slash" with a more dynamic approach // Windows seems to have fixed the issue and this provides backwards compatability for those it still affects - boost::regex re(R"(^prusaslicer:\/\/open[\/]?\?file=)", boost::regbase::icase); + boost::regex re(R"(^(orcaslicer|prusaslicer):\/\/open[\/]?\?file=)", boost::regbase::icase); boost::smatch results; if (!boost::regex_search(full_url, results, re)) { @@ -168,14 +161,16 @@ void Downloader::start_download(const std::string& full_url) } size_t id = get_next_id(); std::string escaped_url = FileGet::escape_url(full_url.substr(results.length())); - if (!boost::starts_with(escaped_url, "https://") || !FileGet::is_subdomain(escaped_url, "printables.com")) { - std::string msg = format(_L("Download won't start. Download URL doesn't point to https://printables.com : %1%"), escaped_url); - BOOST_LOG_TRIVIAL(error) << msg; - NotificationManager* ntf_mngr = wxGetApp().notification_manager(); - ntf_mngr->push_notification(NotificationType::CustomNotification, NotificationManager::NotificationLevel::ErrorNotificationLevel, - "Download failed. Download URL doesn't point to https://printables.com."); - return; - } + // Orca:: any website that supports orcaslicer://open/?file= can be downloaded + + // if (!boost::starts_with(escaped_url, "https://") || !FileGet::is_subdomain(escaped_url, "printables.com")) { + // std::string msg = format(_L("Download won't start. Download URL doesn't point to https://printables.com : %1%"), escaped_url); + // BOOST_LOG_TRIVIAL(error) << msg; + // NotificationManager* ntf_mngr = wxGetApp().notification_manager(); + // ntf_mngr->push_notification(NotificationType::CustomNotification, NotificationManager::NotificationLevel::ErrorNotificationLevel, + // "Download failed. Download URL doesn't point to https://printables.com."); + // return; + // } std::string text(escaped_url); m_downloads.emplace_back(std::make_unique(id, std::move(escaped_url), this, m_dest_folder)); diff --git a/src/slic3r/GUI/DownloaderFileGet.cpp b/src/slic3r/GUI/DownloaderFileGet.cpp index 137a7e9bc14..2389d379dba 100644 --- a/src/slic3r/GUI/DownloaderFileGet.cpp +++ b/src/slic3r/GUI/DownloaderFileGet.cpp @@ -201,12 +201,12 @@ void FileGet::priv::get_perform() return; } - std:: string range_string = std::to_string(m_written) + "-"; + std:: string range_string = std::to_string(m_written) + "-"; - size_t written_previously = m_written; - size_t written_this_session = 0; - Http::get(m_url) - .size_limit(DOWNLOAD_SIZE_LIMIT) //more? + size_t written_previously = m_written; + size_t written_this_session = 0; + Http::get(m_url) + .size_limit(DOWNLOAD_SIZE_LIMIT) //more? .set_range(range_string) .on_progress([&](Http::Progress progress, bool& cancel) { // to prevent multiple calls into following ifs (m_cancel / m_pause) @@ -244,7 +244,7 @@ void FileGet::priv::get_perform() } if (progress.dlnow != 0) { - if (progress.dlnow - written_this_session > DOWNLOAD_MAX_CHUNK_SIZE || progress.dlnow == progress.dltotal) { + if (progress.dlnow - written_this_session > DOWNLOAD_MAX_CHUNK_SIZE || progress.dlnow == progress.dltotal) { try { std::string part_for_write = progress.buffer.substr(written_this_session, progress.dlnow); @@ -264,7 +264,7 @@ void FileGet::priv::get_perform() m_written = written_previously + written_this_session; } wxCommandEvent* evt = new wxCommandEvent(EVT_DWNLDR_FILE_PROGRESS); - int percent_total = (written_previously + progress.dlnow) * 100 / m_absolute_size; + int percent_total = m_absolute_size == 0 ? 0 : (written_previously + progress.dlnow) * 100 / m_absolute_size; evt->SetString(std::to_string(percent_total)); evt->SetInt(m_id); m_evt_handler->QueueEvent(evt); diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 46b0c4bc23d..52bfa21508c 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -821,7 +821,8 @@ void GUI_App::post_init() (boost::starts_with(this->init_params->input_files.front(), "orcaslicer://open") || boost::starts_with(this->init_params->input_files.front(), "prusaslicer://open"))) { - if (boost::starts_with(this->init_params->input_files.front(), "prusaslicer://open")) { + if (boost::starts_with(this->init_params->input_files.front(), "orcaslicer://open")|| + boost::starts_with(this->init_params->input_files.front(), "prusaslicer://open")) { switch_to_3d = true; start_download(this->init_params->input_files.front()); } else if (vector input_str_arr = split_str(this->init_params->input_files.front(), "orcaslicer://open/?file="); input_str_arr.size() > 1) { @@ -1098,7 +1099,7 @@ GUI_App::GUI_App() , m_em_unit(10) , m_imgui(new ImGuiWrapper()) , m_removable_drive_manager(std::make_unique()) - , m_downloader(std::make_unique()) + , m_downloader(std::make_unique()) , m_other_instance_message_handler(std::make_unique()) { //app config initializes early becasuse it is used in instance checking in OrcaSlicer.cpp @@ -2371,10 +2372,8 @@ bool GUI_App::on_init_inner() associate_files(L"step"); associate_files(L"stp"); } - // Orca: add PS url functionality - if (app_config->get_bool("ps_url_registered")) { - associate_url(L"prusaslicer"); - } + associate_url(L"orcaslicer"); + if (app_config->get("associate_gcode") == "true") associate_files(L"gcode"); #endif // __WXMSW__ @@ -5533,10 +5532,7 @@ void GUI_App::open_preferences(size_t open_on_tab, const std::string& highlight_ associate_files(L"step"); associate_files(L"stp"); } - // Orca: add PS url functionality - if (app_config->get_bool("ps_url_registered")) { - associate_url(L"prusaslicer"); - } + associate_url(L"orcaslicer"); } else { if (app_config->get("associate_gcode") == "true") @@ -6577,9 +6573,11 @@ static bool del_win_registry(HKEY hkeyHive, const wchar_t *pszVar, const wchar_t return false; } +#endif // __WXMSW__ void GUI_App::associate_files(std::wstring extend) { +#ifdef WIN32 wchar_t app_path[MAX_PATH]; ::GetModuleFileNameW(nullptr, app_path, sizeof(app_path)); @@ -6599,10 +6597,12 @@ void GUI_App::associate_files(std::wstring extend) if (is_new) // notify Windows only when any of the values gets changed ::SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nullptr, nullptr); +#endif // WIN32 } void GUI_App::disassociate_files(std::wstring extend) { +#ifdef WIN32 wchar_t app_path[MAX_PATH]; ::GetModuleFileNameW(nullptr, app_path, sizeof(app_path)); @@ -6629,12 +6629,33 @@ void GUI_App::disassociate_files(std::wstring extend) if (is_new) ::SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nullptr, nullptr); +#endif // WIN32 +} + +bool GUI_App::check_url_association(std::wstring url_prefix, std::wstring& reg_bin) +{ + reg_bin = L""; +#ifdef WIN32 + wxRegKey key_full(wxRegKey::HKCU, "Software\\Classes\\" + url_prefix + "\\shell\\open\\command"); + if (!key_full.Exists()) { + return false; + } + reg_bin = key_full.QueryDefaultValue().ToStdWstring(); + + boost::filesystem::path binary_path(boost::filesystem::canonical(boost::dll::program_location())); + // wxString wbinary = wxString::FromUTF8(binary_path.string()); + // std::string binary_string = (boost::format("%1%") % wbinary).str(); + std::wstring key_string = L"\"" + binary_path.wstring() + L"\" L\"%1\""; + // return boost::iequals(key_string,(boost::format("%1%") % reg_bin).str()); + return key_string == reg_bin; +#else + return false; +#endif // WIN32 } void GUI_App::associate_url(std::wstring url_prefix) { - // Registry key creation for "prusaslicer://" URL - +#ifdef WIN32 boost::filesystem::path binary_path(boost::filesystem::canonical(boost::dll::program_location())); // the path to binary needs to be correctly saved in string with respect to localized characters wxString wbinary = wxString::FromUTF8(binary_path.string()); @@ -6654,18 +6675,22 @@ void GUI_App::associate_url(std::wstring url_prefix) key_full.Create(false); } key_full = key_string; +#elif defined(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION) + DesktopIntegrationDialog::perform_downloader_desktop_integration(); +#endif // WIN32 } void GUI_App::disassociate_url(std::wstring url_prefix) { +#ifdef WIN32 wxRegKey key_full(wxRegKey::HKCU, "Software\\Classes\\" + url_prefix + "\\shell\\open\\command"); if (!key_full.Exists()) { return; } key_full = ""; +#endif // WIN32 } -#endif // __WXMSW__ void GUI_App::start_download(std::string url) { diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index dc0b8e4ff3e..7def51e40bd 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -646,13 +646,12 @@ private: bool is_glsl_version_greater_or_equal_to(unsigned int major, unsigned int minor) const { return m_opengl_mgr.get_gl_info().is_glsl_version_greater_or_equal_to(major, minor); } int GetSingleChoiceIndex(const wxString& message, const wxString& caption, const wxArrayString& choices, int initialSelection); -#ifdef __WXMSW__ // extend is stl/3mf/gcode/step etc void associate_files(std::wstring extend); void disassociate_files(std::wstring extend); + bool check_url_association(std::wstring url_prefix, std::wstring& reg_bin); void associate_url(std::wstring url_prefix); void disassociate_url(std::wstring url_prefix); -#endif // __WXMSW__ // URL download - PrusaSlicer gets system call to open prusaslicer:// URL which should contain address of download void start_download(std::string url); diff --git a/src/slic3r/GUI/InstanceCheck.cpp b/src/slic3r/GUI/InstanceCheck.cpp index bc5eb4d8cdf..a2f38d8e8f3 100644 --- a/src/slic3r/GUI/InstanceCheck.cpp +++ b/src/slic3r/GUI/InstanceCheck.cpp @@ -1,6 +1,7 @@ #include "GUI_App.hpp" #include "InstanceCheck.hpp" #include "Plater.hpp" +#include #ifdef _WIN32 #include "MainFrame.hpp" @@ -370,6 +371,7 @@ bool instance_check(int argc, char** argv, bool app_config_single_instance) namespace GUI { wxDEFINE_EVENT(EVT_LOAD_MODEL_OTHER_INSTANCE, LoadFromOtherInstanceEvent); +wxDEFINE_EVENT(EVT_START_DOWNLOAD_OTHER_INSTANCE, StartDownloadOtherInstanceEvent); wxDEFINE_EVENT(EVT_INSTANCE_GO_TO_FRONT, InstanceGoToFrontEvent); void OtherInstanceMessageHandler::init(wxEvtHandler* callback_evt_handler) @@ -498,12 +500,18 @@ void OtherInstanceMessageHandler::handle_message(const std::string& message) } std::vector paths; + std::vector downloads; + boost::regex re(R"(^(orcaslicer|prusaslicer):\/\/open[\/]?\?file=)", boost::regbase::icase); + boost::smatch results; + // Skip the first argument, it is the path to the slicer executable. auto it = args.begin(); for (++ it; it != args.end(); ++ it) { boost::filesystem::path p = MessageHandlerInternal::get_path(*it); if (! p.string().empty()) paths.emplace_back(p); + else if (boost::regex_search(*it, results, re)) + downloads.emplace_back(*it); } if (! paths.empty()) { //wxEvtHandler* evt_handler = wxGetApp().plater(); //assert here? @@ -511,6 +519,10 @@ void OtherInstanceMessageHandler::handle_message(const std::string& message) wxPostEvent(m_callback_evt_handler, LoadFromOtherInstanceEvent(GUI::EVT_LOAD_MODEL_OTHER_INSTANCE, std::vector(std::move(paths)))); //} } + if (!downloads.empty()) + { + wxPostEvent(m_callback_evt_handler, StartDownloadOtherInstanceEvent(GUI::EVT_START_DOWNLOAD_OTHER_INSTANCE, std::vector(std::move(downloads)))); + } } #ifdef __APPLE__ diff --git a/src/slic3r/GUI/InstanceCheck.hpp b/src/slic3r/GUI/InstanceCheck.hpp index 10ccf7b9250..5f26f1e48f4 100644 --- a/src/slic3r/GUI/InstanceCheck.hpp +++ b/src/slic3r/GUI/InstanceCheck.hpp @@ -43,7 +43,9 @@ class MainFrame; #endif // __linux__ using LoadFromOtherInstanceEvent = Event>; +using StartDownloadOtherInstanceEvent = Event>; wxDECLARE_EVENT(EVT_LOAD_MODEL_OTHER_INSTANCE, LoadFromOtherInstanceEvent); +wxDECLARE_EVENT(EVT_START_DOWNLOAD_OTHER_INSTANCE, StartDownloadOtherInstanceEvent); using InstanceGoToFrontEvent = SimpleEvent; wxDECLARE_EVENT(EVT_INSTANCE_GO_TO_FRONT, InstanceGoToFrontEvent); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index abb5f33ddfb..a7b9b51fc87 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -3175,6 +3175,15 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) wxGetApp().mainframe->Raise(); this->q->load_files(input_files); }); + + this->q->Bind(EVT_START_DOWNLOAD_OTHER_INSTANCE, [](StartDownloadOtherInstanceEvent& evt) { + BOOST_LOG_TRIVIAL(trace) << "Received url from other instance event."; + wxGetApp().mainframe->Raise(); + for (size_t i = 0; i < evt.data.size(); ++i) { + wxGetApp().start_download(evt.data[i]); + } + + }); this->q->Bind(EVT_INSTANCE_GO_TO_FRONT, [this](InstanceGoToFrontEvent &) { bring_instance_forward(); }); diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index 42ec0a49c76..f6b79965570 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -745,16 +745,18 @@ wxBoxSizer *PreferencesDialog::create_item_checkbox(wxString title, wxWindow *pa return m_sizer_checkbox; } -wxBoxSizer *PreferencesDialog::create_item_button(wxString title, wxString title2, wxWindow *parent, wxString tooltip, std::function onclick) +wxBoxSizer* PreferencesDialog::create_item_button( + wxString title, wxString title2, wxWindow* parent, wxString tooltip, wxString tooltip2, std::function onclick) { wxBoxSizer *m_sizer_checkbox = new wxBoxSizer(wxHORIZONTAL); m_sizer_checkbox->Add(0, 0, 0, wxEXPAND | wxLEFT, 23); auto m_staticTextPath = new wxStaticText(parent, wxID_ANY, title, wxDefaultPosition, wxDefaultSize, wxST_ELLIPSIZE_END); - // m_staticTextPath->SetMaxSize(wxSize(FromDIP(440), -1)); + m_staticTextPath->SetMaxSize(wxSize(FromDIP(240), -1)); m_staticTextPath->SetForegroundColour(DESIGN_GRAY900_COLOR); m_staticTextPath->SetFont(::Label::Body_13); m_staticTextPath->Wrap(-1); + m_staticTextPath->SetToolTip(tooltip); auto m_button_download = new Button(parent, title2); @@ -770,7 +772,7 @@ wxBoxSizer *PreferencesDialog::create_item_button(wxString title, wxString title m_button_download->SetMinSize(wxSize(FromDIP(58), FromDIP(22))); m_button_download->SetSize(wxSize(FromDIP(58), FromDIP(22))); m_button_download->SetCornerRadius(FromDIP(12)); - m_button_download->SetToolTip(tooltip); + m_button_download->SetToolTip(tooltip2); m_button_download->Bind(wxEVT_BUTTON, [this, onclick](auto &e) { onclick(); }); @@ -1051,7 +1053,7 @@ wxWindow* PreferencesDialog::create_general_page() auto title_network = create_item_title(_L("Network"), page, _L("Network")); auto item_user_sync = create_item_checkbox(_L("Auto sync user presets(Printer/Filament/Process)"), page, _L("User Sync"), 50, "sync_user_preset"); auto item_system_sync = create_item_checkbox(_L("Update built-in Presets automatically."), page, _L("System Sync"), 50, "sync_system_preset"); - auto item_save_presets = create_item_button(_L("Clear my choice on the unsaved presets."), _L("Clear"), page, _L("Clear my choice on the unsaved presets."), []() { + auto item_save_presets = create_item_button(_L("Clear my choice on the unsaved presets."), _L("Clear"), page, L"", _L("Clear my choice on the unsaved presets."), []() { wxGetApp().app_config->set("save_preset_choise", ""); }); @@ -1066,6 +1068,16 @@ wxWindow* PreferencesDialog::create_general_page() auto item_associate_step = create_item_checkbox(_L("Associate .step/.stp files to OrcaSlicer"), page, _L("If enabled, sets OrcaSlicer as default application to open .step files"), 50, "associate_step"); #endif // _WIN32 +#if !defined(__APPLE__) + + + std::wstring reg_bin; + wxGetApp().check_url_association(L"prusaslicer", reg_bin); + auto associate_url_prusaslicer = create_item_button(_L("Current association: ") + reg_bin, _L("Associate prusaslicer://"), page, + reg_bin.empty() ? _L("Not associated to any application") : reg_bin, + _L("Associate OrcaSlicer with prusaslicer:// links so that Orca can open PrusaSlicer links from Printable.com"), + []() { wxGetApp().associate_url(L"prusaslicer"); }); +#endif // auto title_modelmall = create_item_title(_L("Online Models"), page, _L("Online Models")); // auto item_backup = create_item_switch(_L("Backup switch"), page, _L("Backup switch"), "units"); @@ -1077,7 +1089,7 @@ wxWindow* PreferencesDialog::create_general_page() if (value.ToLong(&max)) wxGetApp().mainframe->set_max_recent_count(max); }); - auto item_save_choise = create_item_button(_L("Clear my choice on the unsaved projects."), _L("Clear"), page, _L("Clear my choice on the unsaved projects."), []() { + auto item_save_choise = create_item_button(_L("Clear my choice on the unsaved projects."), _L("Clear"), page, L"", _L("Clear my choice on the unsaved projects."), []() { wxGetApp().app_config->set("save_project_choise", ""); }); // auto item_backup = create_item_switch(_L("Backup switch"), page, _L("Backup switch"), "units"); @@ -1088,8 +1100,6 @@ wxWindow* PreferencesDialog::create_general_page() //downloads auto title_downloads = create_item_title(_L("Downloads"), page, _L("Downloads")); auto item_downloads = create_item_downloads(page,50,"download_path"); - auto ps_download_url_registered = create_item_checkbox(_L("Allow downloads from Printables.com"), page, - _L("Allow downloads from Printables.com"), 50, "ps_url_registered"); //dark mode #ifdef _WIN32 @@ -1131,6 +1141,9 @@ wxWindow* PreferencesDialog::create_general_page() sizer_page->Add(item_associate_stl, 0, wxTOP, FromDIP(3)); sizer_page->Add(item_associate_step, 0, wxTOP, FromDIP(3)); #endif // _WIN32 +#if !defined(__APPLE__) + sizer_page->Add(associate_url_prusaslicer, 0, wxTOP | wxEXPAND, FromDIP(20)); +#endif // auto item_title_modelmall = sizer_page->Add(title_modelmall, 0, wxTOP | wxEXPAND, FromDIP(20)); // auto item_item_modelmall = sizer_page->Add(item_modelmall, 0, wxTOP, FromDIP(3)); // auto update_modelmall = [this, item_title_modelmall, item_item_modelmall] (wxEvent & e) { @@ -1152,7 +1165,6 @@ wxWindow* PreferencesDialog::create_general_page() sizer_page->Add(title_downloads, 0, wxTOP| wxEXPAND, FromDIP(20)); sizer_page->Add(item_downloads, 0, wxEXPAND, FromDIP(3)); - sizer_page->Add(ps_download_url_registered, 0, wxTOP | wxEXPAND, FromDIP(20)); #ifdef _WIN32 sizer_page->Add(title_darkmode, 0, wxTOP | wxEXPAND, FromDIP(20)); diff --git a/src/slic3r/GUI/Preferences.hpp b/src/slic3r/GUI/Preferences.hpp index a417d47de99..63351961860 100644 --- a/src/slic3r/GUI/Preferences.hpp +++ b/src/slic3r/GUI/Preferences.hpp @@ -111,7 +111,7 @@ public: wxBoxSizer *create_item_checkbox(wxString title, wxWindow *parent, wxString tooltip, int padding_left, std::string param); wxBoxSizer *create_item_darkmode_checkbox(wxString title, wxWindow *parent, wxString tooltip, int padding_left, std::string param); void set_dark_mode(); - wxBoxSizer *create_item_button(wxString title, wxString title2, wxWindow *parent, wxString tooltip, std::function onclick); + wxBoxSizer *create_item_button(wxString title, wxString title2, wxWindow *parent, wxString tooltip, wxString tooltip2, std::function onclick); wxWindow* create_item_downloads(wxWindow* parent, int padding_left, std::string param); wxBoxSizer *create_item_input(wxString title, wxString title2, wxWindow *parent, wxString tooltip, std::string param, std::function onchange = {}); wxBoxSizer *create_item_backup_input(wxString title, wxWindow *parent, wxString tooltip, std::string param); From 3f2e197428ee40e03b35babce3ba7aafb2683891 Mon Sep 17 00:00:00 2001 From: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com> Date: Wed, 22 May 2024 08:27:31 +0100 Subject: [PATCH 046/178] SEMM: wipe tower sparse infill speed adjustment (#5415) * Wipe tower sparse layers speed adjustment * Updated tooltip and option label * Tooltip update --- src/libslic3r/GCode/WipeTower2.cpp | 2 +- src/libslic3r/PrintConfig.cpp | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/libslic3r/GCode/WipeTower2.cpp b/src/libslic3r/GCode/WipeTower2.cpp index 0013cb99ccf..cfe605c1ca7 100644 --- a/src/libslic3r/GCode/WipeTower2.cpp +++ b/src/libslic3r/GCode/WipeTower2.cpp @@ -1170,7 +1170,7 @@ WipeTower::ToolChangeResult WipeTower2::finish_layer() // Slow down on the 1st layer. // If spare layers are excluded -> if 1 or less toolchange has been done, it must be still the first layer, too. So slow down. bool first_layer = is_first_layer() || (m_num_tool_changes <= 1 && m_no_sparse_layers); - float feedrate = first_layer ? m_first_layer_speed * 60.f : std::min(5400.f, m_infill_speed * 60.f); + float feedrate = first_layer ? m_first_layer_speed * 60.f : std::min(m_wipe_tower_max_purge_speed * 60.f, m_infill_speed * 60.f); float current_depth = m_layer_info->depth - m_layer_info->toolchanges_depth(); WipeTower::box_coordinates fill_box(Vec2f(m_perimeter_width, m_layer_info->depth-(current_depth-m_perimeter_width)), m_wipe_tower_width - 2 * m_perimeter_width, current_depth-m_perimeter_width); diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 5b52fd26969..3380c396230 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -4786,12 +4786,13 @@ def = this->add("filament_loading_speed", coFloats); def->set_default_value(new ConfigOptionPercent(100.)); def = this->add("wipe_tower_max_purge_speed", coFloat); - def->label = L("Maximum print speed when purging"); - def->tooltip = L("The maximum print speed when purging in the wipe tower. If the sparse infill speed " - "or calculated speed from the filament max volumetric speed is lower, the lowest speed will be used instead.\n" - "Increasing this speed may affect the tower's stability, as purging can be performed over " - "sparse layers. Before increasing this parameter beyond the default of 90mm/sec, make sure your printer can reliably " - "bridge at the increased speeds."); + def->label = L("Maximum wipe tower print speed"); + def->tooltip = L("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 90mm/sec, 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."); def->sidetext = L("mm/s"); def->mode = comAdvanced; def->min = 10; From df23943f1e4f8a99c3e0918bf338d5c3e64d81e5 Mon Sep 17 00:00:00 2001 From: Heiko Liebscher Date: Wed, 22 May 2024 09:28:01 +0200 Subject: [PATCH 047/178] fix new locale de (#5407) * fix new local german (de) * fix more * fix error --- localization/i18n/de/OrcaSlicer_de.po | 158 +++++++++++++++++--------- 1 file changed, 106 insertions(+), 52 deletions(-) diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index 56a5b917c76..403db83d01d 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -2791,7 +2791,7 @@ msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, Version 3" msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" -msgstr "" +msgstr "Orca Slicer basiert auf PrusaSlicer und BambuStudio" msgid "Libraries" msgstr "Bibliotheken" @@ -3321,30 +3321,30 @@ msgid "Device" msgstr "Gerät" msgid "Task Sending" -msgstr "" +msgstr "Aufgabe senden" msgid "Task Sent" -msgstr "" +msgstr "Aufgabe gesendet" msgid "Edit multiple printers" -msgstr "" +msgstr "Mehrere Drucker bearbeiten" msgid "Select connected printetrs (0/6)" -msgstr "" +msgstr "Wählen die verbundenen Drucker (0/6)" #, c-format, boost-format msgid "Select Connected Printetrs (%d/6)" -msgstr "" +msgstr "Wählen die verbundenen Drucker (%d/6)" #, c-format, boost-format msgid "The maximum number of printers that can be selected is %d" -msgstr "" +msgstr "Die maximale Anzahl von Druckern, die ausgewählt werden können, beträgt %d" msgid "Offline" msgstr "Offline" msgid "No task" -msgstr "" +msgstr "Keine Aufgabe" msgid "View" msgstr "Ansicht" @@ -3353,23 +3353,24 @@ msgid "N/A" msgstr "N/A" msgid "Edit Printers" -msgstr "" +msgstr "Drucker bearbeiten" msgid "Device Name" -msgstr "" +msgstr "Gerätename" msgid "Task Name" -msgstr "" +msgstr "Aufgabenname" msgid "Device Status" -msgstr "" +msgstr "Gerätestatus" msgid "Actions" -msgstr "" +msgstr "Aktionen" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" msgstr "" +"Wählen Sie hier die Geräte aus, die Sie verwalten möchten (bis zu 6 Geräte)" msgid "Add" msgstr "Hinzufügen" @@ -3381,22 +3382,22 @@ msgid "Printing" msgstr "Drucken" msgid "Upgrading" -msgstr "" +msgstr "Aktualisieren" msgid "Incompatible" msgstr "Inkompatibel" msgid "syncing" -msgstr "" +msgstr "synchronisieren" msgid "Printing Finish" -msgstr "" +msgstr "Druck beendet" msgid "Printing Failed" -msgstr "" +msgstr "Druck fehlgeschlagen" msgid "PrintingPause" -msgstr "" +msgstr "Druckpause" msgid "Prepare" msgstr "Vorbereiten" @@ -3405,28 +3406,28 @@ msgid "Slicing" msgstr "Slicen" msgid "Pending" -msgstr "" +msgstr "Ausstehend" msgid "Sending" -msgstr "" +msgstr "Sende" msgid "Sending Finish" -msgstr "" +msgstr "Senden beendet" msgid "Sending Cancel" -msgstr "" +msgstr "Senden abbrechen" msgid "Sending Failed" -msgstr "" +msgstr "Senden fehlgeschlagen" msgid "Print Success" -msgstr "" +msgstr "Druck erfolgreich" msgid "Print Failed" -msgstr "" +msgstr "Druck fehlgeschlagen" msgid "Removed" -msgstr "" +msgstr "Entfernt" msgid "Resume" msgstr "Fortsetzen" @@ -3435,22 +3436,22 @@ msgid "Stop" msgstr "Stop" msgid "Task Status" -msgstr "" +msgstr "Aufgabenstatus" msgid "Sent Time" -msgstr "" +msgstr "Sende Zeit" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "Es gibt keine Aufgaben, die gesendet werden sollen!" msgid "No historical tasks!" -msgstr "" +msgstr "Keine historischen Aufgaben!" msgid "Loading..." msgstr "Laden..." msgid "No AMS" -msgstr "" +msgstr "Kein AMS" msgid "Send to Multi-device" msgstr "An Multi-Gerät senden" @@ -3462,28 +3463,28 @@ msgid "Abnormal print file data. Please slice again" msgstr "Fehlerhafte Daten in der Druckdatei. Bitte slicen Sie erneut" msgid "There is no device available to send printing." -msgstr "" +msgstr "Es ist kein Gerät verfügbar, um den Druck zu senden." msgid "The number of printers in use simultaneously cannot be equal to 0." -msgstr "" +msgstr "Die Anzahl der gleichzeitig verwendeten Drucker darf nicht gleich 0 sein." msgid "Use External Spool" -msgstr "" +msgstr "Externe Spule verwenden" msgid "Use AMS" -msgstr "" +msgstr "AMS verwenden" msgid "Select Printers" -msgstr "" +msgstr "Drucker auswählen" msgid "Ams Status" -msgstr "" +msgstr "AMS-Status" msgid "Printing Options" -msgstr "" +msgstr "Druckoptionen" msgid "Send Options" -msgstr "" +msgstr "Senden-Optionen" msgid "Send" msgstr "Senden" @@ -3492,13 +3493,17 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" +"Drucker gleichzeitig drucken.(Es hängt davon ab, wie viele Geräte gleichzeitig " +"erhitzt werden können.)" msgid "Wait" -msgstr "" +msgstr "Warten" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" +"Minute pro Charge.(Es hängt davon ab, wie lange es dauert, die Erhitzung " +"abzuschließen.)" msgid "Name is invalid;" msgstr "Der Name ist ungültig;" @@ -4757,7 +4762,7 @@ msgid "Export current plate as G-code" msgstr "Aktuelle Druckplatte als G-Code exportieren" msgid "Export Preset Bundle" -msgstr "" +msgstr "Preset-Bundle exportieren" msgid "Export current configuration to files" msgstr "Aktuelle Konfiguration in Dateien exportieren" @@ -6623,6 +6628,9 @@ msgid "" "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." msgstr "" +"Dies stoppt die Übertragung von Daten an die Cloud-Dienste von Bambu. " +"Benutzer, die keine BBL-Maschinen verwenden oder nur den LAN-Modus verwenden, " +"können diese Funktion sicher aktivieren." msgid "Enable network plugin" msgstr "Netzwerk-Plugin aktivieren" @@ -8711,10 +8719,10 @@ msgid "Shift+Mouse wheel" msgstr "Umschalt+Mausrad" msgid "Horizontal slider - Move to start position" -msgstr "" +msgstr "Horizontaler Schieberegler - Zur Startposition bewegen" msgid "Horizontal slider - Move to last position" -msgstr "" +msgstr "Horizontaler Schieberegler - Zur letzten Position bewegen" msgid "Release Note" msgstr "Hinweis zur Veröffentlichung" @@ -11054,7 +11062,7 @@ msgid "(Undefined)" msgstr "(undefiniert)" msgid "Sparse infill direction" -msgstr "" +msgstr "Richtung des einfachereren Fülling" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -11062,18 +11070,20 @@ msgid "" msgstr "Winkel des Füllmusters, das die Richtung der Linien bestimmt." msgid "Solid infill direction" -msgstr "" +msgstr "Richtung des massiven Füllmusters" msgid "" "Angle for solid infill pattern, which controls the start or main direction " "of line" msgstr "" +"Winkel des massiven Füllmusters, der die Start- oder Hauptrichtung der Linie " +"steuert." msgid "Rotate solid infill direction" -msgstr "" +msgstr "Massives Füllmuster drehen" msgid "Rotate the solid infill direction by 90° for each layer." -msgstr "" +msgstr "Drehe das massive Füllmuster um 90° für jede Schicht." msgid "Sparse infill density" msgstr "Fülldichte" @@ -11445,6 +11455,14 @@ msgid "" "quality as line segments are converted to arcs by the slicer and then back " "to line segments by the firmware." msgstr "" +"Aktivieren Sie diese Option, um eine G-Code-Datei zu erhalten, die G2- und " +"G3-Bewegungen enthält. Die Passungstoleranz entspricht der Auflösung. \n" +"\n" +"Hinweis: Für Klipper-Maschinen wird empfohlen, diese Option zu deaktivieren. " +"Klipper profitiert nicht von Bogenbefehlen, da diese von der Firmware wieder " +"in Linienabschnitte aufgeteilt werden. Dies führt zu einer Verringerung der " +"Oberflächenqualität, da Linienabschnitte vom Slicer in Bögen umgewandelt und " +"dann von der Firmware wieder in Linienabschnitte umgewandelt werden." msgid "Add line number" msgstr "Liniennummer hinzufügen" @@ -11686,6 +11704,11 @@ msgid "" "value to ~10-15% to minimize potential over extrusion and accumulation of " "material resulting in rough top surfaces." msgstr "" +"Die Füllfläche wird leicht vergrößert, um mit der Wand zu überlappen und " +"eine bessere Haftung zu gewährleisten. Der Prozentwert bezieht sich auf die " +"Linienbreite der spärlichen Füllung. Setzen Sie diesen Wert auf ~10-15%, um " +"eine mögliche Überextrusion und Materialansammlung zu minimieren, die zu " +"rauen Oberflächen führen kann." msgid "Top/Bottom solid infill/wall overlap" msgstr "" @@ -11698,6 +11721,12 @@ msgid "" "appearance of pinholes. The percentage value is relative to line width of " "sparse infill" msgstr "" +"Der obere massive Füllbereich wird leicht vergrößert, um mit der Wand zu " +"überlappen und eine bessere Haftung zu gewährleisten und das Auftreten von " +"Pinholes zu minimieren, wo die obere Füllung auf die Wände trifft. Ein Wert " +"von 25-30% ist ein guter Ausgangspunkt, um das Auftreten von Pinholes zu " +"minimieren. Der Prozentwert bezieht sich auf die Linienbreite der spärlichen " +"Füllung." msgid "Speed of internal sparse infill" msgstr "Geschwindigkeit der inneren Füllung" @@ -12788,7 +12817,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Wie viele Schichten des Skirts. Normalerweise nur eine Schicht." msgid "Draft shield" -msgstr "" +msgstr "Luftzug-Schutz" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12803,12 +12832,24 @@ msgid "" "distance from the object. Therefore, if brims are active it may intersect " "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +"Ein Luftzugs-Schutz ist nützlich, um einen ABS- oder ASA-Druck vor Verzug " +"und Ablösen vom Druckbett aufgrund von Luftzug zu schützen. Er wird normalerweise " +"nur bei offenen Druckern benötigt, d.h. ohne Gehäuse. \n" +"\n" +"Optionen:\n" +"Aktiviert = Umrandung ist so hoch wie das höchste gedruckte Objekt.\n" +"Begrenzt = Umrandung ist so hoch wie durch die Höhe der Umrandung angegeben.\n" +"\n" +"Hinweis: Mit dem aktiven Luftzug-Schutz wird die Umrandung in der " +"Umrandungsdistanz vom Objekt gedruckt. Daher kann es bei aktiven Rändern zu " +"Überschneidungen kommen. Um dies zu vermeiden, erhöhen Sie den Wert der" +"Umrandungsdistanz. \n" msgid "Limited" -msgstr "" +msgstr "Begrenzt" msgid "Enabled" -msgstr "" +msgstr "Aktiviert" msgid "Skirt loops" msgstr "Anzahl Umrandungsringe" @@ -12826,7 +12867,7 @@ msgstr "" "Schichtextrusionsgeschwindigkeit." msgid "Skirt minimum extrusion length" -msgstr "" +msgstr "Minimale Extrusionslänge der Umrandung" msgid "" "Minimum filament extrusion length in mm when printing the skirt. Zero means " @@ -12835,6 +12876,11 @@ msgid "" "Using a non zero value is useful if the printer is set up to print without a " "prime line." msgstr "" +"Minimale Filamentextrusionslänge in mm beim Drucken der Umrandung. Null " +"bedeutet, dass diese Funktion deaktiviert ist.\n" +"\n" +"Die Verwendung eines Werts ungleich Null ist nützlich, wenn der Drucker so " +"eingestellt ist, dass er ohne eine Primelinie druckt." msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " @@ -13619,7 +13665,7 @@ msgid "Spacing of purge lines on the wipe tower." msgstr "Abstand der Reinigungsturmpurges." msgid "Maximum print speed when purging" -msgstr "" +msgstr "Maximale Druckgeschwindigkeit beim Reinigen" msgid "" "The maximum print speed when purging in the wipe tower. If the sparse infill " @@ -13630,6 +13676,14 @@ msgid "" "default of 90mm/sec, make sure your printer can reliably bridge at the " "increased speeds." msgstr "" +"Die maximale Druckgeschwindigkeit beim Reinigen im Reinigungsturm. Wenn die " +"Geschwindigkeit des dünnen Infill oder die berechnete Geschwindigkeit aus " +"der maximalen Volumengeschwindigkeit des Filaments niedriger ist, wird die " +"niedrigste Geschwindigkeit verwendet.\n" +"Das Erhöhen dieser Geschwindigkeit kann die Stabilität des Turms beeinträchtigen, " +"da das Reinigen über dünnen Schichten erfolgen kann. Bevor Sie diesen Parameter " +"über den Standardwert von 90 mm/s erhöhen, stellen Sie sicher, dass Ihr Drucker " +"die erhöhten Geschwindigkeiten zuverlässig überbrücken kann." msgid "Wipe tower extruder" msgstr "Reinigungsturm-Extruder" From ebd510ef7eeebcba08920697487e3c7234a98cb9 Mon Sep 17 00:00:00 2001 From: cochcoder <103969142+cochcoder@users.noreply.github.com> Date: Wed, 22 May 2024 07:30:42 +0000 Subject: [PATCH 048/178] General fixes and improvements to CR-10 SE, Ender-3 V3 KE, Ender-3 S1 Plus, & small fix for Ender-3 V3 SE (#4793) * Replace M109 S[material_print_temperature_layer_0] with M109 S[first_layer_temperature] * Change line width to match nozzle * Change line_width for Ender-3 S1 Plus * Update creality_cr10se_buildplate_model.stl * Change line width to match nozzle size (Ender3v3SE) * Fix Ender-3 S1 Plus 0.8 bed size * Enable Z-hop for Ender-3 S1 Plus * Trying something * Update creality_ender3s1plus_buildplate_model.stl * Fix CR-10 SE print size * Various Flying Bear fixes * Try fixing error * Revert "Try fixing error" This reverts commit e42e016e4ab5472e8577db6a3faac8a4cd337161. * Add minor Ender-3 V3 KE improvements * Maybe this will fix the error? * Revert "Maybe this will fix the error?" This reverts commit 5e7873251b558c72c809a40dc4164e4b26eaaf54. * Revert "Various Flying Bear fixes" This reverts commit babca572dcf2a42f3b1ad6e67495bea192bc2168. * Fix CR-10 SE G-Code Recommended by @bkonosky * Minor changes to Ender-3 V3 KE * Probe when bed is heated (Ender-3 V3 KE) * Minor changes to Ender-3 V3 KE * Fix oozing (Ende-3 V3 KE) * Change retraction settings * Use different retraction settings * Revert "Use different retraction settings" This reverts commit 854decf848fcba18d8b86d89339acb63cce050d0. * try this * Remove "role_based_wipe_speed": "0", * Add changes from CR-10 SE Config #4966 * Add "role_based_wipe_speed" : "0", * Up retraction speed * Missed this * Resolve merge conflicts * Resolve merge conflicts * Change retraction & wipe speed * Revert line removal * Change wipe_speed to 200mm/s * Forgot the 0.16mm * Add BED_MESH_CALIBRATE PROBE_COUNT=6,6 * Improve for Matte PLA * Compensate for fan speed * Fix CANCEL_PRINT bug * Move SET_VELOCITY_LIMIT ACCEL_TO_DECEL=2500 to start g-code * Disable infill combination for 0.2 & 0.24 * Fix end G-Code * Disable arc fitting This fixes the merge conflict * temp * Revert "temp" This reverts commit 4bbc028ade560a5058aca18e6b7cad0840833a5a. --- resources/profiles/Creality.json | 48 ++++++ .../creality_cr10se_buildplate_model.stl | Bin 433284 -> 455184 bytes ...creality_ender3s1plus_buildplate_model.stl | Bin 436884 -> 437984 bytes .../machine/Creality CR-10 SE 0.2 nozzle.json | 50 +++--- .../machine/Creality CR-10 SE 0.4 nozzle.json | 50 +++--- .../machine/Creality CR-10 SE 0.6 nozzle.json | 50 +++--- .../machine/Creality CR-10 SE 0.8 nozzle.json | 50 +++--- .../Creality Ender-3 S1 Plus 0.2 nozzle.json | 3 - .../Creality Ender-3 S1 Plus 0.4 nozzle.json | 3 - .../Creality Ender-3 S1 Plus 0.6 nozzle.json | 3 - .../Creality Ender-3 S1 Plus 0.8 nozzle.json | 6 +- .../Creality Ender-3 V3 KE 0.4 nozzle.json | 10 +- .../0.12mm Fine @Creality CR10SE 0.2.json | 118 +++++++++++++ .../0.12mm Fine @Creality CR10SE 0.4.json | 118 +++++++++++++ .../0.12mm Fine @Creality CR10SE 0.6.json | 118 +++++++++++++ .../0.12mm Fine @Creality CR10SE 0.8.json | 118 +++++++++++++ .../0.12mm Fine @Creality Ender3V3KE.json | 13 +- .../0.12mm Fine @Creality Ender3V3SE 0.2.json | 16 +- .../0.12mm Fine @Creality Ender3V3SE 0.6.json | 16 +- .../0.12mm Fine @Creality Ender3V3SE 0.8.json | 16 +- .../0.16mm Optimal @Creality CR10SE 0.2.json | 118 +++++++++++++ .../0.16mm Optimal @Creality CR10SE 0.4.json | 118 +++++++++++++ .../0.16mm Optimal @Creality CR10SE 0.6.json | 118 +++++++++++++ .../0.16mm Optimal @Creality CR10SE 0.8.json | 118 +++++++++++++ ...mm Optimal @Creality Ender3S1Plus 0.2.json | 16 +- ...mm Optimal @Creality Ender3S1Plus 0.4.json | 2 +- ...mm Optimal @Creality Ender3S1Plus 0.6.json | 16 +- ...mm Optimal @Creality Ender3S1Plus 0.8.json | 16 +- .../0.16mm Optimal @Creality Ender3V3KE.json | 15 +- ...16mm Optimal @Creality Ender3V3SE 0.2.json | 16 +- ...16mm Optimal @Creality Ender3V3SE 0.6.json | 16 +- ...16mm Optimal @Creality Ender3V3SE 0.8.json | 16 +- .../0.20mm Standard @Creality CR10SE 0.2.json | 158 +++++++++++++----- .../0.20mm Standard @Creality CR10SE 0.4.json | 158 +++++++++++++----- .../0.20mm Standard @Creality CR10SE 0.6.json | 158 +++++++++++++----- .../0.20mm Standard @Creality CR10SE 0.8.json | 158 +++++++++++++----- ...m Standard @Creality Ender3S1Plus 0.2.json | 16 +- ...m Standard @Creality Ender3S1Plus 0.6.json | 16 +- ...m Standard @Creality Ender3S1Plus 0.8.json | 16 +- .../0.20mm Standard @Creality Ender3V3KE.json | 16 +- ...0mm Standard @Creality Ender3V3SE 0.2.json | 16 +- ...0mm Standard @Creality Ender3V3SE 0.6.json | 16 +- ...0mm Standard @Creality Ender3V3SE 0.8.json | 16 +- .../0.24mm Draft @Creality CR10SE 0.2.json | 118 +++++++++++++ .../0.24mm Draft @Creality CR10SE 0.4.json | 118 +++++++++++++ .../0.24mm Draft @Creality CR10SE 0.6.json | 118 +++++++++++++ .../0.24mm Draft @Creality CR10SE 0.8.json | 118 +++++++++++++ ...24mm Draft @Creality Ender3S1Plus 0.2.json | 16 +- ...24mm Draft @Creality Ender3S1Plus 0.6.json | 16 +- ...24mm Draft @Creality Ender3S1Plus 0.8.json | 16 +- .../0.24mm Draft @Creality Ender3V3KE.json | 15 +- ...0.24mm Draft @Creality Ender3V3SE 0.2.json | 16 +- ...0.24mm Draft @Creality Ender3V3SE 0.6.json | 16 +- ...0.24mm Draft @Creality Ender3V3SE 0.8.json | 16 +- ...0.08mm Extra Fine @FlyingBear Reborn3.json | 2 +- 55 files changed, 2241 insertions(+), 479 deletions(-) create mode 100644 resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.2.json create mode 100644 resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.4.json create mode 100644 resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.6.json create mode 100644 resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.8.json create mode 100644 resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json create mode 100644 resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json create mode 100644 resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json create mode 100644 resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json create mode 100644 resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.2.json create mode 100644 resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.4.json create mode 100644 resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.6.json create mode 100644 resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.8.json diff --git a/resources/profiles/Creality.json b/resources/profiles/Creality.json index 277f57e6417..a3e7f60d0ba 100644 --- a/resources/profiles/Creality.json +++ b/resources/profiles/Creality.json @@ -278,6 +278,22 @@ "name": "0.12mm Fine @Creality CR10Max", "sub_path": "process/0.12mm Fine @Creality CR10Max.json" }, + { + "name": "0.12mm Fine @Creality CR10SE 0.2", + "sub_path": "process/0.12mm Fine @Creality CR10SE 0.2.json" + }, + { + "name": "0.12mm Fine @Creality CR10SE 0.4", + "sub_path": "process/0.12mm Fine @Creality CR10SE 0.4.json" + }, + { + "name": "0.12mm Fine @Creality CR10SE 0.6", + "sub_path": "process/0.12mm Fine @Creality CR10SE 0.6.json" + }, + { + "name": "0.12mm Fine @Creality CR10SE 0.8", + "sub_path": "process/0.12mm Fine @Creality CR10SE 0.8.json" + }, { "name": "0.12mm Detail @Creality CR-6 0.2", "sub_path": "process/0.12mm Detail @Creality CR-6 0.2.json" @@ -358,6 +374,22 @@ "name": "0.15mm Optimal @Creality CR10Max", "sub_path": "process/0.15mm Optimal @Creality CR10Max.json" }, + { + "name": "0.16mm Optimal @Creality CR10SE 0.2", + "sub_path": "process/0.16mm Optimal @Creality CR10SE 0.2.json" + }, + { + "name": "0.16mm Optimal @Creality CR10SE 0.4", + "sub_path": "process/0.16mm Optimal @Creality CR10SE 0.4.json" + }, + { + "name": "0.16mm Optimal @Creality CR10SE 0.6", + "sub_path": "process/0.16mm Optimal @Creality CR10SE 0.6.json" + }, + { + "name": "0.16mm Optimal @Creality CR10SE 0.8", + "sub_path": "process/0.16mm Optimal @Creality CR10SE 0.8.json" + }, { "name": "0.15mm Optimal @Creality Ender3V2", "sub_path": "process/0.15mm Optimal @Creality Ender3V2.json" @@ -670,6 +702,22 @@ "name": "0.24mm Draft @Creality CR10Max", "sub_path": "process/0.24mm Draft @Creality CR10Max.json" }, + { + "name": "0.24mm Draft @Creality CR10SE 0.2", + "sub_path": "process/0.24mm Draft @Creality CR10SE 0.2.json" + }, + { + "name": "0.24mm Draft @Creality CR10SE 0.4", + "sub_path": "process/0.24mm Draft @Creality CR10SE 0.4.json" + }, + { + "name": "0.24mm Draft @Creality CR10SE 0.6", + "sub_path": "process/0.24mm Draft @Creality CR10SE 0.6.json" + }, + { + "name": "0.24mm Draft @Creality CR10SE 0.8", + "sub_path": "process/0.24mm Draft @Creality CR10SE 0.8.json" + }, { "name": "0.24mm Draft @Creality CR-6 0.4", "sub_path": "process/0.24mm Draft @Creality CR-6 0.4.json" diff --git a/resources/profiles/Creality/creality_cr10se_buildplate_model.stl b/resources/profiles/Creality/creality_cr10se_buildplate_model.stl index cf612c3388635e378da7f6a03d867701f65161d1..5ea81d6e08c09f26f70f28617c7257ef5eeb17a9 100644 GIT binary patch literal 455184 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

    W_?V$JG9Me6=o4rGs z(+E&PtjX+2z2WZiFWx>_e}6=UmUq-BUJ>mhL<{OU(NnqW?P6)Ao?d%kaQ&cmy7Nw7 zs(pG_Wls}82^|NrE_#Z}QZGJ3$VUhjO6Vj0aruEkpU&-cowjCY4M>9i-?db-7D_zi zIgZc6$;Gz9*p=u*ogBSb7ZIYV02r;Yo#PA3^OxWV`;8 znbBFJ{*3Qmh&05uRSq5;onX4irdBow956|7>b`kY4kJl z^R1g}QL!||uEeoY`~5y5JfQr;puz6{^ybdAk|tv<Yy*$5(|GWofTDF#u~boTAPg$_6M~ju@%ZoWo%v4qMo^1r_D&_#Z$sd z-f3nnjFL#1Mj2=~A0c;gsSqvl(BGsMuhDMIQCnw5kB(!Vd=F;UEbW+DENaKp8E@J$ zSUS7P$q4YdpvnKfR5)%Is@!^Id_~tiJwnV&*c)tmcuIWdc*$3UkvF8V<+yC%zb&oQ zq@4@O&wJ-!ebJHrJJo0(X`AfxVyBVdc?tg8( ze6RV=^0Q7J5N>^>I$H4rTd}RNZqr3vMyvY>^Z`;K+Ly}pgZ>E{7?nN(Wk0D$Rdn-D zJIrXg)@E(7h>t*FFuL zkss!KvocX}aM)_!oi%4SiG>)W80{F-=1JV4^HN<}%ufA&+Jzx`{i)N#k{_z=bMhWl73ryKtD}`Cmn23%Sdp$wS4Vw^a7|`h0tl=Nseb#yoJMnT zNuvFlinMtTGHe)rKdN{6`Inp#B2~SJdC)Tt4+(y|z{G2-)P-@)6E6QJ;wqN<8Y1f%^?yif|Zq*Ifc1>UP=oDKX)vHH( z#Yt1*2Rv9O(X5hkyIGkCWGzEtsYAB|(^AgmXP(`uy5XI5MwIXW?O9$Qg?>hh_z1j% z2#hh(+>KtTrQ(h@8LQKESr5oZ;NCHzB7}_R2thv{`Qe-l>y92(rzcY3dm=U=N)LyT9nf_WZw_Hp`;kx|X?M-SCVHGI42^}BLh zVNJymNagczn(*9NY(m<~XaFtZ=*cf=MWiZfD~<7rafN-mQl)Ay-7xA`^V*vOJP52&{`m;H zg9yKmdZhZ|;En#R^@0N{ygtLNOw@+`8&^kzkJ*_$c{t0*%RZQKPX4nhlDEXN)OL=8 z8j4ONA+`b^f$}01qW$b6Q9`|!L`m*ClaCOpVhHXBFIjt0(4}2#{g0C?Jk3#C-&Tll zYnHx65iOe2-=sI^#Bm8)+EQlc=k(Nqo{Y+VQ8^V>uID`^^UiCdG2@E2`Ruk`^MLbS z?M_g#5Al$*U-P9xN#r?Bu2e2l(;YdVR>~y1AY>OS@u6SRJ6}>}dPF5F+q*^}6`d$3 z=T4ej(y)E_X`9BWY1Oe1=av+GGRMKWsFfz`4>_HXPBE4;^@BbS%7s=9^N&yoLL?Cc zpNCxN97wt&dSIC~|6d5A65b@CQrj;4y}a|@*O?MaC6Wjav@T2azYs*_>(OPbIkWco zMNa-DMtNh7j}?9}T^nQ|hPrAKA?a}h!%k?14lKQ%k};DjqIpT1kCMf?tLEbC{n z0-vAB;}RE%B(G>l<=hs`x#YCP?ZWOCH%#60UPZXG#gzDt3ux`-aBpmg?M5_UK7)^0 z7#}^lUSdd-6`_<*`}(|aWYdT3bt)G}AeEG8ZE%6ZVkVVD1xq3KT(QH)4)HpMh>rKrXDe2)OaQ%YHse4-4l~h?(^)<&G zBDiw|ciGstYqWX0CPi3zE>E74JrlMJXQ3&zdH0?*C6kZT%Q_w%-rb(}$$UNegf#M4 zK4E6Ga`(E4?!)Qy3q+t)NQG$8gZ?IU|F`dqKXezpKd2P>e9-RoY?-c0neNHYoF|ig zW5C}t;dWCkO)GWB53O{kuac?0XI6yx1RS4jyS+w)aKEIc6M9N^qdB=!?(7|<=z5DT ze7&%BX{Uo{-OO8pyaNJx9Qo@V@z%$(=Ewsr;^@g%x%NT3bsx?(`FrkicZJc8M%rhG z`|p(M65Cf_y4Tdy>1$%%&H;%SlHIozyaySIwnT+K@DZ@bE5v#c?IU0ZoySA=_~i1l zyW5U6`{6>fA1*)*F)Gm_O2OX25bMPlL!Fd5_^RK7j&Iba&eatjLUuioRERd`$d3O# z_~AdbsZU}RAyN%!Tb3BPq-;6uXYmov>q$*#UfsT&eM_f{z55$SpV2Qq?gQ~TAi~Y( z)Jya~slKh(+f$U?hny4bq1)Z&w~__pG4V#7<#!_7Ub3D854{Wh0gEkGmhdRv+E1 zz3tWBkJnGU{8$6~{f8l!)K662Ti=%DI?eQyLWEG!9i)=$JR%$1xm%F_Zb;Z}wRt+) zbyhU{M?R$&B|!=EZ6)@>-0s`TVUpUNxoff#SQODpb?Uq|xN72vaQegtj=>$Dw5wF! zF>*T{Y1}?+*%vh@JkwNva_%W1%DX7zgL|IpV@Da{C#BN+Z4I_vGs4Ce*5%6PJ$i57 zE57sN_E!4uN;ou0#XlbZpd=`vKavrQX;C58g__^rzJ6lFgAGjPb36#=Bao`y*=31u zm+Y279P{y%U|4Op@TPu;dArpyD$)N=CTi!@JB!b;5BELjFiDNA2+_q68+P29Ie{X7 zTq5HY$AP38cgr2|3-{x^grgUqN3RFk>4AM3rIPPfXlxVCRka zM^Co$sa&t-BmUUAru_Fk8iog-Geo28C?RGHr4WI#BNd{3spxE~6(`XOz3+331rHIr zoy)aeTcPW>e@!EU-1dQpo*$MbKL3oVXwPlo^F^`cV7=HjMJjIR*ov@iqYZrozA+*Z zLp>a#eFTo~kP6X00;NKJh!zC>HD?ureI7I42l#5^|FRX@1T9_Ex?b#J^i4l>PW*{$ zX-@6`lA6W_>u1>0jn$;dv*W$r;xeL@8nt6=(DKB;hga7BFnIaRnb{E%Mxq&gL`SZq zw&LC^B5p~IW1r3CQ{#-Fi z2`WN1z@^g=il^y}{~lX!nNS8(=S?6j)cgSc+w}&G*NYDdTnhXYR1J5^ag9 z(ZsUE@RxS8K9K7iiG{3-7R53noF++4V*@?~%GZO&L2}*EQ|xx!Z&p@wD)TOHrO+bz z2%&PPh4MO6VIFSo?7z3`GI-AOTJ6TW_)hh%-YY_RQ4fE#71El#oXGXy}3mS$OM?RwKqx6LYyVUEKyj6dB$)P&!MgTEert5UlLtzBn$wly6X*7m=`K77Bi!oBWi~!tdz#jn& z`?@@6KD$BK?)X!^lPNa9X%sjzP-<+)AA+uDoE#oKW_hsiDKkHRo8qdUS*NawdOXTy zKdx9JmI}uuD52kf_z2g_AlgS82~5}I$g-Ec~9=DY(#b#}~K zXFvqjWX|#W{gq(D)#rqBUwFV9Eg@B|&qb4@CQpfP@vTPZ+1w0=?E~9H@tlbDBAP~I z?)0Rl{XPrM+-q=HvuSyNo_zh^>rS$wj{ z?eU`hUUHqSJF)-9^8GcxX@Pg-$rw?|b*jm%?*c-o==m8^$#v#&!+Fj0WhH}cPJGpz zhx?qF_ft+3TVYvpqSz~`(LQeVoJSd$+Z_U}i2W{FU8w0VeJR%U6NpCMhU1JcYSs*D z6Tb6#Z@ZEz&jgn|Gb?)I`9I^MdL7_d!RJA;%NPgs@Oiv{)N`qs3&({M)(&`ytSCHi ze+lyQd5|7_s+(^gBuIs5bK2LQ@7COS z!U5qIFZH#yl4qu<6Gn_ulP7)~JYP{7-Z8P4d9TQQg$=VaN!#w4W3Oc`*@s1i00HLP~ucS;liptMSs%zg1$mJpDTq$+c`l*@moLvLR z^3Fv#smy#Q+NU>5g%bJ*q(YsLpN}x3iAYu>kjnJb5ueJ1^ke}uUykH?jhVM)WzV&h z;F9|G(%Dg29hUw5|IUs!pF^VzvzH&xLQQ|o8KzsO*^|;Ay6cs2P4nsYq;x8O{q6MZ zbsu3?3bOKIy~xi;pdKh8qJ0Ef6t&GoxG4GYlshu#6W5xvu((Y7eW+~y8Y{T<#H5Y( zuOGatD1uMAbqJDtZjlw;rJQlqBTU9jncpgpmYh!k(XTCqz`>m>I!l`tf*T@Rl%Df|xwOh>Ejd{eZ zg{%&?_?OIf(NP>84jc-!)vfVU%YplnTcy!h`MQB&mgZu?)7-ge{E7wbks0wg&ZX z+LlT$Kh~VaUifR)=vk^cX)T+}!|_88)>_&^2&BR?BdB)z*>%xuJ2&%>Y#H;I*;&(V zH@)G__fp6FrV?ITTXCDT4U zv{18jv%0w5Uh*S99wFwJ>wuZi{>LpDxq@aST@dCDvUmq3Z=D_ zS)8kjC6S%obX_vW{{_K$#br3ro!iIsNY-@GJ}9B1&xu{gCHXvDl#skKQ>3zFIHw@o_K1)Aqn;mrjWA03PpiV5maB_NJBo@{q zuYGtufU|;&E9QlErxC080R1HLFoH(Kl3yRYtU8kCMu=AG#1?z#jh z6@od95^=f2YvWWByzEmhLN^);j)`#OOJRugxD0oJz*?;lS_Tc!JH>K|0;m@{lB!g)7 zoM_|Z^&{L}XFUpKI7Dz%vQ8O9(Okk`j9F?uh%GAVA>K zG@hD^+M*3bXSM*<%Y9TVO=q!|ze$mi8&|cbJ{{cO=l7b<2l_m|9aJ6dy9e)ELw-IF zoJY~zNuHnLoXSJkT*8{;h%Dc_f=a?T(Wi3pM*ev4+%9_UuT8_dANa|eOg!N)yYs#L}pTzkbDbVm`!O>TUGN zA}@9wkMv<11NC&5@Xd{TnA0iUa}~5t@m1&Cdh>N!nl^hK7w)AyonKP(+D!xXsCTQQ zuX~mx_WV~OJ^$P4=%S-a64RrK^Z~C{oA0s6yWv-CZXB+!uB!Q}j{i0}QejQ`9z;pF z%q_}kj_;r2JFfVyHogbzzkiPJnd6(@D4|ln*6ps%f7bib%g~Ho%GAr?Si-dXB5#wU zwmuI;pd|P%x{o-zYx`79%l*rHjK9`{2nmx0G${&4cz71$sqbRPr{Ig|vz?6TK z5Bcuo@FOEhlg=fH?YCFhb5XV(S(2E4XKq|MO>ib$8&VvzPJZt4c@*;j#xZg5+d0lZ z#6G#1LF7u>j3ZP|s+hf=iQ{ahVqR32Ai6J{9ew?+^9LgQUX2l~t)QJ$l&Os#Sx)W_ zO5&sac21{X6!L*@t6PtGHdQm=fMwI(9Op%1qYdoMnxPfx`!eMxPoXm)c4b|OO02y`uS?sgSikN$0G)j$d(r02sKMai2NSM zM|%iOGl(%a|72SymE$A6wPn;PA0a0Px-)WEDyR8~8&x>-y*E>X-sr9AY${qYr3{BH z*l)F+Q(Xv~9>^W}VJuigwpYVkf>DVz`3R)KdVR!xdnJQM zn?G>eBkxQ!d!4HzI=`Ya9rtn~TETqH<6Qa>DXed@(M zudw!VdkT2Bi0n1N9kf0I?>KZU?XJ`A1nkvNTeN~N6(Z2ONQG$eHv1kW!95JVR1TBW zZYQZPJEE0pvfsbThknpO|F}bk?af^8trwJZ}QTclZ&6^>t=sTpH8WV#$9Wz z>$sa|=Gi^Tv9#k&nfl-VnH;=%!4t<-t(>Sa8ZdKWR5~pvn_~Zp5*C-rarY%b36*NO z$8KTY9usRe{C$X*+wmNZ&42PqK{Vg-BN2U$9>l2h^zf`}R*NED{aBh#A3YQ-G*+5Vco=%4`jFD z$TcUYdQ9FgT=YxA(*xTCeKnZg1t7bbw=)MFmU`xZcHz>h7`>O8y@Rr&MUV{Od^4La!PGi`TDiVx76=4%e%51g^!__M>$)lutKCB_F8X|#gbTl-aQ z&6yV+tUF#C3$b4Dzw8~AU2kTGS+5r1+*6MzKmMXY;j+!u(F09O?5Y9sK;B9<`~INK(npLy?g7!J#|#NZ ze%w~qwhg>5bgw>WMs(9H%+Kd>eB1Ki^T*qUwHvg~)m(TWZ*v;^S@m?w5g!Dbs&yDY zaC)?^7uSnpQT!sf_?-SGHD(`|2hGKzFob(&tK`KQ1QsGD# zB|!;)Dpf`OF4r`GP_M5&f*wU%LXI-=c@>2?DUKnv0 zCD_uO-nnB2lpXmMM<5l(TX6(Z`BCC9bVj_3B^=fGh^oKuQ+`^jL&9&(*HvcEF<&?8 z)WCk{1wDwK6%ITfbn~VBxdG3LsONM)UT2V51I-|KPVTQcIC`=!&NB+}%iAa8MLUi~ z&^I2B5UDUKeT12L1!k^xoSCa>%zYRc7%@H%_e7!AdrpB?5QJN^6e||iJZ7xx&2b=e z;(P})cyR<$p?)G2{Y`o~5$%R?>?1JZ5P@;bbqmh<9OwNm#>D3wg@npQh~4Nqm&sOt z9rkkS=06&STTJgvXST~uS?sBErLvNlyv{tRE~7)*`GZ$dGd$8tt@`rE)YZRjNcG+l z(^wbU2YK5WOUlexmYErgHzLDvB91uCsa$h@N{v{uA=T*Pn77V=^&&r#UVcejVad}& zR)>|swG3(ZKoIVl~+a2QuOzQW8$HRrED z%KC+P%|%bG%~$ydnr9G|*k{)W$!bW2Xe*WFL?yZ-aV6zke!E7XR9wy(>Dv{r%qo|C zex6y&%KC=qQN)FR{0#+KFQGelHW{6zD7ztu)^CHThe+adVyS%V7NT;9blUQ;?T<=y zCm)fvddTw~qN5-4adEZOi$38&t=W3D(}o)+uzuo*5Bqhag$+oCnc z+Pxq4I-lGU%W3Dtoe@iI``~igmba~>J{4AA zB~o_Rb9qqwNIO6(j5ntPm7Kgw(++{<+%{Mkk+$euJ(w5SN>-p6M;o)YLK_mL{LI(u zz@kWn5(+i_P2#hHH0~C1Eh?7w5mYa?oLIW$i)y*-5F$k8c|sP!{&4ly;*KQX?b=5! z!jE>>nsX7vJtLJ@uS0O`iZ15u8n-vfo@XjgHhe_lqJ#9h$~;JqHRzU_xv2?qm}Aw*5KNmGdgwmaq$qjcN{h)zE53}$z0(f})3*;#Z8fV= zc=jjCjyj1R^p`!z*^)<=l5sE-34%3u8pc2pjC_~jauG;{d^K+tW6FkabZ#o|N2qz&TV%(o+GfFO%WC@os{%?qw%`uXX&G{uyT^8Q{-Xkf} z9ewM{%8Lc@ptY49g=b<3+I%h#he_s*UL@B#{W5xJLAg6TMiGAQIwM#j`j@_MKqLLj z%8y9nmp$;*bg4aQEsS+J527AIPmxY#%;64gcthVMn2gUeQc+7q2@6R@$Rt>_*6SG@ zzuIhkFb`ZKY48NEE%sXzPrvXum#_JW&U<}&x3|mhsNK7~{+#PHjz7^>D4|jho%MG4 z-bWlz-f1R(JwmLDUy{I@to)t_FC2@2W9vG*b03w@!}U>l?Hsa?k2YVl zTGuvgHF0IlpU)=DN}Bu90{SCYDrc))sWR;YtV=oZ#t{dF-|s9-{cu`Eh@QecpUcB( z?|AtAhqJEByM*#)MUdNlv{F|asrnkJ>YiTVeS-%jEGiYW39eVx1E|N5o=9}CQiT*h zxv@ksR%%j*e@5cJTV&qaJrfU_>4=#&CK+RepmT#2+&zeR+(J`gIb$x?c`UD}=VKek88 zyJ#zCQOpL|!*Ppp)^)b>sT{uy56g+TIUZ~)v8Y32cz6i0C{np{rhODZpdP4sE<$3L zdM~snmBrE|z5LkcVqF)IU&~UPs;3|Lp^X5rBrpv*};*weS6&DzhC7cP+LShy^TLm+w@z1e>>As zd3~l}A7xvuumJ@ojv5V@nJX%`~t*EpcDsQYoWOG|Z;;b%Lg zP8m=cto~%xaXZhLsBun)^&)S_LHr>+T#L%(;V|q$UiposomAWg<*5VF7tdEr#j*SU zg1}rt`D$V1l;F_Gi;mmxo{1X$j8@3i+;36Bow8b{P2_lxY$VzfRX&1k#n)Yr!>E1g zx|Ips+kn1NYRl}w;naKfw0t(#Oo@N8$i6!ry7J-akB*rdFFBE}yHPk>Iaez2jq@hw zcF`g~C$j9hx#XLtT7+%(+CQ~o!Aarzhd4&RelU^7c8+meJSQRoYf@@j`KWN+nsq6X z&1tJboNc@7q&XrS)!}KRa@Uo$sUL}$&*eNJ@V`ME_T0`C{WoSqcTaQFHaD)a*0mWf z6D1+E56paqN8xn_TwB2ME_@Da$gvzAEE8*w@?wAG`y)5nrJr#2!B$(#*0uid7C2_actAQ!c!UyEZ?zopyA;($KC*Y2~R3J=ah(}QHHr|=LUu1%1Wit&q#%6 zrW8)%TiTuA?8dzs+bYwdY}+6dQAs|}MUek_&qQuti|tP8MYPC6f6W)6p{?OQ0MscT zA@gtr)1X=mYc(uH3UU!pX_&$CA5VXvR{^R(##H56ert zx@sX)bA}VUDYbF--@*;Q%uBVsFy=kYDBR=ZWNL_Z|9KShW@+*@_wzX+q`wkci?lp4 znu8vggJUKWhC}~KwRz#G)J-p+XuiqnvM9!Jp-~3s-I4Eciy}W`X221SNR{8?AOdS* z`32`}g0koOBe#!|o`uljHCHChpI)*vb!&$usnx4b3{gY$AX>z{r#khv)Dw5MN=2_; z7NUkYlG!%5I(o@`4Q|A@6p1*}M{RM;fHf&~Kx$`dxjTQg@BMMX9h~5vh^}Yu*dUuGZx95Z+21HU1#|P1E|p#pc5ES;`gKlL4T9B)k>yzJzRlk zFW`@u*XGF|Y%Au#?T^aNQ;fj2f(W8ze_&nCR*Yr@wJ82E0_~34q7{nIQn5{7yAdAr zH<_2!B-=S@K`Lu6cgN4|sFUzudlg3HYtC8|mJle3#2D5@bj1-8;SM2syg98?dDqt` zd+i(}(eF7iw~uUE8Gk>{qZiC}nCD3<`6a!~0FrpKd!eSkNo_`8*_9j0D?B3e*8@C+ zjn_>4c=dt}(}G}op(IkK@eX(}2jT9Z&s~O-(Gu}t9vFRSQ5>UK>by26V>r<%R}bIk zg{T~Y#wF3f-%@`&d`+s}$_n#!Q0Kvy-<%p>zJ<<6$zKET+d1>#(Gr(=X2DUJGxqV~ z3P)#{!AW!au`bTK`8ZPtcFO+StlL?D$b$8r$TtI4w)nIZYPUFs)Jgz#2t;VF=;syc}T zA@%0*%blF6t?y?imGe0xur9GK*~gX( zS=XBnA{Esnvpy>hNu;Ud?1Rycy@6|kxqYoq<@CsncIUNN+VR73E)T5BA(nb*(S!c_ z{UD;9)pJ{Io<&Xc(FhRjX6w#I7u_K%$}=x{&LuSwTB-Suw+PpTOH;4DcWl`IZF8>k z=PJ>x(wxM$XLWRQ=Q@eL&nMEa?^Yds)s>$W6A$?%Ap>yVml^dzPIT5K6lYPPa<*c$ ztc$z)sU-4JEES3|)`KzJ2GOFfjB)IwVuX{#r$V$yMSpRexYRyfGBwzhB3BbciS-HI zacw>gwsHu|L*xEt7nPi;-4wZS`&+Nd4oznRTp&|rliCo0Wfgh%Vy|<-q z?cB#3GhnZV;|HGyQjs^!U7I=EEUAqDc(XlKC+#7^?WyW$`*1$BYW%Y5=(#am-ug&& zwBiXl&B|etVcRFGqo#}UsV;h^+MaSm{R+{uzo|qv!JXu?H$T@_K7#FIcBq3zsVr!! znSPvo997!x3onFbdj2=5moBW1M!v^-P@bo+PLu3KHP?6t5oi&g2i`%%&Blg}?=N6o z@AN%HjJu^e>apG-SZm^DcLH(N52y9Y711ZXJM^Z7yj_7c5vBZ+`ri4~ zQPmpej*_5+MD0B2B#BvmnVbl`xpp7HUSpkD4_`l#$nx@}LP^lG9s;V@KQ!7M?dGJ~6#}V{x5#6q3sDb@V{G$20=30B z#+rOYF-csm%+Ukv!*g=ZkC}+c*id+I#G{6V`7wPm>qkVma(-Opv?%nTEu#l(ZS6h+ z+nte&@-FDd2$GFaH%1fUqAh+6h%&fb&uVVDIoUIkWF&M}03H_M?!>$ZcQwVbRzTR@)J80h9 zHtV9iM!KtZPV#ae#d>f~thIAd_6O^c%vy{P=yNV-cD-2t=V%@l`_jfUtKAnkM01W3 zXWf{2-@R0Jd~#e_{|i0;-}z_UjG97}gs%5EVW+(=Tv#gf ztt-=*5wmEkC+`RbZFnMh<6oo98`9PB%4BI`!rWN;)!M4~?2Ahit%mg)c36&tclyc8>hy%HK%o$+HmPY^R3RiXoOT7 z%5_sq+D8Z#-9ak3&a2L<*Wbz~Oj=Ohxy5Ata&>ilL2v4j=^ajIg5)ObwR5J1Rs!BNd`WD%Kt)!C1l=v+`#n*xf0XeR5}agb>XgI=9s>*?M8n z^sdpt>@oig@9$F;FaMtHj#l`;cyKAaqsV3Q2YFL8XMLRJcEu}`i5vpoUgl^Q*{Lpv zjzQVYadw5s<{`9Os(h3i@t{~_R+DERl9*oIHAeEGfw^CLAogW-IzNOwY zPx-FsSmVk^#9MK!nWoO`dO_W7W!>AKmHixQHJGXv)gjtoKPB3K8)kQIf>SrpOf zG|~A8=D|_IXg^{IA-^Q{eGpf%H1u$3p{Bpw4|2V{;*s&WhgPasT%kq9AJjj3JnS=<)?D%En^hSRyjX5~WLmM6`k(cViua_Y|M)1F8RSoKG)N)Sz z_T~9`-b27sGT-NJ)krkY@X&5$%U@42Qf8jFQ5!TKOc@VatKnDJP^Vq!k*zD{?Z75~ zxV63$f0!Pevd3pZ=*Y&VQ*Yf74LNqkIqDM&h1WKjKo^Iel4w_ zI0EhC$}y{NG8^;m4%cgV+7TID=kosz5d*0Rv1Hw6!GB6d>k;$5D93&qtxz>(R-D#= z$Rb%itYqQ?Y6ns_(s-j~ACWtbmhm(U3FiG!@%LYC_M^BlWdNQ&PjV7>H%hjBtkgzUFxXiOV zE{he2t~f%dTumHT7GEY~N3wGmjZu?;AifJpo500-G;XLSPALMO%wJSRY zuO8D(fBN3ZAx8D{m(Pm#Tf<-4cwp1a_~i}i7KnDIc`f!h@QkI_SZMpJ%gY;n|48uq z#g}?Ku->YQS@8yq>n0YwLZk48|G2We$4gE0=f9pB(zlRjn>+2xD$+=WXwsN|>_wTS zK6Cd*FJf||gfTho1D+e;(l`qC7(LbXVF$8rp})Pb8wh zUiY^}z9N8e*3aYj&F(T)bj8J#NAYA@&B?Rxm0}w4Z!( z`Nb_iD8KB~>q5MPb3?32bfCZNbM{Bf^LcU2-I`TqX3A@Q9@^&th_Kz+^)n;#n3s<| zgeLA7C6c3D98;9s)GQ3n_^Xk=^0ru5nXHWSw=!yB<<700;2eiFhxU=ze`G9Tcv*Co7DXpzd-9HfGgKDWEf z&Ri>%>AA_$MyfxzM!}OyUI{v#a)x*6DcTCXsZ{$ruPPt^c1>`z9&3BfmAluqJCrdK zVUOx$qPRl4V&lSX_JQ%PANh`+BGGBiR3b@H9=4AX z*-A`lQ z616p%DN30#YN0mBK5??w=Gjg3qnhcLk3jplGWq7Ik$hDQz!_~Dk?RfA=Hlul(sO9JH*g^#MT|!NN zIhROXh;aJ3ktKW4QF;Eb<94Y@c;q9TPN)a@BYpAQnzBb!7+pWioFhClep1W2i5^uI zHZmk@Qhsq=XhLU4{k z9ylT|guu3)FI7eltBpv72$ssTf}y?YnmfzGA4~MmgU>c6TKm?O*<_&^Byr#<5lLJo zLLMv?QPVGJz9#6tYJ=kk>=T)m|D`XcyYFVqTRby5^kHgu{ukhU1X8{K--aq0 zY|^&o#=9Ep)0dncwmfrYeDj|?i*L4kMtn#Up2ed@d>$RT&58z_FE8dwg8T%**+;S( zt%ZH|&J3IF9(gTcO}s~cRKml?1xkvJBKERPW5 z3iZGU^%1BcBCsYwuysjW$qZ69NXUt~9&}lTM|y-Ngv+iRC0Ra@)%;N(@#Fs7@vxd} z=YyD6ud{S+Bw~K0GUnaFu}f59cZq!I&jl?ySgAssFX76K*p1tV`4UYaU!uVt5_?XJ zP~pL?3a#kM*gl+f8R2Z=Qz6>SifTIr6{FjQqejLwN`hIUkW_j8fL80T4x9IDH-B6H z;eXqP6{8XwHOG1}LPc}7E?Che)-m7awp)c)t0H5=FI);gDa!Xtz1S z*$T5y3}%o{Cbq7Nc3eU5N6SjRuw#Dt)F%!KH|>`2dIOZIsOA{$FsJe*baGMl!S+Gr z%%~VzEk#M$HC3r;HO=*a%ld@q=j+dy6@A{5@_9Pl^@v%~UYTA(cyMMwTe&jNcO+L9 zM>uaHf;@=*M=lkwQZOR3V)1`Mpa+?UlPq37EBhTa>|YCM&eEZ_*ovIhYpqmS9uT7_ zJ8GVT@V;J$z9}SCGBUI7UchI0X6p+#}A{U$6Q+AauVr)$zW66o+m@cw@upUbJg{Emhkl}( zIYOu;by1H@Wm)%=>)c1(a9%TgSqbllGv9QM)7MqVCQ_!^otaI>pMRFGQ_b@8vri$N zml!jC*F2>Q#m;`V{FJ06{}el)(yeAC-%kA9Xi`NMqE zJ5FE1mG)6Qu7n>+<#^=!Lq>N*#ce(fQOTpeLLT&GC$y}?o971mEUa0$y@TG_DP~8= z@-RhReaL9rHSp= z^-rS}%(tCBUXr^0>&9B$8TT|FwntSoH}efY)Jdr^>8_goYjxZNj|avs@)I5CFXoc` z_8}2!zWn~z$0_q)kl5z?&U_SCjq7=b>(eh{T)jp<+dIV;A1N519-V;3YrM9k=M=Fz+Bs$2T& zvm4L!+8~a1usteu{BJ)6=D$?O4KZ!*WWPm+v4r}W3^zL+^xd~nIQ{dO#ydFP!J5o> zai9D&xb%$ubz)M-5TgO3#FwhU>rV#1{j*WHyDyV^FWw?rMrSkvG&}o8PYd3->|nj{o1;Cca8D8Lrn8RA{FC&2kQ=-5#LOS>VvM3B zD4|jVk7=ww-guIpRp+V{dJXO7+bTE1$Gokuc*5`^V3s7`xcR`3Sr-U|Lng?@;VwWgA*5TGY>| z9uJEUTVW1HyO~qDPMsQ5-PBND@S(rE4WkdE(&M3BT}$omaoJ_z`0-d&P&mgiyHK({ z1Nw&jkwt*!{?i4=yO0NQCY-T?ttk_4CSQ$MJSu3trk}o{VT-WA#k1n?e!~64`n5CT zKmJ^rX!%*+^sY5$9>@Gd=XPr=k;F)m>2YE?Qi4g_>iVH(A2&Xf8Zs5i6n(oaPySWc7DctSz=ju?Xqmw_5bz zuB@B1e29l2TwF0fLHo8UEL9AmGRK479j9$Bk5?K!6U>``oIYuSA6FPlm{FB_<-WSQ z(-kkJst@R^%^WA9nIiQQW?mD?Y754KIsIbW%3#Ut5qd$doJQg*ypuI4;*Enbx{v&H^mW1<&QE%E{b6n87vjI6+hcK`dmaI zop|T+`X6Ql%TF7sXLsL_!W@P6LAwbLZdI;*_>wq&F4}j6;3#n|Dzo}w+aOvO?IYI< z=Mu>Pxps3Nq|7GTI4YFH`QNOOWoZfHuN2{U2lJ!Z!@~PAG+{6jrJUK95trRCL`Og0 zR)e7rAoJ6AmWJiAa z2+1-?MP)%-L^f6&6|e7#*K!erqMv_~4xX##5SewjqC7;B|5pT#OEWxd+>%^a7nNBL zM5NP1=UZ1+0SSR?8H{FxLpcw+dSzW)_$f91wMoIP<(KNVW3TXXyLon(ZAE^*nmlx$ z@agxP>FOqX=oXjEj(T5IH}U$3JyPRtnH@bdscvG)KOaer*>g^`xC8C?Nv235`C;B= zsW|U0g-9$k7G)p!RA{$s{nm?xG^eM11rgRKZeK9+!1m~*+Ep&`(OIc14<{AQ2h5r! z>`4{`{Y`4TLub~QJ&|_jGS(yrmJ05`IH)#sHPu=RasBi!B9O|JDN~>P-e;+EhnDDf zXK6j<^x0AO;dK+{t(2P2U#yOL-NR*!g{)MTo3p!8STFJx1pQ6g{mrbcFS|oHJuJfZ z=iDa#H-dAbs|)>%XnG#SKSns&eJWQINtM}WsR=2qi24k(DsSGY<}ssO=l*Kg_!T*(kwCq}V<0!e7bVf(xb?s5dhKIdzi2h?^JQ&b+PBf$o=MT&! z-51V|KB=T!qHHu-iEPRF!(}*X=guFl)iTQ6i9ws-F-m6LH_O8!Y+Uh*U@h!`sf8W* z!`2W{iFb`*yiv#(Y7PmqG)xqxAMkE%BS4An?Cs_ zf6pE6v-9;3nJ7vq`lM%ZlK2rL^qjAp2mPFg=;8>Za%I1#93oi*_) zv{FDii5{GNUcbIW*ltZrz4_OT0ruP22K^`z-O0MeS`=A&;l_tE?|&cyHAE_i1-}h~ zef*YM2*H^edmI;)e(&RFYHVxbf3lBUC%ZW8>AO4xM52!%X{GN{>av*w z!lvVz=>2L=46vn^JU%B{vx=T`s<5~}4tTZNv_U?#u3l6ftvs2_{@HDJx7{tg@zPB} z=hjDP^m*6Sv!e-SpEmXFet+IL{YUD(E58XUFVY&Ra5Uf}obE~8^QhU;BuzU{lzRWa zv!hoJq_e`5>UmUEw0;Ji*XaL}`u0*Y%D9g2AQhq!lhlv>d{^dFKmLku`^;HUKb~?& zGC?GRvMm+lmzqPdz}M~KgZ_CWH9Sw24>K~%hM%x~23+irY9Sqv<&Y%?fqb=@!-fobE0^<)OrnlgPvs`r~T1Ef7rP~@4sV4_Uotd5x2z$53QG2 z@%Bk+^UhE9dcIU*6V%+7%3YrgL2DVJbfXg4YgZy!PO zW=?WU&+FpK#r42Dh(HO=e$jAfIPJKN!OUS(gXbDtAANpRX=2&g$V-o9gu+D7%kvlHs{Hz8>f&b7IyW%WGb~uZ{k#Zl4h4{qg1*@%KlPpAS!? zevX6qoaeQE`=Fhta$TwC2DA;Y_~-k?HJ*{9_?4ZmU`=ns^H}N|L!50?mZ{^ z>Z#I1&*%EpU|Uh@_8~8&Y8%cBdOtNvUw_B!sOh%Sgz2l6Ar+#1J#eQi%1*gmo+vXy z+8{q35Cy*u4}#kGJQ_Pia@5UCKY)cNf`Otn5?bTIanzv~6l=0uy%DNUF)>KcqC z%-~9`I=g3Z)1z&|L}`VdeOTSZzVFswPMXiVp>Cqhruxe%Q@6XOZes3IzAie@Uw)@r zvL$95KZ{=9X>t(VvTyig!wQXcA&;#M>LoVUFh8G%dwW?a%yx90&!9wlk_zu20wqL@ zpM8)DTbEL+pEx!3R)hT&SY5Cdg zXv2b1)4EER`BELx@gHU;yf(OQ(`)6JomVuzKDzg6t4D}Eky6KQI5w#Kt4+A-{+Ql( zkGhF#S~Recff2KyZr#M!-_~E=eYiW{hb+R@m3Dyb4t-<3YBc7{^0MO(4%Ndkjdi_$ ze`%uk4{RUgZEU^etMa!?4-Q}XET(7ADNRi7#8M#@qDdP0@j8QKOOym96l(g5yY&1> z#Jpm5(2WVg#sB(u@N|nkH1-qNa}HWDCu%ab)UIWkFEvd#By7BLS#ZT3hiJTmEfs50 z>eeA^%GWkLIBfAwOt+s=YFjF`TC{?%dB>TThHun)Bxut5KjrA>ZKqxzEo)K8=c&h! z38t=Z6L$O5_c=x%`ro$|Su}Oe9X1bAi)wMny|#>&_7Rjbgo?@%F^KjNSQk!}?tu&(t{r0i{%MJDH$Cn594vy);pOz(>wIhqh z!VW)|CB_|5nwWp*nc;#5$`aida@mafeyOipz8(d)eORIK&YxO#gxF?XkXI;@vaqTB#a+QZG?f zK{J+^srkg+Uk=Wl*iiR6yh0BeTQAXjHs3)i%3b?Bz-aS!|9NwQ?Om_1QVDm=QCMcF z5P`8IXrhubp_MwO;{yYpE_mKh~}OaxAk{ zHD5Le|8wZ1VBS{)yxfj$5Zk7iTfWj!_gnzp$3%?59to$Q&#~-m!?hxXvSL!AHKgPZV-ln4ce>sl(HI!SW<9x**=Ie(7lcm8DhLar#y`>E75Dp+uO_ecOMD+ z$UDmPTi;UAuGear>|TqWxVp>s$e*wOtmb-bo4@&X(!Ke>pYE=vwj4x*y&YwednewU zaQi-A&c8olYZpDn=4#pQh3@Fh)&0}&$?sKwUqqPkoMwa}1Mu+ z8Bc7UfhyAxjO;^GK^(aw%=hOe04Eh{^E_a1F2 zvvQ;W@?!h2SVbo{wn9!EA|XkhF|Qm%Q|{h3<|0 ztBZj(a(&VdMKap+$oN=N(cX1XUzZbLpWPGk=1oxA#kfmvc#pI$t6~XX*Zn+Gq^3I< z)fl1s`3s>d-5a0D@qfzB^_h139Ci9dXNU99p_ATGBm$R zW54@WxuU5kha&`YLS>UnkOimSSvz!nou>XbJHtM{&&FDacAUb#`$8igXzb_Y+cXei zb5)~v&Cp|An)+>4gneuawTrYJ=cWD^i2Yetd1J54^;>*cI$E`${Ccur`B9~#x38(7 z$_;KU9sOoy1sM~Q%5LnvF@MNarJ_3@p;0Yq*}Tv4QqflD>FX8^!8B+LH|>T~^ys?$ z;_SF1nmDDskDj?jENWCH+HY}LNj+>KuqDUYU!l3UqOTCd8^RU@w6`Bm=_ zOJ&|ImdkSY4ckk^(w-%w`;Sou5RP}euS|4#nJiT{k=nc&HFJHuOE0%e+9k=E9$P~r z@DA<}%4p_F*Cs4Uj*)@NM1wVwk~}31-eEK%sO&f}MhTRV$0!=ZdF;~T`PHvh_us!j zKYw7~W@}Qvs9k8;eN5AkXH z8bTr9xu0th0-wTc1m6kPLbRPTU~YiXhp+3A6Lm!rvIS9cJ0`X&42k)BS|~Y?D{Pmq zr_(q!zC_g9UrR=Vq~Gqc64A<)YOAst+o?yHUrcZuBm{9aVXz)c(8o-Did!fL)0PPj~&4AOQSv^lp+wq-jL4Zcog$AK9ys}}mJ znZF9y+`s))>8QA&l=6(uCrU?0-LA_tmQ2klsjkcZ(eih9^N4+JwO1obqgnTrjP{uM zyDD#yCmd0JHF{9#==FE$>(;EA#T9ZA)D>GX=3}kS@06A+UT778%m7mJC?p5Wuvm9c zKd3jyIr?o=|Mxq>%J10*)GnWJgk`dgjo?~rHR>N&CbafImV{`K@3OyQpJz1J)!vTp zqqc9+@3}UO)bG{!&7b3}I`LuQoEvh)JFPld@1yt~6upVVx3Ww_aVO}c`p$jy3K2XN z(_SrNFnavpe3$h`l5-E%x>{E6i^B24>x&moMg6ccf!SUg`D77eZ_KR z$$_!j{-FMd$@3)BfSPS1lmOU~#^3BCs>yC5RJFmKPXNBE4 z<%XzJt=j#T6c zt)Ab&fBf%=K(0umq_^Mxx=cm5ou4ye+q~-Tx5;Ymx+P;Qu8@=TlTT>0AzLC1>?=sm zvbpeHnwH=*z0cci%FjJ3PjOwrClLRzzoU0-R6TKdy@(|_+5l-g&dGgWgs!}|fnU94 zRG@ya7I9@H*L-O?m|xN&mq}MBlO>0bG{~>`9W<2(p2gZVn3(_5t5YIh$hEaZ18X7L z)TjPIcX;PGMB`p@7DC`T&hsvsmdL+GYn1w9&DxGSXV!7n-|?7x{~xVGGhZI*AK50) ziMv~SqFhNH+5V<3A8a%|5*kc#p8Tre%*}4Rby>IheFH5oLC-+6+*)MJd+zoPCEZoM z@AvTzB5WE)5?Y01JOg>Ry#x^`E!IM`sjsvP5+YY!7S4z)xRUY`^Q=b5n7`@7jL6D| zwN9wqwW2N;F9-V)wIx?`q}EJi@rEU=ZVE37>$TDFG;mUI@xtsndpS_B)PT+%jY<=hh6Tj zI@4@z;^3n`_MGxHr$^R(Pl#|pS4S$mj(?+p2u*{nN0vlOp{~&WRNuBaYZ2|iEinxnf&GK+A4DiR z%1c`9Efu8^huY#Y$+7&9zP@DsZ%U^I!FPhS5bZc`U$Do`uW{0KyGO0ISlSxP4LvPK z`>n2Mu&lY_3TrVv;)JggZO1_b*P=UEi?3@rc6V>?zjuLtQ;oHdcP?wL{tZF3xFwQF z_QAcQ+!>cs;hL+8$h=e3UP5mGO zYhgSt9)Y#k9-6Cpl^$_h+||JAcV@W1>)_N#le0=hJHHc+qis-!jsx${t$7BXTS}h; zn3emWJ2tNo{`>Q4ZL`nSK)=y;^Qm2_;?2+wN2xtbCaQZIgQ0f zzFtjr;L1{JK9S~)>4}wQTSiYU8GYwcwfa-`sLw{89eS%#Q&DAWSj{>ULiQZ17NQ;J z!*(CJ1&h{uTa!2V+h@vs&bB#f6rMd~s{DM#iMCwTDUQC7T2rK=54{s+uDDD#XBv9m zr|8{w8Ukx^S6f4k+o=vOG8T=*hg%gd$tb_X9HtC9VvRa<< z*5-V&O%iNFks54nX%V$+Y)*);34$Q7auPcn)Mtc6@5w>H99Ei8A{F>8vjB^zNZ zWh1a9`F!5ygj;z;KV?CdoVZ8@UFZd+IE zSJbY})vgcPxmzpN7js{?5m?KX{G-ur#kGxocUOGjSWm*Zza*YO?l?KkCln5@z0Iv& ze~>TQOo@o&CDn*Sy=Y$L>}ZqL;kexgQCF-V;vMzF*LC!n_3(va_Sp+v_p%l~azYsZ z&oe!B)3nH%!&z!KOvmZ-ZCmkP&UNnNGn&g?nWjZnzedlpUE){^(U#5CX;6HY2+l^} zEQRB|cgxh!#ux7N+MYjJJwdXxJg;&4n%scoBil9-rE2zd+db9Z;tDyz*#yVA@sH`D zth4X+ns0nW(V*;=+Qri&Z0&wg*k3$7=#X3C>@NyYSHJX{7HR!mR&<=WF0fDPJ4>do z8Gp-2ul}Qt2y6>!;MciwZ}yrwg+Dye((6@gtiW2VD>~o8MnJr>-mIIR8eD&6ETUKM z@Egz?pJYc*yhicLyy4Zk&)eN^7Pr3qjr&r&Cp@$>N{$*a6euIZca4}QB0V|pbL}9} z>f%S-d+%B5;a=D1W33;b770xwf1^FHCr1|-?&&>LlYNT%AQTF9Z}APsJpYGJ#4U2|n*x1Xc1 zM`2Gh^+{JFdS^$M?9qK2^@C^|fi}l?|A=;+wKH3I{+)Ua{lR?s{4d`XP|RqzgR;L; z(b+$Ch;v!T58}__1B|;9j_qE$Y^J>KXPbzl9CIaxuJJ-JP$)-!H0TKu+uhqy)28c=Q({YNZ)T_M-iL?pww~@#yS5yKe~lNHzx;NH zs4-Wx4+C>WWxlS*bF?{f!sVd-9p~z!6SQBA@H(J`=u0+@^Ow$X&tH1B80_T=^d+>W zE%|2~o_8k?s38`2Pe)MZ#5QMNaGW*=7rHY}R2LUK6Bf)nSqkadG_*yu%`wO2GT8vL zL0zA{k#oafEkrxc(i5lMU&a3lAHBY>HG7WpNz@(uAv>Ye}A5uHm74^6o78tWY-#uChM9H-33 zHT=(d^ss19Ti8>%OxBd&B5rFThJJM*RB@^OG=WbL`2Lf)=U+_F_c)>EIrEWlneA`Wz|jC{V6R1ba)r?1Ja<94b)nZUmzh4ieMNNfTp=g;oQYm3 zzm^>^N<2C*Ppwbn7)5c3%M`CLTecB=Cs+&7_BlU@;2b`P)|O*ClGP^8(X(n)rYF{l zS?$%j1Ag0Yzq`ZSfXn24m`m6Qz7wp4=*;iDD4WQXmuPRtcV1kJ?qIuoUFRh%HN_N` zmJmzkPfD$AK#kbCVmX*AdV|F>(Yr9F5mQltuuMHzi(8`WiiYYRR6^=h=J{{rR<63g zzpuDq>?Pj8lRv3Ek@Kjax0|^8Tc7j9V^>WooZaPWHJ8B%^mdHe#0&pog1#Bt^qG;C zCGR}4bo4p76AH^=5O@crMcZ&~`Wq97z*?ug($NvsnZ`{|b}yv*Tb4~wZvle7OPrwI zs4o9v0^=Z$256gfIgoeGcZ);lk&QECs>NmU3_C;CJf$PB7MGDL?ORVIMnv?^KVjNm zwy2zhGR;6{dIw3IupC&{H2w`iwK8(0{5NN1imSNcP`+_D+{Wcz78%}i5+|rDE^Ds- z4MDY7CXMh;zS*H`gIb}#)=#j;sBViUM@~LfQoU~}-b+wI9CvN5*sI8Qv40=}TQcXg$;i|4u9quj z_o;7&Erfsi)rTTW=IeO|^mfxyQhNKt@0ArVE=st)d*%v^8NAAuzOKL+!!&dsqd>W#lj{5t+W>B~DOp%pr3{t;ZBK^ahmHaHzR52&`q$S`Hn@2!UK> z;siOQGPTb?^xd!(S1@YJoo)}GbSDiz;J({F*UI5AUIp!uq9ON2y{9PZCn5T1?Q&n? z+VnSO)oL_la73@TKzoqnhr66|%RGL-9l62mGeLUCQLXsVz-U)K*O-W^R?Qmi7982{ zUi$ZG_vtsyjweAH#Y>*KUCLfl{uZ|-M+DX~UP4b33wG>x8=XGw9(vp63Ns7Tf<*&I z155JOkB^sQ745#MpI8`$@hU8zYfUZW)^VPFJmF3#EGK?>(dG)h5;>&yGxkBHA8msI zC=*vl&m`P?J}D=Dl&8^RTSx;(iIfbg526-Lxxmtb+-0+8wqNDUyYAKBb@ub`n;cnl zwLWoZ!uNTR19fy}*{Jj6$krQqeiy$uWX%az;DU8U82tZ8sw04rDGM9D0h}QyYdEpGUZu=*9P#jTG4E+dS2rh)8Gs(&1LZ0 z0Xh2-c)H`KUmQP(9zXS^BakcR1kuHAn&D8DgFX;*m&OU~4Z6Q+S$kWZ)g zb@U3VycPPZ;}|)zxpWfVU*WO`mUL6aUA!x8Qze_BmHf!9(xbpZPEM4 z!{27BcV76uO|ECSez17;qj$UqUUjWG0D8kK=9Ew?D`-Aw`WyP)i`<80?s{+j9KCCu zdE*w2n{v{6r$_SgFP55hE^a23t~<`6@AAFBI$q@6^3?nD)dRKO(FSN6+a73JQ%2iR zgezJn}8&~sN<*X~Dc}mum6Q3H%yP$+R9ax^I6Y1E3efN=WSBgJY z*7L6Wqq&&<=Cnk`Mfw}Xr9-DBPHfcci0aGhRbSTECH-(m(emJHUiq?>#5X;rCF)ku zSurARzj9ilZ8?1=uY8-)?GkapA3u2KepFH5ovpu5O$@n;Y~Ce~Ey-0DkIZzxUX|_j z*)&YN%E4zB(F`=oM7;1%?#p?)gxsHj zz6}rixSveLM2YC~SM_z72z=0199mz^Z_xfDZ$RT|k(IqlsFU~5f|g~Sg>u)gJ(HJt zBL-b3&<3bc)S=^ynOaetIyA>Cd0!U`fwdMqH!U&s0NcFi%zLF>q|RlY3+EW)I4264 zicfRj@@DqX9vTI=*t)5xvd;jdI>@$R{+ybh1%ieIW_Maz$>CHK6#*`FKD zijHok%Wa!wMGw_w3-0r77jJdh=Tr+>T}#pEV+Hi`Qo7$uJ?8vvuR)-M0)ajwPp8-#wR{he#Kl- zU*mF6(~h(7R1I;k^i$py|Bd*lMa!2U+R1(Hnhg}~KKjsmcV~SU`-dDq5)Xc=*Qa4` zmitpL?J9N+__XkzmUXO{c;71d_39Ja`)uvDie4a=x6JmNK6kd|SJrxSi>uKq9})$n zW8UuM{T5epbWZT9Ipk2Tz%E@*d|vlF|FfrS_+*31KRVjB(5^+#bPpPxXF1Vs5!#I+ z>{mPJMEhK%%h*={AQ2dsu$I~5f_jws#Vp@N1V%oY<4&$Dnm1bI{ash?e+4lSdzbBr zmDk@Pe%ZLg>-llaio2*EjKMMsf3K%_;FD^KKa5daPWRp75I9aJ|4pVOwmA7;D5{#V8p{7yvo>L(>Z=*Y0CONRB)O${gMz9v5 zZLV00M1#vk=u}^kv1IP&Zj-x9_)kv>3zT+~{04IH+Dwu^UGH!A(Y!Cc@^S}dv^nYr z(Q+s8DrelwyMO5&E^o(OMB9kQM=lk~I$I0pMJ^L3UYnNK@`moI*yru>19KllV7`NB z#~I(Pp%~kvqw*`1oXZruY_6_{eMg9xm}WujptF6&=I z%z3nD;pt0ySo<^dDww9u0--re-04An(Z6Q7d;F5B{@Ryq3!)!0Jw4*I`f|CO)1j(= z?HsvI26#t=+3|)VL-3iCpVcVq=jYf5@Ehs;lED6P`CCpNd{QTQt8ntMI>1b{9hqO_Qfg(GE?yaYWk)eDVrDZDq2J z<6utBypuO@ndHE+-El@#sUiMTt9N0C`+Eqaj&j&Lg&+d=NWof&wlW!u6SStS-NdpB z-77YHSy=niF#;tYHZU*p+!y-me%r4$H0Ukf{rjoHOP{J@`BfX4f6}VSQ{%fTO`H4* zayZMcP*2bq1AUY%$nD~uEb^4&`BAUY%d0~F*L93PaZX+&Pwp*3PuNGt8abNX zHZelG*e|HlN{&&*AyC@&ujEDAmg2c3%zZH5K~9iED??6Y#Uvq*=Tt`9m>x*|9jOyn z-^lEqWJ38IXXC(J@zA?XR20Sd%4MXd~0~AHgFJ^fh z*1|Y%>XSTX^h!d892^ZGd$oKCY1rP5zKj0DWwJT?v7Ke`9jb++K3~^f0{NBI7U~T- zv~oBLfiw^;=a!bY7dx-3;oeraxoGm1-nk_&9wuoko&kW*VWN3Mbv zG_z{-b^&MQi{36uPvq<5S65aYAwGR_dEwmAGhI1*UUXWTT059}@bKR%;~ zMjYD3a)G1)*^TuVr5{_RzZ0 z_6Wo)>v<5Lgbj^wAYS2{QKKJCgK0BI^p{Th5L_5yby>;E2 zH#PKc{9DL*YNH?aD~j61+C%koZ4WIiOKyCObagtvj_VI;=r@*MtYcef1ElRZo$iRa zhx5+$-)|VUyadt6q18VG-r?9qa-hGZYnS_h(T`=pcsim;yDEyZha);2QRF2G!MY*@ z(@saAcDWWI7%g`G<&}P!4hh{56uB&zoXy$5e@#upcfUy z%^EL^s5li!ux)j?d{wUYbV|Jn9H8{qDO zHVvai9XZ*@jMf8@+Bdx@>6>U5%=!$KnDu@LpED6{>XSXpe&P1pr6GqtkLc*CVyhnMI~?cm~Q+;N(h42eGVn!EM-G_eq< zT|~=S=anyo9=SrF|G}O}Hs>;VAID(2ZX@_kuoj{-dpos-zGNd3yc$ zQ7o13*lT92mYaPBPgv zAhug}##)Fbx$TjYSN2jY(PiD|O@#X=1lKY#k;XyD08(})-qFLc-^epd8}=4WM?Mw$ zR?e4T=G6;kAZ=Y~3&vFB!pLCCS`LoS^tIOB*y9rH0d!yl(PJ1^i56$(Y&6VX#s4Mdx zS0l8&iI!^N{>rgCe1r?l?lQ88ZFpp!eopLDqAA7e8Pat$&7T0;GNjG5>938zT1E>b2Y$WGK1$TNO#X^b`f?pW)(Ej_ z%JR_8Ju_YG&x|0njiBDjycxg3UTgG5Baz*sP(NHQdXJ~Zl7H$^ap+Mxv()woWR}9{ zq`*Q@pRe0$ubNF@3FvQ3WntWw(XOVU?PO?Z>6r$3Mi9X*IZopm*NT$w?{+W0f47S{ zHSXSv`L*IkFmFb?$cfP|(f(%yabo+fmczCn^Bbh6ug5hF%jVi&CWcw!OM z?v{@~P8$IXy<|$}V1$c9er0>5JWp{?N3rJp*W6(pDykJJ92wBg#dBrycC9P+SM)K` z5&bk*1`&oQuO!CcxT>B3fwiyjO#^A$G>oNi9Kz&DxZ6HYT}73%4)l$uY`IFBQ zbNiNYQ4Z7<%48@|+%=r&Czc{zfgc-BB&0n9X(UI#G6=0JLjy+x^kWl!G=hECj_pVz zh(JzE*`~*m2YapdUG80`rzMp=G)IIrcTiV|)(As~5ZosWS3$%Z^@TVqvco-caVdf0 z5?V8pClZ~Qzjk=_q8Of(XU3UtW#n4z)OF@aBakbsW#kLU0X@~GfigMH{cT*aIRBVi zyXtWl&jmm^P(J1=7~Ab=V7TJ?nq z6XNZUB3*Ly`Hb>3`Do42*{aumSmC3{2XTECCD&Fo1h!=?D9^P_S+GbBB{g9Pft;|9 znU=H#wVpB|w6~)t8aZN0Yo;yKZgA#~+9o~G|A;U)K!l;8P;$gEIze4kjBJWD8Ja;? z@MReGL0#q^EYC_Aw%@BWy^??8?KTz-Y9sQLdb4b@y zas*=u^dj5G2$6{^9j|z9$#9iaEfZ}l4DDZ(E7r5w^!2besDoJjx8}lb7dq9V?L)wIIV@SlAKZaw5@fe zpTcakZksVkgUZ}4m32R-nzvm3n)lyM75wOuPI8wt6T{bR+Nk0=^;(Rm+&cYDpB+Sd zur+l}#u@79uUIbLcXch@F8ZoA5xwAOplQ*aBJYEC z>5U1`2p4Hruq1#`9?mlebe%P=+AbEswG1NIKaB6nw{P+!#D4cIPS8BHiSq&Ns@Ps+ zDbO@Vq5utr;C_dkfR8D?#w_h3LTg$_a4i$j_^DbWf6%h1LUCWCw+lFm@^zj2ux4q* zG1^Un9NH^cZ>ByY&|kThk%M&gpFY|C-wkd};|e*!C{dgRZGSb~X7Uov2_kf_Wq-5e zQ1&R&Vp>1Xh)}xX-f1$Ke~S#-YRHM!F4C}V&Rn6i#$!mkWCxZ8?*tK=1|fz#voZ8W zrv~2bV;=Q!T*6W2#w{9Y%gCHN!~bDd5l=}|J||N82M0fhXT_~IFIbv&UjjvIs{?eXS{4+{UU zTz&V(Cm*%AYEdRXF|<(IpieiQ4fOkl>`~q8<^R&>EJXv`&001iabS1R*UKq-M8o`I za$f_J4`N1!zF>{#sd1ZP3HMYgW2`K`pEH6Y4wnfncViFT?H@XD$R+N!RGgWh72~8I zQ+9kK6Uou*x}UtaC+=~-eX)~2V*B(2?_r2qFxn-1pqB(C$84GNQpZ^w`rTVKWv6@X z`8JJKd#5M1|EO1}BRzRW?l@AE{h;Ki5%~pq;S1hbc}>NepS7~MA`b7K??iV#k{d@3t>-~& z6h=;%!*stwPK;k&95>g=uikF8GSus;s@~SIV}0VJ^GKbmQ@L866D>0$9KW`0eqz&H zeLWrV{A4FuEzhonXltIqk^_0?F;UBrxu0X72+DEh!S@Rvs*~gPc<)iAUFM28xoMcq zp*3G(afO`N{rvGaZg)r2U*%PaX1{YT;WURi!!maBb9@d^>>afl`k z*+Z?TZ6EE7S(uq^ODc~wJqjbk+^C5XR4%_ud#F4;;?7Im@29-yJ$>_F|JJAT6U`*Q zEB4vEpL{AmvHuB2ey>k*AOfYuTDIiOlZ--Q;91iXrSH@`P;9R>Eur^h2*>*^o|`J0 z`h-9^5KTReBOf8mb1mM%{>az$)ApX+re53HQ{Bzwh6%I*%7OC9n0)kTVg5%o-TUv= ze#JeNthRlo9-|O##}f2#v?gEIxoFo@>kEe!HgumG{iwwi(O`NujhFrm7cN-VICLO3 z!5R%N>_0t0-^6uUkSq6{H1Sw|)p%pI(7tx>g$8UIFXNT*21KCN9p~fC@zBxk=X=9H zc+~QCv@?2-LKI4bD-i-C8OniLxBUtwMD5x%&=aZFdCxh~$}J;ttc7UytC;F3*e6h0 z+eW7qiq>T}M!H^TXfQpS#(m4m`%5-1c4y4# z?B70SMj|vgeT>4sBFEZC?r>kJ;CpL7A7F7s8m%qIsB^E1#HnoJ6(Z0ch_G$mVcR+W zjqRRww>An}TxA}kD3f`!L2a*jem%ecV;wEYQQG$PHb&-kW9|0(;{mVV(MOccxfYEq zSc|XgK3Jl8p0|HPj(FKy2Ia63f7!Ea8%&q)Z zM!Zz`R6D(X7d;Lm1DAE~^KS^M#Vu(B^F=yC2{UsTPD!q`tTbBmw4FASs`W;QS*r#Y zUUYuN(04;7SeZWVS%a2kp0rJjeo(t%uqM^VUW@*N((-jJIgW!k-r=Z*9BPS~H{y!t zajDE&Fx={z+TK()cWmD2y3ti}V=d)Ad!E%X7&&Bq=r6wiusz(+PD*>gh~uOGP+5-# z$$*zMYcbEesK#{fkLw4^)wpI)r(hrCCmH!}8~Qo-ZPGiJsc+l%(2}It9Og@~e~=v5 z&oKf}nKC`f+k$>&+XMS{QNL5Os@Q8YMh2**XK{)w7}ru{=;vt&rpE~SYxO~pT+e

    Jx+%IzKfx5+u@MBY&*6%)Phog41h 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 literal 436884 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

    Qkk(O_qXqc`#lu& za86Uc$j={*N+9@6G8LlD7t11ZL&faXj*&_u_q8|A4Bu;3P$oyB)Ci1MsFU&b@IiM> zX+x*)Rk<2RInZBEYhDnpe?tZ1qO>a|;fbgd-V`nTD$%Nu=17HTf$(sZ)*-WEYh{Hi zww8~q>HV^Kf^$mC9F370JrS*-)VN7C_4t_++~G}ggzut#&=<@Zjqz&wn+3DoAy4P% zv5TjM|H`EAfv8JoEFBz7X%o$}?3oi*2gAcNJRHMAW4-c6W32GDJZ*#7i~+?2R#nkMD7{b`VpX_Ix8zZvgH-q zav~L?1A5|tvZGG9a6hk{mEnA;)*?Uma9ZTy6iPVFoBDyu8jpesLv4mqTWO1_RAYCEl-7L zrEY6?YUq=3^>zEQ8D1J^ps$}GUvnams2{|mY`k3~6>CmDh88iWw~nl-O%!!a6!nIh zKF)+wNUE4vDT_7OYEcmn;>QvqKc7b;Qe$2iwK3+)xe4}$l`mu`W-!PzB#(+_GsxqR zigU7lWf0}YED3@3VYID-h``#3RERd`C!Th?zNyDK?px>Q2rofx(dreCa#E=wKgpva zsglc?C8X!RRGyK_F;Z!i1j_?`S|ZR#kqXh)OH51P_m-GDmIqms%ER_7gKss92;Si6 zX?CJCZFyKOk_Tys{DPbU9)yc(lpS@FZPbKctGoA9sk#2V=f`MlUx)X$?JJ#CEZbV_ zWni0u<&3pJ_Dc|fRM?`jb*&!Qp0k&b6|k=*XGTX&3BIF(8O-G|PTLWdfJ@Y)bMAT# zEFZ6)Fmde7vN)ES2lJ!VX3WE`JTvD&@`;Py{3irEvJXGEw!(f%MO36MKew81d!xRN#`+dFz9`2-E21Q5 zkyK;I%l+1X<1X{CQW+ke;Sn-CH0Fz%BX6Y;F~XVU_aNz;1Ir)LN^R&q#Ov7mC8zsU zhs0>qUF-A1Bk#1MYEN#+4g~*n zoU`tzqvyRDtnnf%;&(Lrv9)gXn)i4QjacAp|9F7Ye|x_99X&JL32>aBsewf~C0)dhs6{5|)yIp5!DwESoyNdEiwi|sVQx8xgh-%a-8{x175$z-V zR@3m%s9|z_40xpKC!!TlC(>~Y9?jtHc}nwlDcbsM8yY6McDkEKT77d^JfsS#L$Smvn_ zcoHm9Av&-WSr@@cR|{B_nKajJT0s@fRff z81=mQIrrft0%!YpZUWJib9n^k%e_fPq~^h26UhksZIH~vQrW&JO2}xEihog!JumE$ zVeJxMcZroX$^8Tw+aX>h=9dW(#IEFTPH1rw>uCuQv^Z-8+O!5iq!v6lIw$iJxQiT+2u{o(21hTqfN@7fscckRElRtcrgt~EW}`D^=Jw9bk3d&zpBg#X@K zBD9Qffm~5f|2!?heeTuIhVM4tw#gC(^rXkbYXT~i9d(ijv=#1xK)XoKD3ra((apYjQl47t37oFoBGvwHriZ^c)wTxGcPDQ+*ZE~hU9WeN=Gz8N4=*uu6Etdsyp>9YKq{$+ zLAZv8Has-GLCq1Jq&djm|BM;o<8>?2M*3y=2vv>0x((Eq|pDf!0MTMEeNW@X&^b#y8>I8R5G=wH8I*R&N}E zQVP+QCwCG-)lL1=@}NQF{iPC;py)Q?s&=aJquy@Mg?iD(7sB?jRdgf<9`k{|+o%-j_Z2+Rwq5G`$mHbFg5KWVF@ zW(>JY4Lehb2$WVLFfXJ+v@G)=QU@c#RL)rbN_}X zqgP&_v25{l5cCDJr+V7MUc=bNQ1ibAh_gi+zm*sNt51f1w#cu$^5QgdYgbb>soB@7 z6}`}@dD97kNB8-8@!@7oT=NwjVu&^;elP8*4}FsEkIT@#RJ2Nq^2&X2N@C3fKezoW z@GFn*U|HJT_K@iY7oL?f`zYeJEum2yvnovUsxZ0@h*yPizQm8ymdAxRj?n!NjdzF_ z-3G)OBATCFW+H+F{(3#2G@;x@Mf3=GFY!KBPkQ zOZBEE=2#Q+YCZzxMJhxmMz;OAJA8wFg}kL6_-2^Vqj%ZL8mUKsiF!zN-J&UplawT) zY%PvIi;M{5hdL$Zo&D82NQHV}PJv9+ze3FsEfHn6jM05w{w-tdKZurPUN#>^_mXLp z1QF;l{(Kb8VEG8l3#kyTl!*);M~2`3%8PR>;WWh(857aEXhkd!sd?F~zHeQOONc=I zWO-m-NQG#*QkG?>$S}V{ew<@4Kew?xnqJkrX3k9avv0e4bT?SL8TR`O^Sx%$)WrHr zQ__IIH;6!s_y}!yIEIHtDzpOfHh2BLTFD#!!fN-7<~inmgMfR#T2m9NX3HV8K{y8C z-(<#mAP;PPd>$1dkP7(;Z}$$Hm_d6oXaovJZe<-bt5~Vm=dWT#JrFHO41Po`WZfArW_PzFZSK;BX%#C z>W?juBuK^2ZI6t4mDIZ=`5Kuz$ltY`CUj~9ze%P-wA36&Yp`zP42>CYzwaXQ1+%#y5^_t$p1W_ajf z)xjzC9uYU*A{C;Qs@DI8P;75)r$*^$y{}DSJk-VVKz@i;s#4eUoGXv^a3{4I;eFJ- zC{AP5BnjT6EpN~6v+}63pjWQ1`8DQ@-*;a1d3gKQ<;8z|kkT#9y)yiqPUT8(Z?t&Z~dT4c#AC^UmBk+wJfmtq~3o_wQsx z)I~Jq;E%U^W>>uKwRUPEubKU(CiqDnRo=SE`#tuz>)t)`jS+5sd}!y)$l$>*dB_8K zTORgr)We#JzJxv|5vd|WN`&V9T;_%o+S9-{lbTbf>~2|lE_i6(Ek|#V3ege)_q+%m z$Xg;N2KS;01m+|Wy!$L!56np-NM5@6n-Hjz)Z^^`*72U--@^I*!JNeXS~Lg6`BHlH zD!Yfj^nw*Jr8aJ?ByBNnetLYVz(-bY7=IJ93a&z!SuB=GwT zh?o{JcXNDapZojO5(tz8sSqvp-3h7Kq9h@r6Qfb(`X%U<*sh2hLlSrUP`<%V#WYr^c>iPO1~K2=!_rZnax_F4+5*!z+t zOpNvU{VUWEqcd7TA~2pK6{5wCTyrL%y+fEJ;TlEh;Pwz2%LsnvRuYIMXe+cxKu@-! z=u9y&*`kOR2oEC;w(Z#3352eGy*YXI`3w=^h+p2g{P>cSDk?$L1F1MZ5;`$j>yHSd zRA}8>+fIYo3^RsI zos@zz2h6Fb_RN9ge9_WMt!xl;YprPI);#@AjsA*$Of`*q97FG@WTXmyQE$p!(<+?R z#ols2Z)&Z#z##TiFb|A5CFY9!`Ka#mrzK`}kxKGFTcPHh=2nz#=<}dCFMkFL^THCu z9(ig6QlW$upW=b7GnEZ`s6?>rNQG!h%bR;KFO0#Q{{JC}igU7vpbVqlBO9hwxK0L3 zHlU|6$2BY%YcVIKUfy%A`|2BYy~>?(gqNU2(HG=xf~+Cg3VQ&YwtAS`ffF|tR)iob zer^%wZotHiA)FWSz&;A6|9=Rg;+!nPXzm!zwb9&su>@a=Xi>C+u&zcbv}mr_;bw07 z^UU3V{wx5?OL}lG6Vq0ze?t%z=VTFP#+~NR{W*G!)L3d*(-Jf8tB1X9WNBNYOvDDHCmm{^_QuQfmoG5Vktn1kKp-n4(svOaap z+@Zi}>WiL|=xe7&AXSi##bh1CQbWH&fAbLu-^CFRM4(Sg1m=ZQh*qlRJLkG{Ok`MS zA_K+}q{6jd5`lUk6{4lB=1k`=mTYgxO#1~%6jXxN-?B{~&i-t91aBl2qJ60xqlY$n zXylG|L;Vswd~RG*=^jo_n|hbHJC*KHWd!|?dbnN?SGQpdmI$1EMJhxqwd}Kg#eMSY zd-rtD5o_*{Uur$@u2)Wz?5LB^BV>4J!^8CSgH?0L1MMae$Q`K=&6?Xayv&_Wu;TAb zI#q?A<7rkFfoHlP6`~~%Lu+XEBWA|;)(-UE9kJ6{mUgd$qs}P zidr15H@5w#2tiah8j%`-RBT-unMjR5Dr`SeBlr!?e{h;)N3_+#l!w3i6UzYo7|Thi zA-kJ+^(QZLe);19jaJ06k?R>O7y293*aA@cgk~rCZDJ7HlfSmj=w^v|Yg^9vFJ-qE zCbu64U%JEl@z^G3{^Ya8nhEqi^h%|!eqgZI^4;Oi*%|8u0%s8s9cV#%V0(xC9odr! zFj0*yC!$j$@aqoIsSzj%wpXbU7~3%trA8nXdQ55rQlT%UMj#c&`IHDR@RDplZT%|S ztbwjsV%IawkCt5X$XCYxsWM86ha(-^V z&%sN~Iij^n_yl&8-AGho_?TJ{=wag(-YtoDcrE+D-rKjKDV^6B{GxjBTeV8)w6=V{hz|579^u^mW$Tl&W0Wqr%txCYTwMN1`<;C~_%`F<7T4rc zXag>ER#>ePI(atPq5+R2TWRz-qzY^mAZ#D*hQW0Etbb-nY~KKzCVu?9{_!8B@A`4q zdiB~E<;&@c;;!UDc_EM1V=TX2{p`uZ(FCXD*iI7C`gV--Y$?lw^CH!rXXBQzY1N9t)6Cvy>Wff%Qs0co#B;+jruC7&b-DdO%>%0^wK(Xb{#Qy_y^9gT z=9KIuL0;Lub^jFsQkD8%X>BDV5$hpsb?lb*rVZyZ&yKO(3{R;!>LKDFNb8qfP=d)8 zebPVQiO$<93UB^~)>2r_QzMv)5N~zJh?Krv5u$6)jL6m{?aP&5Y6O>UvV@#d#kL}w zpsl!mpsl30)0@Ei%*~5XyO;<4k3zJ}HhZu#OB&|Wj*)+g3}koqM67q{m44ouIgz$c zw53`k%OKghRwDXKJZ#;L`TolFJefzu2&4+qu^3U)&)O>BA!7+6L=V~5r6L4T@pFqf zcJF)cZ_8dQZoA_Sf5wEzadBn?$9=6#_HWd$Q6@iQt5T2ir8G&!&jkYB$UXz1Eh5|0 zkMzsNxr0aUbY4CqSHA;y{o=ib@6;%W_cixE(>hy;z*ZQk5G@hdo+DZ!0!^a6wq^2` zi#|qs-+P$e)?6_k1#@>iA7x6~l~SSXRUa#e|6H8ruX{y{Fc114)ogbzXOfW9B$X}m z08<{pRFo5^&3PHcH+gUD{oBZ=6ps9(?3}hUSil23!}_kZoAhIIR@n3poz_E7@wWeX zrMM9qZ)iq~5C>Z~C`GlCR-SRYWLKft8tk2HqeOYc6~EO=)N{T!oN`Ky_e&{PkNyl8AbIrgokfYyb8$i8MXu9w$@N|EPylo8~?f zuXm9}r$!*v_~2&7{BBqNwZ5U;3} z!G1fn?Y0CX+0);;wVJ-;+1bwC|Kw;o`_cB0 zl%g{sYy6MmAg%Gjb0Dz}VqTQCJ!Jfv2>K-?8I3IkwxaZJrS|I%Ey6lj#Mo~p$49Ly zPlafuHVSf2R6o}L)u%B0Qd{a3D>-a&ew!Sh(2Pp6W$c}9ljGZW6K`5UcU@$y(|^FX&ZWD12n0%kXyVDgs74-n<0i$| z6ww(%(qovK{zrBF2PgS;o2bZ39`{!sX2%dM5z``*;$Jkj`62>yGG`79ZtTShZgWn5 ztBuB!P4JvlJi}P<5IwTM$LOs4%o5taXrxUy?CSZ2u$x6;j>bSqlz z5;~_J)4%NMW}dHWTi5GSa*;FJ>=Ggk?OmV!yfI#8N#Uk}`-4UAo zaE_j3sBSYVfjKGlj$6YU`cPK!ta;Z8TcK2~x90m}9ArbEhc;5VMk)`vV;LYn zi9jm!vD64G52Ql0^b+=P>(#aWnp)aGdmF29t)=oqzd{63ne*>UHsxA>ON~G(S<{dQ z=8I*3XvqVui&Tg%I0>lsGLFEzL|8aANkzV7r6N(p17~tHJZ~bT4gNxjE zp2-hSJCWjt^1^fT!=F{o@NXEfJq#)rx@8P`V7`OVCo;5+t-)NuJfp&8j;jbpDD_LMlAb93@ohug|u- zIUgy11H(Y7R+7<;>~wQl&zW$FSy{wjNV3XSrMH)mXbVRb}gpmPYUK zOHi9K_s4xu5>8XTY&XlplzD{+q~f&I30KhJ+*Xjzj^SLGQV;g+=B|4ArgpFIdPMXx z@YGw>$&Apx8FA+vEDCj)@rXDZ7fVngf?7zYqy^p{^jJ$hDHS5vtI69DfjI^ARL>`x z{U3aL6(TSvM%Zx~eq(EnjYLQOyWRWseOm{Kw?v@bpa02Hy?@^OiF!k5i9jluZ@^C? zI3`jZM1K6-@|f6qq&N7f9B0sdheOm_uKCHfmUtE?p39ox;mgPQT8|52F!QkW-(sRE z5#=SE_wv==ia|As*R`yxFLb1Pzn@tAzgB}B>{%fCuF`{svc&W9h* z6H?(>wJ4$4Cw$`d-r($uoCiNXQKKH%13+|YsW?j9bnfAQ(1Xf@OA7TswB&&Zq(Wa1 zy>QKa5w`AE=F9u3KWw{8{gQ1pb{OlHOuyQ@cub3sb8cOsIeI15G|7YNGwDG*P!Gx5 ze1B;3?OaUX&iDoq7{~nYj|2j1CsHBW?`3H7MPE!`^c;OybL?>hRxrJclnACmX(bPQ zgHlP}$8R6&U4Q4({^$qRgP?A=j0I_m4A>(h>joud(-cveccMK{^!gBiRGhXJF=H~? zjLG;T4)})C9JQ%rZ8{Z#%O4SzN9520-Xjkz^!uXNPT;xD!E+kx!+r_ICG>E9Zd*=7 zaGjtxNQG$00})8YA0b^W17yqCW1;_D$w5Y8l*dQeMae^FggttAPi?=pRIFN34q zKO-=Uqm9-xX@}c#eK)o9!FYT>H#) zH0weCqq^X=g7B&>c4YgqIfdclPudv)Gxi?lxfgk#F!r6X=N&w!858^}LaHE5_f2qr zK6#F%WVJcR=|(&AgOVI>R}^mgsg+Rbfo~9jIthgLRS}HH_*0>bw6iHcyWQ9%|K~od7#~~G+Vu!Su)d{fN58fH@Rz} zTX4@YXa0d69_oSoBoAfIziR$w&Cry`ax~_3smb@2vV4)ZQaNkhb)EZua=xnDS@762 zw=kT3qSXWWDfQgOdiuW2JBybN$?-5>^fAe!eO{@X^VuF})Yn}E4=e-Zr_>+$hunte zeCS+%X=e|qg80!gCJ{jy(tK^rk}l8GE}^J)@A*^1hnCm$M?%hT^-28R&Gxx$YdOkL z)aR&1-v<1gW`vY#eBX&)!TbfzXZyN(SU*rIlveUUuf}|lpPVtln8*l{FnCT<;T#K7 zk-SL7&uyz#F`_h~t>jVaM_ab9Kcg5n^}<+`&de+b)66)fv34;v{f{Q{B`UOntWg0b z>UBJtQ8F^e=8N?)H3CN?5Sm0Od#4D;XFXVxBUP^_n3{oLlA~0TIOiYbH9!Q1g)I1P@am<{IxA|1B z_rrP4qP3lct+3TcyD4>FD8qZF=JihB!CgEoDJsF5cUeD1w2;a}`=BJKpG2gx6`~~q zZG!oxL}+}2w(7Vmvt(pd_A9#N5l3hu&A_AAPlzB8zPV7|yt_8BOW<&DemZ?B^s z5{<*s{V%*LiS~a<1XG>Y79q z@RRKa=S8;SG@(&KE_2%#rIj@tozW}#IYu~(;D|$SkP6X~2O^M)pHs}2da&K8JUC7E zx%R8fl3TZ>NBVB;l!QQSk&2&}w=U+3REYLl&T?PE)+Tmbqr9an`V!_cU_a(|#Y)B2 zqIMAN6Y5eF9$L*t287aL&|G4FYmjEV2hTg z3eZYDQMBLLKDDto>AU)3y(q2`ZTMk+ym2*-C5S*OT=AP4f%|-r3eigKx~YvjdFP0B zdzO##>fcZlZoV@kGQ21|h88`$e^Ge6DVx1_lJEZSxE*_KbAOJ;c!e>FEnfDc5ut=O^xXD?i>d&06$&bAs87W^CQh zKl{b~?)Wn2w_J%ps=uBx=jAkK#7VD2+}*EFZr9zhwxYG?CBJ0HjyEj|SL#r))v!Na}#|W6Mc$J^wFpX%8tDKc$Gk)yhw#; zrOw*4w)jZp(~6tD^QiZESv@%NY5ADQF-EEX44dM@L6>+_!jW+nQiSewmS&RM@WbJE8ZKV2CLGGhtK%M{iw$H;iFf5^-IZOZ8ckE_RkSZ>fk*#FO{Cc#l6-S8wc5)xmP+=tB_) ztsr?|z71OzgbVz0GLv}(7&BJ{{dUwtN@dOvPQ*l%WImjf&gpXd=r!9USzF|1^m?s} zcivB@>U%qmcaR5KfqB@ti+Z58sFT!VTkDqIsS_*fTQW`%y;tNRt=qm+eJ}lBi{gRH zb380Tnw7I_Ia|ii>gFtq5%s+*4m1mmn4IGUv#e&1L1H~iG6F|&a2yVM8Ns*)jb-#~ zRl_^ES!aFCxap#G-o2n8PB%`GeK0|tJLD>`v>WkF?)KB*%RsSV_NH>b{YcuZ)5LJYmRbHPixXaX zB24E~(+nm*x2uXzn|_yj`-EnC#KueYgl2{DiEGj#zdza~w)e8a_>oz5gl)qah4G@f zHf_!zsPcmQP@{A7dDmU4Uz$}Af9!)azkiNsiP+!nM0fw>4!ZKg4fK;63gbKGr}_QQ zqP|7(z9ZB8y|3L~FO0W-GR?oiNvT8Eo)#Lpv%YR|bB;zTM4R?1e$Avb|MY*QzSt9T zznvP^GwyGoQFcT~9;i7YP!B{a^=a`&=YhWW_}2a1nGkOHp0(&*$0vkWEwX8TZr3yP zdg5Luzw$_dpf}w{JRUxBKq72;m^0#CJ|mt^G3OioI8BiOql8lC9D0|}p=Th=caQa+bFGd{~B)+x~Pt^L29{ z3zYe3_dXt8vf1)O-lo@=^`Nurn>78pIgK49K`PWqsrLU(cNTtiy6)LNN26yT59F=X zf`MH^bzZNp+h&uk#)oYL=;t8z@&SE% z&+ZP|1Z{`D=c?Z>hryb}%4iIr#m zJ};yi<7Gv7_nAbLtt0dIk|Ba53HGi9=)_JWe@7KkORI5-$kc+7ait>dLVC6Ydwx7R31T1Efr;x7(Mq_w_$m(6$s5~TWcZu2p&PiDHZ(u zc>`Ll?ytY%yeMCkou6AC5U+$^p-$*y{#=pflT|ri;=$#S%#Z5_{imIJK}l5|m=$Sy z+#eV9B_t2Eo)}=FdiYQ?YEu?*sE@+6mUvf;z5q#g@qpGqSeN?=qz77B zYOc-cIaS-+J?B`@Ic-l*!hQ)_l+#oO$WN(pp{lz2AN@@IGb@ateMJO6CkZ8jspt(- z@pD_|X3r>ld%`ma5qNtk)F_HR74-m+2jz?WjIE}B=$g|nv^o7k^p?cAAL7IlD0AV} zxH?68BE)u6g0?jvse*WJPHsuWdC~*g4}st|BN;8)D3LEBFoG+EeIKOaG}%fb@^5|H z-HT49OCIPM$WQVJFm^`q zukYxLlv1%yN=AmQ8&C1xo0Fpl<`jx?AG8ljXnOjeqX*^zvRFbYO)2E@$#1qimS505hSDlEt6?48t#@;0Wi>M@1$m*}q^(jRkP4+W zcUp`|*8^W1;Vhfg+1v~goD}hMXp*_%%AQ6c5d*gm_qMmY*nNKW0EhOHWKK>uXAkaj zahDK{gzzrogyz2QqD3p4`>M$Ef2)^l-MMZ=B(3v)@w~(sW+DYbX+e(EJD%B}^ z$k}ykk#lSOI)T8GFc6)Ps$6-XgjhBbk*a>AMx?4A60xYu&(8CIdd`_6yNYu^@N^KV z$IU&j_imcp!oB3K6E&6r?cf=1);*gT;L2TFRulV;gLo2_oO609 z{JQ)6-aXA5#Q&FO(~PiD6t(4ishkNxQkk`>F^OO*k{zk|x%Co@u{=^)7tyAzZ}Gl! zRp}XNo%iF9 zIb$Zo-50*h@sK-8MfH5e7%3I$AJuq*5k_sZDk*Vtj~P|#{E^dn#wYGA=XEpvouH(U z2Ui;|Ar$zx~UulR>*# zTKhMuyI*Qg5hKLl^YY@nvIfrxD6;um^zk89iU}Km_K?p7GB-xYkmAMoAFu_Zd9XXK+oQ z!FWk&Gm5PFjW5&^JeW5{jEWJ-vSUu=5geB=UrGnoZLxfeSJ?7om#}Cn z&X@VoS#cz-QvZe^D$Xf8lMqJpga?!VaD>CU!q2%EE)g{UL2r->(SFP6nU+)NLEO32 zC>pR-q?1H26}>?!er{vQizk2Yw(YT?IAg>>jTU7D@ngGLTctu^zKB-p$bt*J(;u(z zwp-Umw1e12VVkHF^1!-{b$-I#dGW($)QDCgN(5Pv>oZaz+Al%B|3)c7d>*b9xpVpX zetA&Ze(B}KZ@REnr26hgh6j2(A@~iW5kYAmA-sflfDwXE+@my~E>|8w-p*daRERDw z)vRV#UY3e=Vrk3sz)%iiPG687;ZwPS$Uu@% zUepe9np-$7r}BEx%waMWqUAUoj<@lc9F4tk+P1Z2XL9&8ir*xkNzTtLBDu^_DxTXU zsRBLB$zOEF7L8MT_42bKTfQ)NjDRGRer{@3WdE1xk?*%0G5&!FK7pG~E=MYsiqNSM zNQD+5>+&z^eQ-rVeEaow*PodOj+dRM@0Shx0#nofsJH)`{P?D9f3`wsOGVe~v2zME^>hmr=IU+yC-n*(ok@n)E;)lk*1XiJT^MY6Rz-OoeE_ z*3yk^ejQ{4Ny2GDW4);uK~(JR|BPTNsyUc1KPR+O6-5Sm6U^fU{A?WzYDm=Veawp3 z^$dY^3Egc)@I0WW8inPIRA>c>2xd&AXGrS?n5eKQQpx&(2$TvXNsYjIj?p0WR6+c? z$8E$2IFRP2btp_koF97?#m6qTk?8-2Kq}-Xd9=B6(Wn|#lKAIoExXaHej+s6AZ`O2P?46}U8Qp|bc=J0-XugVW+!hL-UQ3Uy*-Id> zG!bof7B?Chn)vz|+UwudL#oDR?3LzLNpp#?*0p^TtaqHgYQlG-HgjoM1ebZw&yNTy zM9Ve`-_Xn`orQ&HN}Ds5YTf5_KmM>LZh^eY3+$u3;5qg5mmjL(?d(6zZO|Z%v!a0izjMFW=v}zyX?UtKVsB=mhNLgL?dnAj6No* z5G`lixeTaAahl2i%gM}=)H%F<$f{}1x~GSE$er?~-qM^Y;TTG5R)t0GTVH+bN>{&e zKdn7a$j*qf(!(*7R;jP2eC-aH-q3wzSgyvB+BUBse8B8bpnkOMGt_wb{PhoiUdze7 zbBu>2HEEfRsHZJ&AIn&7)BjsWtD{pPkcuSy<>}gy^J^p{=*=ZB)s8egGdqSJlNy0i zAr+#{&an6PghpMk$f@6Ph=<;HSD7A@jqIpXY6MatZ?Wpd_@!O-Lf#jw7NGNFcm)jg z0PbD-iQDbFo7{1uWO-nX!m^QmMfHR01gFWzWc^6?lE3qBWhQ+oSL4eon$_n?)9EFF&_D%65AD{dSa!+eD(`=eAWt1XIx)q~hn62U*qrWIvHgjlWW{G?|+I z(`oEQ@s2Os-Xu~X+MKsk>C57oH~rLZOxH)v{=s0(0?QfuL6Qf?53~>3Ej0qE*b3z} z$Fjv3^$!S$WGG=u1g#7AElOicL)sU_=VjGSj5G1bl<8$W_Gj^%gRU*UddV1#_QCog zZH0ctao4UR31YD985~_a(tUr!DelU5hKusReC6r*fqm(W6x*jFD`F2hwO{qwRXbuw zwj|=od9@?<{3421!7rMKeZ+%S6x&g}z}w4}pbp9)8(NucSWT5JdHAdDc}3gIey=3f zq+(7ilkJP*cNCW<&4qB9N1X{}5!jQ#zDR0BMLa0qetm5(W7&h$Pqe?NuMtOm>L+sj zpf-b_qpd6gsW?qk6(Th8s`}W}gzutGQV-hCK-Bh3^1%DZqBPeD~l zE>S-(&Nmrt*Cz%%Y zJhG0IVxEmMMrP;T4e2WCzj+ov>)d{Jv*yM=eyjp%>SD7R{f_S{MhQWvNPf> z7ppn?4{HAN-PW&$zX5*bmmz%^+|g=mSO{?0qytRB@C6~-?dVAH7)$OEYmZS3`asnf63B4=>=bzaK{ z^5d7UvGY+2^YY_GZ`<_ePvpl(znd9Z{$eDS8i7=g56O@Jv^q0V`B~b1R^xKl8S&-2 zPPgONdYEsM=knvd-m8cQB5s+JA8++hX5`?aNDO%(TB*nO{o+>Z{kB{8;m#W0piY>R zM4-G#g=llG^N?oF!G<4&x|-8Z|H>|ik1Xp`)wr@CJ~Xp-q}`)e#g3ZiL(8613C?kD zZ&t}W@1E`+`Yz2!oc_37Yl7Y*d7PA;A1~OG8Ckq7JBIb+?91}wKYx%JX*!?0efF=# z&V+u-TXcG7v4#bCAn(*`KXAQ=L_GfW3TND+N_zNzb3D`*t$@8urJkSloO@vEdv2pH z{WaPI(Gv0W2MwH^qb_$wu6fwoyFEYNr%~<5lkKJEXc2Q>c=LPR)-CrA`vDC0M z(PPXQK;KEB<2S$H9)9Nm57*pb?UL&(kq6oxC6rPj4_rZqJdn4P3fI=|?Z_~5 z@()r`L}j!@(3_hF){ZP1nH@XSyC7c0+}2&s^d?gykOxvB+MLVTqPBPSr?cIn(b-~L z6k8b_(NU_~%)H|2&)0MF2aWb{Z7r5F+RfC#^J;j9PFU|=7tI!JEw=5Fhr0Ig`ejG8 zyT9KkjrKvE!ntNI>9y9UrBt}86eW~Wp&p1ps_JHq_@cpS{%J(=gr@&v>`LHts^0&x zrfg#tOLmf^h58Bc-ZS2j43aI$o-LA{L}5ylkQw_rSxT0&6q+*cy{|i#R0yeLO-a^> zY%Tuhxo4jDe$OoRe?K4QeC|Ep^Q>pNXL$}r_`(=V7_CX&k1`_Ky6t*3Ys&AVoQIku zyIuFiCNwYIDBMr=&PU&lO=x&`LU{i}$?oDsu?b(Fr`g)v5SZ&|uVlCPj@X0`%KaMx zbG@&k(QNrLHsSW)$rF(VdIOFVP}4%(x>mwDcy+L~Qk@3G2zVU-jAE=kH7(Y=^QXjW z>Z1^W(J3((qD=&97d4tY0%>3_L<{lAx{6WCu^7D&LM{;0{O*Uh&H)G zPO#O+ozf-(`9-veQ1PjyifA2D5v?7JNXfO9_xR9Q{rFJ5b13_`{fDXko1xSEw7I{;Cz9l#S7RE2HqRE!+w5Ae+N$@VEc$C7ff%@ zDeg7ZJ2g)N@!N6Sj^o7i;VJHS32_N^CpF44hV!Y=d>=--jNHu;v4@&J3wxgEs7UDn zij>ZtIDg*y@R)aEGgkaU^Gs+!3e~%!O!k?+1;k zmUfLx_$S&NQ{h-k#hLJL&XRc32H9M%3CDYNQ?(8>tEOr;?k_=|;D{V)n|q3wcbb(& znbFVVBXl%leDHI&l)9nH^i>OO*yYT!>og78(#)WG4-sRAcvICN!$IUfdR>*q)V$ut^@C_=Z}ji| z42S*ui!n|0L;wB_krwt#0))qzU#=dpX7cWhUMa0dmYFniMNlp-2@!-#GR7rr8(hPbLt{h7F2o)E_zZW~AEAmjU zKeyF>QAh0;^>&MJea2dg`vY=EU@lzwWv=M2zg|lkC11*n=@VIlM!)hAoC|HhtJc{O zXf@1*Xy!_LV$S+OA0u7iR}qdyPA025STio+{*N9r>SJy+%pMtOn+V^|i12+3CD(GO zIuPl%p zp^u9?_J9-pCF&jRVItIS^^n@%?x_9k65rrH35xLf(HN%D?&GW0vNqj4UHNOYdWUJC znO+n2pVL`@OzlegOEZml7MapC8o(8PAy9JMtAZS&7KA7>u!K`)O&gEKj>*&9K@UYG zEQ!B6%xOKU(Whv2|ABj*ac>OnXF+=A&Sm5Z(I(=D1{dt^^Lk|C>QcF6_wge794vAu z1R@^nlI-^Sv$%JMqRlTz>if7K#GVZ8ZzAvwB24Xm-fENeOua##&B=m%R+rPn z)mBpEtE8cdr{NHa=DbYM9UL0s_} zW$&a#Lv_-^RwpgIUEX}U0=YtNxqSMYB>%jq?p-;iEl9TE^pB6GxYhUS=O%)3P54s3 z!CZ(oJrQ++-iLl{(jW=B4syBFMlrX#z49^U+!D?j;K<3(PkmvdQhE<0m4!2RL|e6_ zG=>kG2rLU}AX*4{`F~da2MRl_3b*n0U$LdKT98l6n+UFJ)G`n!oD0z=0_z&0O$4?+ zTrRdabjBUgLi9a8+d5k7cBjbXW)AM4!IqPD-E)h|y3!*6v>K<$!*jBrM(~@gxe%?q z9qKtF&@%{)UYR=rb8$MG%_Y8}{#^BY8AwkftndiylhndQi?tJ8g^yLUWI)V1U!2c;1$M4^i#1G}%6 zaoh{d9YoOi59XcDMBZ_Y&@^VKz9-6BHLR4gq_&ChCD$h>8Ew{Dq>i-<(YYfq7ji4a z)qP#8v!51shK*=p)LLJo`rHg_+O!Ae^3$em$PWB7V^d*$M6cxB^fyT&zdwF9!@b%x zyKPJa*_=)$&?s!@Fh9+{pl6Ea6(8rUYqZuok8^$hG`IFW)P}bTFWolHr8`Y14kSO< zH&oo$X{6Kn+<1$q@f$*LnsVLzXPP_pyJ!zh`TY99qk9?&bDI2$(wX!7;eSVPE=K4v zHDUD6T>qfl9Q}kxYz%cUjUKPU{t3j#Zr-0&`(n z(@-M@Bl~nF-V`%A^o_r8=NiswGQEoFLjnWbPdB?x{uu&R>}5 z%v+~vEmb1FxITpF$l9HEV>%)*7t)UGlcAMSiTXhrSdzKghwC4>=7A+;x|H|FoGC(I zLLXy<_IUh$CH+uN_I&o^|3;9%a!GpjQ{7l72}kpyR4(_gWHm~YHUEDI%*7n)`T?t! z-f1Tt>wJCqz)K|)cD+EY1kL-EOxW+;l|%E1nLD<;Rb)4Ngo1+?}a7i}Ti?wB)fFo!3TXkeASNN^9*N8me|+H>+W9EIL@?enH$v zIBdoA;IU~XywkZVI>dd;?6RpryZEOA3h@Fll-I7P zcp3gr*ALyw9Ctc=deANQVVttZamR13jw_pmtbL)3W$%aH|9p(Zaxp#!a_Cc_afyE} zG2WOL!_`c+A?3&rXVs4PZNg$KM*jp?t+1aKo{uw~B;)L3MxE${KFf8)6Tb~6IsBiA zpgPEFkf!9VC-rj1Z~DdK%BNl{jAzOG=N?z_gPn^jmfNY;xd6VwxRWR!^Q7x}PIZv# zIqujq5%`Ad9U*es37F*R0BK+i#*&0+npd5o8@A70ablXa0ZwY+St*pyN>k+l<9!oN5poEwUcMh2de1iz2C&bD2y`5(F zt+QYHeVTE85G6-zMre52MH>P-PIep4)4dw`vEQOH z6+*OMk?gMDu5&&1TCzLgx1115tj?lpp6P4qImeeZX;4`l$qx}&lA1&QK%I1YccXph{iZ$8OVBpzB+^~~ zbB4!%WWO}6f^iNKPo?ClD~bG~w5SDB4)k!$g*x=)aFiUDl0z=dya|!M8c`0u$xwfD zD#;@Vln`?vTHWG$Z=4f#`;+$i*Ak5=H|UAEO783#p6vcwNRM&RV@xkm(Lya1!!)2` zn0j-T9BUG-hC1}3g+>tg26e@n)+4f{=z_9U>U{gi+2%$aT(0Wfgu=vOIE?jQ`FJh} z%w_5-H#v~2$6z$*(Qp)3mf}icS!hk9XU0iI$uUkU>P?7#XMeT-T2|Rk>(bqb&wv)h z_(diSEEnmaOr|}s4k9O}J=TvZF8|mu!7i*~E~5?5Gfc@9!choIAtb&*U77PGxgjtY z(laGT-cbuEpHXX_6tx}|`k(gpGaZuMwJo!IzVfpRrR7(Zs@mo1BswGiNp`0Nwf8Mk z=#H6atT!IQQ3y*RB)&m8aMmby1m;3|Lj3Y`39o1VrBfR@?X_v{{cU2r6=_Nzc~_@f zE}iC%XdC10hA<^ZX}h;c&RoGr3uB!ZqMrJ?d+d=Op?8(!s4L_IH4?dP(~FsTYHMNI$k;74PSV|6w)Y03KL$$gPTyIB}>=|0% z3^MG2HozKeY8OYA*s5V4Z2B&0wEh)!AHAC2rTznJLGB35g}&e+BA$qE&?^yb$l+kU ztKFKp%325aJu=;XZp^^YHz$UxIe=+ybV96mXDR9jwP4VYIBv&Ws6!!kCUvnhHdnNV ze)gioFBTksBJJD}m<#C%@ye0%&eTgC0>4F@wHD{wOQa$^7JSi7(# zG7(tUFc+dt1de2o9->VIwtbijX`2YNAR@5dmASY%J3rZlRzG1cf2o@+vvrz# z?oy0*H!-#hSRZ|!=zEYj;e89p3390BFMV&9?9~)q%=h+qXVmGGV5<+kRXNqGb?H~f zX|q`OIQW%<_p5PQ-wv$KS~}{irLE3dO8ojo-mxVz<(T>WboYmw6niBt{BW7+?oUN? z($&nG$E+z!k6N2QO_WnhO%E>I8s*(ziZYpU_*6`rqpotTwN9ItX1Qet=^gR7a|E@X z^IdfG-N*OOVOr}7xRU;je(`YQDV-83sb&gGWT@|RZ-ht~Jx9jl4;le*AC76=pKBVq zBPbV_gb0t0#0V|dYb3iD-}3KM@Z;QR8X7@5;Wt?k^kqpiA?g-3xTl)+LptF!>56X+ z*5A(mbx$?r!aJFLo|L{!PgEQ-C&;0RK*>=ijIblbj9U$zzh~X+?2h?1@ZGZM!Hhqm zyc^lZ+)}mZ3G!p%Y+F1%c>OZfC=szB(Mpn77Sg~7JCu`uDx&q3>2A|sb^XA3pT$qi zaQmxUUG@AG=O<4=8YokC8kJYw=`_F9+}U(_hI^nM)w^)GN0gtYx?<8`1X9Obi1v9R z$&orrzGZK+d-YfL5+9Q!@eLwAFOcFE$(z&JjM3_@_{zU!*A?neh;>Jv3A9Tt@4V15 z(LsJO7s}@$LJA=jLgE|tKJr9F3sHR6T~_L+rJeU5H)*t7I^A9KxYjgsn>zw?Wusv$ z8dA}a_y)N`w69z85^QTjr&HX&O6Sz>`j{jKb8S+HTR9?Det(zsfs#DGk{qSQc0O0G zB-$2jj&YHEp2)B84I<1~NbcLG?YExH>s&qjs9bevdhkkl9r637Jw5ncKJu6(yW)fy z!HV0Wyr|$N4J?ax9^r{0|CErD+*XoHCAmZi(H>?Cmm30eq23IxjEGqn5em6A5jZZv zwgjyyM6kp}Yf}5-&Z&lphRxAqdNr8t+TFAtn+UWy=0dcGuoVrdXh?j6y#e~0`eI4h zXia!0k8`SiqJ#WmE~F>Krww=6_2oKyPlsoWD1vBzT)XvX*ouZ!G$fXbTp?|x-Kw+g zg{@}Vp9cELj5;%dlN#x@Uo02t8TK$FM|viW7NsXzquUmDP6x~yg?cl+L?LX2kP0D@ zcSN9%sgrYnz_KtGq76A59OL518-2{QAX*B&(v)1;JYo+Xb5dK22$avXAeM!>5N*nV zyyLfsDaS8&?XXta=j?-jHg~WrlnFJW=K27E>rt2s(H_E9G%Q6!A`R36qJ=ng=ry~1 z@fYl`It?~F5m(01D}~5yl?=6D(ohInt*cpTT}`5X5P{ze9*qbBb78r;BT!n*g=lpP z-}cgWgRgG4=kFM8>;u61Xzn$@FBTjR)_gqK{qj|s9c*f><9X3xBHuXpU4!2{h&KJI z)Q#wb&eLe^pW<-%dwh-!icVPJ?Fpd0CQ`nmgBJF$2a8P)KHOGEx5bgO zic(N9;FKF()!DkbvxT{EOl>0Ki?>wq8H+lJG0z(N0B{EcqJ^0BS5>FXj^FH0z9=h^ zU)0b1dC6|I?Xj8j?Fr*rI`{ru#Hp~!){)riV?;4CrtEvy z@;D!CIAfQw&2b6lLLCaRd3zP7-py#IT+#dzbD`c$MAu*)=a;9i*%J=sGY}{TqJ_x# zzKB!!j%a6GxpIcCP(O56{6~MYu2j_1NMs|-h2J0eUE;+swN(sLTg5Onz6}sJFae`U?v^!~F8X7^Y}vtn= zqC}lwF8q?o9f7%U94th!<+nRAGn+f-hE21^sSPW?e-!0K1x77Qs5vtjJ1{CUcJy6u zmUcqxS;93AG0QT+uC&*)lY3R@(XY+XtLp1rHir zq4yy@6}xq4VW(2p63+ZT%S$X5>m%w=t$957k6nKFozB^96(yF7S}@1$D$;Gluh0hg z{fU~Ume7mjAt~jvcwxF8JsL`2c2bl^3DQJkil#`ia{l;Z6{+A^@2eh(@?f#lV7r7E?`E+UbyI^y)V_lq&Fk9qeACDJxe$oJT$Gj@ zb3(8bq${)ma%I}%$Rqd4KOd1EXKX=g;n?Pw)_0Hm7lLweNgA=Zep{!;vM5i_I12OA zwZi6Tsq`I|GkIc758=O|yO;ghQ~!BZ3oad%qJs61#~pVr?DEr8|Nl9!pZl63UD2Da zUYj88nus#ZUXeWq7P7lX zeHTC%`P3YMLeY+g;|J<)C!~mYmWig5Qv?kavEb9l_<2 zelQoJnFjq$lAMcZuqU!@*iI%QCeMtZJ|}!U;(dhZe`R{)xe&Mmg1F+ca-yN-Km_Na zH;kq3+$l`zqTCaW}b<`WDiJpql_#X(ABRhh% zNN+ezoUlyUx#C=ez+9ZxG<+K-N%bT%1{p?#i4Uu)<*Mi;UOVsSCoh5c9$vH_9f{3E z3jync4%R!?8`VL-r6vnbYgk7%*`?PxITy8LoF)X8lq*+W?3GQI|5kCT%y=mV!pXaO zeC8cR$DLvWUJtI>q0a(PytQUi;xe>$eN2+UFXl39)Sn+$bIMjt@Vo?DPJeV?E9|GK zE%ARzk|M%nYE+%HI1(<6QUHXtwIGe)x zLh+vDJZ>{3AJ!wrY23QCXMOxqq`B80@1(W#R$+clb56>a0KvKF4d&wKdNykK_2N!m zb@zGQN}a59oym(5F`VpzW6Zb}!5JMi4WuVT z=?(AMF_Q|)_g^r%LbQn}cXpS3dC5iVzG{i`Li+o`%C)l7K(v~TXuT|y_~1B6)<+9+ zn%XPWx;h(v=RiCCPkoazzoA^L>FfyYS-QRAa&v1F32k^uggU)pG^KqDQtu3&XyhV< z_P*m;5GXmy!D-?U=?U>#prCWdpU-%@LM^h*i7S4t)CEhIu7^*B+>s8l3zUeb*$} zs1Y>>=hs?;6D${HQYSL!w2*&H|2`BPUCN+=<)RLa*2j>8y(GIQYHz3ilMG$qxm1%Y ztWm5*@;;_PX@0K#Dz@2H`_;iOc%H~Mz+9B(=h+ch7UtsTgf_h$bFqgb4UKrZ?R|3l zrlXqXp5jzNSc5=ozRhw5EYj_p$gbC(dQ~+KpFoh>hiBn{CTO z4|hs5Y>u-n$gR4+)^9}}ZbeCpEIFlp+EhP6*LK;14_>sMDv@X)FjwBQ?*~hj(PMZ+ z4x?p2$q{YPFxqy%+<4%MB$s`!SPvC_EtJ%`yD_&EJiaJ+q;ZUQkBuq0&zJg+ituah zF!Z@18fS*w?L72qP!bY##cA>k)LYI7%!O&~yU3OA4JKE<_YhZAn%A`ozS1sqZ2Ze= zJ!(<##~-2->ThToYVzWu;IO7K6geV&%&mpNmP@_)5=Edw@5xr4Q9q|2um7TfKwTkP zh*qa^F@f7zs?KtSzYAaM8Il>XmYQtfVJ-p6d={5c?M;rw4xWN$XrJ3iY*Y25Lx0=InLSh^Q0*-w31!DxM!A6gU~ z-#yw}X~>l;Z|;R=gsEJfRiU&wpNL%H8$_`05?Y;ck1i!IeAq$`{`==Z-NXgnSCJ~k zsd?MN;Ab^TdcM2mj)lPqHL2$$-}QeqQChS| z#>Pd#n$PL+icf*Oq;jp4;HcZ_{8)VWuNpIgg<9xzgKjCoLtexJf9;NtNe-?xlH`2q z0!uP!U@oMQJ0j3*MsQdm+F4_Ag(aCZuw440-*JXoocORQN2ABfJJF{f2tB(#(U5%C zl;q&-d?b0TENiK!1{aZ+e-FrEEw))rt}Y0UsaVq6Yk(G9(PTmJrLmk|aucULPQY*XE zo~Di;r=(UGX&`O$L@x5{r-dP(=_TG=j~C@a-7zvYC9@axBA^B*sW^A!F(v|YAtzK) z&It5A%!Oznn*A@s+V|~U_H#wlPFbj(D+(?OX2eA&s9EUrI$ak9$K298v(*@GTUzL1 z{$in;yT&?H?)JxG5{`eNd1r4&U&tMSxo}-QcLe6bwR;tzsdu#O^X5pq(%PmH?TjrE z$|uBaZOS^q)i*<}qs=;qHutSbu_li`_K=+TXDI3(2WjgjSTAyJn76z;Djq~P6kV7H%TpI0kAJ@z~AMR^Z zsIP5q;Z*%dPY$L`C2uF~BErvQ)knVdDRY6pA&4=-k7~GSa&D2 zd`XIzoa07etSF>MGzR@0FW<78SkJ7lB+=t=_XgGi6G3k#Hqbp8=0Y@i6aSJNd^4}j zjNs-Hy7&3J+kzmSmC`N4OGP@#%d_%0MbZujaNM@$@kPO#V{;mdB4S7LMZu58=us+; zSP>oJ$n$pMonwE}jvY>8t7IZL7x9a^__;oPrZIZX5_2&ZLeuBx8Ew#NzkMZ$=lAtsl)RSJhq=>@hgb>p2l^dI?LSd`6~xm=bKCxzhzX zWI41wer(FJf`<@$F7*E_5exg#*wxvevT%@675y(Xga zfP(VDL&vPQ&zQc8T0qNc{#knBok!j*2h|Bqv*fyt6DlVJ<>KcWkx)0yy3n+h{am?z z5_?PR$ttf~7##6&32)9xh&Kv#bu-jdb38x};XHC?hGSnPb9Hz&su&|hs2J(r~fb@iT?A71w<#U(Wzx~n1K^x!>G4ur? znw-2~r_EYsZ>ZANXm=4|ws21c9P8Ehd)S{Z>?28|X{maAj$UHck0)O{Z7+5A*`@zh zQHQ{*{oN_JZ;e_}>z$qUrZ-O8_dLp$45Q4W+(#iqKnLY*xcYdut@pW(ZU=PwLC-!RVmVnH7hV#(!gcK!0F z?Io?AFyuhVO|D)X^?|*3SwZKM^N%}~FU|fAjh5L-1IleI3bOvbMZX4 ziNIWV_Az$^o}5GkmSoaUz8g7VkL4mdcLe6b(~h|#Fc+RHG!Ym{Wl8_p?wE@7J&+d0 z6MQBD<-l^ylX^ZT$w8f<-po1uLuHp)PklYXexp%8udnUXM7KWJ;!G{IFgV~jj=8){ zw6*fKj8Y-cx1#U0x}CXE5rQ`~dw^>cLw>xZB1fj?ApzW=qn#63{B(+PKonKb_DH_g?1 z{%NJb=iQudf8m~Q>^2!aoSlC@W$}I}+518uHy2-q1SXG|e{*13-_!Zs&hukVJ-Q7hdEWKqBf5^#F6|e8$8WlOa&vIu~?Kzo| z-)M#E*NCmsONa)U=lTt>YyEkB``A?XBI_F_o8jgdq(jM?t#UU)QvhbTG>B-bisbMS7*a_@is~HV|7|~O989Uik(*PvwbD< zi*lIuP`A+7bQ=w6jcXL{5v4Rg*ZW1^T{p!3_)try)Pr{z_58=rrn_Z&>HAVm3#Kh7 zB!3MovZkwuS+N(m=BQa*sM~B!s`F}x(5SPao{fh&ryiPVRqZsx9n($kttC0CcG7j; zq|vYEd!c1^d*{a2w@ZA3TwzJ-8>hv_&=Q1nC z*7~r)?)yhd%vHJ8JU68%&8n*V(F_DV;r5;TD7`wV?=hh?Kj*&7N8oKIW-cGCM*1B- z3k`F+HOzNrtVB-AuAS@l+Ds!dWzCo7xy7D{^}a>aEtSRlHeB)h-iE*YG|oU^u9|Pm zbKCtCleveb-nUikm+BR90*|*bw2Sxlp{CWY7r7&J?Lc#9+Tqd?->B6$cmDwGiKfjP zP8sEV+cnWXvg5mex_8KpeOsT-YcX=ZtJfffv*z*nuAZT%x$sY?Obu1s6XiVJrHw%Y zxk7qERPHb}bpBeDv!hWP6?56=1QB>cBI%BQ)UTIH$h;dj%(g)bYRf8nN7`$$8X?HG zY(Ye5n`1r4b{9RIpHrPTcar1ig>zABz|S>eQvDz7IuEZ4^?kFCyyLrh?uCVV)f@eF zcE0&;V-<7zqeZ`|$i8@U7RKV_sHa4OpX=7={m(}@`+r;!NdM+d3v*T5KF$57T};9l z`9u~(lU0-L68Fi5mmYgjA}8p_CRd3U#(CQPa)h0Z)R6|ITQ1e~gn0i_YiG%rXb-hi zMPqN=U&pfGH1W<+DzvUD6&vTIeX-VyZcK6<+)Z`cmzHuNZT1lQtKyM0n;1ElN>5-c z8d+DR=ln}DPR`+|nC3qcnXn`wVq|CM&?8g8DV`VKeM!(?zTgZ-7CR@@kUR8|D{SBUUr@KD^VAr0M= zVgIPPVmkVb_7XoAm!#3;Q-q>;0OaABH~nRabjtTt(Y{wec)7@OG?zj8q1dQoXTPq{ zbN`p*M`W_XhsML*;2_yDLt5$~Unyyil_B9f(o~K_JCm$)4?%mDC2;IK= z2!5_h!dlDJNk4R_THh4aq9)ylaHw?!Ttzq`8eDGndcNc82zlR?sb25Q<-UH#q=B@B z$PIzHIIVT{Q14fq@eONQq-Uloo-ga;Y!)kIw$%K&=qBCBf zdCNenuhd)+NWF~`P{WBUc1X4PBo|F&om~9_39%(*EJ36AlKB~>Y#p( zTyblOEj6XHw$zN#H!pI}g1M+9Zi6{D{Y{drcPf{4MQPR*rA-7|jou(ScSMt`be=lK z>nE0}TU^!t2`~L%fFh;qv`ORPb~)!lv@s%+EFq0pSaRym={fiFOhdQrS#yzo5RH;+ z1k<25jHWa{*P|t-LfS2yRx&~D)6by$+UeHF@uGy6uDscQuI}`nKTekK)ywlMDvSF* zKkduJT$z0>^NtASN+Xa4^G^EVG|QoB(>Q2I|EuS z`Cgi4Bg{Dfs;w-&&xx*4?0x=oqEYaP3eLW``$HKgn@TKqLe2T^26Yb_#aqfsgDE6Q z)*|Vh%GIN=_%LfdyFKU>mHsv`5m*wJPk;5eopplcB0V8ig@-$pmVX?&Tz8s<^I}mQ z=DSM^#CSXQHVxByTQ_ut*9YkG>3=Mj)8sKZaiu+x-(<~&Xw^qORmEv^;!LQqn;`M4 z8o##9FZw5k4RvmRq_VvvFwMfbK9mFHQ}e1No^t+rw!QsV?|f?R)t?=_^7lM<>KuKJ z1<^ue-f|qG8@kaRh1T*&FFw-xbb2}=Od8@}l7V0?ke#`9Ww$xESM&zy<&Hp35P>BL zQNP^{d)Z^x(yPDN&A3Gg@Bc8htNKBy#wDKhk$O&YkYyt`zk3MIm0Me)B_G=DZ?~m^H>K``a}4rlq5sVl-WI-e+Eyvd-GaZiYG+PBi9TQCFx# z#go2oJEZR0_Iey{anMWXw&o(i65d_tksF~ybmu*d00==}+t_}Xh)%aPcY3ZW>O9-_ zHH+szy;;u8xhzVfOlCibG$>7dAJOA>UVr1lcdf)XX6x*8n>!6epiDwMyRfWdC;l1Q zaGw8pZ$0i767YYVUnq~y3YDirs} z>hxzunh0EJLbN&v^>jbSt}h+M#;`9(hq~iES4@=P?7JG=jBAZ!j04O&a)y(Nym^t!X@Q zA=>Q_U%81L7tAG_0vI_tiE&8~Xdb!;5%;32{B;pA-l!-F7|6Ln{r&NKF@8xTkpj}nb_vqQ+O0koS+T(JAs~?2(%y~ zup|?KxloSWX`tko3(>iKJI9A}LTlf}uWhymy59K5wO{2lmytCWqRp8JEQ`~GHrp$lncz1>oe`Ag=Y;mHK`kl2pauv#wdp5&I@%?+yS$)`x4zlvF$be+(e*P(|QzpJCLM@mGEQ@YM+}%Y>Ya-t7cHAm=<*2n%-D`>bB8R5r3SldRtq=xRSgwiiwWaTm z;(CsH!!|~U>qm~+^zTTmM2Te~4fL_x5ts`tD@4t6kB5FZeOt(#I!?Y@Ypz>xiQe(s zCT)&eO`Uclu1!zGd1{SiF^e}U2>hpL4I1oDfy z5bf($wG0lnoU~K=^lfq3T5TcfX3V!5A1ok;-_gRm&x`GW<hmIo+d!P-ll`th=ea{RxPl@c(q85a3 zuT8K%s#RRZcGhY(HZPlh(KS$T!{8)gcJ=& z(eQ3di+DK5gtUdIIOv@~x%zsS5XIHnzbnpL2j(=*q%VB^2RGwDT;|GF`wq_rx^*ls zdkju=kQ3TN-8WYIm`Ot+LJHw1grQwR(;i6Dw28>Org7lO7s@-mlM>a9o<4Qt%8vp@ z>uUZl$!HVt)CIQSetsG=U>!sRwlO9G>j5ILBol!xHI|EL6M=q(xsbMrKyN?e|Z_T8)c7^iFS92}lK5u($T?SW49YdfWj)m8U29CSHe zboJVY+yOh{GSv7pOC7x0A0yoFJtkj9o~ zhul`@xt?#CTitnY(-HgnLKO=M?9uYXT=&P0`b-0AU5E$k<#isru->-bPn1_z%ys(? z(ciMjiHW$}=M}5%gJqmOH4;=zS-szfS{&pAIrQyE{kcE0l@`t#!OY+LGv$Tn<>b4! zTW#7O2~fO*b6!6voCXzBRcyOhFXjNn#fn}=?XFO5$uI3bu|G~4Z5R2lkHkI|CvUvVg zGY!;&5WipPD|aVvuu3)SW+0FgL<>>-zMf8{MnBv4j=pI0wLVuAH3Yeen>5&2dT6;_ zukW`3%!TU|=Fa8ry*oL}2mEHIF79HT{$-wPSJd%d5se-y#0$aao&V)oW53n9tA)7` zjr4^0`@OfV+5;;)J%`kn=yA9U4LwxFVJXzu`Ek)UyU|DaB$kVu^!R$7+wm^46P*Qk zc0#H(YFZxW%b1ob*2`gcRANc5PsMVPo)EX%b(T+b$m{iQe%y~*Y9A^`s;d?DpOfz* z!p|if%;i6)bHbH&_m}-z@9_KzMLGPJiCMU+6~_30K0Tt*?~M-5^*hq-XYSl?*c?ZIXdCsFysC}!<}0J@ z&g%R*S`b$kOfT`0+P#W4FlITCD-!`+$;Ef7HY4-id4HcoJa84SxblCx71ig}^qR1adrr5xa6EL9 zWA@rOC$!~B`?gqfRR+02YYIVUacHkT(ZW5=+*{Ht1wYq4Cn7i(y}?}koY2a5bJ=^2 z2;O_HY2bJlN0ywXFH;_6>aWzlo*SnY8zy`E0BXzmF6*aQ{Cs!oK&1;mPi=YQ3JGXGg4a z^&84nRqZ{`iZ&4`ibg008c5qf$YBrXtSgpW??Uo1Nlxw7$(d&n)52#uB)g+m{1;c4 zi#TDKPzzb^uF2$z^o~~JwB`!$u3!vkg(+5#dJ#CWPY3QE~*791=Of zT7=yC6o@MvN8_xTX%8QhNAh}=X}RocC>;F-W!rCrns+TY|#AsmGWDTKt<01+sY zy15k)SQh3&v=FD4l$X2e_6)RoB+;vb?0uMPw&K{0wthKo#C>NKc5sE8Eab+v6 zB)8$zA|qEQlP5<6f&5}FMEhPvo`~Lu-=C&mef?|+DMq%n8r*1Z=!(v8>$5B2FnXnm zvY874bD3NzgrjKKiiX5Ds0Bouav<;c?QF_XXFze;I(>q5{Lw@QdB^%_(ohITA#8<^ z_y)PcZ(JdALtrkX$8zYkZC*JhU*a^aBIDX*?g-4qtCm!fiO4Azt=*UiTxmew7K??L5XtY*pdksPeptCJ!U7AOqlScUNaAhk_k&6qaC!g zUfc1djPy<=p0tZC8!c7L8u$5y6sJarpQ_DtC%1_5*0!6qnBnGcAC(y~YqDA~NxyTW zb-1BvbL8FRDmMh?GA)Sv0FZau2O_#_nVx=1?E_fM`v4RTM{#8&w>&ck6zCRfM_TFvB2txZ^JHAAY^ z41)&F2qHao7eJoY^4Pu@uieEu!D;ev)QHl=rWNVuHx;(aOdVr*N!^_@-CZAOkEwoX zrW^HAROadBx3^UdZLXi+9=m*uth!*9+iI82_2Xx=+!k|mE)(I)o@Dem*an+3cZk3i z4s#*e&rdeT)&~(-l8M0H8T&*;n+Wto%!RZ~1o|i$z5{S6mj+ z;53zM?pCjP0l&eB?(9;#`he~2}?s6dSoF@5*ACs#lD}5Vqxv017h}^WxXm6j4qfWkf+C}P| zChc<1sku^naUuwQlQkEji7Wo8SYer`cBm}eWx*w}E+#>u0lp64mcw#!pB-|`9zuVU9DlaC@CpX$9i`>xWG8i2e?aF@ zpVe<#W7@tbv8)S!&2-z$E$NN=I{rMV(yQCFtq&&(|#pYPt$ ztF_D(c>{9A&vmVZwF!e?^n4R>>)aO&zr5U3wis1GqMcDD)8;#GRSgZRliz+N%Q!LE zeYRWUuy?0PI$BokZu8gfBI|X;FLHt$s#7WNO-wKM*4c(d4v#Z>XQY8WwTf9Yx3P@A zRmpNM>-$*RRgLvL5!ayTjsRXgQ|<53OQD3s9`=X>BPDtt@{aUW4AZE)?K6X3l;>{i zYVEBu%cUDORm0-csW8hOc~twDY4beR?e@?r!{qJXCR>;bwQC~qj0x9NYH_fp@^gLa zzwgu%b`7V4EZQWWoKbp~yKWzGm1H9gq;0J58umaNU`u42f>7S*pPgr}ayUotpR{l= zmw(bC>pi^pqKt#L${*qdK9!&-S6@oF*HveA*s(Qjc?GwICztxw;{*<8LARnI>{k(TWo58d}ig z3ibgQeFj<(XKs!C?cR(q?PDkEes7rur>khz8TwiS!F^&@w9(@jHfMh&1lnH+7-cxf z3DWRK9K_XznlFV~Z@ywZ+qS#cigMqFeIi;`2=puVpRB%wKBl-*r&9iWE|07;th3=I zNCWL8!~nIbKjLC>r&G&#b$i`x_rP4;58fO*$E~<6%3H6mxNWv8lA;p!R_SD$d(T-~ z@*f;o@^kGac#fXm5Q5W`3pH(?K4Xs~1m@!Bn#PC=pQqmt;{p{1jPt%A175TiA*dbv z@lM^>Hhp%sd*}vzWzY{sed;E5p0i3bxMGLf}HTaVlnwUoL&IGCgx7 zqbbqAAI(_$1_rUiQ5$0bI#;QKXlkrCY@v4=&(Y=9PeA-TXNNOLW z|3Lej{dpd{aALpro<2Xui-5_}(#}lw#2-gbcR!n?$MZrQYk$LPdEfVT!_5iujc<>5 zzC>*aa^?FN+2hbp@qsm;><#qpI@YLB*p`^yp6|D3?dzB4*ryK;Fyz273eH%l_3g*i zX~qXDNb-8xz0qNmS3A9(96DVqY~GbJq(W2Kw@GLJ>D#BlnUG}R5+R4jZKer0z zneA3pC;90_H_{ulZ?-#oydKZ1-6B`p$jxp6IpWUl1`T7U6UZmT+5S82+sF5k)A~JY z&_FqmUS!t5p;-g^O1a}2MKRX12J>$e_jaDqII-%V`nihVK6R$OZqPt^sGLayM|wyv z^2Ort7fas4QQqD$ESJ7s3g(H*ybF8qSFL4%dEZ;F{JPDM9Ic6(Rxt;(Upeeod`A)a zQiF=#Oq#L3NZt7|=lekP{MDh2E5^t+X$yjUVgTcXW6W(K2LE-R{H69+me^?CL__yN zj2GE&rHOnGI`lnA+GUNRw5SCkrkp7hc;=qzp$GmqP9k;W%8dT~p>y3j*ek<&Se@p; zTU7Ao3-h*upI85yUQ~2;?2q$G! zzx*Bgrd$)J#jOhRpV(RMhwpNXTgkVl+T*92-I7oA)=653q&P8t+ zO=*5kXw^GEyfl61r3%j1i<)}hwJgWDduO_`PIj5h5gC??y(mA|G&1j~a(bvcs?fu! zPO#@w>+@5!5}7rs?CGnaz7Ljj>WpgYjr3Wg$QA04G{nCoCv|OH!qiV_9gxls^2z(O zFj_X!COXt6A}4rviOJQ8l~05|Z2f>!@DBA=1l~vU0jxK)rVvjbu4Wgj@}jeTd{6JY zmc5U@ipv)F){Pv~6YshfWAEMer1SW%QHGbG@0v7f6|E+ZJf7dFR3}Pqc}v{@^l%Ap z?2NplOlo&@IJH4s=&Bv_WOo(S(YG_MhT( z>6;&@oBjr?dtd$aGelrXLfoHPLEg6XioLymMeklRz5xvHl|lK0D0H!mUHHU#duE?* z23N=l%BSv8ocx=0&x{N97xD3iuBi3lI~(YRs|~;E8mwm3;wL{kwZqePuO_1n8n~j2 z@+q5_$|v7^>405A#v8lUk$03ywW2>fo1U-r5xd5|K88Keuh2F^oWF9z%6NLKUG5_l za{z9;K{-qsTs!F7pz7wRgh@YE_eS@f_nZi}8(+#xx4#gTP{u1YG`L2{&9wUdesTx|ex>Y2u7R}-y0!tEN?Swnj z+|}67jE~wIh$3!D6^m1!F+#Kuaeo}M3p{(ws;2r{+{Nner;T?mq`x1mT&rY)p7)tq z^O!wl=}~L5ipDzNP+3#gYtNsr&A)$VCI)Z-ydKP6$OgM&1Rf4LYoMPjAukD z^z9s<1#u(eWBYKOymDN8qU_aRVK8Ha)^3}Z76b=9q|@c+F9_<}N{B0UW4axzmsdWb zPUL>qb74^5yAtmp+C-dfH&!MMIPLANMael$K8EtCQ8*y@P1an97Gm+3z4o?qXRRZP zOfNwW(PPYra!3O`oS$n?^sR25O2K(C?Aw*iyYI7~e(Ic6ys@cW3`k2{CzjCHnN1oFQ=(K4mqM*J}n0#{I<``g=q4tSm%@XT1nz=(7xD&_5-y}xJ9LM z`MGWr5rH%?7ovr@`?q_YR@1F)G!S9SxP)d!bQ_~?&u&=9X|n5o9s<1qTQyEoE%0?q ztq<)rKKj2nuf0MJ>3RH6{oF+Ou@n6Gl380j6G8ip$+IaJr8!C-(l!xUIbjYFZ6Z)V zh&B;N9=X@~^AVX%SFAVE54J=?jO$uX?yj~d)H;;toKv$8FSje{oqffY+HXavHweYt zDf<`BV>kR!?L$`45UajiDjNbzGUY(t(fg2|5YVeReqB56pd6;n6AFB7^?YYy=+7tn zIoS3gC#D?G*BUgiT)*EX$@_i%oAp?}YoRxzx;s}3l}t!WEv+R_p}Qx`c=k8tINA4t z^+xrpp}U56ckm7B4NFpIE%goEo)`OLs#@V9@e5TL^r(b!7ar8Nb!U#XOzo}$PSC@V zc4St~qk(6laNOoUr_)YgbIH6@tIyh{v`>TjL9mC!Tx^@{y|c6F6?tfKRqxxGbCJJt zIx9WHcMTf8o#V4`1^uAox38vOp}z_7SMq2%{!nX=E0iNAE$G$<5uA(OFq+c*oMig% z7LE|;`D*$MbcN-zu8^Ll;rmGvoP#n?ZJClI0^4wIiKsU)dmKb?-Oic|(SCkvsS$y> z=sEZEgz!fIg+5pqJo&!2E+6JJwZW8LruGi&ey~o3Lb6WVCDsL*=zV$d&8>7l=hSO@ zEgk2zveV$Qa-yO8L0^(2$<&z>;*iqZ?rOwc%O8@lXTP#ODPCI5(EIayIQL3(06gz2 z1h(zW2}#K1Vp`MqFGN-jg;-y9rak4ufwKL*U5!W>5L1wY>6pK8dr= zxT=dYw?eGG^LBaa+a*>=%@m>JXals35Y@!%_D>%M<Y01rtH|rQ1)%R*>h+bqRgV*| zPN<{?{WEcW4*X_Uh^`{*Wt8{USiY>R_W@i;pY2v2taXL7g?LncXn#BDQMrF$X^FW| zTC}X1FDdY@{kvUPex6XlKwvJD#yx{q*_*8bvRCs&gDYCKs?#+)hiVq5_yqgO#>M5w z!|98~w=;5xXf@xORMILvEXw+L$!PC>&RzG#c{`}^R$aU)T8JLCH(4KEc-q<*-Op$l z5Mg@a#zuqe?S(g6_0_5PQw`?03-jxJZ^#L)(6QEqc=IF6UbFj>we;=Ih8&0}vvroc zqd)JUE1Xu_{yOoBRcdNyV;=x&!9)bg*0J~RpJiQ28EmXOV=knpMj7FNe6Igu>xmns zj5>(>h_EFR;_bS#Lhp8-Xw7Q#qQr7>g%5Y^3Gqm|#i5MrEv>0%Mj2co0!tEN^7OLy zPkR?y^QR9sw2N!$rW~&iJses-@YTSuTVo`y-Xj9-r1tytj+TAi9BEZr+f<^o*b-%I zTogPuP4^7yDfs58pVawzX&ri^yF`A`n#dv9 z&AVI1p_^#NtxAcMMJLft_tASwOd4}4T@IwJ>lk=`pIRS$X<;z$Sugg6pnI{?+vzlF zMAOj!CwX^(wmPpRQ9rOdq4~&SafnE=2qJsmH-Lbk8Kyqq`^%7K_V) z1|l#Q?YJQAYOdyd*3Eih-v)csk9{R_Lb>>UPNc_NC8@EpzQvU-h4f4s8lw?t4@Qvv zO~lvv-?uk!A8*b5p|7`Rf;pKMOi>Y<^i8NERg4_IHCBlIi4WUv4RP$QHTp?)_mx}c zsMh;96`k^V6`hi#MVZunkoyW)tG4X48=llRda@Q#S`%^VlVw(qs*~(Nt4yv?Z|KKD zeE#y+R)h7cLnXc;#B6uXZJLu}AI^3gyrb_+HEE=O{*86%QbNNj`%M~%z}r^Uy7Q85 z)`8Fl>((#Yf_zgf$-y_%nlvUHTxLa`f75#XgTBTst|SMeO~j$?pIcwv6K&b=np`0# zB)M;osXHC()n6X6iV|^w0QjLY$9_TTqLNcq zcFSuM*~7{EIGwe%;~GVOlZ+@AxVI8d%Nq#8uee1edgw7G0&Rc@(;hx1Nur&xTto}e zeae-D^3@jnbtZC!5CH(D#-)Hn4h2L;0ZY?1A zP1amo5cD<>%yH?LNw_8eV}d8DuK6DWL4ys_G0iz7JCUH z*34gTwV2T+(9s@b^ihaLEkx#hy#Ac#diH!r{gSzZ%HP98ql_wJ^U6veEU_0KYaxpS zkGiQ3mh$$b;SMo#R~XFc8*>&o+rqk{SqdR`zdAx*`*@-?J^8x;Mq*0qni`z@fR0T? z5pT*q$g!!)F0Up}Jdog7katH@S)8UB57e}>V6#_b&w+)k?orQ-gaxp~wWn zF=^npGxE!6qQPHeS`KUE2wA+xL@UplBLRxa!?CnbCX)uv_2Jx`Kkp|TocB|=Z64?; zLwQGAryts8;r@S=3F#T@QO1myzv|%6OlUdm5AK#X$F#M+zVWC;8r3f?3i8>51NBma zTka)$&}garSKVdjnEqD6`EM3f}bS@)<-&D8WUS@u=;8+xG<5M7A;Y<;>UF^r%+N(&- zA>L6YzrD&T$4~Dq2-XPd`L+W276#RgIv(%zoYQJf=C%vgrj)$aW6iqD*%^z1X%+N0 z0Lp=5Z9@(@(tamMGukxcL1}eUQzSj$0iDi{;5QvUT@krq7fTZ2t5Vmj)n7jpSoT{t zxkBxA?7Ke3JIRI`MQ(|P9#v8b%c3+zW>!%tB5{f+P5E+1kewO9GIl; zb%oT3Pm>({OLE4C7X_>D)n1LcSaPo%bAddH0sOG5x*D*7wJkZXUh!6$kax>D>jvu0>)J zcJGc4Q!6^VXiP$<9aPVALtrjSkFFY%&`+WN9l^N>@r6Q+|4#(xBE-@9F$wP+_%9lq ztNw-s!OE>-ym$v{ug=WC1HVsAwotp+@1mxKc)sp^^0DuZ23B=!AY0T;4a$xB z7B(DlU=0>R-W(!-UOTVh;e*SK{ycS1YEZ<-cso~38hxx-yYl!#4WDd2Ceq_jyNkZW zHA=TWi1=lN8nLPtCnn(`qoqc)5Qso;M|AFpUe|T49XF;<7!g>Kak?flDkiVSKHNWP zL;ZPb`^RM!`B`Aq`3i=1(H^L2PYz4zDqZQy3G7_pwPas4jt`?Bn>N4ii>6+U8oJx0 zLDnpy+7G%@59z6vx?@ZEMd>=}oky4QxZ+%BK@&l>Pydn}+LQ5EvfkrC>1I=O+N^^m zA1xy<^r>zqWi&O~T^g&`{+!z2T47VW2kt5-d(~ST8n`CWKwvwFX!ZSZrkvcqab@UM z^+X4A`RxZr^`tMa*^|pjId6I3#>q>Lpe|*Dh_>*b@uY|Zv~oc z93&^Ieu>67oulK!=#{1?A_CvU?a^rJU$G>U2DW{ao>*A-eOQv31BjYptr}V+eZIQw zrpb$HMBg;Vn~gw?qNYt6$O)E<^ik>6HR=LE0y*W*N#Pp$Utnj08BwVZ6QJW(?5 z#BbT(X1XuWq?1AMjwuKE6Z;mngWNjvsElfZ|aI@B{}3J`~}gY z)q>!b=k?eZLIvXDvRk+nx7Lr zRcpszv&T$ut#^M;lvtzCOU!*_h(Nt#E<~F&Fc;5}B+jj7jDt)B=0e_)TNA-vP3;Hf zVlC(|NR$K1#axJ1C*0PZwVv#>&;E5pqNE*7`=5yQ;w|kx5tk4=u46Cxr=Vy|ebs#owmNyq(1yij&#%VXCwew>&|eXOv?J#^9X`)lqoF>1 zf->P*DYfE$`K-0}*?o4`?pjy>$Jmtz+Eji2gOViPNTyVhsevSkd(LyOoE=E=@`zPwJ`nT1UOty6U}F@W2rO`T1|cF$6{iM4;6r0%xgMFQV1{ zt3NEKU;nl44obZ6ewyiq>_@%y$K**p^ea5Ir}|FpFDzORPbHy6V&tk2_IoXRB2tka=IoNe zXaxU)2;`@3ENnQ|t@>i7m-&%AKS;Z&xUb0mF>}g?Zv8cVyz3vm-$rc_flaNnuj*1Kd`HGl6QTNF2?l@} zjY~Yg;xer|GjHAIs0YuG;;9g=&ZT~q?hdG%;`RBWlgRvq*+J0KC1X2B>H$O3L!D3S zIDf2bdPrrSR%>T84wfbr&PAw<(puIZa~ipyK6;T?bZw@{-G(hFrD87BCcLMa>P1O- zPclkHxUhq=BNd_z2SV_EYN`wQAzJMmc>Qwkz>jU5YMXxw1bgR1+n3Q~VsStsY zvvdTl4w^qXs^R!y(8S}tMTgv+ZY`Y;s+MzbFECmZEzKNs6vh6*W%4oXD-yxK#8V;K zvX1t;#-6gHns>#6Dg*x$YA;kfS`nn2yJ~$s)0FS*m|l3;BRviWR=D@4RCDJ2cB9z2 zj5KvRe5!mL4R&(meaQmI7 zM)_^d>m{`AgZ1+B5~~IdY8!6_eG-i{H-BMatMUJ)hV~^HTa}JLs=U!@p)Ol=JU8dR zh(~hDJN9|&E$>P7Rz&+B-yEl@5JCH;zB?z~e_OJwGCOM*EM0a}VBf?EDyxdxbw5P! zt;F5GayKsOfjrn_sQrwN1=}+Jmi#c0;s00m?kc+YMEbXUb$< zJORoG(w55-O^DSaF7C(g--kC7pcrGInlR%)|rN|{pr5LN9IsZqy0XUf2`nDTv6RA8;}T$ zgNRmnIVtw)&~a_ys4Dtb3flv1H2GK!Y= z-2gQw9&AG@m;R-J5J<&kEmhg_@7Nc-Yk8AK%h-;RtW8Z1?OCo@!u(OqRim2UGH7?K zm&;lzH4dH?K~!9mMvSZdj$7{X*X>h1dplPhQ`zx9O!vQSVcXEXmh&d-cCxG;U0-$W zqwDR<`bz}1AfhenzCX9wXF45pNA#C#eK>yLxT5ZTz3CaZ+5^k%+Y9;%sql;m@>4V9 zKepMgH96>3eLT}aE7E+9->D=I_{IX?RZI)g{DJ+7$|c{`Xs%B4cAQfqKQ-U|?M8R* zj!t&fJ4QG-3Zouqb+ziez0khqe>yiV_j6kJVc*4a@wyLWLO@?)1X1yGLd$WGspuD^ z;^&$NeEIRrmzW}9H)$(;$HDes9#k(s*HR&ZspuD^;^$f_^)}(C+zEdFKq_nley$N5 zO;k)2df?Y^GhR_ld}n8CuYKP}&PRct19U(5DgV|5%fqoxzH<_f;xAY#i!px{M&XSPkTqdbdTFbg%%>nn4rC-=LJgje>=FtnsB`Fnr zG4W5{)0jc^qJ&ba;uD8{^uaHOrfhj~y&c9V!GmKI@iSu-`4xoQ6N9^9Y4>;5!{C-Zo2v=M9x$aTBlWgz&35|UO#y(SS5|RBJ<~|;3ixQ$v z>b=&?;e;L>;o@}?b5YO4zI8%#L|fKBZ`bo`)(yq!q3$e(HAH;hQRjp~bEBcu)}ZP8 zVECOJcT4wSzL%gk;CBjBCWQG5$5y;(1{qTKX0+O)XXM--dS;1;+Nq^eAzH1Zc3Erp zxM8rbIU{I3$n|1b^Y||WQE^QgQJP=TFUW&^OwUCVA&`p8nuj`x(^p{a(wzkmk&T%KThw?w#MsTX*xh z&e6Ru+H|A%NLzi``*Vhi<2l`V|3*81eNNS!S-qMQoYc}CcYmh0U`2Xpq+7j2_9U4L z=|06{T*igY!M*p1*^-GwmdcusJWQ*H#km{Y@kt)TJ3-a1;l?^sjTLD^9! z9OqS*O*nnVJH~08;4+ORxT{=w35+=0*9gIp0Y@JytJ@vR1f7ZH>-+72XKKp?P40V@Ze#*RuF|Vg&ty2rg^HsJT6yD?Tsp>w#yYSazb~=UNX$FctlR zRQz1?cz?$wUeiC{wrjlE)LF4AH+st_Y5teoU+d>aPc+bP@z|P{_494p-JgT~e5r5; z4US8uY$>_{y=r>9M{Kl@&TZ;oz33T|2Y9=~-cEY3hf~>P>!KA%$Q9-w73PYPIkvR7 zhkZS8EaK6C;yFLpvAurLNaxAJ6I?=;#)B-1{6x+(Ar(p@^+2gu5*nAdj8f@Q?W*;| z9J_UvFBRH~%On*`tJ^#g0;#yH{c7BqD&9M{eqi5nQ!CMeIB&<+w5&w7;(F0mS}OSR z2e26IH(#cSpZ?PUqE==ZY??y4-z#-(dUkll>f& z9lf$)ubgP(htrF1KV39nwcF>>iT3sX>+9ezh&Z)BC)%zmWwE0>+}=2z?i?C*v-`K& z>2xwRIrL<6$}pS}i`pf9_lCjq-S0O{vEQxIU#wrDgvgtGM8Ba@DPMj6pw;Z8!+{cC z;`qBrNd#qYBwr%58kJ*ZuBjvfsi^$rft!7FVg#?T6OZ`sgCuQ99w-&pOX$RU@Gpjn z)~t1QO5JPYZN+&jkqXi3R-3#Gch`fN_QGx>WSc{t8o3VFtn3E`H5Pr?x@-Ou;=3BQ zn)H%#AN2_=&z;~$pTg!T{x=Bf&u z&YTxVOGP}e-bFVX2_>TM#*|Ro0W^;)@{kJAYJT<8Ck0)T1_$=GleWSYPqdpl`EZ5p zzT>vAZ@+D%ur6A(=YpK*$7MK&Q0nXr?y~y^I^<#4wx+D^^u9ecv^A)uwX6;o-&C-z zO!>fXFHCT1F3*YfS+8@*;8#+~gX-3QVfb=b1UVCpC+bMe^fU`cn{e9@l^G3aJ<7sSqs@_{-=? zS}OYPh&4$BYySB8wxB|^c>hp&w)xE@BlZSCZxio#O${}^UGE~02(lH&U8EX2GZnsb z!dsEL$xOcq;aduo(T1W0g;cC9X)g6Jn6QJAAOiJMyLV1k@_HpdZy%hTDdwVGp37DD z{OF8gIPUt<$5!#m?U5Y1(>LgJXnRK$;cL3=yKUH*l< zgv&&QXtmb2extkIX>a#^zORFE5bc9@Q#WDW^PD@R(g;5$a$OWNN{cHbp+q2+DaU(z z={zJAqE$`~h}7m69XWYyH_yqs>xS=ek6b>~-dw)7)9Ha+KT>ySF|`1#AT>u%G&>#S z&H-w3=4a?>?ts5gobC7G;UKlMl*(Yj4({bb1nyc;Uo$eNxX$-&1J|q{Ax0b=Wl$&P zpx;>7GssJ@-(f_R2&BTkoftuya|}l+L`xow;JG2ACE}7Zj(cQGP9P_LjL;ml#g>&k zP!hHR^$#wSMKoe(UTr_4+;=}FhxD37M&yq9rcBT2u5XHV>du$e7Y4qWSler(vi##O z6-TCo=6#^4uqKsRwchRCh3_Z%J<6=AG>PD(Mj zdz~p0O2zGUl^%%TU&uaOCMrZHMj#cJb-bc+T-#XPV*}i|%>2IZ!BUlmU@F>M&1Hia zyQE6snVV~SUu@2F_6$x5^;ElbsNZ25VB3&9QYx&M%5>U^Bs4tK3?QIp8J?PDIM_dM zOvJYF$MYBhr9uSO#8&d96Ff`|&WK=5mesBESApi8YkIFlGR5eORPmZKpRlkM@<6*W zwU#QrPjFvBv_xR+!w4r4#rF^To`M;gOga91)b7@mozYKEbDufT-osT#e2d4odnpxr zA9*;obCrK|_IKSsz`CBX=(^ZyEv?Y9b@ghk;Sv^7jd%7(_1nE#rGShT>dTMO!(n;p zz2E4O0X1dB`jT!B)B|Pbj9FR_kScb&3jKmqZNqbd=PgYtjtq$qNY#A3&N_5<9!SMG zi!=h(WQ69p0*O{IGSOIz+BQF7S`Bp)eNcTrH|zM=nkKr&eKB!RTdWuPsk411`grIK zrWdV)UQ0Y+{P2j1Mi%lPL|{!a?s9yk2#4*@66%?yu~t}on=pNFT?D^VSl0FzzI6Xg z`o_+Ax}(F{&?qNE`f+XD8#-L>-vO#`VWcmLZJRt4xTAPw0`)-I`MDlB5y4dS3sUiO z-J{feH#Tp_7UVLa6C?PScq&B8bE)W87#YwC@;eUKMe_29Ol5wqH7`8}oxE=XtuCb^ zNqAhsn1~We1X7{wi4k~u7179B-kX6`rW~J34?U4)eR}RJ-zE~T8sHrh=0>*o`zACG zz0!%j6E$b+(#;+$lSc3_~a6i4ra(-&o-l0=w9Tw7Q>n8q*Gs~nAq&d}#zKbOvn^YFC6qP>@-xJTy1EspCpXTi&M4Qvx zhx#B%LS;HFP37H5`gutN#XhDQx?A^PM3;_W9*E$YN+Os$)=OnZ6N3N3PPZeK3-ukc z8S0+d%7yx#*$mass}%B=U!s;?g5zMnpOZrS2H)swjyxoSQ?|?(qz- zV)l~YTbt-auDnx`skL-%pWPqjyKwV%9#(q?b;ia2@b==CLi-_|!7{qgF+&c}^-}rn!dkwi z8EskJ4?X7WefBkf9Ax{@NXF&(F|i~M=FYOSPRvhzo0wg}`z7$Q{gS#*IIl-;u+mKUFHl+K?mRL(NH-!-ng6u*jL9q(SypSH)p7b3!|E2R@E{*;~5#T5suIj!SCams?*ZxEGR$i7DACE0+e`CyqT=ToadG3R_NtubfkF3=5Vpe1nlgX; z$c*w%-#Zq%DdQ-!>i#ItcS@6rq*Y#WW9xz$>oN-(44B~D(qTrh-V_}N8}^zJbnf)O z{Nz_YJR?}Qm40qni&M%wOWt|i-TGdpWBe+^Lw>AzF%RR34#p)!v*sExAvnbza_fx1 z#-1ZYK7GugkKUu(gnAQ|CM?ljLY~NF@?Grz5`mt9REV~$8i#AzYZlfEJhf$<$li)x zg4t009_4V4;<`wxk?zb`eB|dOp~`OD&$fSbuU-G~|Hg_oM;_SztOxxYRyQ@x3VwBw zzR!v4C4R3g&kFYYO~*=!Ky8r<(PC7KMQ8F+(}MA_1iVBbjF%J%v}MgZFv7Y2s;B+v zLz&q4P83sCr+Mm{yGNuR(}S~ue3KQ*juw%K(%OJ*g*92$C7%v(`ro$6mx}TL9!l1G z{!tS1oYt=pVW@P*J&lgnwV_6qnQrqq_=mY!n{ryxfJ>x$(;z;Y(esXx=`RljYw;iJUqs+JzkEVGS zSz5G*XU5th&&;ojJTvYV#Ubz)L`Xdhm$1+f5$MN;o_Z9mz0wLgz01Vkv_Usw=y#mL z_s?}Jys_DS=wLrFTS6_Gk20l-9D;y=1nzAztqIAQiSVT3X$gnW^%gSKVjZ4cdEXD}R-{F|8Wl4Oi69d*6Q4zW3x7cZ}Ml zhxM91kpVr5TClSBnBDcdvF?%uL!9=n%?_SAKiSV3@m#ez!9fov`#bH&PnaG2qqZ)q z6NlGq2o#+AaY4uD$2&;Xb=~aP{6Qja{j;94dwpogR9Yg+x^u$W)r+N+6h)aLV=q}t^!sqR(!GSlf+ z`EWGpr1saQ?GHtRMY?R_BO%OR*x5K;?b0cZeJBa`P0O0}d5Znhxa!^)FJ?MeFRqtJ z9>qCj>8=zHM^5A?dE~b$urI%VtGg%XPN&+=*}>Jn=uDR%^qv#!+b-G9MuR>b%Z+Pu zZd{HfX5_@tnR-;}Gr4xTQ7^cU-_qZ~deQSGk6(tK=bT>pwEf4uo&4Om%mZ5x`B_$< zb>}%FX3n+WU6Sb`6^`K&G54(#_LjHS+pFKdRUj}*pued*Uj`kue{Pg-_xPlvKp++J zQ#osX8e#|TPw~RdGM!D&9*lN>S9`{ZHx8X*!LIo3~WJuPAkO{K`S>n zMsXR@r6Xv}U^K0y|2KlTBNd~|%?>4yihd~#LHt-M`Zw&~f|0*k&l&JWjOM#%2iq>y z&m{u$sUsDlC1R4gMd^ondK@Gw=7(sBz+Xl_F*~^R0gc9*emMtoeItIm4GM4s>dg>EGI+@8D<> zK`MN+P~%{YT26;6mj{ln)l#uV(LNH9d|7p;)zbQQXq&!Wh1&yTmqcKM!+O!L5Unya zIbnC;WfcOQSB_L!PmTYeMdfWCi4aIt0C#~%FG0`XK0&<;rIiSj9jOpa2(yM9--3KU z3btnKZVvy=3lV5h^PEP`;@dn*yg?!rqUAd$+TE1#?o1jD%wO0;E8?9W*iMF?EI>Bl zuWuL!*;Xbd7O!7<>Pa-`Et=`Ai%`zHOMk5zqMc4E^H=e$f9oQGhc`m4H1P^MdUMQ8ZW=x$2+X;<0_5zeB8a#Eoj@_X>3rHz8)+lp9R@Oqb(% z=#hZ9p@v+hh)QL(58eN6NOUC;Ohuysel=RRlp&~F3y3nJcVH#@j*h|Z>MS=V-{<~+QpgEQ^o zZv*&CyFQ^mNq%_}=>a5=C zIE68n7nI8eTi!F8lDm_Wa-53&h{avZ`ijjPdXhnukW{dNU#k5x!KKs>oBwVyTM!=bB%U>QUw|?3ubsBDf|)PveNuyhxyp zesMfd50Eee&>2!HA5m-{&_k_}#jL9lF!zD>FjVV&OKUwM5z^zo5D_1ttzL|X$!0Xy z?ZNGj{Cpk>5n2+IO1F7wQt4LXHZVN?e+ZN?F+!a(k9ndlYkrBXE2+RDzRuy&H1}Ig z+e+$`&{ojSh$xmy@X%hOEy_Krgsl=HinRqV(Y;o-M``sM9z|MnhqR$TV^Qq2S`S^* zSrDLkhF{hQsu!~S$MSX2N*drj6}Wz1DhK7IGJB%oK~h0Za*=NZGo4C3 zAeXn$9J95^+@D6SuxMu^Nd}$zFP1PP))KxR;uoVw$rfZTVIRTgcG1$nFY@2_0+5ff zPI~Q?IZ!mEdes=>kAoz;_7a^jjh`EOLYVf@y_TaWq6Nakb|%?56PL-%Zu~0jTMg?n zRHFR}!Oxl6m&~`7{zdm%ZQUaO zmRf!;5ZLCzW1!7rex;)v{NmfESQ0b--MSFhRa$^Kg-Wje0=kGV69CDXBlt!VgV`2C|;LdD~o^XqzF zUZ3hcKBAmc=O&eNxt!)fxx1KOJP$JiF!gFL(e+|kxA}h|v{Wpuwh?P$cpz20tvFT@ zDjvZWrRPTT1PIZ$4WfAN6Z1#l;Ujdt=q0+%rRK%lfd}TCpf;ybfc{H=hKJPFJdgJ) zI`8_%LV90b7op6dM|#oTv9qkI`M!(xVNaxyfuCz>^nb&`e+(72jp^rv5eUlA!)+j} zz&y0}@lb?~PZ*?E%phdAg-mIl=`KXW_QY)(Y zS{l}d>O$-4vgT)cE&CLq;-z9LQ&S{DblPvJWPZ^-mD_`!7yE96=n^BC${=)`OIv9w z-5#0;wvFzC5>c8YMq1rJq*TR{z`RuJr)T{cevgs}{fneBdXV15x2w2xy9#<7-FCw9 z5nD5ntx)p}kgznVO0f?hij*Et{n*Rx{86rZ(XK%vQll>=mWtk^G>?dy^>LYIfad*5 z>OsHoyR$*i*-l22ROU~VDc$|CY3+q}o-viF z38eCE#oj;&q%t-<8v>~ezq27EmG(DUHKKOozc9?gGd#Rm4&ERY;;lLXuhy8l-iD>U zgeRi+VSlu&(Qn@9)##h#-G1LjKdbzVb;Bf+HepU=iwR!QK#U9;RjPVtzFe+KrxOexs?FL-y9e6?BY@L^z9X+-x z$!~wWxWyW^xnNiYUmR?o+FxvQS9?`3^hN8IU+?|_K5tRaId zdwDJEd%us=cNVi$NF{yuvJZE-;e+RU6NgD}M=C_CxzB_Pyq}sRdHu@O5&Z+HP(sU^ zb@~>2a;=$ek~`RGSSv4B;Z1c;IC?yPNz=Sw{>&tQr!;-}eR7R{-?gk;ZoAgbo0Q{T zbMp`f_ZuUX+%LN6sd;wqy{TT#QyKpE^LY;?`8yI2L8s`(PhcLy2Mn~wT)N#&THM?J zCd}MXDv4O$dz*dNormlyZ8M!`59LJXY)Df3hp7cx7yR_x1R+(6 z%{glKhTa#B5?WT3W@*lqYER#$tqDj?%U+DEc+7s~XG+yf)ce1Nj zt8B7Al2Crh2Ubwz)OQK-jLbZzSaLT-=^xz?PJ03+~qIdDZB)CN=r}tH}J7ty?V&Y_^qsi8q)rP%~>Q>*rh!o z?4fD|KfcF4_x?S0y^eGf=KN^2>a^mO;bE&C$)6v+vF8zn)%l2Sc3bd$YgU==T~ zZY!~q9C=8o#ul8izuR`17yY`LgR-M_C8BtTkl%vFuXMg8&KhB!lb5Xj_-#9QLs{qg zfb1XUi&92huQeljSZI!Iqh@AsJMdqHZ`MhA&^7VZVO-0_R_a zKq^F=Z($j}zATqIO%C@IW1p8&F+I&okP2HAG~Sf*tM!(7H3|F z@~BZ~Cghf$nd) z!KHHKLm zs7z!vOlTT$N8MNx|QTmva@67aJOdzsX4YFTEVhT ztxk3pZ64+hh`YxGsSurL{J=3oj#t7Hopa0OL@7H6c^`W?mEWpjp2xC_`Tc_tYF$QU z+|x4)Lhy4cOCD$+)MHTnDk09cqS}1YulA5tJ-tVMlp`mOSF{r_aEl&AE$c{w^>*Fv z>h`A|h5l|s{sqSj+7)`TnI7TP7}b4~ouAvyOCD6{?>6L-9ubm9ah5b+bBu|sIYkLB z>prMP#C(x3cF3>u)Vdg=oJ$=uSOfD$buql5`z4J2?2-q>z?sPSDKyVB~}`yvXCxGCtb* z`+eLpOD}LvW@S3a9d%-UT5~mixMuv&lF%=RsGT=E$hX;B*7VlRopxKU^YtiA5<+7P zmVSlxqDAq2*RqOt?LGrF+&yz zGY(3$W$m@zvBUKSd2XlQ17~LD2B%)CR|lWY$_@T~vF;P7lVu&eZ=k)Z#Yk`KT#2Z> zEGL*!P9qR4<|UpP&x?eFQjdS`9czF4=4IZp{;iyr!*YWa@6zuw*ze@{VcJlw??N6H zJk^LN(F{G!8Soq}o_$5MWxd?&O1ss!4ZN5CC#BjtFDLlHCHgH4B~<4J(}vos4kUZ& zQ{<^eJRc{|#KHVZ*b42#5kt56=r!~01>4JeW9G_pcYOAhyd5o~V*B=Uoa0~h^gR(J zVFcC7W!(pjwZcLwT0Q4|OJ?3hk$UE#1$M{l&hvh_jPBtzCjgP3lnUmFVke-P8>)Lo zW3xfxQCbuw*-NukNj*?r)C2p9(VOO1O`W_b<+h`qS~(*xy5Uh>e!Q7^uKM6NeeFJ3 z7kkYoWcZnl_&ppw14jnIL#-#8{9tG|>4^ptj@`sfQt{2!R90txq643<;!A7jNe}v^ z_bd7rq(ZccaC>jCAGzu-@2zNA2R(e>3%S9^8|Zgg)JdEs7r7JggtX~t@#A^oz_j=h2kV!W%Lo$H!$yfBQZql)REovLfQZW7$!n z>TR_VR8$kA)hg$;4|<2T{b=Xa{3(F9YkYN5-T(3pouab5mVe|%@7Uw!hfb_q=HD|0y@x zVSAdt+YImIM63H!c}nvFrMZXoq9l(@&5r)@VM=IdH~R7evEAc%PTp?fmD(E@8-uBz zqjgc<@A_m%DIeKYt8R**e&RH_;9=rpk>ID+^jF>P6{H@rAK$n@XpY*J@GDn&dx7$H zp?THO+0lEHFTJ#1`myhcF$7X=yC*w(lS0gUCm7e}s(-`~dpc)FXY5D`E%{ASAzFR; zG2^+2C1`1BU6^GETX7x*Y8$kh>S3|Ju=h!Z_E$Q+$UT+HYeU)5=_6G7X`1IV%QPTJ7-wsZe&5P)daeY!7S$)JgKdx{wOdKEhG9vX!lbbrFry z`fYBjHn&xqJC`=ej%KNw@d}U2_CU1Ct=@L9{lorI$_DD@8^{#GWwH<2P0dArTx+}i zYuTwk4sdo>&W=7iP4^F!1bK^0A)+pm9i%AE+xxA5)(+GxYkyZ~nA4=J_KeX#w~1iA zCoa{`$8Rv-wn>YyhZ%HDUKE*iO5FwpJf>N?uBT2&9>|;O=D)CrWY|+>KOg(YV*AJ! z9qen*3=r*s{LqH#<`Y1y{xi!Tg$MQuMvw~85|Q$QM%29}BoJ7W%KSB|t=+U%N6)IB z?BLuG=ZvQotFI@O`1?oeS|{wgCd{>$ExgUCu~qY+Uc2I0R&?!*6n`{8-iiGReTmC@ zreALHBktQLe=4|t;z$o8HI8s{#7Q1eX!o5n(Dz-gi~JSiE$;f$3fAqlx$QYx$qr9ytbR53j;QX>_jB?4mx zq9tPZ!1jU3kJR>RsJtK82eF^ibG6&r&y8$Zt-IW5Z#id}_w$3jZCuMh@55CJDb?;) zy4TWphtWVrQEWlf1F0~sNFMkLB9NbDHLLr8eOLNGufx=NHufmg1NBokNY-l`ICiF% z*ZAv94`VIb2kj>3)aZ%W{xlmHR68~F@;mW!YD6Fvm3ek)$@ z>q?oV_MtXN4ZT?_=+8I~woeW1+#8=42j#^$i1ATq?y$Dx;cNveo0>9I?_Rj)RN#}> z=er+(#bt^HXgAA3 z1pg9Gg=nJ%t*V*PQsz3x6*h^$jMli~fq7sxLS;Om`yj<#ZN{QSe#9`5q0$BO1Dob8 zaTlvLN1Nc<|9B*K57Z=@I`@BR&-tv4H={)v2YvV-Nz=$Qq^N0q_s?+*e!rj7DeJ>1*IsE<^Lwyahs zHwCueGs?TN(StVr@`vJ4@lX1$VyP_MW|iBr&b+uLf8f;7-e;2}qSt3x!S+fj$^n9C zmG@)JbAe+?9lcRETqIf$`C)6S%oP2f%y0f#NAGYGi8%R1RyBACwCcFgE@~b7an*P%}uvJSH(#T2sEWa3}%Vt%T zT5xBp?1Gxt)po9InCa9!niCv5Q-7)IdNMoMccK0^^~kC0;184e3l?*rSn}3+<`?`D zBN64c7foA$7JIPF6UyST}53JUS)-u!yY4??j zt2=4xOB~jPJn(y)W&QfgvA`pB>)8)(9pgOtRbDXZqN@I`u+QGf3w~hv9-p7~=qUN2k81*Si%yEK$4?8=3e}3BU%q3$S*;fc(H>|~ zw6sLvFDPMRsc^o7BN>ixat#2ZCC+^@x(caOtC`Uf=X1!L5n+GSB}r&)(%Y-&BK|t1 zdKbav{d*Ok8eowtq2h)FRn(Sex+-^ zS7q5lDnutnAQhu&b=b1@@0xGF@lcxc!Pkz+Ktta=IC~P!wLTlEv)@P__>PRTVzh{5 z-FRxL{odGW&eq&kB8L#|zv8Sqw3~`E5UJ>+<_pA$<_x@(oMtjK%g}qzsc)yNev@4M zHh~B;7m-vF&6-fWqO4VPUkSw${+>-`dd~No7J!08A}d%{(^op!W4gR+FSw|`h`Z<|QV;b-F}4GOivR&{Q-1X{nGq zN`-x1tyxaE&rZM7vukhetL}+2-iM>8Y(eCKu>^Ub=WBZMTPm@~?S1bjkISSJ&I}SG zkc!LA-ah2plu()nN`>0~bfF%Jmi3}HVT?ZSuFzxnjz-74r`M(xPO_2<`~Gy)jcjOH74s%|wfpob zAa1A!m&v-QlSJ?@@l=RrJ?P)CLtl#v$NDExBB#%p<$n#Oc_}^rbeeu%645CEf@>;? zC^w>X9$ZsN!~u17g(QiWifbx~7&N$a1lLp&LEnB$` zmT~Pv0^Kq@Zl9>qPDc#ypOZh*3Lnfp1PZYv!@R9q7y zsCN1b3)yitz&x}bnpz{UA0Ps)VCablwg=XWXv@kD?svx*U21o4+uNzQJvUmrXPTdr zq0souvCWRw~qMJ@NNJw)(b$6I}nYedq8@C+&#-o=x@S^_UgqJL8r#<>z6S zdFXKvJ&w!N&fKyT^Cg0RiKjxeW!2wR!Kt-P=r%4}EJDnET zcBeK2ZEyTA2jAS$uW;OzzB{MwtmybxlS3`0whbzaV0Y;$fsh1ae0zM2j|u zwk`5Zn-_WP3)*+Vui}0&?|{ayX#BWxlH*SKXKUcxT4U5XmfUFNj%ofXPR->xeoQ3) z#`suzk0S0YNy#2Xb?Cpa7`<>s2m3!$)4yS%Ey|8)i9jl>H!-5>FR6ue`kJB-S~oGG z-HFt~{a0uNQsKxTrNT&tBUxeuQsF3*5aBQn>IaObGFw6S4M+AUs51e?~rfSdUcprikXL=F|iei zipywen$=1KwgH!k3elGJ(wafux<$EmaLs)-?*2kc=UdHAa%ggrR)pLGMR*(qN zmOT-v_&M83&PBOiv=t*X5As>IF;j6HFh72-dA#ve8}IH@&)PTbspg=DD^}%3Z}}w6 zKc9~lv8*XyRQ1x22JG#(XR2?)W(J7}tVx|W7+uHf*Zm&5%!mvz7e%y0eAMp?_x)o% z0)wLcoW@V*M(_9`)n8Y~sExB))|vh_{hTx;ZFR1}j98S=nlF9nJ@@?uS%H>|1_`OM z%H>5j9ZdCS%g9^hV%<>Fdvw#bg5^Upoz3bke(sI5DxVRd7<_D7av^2$n7%Tt@aZ1< zxq72t_K|yOnco8auIMj#pdNC>S$5w)1qasGUf(Y131`8ITz_vRoj<>{NpAGT3+XGe z+9wGXq5tQ{E>iMIVutSTf1!T9j z7ihalZ^wE|<5#kOa1393dxnVTh*qmy7d+$c?)GlM!a>6wI$iT zA3T*i@!dtL9CQE*LG1I&Rtsu-SFNv7F!RYw2dU7*C1UX#cYBeweFH^rm37cQw{*yh zF8G!DVAx&zxVGDh$KFu0bzCEpHqqKrHY4P1Sq)m>^&;=aBHPUJmUIWQwlc@%n%5y$+Ch&>v>7)z4Mu| z8A2)?mrz2Ov|+TUO?P6Ye$T&kKAM z=@{=o!dQw}(PF>is<7yE9R-)ph?s1ph+q!DXUC2`#JMAIsfn!=`~N z>kkoQEm{}bNu3x;@J5gC1Cj?K@C|~?q&cEX=Rw*c6{1T=#9LG%u+8xo9N}0Gs>#rk zUzs=4jEH$-&4^%4gwXMjO4tTm=C(0w8Rsm%+dI^zZ$Z`NWyR=>u~v=-@jSSv5)ZBy z`IVH4qfb17YbuGLdMU!iBe*6xd&P*%@torP_*c^kdv4&_E6#Uuj*C=?mOStmoKs;< zYWHWw(cYIwpDx(j^g+AB$h>G)Ie(7pp+(<%n&&8%TE)5drqN!#R+9tsC*Nly6^@)# z)7sy4O=K(n3p?mPJVuc(p-z6J_SE>{s`102nV!`<#h>Glb-4{Bf;q%TIOHc0#hM35 zbJPQ6mzpCFY(cCSb+WAMi-vj2&ueF2GyFaq?St>m$WLmH+QwVK_*K% zl05L;8TlD4$W~|{?B`MsjnO@qJ)FFq<2j9@{JiA6gsJEkq~hm#2GH!*Ufz^(0|GD3 zDC6L40_}$Fq}I=Bb@sMStZ&bpoFwLOs5zpQ?{<2%b=tvm1223&L9IZ}36?$RuM}A? z4w@6(qVB?062|Q#JN57c@2>vO2FL=~Ql{J_BE6&-;lCxAU(~(PvEEezF|@w@V6Sxh zwoRiQlmyqQagAJMBLS(9hbdbgN*K$w;IB^54l2Gajdq*rJJp&*Oqu%m!cd1kcIJU?Sr z1gQ`$d89o$Ga8($>qYec57DODtSH}ih-h_&_v-8HACEO~DxSJg+>nPBMN6x5MUVBf zuj*LG>Au52iF^~2R|o%mZkDcxW#$ARK5hA(}n6XnN-ZaHO=GI8Yy16 zCPUr!_h&jdccz%g@jNS(Ryg@%{bnKcV0lpwD)V#A19wxgwnW7eB3dJy)0TJj%WK`G zDzj10N-LaqlmCS;@>~mgV@>tP-5>u*EnIo0e$FjO|H@e(w*lEl>R~Wpp*d0^+RzgZ zlnQ5=h?WSH7ZF&KL}1&ZB#8ERY`JQWmyV*v8G*=(xT{#Uhnneo>T91`qp&Rg^7Gfo zHW4nzMi}#)dTnVus9qy`JP$-5cSM*nc{^t7G2AWB zl$)rC%DEd!s-~Csc8=furytu*T}7UGH^4ISC>@azDIHCSBV}%L_H0Y_+oP3dzN?us zzKawonDV-vGut$vu@FA~y{Klk`@d|mX zSn@_qZ^iXr6x{ffTqDD|IS{gDcx|1-s&E(d%pz}BbbU2G>cL!%vS)9^&ol8%0J!O#NYJRDFl3J5C~r1k4LL~edSLU z%&q-|Z(%-HL|)D3n5fLpwI?o1derW8N@rUz<7<JzJfYwzd{6SPCbe>Cn|of zZB?3=#MjFnqj@AkAQhK24;Tl9mtZWBn#1TUY{k)z>}E!4vX%bR?@^>7^*h#<`yjTa zM4-G}CUjy1@<1v?i!+Mq_ESEiSmc>Aaq6w8_*|hLanzR|Uh5N@qqgWVVz%V(RikhJ zWFL$xGM2FJs(%QnaKu3g{jbQL+8yl@lG}hr7Un@^ey;mDoSYOqP+Rs&tvRgkdZ;bd zn^=$Ue&n-=>mt}6rC*`u_zPMTYclj?EBpl!C~aZ{Qb|43SN)iE*`j1c)SRE|@f^;K zirF^$n6z$ba|YspeUSNS9@x*h)o7gHda2CMbqlIDme>pcM|zBj{9Jp9wwCU-2X^xt zi`v5ydrv6xc;2OBN%0ND9-U<6K1ic5l{q?Nf0Xlfv=7h1NOp-psgOIDX$FYWs@13t z-?U!%z+QXAq=%e8SL$89N1xA#e6vEA&rDb4zhwu< zq>?A^5n+C55;0|owk(`287iE;NHp2X%oEia*WiTWoS9UnF^W8#%F9%iP3`SxLogL1 z^ys{MM~lF}(QSbR_sf$ncwPxl!B`d|&i`8b>ow)&Ss6UpBN6xu){Feq&gF>{TOT<7 zh1=}keopOOSwW|{&LM(10Ji^-73|xWGo?@3zb_D;)Z2cq)+h)20ZJ%Ob07jGK?K&M z)_3>sD^NUK#ls_cKT)TIXti$jc5MYJ({nln)puGz`BnSJo7m4ZY3X!r(AdGXX_BV)@4M1+PE4$$sRu0fGlo&FDTO+I@7gpIuP7ZtO4YRe0m2=#}?r zTP^HAGy43!x{RmgW8|t3_N`mm%0GS)Q18ywj^qznon^oG>@ctTIWwatXQYRQ&(L2p z2>r^;U}Vge8U8nf8|+}jvLc~JTUVU$w(Yz-*v~?H{MqzS{Yq{8?;lrBNe|^_wTWO& zk_Xnc^j}?X&kKWbi0dbuYrpo)UG{|Yq$iSRRD3Hr)W35Z-%HlKk{oJ1hSuTEhF~i6 z(30oXn2LDt88wM$(|UrPf5`}^MU^9gV=v_fui94C&kjP7=;ZI@eU?|@&75Gr->Md8 zJ#G7bxZva~Gwp)MhIy#%_o@ZSx-+kex0R}+_)oVW_m3`HW<`g-Tw0q~T3kPW)b1p^ zcmMIC1@XI){8p3*fmBp(wlF<(X)UtumA^h>-}={fyTS9lMPwjbZ7WC))oC8`+k@Li zt(R1K#BQ^BnDa@yR(|Fdwh!8k-bIskXuGl2^sm$$JshKiL|~s-{o%~$oIa)5>Z+wL z6)Y}4#7=HH%3Gr53@xUn`{xo5y{X${;>YT2=TTk$`%2RMG$AFDmeLn=hC z9-$H2YEVBPf882;-{+4wuU^{9Mr~=GT7T!XJgIrjuagUM$9)jkvET_I6-t7wX<3NC z{)|+JCR^zlAC)-1a;)W(rTm=o_?7JE|Gr=%1NV8^&(T)+3wpb>)xtWDw%Y#S+kvI! zCit<0J&wGO`C(16J@6N-7u!bNC6x40{-2u{1j5xOi2i|8Xg9U)v$2EydjAKUmw((Y zS`hoT9C6~Uix%aRzS6q!2&CfE#Ain!6`xp^h@Z#YZg>9U9_Qh!f3Z z7w12GeNE@+#9KZ5E?ckN43(p=nu>7rjm3P&wX8RPc-bCbxtp`H^)EKooAYR1aQpnK z{w`L@$~^8?BKi)^ga;Ef5m%3 zXqK_mZFt>j`@_B+g;dyTD4}j^Zb!0W{f)_f=3%rbm3f3yYfJ00-N(Yie7`apTAs14 zC2XipD74t&j<~R29HL1CB{5}c^Z!O54?=wZ#rfWE@7?9|p!=Nmb)hz}JgnC|CvQiD zp=uIAD)YQFPsG_0kNRl0lGf$S4MfGc0nU!#Sr}0vKkD;(jEawwt=e}{BB?RM{fru!Cq8CD&MDw8*x9|sHWf5 z;v+T2D~!|}!F@dhk9gUsUgFI)l|&@c+#u$*{2?&$)5G?bL%r4dm5CW>1-a9SxTx$c zj>?8TvLFz?x!VO1#oDEpk=dadwS1i2U?b36k zx8>QaXqhWgLOX^BBfDm1MOQRR32lBl7(xBitZDa4ZiVNkxS_8Gc&S~oqCcFI66!E8 z7 zR^u}1fqhfcGm82I$HbGV+0n6IQbs`?+c`d3*1+eQ1VVdSIK4JW>*CxOEzLZ%RA^ls zeNaM)KzWf0(U$e;kp6*CCEGduVwWaP?SJQbtm3jN+UcNQFheE{z?v*; zW2c`3y;gr@H|n6y(ch(R!W^pS)HrXG<2g#zbly-jTTh?z*l07G|(f%aZU+iy3on(eTwX*H1 zwQyIhh5K!e^F*HYVcS^N{mWOcZ#_7}zGv`QhwjJ?+~U6vT9h4~a(}9?R{7FaD{rsg zy2Zw>_Ek@g5$^_wKneZT^8%Iatw3da^QGdsD0&9<50(FD9<~V&c&EnpNY|{qHs0Q%im^QQuf%2#l}e)%TBJ zINiTP0poFE9!P~~e_b@7)~Q{!PVJz_;mCjyH8BFIq_?ZDmIdlNXMy_8DIx>TGH~4W zzgm`xKq}eK)fbb1`eNd$FD4FZh;~Dr)EScm2&6)bNU1Oapd=`vM66b^WVc!=y5nd@ z1pVsupJzowAL{rh5m*;eAv!SvsZd&VXK|zTfoDE%Z?8W(T4YwmUW-{oE$jHLF9hDa zuDg3=#%SRs7_a`eXGNFXroB?#(7k?r;PP`@+Mli%|}f2R{vbBSDkv-n-zWfdKy34`|pNq5%t}9 z{fWQ}FVuJ6euFZYnNf!9bF6=Q=*P4SVK<3DyAxuSLgZG{bJ2~x(nDKbqiig*W3vrOEbn@dr8@iw?8OuNjyX z{YI^kOq`>#xIj&b5lAI@ke9Q)$m2LtQ<J+Id*BSv^pAK1`%gR%M*FL^wp!n{)%vc3nqwQF75og!9%oR_>tQsf zdquS7ltG!xq__FgD@DA%gPw>UO7!wO4tpFS&A@fO8d4co0G zB9V0&eRc#>5pV7{{;FC)t=t9F%AJF;9cLUke~^eJKW0Tc-I)?vu%k@`(TNcl6EWgo zO{53^=^ll#ggudF9HsB9`E^lNbln*}n?x$KI@eGChCM_S7OCF#Wl6MU)tI`#O`TWS zsc~*w@75W!qGKBBH?PddtZ2BFF1Oe`E1FVQukNUO;@-Hw^_^q0ThBZqXMH%+!;CJ{ zx@b|f586#-#`}D`dw1bq_IE2o9!m1ThFQ@UYLq6`)e9yBZXZ7|uqtJO$YPG~{ZcCR zw(Y9-b6dTi`zv=Cqd0caO4#6Q)BUwx%R&U&1gWS!7%eqNFTqGHHCL;(G2g}5j#P+N zXQIBX;Bn4=iZYz1ALBX3c_|gXb7CyPH%p1Y_gX|?O%j1|2@zP6L|_a@Nf510{SF%M zUioRB-DTkbbrQw+=n+WJPyQO!N0D%{*5{QS}zC_e|iu;dnC;Mjzzuzoo|RCP(gwmI%}8VRgnNC)nk1 znr~4a^~t(>s^kQBR!;Yy%bS$3UbHkyC=qBMq(Zd6UQ(deOKi1XB5bv&Qg*aWI4!g+ z8j8$SJ0O~`NDFPe$n1b1ZNg5k>A68?O-VgaKchDx$d?{(UlM^em0ZPPuO{E+7>p5B z@bDuw&qZAtdUuL|fK38$WbEZjfTT3;OwMWb`KVc)v0cjER&-W9)UhWrZHzV?8tvTGR7qWX0=# zIM)&g2k&h|ZP5xUzt1@b-80(`*twg7-sZJg(FLk^()~fG?ZEn)ccbTM1rib1pAmsI zNd(#o>qWGTyJ$s>!7}cuNNuY~?W#!aBtqO*qqv>UkRFIYd65eFB}O0>T11U~4JX<& zmk)Dy>>uo)w#Wl{ix%{6Gw1m^wllWBKscK}$%?igpuHN~zwyGXXtV=+yTODVydxD6 zSd*crxQkTiOC%NDI*oe=2^m(m73kRu{eo18R(lP+OWg&Vb_Vu$8SA087>R0sm=&GA zD=l=+oyA{F3e;B_TYZ)BBQ?L1Vf>)D!f$>43cWyZyh18Ot69cFpA}r(`*h%+)#Lp2 ztA?l2{P{UbB@xD2VF&Gwc0((uY;P04F6eM(aiHev@q!0xi~Rh#sIBIru9}NF^uEke zkskb(ifD;Ic@cp%Nd!@`brFFzNd&eaN`h#%lwQdpo6tP!^$XfWN{e={{!Obm`cJQu znX~iq9KAfTUX1Wp4wwgfBJrbokzb65Kv3L8Dz1s7Wd!{jc3yumD|*<`eGS`Rwt21Z zHy2b|I?r7*V5o!Vfq$qsD>%BpJ~RBtsae6M>ehLE_rUQw@8+L+qJrCg;dp1zqO9PY z1+=5hvWBN-1(QbU)5KU4{YHPt1@qj2~o$qTBTIzpgOfiZlYFC~HdyjNqCB z^T3FV2&_q+b~^b}{%2j!6pTC&r^oHHf<2W^>gLmY)JgI{?#Kh9tIG1L@Goxg8mIVr+%Fk z-SDg4pBA#SqE}VcUP%&~Nc~jg8GGFPC-YMu9N|am-fyLbcJ6Hxp}WFsewOO*lOe=$ zRi5aPx34*8ianvxO9e#_X$1cgk7$~l7CJhW{HoK$7WTT|?SfZd8tY67XGh<-BF#VV zO!dBMo0Xy=*QJFHUi@DOrXuv2w6sv4CkWB{!#?>rx18hl_;S4HQP|GdZ3nd5OrZ@nPWVTF>OC6g*KvbC#VDEmG4$w}nj~Bu=sgvEHp} zrKsW0d>*H5g|g0tH}@$xePJ&rz74oFzw4uK6TE8GO%b(w2N3uR@n8g%X^wi=nz--I z4su7Sda6~tmAhCfv=#n>2(+}JC(ZE}8Z)?UsBHFGs#&{_)uAfvv2&v~~aNuiq4>lae~ zij%3yp(mT`vSqz-DB0PubGX~HL8gaPh;FO)88m-I*Q7P4dy8pJpK|Yfu_fKlzxv&e z$ssP&-JmzUkY1RwiM@mocg#-?-7+m*Ns^&XR2eEnTUN^AO3pv;Hw)aHd#CRuO&jRG zeRx22^i;#t(1?m{Bj^hfk<>jqI=OMGZ$+fSw=lJDX;^uuY57I&8`ouesA1jpNujCV zYx|%@RBqHmk2!;$d(F?c#P*^5E?lN;Eelqpheo>9i|^D#1pg9Gg=otfHMfUz#pmVy zxQkM8nfN{VRZ{58AN7lQO#Z%t)23G?d)~-99en3RD@e_oA0FVOyBmEyuwE{cgip}E+vD7GlMB_ii9*Wh z!ex?B_4mSEnfkdz%-xk-IH4kWyQD(2I&Uz0gT3s&fey*n?DpistwCKE)%#CNUFPRh zlSCj7q(ZdHQ}ojiJ8*xB7jBm6d~vu+sQbGOeE(^+r%I^doCee%y?K+Xgv!6K%WB8g zx&538-FNuwqIJ}|;d9$lLi?{+8R4>Jb%~60v!a`x)z2+!SlUo~)q!L$eM+YD%JeFs zV3Fp5{3MUjYv$VvwwL$D%#~8rxhW~s^C^u!)HEsdUVoM<|Jb$8Zzsyy(`sMmVB0=j zRmI1>DWSigxFv$UK;1`v&vW*WN+U{G7j4ydV^U$;0lJ+mYv!Q^cE{_^^M1HYN`;c3 z-P9b;`owNB|5x{&*D@WH{r?!d5_p@c?|%%b%x@y0k`NM-Uxjz}bFT2plq4a9L}kj9 z`AUA$Ks+8EsZ%h=whCIcEDxy=tWjb`X7+zf)@`c&O%Im&*@oQMr7sMQ770?63%pw?$eq+*dRkv?s>td=@-ZOBKkm-y{D_>$y-2>t~T|11?s@^Tv^ z6}3?;t!b}bF6O95O4TVO6?-4?;Iy&szajh{2XuK{ia4hHGJC%9x7uK(UR|xSd z;MhjVT8jw$1#1-M6wp)8gH%`_lOlu_SIkb!ziCYszc0aBAb5C4g=K(cBN1qyz+VeI zi5QbrN)70;%uSsjM@w94RDyv{WZgOMw^C34)yy99V>N{>Kv`#gtW$%u(5g1sQEV}i zONEkPZI%dZGmr|=qD_o@9LXM(O+kVl(C!KZ)-FVgw%tQ2tX&cT{YSh7AgKZ$D-aS& z&9SHFc92>LIW7q>;kaKVQXx8^r&g4Gi4aJI^rBv%|Dj%G9{dGPC(iTNTw%Yt!< zC=YC@v24WHM`+G{23a9!SEzn;9y&x_)o6-6_^$ujSU<3@#k!(Tq&zfKy)tX2d*?v+u&Vr9#r*Pv&CH8SkY-`zB}dzt?*TovSL|1bREU;{O-Cx`cNJu3^52 zmLq-a4T7|O-vZ`W62ZTaO*l;+gJ?NUAcpz_ypcu$gtrVJ>ig${+1vkD+c{7gtyOj?r(W+rPMznf}qswUeyKY2qh&Btsw-r%ic)Ux~R|PzG6XUof5s zJ*NtKmMrkTthgT=1eAGvEK0KDyIaA`BC$ zB|4}ZUznQta9U;ks&25RzoxC(?V+_k>5150u^!l7QNGBJ^`L*{8bGj1V*JXqT~r5y zzpz3ov{kTgK#1Nqj!=g#dpWaxqdXf&^f-neV;h~!=+*Er)@6&5715&novdzIKdsDE zGjDv}u5qBUm~G>@4SOQX`smz!>e+_x+57fgXJcQ4<5G#xr>Sgx{>s(ouN3Y(;r=l0 zQ~9T<;t1SdMk+*G)&q-Y+S5{|Hk8-);}S$FL`xoc3JFghB}b5kkt>4}3CvF-dOuMk z^Zi}b)rgMSBC0$_lCR!9C)Vkylu+f*T1Wl<+|&KJ-_{jX9_jmTjAF?OJrv#;AU*gt z7~WQq2%^HO$eNfh^3!M4N{w(=ok;QCy*oSJ*OKh06R)IpsL(=djtKk( z5qC_`J9KtNzBAZPK%kF~pPQ0ja;NzK zuiW75Meq=}gwUeNdEjad@<5&R$$=xUwHWkk54H94;=-@cm-2tfiH*?__$R9N+E%!i z%JNdL#+IhJ0jEuQ{2PL(&?3osAQkhb`IWGhLYrWDbiOh-R_iq1o6u6(dQVspmg@oe z70S-vP48S3f_^~+rws!4gz* zQz2T%%q+e&bLRYEYC*S`?Xr*L#Of|KdZ6rBA1&+G&q}-F4)#+OH+*H!cxO&*=hBqW z;G?%j5iJpcTw#S8qUey_xHZ3jx>(|r$lTIk1 zl1#UYE->_HJ-XoWsmuZH+lndjzP;Tt{Jsb!K?&JQ%*+ed^v6!+ zz3nWqzOP^OeEuuQ)Zw`MG+Ee!yY406>p_dX^gj`r3x4g2++t%y2NO%RrW3 zbb2h(^A6=U=rm5p+16IPBgKzSi1{KveOLd=?=!!8ro1XYr?VKBptfjf%er;h#>j_D zF7_^6*j1dy#gpB5*4?sZUwol^ZqaIY?$N<&6r2S|Dn#pA`@jzS-gkScaaYZ>oj&to z_kU?x>W0;IG|Uf8k8{I^b7Pe^nD2Tf{O7luvoD(-d8zAUafTkXMc$Tm`}BqOOM{gv z@p5JL+041I%oQnq9mMiSD_GY03s*({=$FPgt-*iN|XA;T-b;7c-tgG&AnK|X-{1)|JoUG8Is4ZH-vUcw1U^mO? zs!oUHco%y$Db-KCTH1YHAFPVM`-0FM5vZTOSG4GD`^!#4RrA+oY({TD%_XAc`0L#9 zQ#{vdG)R=-bKU1Udl#4%M{2(4kz#J^u2;Do7LHS>E!JSPn=ZkPrM#!^>g+Wy)yJ;b zEyt;~tRmHIufvsdoj&)P^tAeOo%A6U{nuP9Yr=-F-PR9W=Y9Wliu&E2>saB6p`BOu za3|lN7Spe6dE|2_QDGEto*g^J>7yU z*SJUjBg-615N)X6K6_=b+qwNlx7vvT3b`W{qVZ$+BMF z{CnimuI1hDW{(#L^f9by`aSx&7e~IEI^L`Dc5|Cz9+f_0UXARzJ=bYltfK#N8onlJ zS($bnw?)H;yhO_y&fZH5S|VO)+1OqD+$isw75!|aLa8JoDD|*7 z*Ms}qxYJ}=d*-ce)@*NCZ^M>56y6NNcN_a}(r@KdH=b`eoIiE%zmZF4^UbMiKKHmj zegfOP`#NI#MUgpgUhReM&Js6~&_KltHhfUc8&)S<*a~lhHTh|tz9-C59aw%i zvT>#0Ub>V#Hus(r7=s<6p;|#7d&pGyn`K9^S zl|loS`FrUeq76dzzDymjA$efF_y3W|qbLMY@e9O8^FXe!!hBH@lrW%A)MJ)2*BO4G zuuhhB(`_3w_tq-yJrL?DMz1(xl`($HJp4)K%G|%*Cp+~N2&AG>&2!y(HsN-9)PA@9 z7~js+J2$m6{1fp!@}|@A{N2oPw(Y;xeqwkxug-Ki|G@FCo(~)#G5lpwk4@0 z<~em+nAQi|6&+D--gB83{5Z-Rbk}1x&Id4Gme5Fb?)SNF?_NW^%q#A(G2f%-<~paZ zGp(rP(ea0!?vcE{-dop61oq*G)-gFwj&z63ZspCsO4eHBhc(!;dS&c#k1X!%br{vh z#(Z&|wcO)Zls9s^Q&p zo&NfTX8HvYSiAHX&d#wHlq;(iDBUtZUWmY)xYnAv^W+ut;!y-C-X}#Aq{tl{_eIxi zegEj{$lczCumARMB4OMQq~f%R`*FehcYD7_|90I6#%|zBUoA+&^MfhtcX0@ z_W||vrgz2rIA|-hp^jhj>aQDL{bsECzCka$?~Yuj!D;hqB)%&m5qaTLn`gT{)TZhs z6uvlv2+WCnm;Mba)DSgK-bbyNouRd(v-w%x3jOXx*AB)ru$=T8JUzY5-#v4!dZcP| ze|+`vJLZ)_v=vG#$|LT5G|C7hEP(Q-k<8l{kJ!BYy#sdY+XEEZ9eL15hIv~Sc)Q@i zo}b9ivi_`B*BxDYys9^2UuK6x^PHte%=?U32GoE2=)cctX{qXMpVYik=XASYyNQa{ zMVe1GZ*v@MmK%S20;Sbwo!8WI)qSJYhHrZLW9l*b?QR;kW2qrO%c^xG#a(f_o67&b zxF~Z(P>;hoS=Jk^PecZd8m7{3eo64ad{IA9qlDeLMv<+!rcv6m#;vLE9;{qXM{aE< z${fpCN|o}|;>e@}?bJrc^qjL|mHfFZmYPK9yD}c%uHjOn_KMSmrP})I?#Q&OtEuLP-|smQiIR!@%m*eEGa}_$%+~!Y?a?MHAFk3G?xwP2l;OB zN71H(TgpgU#d@H3r=4P-RSKP3SuaW>8T0Zg)sLDZMntY%AF^XR$BFtuD^RC9SMuXbIC^H$ zy}x;zMV}FV?TW}*8hAsaD2;c`8@ZMjd?zpIed}i1 z-QUIQtoGVC9>ljGXr*v>1GCGaqd>j!tzCD$js>u4kBwC6tMt1NIu0c52uMV!L%D8N z?GfsiD*G~#JGO)9(|Q%>&ocJp`M7UIxyiKoI!g2LUGBu*ebteAX8ysy2noS%mNjquIQ!-6QoQi(*+MFm z1m8Natn2cYxFU*Z9>r2&>nsr%of5gzxfPC$ zishvBn7Pw_>0EE`vhbr~Zh)mm`w0hi>{m0pYwL}3_cYH|SGP-1$5M1up5>MNwO5o1 zb<+E_rv|#^Vy#ry)G7jjJpiIDtK9YN-C0*wR;TN<6$os15v@;>Pu*)@v9+5w;J4+% zcTo?V`{*^x^_|=~*OpU}w2q>WLY+SR&pc=Q81r7PzRmIE$jFGQJ2G3|Fv;JQ;g*wD zvzs(ABaUAO&T}@_H7`C`)?FQMiZng8FEi9}lEPoGmB2PwzZ?G0%FSzfKc4w{kI4do zZ3&`v37+0>A3k`WuD_PW8YZq3a0$|PiQr$TY&o5X)@RybWddi7%#YCg-S8NH!P?B1 z{+Q%Tg}>m=D1SG8Rd?>%NV#(cL3`M=*GPGBny3)1Z>(3_7wMC+)oz-p=LS$x*w&)Q z=ss#t1NY1~VSDU}5uyYUO>5RodztZyW$o|rNo4T%Gwn5FMv9&j5wZkzTxVOyb@p^z zXNBjluua5sQaZNC?8@%!N4D5C-Wn*RLP^la{MgZP9$23-U*xCn#HE$?2F)=qbYq(s zq#NnmvN?`bqp0R=N~_>a_?TH)CKpYDEtLm2HC=4yNl(4Cl9e~ENjb#VqTr0Rn&^5m#Hax z=Qyj5X85CU+Q&K8*o??OTsz0vekQ};&9bb9?Mtc5zK*x%GJU4HW^SyeJ_$s3oS(Zi zH`e;obpPA|wsw}4{>4`JZ1i&V{;vA|eiY|hzs+2y#xTQU1z5qdUcLX2z28mo);-Wz zVP0ry2l z0)IgSp5)RuUw+-{zVg6nyT#{i{arGa1j}4Xb++Rndq$lv-EXF6E98Os;+ZM^y5pdg z?i;UOpgL}oJg{t#pJlz-_Z9clmXd1rF1>Q6&ylcH*!mz^ub15Vr(JU2W!}2?t19#c z^b(ZTvYxIy*1h}FifW2JQ-t|qnM)pJO7?WK^QYMBM-CSyIAZx6r~Z8z{s|bAR=lm`&Z7FzZ2TB7Jo3! zZd`SYFBShn2u>3fjRsghy&BbaPbBBZ&olefny6k~tk;cmX#{CmXdf)i__)O9L1Pg< z!-Dy8+DNtA%7_emwpHc@GbXE@OXoUY{APG`KAYq0JFMUE)9;KTZ_B#nqmt_Q-!I$M zs@|f#JvUaPlZoSm_gG}S*JKE!!q}GjwSu!b?$e7G*t`EXP}C^Y7Ofy}NTVbekrw&s zGc52i*+|mtYAZT6^O7Ym~R) zpgny@Wg!*bB|-@;Yufz5k+(nlCG*7EiNZ^8L@viy6YtNBv@Y4&o;P}&K%gWjp&sdH zbyvlf{9+#)+{MOQxF{9cu;`bXboHQ{9r2f%aHUYs4XV|1yAL-vz4@0RdaY;u$Xut# z&y_+eocdAzPC3byqF~P1NURRws*&Dlc>OkY?2A;t4zeCp*Emgeetoap*x)wg3v|x% z-`5%BnuGsthT?ZKN><8=zW_yhI{b#l&|UnU_HpWbev#r=l<*ha1;U*CT^Yr%E?~Z6 z+_~{r7ceKwdgZ#1YOwYqRlMXT8%qkcMJs3v>pzY=h?3x55xzuZS$cO#@$M2y!ZG_1 zEu~6U&ws3=UzV$4>Z7cKMy{|feH~{6PL<+Kcs_Yb=lAt0XX`)hGHQ>#_3@C1*o#p; zk)LJhSHNxk3b@j*fQ#6l7-dx=P^v%@9sL3#O$FcS#^Jd4E2_WO{B4IyUM*T`%ooea zvU2s_$Hwa~RX4QVV^dH6-W93-s2HgbE%j)(ZeFbIL31J&sZb|EtTzet5i`vm&$V)czyy;Dp=OS&r{T{)lJp(tM=H)19d`v zdTy|+k6o{Cnp*OrzKPUqo>OP1*?q17n?4bb2&6&@ElYjYNTqzy zKs898WMiE`>!O6F#Lt(z!d+e5=R$sZH~iVk_LE(zsGKph%Y&RrjoHpf29{ zq>u_Fq0!(iWx2h&?#mh~zg=q;8Zu%t{(^{|OXtPDKFRlr&d-GX8b$M0KA#w*O$*0o z74_I>;nQ}5_aC!c9e6;YH=r+Jc8q5$Uo*$JwTMoRSlnt}Y~r&i{yX=Gz?`ICp-sLX zS~0)7zw?t7m2F9Y2`i+c$e|o9RwBARtLzfje_-GE<^XYq9;HHQ4F~QGFkg&Licv}e znP^WKe?dtwCmmCE;@kG}Q5ovuKbi@@!c+IO{=ld4^*Nc3`bS=0Xku~%JTN+85GU81 z{v0zYLv^WrgL?J8cWtZ(SU<2;k~}!-DMjYxH02xc4&oY^I4Sr`kd|>-E$i=s_v{j7 z8mW?ZRu`J1wo{ zBMx;luN5RBD5s)%EW5F21m#p1fqJkcqzCgW`b;X88rh0Zo|=*6qEcrIonj>fQgPZ? z*N%>I*F9v4|-f&Z#gWnN*A>1pkHAdbg5(L5c46Wa+uuvks@}yVg3NzU!7cI3o<_ zbc6Ds9dPz`vm35$CG=o#Ae~qeO8@b3YG^{o^L~{SfjTjobdWr{z7yDo^F@Ao))kyw z_JR|?1wyBP)`L8pYZSk8PdvD87M6;CA*w_~yq*iq`CSRlm#7e3G!L$|i9AfL#Tvz4 zO(n%?Iur2knzQ#M@*v(Ml^*SzGuvKp>bgK!I*~`w2&CdO+w50{57os3FD{IIvCx$H z7aMdL=oXbEd}`Xl_)CvWP5*|y@p~4=#$HVEqO+oiz?>wa|KWwP%_9vWZ()$eoFoFN zkVkR^Qc*dxA4@$t&8zMmQVk=Qjm#E$v>THb%Pm0?Hj1LO`jo{pRlP{9bCDbNwiSp~ zZSrEXpCVf|iXxizFtv*9PM*Q(qUt%J41!Ay5rzF~(B3NE%ULDdKYq&=C5TcR-M7wu6S?P+F+PH8 z5mF)AvbuKM8)@3Hs<$MXt) zjS_LZ(qrzJ>`|Lf#zuP=ESm4Pi9_a@@eYqs<}Wede;P$E93cWVM=H{s(a8}=MQOI1 z@k5?F^Q@6(kT^d>{q&nr=k9aIez9cps9VQ+)jyvfE56dS?IWKvvR53~QuGWGfwH4c zh}N&&+&9^~bI=p|Ou1zR?W^Ujnx5ys2BbfG!FQ^)+fR-2`b@sXzY7qwWJsma&}z$Q zh*%z@R~tR3KBC&g z%Xb?-X5t}ZUPVQ8Ft-8kI56B>vE^moR@l}C=|o#y-FT+^+woC;tz{mR7wW{{DXxVs zpZK3?;n-Ga9~sRm4$z|vvM9&DLMlWvz3Dmidu{P~AEy&rREZ!SG_vG!rZkPhuqP@S z!Q(_i(Ae ztiUi;5naqfd4Hdjl0Tp|jh5C& zQ9ltKM(Dv2Xh?I^NyM!2kc#8i5F&_KL$=bfSmV*&5W#7xsfZTQdIS&5S4uVd=Uwje zjec+|jmXyb+SBrPw@=r%ounj^N8l%6FX&&_M}syou>=tj^snoqh(@ai^fY6^Ur=_; zNg|L6HBXK}svy!a-NNS8Pb!bQ7F^)n-^aWXgQv%fI#q7Qa9DzD#l%v>(v(rsuzqlw z(8&?_3#X|x8BJ+@O7EqaZsQ>}yne%P(!E-6A|6k{*J=Ec_J&ow?R7)yom;-vuglXN_q+65B;Y4`z!=WMe9=oJ57_z9`I^xyNrIk; zXvm@imeaoB*rB|b8Mp|qWG#-k&X{m_wEg6E0V;-9JotJf)a`vrO-3* zrUmXt3WSHUV-1#4;n;_Llsuf%RGO%hzLyFk87>1tAQgW%-mYWz7dc}=D)cu!PHc2< zq|5o8AM!Yk&%ji~kJE-nQ3#}>H0GrH!QfU({3Z&u8C*Xo9aueKey(4&O3&x00ZZRY z&p-ACMI*`b@;*Br3*sTaKCQG@uJxoy&YNAmva$61;`KB9*z?{0m#(SP{d9mP9zS%M zUqV#=Ej@qK?$jcr zf;&IrekHfT|7a^=Me^67sZ(RL{vG%+X+Ed_WbeK+Px_jpyet)3!Dx;MrlMaMjXD|4 zgBlX{f|j8`zrhnom9)$~EU8N0rseB3IbDhc`c`XtzPZ(!;3XbX1<}zH5pZiucp}<| zZ*UpSQI8-(q|6uji85DgAF@fHQ&znEjjh0U75h>m0&}vg$-Sz1pVWFLa$6)@9h;q= zKfa5(eHPe9$5w~BVp*XJcDVhX{cq%4$3X&tRLDEfo5m$*A1uM(UNV)3e#6bqE=hqxx*{>6<6Hx^^5syEf9_LN{;x>OihzL#- z4@Aq647WH$#cATf5*n$lE}rkUUt?ye*jsX%s2EK->6RK0{7WJgqD6TKdASS-9h41e z4rMM7NF{CMt)1X~@kCAER+ul^hrb&=5W!UR3sUiSV=F8V{H3V!Fgya!3M;DDPM;(C zy^Jgmdt_SO894j6|6Pn^JhUQ@EJzY;WAtsnz^{b2qf~*dvb1$S-SePZqrzC7(q~6u zw8UxRfxPu8?|~=W>2-dMTs5+f!hC9JJOwJUUxFbwhgoh=FN-^v<1!w51D7ddcf)`A@C$d(o)W z95v)Ll^R>Yl%V?4@~(Ymt-JDGeF_Qk`u;0!sk5To9{)CmRtJ+IkP4+0<91;yw2$mR zj{Wq5`}#e*++Kb3%cSsv3rfhdJ{qG0wxv}AL|{~TMC+58tAB7i_SofqtIxxsMKNEA zfH|i^Dx4t&GcsDs&~K%9`gIlG6A{5_8igTR-^e|)%l)gv5ANte*@6e=i~9L*@I?3x z9xU6UM$4w2(Bl8-RSaGWbsG?M3gz;qDuz2@(8-<57ob{Q2pGxemQ$Luo!WOX+}~+LCiW7EOg{ z%le?xTKldWhbqD{f=-@rzL+*V{tZD?oRdL(-u#5!XJKET2j@$_aGH4Vt{kQH>R=KC zQgPbw2y_oaA6}r-!R{-L8U6i1Pwx-K9>FrEKk{}hQjUHIfv2F)xb3-NAKi6+N zMG|{8%8Sc`q~f&UVSG32dm`2x_C)d}{%-sV5llt?%4tNH`T-~V#mS@Kgt|OgrEd?E zZK#IaaGAGh@%#QAlMYMij$&JJhZk>D`Vq_&M=;YTN#ilkin={wqKj2tS4B;Tmh?W@ zD{p7wjZ8YT&%A?LPAwe9Qv15X0_U^xGOn88f%j4|FXSQbr3PHWbZ;UauWj=Exz7E6 zr2Dbkkhgr>38U^KKlv^I@)-NwJg4bbCST+?%h7QT7n|?;WKI9m_NiYEx?k1``FF|K zCMbJy9+#$SHb=($HxzV~e_iICM46*b`o!;pOYKGZ1(EDp!xd_d zuL?-So!vs}VEc=_lewD&52T{IORXL-yxCHwe(-%IDqBu#UvOo47>q%n=19fg39V0A zs4^-)cC+`~doPO{xg2MLtU#xjgLpDOm29f?|NL4@CyDtEFP-IOyYY8(es_ev_0sCL z+X^9&3i(+UBKQ}|i_;_(qVZ4Aw%<1-Gmwx7+IhG)nzh341DJ9Zk_AYmH{Xq(A zDwcdCD+nfq(+a+ke5(68q#FCwr$vX{`mVK11`o3r_57GL1ed3u`Fn>O)-vs3MM z?<{i{eLYZNoxpl0r8+ZshyB~?*CNe#4pg%qnH#rm={xmU>)Et;%fQm===eML*xz^P z(&EM)QV&GDsbf%%zuusAyZh=jYDJZU?t(p)72U{uwP(5?xgM>HR@Zxwy}PUK$A5Nr zzHop(_Jxn8*o&W+QlTVx`_Qs>XE(7QAMUxm>XKgt{)1(JHngmF zcU|DFc;`d6#gTzJ9@zrDA7wl-vHSyD&EMGDeQ?(rckID|s^_eQj(Xc55RJU`D16-u zZr_?S+@UL^9_a0ulO6$#-{CfYV`U^|&p=iFwLB=bpsq+Bn?Km&o;nq3api8wf z@lwN_v~PWKcl+&GkQ!Ny{ke2g^>{qUTEldLL3DS|U(eq{6yc81dPv zRKKPoKSb*{6iU8qZ+d^KyWn$K=4esmtyd0%JBs?HP>wcT;01RE3*w_pGwOr;g93r$ zPd+Ja5ct?wHs(g=Sk3Smabh(Ib%6BXxV5P`MAVw_l~@fR_(J56sE2l`nSMAH@8 z;w%Nn+TsSNunF2qB2X&K7ZKF1n^TB1D+>O?LMoI!IfBm~(>S`z;RSvab4u$|J^sxe z9EB67ut&dq;hFm%NQGz}xAua8YI3*zem%!A4!t?5-+K1PTAao^KZXaF6mjQs&y?2Z zmg09$0=-Ep`epJGc`GFmEf9L;PDiN!z#!O52tnUJ$~WHyB0kqADx80C3DS3o;29nL zf>emMte<;yv-@{m5ZN$ktarzlMNV&h`{=EoB8N_b-C8;;ifD;A`_xkV;>`6C>y_bNiSvk8DrQAjU$;odi%$)$IORk!C(A+v z=8IH_)_W{H&)D6+e~j0bEi;-O+!!`)TNUPoMsB z?zz_7)S`55xwKFZecBYQAQAWrN{Bh>cQY>j%^qM4iagt-x576$Q7V*H@|aS4k@M&p zb7u_mMSjT%f1do6(sZk$n<=-u|d|WB1$_LxgqFq7soz5406ZDE0W^T%Pak zy_>X*A{FYVUz~chw@SHxhx=a78DgA>V?%CzXl9{r_rFxb-CwY@`M3`!D6}Y+4W-A` zObZRt_3@t(O!fPuMLH6As(*7@A}FtqbY4?+UPvW*=$66NEkmYm8H7}bK)c1?cXsK0 zXVex;P-?F0xvN`-Ox-dl%oi;xc?4}-*uyfQHu%f~bOtgjN_wz|#^0%S>78nn3OxfQ zENrW)6p{+NnRQwsv11DQgtH2)^;dG(Sp3g60(_ ztJN)E&m=1s^;S6bmh#)cu=D#_It+RY% zJ*RjFwWa){kzZ0PD}0IFf1&+6S|YOb8x79Xo7@TaWP2~JPRk$TR`Jgo@O~|g^j6GH z%Qq3!X(R(XydF~VZm*9JCsGa!%vKj1nG^ZtbTy#|N{E)$uP*F3>E2x8OyseOeZ)xz zlmvOpll^3$##g6>UajVcH|Xg+b#T+7PQe&&%JIp*r=aYZFMl^t=z~vviqP{PkhAYhu4h zc>aAhmK2tt^mgzo!2`8Le)`SgUoyO754UlD*Zb$VdyiCzwk(R zpM63-a;JnkNVej4m*}LNjuPj4`*-h`)oU<8+MJ-{aXa6xVFcM7&)G5Bl*eB;j8M+f zmm?q7%@ej_2}vrHkRnHBtMT{G$sD5V2U)jM1JmN5b^RJ#-_-x0#A!?&*otDde--O8 zwX)Ww!0URVe16qgb^Nq`8&H>ErD)&GDhuwjQ4-{Vymd5^9%EF`V^e+K<-Ull%jv>; zbRIfHUDarcJNT~u+NdG6oaj9|7VASp)k^~>yZ1g6wlQBsU{3nAf_kmg@&{VGk=@nA z*aurU$>ZCPFIJWI{4X+L{~ZE>ttg`PX{t5)b=40?x({eiJbj&Boy)4@pIZqmngv#; z`hlK^^0KATD=DqL{aA{(|FcnU_p7rN=8ODVm8p>5bcx|D%L93E8q3D;7?V}X8_;E$ zn>ry|$4M=p|JTnZubP|6=g&Auo{{BA9{)BUqScHN_1OyZLLR7} zj@f_eHue0(RDVv)>$sE`r~O)ce!boBpw%1pd1}KKtfI)X=5E))lN7bkr1{l(rlo(w z3MIkQLP5Qu5)A&r>R99898vSH%jMTyY|a-YM=YIIF2B?}hH7w~a`{i~D;gp7pjW3^ zc1pig#@r=jopj8az`F60qMjwNXn~IY&!uVFE6IaxLU!YP{j}!C_lhJ!NTR8p{XJ1C z@GBt|O2YnT`oY8!&Te3oO z#IWnrLqA+*v}Gznu+hzDC*zuI&B0WZUS-|soGO+;JqcVjC= z6h%cN3;u3K8TeKT=S9D8n)3bUI*8ixO-<5+E#lis(SPX=HAE^(Gn(jRTY{cgR9z{I zU@Kz2l;)g#L?OQ_sukt(Cj|e6A(oceiM#n}y5UqHe4450->^rkvP^~JtDrY1s@+BF zvLvXJK66*ARpj(v)x7$jW_vt>q*8n0nsWIS&tC11OM||oC?050wvXg7>cO^=Y4=z6 zE}bNKV7|n=(0Es!*_5p)FYIf%FVXYp_;+C|nr+8_S+!+;tnQaV@65eVas=^XD&(!> z=}%tbre&P9+l{!*!+f83b$*Pa?tgqRH)dk%(^)lK1Hid{;u^q#7tQ*E-ifQc(ye>_ zpY{g>+6x|-FG{Fi)LHw9YY+L!{^pXl0>$^8lyCdqJ%Hs?2lK>cb`Xm9S*IF5+Xmg75%GUScN))b>-LP z3t~rmn7X20Ge2D3zJ6$D_rz~wyq=TuoNA|1LY+ouMJKPw)9)~wmAeyD^PFivq=b5B zP?;w~Al0n#2Jv(Az)O6oJd~F_k?)BkKmF>$mi?J^`!9;@+c{B4Rr7^Br%py{XvwQm zLWw{gm@lH`T^YQ6g7;(iyXgm~RK3T3=EqjP* zG_uqPS0ikVP{_T*tUPDnAI7?fCL8fzSWWaQh0;&>9_MYJUn%s|7{3mB?e$|^ghYsq1!ju%iii)n4@!tukcj8L*QZ{_pWnNK8jLoS2+Rwqu>MQU@fSp+ z=Su|YfmDbV@4kBczAKI4@CKlKg%94A6$pG^57AO8Y(G#Zl+d#7&~vqswai>?MlpR~ zOs`*&R4Cy@b=;ZKlvf9J|KaK$$JRZLLN7tjSl88f;p7VI6)X=n_ zvqXIqQYn^-+VDV_FriT@cMQAiht*AdP(I*ust=swd_kf;8GDzi*)&CViRJ`JW`68Nmn9=Lb zHFN!#HUD`sE4uGplfJY~7M=a@zw`PPp$r14Hh*LgD;oV10;xXSVGu7>`6mQ(rxuyh zB*~v8jZ~(kzOqZ6+vUw??P4nis4vFmIhplRL#@|_qUp6w+06M+?~I>McgUx4$*S8o zyNeIKW%nJZ-@FIJ?kfzUUy38p$!&#Foq5CPbaG~5twqnkdR~;5m{~pMm8@*^UTPA} zD_>*uxM4=isPuM3piK~g7Ll5xRH*qEtBvM=%_7b3pZBJFH2YDz*mDCEwk4Ral*({1 ze$`}tj_+|fjax={7dQE~`A^H}#r@28K{Hgig zuv9QBGG&hS87+-DNgmjKV7`d9tlO@B$}K(YbG!A_o~qrMg-*BM%)1$HA6@9r=*XAO zUSR6V+xODB*JKE!+E&gW#%B=1{Fz$I+)?uZPi7{xSBSteN1d=_WqXBf6xJvy6}E7w zIZ`3IXgx^wHT#0nEV4X&-^E{wDox5s^1xCZhSatPe_;<- zYsTo4M?3q*cYzA6`xsBe5gE4H17YsN91H?|38~Oy;t1bX7zd8ibRLp=YF-bJ2>vCJ z3ejeJlEFVKlPf^x3revGIG%cjjRbNJZ&B zM-0_JBRKjqQX#r94@MvrrQiBlN@YqAHN^T+WC{A#Mf+fV#GF{F!aNXx{1{-!%w&W|S=S}jq+1IT)Z0G*cPL&JKk1c!X)mWIXY`!;PY7Ly17&MJhx~ zsgQfJ^0%z#ru`DR<-cXTzC*frJFleI#i^tk>3CE@si770JBsrzaF@*N;okkp7!Uhb z9QC0Mb^P6SUu<61_mDe!>b)LP;V45Q@LnqKdCt)d;9d7 zasHkc^%;{!HWIZKYjbi0Qc>If^5%-6o*7M}Vz*DRhm*YMyMe!D=@wl}wOLE$YN>Q& zilCga{G}eS+ov#Jv{fMxONQG$WiO2)>K(Caw7RR4hgE1$)4!8e? z$ltMDkr(foq;K&DZ9BH-IJOf~sUTLAJokua{3IghlH)Nx$7-5Yr5 z8MM!3-a%{R$EOawB-yS$?&NdYczcyHuewuTEae?8*;emi2V)%CwKQ=*8by(}j)VXR z`~?vxp+2!y%<RmUG?Fn4O5PtPfz-@&=sKO4v2jZ}4WpKw2%SIR4B(?LjuJr44- ztf}7}$qY~JV{feXu)-2Vzd~O~j=*x3}KE}2zM$Bi1J66cVFzC+IXj5f>^d#2Elhr(;*_DGJCZA zhF|cVRyiB>I_Z{A|HN%PUY<5YFOgE!zjLd5=Di=?_EWOeFA{C-_Ll17%06$EEVU1bN{2lX;j`&ht|F2>yk7PEHdQqAhD=`f&Hn?^C>t|4ON_ zMxhPkQYlKIeV7NWm!K6Sf~iOn)QP{FmAj>l(%cePRPoC0$yV4yqEuYZO$#@5N2>eH zgeu-{{T>}sA-X6%NV>2ZF>tny(n=ANvZ4n!=EQz&YvxY$ecH$7JL_Q(B=2iC87h32 z3U!hQ?Der<3eGLjC?og_D?DkBREQ4fNe_(Vhv?)8)D}w(b<%BnU|o-`OYLi5QM&cZ z=WGkK9#99N-W3Q0*Fn=#gC`0eNQL}_=7L91qY_8@;8$W^gE~n)aIS{7!g(9o&9c_5 z`Y_Vvr3`Ox{SG?LL{6-azF%AGvMZzdjqMn{`d91e8d3UA=?ijdMnwzfp|+?;&~}k^ zkq1hZ-*j$_-#bJJrLAx-gL9mqr6wNGUJ0qVjiORR2?Y-o?3rfiTM&mFa|$ z;%+FXscz#=tUSxfza&y2+DOHBOb+}nC1mb^QzZG65XX_mSaA|Tk(f9#7Di=~rxS38 zH_)~K_EHPtd#T3TyB&MTJM_f!{;nnNzM|~>y)c5Q=oh5o@1{*8O<421&ra!>aC8d3 zK+kc?hd52&`KFE0-27MHSO-L~CoIv1Hkc2ZyofvTpnN&a^F+&n)9R|uspAgcd^pnS zxWl(A?%#ae;oA{HDiuhg?@Byz+%Y$5^gLm9M#$WWOKe4#3_am+MAF<6CmoJRnjC>t zzb-$iV=S550}_GfMbU~~%b#-iylBoPryMgcp&Iqps1c*u`LQg<>hpE9W{C*0?vHybg)Y9C<{yYa9!P~~9h+)SH+#(0 z6;!jP?S)iWYKYc1?>nxyr+qp^k<~CSqGAa-{X?;9v{ZnL_L`Sy_!r8H(?rE%JHrDJ{7WJgqJ?!u z&xySy_I8#vaqmetrS*3A@{6+-Qk8X1IJ{CM5hq@Bx!iygu`nNQYxq)3aPNCmWZNOiV~$lX~ig9N7Fs& z@HzvI0FWPhA^jT`BVqJ*9A68BLLWunm9-W|;X-qiP)b!vk1Pj2Wk!~KM~O7&G?kjX z83r>ip*gm8QYyF`E}{_xv($nF9_S^UFGJA{J+zhXK?T!k$lY}ETRSMPpv4!u6EUlJm;6ssjW>oT?oYH}IE#p+kgT8-tpi*e% zivL9QIe?O{w`l(R<=*%Y+V}|m<>$zJJtwd1OGSwKe;Wzqsv5VJqQleTiNY z^b-YM&|4b3hvW!_Zo68nKSCwN!}RGQpMp!di!CwUvZU_1lS^gXauVtJ6Z&AMM7 z9l3OYulbWl8~E1ca?%mTu>_&sVX2{|g;c^mXocjq!n%f3h?YEp)d;!n6O2)*JWvmm z*DvSuH5jds+!GVg?3L0JkqYze+tygx+H|ew(~jiR1~)8u2^Dw!S!5&TOc6{4k7 zi5||LkJ8H7HuB(kR3blFqY`lpgK?K^(*Q15j!`6EEbA4{ru)UIcXwBmYUNso?TYWLUN{+x$5w@b3lawl%MNvYD zz+bQp#+)R=Z*g=zSoWX5OQ-}9EoP9yx;&Ciw6vI|dcpdx>~Rq7OBMGk>|Qln>}gxKaw1X5u;pB#a$K2jmN=+!9lEA|X6MZ#)S zQL_mu1D+31nyqVEYHWQtU*duO%HN6Kzt2C22iGXW1J^R}7fus`>wIAZ|B^_BXjvY3 zW*f_2j!TlwIhh|x!fE0y@5BZBIPxAG?m!5s#NGtXCNL+z-Obc3wIVFnPM!3)JSffI zsXpqLPi{`}c0@A?%y9oDn#qIIYO`5tt$_PEbvVQ#j8g)x(i+$Cd zS9qr$%X9X8kscZ}(urceD6Nn1G{V&g_3q<&PNjnMQ0U2)QIrtT$q`7EoCn&Z`x|*q znyX(ydA?;dIRd3ZDnv`EkO%rwazu~cjE7I@=|qtV(UJ!ukSe*i7keHw% zOXdUGThhwX@_$!|9a$c6~ zYgKRxDGS~ZPCQMuy6g+~il3I-4^Qgn9ZbA#w1gy!v} zo2(k)Y96lUp-@}20`jx0Lw{8FwP`jqTUk~{e$Uq{`fvT-?WO0FAK!WfjYTs27nV(& zZDTDnlA)7X!6_{~v1QT*aq3~mJu@}UJ-p;$g}oZKaM+GnRx$)q;mE+q#HXnePlAzz z)L+R{VY+^}x(<4}4*F~1&NUgKVb`{bV%^T(yU=;KiaxufM;tn;UyX5Y``KIET^;%< zv?7+KL>Rf~zhS>+$PJY#vSr{F!?GIum}>8+vN7}HHWNJTaauXL*FTpYD%so-eWE!- zMjR*x9ha0De`Ms7A5)rcUGN*(M9Y6+@K<_mGdN8rU)wbF<~((>yN`IgE}p-ZNJjyK z``JiU)Xho5W9m1-?QTS1PLc;AkP7ei8U&wPB5yFh8@%X9whFw2>v@1+`_N0{{4yz} z4>+8Ys8RllWmKc+?cJbkbo5^Rl9?$F`fmPAjl!Fgco((uHRi@T#e*Eh?WSc zxv_$&AE*aPh4GK@elsWgCY!=WxOXnbCVp@v#UDRP1X7_+$r1PqA`WUE`9<=;Ul2ih42`9Pn!iLd z7OJtj!2LE6Z=A_?FlZl%mjA*E;|prE0!J6$q`6JIkAuV@nmcrNypWZbUeJ{jO_}d{m2xyj-=!2NIC+6RM_TA1Zs{{ zh-S;uzhQ+|MC)oj{K&(FS_XkYswuM&aZ=x>UfF7^eebgNdN(785Qz~fF_xx&d2!uy zZsRiF+70L3p|JlzAH&{9B9My8fJ-nrf~c<4?MMBOT1Jry(Ux`HnPT3}P2RLmypt{T z2%>B@ilR=Iwc_z_-3Oa(wVytDt3aT(7)#T#%G^6Ab5x~`ky&jgdDt3YON}k6L}2TT zREQR3?qM5F>8~o9b{^3ZfxnP_j?6X)N@vgG{^P5z#l6!t^X!%PchGkfgW8FGg`)(uCw%?PR5*n=E45NH!>U5>FEYX(~Mlcm24$RkgB5VH};y&FMeW&}P zM4cFIS)X23-s@U(mc4gITcHOG7fPcRc+AFcdbYN-5R^Ii9xFZK6s zX#0&#Sk$m+%`M%kWAr^7O`!LoPbWtp73st=Iwb;IPOP=Eg+r+*FRtfEg=n^w8TIM4 zd%x|Y`0d!L@prR&ZZHx-uOJkKFz*5&LQCcIpu8|&L`$gVRx0FrSo><@w-IX5dI>e-d zHJJkKSI7frskoAgGggVfxf)U-+8>wrGa@rrtL(2cn7LZz(2AWYAv0GC)*k{bNDs36 znFr1Iqx$FbW5rjRh}QI-qgzYF7aMd;aua`-TDUkBq9p=Lib{~9u_JGZpcY{Jon{}H z+IHUgk-GqA7NmJwuIXyOdEG5S53J|NJNbGdu2W0v;+kc7FVE?^BRzCvMV43#N3>iE zPqwy{9D#H4omb{LIhSPk`w_Ti?VozteEuAnhqnQ1wa$r^K0~)x8%6PEpj^d4J$mQl zIXC?;J#@2vK~idt>ptj-NQG$01NA_(M2!7)bL65HOCyV`Oj0Nn+D9Tr)X&a*?W4-x zoLGDBy8&}zrSCL1a#3@%i1aJ;CG;`viE$s32>NBuJ;Aw0_C!Q8!mKmktxrx3tj8wYNO1BO3+&iuOTiEoP~*HPi3#?tJtLKk6x^sch)`0R0Z{WiMSGB|3?qUlOS}C;CnZ{_}f- zxVNJuvfV`*_{j{TtQqY^boJw|3`gg!cKtZ-d3eKzV(vvMbGg$Sl1&2QEFQL+1JEhCW!kC2E8 z(a8}=#brQfF3rL`PC)b;kS#Yl@bA0WFUvR;aEsWsTppc3rWVC*j8hmEO-4x4?Pa;hG?=7|AmEA+CK3SAo1YQ8Bt5W z!V+A0Q$}dPIJ17qKF0YQB-$Oz18))(MqsJ&9fRZujJ-j!Q|uLLB`D3YI^-S;Ny1)D zX_ozl84I1Jy7!?MOQlrE17l>!7!U!*#1`QgA~+U7v}Fz3I@PUJzr2?{>=qBBGBv&^ zH+K3u(xXvS#`jsWd#_ui?LA)0m+o^>c1m-3NIf2&e52c7VVXCqWIGT0i5otg7pt?g zLg?+vL0>}siawVCh@j_e6h)~}T78x?I?7)6s5u?YJqzVk6c5wmAcCp5kK$g9zmtTP zb?=%tBBMW9;5O_$LNz$Oz$x3;l+?793!LE-GeV2s&59noZGqEmESKO1oz}W{-8j^5 z9awYX!TB=3pyxycQ?Y%RioY8@j^4JVp?y{cI`RJ{I$dVi4iqbm9HPqRZ0PRT$}zr50aN( zEJGgjo%`M7QXv(hNgna3{V!Kows(-`PGU!#{b3XPxz1t&S6BZznG1FRc0>4(8F8psF4@$e?PcDVI${>`zlQa@T{vw z$Hxz{$3X;9@n{065H0mU?x+*m&6g^o?_jz54wkrghb4pxe=JdjHBi+iZF?mv||OQ`$vD=T@=?e1td zi0HTI+T_K?4l--($OCy>*5lvmcxNR`*k2#d_V5?<49v;02Hf$uJN4$`Uf;~yL_bIp z@(6&^JW`Vgv@Z6d5;5t?s$S=L=Q1BFXzQUQSb|cj6VLuP(xmSq z=p0#5i0|x{@l*Fig=nHLEESDw$vz|rr&+?n2$q*E%4N=I9qD#RimI}zvtK3`lvv=` z)YAKEM*BBk5X&D`F+^$pZpPGzU@BS{MJoPIXp)Nlj4rFcHD{fvHNex#^)3wTW?2XR zQ_nm1ALaWm=C!IqAR(uT_rD{EigPlE31>Td)rzP1JZNXVQ+wJoHM{I4ZF#ge*>|=1 zZnQA}HRt-YJ@Uy%gMCiDLa)cveBMtW;`Sk%u9(223^Z?x2p%vu2WSAH7kna_Vcgf(47fL7*fn0h_4R%LKNLrRK zpr=}eza;9!{gprn>u$YA$IE!ql(T$6GQfnrZ))q2_w>S4h}Ne?!X>;5Q(ts{@NV@` z53F72J(l%-kK=B&nS0$Gm$wxNI>U1IC$qwW=s+gYoa&$cpYN|!=Vrxz(UA&F9pt*{ zza9~fFrH{D?xRpz%j(?qgga^H3vO85?w`wGZ%0XrY8gxmhdm44kIJuPTDU%M2kTb` zfxlooi0vb5e!dljJ5hKd8gr6}d)gZA#fM}?kqXfgfqEbUbBZJURuuEXGuu*++OddR zZ_L+j_k*{2Sk71mdW;&6{!ToM)|8^QgwLu_y3H$Qlu2nmqf;1xXJZh-ITc3W$sj`Vi4B3hSf0ee2lBY7O&5m=N@ zw;{j62tE~rRFvlPsf7_NZz6(oDvaQ~3L(y)ZjHa5?Rz5n6G zJekXNp6F!#Kq@|gOF0FIz0I3?)+g8do}zydB}n5dDsz4T%+zy4@Gpr}oD+R7EEW1L zOF~ldne@U4{sm>HH0wkN{?j`qP4eR2r|&StbbssjyDSyAR{_Fb-_tLi(l3a>oC0b} zQM<%*8Eyw@gv{ULnu|J^tOU6hP|mWRCo93^2(}4Yl+wu&Xk9EDMEH{V-pJaLhNvxn zFFcRpU&y+gMqANLkMgHKDjj6!DYa6b;(1|w&MsYDW>8y>69G7 zza&y2+Ondj-i`cvdreg)H>A++sFT!#?MuEzdGY84TLb1z`UUiaz+G0Bgs8BUu&jj@ zCacvgU(Y0LjYfL+{%TsA?iA(pceUS$jiy$R=%foUOL zVd?X7TIfQ30)NJoMb3d2(?Tmw(J1_{l$zehf9{Udn;BBH_HySz^S*QE8y7i8ek6Wv zqgM}J&gQns}J=yL1~65y%~>5N-6(H=g{s zoW)m8bto1mog^;Vb#jc;^u6bHbCcP!KHgB>3rD*}YBkLErD93Y3dq|>D2>R}2!(Zx z{fc}kIRbw{1oG1nHp*A=?(TS{`+l8lQG!@%Bfgy%n^wlyO(M`HNQG!0p)?O$^HBH; z)(P|;%c|YIp*p%DWIN}YcsTo=QhSlJ(J_$_aIP->D%K-6_Qv~#J@F;&p|_v+P<=vZ zYz6O^Ez{gGjj}!b1tme9e1y^nTO$-wp&po%@RGP^(5+AQ7)q1J7%wUCy_R(eE6nTT zj33Z|&D7F7dWrQPZu~RQeTKT9!FlclC9PoIW?F`zccm?l=!6$9l&2MI3=EX_yPqIwFv(VhFh^hLA*^AU#~A z;xPv>7t-J>UKphS5txh92<#+T25pT;ir_ueXkf>d(8{Uhey`oiOKgPX2^aoK6l#lnjs8OVWy%I+tbK=WE6YiDn$K7f7a>q8sEUWs#s`a!O+ZaAV0M9IR)R*2>ZT2-<2 zL1}wWgCnqSM_WQUuvgNO=Zyv^A?89f=L+LrAt%ToZy#76*gk42zdcK@0n!{N_~X`& zG=`2?5?;U8+OBGYc`XWQpcV?IQ3@hsAq|u-;E7rk)*vFVB#yv(#t2r3R_8@igQmt;Jb*Le;_Bw;leIU!-p@JwHhu5 zttZ*OgjS<4O``<$sQ)*@=Ax3i_qiGZxk66pyIt2%t5L^335{AC@16a(nYZ@+tZ+58 z%Gvo;;~ZQ`d#Yttcv*^#s!|XFb5R?#>-(Gr{bJW%qgQUPj=)@Le`SU5oEwvvlVom; zTpfXOASZ}cCo^xk7*Xq@j#?L$d;Z7@AD(Zb+@R!GlBo~7mVq8Jdd0Y|Aw<{S%_7$g zjhEY|Bx#@8u6SVVHY`cq!hYvcWbIPTC2AD8LT-gv-LFNY+&l5IVFIVoYFx5^ z?zCBLL3%NUWq`UdY82QeV>iwvHrum!K8X8-_p61V*YY>Rmu`D7g`h}ySU(k71r^fYmT(cHpbMRBREZUEFuHJEQq@#Spd*NV^uz5#=|(?3SKWRK7Bd%YmGrEpS~?xt0^O za83i|!1j!}5UpwC)j1-t&Urh>I4oFGmXI+y}N+i5zkS?hoM})YbNi2x)e( zEDbD|pL7bSB+GIYX87eQ7+XRsLF)|dLaZ0$_d+O3 z#cDA7c-S`8OMkz$lP^w=)uS%?hE0ajiTJiTHcjihArKGexmjElRCeD;eFx? z5lEfTHW#ARyM6DjjyQLkSoe0^CQh*aZQ5}4zYr*sK^V#Df0I452D(XLEo0{5g?@*B zjKv7i^Wo1M{qjk5nfO7XM1Dz*OG8cjK>0Z0!P;5jJxV9EQ;E3{t}?%5zUpgS5D(to!+6|yYF+0rA%UWg%-oxAaP^Q}2C_X*IuhxTjZ<{mvj)ne~4rO(FwBJn|gppJ2c^D6X z^lnE>N(a3w^*-pmBK2K^v%))vnEFTgI08?~VlG6hH@FvWiQIJA$Wim?f_%J_Ok57t z1|zD~I;z!5v_7;-a1V;P&j3M__ONr2%9%tg^itc?Zv zi3U=~v&YCS^Wj(xVyy*ZE!7}+mU-=t>NyxKPq6yuT%8Ip^v_(EzfGVPnBUH5;7Eq_ z)IJNGvOvo~i@~7 z=0dcZK?XA~WegAmB!mRE%Fo#rV~;R6Ap# z*^51sit^=0*j$9LCvXc!&`rjJTVr%Q3Cx9PKAv0NqsMR@+jUf6SH%%_R2*R~hdl|1 z^t4QQCzsP_e-VkRUtV4)-^#<@2Q~UpzlDBJ?S<2REh5maFc+eARA5)d5q4A@VHwSd z)m1*OLW(O-aV4=Vv>4=8h@+7m?x?QAwC`ibSJD;g$9^}y4UkM&oK zzl#X_3+czEDHo!JINqn4`}q3ua^`>}4=n@r!)s7Qv}U$z&%H)ljJ0V^!%;LmMMGj) zXeIaWS?E*b7Sop~uC9u}T*#r0hwQ5O)Q*Zzty`4kiZp7^@*;=%5%!EQ=0Y^D!G}^a z{oCHoKhMPZrx5<7S?-(lOUg1mxpr~J%H;^C(0g9?jR|@kw&Zpbll%npQG)zri8wPw z1eT<^auipd;!1}5X8PY$GE(;uFh-`cSiSSidp1M0`7X;y4?g(rUVBQTdu8||uF5Ypb8z;bQc)`zVp6-BTB z1eI%Z*)(!R@+9jsUNbkxYMqR8SL*t(JMR7Nv^zgrAK2o|f2@!<`N1TKddK>}^&mB` zE&zeKuBKhX6>(yBt!TH;a)KP%`Y;H}Wuq-%t`~k>5^gxj$fw@pICk7o|GCH1*+E>V z!um%JIRg2`T!`jeq25!cr}!NQ&|ja+%gOP(F@8elZuK8CMb`zN4n`6$6gIUl4(BD{usj zMfTnuB9L}|gx#Y<1eU}R(YX*!w{A?&u;H6Ra$UmP?#!y@ERNMK>IzqfISqV$1f@mV z48iIdXYn{Pa0HHn!Tw;hl?0e%=DlK%iZhuYKlKdg$shv#V2;3%6A@SvN8r2`IYD&6 z2+W1OQo#t!g{`?@1m?na!x7kW=uC;Vn2FmK4CdnI%x zeUop}1tTyQ$#FE(B3f;Y_v#Gp7Fw!qbKozCz`G|xfF(+_4Ad@aT?j=(DjE?*L(;kV z!|H|;)h*ryLD~f)Fc)&jC8u1rrlM;wkUaXXj71;~E_pyDS>hOl;}Tk^zK^3@le)np zsa$&-2suP801QmBIBJ)@reJVS6-)T*=i8JJ=IMgw-x-nj@5CdAo?wXmi%cA`DL7gA50cF7l2t3GvjZa&pk>R&ssQL!ocpOVuZYR5{)+|IGK_s~MM=J?1m_tH0*^vucws zA)-bcv?UxrUL3k8S8_U?pnPgi`P7c`sXdef5jYZQ#8tg;^t=%*ME1sZ-r28Wb)PlP zT@t1{IOZgWNmH*)qq99v&vd2lTH0|5W#V#_O)KdgJUYu+T#3tpxj0vQ$`q2{E`C@J zc=!XSbBR=?leonFmoi+`E^1x9mY7yjDjKe$q3?N-{Sfa+1GT^rNF8$_T8J{ASCn5= zY9cd_^mbP5O!c=7iA&t{#dt$Iw|AcTu_dcP9A$897os2p=Hgr(-B4Ig z`MtjU`S-#Sxf=0lsz0MISzj{aP}7i#D_3zPu`Ie{V)cgfR6lHP>d`Gab}to2WRCFD z3VYvP+2|ZTlEi$t3OkmB?-?DNSnhDsoRg=PsF5Ky_fEBf27%Z^JnUZ&3jznQ?{X;!T1eKaEl7SzsE^E4Cknb6gw~)o%E;gS@F-ztrc#krP`k(X(koiX_WdASg+V-9#h z%mJex-HSTvR@)@wUIa}|AxT+H}b5V{!elZuyr)V})D|YoN>%P7H z))b#&sH<{RPh`{Tow!!>)qPI$o!7ao=V;z-eb9FydR%jteD6{NnKa^12zzHNmyd&^ zZ@EkMPi-KNUwb-)xe$G-?R>xK7iIM*D#VCCn#oJI#mo2ho(ToKt0;@WJ4ft0Rb8&D zb(ie*$r=ZL!Jc|ekNGN6ep%gvt7z=yt9qRtUF&?2crWX(aGr@arXoi^ThCivqlwe= zgL@?1=REs{>B%StM2(_U=go5vt#(YHPsFmYJ@VPa$OhHrAF`%A>g;0UAj*V#6QV@8 zm$&?b9Zp>JH4f6iwu1CjFI9E0xAoFyXHu~q4%RKAQ6?eA_)X*|@ug+8v#Abham1%7 ze*ckW^+=8Nq;5_ge9W7D$5`i<#E64-h4eU$z}}O+gX7~8r?!aQPAjyuzBefSXBDq+ zYtH1Aaf#h`#OUv8Z+l@AIc@e$^7Mw69i)!BLT-h~Y(C!WFl1Y3b&-LLE9B%tXleN0 zj-?YP%ht-;&7YZh%?!`et+wk;C30-~{-0~+%t$uhuc;Xug|NR+v{0L-T!`j0+T5F( z*E3MhX=bcuu10CI|AAcDa_JYFCK?u&THWX%c9;%u5`kQjNKBcgja z;+@b1BW$_Rxok=Fowq@>S8R7!n|WO6KJnV6=EZ;~G8^YSzrv)?k8PY2{gMEoOr2vc zd^e$B1in^)xe%@5`y43d6?&|@bEJ4%iTq-}^7oXb;Zav&^}EmPodzX~d8dKKsB<}S ziL|HFXawz;lp_n-9;^Wv`IEgxiE)XuKFZ&su%!u6@tsk+zQ?a#>#TZsX*hLNX+6GD zn`oob)FycQNNseV*L3f_TDvLb=KITbl+yPmaMj4B&FbJa=UaR4)wwTHV^ujBO~bak zkNPbQFIrtXvF@7>E1817WJy+Sqao6FJ90LEalYUA33KLBh;ePocu&qv4!vUuSu&5spk zbxzWb?O>$k+FkxjDX(kio}qUav}Xw99npalWWT{KnR$c0#QL&|lLWR#D#YA6J$0RD zEh{Wh@5l+K(QEL1Ui%kJozt3bi{j?ywM~)qcHVX zlO>Iu!lUoS-Z9^WKm_I5uYQTng=l_~16So+U0NLO`d5s$C0u*w2waKBT!(k50y&uo><=dqbceT9Vox5(Hzf;MiwC-{_@C|7!Ys=`x;awjYu8=l=Lz-45 z>~0_CLbRHt7VfFrU+i~e=t=c}uI-ljYY=bWn>Z2Wnl2*(K}B z&nI3l+dWiRVp&K7y-XoeA2{QTY*APaS5|^t9a=r#e`!-$Z5fCbLalarYSl}(5z7_L zEyH~mhldRs`F3Q1ajO#kX+0fxl=brro83H-nGCI|d zJy|yK!OhKi&%jR2ZFS3Rx4lmg3H*fW87e)w#QE=^6;7)i10|M)Tp_n={J5*QcSG&w zvhDON$J!D}h_!~b$@(kr`OHr>f8ahtw;_Kzw;$Q=+}Ki`DJnnTZ{O9_ z0ooXHD8#bev)sFG9;dB+^c`8@j;qNlYO7vL%Lud|pW$>UK3L)}NCQg}A~v>=Q}>Tsoz|~U zWL%*fh~_c2R%~3N-k&R@*TOJf3P$%3qT{|Jp%UHKg<@7tma*IC>r<0dugD3fF>2^T z&KD}9e1+0;KrfZeYZWF-F;W@@RqFS z(SP?fo9<8#VE5>!by^Z$mt97C{kA02YMZ`V#p_l6oZF(}EfRHw`r#2z>WaH%@hkUh zOAJgNQjLzt!=lmCt2Ye4Fyrlj&x?rN=RV7bAnd^C+!KRzY<)qO^?vD! zEv&f;a@EfXRw+1IhZd!dZ>;V@%UI&%)V@erRO8+{M}7v zB@MY%?PJ*|?z2nEdbhrEkHoS@4_X}lsA^eFkL=3QR(EAibeHY6>~|g;@v^h&_j$g% zvW%V^piG>`kxE15?VE-;H^g&<$eHKws$E8}Mj={xey5(0{oD6Ug!Hd7TX}{H$mI!jfh)7oG#*5rL2f=EA!tLf~jXcZuwK)Yv9yb;rJ6%@OnqzT<9l zAzI!4_-~(EQ}*)GnlEN;u-aG3>rXUet!*DhyWb4?)J=R(mBm^s*O88qz>ClU#Ov_poo*rUS_nyxZ^k${)TJr#}J zRngd4WNz9k?E0XY*J6A?t}Bd~1p4vNLUk;pd~y(1mUl{9u8bT#u50NHcX^qY^1n1lNc^~?2 zB=59!thc1ctC7bO<~Y$bY`L~1gUCI9KU+Zv9Ar#ROi7T(%_yRj$J~0|6Pp6ecz)!+fl?_M2soT5xBRBxey)jWJgZB zrdw!VFb5>AtVYxdy&UgNZ{kO895c|tx~1KB`+|$ruBngQGb}EhVZmHis}F;i`sN64 z!P!3}bJp|yb3`L;E=Qnu?uDawu3}9-Hppu^W2f6?#vQCrL>kz-)E>*DExo_)h;=7c zEXV2t5x5gi@iO$jbAgETOnI@06O z*zp&PrixKk`DlO$908C+A%<+M0TWdd&N3U-(=jJ=?CmBRB)e5mR0> zzeFQ!NmM#VV7Xr(i%Wd{wFXf%CcX2!ll<$)k77*b58Qx4y=mNGYj$`Y5l=SUaQC@=lrY}8y&9OSMMU* zJ?v3x4SCQTrS+~A(pD#127T?2G)FQAvVCVnaIO}W9}yYfX@sodyrsQYOC4vzIC~Z1 zkr8v9%#tOuJGFgEV!55?r}(3r>(gf0oU6`@lHJRDTFLN?8)e3qS>b24#OS>Ol$_HT z`SXTI%-+dz!j~V0Fc-~)?A{dDRfQH$%K=YZ@AfTqD1>J``o28R-@H3kuZ7df?OiIZ z6r?OFcU4W2zU+DeS)xr-9nkuf-R)Jo`o+e}ed%9EzRu()QjiAH7UK4}?sCw8Gm#=+ z6=tUsXg#^fN3nX<8BbrR7omR`Bu@`2=5{-~Tdz9XTu6f>&Yk=zl3lmDjJ-R|w2K<$ z>kJiR9+lHR9pYBW;WTKSx>c80y^@afgovv)-96iTq})AvxPx_ob%T0SGvPILOrZ(indAnzDqMXiOmO_JY_Zy&k%d^~F(*alJ4%68wJ z?Y5pXN>*ssM$fkG-X_X{7Rpc7Aaz=8v2kDUJPSu)E=t>TIUG^r@+)q!Whb4t`*z|r z2r;BMqI2sv+zU6~CyTrrujkIw4#wzR66BpD?tEjiTu}c8J$~4B@b5k4_32MKO_kcK zbdLRQ+6Q@i)Hdi3t(wwm6rdemjkc$(c#Fc8gO*{xn;z~~XG|!gdTjOw&rX%gip*EL zR=RZx>`NAHPw~y^c;Y1O(GT5iseR%gy z=4U_f7h0#Lb8Go~hGt)!axd(xA>UfXPdXuoygs5w96E*hQ1^S;C`03w9evdP$BrAl zPgW$!en|`Tdb>U2fgB<|(pFG|R2IgnwGln&yNv^yA7R&~F&CvRIzIww*yybs(dEHe z&aq{yBN?5ZlD#LU_=nXC4m5JccTe%ZITEW!wT8!2{29ry`V@f>ca^-~d8-g4UySb?HB6-{=~Ioe7Efk!An#oA{T+XEsxLemSsK?@c5aj6*M2-!pR7Sn zP=~rcn73r>mN>z>v2n`sBQTfcozMj%P;#4#OHNeGU$R&K^Ng^0wS(5-g7gjhGs3OL zQtKkmvh2mP_}C!o8LCHQkb!^XF$7;YBlIb!_As+cLsQ(=As8Aut!oG)LcpA~_I& zzfgKn*qm?gusI{V`m&9rg9zjb(Hv2E=hn!%A|)cV_fGM;95NcMaYI55YMN`ec- zu99JA_;tf%+803`Aetj`&ok)pgH8zi*@1LYU!Qs~X`!M8r}$M)k@rgeRq&VWVOb=H zt^d6rXN2z^Z?)U$!c%h0_p|fS*m7W=e&=P>gm^|Tpg_GTmW45|khWTl${Z^f-!|J# z$v70k@eci+Kt7V=+m>&*Rf@KDcfT;i`{JvNaQUZW6RV$1U{*5eSVp+r)Y!xdbtzWy z4daH$LG?ax>lZr`!m^5oQ~ZJ7$7o-a>k4V097wPHVWYPPOORb50<8~i7fa#@%!M=x zMkIf2s4sscAqP1@v=GV?L&_3E$`U2!Ds$YR7gb5f;WQ9|zaWAvX4j9_O8V6vB-c#Y z>c*$_(Puxb$BNoTt#d2sbx&sap_OE#2|1g7&j_DsYRW~6QIT$EjgY0{=ex}w>EmEo zXeH<^tMQ|0*c&@A!QH>Iig$KLM!4lyragOq8_DS=3btmB_~ILrYvh3hmJ87wf%SoP z@a+jxQulRaCFOtn!m0VzZO&T@AC*Ys%y%Z&JO6QdyubQRS^L&mv5Buf(U@5~m!t6M z7IN>pN8QZ{F{-Cd@h|j>O+0XG50~kOdHV8f6?aklPa?0*nB+aIETf|80cxF0$SHc# zaMf6iqFj!G5SRa62=(vk6NappSy`mlSewTX74<0U^ zc;Z9jU)i1$dsG#%x8tVB>f-j)ONJkudNFC5<528)T5T~acY(H&y<18x^qc=cy{L+Y z2hl+&9$D32&37TL%=_1wweVo1&2;XCqxXtltq=_#e4x?k0lg#jmQIxyuB7gx`zY=$y}5seQ}2tnB7b$|^ADtfv^5Q> zXgG?7B<;3rS2}UehQ``^wVFnH`V5O>&r?&RQ(9**YfC0g+NBt_fp$?2EDL*T?1{MK zYjS(ehWoiCB3g+4o6dyp{jYtb??01ei+S_?>-Ah#2$Z&9?V^RF9djBe2l9)#xV0k! z(k%5Iw#6 z;iz+cdd-BQchb5c)ic(={cc(mN{%`~U7@Cf7D)as_M+GiQY->>R!+A~E(ex{GNIn| z>W2(&zGV8rO+Aw~s~<)_BL_u>u?Q<+bS{eOY1d9TS1395UC1p*pj{yXOX3J@QHa2j z)cWps3G%rWuep!K#YpsCu-`4NVvRoYM@;Sw9#w;RJp*bKc}IHsE}69VASvpljhKV_ zv1y~-v5PM{hl|e$eOR=wER~fJ{-wBc*HU#Am99bCmbm;$B%f z-OI=!Uw*!aX;K2 z;^j4alS0QTBr&cKjT~~@#gQKEwLqVNy;F?{^jA0yY#)d~+8lwc2t5u&bM2yCp{`KV zoCf_eyCLoOC*0o&h+PXq*=<=oFb2A`n&EnY0j0Je@Hd|aMb)mVof1e zI6msxL>>a=z+8w{5goo?`eeexwd>0qx zK>4)yny1}sel)t;dn6$T`zt;gpmq^~xlrr;oob|xy&ZDM5!m-(E=23K3`ecWIBHEs zB3I)IE!1mE-Tr9IWa0>{1C$)m>K&6;k2;xC2e==7*N3fBV;x}K2yx(t>ty3oJ)K)W zZYKxDEDUeSh}CCL(b{>Pe_wr<`!J$$*Phiw}r-@JRF@Ae^k%gIrvUI2l0j=2!6 z=e2ojeJJ_%!bVqxi-vPJS7^J9ZZWwA_eo^A5Usg#lpKzdLn3voO_Yz<2bP5#^7?pm zMIre@yPj^dU7gfBKfx%By$|+EY8N2=ZFknnLf&Z=4H5Ozvtp+IPx<^kszx{pAr(R* zzbJ?GaLnkeXj~P6xsV?9B>b#F?f>X>LVdmSgS$Y%&QCOgay@#mUOt2^Dd?>T`IPFT zzRc~TaIS`Zmx`=fezrTYLrL#U$h&wby3sM}K^Hcl$V zMNtt%^1d5{`ClDdB=48|lb#QkQLj1B*p4M}1pR_1QY<}0GlY(kW@pt{gIKfbrg!lk z@_c3?ulUxZI{ww0lWAPytMWs#Q~bZDm=$P_z|~XC#n-8C?O4Oj+*sc0+B}Kb6>5~; zg0a@a)^avua$8Ks4tH%fdAvq|Fgj zgLPNa-6d1cwl*KUuqZrmjrpD*VRNAt3PxbA{g*Ps4=yzNDHuUo>@n5kS|k>Q>3%qI zh-h`=EM~Slr*lc~bR*s;Vy*FZUJwFv@gDAlA{(N)CzCv1dRI3#LJ}Y5Oar#}Smv_HdXB(drHsv=63H zSQkTkQ#U71Zw)Qq7w4TxZ_U~V(%?1N;kmt`D$~n*Z;4hCe?dg^Z!*L5hPcr#whyF^ zZ35ehx~qTk0jJ+zWxT|HTS(G-p~I#uO8=xz)6F0AKn|yY2;>TLA)2)hZ~T@Ff2g`o z7QLQ`>x>+s=1W&aU`gub-qX#UCFe_c4|i?DbcLKy+O``Z=5MR+UffXL>(Dldt#YD% zww%xK4?bW$GDKjVV=hDs@#*;+L)nMTX>w~hyR}A1|~H(l}nJ7j-Jta=MRtTJH{{95zk7 zZymEJ+~Y!A;%njBN)AL=Tbj_Y4zs?35w={?73Q)f8SPf9*DZ4Q{CMwkRp(f1XiHpI zhqpfOJefR3%YkLtG;v6FMeU|V%eqRAf)JR?rt`Q8DXygAO22DqSLl%|tW6=59C--j z7jq%n)L+%tDtaydYsqR5bD>7^5KWy*FaHp!I^3w+n z`XcC~P>h_lvt#rLN)?&nShq;Ww0JqJjfx`-)`v9sZpNJtr#ZLm?BI?*GD62l*{W{H zQhX?!LGZN<=f&Hzw?xLfY3;_#=z6B{Bk4#jUFV-4k4rprtd6R4M4zKilncN}U8$ky|WRINw1IISo4&kxz{@Y%4H519FAE526c3;4er6p{r_xokeZ8vptmwh;#wOZDHz)lmBL!z|kIiU~F5%>$W zLF>Ix+Iszj2u^?6c&IcVptL=IWz!~3>i?$uB_!@oRfao2Fd0Btl<((j5#>CJD2F2p zMPK`@F8QSJ=k5o zV!ZaLtxhZ_#JiQ8WD??y+r#p?wR_!R1FvB#UdSPiiOREdn#vakN8Dc?QwTV1hPzof zmZ(S}_ohY^SB~P!LraXdF{`(N5e3Up5DkeR2opeI&A_8-vd_tVc`TD&IAN6wYJUfBjf(VC`%j(yf=dOD`{EsU4{yB}+onf5O z*LiFM?v${)L5H|I34 z){q`=QC6dhuxI;VN^|XE8?*>)wfPZ8-nm}w_PyxV@tU(94mm*%b*puihn%lxxSEv^ zJ@sGSU$VURnykEty+OaLS6lq`57HZsq^saB8AgK>-jZ&w_&xX2jP->6Zg#^@C>psj zwlp=0t7X>6Ok6EMvAWocI1D-8{8#^5(?~)8}3T z8n|+Y=WJ=c1W(H1=~#QBm2P(6xkZk!xfG{52AMs-Yrhj(2)r?Z_djedLfh|jdqn+z z7;)$qx)~CEO9XF^wUaE(WE142{Uey4ukBIsYb@0{XSyG&&zfxoIFs%lRQpEx zxmvMtfj{UsZcCJ_U0wD+4wSrDmo&fON+UUHfg^_eli{D7MSAD4yf<7Id{?np z6KA^DOkCp}_-2rb{vAk&k`uRNyQ2pc$`PXJ`Q7eyGh>`(FAmZx6ZRLZ1I|_XTjJfe z!*@ELoEfCzKnA)(dYnceNwSC0zJglgHl|MYPa7MV-{4cH-C0fp%SElLw;&FD?*7=O zW1|N?86;7oh~RRZ*w@QTT=kzr+}Zk|KEtM|&QS}hB>)2J*`^6yFv6A_oeR-IBqmi2 zo!F2RSuuI4Y|$#!uc6jOh{FS`()@Z?XtWffMXNNw=^v$XZ&cA2^Or1xR?DsA=3f{3 zlNK85p}fItBKln!+QFiJ-g-5Z7GhN8=5kQec<=t%U$OltT+yKjpAD;MZgm^vH0V_u zESLIVq%DMcXH?pkNv*d{Ubsz@=UuMbOZwe4`mR>!_coVlJ<53E$^H)d(G*A8diR{G z>7k;s*yV1LbYRP(ayMM}vcGw)d2Q8xH#A=RsJ<-IyOLM4*#{1mg_0v}6^*^c4rkiP zVVVY(yK3jle$`Ln^y>)ryPl_wqXS&V#OMv}y`P(Mo!zwDpdWVlrxM%1=0a{&Oxg79p%eW+ zjD!~`uAmJro0;lgh&P;Yt~PFa*(r3csJvKR-EadN#d5i>ZfV#t6f@`PNR`^Eox}NE zRxVp-XwYd!5Ws<~l5zP_ZzHAz5HZ)$Ap2`uytSG@lbf8=6 z<554Di|Y#72kQp|O{-a0UW=lc*DsZpIrH0hasP^1Bf}HeXfZ10zz>U@AFoMp?>Ig} z;xA~sxJJ(8@B&-nb3o*f^$dBvWpv-p2Lm_R9-xN+lx}f zciYm0fOekOa}o{YkaLyR;&mtKhfVJCC;RFs=C)jvoYR=Re4DfNUFOER{AX?oF z3;JDFgSICk4mnrQx3lpz=;u!`ne-iAC-)97L*Psp(JG#PFyb%->IykjZ#z|slPmuy z>b*NSUcc-vcI3osdfMlL6S+{u%c^T$C9%CI&3E=JBI`4+(OPa*beKEhO2`O@AJgIdv$9h8uqPEo2FbAVYots{UtgVqOBbCZ!)Z;Zq@I@ z)0!Ne%fVZe7GYPTjK4!RN_9@Y52dZ`8c)Vzhz7PIw35I_A)g`lWd|*J&@Y+SNNwL0 zd>1-jP=l5eqE2bEB5eFb>z%39k0)Zh3LDx>;%?X6RDZ%e|Da=bA4fV=bTPtLLBJYEKti?K5-4f;1(A}1ID717G~ z>HDeMrPEobWD_n2=E7JVoCfAX8U=F2>a`p)ubHrVWk%g`ixv zq=2hj58$dJ8MWHLc5R(opCR~#k1`~O9es@C7D2yU%}=23G)Conla;k|JGTG-SqbrO z>j2ZH_qm#tMCY=)%HLmMzZ9f%Us2Mt32L?USCDpbzt*O?2N1M#;RSsnwsWEZV=auY zC$2g=lYE+~-2Y)~ORU|YrWt}+Lr|M$%^{E@z!?9^)H$Em5Zd&WWLGdcvwk-i6N6T3 zM^hz^dlNtM=ANsEDhmqEqd_@>{Vz4A3noNszdQ5uMy>#d)wT2w**B}j!Sn+r{ zS!q!#FRRkgP|zlXhcoY>Jqjhq<4rC){}$=vrH(qv=I3ow()>^h<5_UTu<(hvC-rmMfC!K;hIo81oOVa#GJhmv~Z-S?$^HchqJnUUp-?_)eM2Yy`^rtv9w;$ai&hzakvUVk|oz-ac_C47XPfnF+;fLE~_~WLSePE=m-j==Zr$&GMTHalG?PQ6$ zkRC@=Th*{p+o8$sOCOI@{Z+sTBCsSOj{lhwsn~Uz+p*+0#ucJD;#={KlU!rC=e9W? z3N$Lbn@6PkbE=xP#q{Cn{@<1DtmtBBfHPufX|LmmB#Bx?%fNm`hGP zckmaK2}@GD_rni5T{d;~#;khP!Cctpv8|}p!PmcWj$Z8MO-xT`2+YN4q%L0JRJg0P z=loijwOW)MWl}Mh&n|MdUVPA-{A*=~K>Z+Eog~j0>%KG7>{NgAP`ZEnfs%T4Xy+{p z{Orvo_1?DqZamA~ZMV4H9vC5Ml&+`F_&j=<=OWL7BSx+)=g#X`L1v6glK2bK7=C+t z?&+ii)m9T0_jRwVE-kyN6I=L8YB(+TtWrW0je2YPy0!Y3mMdQ3G!TK@swnIYe{uUR P?w?N%Tm!NQ<1PI^=t8$f diff --git a/resources/profiles/Creality/machine/Creality CR-10 SE 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 SE 0.2 nozzle.json index 4074b938817..1ecafe3f8d0 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 SE 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-10 SE 0.2 nozzle.json @@ -15,11 +15,11 @@ ], "printable_area": [ "0x0", - "250x0", - "250x250", - "0x250" + "220x0", + "220x220", + "0x220" ], - "printable_height": "250", + "printable_height": "265", "extruder_clearance_height_to_rod": "36", "extruder_clearance_height_to_lid": "140", "extruder_clearance_radius": "65", @@ -28,8 +28,8 @@ "support_chamber_temp_control": "1", "auxiliary_fan": "0", "machine_max_acceleration_extruding": [ - "20000", - "20000" + "5000", + "5000" ], "machine_max_acceleration_retracting": [ "5000", @@ -40,12 +40,12 @@ "20000" ], "machine_max_acceleration_x": [ - "20000", - "20000" + "8000", + "8000" ], "machine_max_acceleration_y": [ - "20000", - "20000" + "8000", + "8000" ], "machine_max_acceleration_z": [ "500", @@ -56,36 +56,36 @@ "5000" ], "machine_max_speed_e": [ - "25", - "25" + "100", + "100" ], "machine_max_speed_x": [ - "500", - "200" + "600", + "600" ], "machine_max_speed_y": [ - "500", - "200" + "600", + "600" ], "machine_max_speed_z": [ - "12", - "12" + "30", + "30" ], "machine_max_jerk_e": [ "2.5", "2.5" ], "machine_max_jerk_x": [ - "9", - "9" + "10", + "10" ], "machine_max_jerk_y": [ - "9", - "9" + "10", + "10" ], "machine_max_jerk_z": [ - "0.2", - "0.4" + "2", + "2" ], "max_layer_height": [ "0.32" @@ -118,7 +118,7 @@ "default_filament_profile": [ "Creality Generic PLA" ], - "machine_start_gcode": "M220 S100 ;Reset feed rate \nM221 S100 ;Reset flow rate \nG28 ;Home \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 S[material_print_temperature_layer_0] \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X10.4 Y145.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 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", + "machine_start_gcode": "M220 S100 ;Reset feed rate \nM221 S100 ;Reset flow rate \n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp\nG28 ;Home \nG92 E0 ;Reset extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position \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 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X10.4 Y145.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 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positioning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z3 ;Raise Z more \nG90 ;Absolute positioning \nG1 X2 Y218 F3000 ;Present 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", "scan_first_layer": "0", "thumbnails": [ diff --git a/resources/profiles/Creality/machine/Creality CR-10 SE 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 SE 0.4 nozzle.json index cba645a1b85..6214d686b77 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-10 SE 0.4 nozzle.json @@ -15,11 +15,11 @@ ], "printable_area": [ "0x0", - "250x0", - "250x250", - "0x250" + "220x0", + "220x220", + "0x220" ], - "printable_height": "250", + "printable_height": "265", "extruder_clearance_height_to_rod": "36", "extruder_clearance_height_to_lid": "140", "extruder_clearance_radius": "65", @@ -28,8 +28,8 @@ "support_chamber_temp_control": "1", "auxiliary_fan": "0", "machine_max_acceleration_extruding": [ - "20000", - "20000" + "5000", + "5000" ], "machine_max_acceleration_retracting": [ "5000", @@ -40,12 +40,12 @@ "20000" ], "machine_max_acceleration_x": [ - "20000", - "20000" + "8000", + "8000" ], "machine_max_acceleration_y": [ - "20000", - "20000" + "8000", + "8000" ], "machine_max_acceleration_z": [ "500", @@ -56,36 +56,36 @@ "5000" ], "machine_max_speed_e": [ - "25", - "25" + "100", + "100" ], "machine_max_speed_x": [ - "500", - "200" + "600", + "600" ], "machine_max_speed_y": [ - "500", - "200" + "600", + "600" ], "machine_max_speed_z": [ - "12", - "12" + "30", + "30" ], "machine_max_jerk_e": [ "2.5", "2.5" ], "machine_max_jerk_x": [ - "9", - "9" + "10", + "10" ], "machine_max_jerk_y": [ - "9", - "9" + "10", + "10" ], "machine_max_jerk_z": [ - "0.2", - "0.4" + "2", + "2" ], "max_layer_height": [ "0.32" @@ -118,7 +118,7 @@ "default_filament_profile": [ "Creality Generic PLA" ], - "machine_start_gcode": "M220 S100 ;Reset feed rate \nM221 S100 ;Reset flow rate \nG28 ;Home \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 S[material_print_temperature_layer_0] \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X10.4 Y145.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 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", + "machine_start_gcode": "M220 S100 ;Reset feed rate \nM221 S100 ;Reset flow rate \n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp\nG28 ;Home \nG92 E0 ;Reset extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position \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 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X10.4 Y145.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 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positioning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z3 ;Raise Z more \nG90 ;Absolute positioning \nG1 X2 Y218 F3000 ;Present 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", "scan_first_layer": "0", "thumbnails": [ diff --git a/resources/profiles/Creality/machine/Creality CR-10 SE 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 SE 0.6 nozzle.json index 7689480ce91..5f56e1ff877 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 SE 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-10 SE 0.6 nozzle.json @@ -15,11 +15,11 @@ ], "printable_area": [ "0x0", - "250x0", - "250x250", - "0x250" + "220x0", + "220x220", + "0x220" ], - "printable_height": "250", + "printable_height": "265", "extruder_clearance_height_to_rod": "36", "extruder_clearance_height_to_lid": "140", "extruder_clearance_radius": "65", @@ -28,8 +28,8 @@ "support_chamber_temp_control": "1", "auxiliary_fan": "0", "machine_max_acceleration_extruding": [ - "20000", - "20000" + "5000", + "5000" ], "machine_max_acceleration_retracting": [ "5000", @@ -40,12 +40,12 @@ "20000" ], "machine_max_acceleration_x": [ - "20000", - "20000" + "8000", + "8000" ], "machine_max_acceleration_y": [ - "20000", - "20000" + "8000", + "8000" ], "machine_max_acceleration_z": [ "500", @@ -56,36 +56,36 @@ "5000" ], "machine_max_speed_e": [ - "25", - "25" + "100", + "100" ], "machine_max_speed_x": [ - "500", - "200" + "600", + "600" ], "machine_max_speed_y": [ - "500", - "200" + "600", + "600" ], "machine_max_speed_z": [ - "12", - "12" + "30", + "30" ], "machine_max_jerk_e": [ "2.5", "2.5" ], "machine_max_jerk_x": [ - "9", - "9" + "10", + "10" ], "machine_max_jerk_y": [ - "9", - "9" + "10", + "10" ], "machine_max_jerk_z": [ - "0.2", - "0.4" + "2", + "2" ], "max_layer_height": [ "0.32" @@ -118,7 +118,7 @@ "default_filament_profile": [ "Creality Generic PLA" ], - "machine_start_gcode": "M220 S100 ;Reset feed rate \nM221 S100 ;Reset flow rate \nG28 ;Home \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 S[material_print_temperature_layer_0] \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X10.4 Y145.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 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", + "machine_start_gcode": "M220 S100 ;Reset feed rate \nM221 S100 ;Reset flow rate \n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp\nG28 ;Home \nG92 E0 ;Reset extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position \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 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X10.4 Y145.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 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positioning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z3 ;Raise Z more \nG90 ;Absolute positioning \nG1 X2 Y218 F3000 ;Present 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", "scan_first_layer": "0", "thumbnails": [ diff --git a/resources/profiles/Creality/machine/Creality CR-10 SE 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality CR-10 SE 0.8 nozzle.json index 1420e1213ae..00d3f3ff443 100644 --- a/resources/profiles/Creality/machine/Creality CR-10 SE 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality CR-10 SE 0.8 nozzle.json @@ -15,11 +15,11 @@ ], "printable_area": [ "0x0", - "250x0", - "250x250", - "0x250" + "220x0", + "220x220", + "0x220" ], - "printable_height": "250", + "printable_height": "265", "extruder_clearance_height_to_rod": "36", "extruder_clearance_height_to_lid": "140", "extruder_clearance_radius": "65", @@ -28,8 +28,8 @@ "support_chamber_temp_control": "1", "auxiliary_fan": "0", "machine_max_acceleration_extruding": [ - "20000", - "20000" + "5000", + "5000" ], "machine_max_acceleration_retracting": [ "5000", @@ -40,12 +40,12 @@ "20000" ], "machine_max_acceleration_x": [ - "20000", - "20000" + "8000", + "8000" ], "machine_max_acceleration_y": [ - "20000", - "20000" + "8000", + "8000" ], "machine_max_acceleration_z": [ "500", @@ -56,36 +56,36 @@ "5000" ], "machine_max_speed_e": [ - "25", - "25" + "100", + "100" ], "machine_max_speed_x": [ - "500", - "200" + "600", + "600" ], "machine_max_speed_y": [ - "500", - "200" + "600", + "600" ], "machine_max_speed_z": [ - "12", - "12" + "30", + "30" ], "machine_max_jerk_e": [ "2.5", "2.5" ], "machine_max_jerk_x": [ - "9", - "9" + "10", + "10" ], "machine_max_jerk_y": [ - "9", - "9" + "10", + "10" ], "machine_max_jerk_z": [ - "0.2", - "0.4" + "2", + "2" ], "max_layer_height": [ "0.32" @@ -118,7 +118,7 @@ "default_filament_profile": [ "Creality Generic PLA" ], - "machine_start_gcode": "M220 S100 ;Reset feed rate \nM221 S100 ;Reset flow rate \nG28 ;Home \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 S[material_print_temperature_layer_0] \nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X10.4 Y145.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 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", + "machine_start_gcode": "M220 S100 ;Reset feed rate \nM221 S100 ;Reset flow rate \n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp\nG28 ;Home \nG92 E0 ;Reset extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position \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 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X10.4 Y145.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 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800", "machine_end_gcode": "G91 ;Relative positioning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z3 ;Raise Z more \nG90 ;Absolute positioning \nG1 X2 Y218 F3000 ;Present 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", "scan_first_layer": "0", "thumbnails": [ diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.2 nozzle.json index 068b22b0743..158e30b6e7d 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.2 nozzle.json @@ -102,9 +102,6 @@ "deretraction_speed": [ "45" ], - "z_hop": [ - "0" - ], "single_extruder_multi_material": "1", "change_filament_gcode": "M600", "machine_pause_gcode": "M25", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.4 nozzle.json index a3eeeedbadb..1743f749ce0 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.4 nozzle.json @@ -102,9 +102,6 @@ "deretraction_speed": [ "45" ], - "z_hop": [ - "0" - ], "single_extruder_multi_material": "1", "change_filament_gcode": "M600", "machine_pause_gcode": "M25", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.6 nozzle.json index d9dd67376ce..445e0b0bc34 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.6 nozzle.json @@ -102,9 +102,6 @@ "deretraction_speed": [ "45" ], - "z_hop": [ - "0" - ], "single_extruder_multi_material": "1", "change_filament_gcode": "M600", "machine_pause_gcode": "M25", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.8 nozzle.json index 0657694350e..f8930b0d96e 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 S1 Plus 0.8 nozzle.json @@ -12,9 +12,10 @@ "nozzle_diameter": [ "0.8" ], + "bed_shape": "rectangular", "printable_area": [ "0x0", - "3000x0", + "300x0", "300x300", "0x300" ], @@ -102,9 +103,6 @@ "deretraction_speed": [ "45" ], - "z_hop": [ - "0" - ], "single_extruder_multi_material": "1", "change_filament_gcode": "M600", "machine_pause_gcode": "M25", diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 KE 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 KE 0.4 nozzle.json index 67a76a08d4c..df750e458df 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 KE 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 KE 0.4 nozzle.json @@ -95,7 +95,7 @@ "2" ], "retract_before_wipe": [ - "0%" + "100%" ], "retraction_length": [ "0.5" @@ -104,10 +104,10 @@ "1" ], "retraction_speed": [ - "40" + "30" ], "deretraction_speed": [ - "40" + "0" ], "z_hop": [ "0.2" @@ -119,8 +119,8 @@ "default_filament_profile": [ "Creality Generic PLA @Ender-3V3-all" ], - "machine_start_gcode": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp\nG28 ;Home\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp\nG1 X-2.0 Y20 Z0.28 F5000.0 ;Move to start position\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 X-2.0 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X-1.7 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X-1.7 Y30 Z0.28 F1500.0 E15 ;Draw the second line\nG92 E0 ;Reset Extruder", - "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z20 ;Raise Z more\nG90 ;Absolute positionning\nG1 X2 Y218 F3000 ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\n\nM84 X Y E ;Disable all steppers but Z", + "machine_start_gcode": "SET_GCODE_VARIABLE MACRO=PRINTER_PARAM VARIABLE=fan0_min VALUE=30 ;compensate for fan speed\nSET_VELOCITY_LIMIT ACCEL_TO_DECEL=2500 ;revert accel_to_decel back to 2500\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nM140 S[bed_temperature_initial_layer_single] ;Set bed temp\nG28 X Y ;Home XY axes\nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize\nG28 Z ;Home Z axis & load bed mesh\nBED_MESH_CALIBRATE PROBE_COUNT=6,6 ;Auto bed level\n\nM104 S[nozzle_temperature_initial_layer] ;Set nozzle temp\nG92 E0 ;Reset Extruder\nG1 X-2.0 Y20 Z0.3 F5000.0 ;Move to start position\nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize\nG1 Z0.2 ;Lower nozzle to printing height\nG1 Y145.0 F1500.0 E15 ;Draw the first line\nG1 X-1.7 F5000.0 ;Move to side a little\nG1 Y30 F1500.0 E15 ;Draw the second line\nG92 E0 ;Reset Extruder", + "machine_end_gcode": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z{if max_layer_z < 50}25{else}5{endif} ;Raise Z more\nG90 ;Absolute positionning\nG1 X2 Y218 F3000 ;Present 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", "scan_first_layer": "0", "thumbnails": [ "96x96", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.2.json new file mode 100644 index 00000000000..08f49d3512e --- /dev/null +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.2.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @Creality CR10SE 0.2", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.12", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.25", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.25", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.25", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.25", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "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": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.25", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "4", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.25", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10SE 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.4.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.4.json new file mode 100644 index 00000000000..0763c0eef76 --- /dev/null +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.4.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @Creality CR10SE 0.4", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.12", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.42", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.42", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0.42", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.42", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "4", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.42", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.6.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.6.json new file mode 100644 index 00000000000..7aa30a730ac --- /dev/null +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.6.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @Creality CR10SE 0.6", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.12", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.65", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.65", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.65", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.65", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "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": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.65", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "4", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.65", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.8.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.8.json new file mode 100644 index 00000000000..9fced98b546 --- /dev/null +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.8.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @Creality CR10SE 0.8", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.12", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.85", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.85", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.85", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.85", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "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": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.85", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "4", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.85", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json index cb7661aff6c..9521fc51e4a 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json @@ -23,10 +23,10 @@ "top_surface_acceleration": "5000", "bridge_no_support": "0", "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", + "elefant_foot_compensation": "0", "outer_wall_line_width": "0.42", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.42", + "line_width": "0.45", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -81,7 +81,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "200", - "support_threshold_angle": "45", + "support_threshold_angle": "30", "support_object_xy_distance": "60%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", @@ -92,15 +92,17 @@ "top_shell_thickness": "0.8", "initial_layer_speed": "50", "initial_layer_infill_speed": "105", - "outer_wall_speed": "250", + "outer_wall_speed": "200", "inner_wall_speed": "300", - "internal_solid_infill_speed": "250", + "internal_solid_infill_speed": "300", "top_surface_speed": "250", "gap_infill_speed": "200", "sparse_infill_speed": "300", "travel_speed": "400", "enable_prime_tower": "0", "wipe_tower_no_sparse_layers": "0", + "role_based_wipe_speed" : "0", + "wipe_speed": "200", "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", @@ -111,6 +113,7 @@ "top_surface_jerk": "7", "initial_layer_jerk": "7", "travel_jerk": "7", + "accel_to_decel_enable": "0", "compatible_printers": [ "Creality Ender-3 V3 KE 0.4 nozzle" ] diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json index f4dc4ea3678..0fbd9d9218f 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json @@ -25,9 +25,9 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.42", + "outer_wall_line_width": "0.22", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.46", + "line_width": "0.26", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -35,10 +35,10 @@ "travel_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", - "initial_layer_line_width": "0.46", + "initial_layer_line_width": "0.26", "initial_layer_print_height": "0.2", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.25", "infill_wall_overlap": "15%", "interface_shells": "0", "ironing_flow": "15%", @@ -52,7 +52,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.25", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -61,7 +61,7 @@ "skirt_height": "2", "skirt_loops": "0", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_line_width": "0.22", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -71,7 +71,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.2", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.18", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "4", @@ -88,7 +88,7 @@ "tree_support_wall_count": "2", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.42", + "top_surface_line_width": "0.22", "top_shell_layers": "5", "top_shell_thickness": "0.8", "initial_layer_speed": "30", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json index a1e2e3e46c1..bd5a636f297 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json @@ -25,9 +25,9 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.42", + "outer_wall_line_width": "0.62", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.46", + "line_width": "0.66", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -35,10 +35,10 @@ "travel_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", - "initial_layer_line_width": "0.46", + "initial_layer_line_width": "0.66", "initial_layer_print_height": "0.2", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.65", "infill_wall_overlap": "15%", "interface_shells": "0", "ironing_flow": "15%", @@ -52,7 +52,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.65", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -61,7 +61,7 @@ "skirt_height": "2", "skirt_loops": "0", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_line_width": "0.62", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -71,7 +71,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.2", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.58", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "4", @@ -88,7 +88,7 @@ "tree_support_wall_count": "2", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.42", + "top_surface_line_width": "0.62", "top_shell_layers": "5", "top_shell_thickness": "0.8", "initial_layer_speed": "30", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json index 30a8b1627a0..d8b251a1fd8 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json @@ -25,9 +25,9 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.42", + "outer_wall_line_width": "0.82", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.46", + "line_width": "0.86", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -35,10 +35,10 @@ "travel_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", - "initial_layer_line_width": "0.46", + "initial_layer_line_width": "0.86", "initial_layer_print_height": "0.2", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.85", "infill_wall_overlap": "15%", "interface_shells": "0", "ironing_flow": "15%", @@ -52,7 +52,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.85", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -61,7 +61,7 @@ "skirt_height": "2", "skirt_loops": "0", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_line_width": "0.82", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -71,7 +71,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.2", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.78", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "4", @@ -88,7 +88,7 @@ "tree_support_wall_count": "2", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.42", + "top_surface_line_width": "0.82", "top_shell_layers": "5", "top_shell_thickness": "0.8", "initial_layer_speed": "30", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json new file mode 100644 index 00000000000..644ddc4fedb --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @Creality CR10SE 0.2", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.16", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.25", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.25", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.25", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.25", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "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": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.25", + "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": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.25", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json new file mode 100644 index 00000000000..34f855f7995 --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @Creality CR10SE 0.4", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.16", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.42", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.42", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0.42", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.42", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.42", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json new file mode 100644 index 00000000000..6b2ec5c2fe4 --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @Creality CR10SE 0.6", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.16", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.63", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.65", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.65", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.65", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0.63", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.63", + "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": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.63", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json new file mode 100644 index 00000000000..11285e327af --- /dev/null +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @Creality CR10SE 0.8", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.16", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.85", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.85", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.85", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.85", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "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": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.85", + "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": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.85", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json index 02c6ca2b974..e38e4c4089f 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json @@ -24,19 +24,19 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0.1", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.45", + "outer_wall_line_width": "0.25", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.45", + "line_width": "0.25", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", "initial_layer_acceleration": "0", "travel_acceleration": "0", "inner_wall_acceleration": "0", - "initial_layer_line_width": "0.42", + "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", "infill_combination": "1", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.25", "infill_wall_overlap": "25%", "interface_shells": "0", "ironing_flow": "15%", @@ -50,7 +50,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.25", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -59,7 +59,7 @@ "skirt_height": "2", "skirt_loops": "2", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0", + "internal_solid_infill_line_width": "0.25", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -69,7 +69,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.18", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -85,7 +85,7 @@ "tree_support_wall_count": "0", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.4", + "top_surface_line_width": "0.2", "top_shell_layers": "7", "top_shell_thickness": "0.8", "initial_layer_speed": "35%", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json index 99e42c2e216..45ca5389c64 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json @@ -59,7 +59,7 @@ "skirt_height": "2", "skirt_loops": "2", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0", + "internal_solid_infill_line_width": "0.45", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json index 7ced645cdfa..0bd95f7ac40 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json @@ -24,19 +24,19 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0.1", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.45", + "outer_wall_line_width": "0.65", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.45", + "line_width": "0.65", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", "initial_layer_acceleration": "0", "travel_acceleration": "0", "inner_wall_acceleration": "0", - "initial_layer_line_width": "0.42", + "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.2", "infill_combination": "1", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.65", "infill_wall_overlap": "25%", "interface_shells": "0", "ironing_flow": "15%", @@ -50,7 +50,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.65", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -59,7 +59,7 @@ "skirt_height": "2", "skirt_loops": "2", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0", + "internal_solid_infill_line_width": "0.65", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -69,7 +69,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.58", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -85,7 +85,7 @@ "tree_support_wall_count": "0", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.4", + "top_surface_line_width": "0.6", "top_shell_layers": "7", "top_shell_thickness": "0.8", "initial_layer_speed": "35%", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json index 8df4a85ac15..bcd0c9d9927 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json @@ -24,19 +24,19 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0.1", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.45", + "outer_wall_line_width": "0.85", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.45", + "line_width": "0.85", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", "initial_layer_acceleration": "0", "travel_acceleration": "0", "inner_wall_acceleration": "0", - "initial_layer_line_width": "0.42", + "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", "infill_combination": "1", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.85", "infill_wall_overlap": "25%", "interface_shells": "0", "ironing_flow": "15%", @@ -50,7 +50,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.85", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -59,7 +59,7 @@ "skirt_height": "2", "skirt_loops": "2", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0", + "internal_solid_infill_line_width": "0.85", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -69,7 +69,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.78", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -85,7 +85,7 @@ "tree_support_wall_count": "0", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.4", + "top_surface_line_width": "0.8", "top_shell_layers": "7", "top_shell_thickness": "0.8", "initial_layer_speed": "35%", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json index 4d815b6e114..5584669a73b 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json @@ -23,10 +23,10 @@ "top_surface_acceleration": "5000", "bridge_no_support": "0", "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", + "elefant_foot_compensation": "0", "outer_wall_line_width": "0.42", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.42", + "line_width": "0.45", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -68,7 +68,7 @@ "support_type": "normal(auto)", "support_style": "grid", "support_on_build_plate_only": "0", - "support_top_z_distance": "0.2", + "support_top_z_distance": "0.16", "support_filament": "0", "support_line_width": "0.42", "support_interface_loop_pattern": "0", @@ -81,7 +81,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "200", - "support_threshold_angle": "45", + "support_threshold_angle": "30", "support_object_xy_distance": "60%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", @@ -92,15 +92,17 @@ "top_shell_thickness": "0.8", "initial_layer_speed": "50", "initial_layer_infill_speed": "105", - "outer_wall_speed": "250", + "outer_wall_speed": "200", "inner_wall_speed": "300", - "internal_solid_infill_speed": "250", + "internal_solid_infill_speed": "300", "top_surface_speed": "250", "gap_infill_speed": "200", "sparse_infill_speed": "300", "travel_speed": "400", "enable_prime_tower": "0", "wipe_tower_no_sparse_layers": "0", + "role_based_wipe_speed" : "0", + "wipe_speed": "200", "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", @@ -111,6 +113,7 @@ "top_surface_jerk": "7", "initial_layer_jerk": "7", "travel_jerk": "7", + "accel_to_decel_enable": "0", "compatible_printers": [ "Creality Ender-3 V3 KE 0.4 nozzle" ] diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json index 21823a3011c..8e79d226d0a 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json @@ -25,9 +25,9 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.42", + "outer_wall_line_width": "0.22", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.46", + "line_width": "0.26", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -35,10 +35,10 @@ "travel_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", - "initial_layer_line_width": "0.46", + "initial_layer_line_width": "0.26", "initial_layer_print_height": "0.2", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.25", "infill_wall_overlap": "15%", "interface_shells": "0", "ironing_flow": "15%", @@ -52,7 +52,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.25", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -61,7 +61,7 @@ "skirt_height": "2", "skirt_loops": "0", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_line_width": "0.22", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -71,7 +71,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.2", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.18", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -88,7 +88,7 @@ "tree_support_wall_count": "2", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.42", + "top_surface_line_width": "0.22", "top_shell_layers": "6", "top_shell_thickness": "0.8", "initial_layer_speed": "30", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json index 9075f1e446d..5c9cd487c77 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json @@ -25,9 +25,9 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.42", + "outer_wall_line_width": "0.62", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.46", + "line_width": "0.66", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -35,10 +35,10 @@ "travel_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", - "initial_layer_line_width": "0.46", + "initial_layer_line_width": "0.66", "initial_layer_print_height": "0.2", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.65", "infill_wall_overlap": "15%", "interface_shells": "0", "ironing_flow": "15%", @@ -52,7 +52,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.65", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -61,7 +61,7 @@ "skirt_height": "2", "skirt_loops": "0", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_line_width": "0.62", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -71,7 +71,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.2", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.58", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -88,7 +88,7 @@ "tree_support_wall_count": "2", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.42", + "top_surface_line_width": "0.62", "top_shell_layers": "6", "top_shell_thickness": "0.8", "initial_layer_speed": "30", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json index cc50cdfef3c..c9fdcc41871 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json @@ -25,9 +25,9 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.42", + "outer_wall_line_width": "0.82", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.46", + "line_width": "0.86", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -35,10 +35,10 @@ "travel_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", - "initial_layer_line_width": "0.46", + "initial_layer_line_width": "0.86", "initial_layer_print_height": "0.2", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.85", "infill_wall_overlap": "15%", "interface_shells": "0", "ironing_flow": "15%", @@ -52,7 +52,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.85", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -61,7 +61,7 @@ "skirt_height": "2", "skirt_loops": "0", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_line_width": "0.82", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -71,7 +71,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.2", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.78", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -88,7 +88,7 @@ "tree_support_wall_count": "2", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.42", + "top_surface_line_width": "0.82", "top_shell_layers": "6", "top_shell_thickness": "0.8", "initial_layer_speed": "30", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.2.json index 6a5c085259b..a52c72adb68 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.2.json @@ -1,44 +1,118 @@ { - "type": "process", - "setting_id": "GP004", - "name": "0.20mm Standard @Creality CR10SE 0.2", - "from": "system", - "inherits": "fdm_process_creality_common", - "instantiation": "true", - "bottom_shell_layers": "4", - "infill_combination": "1", - "infill_wall_overlap": "20%", - "initial_layer_acceleration": "3000", - "initial_layer_infill_speed": "150", - "initial_layer_travel_speed": "120", - "inner_wall_speed": "300", - "internal_solid_infill_line_width": "0.45", - "internal_solid_infill_speed": "300", - "outer_wall_acceleration": "2300", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "200", - "overhang_3_4_speed": "35", - "reduce_crossing_wall": "1", - "seam_gap": "15%", - "skirt_distance": "8", - "skirt_loops": "1", - "slow_down_layers": "2", - "sparse_infill_density": "10%", - "sparse_infill_speed": "300", - "support_base_pattern_spacing": "4", - "support_bottom_z_distance": "0.4", - "support_interface_bottom_layers": "1", - "support_interface_pattern": "rectilinear", - "support_interface_top_layers": "1", - "support_line_width": "0.42", - "support_object_xy_distance": "0.8", - "support_style": "snug", - "support_threshold_angle": "60", - "top_surface_line_width": "0.42", - "top_surface_speed": "120", - "travel_acceleration": "5000", - "wall_loops": "2", - "compatible_printers": [ - "Creality CR-10 SE 0.2 nozzle" - ] + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Creality CR10SE 0.2", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.25", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.25", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.25", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.25", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "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": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.25", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.25", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.2 nozzle" + ] } \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.4.json index 9a3aa71cd7a..2c7643b16c0 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.4.json @@ -1,44 +1,118 @@ { - "type": "process", - "setting_id": "GP004", - "name": "0.20mm Standard @Creality CR10SE 0.4", - "from": "system", - "inherits": "fdm_process_creality_common", - "instantiation": "true", - "bottom_shell_layers": "4", - "infill_combination": "1", - "infill_wall_overlap": "20%", - "initial_layer_acceleration": "3000", - "initial_layer_infill_speed": "150", - "initial_layer_travel_speed": "120", - "inner_wall_speed": "300", - "internal_solid_infill_line_width": "0.45", - "internal_solid_infill_speed": "300", - "outer_wall_acceleration": "2300", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "200", - "overhang_3_4_speed": "35", - "reduce_crossing_wall": "1", - "seam_gap": "15%", - "skirt_distance": "8", - "skirt_loops": "1", - "slow_down_layers": "2", - "sparse_infill_density": "10%", - "sparse_infill_speed": "300", - "support_base_pattern_spacing": "4", - "support_bottom_z_distance": "0.4", - "support_interface_bottom_layers": "1", - "support_interface_pattern": "rectilinear", - "support_interface_top_layers": "1", - "support_line_width": "0.42", - "support_object_xy_distance": "0.8", - "support_style": "snug", - "support_threshold_angle": "60", - "top_surface_line_width": "0.42", - "top_surface_speed": "120", - "travel_acceleration": "5000", - "wall_loops": "2", - "compatible_printers": [ - "Creality CR-10 SE 0.4 nozzle" - ] + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Creality CR10SE 0.4", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.42", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.42", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0.42", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.42", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.42", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.4 nozzle" + ] } \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.6.json index ba652dd6074..e6c4204f03d 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.6.json @@ -1,44 +1,118 @@ { - "type": "process", - "setting_id": "GP004", - "name": "0.20mm Standard @Creality CR10SE 0.6", - "from": "system", - "inherits": "fdm_process_creality_common", - "instantiation": "true", - "bottom_shell_layers": "4", - "infill_combination": "1", - "infill_wall_overlap": "20%", - "initial_layer_acceleration": "3000", - "initial_layer_infill_speed": "150", - "initial_layer_travel_speed": "120", - "inner_wall_speed": "300", - "internal_solid_infill_line_width": "0.45", - "internal_solid_infill_speed": "300", - "outer_wall_acceleration": "2300", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "200", - "overhang_3_4_speed": "35", - "reduce_crossing_wall": "1", - "seam_gap": "15%", - "skirt_distance": "8", - "skirt_loops": "1", - "slow_down_layers": "2", - "sparse_infill_density": "10%", - "sparse_infill_speed": "300", - "support_base_pattern_spacing": "4", - "support_bottom_z_distance": "0.4", - "support_interface_bottom_layers": "1", - "support_interface_pattern": "rectilinear", - "support_interface_top_layers": "1", - "support_line_width": "0.42", - "support_object_xy_distance": "0.8", - "support_style": "snug", - "support_threshold_angle": "60", - "top_surface_line_width": "0.42", - "top_surface_speed": "120", - "travel_acceleration": "5000", - "wall_loops": "2", - "compatible_printers": [ - "Creality CR-10 SE 0.6 nozzle" - ] + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Creality CR10SE 0.6", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.65", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.65", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.65", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.65", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "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": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.65", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.65", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.6 nozzle" + ] } \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.8.json index 3e95bf04c1c..d6c78d4b328 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.8.json @@ -1,44 +1,118 @@ { - "type": "process", - "setting_id": "GP004", - "name": "0.20mm Standard @Creality CR10SE 0.8", - "from": "system", - "inherits": "fdm_process_creality_common", - "instantiation": "true", - "bottom_shell_layers": "4", - "infill_combination": "1", - "infill_wall_overlap": "20%", - "initial_layer_acceleration": "3000", - "initial_layer_infill_speed": "150", - "initial_layer_travel_speed": "120", - "inner_wall_speed": "300", - "internal_solid_infill_line_width": "0.45", - "internal_solid_infill_speed": "300", - "outer_wall_acceleration": "2300", - "outer_wall_line_width": "0.42", - "outer_wall_speed": "200", - "overhang_3_4_speed": "35", - "reduce_crossing_wall": "1", - "seam_gap": "15%", - "skirt_distance": "8", - "skirt_loops": "1", - "slow_down_layers": "2", - "sparse_infill_density": "10%", - "sparse_infill_speed": "300", - "support_base_pattern_spacing": "4", - "support_bottom_z_distance": "0.4", - "support_interface_bottom_layers": "1", - "support_interface_pattern": "rectilinear", - "support_interface_top_layers": "1", - "support_line_width": "0.42", - "support_object_xy_distance": "0.8", - "support_style": "snug", - "support_threshold_angle": "60", - "top_surface_line_width": "0.42", - "top_surface_speed": "120", - "travel_acceleration": "5000", - "wall_loops": "2", - "compatible_printers": [ - "Creality CR-10 SE 0.8 nozzle" - ] + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Creality CR10SE 0.8", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.85", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.85", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.85", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.85", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "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": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.85", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.85", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.8 nozzle" + ] } \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.2.json index c91ce87e47f..fbb57bcb081 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.2.json @@ -24,19 +24,19 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0.1", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.45", + "outer_wall_line_width": "0.25", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.45", + "line_width": "0.25", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", "initial_layer_acceleration": "0", "travel_acceleration": "0", "inner_wall_acceleration": "0", - "initial_layer_line_width": "0.42", + "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", "infill_combination": "1", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.25", "infill_wall_overlap": "25%", "interface_shells": "0", "ironing_flow": "15%", @@ -50,7 +50,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.25", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -59,7 +59,7 @@ "skirt_height": "2", "skirt_loops": "2", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0", + "internal_solid_infill_line_width": "0.2", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -69,7 +69,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.18", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -85,7 +85,7 @@ "tree_support_wall_count": "0", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.4", + "top_surface_line_width": "0.2", "top_shell_layers": "7", "top_shell_thickness": "0.8", "initial_layer_speed": "35%", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.6.json index 6fa24ba5d59..57f9f6c6a15 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.6.json @@ -24,19 +24,19 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0.1", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.45", + "outer_wall_line_width": "0.65", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.45", + "line_width": "0.65", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", "initial_layer_acceleration": "0", "travel_acceleration": "0", "inner_wall_acceleration": "0", - "initial_layer_line_width": "0.42", + "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.2", "infill_combination": "1", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.65", "infill_wall_overlap": "25%", "interface_shells": "0", "ironing_flow": "15%", @@ -50,7 +50,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.65", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -59,7 +59,7 @@ "skirt_height": "2", "skirt_loops": "2", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0", + "internal_solid_infill_line_width": "0.6", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -69,7 +69,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.58", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -85,7 +85,7 @@ "tree_support_wall_count": "0", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.4", + "top_surface_line_width": "0.6", "top_shell_layers": "7", "top_shell_thickness": "0.8", "initial_layer_speed": "35%", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.8.json index 12aa9107631..2562ed334b1 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.8.json @@ -24,19 +24,19 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0.1", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.45", + "outer_wall_line_width": "0.85", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.45", + "line_width": "0.85", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", "initial_layer_acceleration": "0", "travel_acceleration": "0", "inner_wall_acceleration": "0", - "initial_layer_line_width": "0.42", + "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", "infill_combination": "1", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.85", "infill_wall_overlap": "25%", "interface_shells": "0", "ironing_flow": "15%", @@ -50,7 +50,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.85", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -59,7 +59,7 @@ "skirt_height": "2", "skirt_loops": "2", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0", + "internal_solid_infill_line_width": "0.8", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -69,7 +69,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.78", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -85,7 +85,7 @@ "tree_support_wall_count": "0", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.4", + "top_surface_line_width": "0.8", "top_shell_layers": "7", "top_shell_thickness": "0.8", "initial_layer_speed": "35%", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json index 50255e5e7ee..d02539eb451 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json @@ -1,3 +1,4 @@ + { "type": "process", "setting_id": "GP004", @@ -23,10 +24,10 @@ "top_surface_acceleration": "5000", "bridge_no_support": "0", "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", + "elefant_foot_compensation": "0", "outer_wall_line_width": "0.42", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.42", + "line_width": "0.45", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -36,7 +37,7 @@ "outer_wall_acceleration": "5000", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", - "infill_combination": "1", + "infill_combination": "0", "sparse_infill_line_width": "0.45", "infill_wall_overlap": "25%", "interface_shells": "0", @@ -81,7 +82,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "200", - "support_threshold_angle": "45", + "support_threshold_angle": "30", "support_object_xy_distance": "60%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", @@ -92,15 +93,17 @@ "top_shell_thickness": "0.8", "initial_layer_speed": "50", "initial_layer_infill_speed": "105", - "outer_wall_speed": "250", + "outer_wall_speed": "200", "inner_wall_speed": "300", - "internal_solid_infill_speed": "250", + "internal_solid_infill_speed": "300", "top_surface_speed": "250", "gap_infill_speed": "200", "sparse_infill_speed": "300", "travel_speed": "400", "enable_prime_tower": "0", "wipe_tower_no_sparse_layers": "0", + "role_based_wipe_speed": "0", + "wipe_speed": "200", "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", @@ -111,6 +114,7 @@ "top_surface_jerk": "7", "initial_layer_jerk": "7", "travel_jerk": "7", + "accel_to_decel_enable": "0", "compatible_printers": [ "Creality Ender-3 V3 KE 0.4 nozzle" ] diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json index 7d8f89a63f2..b685b84dba7 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json @@ -25,9 +25,9 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.42", + "outer_wall_line_width": "0.22", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.46", + "line_width": "0.26", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -35,10 +35,10 @@ "travel_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", - "initial_layer_line_width": "0.46", + "initial_layer_line_width": "0.26", "initial_layer_print_height": "0.2", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.25", "infill_wall_overlap": "15%", "interface_shells": "0", "ironing_flow": "15%", @@ -52,7 +52,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.25", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -61,7 +61,7 @@ "skirt_height": "2", "skirt_loops": "0", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_line_width": "0.22", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -71,7 +71,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.18", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "2", @@ -88,7 +88,7 @@ "tree_support_wall_count": "2", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.42", + "top_surface_line_width": "0.22", "top_shell_layers": "4", "top_shell_thickness": "0.8", "initial_layer_speed": "30", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json index a21af6c10a1..1a82bd54c29 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json @@ -25,9 +25,9 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.42", + "outer_wall_line_width": "0.62", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.46", + "line_width": "0.66", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -35,10 +35,10 @@ "travel_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", - "initial_layer_line_width": "0.46", + "initial_layer_line_width": "0.66", "initial_layer_print_height": "0.2", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.65", "infill_wall_overlap": "15%", "interface_shells": "0", "ironing_flow": "15%", @@ -52,7 +52,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.65", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -61,7 +61,7 @@ "skirt_height": "2", "skirt_loops": "0", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_line_width": "0.62", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -71,7 +71,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.58", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "2", @@ -88,7 +88,7 @@ "tree_support_wall_count": "2", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.42", + "top_surface_line_width": "0.62", "top_shell_layers": "4", "top_shell_thickness": "0.8", "initial_layer_speed": "30", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json index e096287f0fc..1c36e38e182 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json @@ -25,9 +25,9 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.42", + "outer_wall_line_width": "0.82", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.46", + "line_width": "0.86", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -35,10 +35,10 @@ "travel_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", - "initial_layer_line_width": "0.46", + "initial_layer_line_width": "0.86", "initial_layer_print_height": "0.2", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.85", "infill_wall_overlap": "15%", "interface_shells": "0", "ironing_flow": "15%", @@ -52,7 +52,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.85", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -61,7 +61,7 @@ "skirt_height": "2", "skirt_loops": "0", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_line_width": "0.82", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -71,7 +71,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.78", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "2", @@ -88,7 +88,7 @@ "tree_support_wall_count": "2", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.42", + "top_surface_line_width": "0.82", "top_shell_layers": "4", "top_shell_thickness": "0.8", "initial_layer_speed": "30", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.2.json new file mode 100644 index 00000000000..536dc775466 --- /dev/null +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.2.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @Creality CR10SE 0.2", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.24", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.25", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.25", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.25", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.25", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "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": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.25", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.25", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.2 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.4.json new file mode 100644 index 00000000000..b9f3144edde --- /dev/null +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.4.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @Creality CR10SE 0.4", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.24", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.42", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.42", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0.42", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.42", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.42", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.6.json new file mode 100644 index 00000000000..b0f98c9699b --- /dev/null +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.6.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @Creality CR10SE 0.6", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.24", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.65", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.65", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.65", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.65", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "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": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.65", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.65", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.8.json new file mode 100644 index 00000000000..32fbed681bf --- /dev/null +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.8.json @@ -0,0 +1,118 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @Creality CR10SE 0.8", + "from": "system", + "inherits": "fdm_process_common_klipper", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.24", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "65", + "brim_type": "no_brim", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "5000", + "top_surface_acceleration": "5000", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.1", + "enable_arc_fitting": "1", + "outer_wall_line_width": "0.85", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.85", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "5000", + "inner_wall_acceleration": "5000", + "outer_wall_acceleration": "5000", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "1", + "sparse_infill_line_width": "0.85", + "infill_wall_overlap": "25%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "44%", + "ironing_type": "no ironing", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "35", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.85", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "2", + "skirt_loops": "0", + "minimum_sparse_infill_area": "10", + "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": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.85", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "200", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.85", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "50", + "initial_layer_infill_speed": "105", + "outer_wall_speed": "250", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "250", + "gap_infill_speed": "200", + "sparse_infill_speed": "300", + "travel_speed": "400", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "default_jerk": "7", + "outer_wall_jerk": "7", + "inner_wall_jerk": "7", + "infill_jerk": "7", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "travel_jerk": "7", + "compatible_printers": [ + "Creality CR-10 SE 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.2.json index 9e5f90cf888..fec5ce6f54b 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.2.json @@ -24,19 +24,19 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0.1", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.45", + "outer_wall_line_width": "0.25", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.45", + "line_width": "0.25", "infill_direction": "45", "sparse_infill_density": "10%", "sparse_infill_pattern": "grid", "initial_layer_acceleration": "0", "travel_acceleration": "0", "inner_wall_acceleration": "0", - "initial_layer_line_width": "0.42", + "initial_layer_line_width": "0.22", "initial_layer_print_height": "0.2", "infill_combination": "1", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.25", "infill_wall_overlap": "25%", "interface_shells": "0", "ironing_flow": "15%", @@ -50,7 +50,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.25", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -59,7 +59,7 @@ "skirt_height": "2", "skirt_loops": "1", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0", + "internal_solid_infill_line_width": "0.2", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -69,7 +69,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.18", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -85,7 +85,7 @@ "tree_support_wall_count": "0", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.4", + "top_surface_line_width": "0.2", "top_shell_layers": "4", "top_shell_thickness": "0.8", "initial_layer_speed": "20", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.6.json index 29493e1541e..6961aa3c67f 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.6.json @@ -24,19 +24,19 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0.1", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.45", + "outer_wall_line_width": "0.65", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.45", + "line_width": "0.65", "infill_direction": "45", "sparse_infill_density": "10%", "sparse_infill_pattern": "grid", "initial_layer_acceleration": "0", "travel_acceleration": "0", "inner_wall_acceleration": "0", - "initial_layer_line_width": "0.42", + "initial_layer_line_width": "0.62", "initial_layer_print_height": "0.2", "infill_combination": "1", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.65", "infill_wall_overlap": "25%", "interface_shells": "0", "ironing_flow": "15%", @@ -50,7 +50,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.65", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -59,7 +59,7 @@ "skirt_height": "2", "skirt_loops": "1", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0", + "internal_solid_infill_line_width": "0.6", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -69,7 +69,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.58", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -85,7 +85,7 @@ "tree_support_wall_count": "0", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.4", + "top_surface_line_width": "0.6", "top_shell_layers": "4", "top_shell_thickness": "0.8", "initial_layer_speed": "20", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.8.json index be87b75246b..aa5bac7b5cf 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.8.json @@ -24,19 +24,19 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0.1", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.45", + "outer_wall_line_width": "0.85", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.45", + "line_width": "0.85", "infill_direction": "45", "sparse_infill_density": "10%", "sparse_infill_pattern": "grid", "initial_layer_acceleration": "0", "travel_acceleration": "0", "inner_wall_acceleration": "0", - "initial_layer_line_width": "0.42", + "initial_layer_line_width": "0.82", "initial_layer_print_height": "0.2", "infill_combination": "1", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.85", "infill_wall_overlap": "25%", "interface_shells": "0", "ironing_flow": "15%", @@ -50,7 +50,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.85", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -59,7 +59,7 @@ "skirt_height": "2", "skirt_loops": "1", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0", + "internal_solid_infill_line_width": "0.8", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -69,7 +69,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.78", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "3", @@ -85,7 +85,7 @@ "tree_support_wall_count": "0", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.4", + "top_surface_line_width": "0.8", "top_shell_layers": "4", "top_shell_thickness": "0.8", "initial_layer_speed": "20", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json index 69af1d0ff97..6644c9ba848 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json @@ -23,10 +23,10 @@ "top_surface_acceleration": "5000", "bridge_no_support": "0", "draft_shield": "disabled", - "elefant_foot_compensation": "0.1", + "elefant_foot_compensation": "0", "outer_wall_line_width": "0.42", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.42", + "line_width": "0.45", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -36,7 +36,7 @@ "outer_wall_acceleration": "5000", "initial_layer_line_width": "0.5", "initial_layer_print_height": "0.2", - "infill_combination": "1", + "infill_combination": "0", "sparse_infill_line_width": "0.45", "infill_wall_overlap": "25%", "interface_shells": "0", @@ -81,7 +81,7 @@ "support_base_pattern": "rectilinear", "support_base_pattern_spacing": "2.5", "support_speed": "200", - "support_threshold_angle": "45", + "support_threshold_angle": "30", "support_object_xy_distance": "60%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", @@ -92,15 +92,17 @@ "top_shell_thickness": "0.8", "initial_layer_speed": "50", "initial_layer_infill_speed": "105", - "outer_wall_speed": "250", + "outer_wall_speed": "200", "inner_wall_speed": "300", - "internal_solid_infill_speed": "250", + "internal_solid_infill_speed": "300", "top_surface_speed": "250", "gap_infill_speed": "200", "sparse_infill_speed": "300", "travel_speed": "400", "enable_prime_tower": "0", "wipe_tower_no_sparse_layers": "0", + "role_based_wipe_speed" : "0", + "wipe_speed": "200", "prime_tower_width": "60", "xy_hole_compensation": "0", "xy_contour_compensation": "0", @@ -111,6 +113,7 @@ "top_surface_jerk": "7", "initial_layer_jerk": "7", "travel_jerk": "7", + "accel_to_decel_enable": "0", "compatible_printers": [ "Creality Ender-3 V3 KE 0.4 nozzle" ] diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json index 20add5298da..9c65d0b4401 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json @@ -25,9 +25,9 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.42", + "outer_wall_line_width": "0.22", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.46", + "line_width": "0.26", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -35,10 +35,10 @@ "travel_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", - "initial_layer_line_width": "0.46", + "initial_layer_line_width": "0.26", "initial_layer_print_height": "0.2", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.25", "infill_wall_overlap": "15%", "interface_shells": "0", "ironing_flow": "15%", @@ -52,7 +52,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.25", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -61,7 +61,7 @@ "skirt_height": "2", "skirt_loops": "0", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_line_width": "0.22", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -71,7 +71,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.18", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "2", @@ -88,7 +88,7 @@ "tree_support_wall_count": "2", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.42", + "top_surface_line_width": "0.22", "top_shell_layers": "4", "top_shell_thickness": "0.8", "initial_layer_speed": "30", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json index 9399833fed5..e5bb153a68f 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json @@ -25,9 +25,9 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.42", + "outer_wall_line_width": "0.62", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.46", + "line_width": "0.66", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -35,10 +35,10 @@ "travel_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", - "initial_layer_line_width": "0.46", + "initial_layer_line_width": "0.66", "initial_layer_print_height": "0.2", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.65", "infill_wall_overlap": "15%", "interface_shells": "0", "ironing_flow": "15%", @@ -52,7 +52,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.65", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -61,7 +61,7 @@ "skirt_height": "2", "skirt_loops": "0", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_line_width": "0.62", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -71,7 +71,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.58", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "2", @@ -88,7 +88,7 @@ "tree_support_wall_count": "2", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.42", + "top_surface_line_width": "0.62", "top_shell_layers": "4", "top_shell_thickness": "0.8", "initial_layer_speed": "30", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json index 9953e957106..b023f761aa8 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json @@ -25,9 +25,9 @@ "draft_shield": "disabled", "elefant_foot_compensation": "0", "enable_arc_fitting": "0", - "outer_wall_line_width": "0.42", + "outer_wall_line_width": "0.82", "wall_infill_order": "inner wall/outer wall/infill", - "line_width": "0.46", + "line_width": "0.86", "infill_direction": "45", "sparse_infill_density": "15%", "sparse_infill_pattern": "grid", @@ -35,10 +35,10 @@ "travel_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", - "initial_layer_line_width": "0.46", + "initial_layer_line_width": "0.86", "initial_layer_print_height": "0.2", "infill_combination": "0", - "sparse_infill_line_width": "0.45", + "sparse_infill_line_width": "0.85", "infill_wall_overlap": "15%", "interface_shells": "0", "ironing_flow": "15%", @@ -52,7 +52,7 @@ "overhang_2_4_speed": "20", "overhang_3_4_speed": "15", "overhang_4_4_speed": "10", - "inner_wall_line_width": "0.45", + "inner_wall_line_width": "0.85", "wall_loops": "2", "print_settings_id": "", "raft_layers": "0", @@ -61,7 +61,7 @@ "skirt_height": "2", "skirt_loops": "0", "minimum_sparse_infill_area": "10", - "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_line_width": "0.82", "spiral_mode": "0", "standby_temperature_delta": "-5", "enable_support": "0", @@ -71,7 +71,7 @@ "support_on_build_plate_only": "0", "support_top_z_distance": "0.15", "support_filament": "0", - "support_line_width": "0.38", + "support_line_width": "0.78", "support_interface_loop_pattern": "0", "support_interface_filament": "0", "support_interface_top_layers": "2", @@ -88,7 +88,7 @@ "tree_support_wall_count": "2", "detect_thin_wall": "1", "top_surface_pattern": "monotonic", - "top_surface_line_width": "0.42", + "top_surface_line_width": "0.82", "top_shell_layers": "4", "top_shell_thickness": "0.8", "initial_layer_speed": "30", diff --git a/resources/profiles/FlyingBear/process/0.08mm Extra Fine @FlyingBear Reborn3.json b/resources/profiles/FlyingBear/process/0.08mm Extra Fine @FlyingBear Reborn3.json index 29cb2ec76b3..e8d734ca1fc 100644 --- a/resources/profiles/FlyingBear/process/0.08mm Extra Fine @FlyingBear Reborn3.json +++ b/resources/profiles/FlyingBear/process/0.08mm Extra Fine @FlyingBear Reborn3.json @@ -5,7 +5,7 @@ "from": "system", "instantiation": "true", "inherits": "fdm_process_common", - + "bottom_shell_layers": "7", "overhang_1_4_speed": "60", "overhang_2_4_speed": "30", From 381f6df9a5a568fcff7c9dacab1136266b391d09 Mon Sep 17 00:00:00 2001 From: PreyK Date: Wed, 22 May 2024 12:00:48 +0200 Subject: [PATCH 049/178] ESP3D printer connection for wireless printing (#5399) * ESP3D connector WIP * Update PrintConfig.cpp * Update ESP3D.cpp * Update ESP3D.cpp * prog * works & ugly * Update ESP3D.cpp * ESP3D prints * comments * this fails on *nix, use format_error instead --------- Co-authored-by: SoftFever --- src/libslic3r/PrintConfig.cpp | 3 + src/libslic3r/PrintConfig.hpp | 2 +- src/slic3r/CMakeLists.txt | 2 + src/slic3r/Utils/ESP3D.cpp | 183 +++++++++++++++++++++++++++++++++ src/slic3r/Utils/ESP3D.hpp | 43 ++++++++ src/slic3r/Utils/PrintHost.cpp | 2 + 6 files changed, 234 insertions(+), 1 deletion(-) create mode 100644 src/slic3r/Utils/ESP3D.cpp create mode 100644 src/slic3r/Utils/ESP3D.hpp diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 3380c396230..c122b547388 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -103,6 +103,7 @@ static t_config_enum_values s_keys_map_PrintHostType { { "astrobox", htAstroBox }, { "repetier", htRepetier }, { "mks", htMKS }, + { "esp3d", htESP3D }, { "obico", htObico }, { "flashforge", htFlashforge }, { "simplyprint", htSimplyPrint }, @@ -3148,6 +3149,7 @@ def = this->add("filament_loading_speed", coFloats); def->enum_values.push_back("astrobox"); def->enum_values.push_back("repetier"); def->enum_values.push_back("mks"); + def->enum_values.push_back("esp3d"); def->enum_values.push_back("obico"); def->enum_values.push_back("flashforge"); def->enum_values.push_back("simplyprint"); @@ -3159,6 +3161,7 @@ def = this->add("filament_loading_speed", coFloats); def->enum_labels.push_back("AstroBox"); def->enum_labels.push_back("Repetier"); def->enum_labels.push_back("MKS"); + def->enum_labels.push_back("ESP3D"); def->enum_labels.push_back("Obico"); def->enum_labels.push_back("Flashforge"); def->enum_labels.push_back("SimplyPrint"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 836d326e7d5..64a360e74dc 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -59,7 +59,7 @@ enum class FuzzySkinType { }; enum PrintHostType { - htPrusaLink, htPrusaConnect, htOctoPrint, htDuet, htFlashAir, htAstroBox, htRepetier, htMKS, htObico, htFlashforge, htSimplyPrint + htPrusaLink, htPrusaConnect, htOctoPrint, htDuet, htFlashAir, htAstroBox, htRepetier, htMKS, htESP3D, htObico, htFlashforge, htSimplyPrint }; enum AuthorizationType { diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt index d03a0c20dc7..d2242c9fff0 100644 --- a/src/slic3r/CMakeLists.txt +++ b/src/slic3r/CMakeLists.txt @@ -542,6 +542,8 @@ set(SLIC3R_GUI_SOURCES Utils/SerialMessage.hpp Utils/MKS.cpp Utils/MKS.hpp + Utils/ESP3D.cpp + Utils/ESP3D.hpp Utils/WxFontUtils.cpp Utils/WxFontUtils.hpp Utils/Duet.cpp diff --git a/src/slic3r/Utils/ESP3D.cpp b/src/slic3r/Utils/ESP3D.cpp new file mode 100644 index 00000000000..57b917e3a19 --- /dev/null +++ b/src/slic3r/Utils/ESP3D.cpp @@ -0,0 +1,183 @@ +#include "ESP3D.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "libslic3r/PrintConfig.hpp" +#include "slic3r/GUI/GUI.hpp" +#include "slic3r/GUI/I18N.hpp" +#include "slic3r/GUI/MsgDialog.hpp" +#include "Http.hpp" +#include "SerialMessage.hpp" +#include "SerialMessageType.hpp" + +namespace fs = boost::filesystem; +namespace pt = boost::property_tree; + +namespace Slic3r { + +ESP3D::ESP3D(DynamicPrintConfig* config) : m_host(config->opt_string("print_host")), m_console_port("8888") {} + +const char* ESP3D::get_name() const { return "ESP3D"; } + +bool ESP3D::test(wxString& msg) const +{ + bool ret = false; + std::string url_test = format_command("/command", "plain", "M105"); + auto http = Http::get(url_test); + http.on_complete([&](std::string body, unsigned status) { + // check for OK + ret = true; + msg = get_test_ok_msg(); + }) + .on_error([&](std::string body, std::string error, unsigned status) { + ret = false; + msg = format_error(body , error, status); + }) + .perform_sync(); + return ret; +} + +wxString ESP3D::get_test_ok_msg() const { return _(L("Connection to ESP3D works correctly.")); } + +wxString ESP3D::get_test_failed_msg(wxString& msg) const +{ + return GUI::from_u8((boost::format("%s: %s") % _utf8(L("Could not connect to ESP3D")) % std::string(msg.ToUTF8())).str()); +} + +bool ESP3D::upload(PrintHostUpload upload_data, ProgressFn prorgess_fn, ErrorFn error_fn, InfoFn info_fn) const +{ + std::string short_name = get_short_name(upload_data.upload_path.string()); + bool res = false; + + auto http = Http::post(std::move((boost::format("http://%1%/upload_serial") % m_host).str())); + http.header("Connection", "keep-alive") + .form_add_file("file", upload_data.source_path, short_name) + .on_complete([&](std::string body, unsigned status) { + // check for OK + if (upload_data.post_action == PrintHostPostUploadAction::StartPrint) { + wxString errormsg; + res = start_print(errormsg, short_name); + if (!res) { + error_fn(std::move(errormsg)); + } + } + }) + .on_error([&](std::string body, std::string error, unsigned status) { + BOOST_LOG_TRIVIAL(error) << boost::format("ESP3D: Error uploading file: %1%, HTTP %2%, body: `%3%`") % error % status % body; + error_fn(format_error(body, error, status)); + res = false; + }) + .on_progress([&](Http::Progress progress, bool& cancel) { + // workaround: + // progress bar disappears before .on_complete + // ESP3D can be super slow, the user could close slicer before upload completes & M24 is sent because no progress bar + // M24 can only be sent after .on_complete + Http::Progress prog = std::move(progress); + prog.ulnow -= 1; + prorgess_fn(std::move(prog), cancel); + if (cancel) { + // Upload was canceled + BOOST_LOG_TRIVIAL(info) << "ESP3D: Upload canceled"; + res = false; + } + }) + .perform_sync(); + + return res; +} + +bool ESP3D::start_print(wxString& msg, const std::string& filename) const +{ + // For some reason printer firmware does not want to respond on gcode commands immediately after file upload. + // So we just introduce artificial delay to workaround it. + // ESP3D also locks the serial during SD transfer, this is safer + std::this_thread::sleep_for(std::chrono::milliseconds(1500)); + + bool ret = false; + auto select_file = (boost::format("%1% %2%") % "M23" % filename).str(); + auto select = format_command("/command", "plain", Http::url_encode(select_file)); + auto http_sel = Http::get(select); + http_sel + .on_complete([&](std::string body, unsigned status) { + ret = true; + }) + .on_error([&](std::string body, std::string error, unsigned status) { + // error sending M23 + ret = false; + msg = (wxString::FromUTF8(error)); + }) + .perform_sync(); + + if (!ret) + return ret; + + auto start = format_command("/command", "plain", "M24"); + auto http_start = Http::get(start); + http_start + .on_complete([&](std::string body, unsigned status) { + // print kicked off succesfully + ret = true; + }) + .on_error([&](std::string body, std::string error, unsigned status) { + // error sending M24 + ret = false; + msg = (wxString::FromUTF8(error)); + }) + .perform_sync(); + + return ret; +} + +int ESP3D::get_err_code_from_body(const std::string& body) const +{ + pt::ptree root; + std::istringstream iss(body); // wrap returned json to istringstream + pt::read_json(iss, root); + + return root.get("err", 0); +} + +// ESP3D only accepts 8.3 filenames else it crashes marlin and other undefined behaviour +std::string ESP3D::get_short_name(const std::string& filename) const +{ + std::string shortname = ""; + boost::filesystem::path p(filename); + std::string stem = p.stem().string(); + std::string extension = p.extension().string(); + if (!extension.empty() && extension[0] == '.') { + extension = extension.substr(1); + } + stem = stem.substr(0, 8); + extension = extension.substr(0, 3); + if (!extension.empty()) { + shortname = stem + "." + extension; + } else { + shortname = stem; + } + return shortname; +} + +std::string ESP3D::format_command(const std::string& path, const std::string& arg, const std::string& val) const +{ + return (boost::format("http://%1%%2%?%3%=%4%") % m_host % path % arg % val).str(); +} + +} // namespace Slic3r \ No newline at end of file diff --git a/src/slic3r/Utils/ESP3D.hpp b/src/slic3r/Utils/ESP3D.hpp new file mode 100644 index 00000000000..7ac3c66f481 --- /dev/null +++ b/src/slic3r/Utils/ESP3D.hpp @@ -0,0 +1,43 @@ +#ifndef slic3r_ESP3D_hpp_ +#define slic3r_ESP3D_hpp_ + +#include +#include + +#include "PrintHost.hpp" +#include "TCPConsole.hpp" + +namespace Slic3r { +class DynamicPrintConfig; +class Http; + +class ESP3D : public PrintHost +{ +public: + explicit ESP3D(DynamicPrintConfig* config); + ~ESP3D() override = default; + + const char* get_name() const override; + + bool test(wxString& curl_msg) const override; + 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; } + PrintHostPostUploadActions get_post_upload_actions() const override { return PrintHostPostUploadAction::StartPrint; } + std::string get_host() const override { return m_host; } + +private: + std::string m_host; + std::string m_console_port; + + bool start_print(wxString& msg, const std::string& filename) const; + int get_err_code_from_body(const std::string& body) const; + std::string get_short_name(const std::string& filename) const; + std::string format_command(const std::string& path, const std::string& arg, const std::string& val) const; +}; + +} // namespace Slic3r + +#endif diff --git a/src/slic3r/Utils/PrintHost.cpp b/src/slic3r/Utils/PrintHost.cpp index cf77d4ff5c9..b6dff850520 100644 --- a/src/slic3r/Utils/PrintHost.cpp +++ b/src/slic3r/Utils/PrintHost.cpp @@ -19,6 +19,7 @@ #include "AstroBox.hpp" #include "Repetier.hpp" #include "MKS.hpp" +#include "ESP3D.hpp" #include "../GUI/PrintHostDialogs.hpp" #include "Obico.hpp" #include "Flashforge.hpp" @@ -57,6 +58,7 @@ PrintHost* PrintHost::get_print_host(DynamicPrintConfig *config) case htPrusaLink: return new PrusaLink(config); case htPrusaConnect: return new PrusaConnect(config); case htMKS: return new MKS(config); + case htESP3D: return new ESP3D(config); case htObico: return new Obico(config); case htFlashforge: return new Flashforge(config); case htSimplyPrint: return new SimplyPrint(config); From 38f3e0921dc87d08f679aec8e76c51e6d424bd52 Mon Sep 17 00:00:00 2001 From: StimeKe Date: Wed, 22 May 2024 20:37:35 +0800 Subject: [PATCH 050/178] Fixed not get port when obtaining the host. (#5423) Co-authored-by: SoftFever --- src/slic3r/Utils/OctoPrint.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/slic3r/Utils/OctoPrint.cpp b/src/slic3r/Utils/OctoPrint.cpp index edf903e55d4..707bcb01c30 100644 --- a/src/slic3r/Utils/OctoPrint.cpp +++ b/src/slic3r/Utils/OctoPrint.cpp @@ -50,8 +50,15 @@ std::string get_host_from_url(const std::string& url_in) char* host; rc = curl_url_get(hurl, CURLUPART_HOST, &host, 0); if (rc == CURLUE_OK) { - out = host; - curl_free(host); + char* port; + rc = curl_url_get(hurl, CURLUPART_PORT, &port, 0); + if (rc == CURLUE_OK && port != nullptr) { + out = std::string(host) + ":" + port; + curl_free(port); + } else { + out = host; + curl_free(host); + } } else BOOST_LOG_TRIVIAL(error) << "OctoPrint get_host_from_url: failed to get host form URL " << url; From eeaf9bdefe79bc63bb900df2ae1ed986edb5088f Mon Sep 17 00:00:00 2001 From: SoftFever Date: Wed, 22 May 2024 22:54:56 +0800 Subject: [PATCH 051/178] bump profiles version to 2.1, change most profiles' top_surface_pattern to monotonicline as default pattern --- resources/profiles/Anker.json | 2 +- .../profiles/Anker/process/fdm_process_anker_fast_common.json | 2 +- resources/profiles/Anycubic.json | 2 +- .../Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json | 2 +- .../Anycubic/process/0.15mm Optimal @Anycubic Chiron.json | 2 +- .../Anycubic/process/0.15mm Optimal @Anycubic Kobra2.json | 2 +- .../Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json | 2 +- .../Anycubic/process/0.15mm Optimal @Anycubic KobraPlus.json | 2 +- .../Anycubic/process/0.15mm Optimal @Anycubic Vyper.json | 2 +- .../Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json | 2 +- .../Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json | 2 +- .../Anycubic/process/0.20mm Standard @Anycubic Chiron.json | 2 +- .../Anycubic/process/0.20mm Standard @Anycubic Kobra2.json | 2 +- .../Anycubic/process/0.20mm Standard @Anycubic KobraMax.json | 2 +- .../Anycubic/process/0.20mm Standard @Anycubic KobraPlus.json | 2 +- .../Anycubic/process/0.20mm Standard @Anycubic Vyper.json | 2 +- .../Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json | 2 +- .../Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json | 2 +- .../Anycubic/process/0.30mm Draft @Anycubic Chiron.json | 2 +- .../Anycubic/process/0.30mm Draft @Anycubic Kobra2.json | 2 +- .../Anycubic/process/0.30mm Draft @Anycubic KobraMax.json | 2 +- .../Anycubic/process/0.30mm Draft @Anycubic KobraPlus.json | 2 +- .../profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json | 2 +- .../Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json | 2 +- resources/profiles/Anycubic/process/fdm_process_common.json | 2 +- resources/profiles/Artillery.json | 2 +- .../Artillery/process/0.15mm Optimal @Artillery Genius Pro.json | 2 +- .../Artillery/process/0.15mm Optimal @Artillery Genius.json | 2 +- .../Artillery/process/0.16mm Optimal @Artillery Hornet.json | 2 +- .../Artillery/process/0.16mm Optimal @Artillery X1.json | 2 +- .../process/0.20mm Standard @Artillery Genius Pro.json | 2 +- .../Artillery/process/0.20mm Standard @Artillery Genius.json | 2 +- .../Artillery/process/0.20mm Standard @Artillery Hornet.json | 2 +- .../Artillery/process/0.20mm Standard @Artillery X1.json | 2 +- .../Artillery/process/0.20mm Standard @Artillery X2.json | 2 +- .../Artillery/process/0.24mm Draft @Artillery Hornet.json | 2 +- .../profiles/Artillery/process/0.24mm Draft @Artillery X1.json | 2 +- .../Artillery/process/0.25mm Draft @Artillery Genius Pro.json | 2 +- .../Artillery/process/0.25mm Draft @Artillery Genius.json | 2 +- resources/profiles/Artillery/process/fdm_process_common.json | 2 +- resources/profiles/BBL.json | 2 +- resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json | 2 +- resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json | 2 +- resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json | 2 +- resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json | 2 +- resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json | 2 +- resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json | 2 +- resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json | 2 +- resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json | 2 +- resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json | 2 +- resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json | 2 +- resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json | 2 +- resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json | 2 +- .../profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json | 2 +- .../profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json | 2 +- .../profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json | 2 +- .../profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json | 2 +- resources/profiles/BIQU.json | 2 +- resources/profiles/BIQU/process/fdm_process_biqu_common.json | 2 +- resources/profiles/BIQU/process/fdm_process_hurakan_common.json | 2 +- resources/profiles/CONSTRUCT3D.json | 2 +- resources/profiles/CONSTRUCT3D/process/fdm_process_common.json | 2 +- resources/profiles/Comgrow.json | 2 +- .../Comgrow/process/0.16mm Opitmal @Comgrow T500 0.6.json | 2 +- .../Comgrow/process/0.16mm Optimal @Comgrow T500 0.4.json | 2 +- .../profiles/Comgrow/process/0.18mm Optimal @Comgrow T500.json | 2 +- .../Comgrow/process/0.20mm Standard @Comgrow T500 0.4.json | 2 +- .../Comgrow/process/0.20mm Standard @Comgrow T500 0.6.json | 2 +- .../Comgrow/process/0.20mm Standard @Comgrow T500 1.0.json | 2 +- .../profiles/Comgrow/process/0.20mm Standard @Comgrow T500.json | 2 +- .../Comgrow/process/0.24mm Draft @Comgrow T500 0.4.json | 2 +- .../Comgrow/process/0.24mm Draft @Comgrow T500 0.6.json | 2 +- .../Comgrow/process/0.24mm Optimal @Comgrow T500 0.8.json | 2 +- .../Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.4.json | 2 +- .../Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.6.json | 2 +- .../Comgrow/process/0.32mm Standard @Comgrow T500 0.8.json | 2 +- .../Comgrow/process/0.40mm Draft @Comgrow T500 0.8.json | 2 +- .../Comgrow/process/0.48mm Draft @Comgrow T500 0.8.json | 2 +- .../Comgrow/process/0.56mm SuperDraft @Comgrow T500 0.8.json | 2 +- .../profiles/Comgrow/process/fdm_process_comgrow_common.json | 2 +- resources/profiles/Creality.json | 2 +- .../Creality/process/0.12mm Fine @Creality CR10Max.json | 2 +- .../Creality/process/0.12mm Fine @Creality CR10SE 0.2.json | 2 +- .../Creality/process/0.12mm Fine @Creality CR10SE 0.4.json | 2 +- .../Creality/process/0.12mm Fine @Creality CR10SE 0.6.json | 2 +- .../Creality/process/0.12mm Fine @Creality CR10SE 0.8.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3 0.2.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3 0.4.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3 0.6.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3 0.8.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3 Pro 0.2.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3 Pro 0.4.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3 Pro 0.6.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3 Pro 0.8.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3V2.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3V2Neo.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3V3KE.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json | 2 +- .../Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json | 2 +- .../process/0.12mm Fine @Creality Ender5Pro (2019).json | 2 +- .../Creality/process/0.15mm Optimal @Creality CR10Max.json | 2 +- .../Creality/process/0.15mm Optimal @Creality Ender3V2.json | 2 +- .../process/0.15mm Optimal @Creality Ender5Pro (2019).json | 2 +- .../Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json | 2 +- .../Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json | 2 +- .../Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json | 2 +- .../Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json | 2 +- .../Creality/process/0.16mm Optimal @Creality CR10V2.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender3 0.2.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender3 0.4.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender3 0.6.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender3 0.8.json | 2 +- .../process/0.16mm Optimal @Creality Ender3 Pro 0.2.json | 2 +- .../process/0.16mm Optimal @Creality Ender3 Pro 0.4.json | 2 +- .../process/0.16mm Optimal @Creality Ender3 Pro 0.6.json | 2 +- .../process/0.16mm Optimal @Creality Ender3 Pro 0.8.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender3S1.json | 2 +- .../process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json | 2 +- .../process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json | 2 +- .../process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json | 2 +- .../process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender3S1Pro.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender3V2Neo.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender3V3KE.json | 2 +- .../process/0.16mm Optimal @Creality Ender3V3SE 0.2.json | 2 +- .../process/0.16mm Optimal @Creality Ender3V3SE 0.4.json | 2 +- .../process/0.16mm Optimal @Creality Ender3V3SE 0.6.json | 2 +- .../process/0.16mm Optimal @Creality Ender3V3SE 0.8.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender5.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender5Plus.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender5S.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender5S1.json | 2 +- .../Creality/process/0.16mm Optimal @Creality Ender6.json | 2 +- .../Creality/process/0.20mm Standard @Creality CR10Max.json | 2 +- .../Creality/process/0.20mm Standard @Creality CR10SE 0.2.json | 2 +- .../Creality/process/0.20mm Standard @Creality CR10SE 0.4.json | 2 +- .../Creality/process/0.20mm Standard @Creality CR10SE 0.6.json | 2 +- .../Creality/process/0.20mm Standard @Creality CR10SE 0.8.json | 2 +- .../Creality/process/0.20mm Standard @Creality CR10V2.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender3 0.2.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender3 0.4.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender3 0.6.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender3 0.8.json | 2 +- .../process/0.20mm Standard @Creality Ender3 Pro 0.2.json | 2 +- .../process/0.20mm Standard @Creality Ender3 Pro 0.4.json | 2 +- .../process/0.20mm Standard @Creality Ender3 Pro 0.6.json | 2 +- .../process/0.20mm Standard @Creality Ender3 Pro 0.8.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender3.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender3S1.json | 2 +- .../process/0.20mm Standard @Creality Ender3S1Plus 0.2.json | 2 +- .../process/0.20mm Standard @Creality Ender3S1Plus 0.4.json | 2 +- .../process/0.20mm Standard @Creality Ender3S1Plus 0.6.json | 2 +- .../process/0.20mm Standard @Creality Ender3S1Plus 0.8.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender3S1Pro.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender3V2.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender3V2Neo.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender3V3KE.json | 2 +- .../process/0.20mm Standard @Creality Ender3V3SE 0.2.json | 2 +- .../process/0.20mm Standard @Creality Ender3V3SE 0.4.json | 2 +- .../process/0.20mm Standard @Creality Ender3V3SE 0.6.json | 2 +- .../process/0.20mm Standard @Creality Ender3V3SE 0.8.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender5.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender5Plus.json | 2 +- .../process/0.20mm Standard @Creality Ender5Pro (2019).json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender5S.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender5S1.json | 2 +- .../Creality/process/0.20mm Standard @Creality Ender6.json | 2 +- .../Creality/process/0.24mm Draft @Creality CR10Max.json | 2 +- .../Creality/process/0.24mm Draft @Creality CR10SE 0.2.json | 2 +- .../Creality/process/0.24mm Draft @Creality CR10SE 0.4.json | 2 +- .../Creality/process/0.24mm Draft @Creality CR10SE 0.6.json | 2 +- .../Creality/process/0.24mm Draft @Creality CR10SE 0.8.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3 0.2.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3 0.4.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3 0.6.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3 0.8.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3 Pro 0.2.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3 Pro 0.4.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3 Pro 0.6.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3 Pro 0.8.json | 2 +- .../process/0.24mm Draft @Creality Ender3S1Plus 0.2.json | 2 +- .../process/0.24mm Draft @Creality Ender3S1Plus 0.4.json | 2 +- .../process/0.24mm Draft @Creality Ender3S1Plus 0.6.json | 2 +- .../process/0.24mm Draft @Creality Ender3S1Plus 0.8.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3V2.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3V2Neo.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3V3KE.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json | 2 +- .../Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json | 2 +- .../process/0.24mm Draft @Creality Ender5Pro (2019).json | 2 +- .../process/0.28mm SuperDraft @Creality Ender3 0.2.json | 2 +- .../process/0.28mm SuperDraft @Creality Ender3 0.4.json | 2 +- .../process/0.28mm SuperDraft @Creality Ender3 0.6.json | 2 +- .../process/0.28mm SuperDraft @Creality Ender3 0.8.json | 2 +- .../process/0.28mm SuperDraft @Creality Ender3 Pro 0.2.json | 2 +- .../process/0.28mm SuperDraft @Creality Ender3 Pro 0.4.json | 2 +- .../process/0.28mm SuperDraft @Creality Ender3 Pro 0.6.json | 2 +- .../process/0.28mm SuperDraft @Creality Ender3 Pro 0.8.json | 2 +- .../profiles/Creality/process/fdm_process_creality_common.json | 2 +- resources/profiles/Custom.json | 2 +- .../profiles/Custom/process/fdm_process_klipper_common.json | 2 +- .../profiles/Custom/process/fdm_process_marlin_common.json | 2 +- resources/profiles/Custom/process/fdm_process_rrf_common.json | 2 +- .../profiles/Dremel/process/fdm_process_dremel_common.json | 2 +- resources/profiles/Elegoo.json | 2 +- .../Elegoo/process/0.08mm Extra Fine @Elegoo Neptune.json | 2 +- .../Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2.json | 2 +- .../Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2D.json | 2 +- .../Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2S.json | 2 +- .../Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3.json | 2 +- .../Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Max.json | 2 +- .../Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Plus.json | 2 +- .../Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Pro.json | 2 +- .../0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle).json | 2 +- .../0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle).json | 2 +- .../0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle).json | 2 +- .../0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle).json | 2 +- .../0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle).json | 2 +- .../0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle).json | 2 +- .../0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle).json | 2 +- .../0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle).json | 2 +- .../0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle).json | 2 +- .../0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle).json | 2 +- .../0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle).json | 2 +- .../0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle).json | 2 +- .../Elegoo/process/0.08mm Extra Fine @Elegoo NeptuneX.json | 2 +- .../profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune.json | 2 +- .../profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2.json | 2 +- .../profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2D.json | 2 +- .../profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2S.json | 2 +- .../profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3.json | 2 +- .../Elegoo/process/0.12mm Fine @Elegoo Neptune3Max.json | 2 +- .../Elegoo/process/0.12mm Fine @Elegoo Neptune3Plus.json | 2 +- .../Elegoo/process/0.12mm Fine @Elegoo Neptune3Pro.json | 2 +- .../process/0.12mm Fine @Elegoo Neptune4 (0.2 nozzle).json | 2 +- .../process/0.12mm Fine @Elegoo Neptune4 (0.4 nozzle).json | 2 +- .../process/0.12mm Fine @Elegoo Neptune4 (0.6 nozzle).json | 2 +- .../process/0.12mm Fine @Elegoo Neptune4 (0.8 nozzle).json | 2 +- .../process/0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle).json | 2 +- .../process/0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle).json | 2 +- .../process/0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle).json | 2 +- .../process/0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle).json | 2 +- .../process/0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle).json | 2 +- .../process/0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle).json | 2 +- .../process/0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle).json | 2 +- .../process/0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle).json | 2 +- .../profiles/Elegoo/process/0.12mm Fine @Elegoo NeptuneX.json | 2 +- .../profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune.json | 2 +- .../Elegoo/process/0.16mm Optimal @Elegoo Neptune2.json | 2 +- .../Elegoo/process/0.16mm Optimal @Elegoo Neptune2D.json | 2 +- .../Elegoo/process/0.16mm Optimal @Elegoo Neptune2S.json | 2 +- .../Elegoo/process/0.16mm Optimal @Elegoo Neptune3.json | 2 +- .../Elegoo/process/0.16mm Optimal @Elegoo Neptune3Max.json | 2 +- .../Elegoo/process/0.16mm Optimal @Elegoo Neptune3Plus.json | 2 +- .../Elegoo/process/0.16mm Optimal @Elegoo Neptune3Pro.json | 2 +- .../process/0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle).json | 2 +- .../process/0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle).json | 2 +- .../process/0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle).json | 2 +- .../process/0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle).json | 2 +- .../0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle).json | 2 +- .../0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle).json | 2 +- .../0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle).json | 2 +- .../0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle).json | 2 +- .../0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle).json | 2 +- .../0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle).json | 2 +- .../0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle).json | 2 +- .../0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle).json | 2 +- .../Elegoo/process/0.16mm Optimal @Elegoo NeptuneX.json | 2 +- .../Elegoo/process/0.20mm Standard @Elegoo Neptune.json | 2 +- .../Elegoo/process/0.20mm Standard @Elegoo Neptune2.json | 2 +- .../Elegoo/process/0.20mm Standard @Elegoo Neptune2D.json | 2 +- .../Elegoo/process/0.20mm Standard @Elegoo Neptune2S.json | 2 +- .../Elegoo/process/0.20mm Standard @Elegoo Neptune3.json | 2 +- .../Elegoo/process/0.20mm Standard @Elegoo Neptune3Max.json | 2 +- .../Elegoo/process/0.20mm Standard @Elegoo Neptune3Plus.json | 2 +- .../Elegoo/process/0.20mm Standard @Elegoo Neptune3Pro.json | 2 +- .../process/0.20mm Standard @Elegoo Neptune4 (0.2 nozzle).json | 2 +- .../process/0.20mm Standard @Elegoo Neptune4 (0.4 nozzle).json | 2 +- .../process/0.20mm Standard @Elegoo Neptune4 (0.6 nozzle).json | 2 +- .../process/0.20mm Standard @Elegoo Neptune4 (0.8 nozzle).json | 2 +- .../0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle).json | 2 +- .../0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle).json | 2 +- .../0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle).json | 2 +- .../0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle).json | 2 +- .../0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle).json | 2 +- .../0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle).json | 2 +- .../0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle).json | 2 +- .../0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle).json | 2 +- .../Elegoo/process/0.20mm Standard @Elegoo NeptuneX.json | 2 +- .../profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune.json | 2 +- .../profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2.json | 2 +- .../profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2D.json | 2 +- .../profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2S.json | 2 +- .../profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3.json | 2 +- .../Elegoo/process/0.24mm Draft @Elegoo Neptune3Max.json | 2 +- .../Elegoo/process/0.24mm Draft @Elegoo Neptune3Plus.json | 2 +- .../Elegoo/process/0.24mm Draft @Elegoo Neptune3Pro.json | 2 +- .../process/0.24mm Draft @Elegoo Neptune4 (0.2 nozzle).json | 2 +- .../process/0.24mm Draft @Elegoo Neptune4 (0.4 nozzle).json | 2 +- .../process/0.24mm Draft @Elegoo Neptune4 (0.6 nozzle).json | 2 +- .../process/0.24mm Draft @Elegoo Neptune4 (0.8 nozzle).json | 2 +- .../process/0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle).json | 2 +- .../process/0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle).json | 2 +- .../process/0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle).json | 2 +- .../process/0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle).json | 2 +- .../process/0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle).json | 2 +- .../process/0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle).json | 2 +- .../process/0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle).json | 2 +- .../process/0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle).json | 2 +- .../profiles/Elegoo/process/0.24mm Draft @Elegoo NeptuneX.json | 2 +- .../Elegoo/process/0.28mm Extra Draft @Elegoo Neptune.json | 2 +- .../Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2.json | 2 +- .../Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2D.json | 2 +- .../Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2S.json | 2 +- .../Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3.json | 2 +- .../Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Max.json | 2 +- .../Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Plus.json | 2 +- .../Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Pro.json | 2 +- .../0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle).json | 2 +- .../0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle).json | 2 +- .../0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle).json | 2 +- .../0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle).json | 2 +- .../0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle).json | 2 +- .../0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle).json | 2 +- .../0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle).json | 2 +- .../0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle).json | 2 +- .../0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle).json | 2 +- .../0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle).json | 2 +- .../0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle).json | 2 +- .../0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle).json | 2 +- .../Elegoo/process/0.28mm Extra Draft @Elegoo NeptuneX.json | 2 +- .../profiles/Elegoo/process/fdm_process_elegoo_common.json | 2 +- .../profiles/Elegoo/process/fdm_process_neptune4_common.json | 2 +- resources/profiles/FLSun.json | 2 +- resources/profiles/FLSun/process/0.08mm Fine @FLSun Q5.json | 2 +- resources/profiles/FLSun/process/0.08mm Fine @FLSun QQSPro.json | 2 +- resources/profiles/FLSun/process/0.16mm Optimal @FLSun Q5.json | 2 +- .../profiles/FLSun/process/0.16mm Optimal @FLSun QQSPro.json | 2 +- resources/profiles/FLSun/process/0.20mm Standard @FLSun Q5.json | 2 +- .../profiles/FLSun/process/0.20mm Standard @FLSun QQSPro.json | 2 +- resources/profiles/FLSun/process/0.24mm Draft @FLSun Q5.json | 2 +- .../profiles/FLSun/process/0.24mm Draft @FLSun QQSPro.json | 2 +- .../profiles/FLSun/process/0.30mm Extra Draft @FLSun Q5.json | 2 +- .../FLSun/process/0.30mm Extra Draft @FLSun QQSPro.json | 2 +- resources/profiles/FLSun/process/fdm_process_common.json | 2 +- resources/profiles/Flashforge.json | 2 +- resources/profiles/FlyingBear.json | 2 +- resources/profiles/Folgertech.json | 2 +- .../Folgertech/process/fdm_process_folgertech_common.json | 2 +- resources/profiles/InfiMech.json | 2 +- resources/profiles/Kingroon.json | 2 +- resources/profiles/Kingroon/process/fdm_process_common.json | 2 +- .../profiles/MagicMaker/process/0.10mm Fine @MM BoneKing.json | 2 +- .../profiles/MagicMaker/process/0.10mm Fine @MM hj SK.json | 2 +- .../profiles/MagicMaker/process/0.10mm Fine @MM hqs SF.json | 2 +- .../profiles/MagicMaker/process/0.10mm Fine @MM hqs hj.json | 2 +- resources/profiles/MagicMaker/process/0.10mm Fine @MM slb.json | 2 +- .../MagicMaker/process/0.10mm Fine Fast @MM BoneKing.json | 2 +- .../profiles/MagicMaker/process/0.10mm Fine Fast @MM hj SK.json | 2 +- .../MagicMaker/process/0.10mm Fine Fast @MM hqs SF.json | 2 +- .../MagicMaker/process/0.12mm Fine BestFast @MM BoneKing.json | 2 +- .../MagicMaker/process/0.12mm Fine SuperFast @MM BoneKing.json | 2 +- .../MagicMaker/process/0.20mm Standard @MM BoneKing.json | 2 +- .../profiles/MagicMaker/process/0.20mm Standard @MM hj SK.json | 2 +- .../profiles/MagicMaker/process/0.20mm Standard @MM hqs SF.json | 2 +- .../profiles/MagicMaker/process/0.20mm Standard @MM hqs hj.json | 2 +- .../profiles/MagicMaker/process/0.20mm Standard @MM slb.json | 2 +- .../MagicMaker/process/0.20mm Standard Fast @MM BoneKing.json | 2 +- .../MagicMaker/process/0.20mm Standard Fast @MM hj SK.json | 2 +- .../MagicMaker/process/0.20mm Standard Fast @MM hqs SF.json | 2 +- .../profiles/MagicMaker/process/0.30mm Draft @MM BoneKing.json | 2 +- .../profiles/MagicMaker/process/0.30mm Draft @MM hj SK.json | 2 +- .../profiles/MagicMaker/process/0.30mm Draft @MM hqs SF.json | 2 +- .../profiles/MagicMaker/process/0.30mm Draft @MM hqs hj.json | 2 +- resources/profiles/MagicMaker/process/0.30mm Draft @MM slb.json | 2 +- .../MagicMaker/process/0.30mm Draft Fast @MM BoneKing.json | 2 +- .../MagicMaker/process/0.30mm Draft Fast @MM hj SK.json | 2 +- .../MagicMaker/process/0.30mm Draft Fast @MM hqs SF.json | 2 +- resources/profiles/OrcaArena.json | 2 +- .../OrcaArena/process/fdm_process_bbl_0.24_nozzle_0.8.json | 2 +- .../OrcaArena/process/fdm_process_bbl_0.32_nozzle_0.8.json | 2 +- .../OrcaArena/process/fdm_process_bbl_0.40_nozzle_0.8.json | 2 +- .../OrcaArena/process/fdm_process_bbl_0.48_nozzle_0.8.json | 2 +- .../OrcaArena/process/fdm_process_bbl_0.56_nozzle_0.8.json | 2 +- resources/profiles/Peopoly.json | 2 +- .../profiles/Peopoly/process/fdm_process_peopoly_common.json | 2 +- .../Peopoly/process/fdm_process_pply_0.40_nozzle_0.8.json | 2 +- resources/profiles/Prusa.json | 2 +- resources/profiles/Prusa/process/fdm_process_common.json | 2 +- resources/profiles/Qidi.json | 2 +- resources/profiles/Qidi/process/0.12mm Fine @Qidi X3.json | 2 +- resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json | 2 +- resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json | 2 +- resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json | 2 +- resources/profiles/Qidi/process/0.16mm Optimal @Qidi X3.json | 2 +- .../profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json | 2 +- resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json | 2 +- resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json | 2 +- .../profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json | 2 +- resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json | 2 +- .../profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json | 2 +- resources/profiles/Qidi/process/0.24mm Draft @Qidi X3.json | 2 +- resources/profiles/Qidi/process/0.25mm Draft @Qidi Q1 Pro.json | 2 +- resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json | 2 +- resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json | 2 +- resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json | 2 +- resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json | 2 +- resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json | 2 +- resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json | 2 +- .../profiles/Qidi/process/0.28mm Extra Draft @Qidi X3.json | 2 +- .../profiles/Qidi/process/0.30mm Extra Draft @Qidi Q1 Pro.json | 2 +- .../profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json | 2 +- .../profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json | 2 +- .../profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json | 2 +- .../profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json | 2 +- .../profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json | 2 +- .../profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json | 2 +- .../profiles/Qidi/process/fdm_process_QIDI_0.24_nozzle_0.8.json | 2 +- .../profiles/Qidi/process/fdm_process_QIDI_0.32_nozzle_0.8.json | 2 +- .../profiles/Qidi/process/fdm_process_QIDI_0.40_nozzle_0.8.json | 2 +- .../profiles/Qidi/process/fdm_process_QIDI_0.48_nozzle_0.8.json | 2 +- .../profiles/Qidi/process/fdm_process_QIDI_0.56_nozzle_0.8.json | 2 +- resources/profiles/Qidi/process/fdm_process_qidi_common.json | 2 +- resources/profiles/Raise3D.json | 2 +- .../profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3.json | 2 +- .../profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3Plus.json | 2 +- .../profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3.json | 2 +- .../Raise3D/process/0.20mm Standard @Raise3D Pro3Plus.json | 2 +- .../profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3.json | 2 +- .../Raise3D/process/0.25mm Draft @Raise3D Pro3Plus.json | 2 +- resources/profiles/Ratrig.json | 2 +- .../profiles/Ratrig/process/fdm_process_ratrig_common.json | 2 +- resources/profiles/SecKit.json | 2 +- .../profiles/SecKit/process/fdm_process_seckit_common.json | 2 +- resources/profiles/Snapmaker/process/fdm_process_common.json | 2 +- resources/profiles/Sovol.json | 2 +- .../profiles/Sovol/process/0.18mm Optimal @Sovol SV01Pro.json | 2 +- .../profiles/Sovol/process/0.18mm Optimal @Sovol SV02.json | 2 +- .../profiles/Sovol/process/0.18mm Optimal @Sovol SV05.json | 2 +- .../profiles/Sovol/process/0.18mm Optimal @Sovol SV06.json | 2 +- .../profiles/Sovol/process/0.18mm Optimal @Sovol SV06Plus.json | 2 +- .../profiles/Sovol/process/0.18mm Optimal @Sovol SV07.json | 2 +- .../profiles/Sovol/process/0.18mm Optimal @Sovol SV07Plus.json | 2 +- .../profiles/Sovol/process/0.20mm Standard @Sovol SV01Pro.json | 2 +- .../profiles/Sovol/process/0.20mm Standard @Sovol SV02.json | 2 +- .../profiles/Sovol/process/0.20mm Standard @Sovol SV05.json | 2 +- .../profiles/Sovol/process/0.20mm Standard @Sovol SV06.json | 2 +- .../profiles/Sovol/process/0.20mm Standard @Sovol SV06Plus.json | 2 +- .../profiles/Sovol/process/0.20mm Standard @Sovol SV07.json | 2 +- .../profiles/Sovol/process/0.20mm Standard @Sovol SV07Plus.json | 2 +- resources/profiles/Tronxy.json | 2 +- resources/profiles/Tronxy/process/fdm_process_common.json | 2 +- .../profiles/Tronxy/process/fdm_process_tronxy_common.json | 2 +- resources/profiles/TwoTrees.json | 2 +- resources/profiles/TwoTrees/process/0.08mm Extra Fine @SK1.json | 2 +- resources/profiles/TwoTrees/process/0.12mm Fine @SK1.json | 2 +- resources/profiles/TwoTrees/process/0.16mm Optimal @SK1.json | 2 +- resources/profiles/TwoTrees/process/0.20mm Quality @SK1.json | 2 +- resources/profiles/TwoTrees/process/0.20mm Standard @SK1.json | 2 +- resources/profiles/TwoTrees/process/0.24mm Draft @SK1.json | 2 +- resources/profiles/TwoTrees/process/0.24mm HSpeed @SK1.json | 2 +- .../profiles/TwoTrees/process/0.28mm Extra Draft @SK1.json | 2 +- resources/profiles/UltiMaker.json | 2 +- .../profiles/UltiMaker/process/0.12mm Fine @UltiMaker 2.json | 2 +- .../UltiMaker/process/0.18mm Standard @UltiMaker 2.json | 2 +- .../profiles/UltiMaker/process/0.25mm Darft @UltiMaker 2.json | 2 +- resources/profiles/Vivedino.json | 2 +- .../profiles/Vivedino/process/fdm_process_klipper_common.json | 2 +- resources/profiles/Voron.json | 2 +- resources/profiles/Voron/process/fdm_process_voron_common.json | 2 +- resources/profiles/Voxelab.json | 2 +- .../Voxelab/process/0.16mm Optimal @Voxelab AquilaX2.json | 2 +- .../Voxelab/process/0.20mm Standard @Voxelab AquilaX2.json | 2 +- resources/profiles/Vzbot.json | 2 +- resources/profiles/Vzbot/process/fdm_process_Vzbot_common.json | 2 +- .../Vzbot/process/fdm_process_Vzbot_common_0.5_nozzle.json | 2 +- .../Vzbot/process/fdm_process_Vzbot_common_0.6_nozzle.json | 2 +- resources/profiles/Wanhao.json | 2 +- .../profiles/Wanhao/process/fdm_process_wanhao_common.json | 2 +- 483 files changed, 483 insertions(+), 483 deletions(-) diff --git a/resources/profiles/Anker.json b/resources/profiles/Anker.json index 74723c2173c..5d2e9080a5b 100644 --- a/resources/profiles/Anker.json +++ b/resources/profiles/Anker.json @@ -1,6 +1,6 @@ { "name": "Anker", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Anker configurations", "machine_model_list": [ diff --git a/resources/profiles/Anker/process/fdm_process_anker_fast_common.json b/resources/profiles/Anker/process/fdm_process_anker_fast_common.json index 82cc0d87fd2..8eb9e657828 100644 --- a/resources/profiles/Anker/process/fdm_process_anker_fast_common.json +++ b/resources/profiles/Anker/process/fdm_process_anker_fast_common.json @@ -5,7 +5,7 @@ "instantiation": "false", "inherits": "fdm_process_anker_common", "reduce_crossing_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "bottom_shell_thickness": "0", "top_shell_thickness": "0", "default_acceleration": "6000", diff --git a/resources/profiles/Anycubic.json b/resources/profiles/Anycubic.json index 6d8818a7e04..aa4b1b89653 100644 --- a/resources/profiles/Anycubic.json +++ b/resources/profiles/Anycubic.json @@ -1,6 +1,6 @@ { "name": "Anycubic", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Anycubic configurations", "machine_model_list": [ diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json index c7b30bc5f44..ae2e17bad92 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Chiron.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Chiron.json index e516880a086..2f47366db31 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Chiron.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Chiron.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.35", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra2.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra2.json index 9c756447131..eade07cdad1 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra2.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "3", "top_shell_thickness": "0.6", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json index 73db772a2a6..28f69756de2 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "1.2", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraPlus.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraPlus.json index f236f609e00..f2a73b0216b 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraPlus.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraPlus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "1.2", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Vyper.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Vyper.json index ca652872733..7263d1b0ab8 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Vyper.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Vyper.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "1.2", diff --git a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json index ffa79dfcc01..fb909fa35ee 100644 --- a/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json +++ b/resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.35", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json index 3eec4527250..1aff6200a34 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Chiron.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Chiron.json index 99a1501abbf..ec3a9fe452f 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Chiron.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Chiron.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.35", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra2.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra2.json index 7be6a36476a..4615902fdac 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra2.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "3", "top_shell_thickness": "0.6", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraMax.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraMax.json index 097e6ae25c0..48a56550b0a 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraMax.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraMax.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "1.2", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraPlus.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraPlus.json index 249aae8b652..cb6bc1e1dd5 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraPlus.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraPlus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "1.2", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Vyper.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Vyper.json index f1c5e98f04f..9d63fb5bfaa 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Vyper.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Vyper.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "1.2", diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json index 7e8f2256daf..f5479ab1f66 100644 --- a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.35", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json index c6fd6c3b4f5..63bae7a319f 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Chiron.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Chiron.json index 496528f2c06..789cca89067 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Chiron.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Chiron.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.35", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra2.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra2.json index 59f44fea877..af95cfe7da2 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra2.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "3", "top_shell_thickness": "0.6", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraMax.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraMax.json index 605f81e5c37..00460d0e0b0 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraMax.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraMax.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "1.2", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraPlus.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraPlus.json index f42c73f1d94..c454c2bc9b9 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraPlus.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraPlus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "1.2", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json index f3fe2d95874..8f850856df6 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "1.2", diff --git a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json index 1f2f55dfcb6..7f569fd758a 100644 --- a/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json +++ b/resources/profiles/Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.35", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Anycubic/process/fdm_process_common.json b/resources/profiles/Anycubic/process/fdm_process_common.json index 30291bf626a..3afdc03365f 100644 --- a/resources/profiles/Anycubic/process/fdm_process_common.json +++ b/resources/profiles/Anycubic/process/fdm_process_common.json @@ -81,7 +81,7 @@ "tree_support_wall_count": "0", "tree_support_with_infill": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/Artillery.json b/resources/profiles/Artillery.json index 7cfbfa06f8a..e1749947f19 100644 --- a/resources/profiles/Artillery.json +++ b/resources/profiles/Artillery.json @@ -1,6 +1,6 @@ { "name": "Artillery", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Artillery configurations", "machine_model_list": [ diff --git a/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius Pro.json b/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius Pro.json index 5e1b7012dcc..ab4089b9fdc 100644 --- a/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius Pro.json +++ b/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius Pro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius.json b/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius.json index 02f19906a6e..5dae1500887 100644 --- a/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius.json +++ b/resources/profiles/Artillery/process/0.15mm Optimal @Artillery Genius.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery Hornet.json b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery Hornet.json index 90b3717bc7f..1b5877d31e8 100644 --- a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery Hornet.json +++ b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery Hornet.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery X1.json b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery X1.json index 23b5e6605e1..c7aa5ed4ec1 100644 --- a/resources/profiles/Artillery/process/0.16mm Optimal @Artillery X1.json +++ b/resources/profiles/Artillery/process/0.16mm Optimal @Artillery X1.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius Pro.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius Pro.json index a068c3c3149..f3c6595ca7b 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius Pro.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius Pro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius.json index 03d0e59ef31..b6e42dc551a 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Genius.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Hornet.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Hornet.json index 24899e1bd94..b680aa141ba 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery Hornet.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery Hornet.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X1.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X1.json index ed6853df93b..850efe6b1ea 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X1.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X1.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X2.json b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X2.json index 327afad6f70..9e4fda6b7d9 100644 --- a/resources/profiles/Artillery/process/0.20mm Standard @Artillery X2.json +++ b/resources/profiles/Artillery/process/0.20mm Standard @Artillery X2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/0.24mm Draft @Artillery Hornet.json b/resources/profiles/Artillery/process/0.24mm Draft @Artillery Hornet.json index d3fb6cc4fdd..610ee45999a 100644 --- a/resources/profiles/Artillery/process/0.24mm Draft @Artillery Hornet.json +++ b/resources/profiles/Artillery/process/0.24mm Draft @Artillery Hornet.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/0.24mm Draft @Artillery X1.json b/resources/profiles/Artillery/process/0.24mm Draft @Artillery X1.json index 06b10e836aa..616ff0b2fa8 100644 --- a/resources/profiles/Artillery/process/0.24mm Draft @Artillery X1.json +++ b/resources/profiles/Artillery/process/0.24mm Draft @Artillery X1.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius Pro.json b/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius Pro.json index 97dfe75dc1f..13e1dc59451 100644 --- a/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius Pro.json +++ b/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius Pro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius.json b/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius.json index d5e0f991ddf..c9a13e35c82 100644 --- a/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius.json +++ b/resources/profiles/Artillery/process/0.25mm Draft @Artillery Genius.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Artillery/process/fdm_process_common.json b/resources/profiles/Artillery/process/fdm_process_common.json index ec9d332fac5..d40a0976518 100644 --- a/resources/profiles/Artillery/process/fdm_process_common.json +++ b/resources/profiles/Artillery/process/fdm_process_common.json @@ -81,7 +81,7 @@ "tree_support_wall_count": "0", "tree_support_with_infill": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/BBL.json b/resources/profiles/BBL.json index 2e2dc75a621..9ad37793634 100644 --- a/resources/profiles/BBL.json +++ b/resources/profiles/BBL.json @@ -1,7 +1,7 @@ { "name": "Bambulab", "url": "http://www.bambulab.com/Parameters/vendor/BBL.json", - "version": "01.09.00.10", + "version": "01.09.00.11", "force_update": "0", "description": "the initial version of BBL configurations", "machine_model_list": [ diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json index 4da8c72134e..e13f52b66d0 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json @@ -30,5 +30,5 @@ "Bambu Lab X1E 0.2 nozzle", "Bambu Lab A1 0.2 nozzle" ], - "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression" + "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json index b3fa83d3de0..b947c06289c 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json @@ -37,7 +37,7 @@ "Bambu Lab X1E 0.4 nozzle", "Bambu Lab A1 0.4 nozzle" ], - "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n\t{elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression", + "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression", "machine_end_gcode": ";===== date: 20230428 =====================\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 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 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\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\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 (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\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\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\n", "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 E-[retraction_length] F1800\nG17\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F20000 ; spiral lift a little\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 E[retraction_length] F300\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change", "change_filament_gcode": "M620 S[next_extruder]A\nM204 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}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F[old_filament_e_feedrate] T{nozzle_temperature_range_high[previous_extruder]}\nT[next_extruder]\nM620.1 E F[new_filament_e_feedrate] T{nozzle_temperature_range_high[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F[old_filament_e_feedrate]\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S[nozzle_temperature_range_high]\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{new_filament_e_feedrate} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json index 36bede9f0aa..f29aeb7434d 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json @@ -34,5 +34,5 @@ "Bambu Lab X1E 0.6 nozzle", "Bambu Lab A1 0.6 nozzle" ], - "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression" + "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json index 504d3123e3f..10bafbdfa2a 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json @@ -34,5 +34,5 @@ "Bambu Lab X1E 0.8 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "machine_start_gcode": ";===== machine: P1P ========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression" + "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ; turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json index ff1c26441a2..8ebf4fea73b 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.2 nozzle.json @@ -30,5 +30,5 @@ "Bambu Lab X1E 0.2 nozzle", "Bambu Lab A1 0.2 nozzle" ], - "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" + "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z-0.04 ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json index f76ee65d84e..5cee189af55 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json @@ -36,7 +36,7 @@ "Bambu Lab X1E 0.4 nozzle", "Bambu Lab A1 0.4 nozzle" ], - "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n", + "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n", "machine_end_gcode": ";===== date: 20230428 =====================\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 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 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\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\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 (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\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\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\n", "layer_change_gcode": "; layer num/total_layer_count: {layer_num+1}/[total_layer_count]\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\nM971 S11 C10 O0\n{elsif timelapse_type == 1} ; timelapse with wipe tower\nG92 E0\nG1 E-[retraction_length] F1800\nG17\nG2 Z{layer_z + 0.4} I0.86 J0.86 P1 F20000 ; spiral lift a little\nG1 X65 Y245 F20000 ; move to safe pos\nG17\nG2 Z{layer_z} I0.86 J0.86 P1 F20000\nG1 Y265 F3000\nM400 P300\nM971 S11 C11 O0\nG92 E0\nG1 E[retraction_length] F300\nG1 X100 F5000\nG1 Y255 F20000\n{endif}\nM623\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change", "change_filament_gcode": "M620 S[next_extruder]A\nM204 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}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F[old_filament_e_feedrate] T{nozzle_temperature_range_high[previous_extruder]}\nT[next_extruder]\nM620.1 E F[new_filament_e_feedrate] T{nozzle_temperature_range_high[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F[old_filament_e_feedrate]\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S[nozzle_temperature_range_high]\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{new_filament_e_feedrate} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json index 82846151766..e935d6664e6 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.6 nozzle.json @@ -34,5 +34,5 @@ "Bambu Lab X1E 0.6 nozzle", "Bambu Lab A1 0.6 nozzle" ], - "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" + "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ;turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X18 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json index 29cfca14f24..49cbe6ecdb4 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P1S 0.8 nozzle.json @@ -34,5 +34,5 @@ "Bambu Lab X1E 0.8 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ; turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" + "machine_start_gcode": ";===== machine: P1S ========================\n;===== date: 20231107 =====================\n;===== turn on the HB fan & MC board fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\nM710 A1 S255 ; turn on MC fan by default(P1S)\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X230 Y15\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_extruder]==\"PLA\"}\n {if (bed_temperature[initial_extruder] >50)||(bed_temperature_initial_layer[initial_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_extruder] >45)||(bed_temperature_initial_layer[initial_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n\nM104 S{nozzle_temperature_initial_layer[initial_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== fmech mode fast check============================\n\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y15 E1.500 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.500\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X18 E15\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json index ad0f3cd4385..782ec98d504 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json @@ -30,5 +30,5 @@ "Bambu Lab X1E 0.2 nozzle", "Bambu Lab A1 0.2 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json index 9f2087a5320..adf2a3bc7f1 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json @@ -37,7 +37,7 @@ "Bambu Lab X1E 0.4 nozzle", "Bambu Lab A1 0.4 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", "machine_end_gcode": ";===== date: 20240402 =====================\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 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 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\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\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 (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\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\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM960 S5 P0 ; turn off logo lamp\n\n", "change_filament_gcode": "M620 S[next_extruder]A\nM204 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}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F[old_filament_e_feedrate] T{nozzle_temperature_range_high[previous_extruder]}\nT[next_extruder]\nM620.1 E F[new_filament_e_feedrate] T{nozzle_temperature_range_high[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F[old_filament_e_feedrate]\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S[nozzle_temperature_range_high]\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{new_filament_e_feedrate} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json index 2a4e8d888b0..732e99f8a08 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json @@ -34,5 +34,5 @@ "Bambu Lab X1E 0.6 nozzle", "Bambu Lab A1 0.6 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.333\n G0 F1200.0 X226 Y15 Z0.2 E0.495\n G0 F1200.0 X226 Y8 Z0.2 E0.691\n G0 F1200.0 X216 Y8 Z0.2 E0.988\n G0 F1200.0 X216 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E20.56 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.56 F1200.0\n G0 X35.0 Y6.0 E1.75 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.482\n G0 F1200.0 X226 Y15 Z0.2 E0.550\n G0 F1200.0 X226 Y8 Z0.2 E0.768\n G0 F1200.0 X216 Y8 Z0.2 E1.098\n G0 F1200.0 X216 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E25.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.70 F1200.0\n G0 X35.0 Y6.0 E1.90 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json index 9728fde873c..c9f7e6908e1 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json @@ -34,5 +34,5 @@ "Bambu Lab X1E 0.8 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.482\n G0 F1200.0 X226 Y15 Z0.2 E0.550\n G0 F1200.0 X226 Y8 Z0.2 E0.768\n G0 F1200.0 X216 Y8 Z0.2 E1.098\n G0 F1200.0 X216 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E25.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.70 F1200.0\n G0 X35.0 Y6.0 E1.90 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230707 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.482\n G0 F1200.0 X226 Y15 Z0.2 E0.550\n G0 F1200.0 X226 Y8 Z0.2 E0.768\n G0 F1200.0 X216 Y8 Z0.2 E1.098\n G0 F1200.0 X216 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E25.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.70 F1200.0\n G0 X35.0 Y6.0 E1.90 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json index d752a45687d..0a552967808 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json @@ -31,5 +31,5 @@ "Bambu Lab X1E 0.2 nozzle", "Bambu Lab A1 0.2 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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 M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n\t{if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.160\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.080\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.080 K0.160\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.08 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.08}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json index 45941560014..540fd0bb5b5 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json @@ -35,7 +35,7 @@ "Bambu Lab X1E 0.4 nozzle", "Bambu Lab A1 0.4 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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 M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y11 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E0.700\nG0 X231 E0.700 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n T1000\n\n G0 F1200.0 X231 Y15 Z0.2 E0.741\n G0 F1200.0 X226 Y15 Z0.2 E0.275\n G0 F1200.0 X226 Y8 Z0.2 E0.384\n G0 F1200.0 X216 Y8 Z0.2 E0.549\n G0 F1200.0 X216 Y1.5 Z0.2 E0.357\n\n G0 X48.0 E12.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E0.92 F1200.0\n G0 X35.0 Y6.0 E1.03 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E9.35441 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.040\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.020\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E14.3 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.020 K0.040\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E1.24726 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.02 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.02}\n M623\n\n G1 X140.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.31181 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4", "machine_end_gcode": ";===== date: 20240402 =====================\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 Y265 F3000\n\nG1 X65 Y245 F12000\nG1 Y265 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\nG1 X100 F12000 ; wipe\n; pull back filament to AMS\nM620 S255\nG1 X20 Y50 F12000\nG1 Y-3\nT255\nG1 X65 F12000\nG1 Y265\nG1 X100 F12000 ; wipe\nM621 S255\nM104 S0 ; turn off hotend\n\nM622.1 S1 ; for prev firware, default turned on\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 ; wait all motion done\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S3 ;wait for last picture to be taken\nM623; end of \"timelapse_record_flag\"\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 (max_layer_z + 100.0) < 250}\n G1 Z{max_layer_z + 100.0} F600\n G1 Z{max_layer_z +98.0}\n{else}\n G1 Z250 F600\n G1 Z248\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\nM17 X0.8 Y0.8 Z0.5 ; lower motor current to 45% power\nM960 S5 P0 ; turn off logo lamp\n\n", "change_filament_gcode": "M620 S[next_extruder]A\nM204 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}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F21000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\nM106 P2 S0\n{if old_filament_temp > 142 && next_extruder < 255}\nM104 S[old_filament_temp]\n{endif}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\n{else}\nM620.11 S0\n{endif}\nM400\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 X120 F15000\nG1 X20 Y50 F21000\nG1 Y-3\n{if toolchange_count == 2}\n; get travel path for change filament\nM620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\nM620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\nM620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\nM620.1 E F[old_filament_e_feedrate] T{nozzle_temperature_range_high[previous_extruder]}\nT[next_extruder]\nM620.1 E F[new_filament_e_feedrate] T{nozzle_temperature_range_high[next_extruder]}\n\n{if next_extruder < 255}\n{if long_retractions_when_cut[previous_extruder]}\nM620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}\nM628 S1\nG92 E0\nG1 E{retraction_distances_when_cut[previous_extruder]} F[old_filament_e_feedrate]\nM400\nM629 S1\n{else}\nM620.11 S0\n{endif}\nG92 E0\n{if flush_length_1 > 1}\nM83\n; FLUSH_START\n; always use highest temperature to flush\nM400\n{if filament_type[next_extruder] == \"PETG\"}\nM109 S260\n{elsif filament_type[next_extruder] == \"PVA\"}\nM109 S210\n{else}\nM109 S[nozzle_temperature_range_high]\n{endif}\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n\nG91\nG1 X3 F12000; move aside to extrude\nG90\nM83\n\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n; FLUSH_START\nM400\nM109 S[new_filament_temp]\nG1 E2 F{new_filament_e_feedrate} ;Compensate for filament spillage during waiting temperature\n; FLUSH_END\nM400\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\nM106 P1 S255\nM400 S3\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X105 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\n\nG1 X70 F10000\nG1 X80 F15000\nG1 X60\nG1 X80\nG1 X60\nG1 X80 ; shake to put down garbage\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A\n" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json index 73f67a2c9ed..23526c9d03b 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json @@ -33,5 +33,5 @@ "Bambu Lab X1E 0.6 nozzle", "Bambu Lab A1 0.6 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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 M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.333\n G0 F1200.0 X226 Y15 Z0.2 E0.495\n G0 F1200.0 X226 Y8 Z0.2 E0.691\n G0 F1200.0 X216 Y8 Z0.2 E0.988\n G0 F1200.0 X216 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E20.56 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.56 F1200.0\n G0 X35.0 Y6.0 E1.75 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{+0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y1.0 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X240 E25 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 Y15 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\nG0 X239.5\nG0 E0.2\nG0 Y1.5 E1.166\nG0 X231 E1.166 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.333\n G0 F1200.0 X226 Y15 Z0.2 E0.495\n G0 F1200.0 X226 Y8 Z0.2 E0.691\n G0 F1200.0 X216 Y8 Z0.2 E0.988\n G0 F1200.0 X216 Y1.5 Z0.2 E0.642\n\n G0 X48.0 E20.56 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.56 F1200.0\n G0 X35.0 Y6.0 E1.75 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X185.000 E16.9 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.030\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.015\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.9) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X18 E23.9 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.015 K0.030\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.25000 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X70.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X75.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X80.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X85.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X90.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X95.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X100.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X105.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X110.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X115.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X120.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X125.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X130.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X135.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.015 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*0.015}\n M623\n\n G1 X140.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X145.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X150.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X155.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X160.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X165.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X170.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X175.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X180.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X185.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X190.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X195.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X200.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X205.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X210.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X215.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G1 X220.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5)/ 4 * 60}\n G1 X225.000 E0.56250 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json index e7865c1d5e4..ea4e5e27a23 100644 --- a/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json @@ -33,5 +33,5 @@ "Bambu Lab X1E 0.8 nozzle", "Bambu Lab A1 0.8 nozzle" ], - "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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 M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.482\n G0 F1200.0 X226 Y15 Z0.2 E0.550\n G0 F1200.0 X226 Y8 Z0.2 E0.768\n G0 F1200.0 X216 Y8 Z0.2 E1.098\n G0 F1200.0 X216 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E25.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.70 F1200.0\n G0 X35.0 Y6.0 E1.90 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" + "machine_start_gcode": ";===== machine: X1 =========================\n;===== date: 20230824 =====================\n;===== turn on the HB fan =================\nM104 S75 ;set extruder temp to turn on the HB fan and prevent filament oozing from nozzle\n;===== reset machine status =================\nM290 X40 Y40 Z2.6666666\nG91\nM17 Z0.4 ; lower the z-motor current\nG380 S2 Z30 F300 ; G380 is same as G38; lower the hotbed , to prevent the nozzle is below the hotbed\nG380 S2 Z-25 F300 ;\nG1 Z5 F300;\nG90\nM17 X1.2 Y1.2 Z0.75 ; reset motor current to default\nM960 S5 P1 ; turn on logo lamp\nG90\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 5\nM221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem\nG29.1 Z{0.0} ; clear z-trim value first\nM204 S10000 ; init ACC set to 10m/s^2\n\n;===== heatbed preheat ====================\nM1002 gcode_claim_action : 2\nM140 S[bed_temperature_initial_layer_single] ;set bed temp\nM190 S[bed_temperature_initial_layer_single] ;wait for bed temp\n\n{if scan_first_layer}\n;=========register first layer scan=====\nM977 S1 P60\n{endif}\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\n;===== prepare print temperature and material ==========\nM104 S[nozzle_temperature_initial_layer] ;set extruder temp\nG91\nG0 Z10 F1200\nG90\nG28 X\nM975 S1 ; turn on\nG1 X60 F12000\nG1 Y245\nG1 Y265 F3000\nM620 M\nM620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M109 S[nozzle_temperature_initial_layer]\n G1 X120 F12000\n\n G1 X20 Y50 F12000\n G1 Y-3\n T[initial_no_support_extruder]\n G1 X54 F12000\n G1 Y265\n M400\nM621 S[initial_no_support_extruder]A\nM620.1 E F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4053*60} T{nozzle_temperature_range_high[initial_no_support_extruder]}\n\n\nM412 S1 ; ===turn on filament runout detection===\n\nM109 S250 ;set nozzle to common flush temp\nM106 P1 S0\nG92 E0\nG1 E50 F200\nM400\nM104 S[nozzle_temperature_initial_layer]\nG92 E0\nG1 E50 F200\nM400\nM106 P1 S255\nG92 E0\nG1 E5 F300\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20} ; drop nozzle temp, make filament shink a bit\nG92 E0\nG1 E-0.5 F300\n\nG1 X70 F9000\nG1 X76 F15000\nG1 X65 F15000\nG1 X76 F15000\nG1 X65 F15000; shake to put down garbage\nG1 X80 F6000\nG1 X95 F15000\nG1 X80 F15000\nG1 X165 F15000; wipe and shake\nM400\nM106 P1 S0\n;===== prepare print temperature and material end =====\n\n\n;===== wipe nozzle ===============================\nM1002 gcode_claim_action : 14\nM975 S1\nM106 S255\nG1 X65 Y230 F18000\nG1 Y264 F6000\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-20}\nG1 X100 F18000 ; first wipe mouth\n\nG0 X135 Y253 F20000 ; move to exposed steel surface edge\nG28 Z P0 T300; home z with low precision,permit 300deg temperature\nG29.2 S0 ; turn off ABL\nG0 Z5 F20000\n\nG1 X60 Y265\nG92 E0\nG1 E-0.5 F300 ; retrack more\nG1 X100 F5000; second wipe mouth\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X100 F5000\nG1 X70 F15000\nG1 X90 F5000\nG0 X128 Y261 Z-1.5 F20000 ; move to exposed steel surface and stop the nozzle\nM104 S140 ; set temp down to heatbed acceptable\nM106 S255 ; turn on fan (G28 has turn off fan)\n\nM221 S; push soft endstop status\nM221 Z0 ;turn off Z axis endstop\nG0 Z0.5 F20000\nG0 X125 Y259.5 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y262.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y260.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.5\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 Z0.5 F20000\nG0 X125 Y261.0\nG0 Z-1.01\nG0 X131 F211\nG0 X124\nG0 X128\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\nG2 I0.5 J0 F300\n\nM109 S140 ; wait nozzle temp down to heatbed acceptable\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\nG2 I0.5 J0 F3000\n\nM221 R; pop softend status\nG1 Z10 F1200\nM400\nG1 Z10\nG1 F30000\nG1 X128 Y128\nG29.2 S1 ; turn on ABL\n;G28 ; home again after hard wipe mouth\nM106 S0 ; turn off fan , too noisy\n;===== wipe nozzle end ================================\n\n;===== check scanner clarity ===========================\nG1 X128 Y128 F24000\nG28 Z P0\nM972 S5 P0\nG1 X230 Y15 F24000\n;===== check scanner clarity end =======================\n\n;===== bed leveling ==================================\nM1002 judge_flag g29_before_print_flag\nM622 J1\n\n M1002 gcode_claim_action : 1\n G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n M400\n M500 ; save cali data\n\nM623\n;===== bed leveling end ================================\n\n;===== home after wipe mouth============================\nM1002 judge_flag g29_before_print_flag\nM622 J0\n\n M1002 gcode_claim_action : 13\n G28\n\nM623\n;===== home after wipe mouth end =======================\n\nM975 S1 ; turn on vibration supression\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] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {elsif (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {endif};Prevent PLA from jamming\n M142 P1 R35 S40\n{endif}\nM106 P2 S100 ; turn on big fan ,to cool down toolhead\n\nM104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; set extrude temp earlier, to reduce wait time\n\n;===== mech mode fast check============================\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q1 A7 B30 C80 H15 K0\nM974 Q1 S2 P0\n\nG1 X128 Y128 Z10 F20000\nM400 P200\nM970.3 Q0 A7 B30 C90 Q0 H15 K0\nM974 Q0 S2 P0\n\nM975 S1\nG1 F30000\nG1 X230 Y15\nG28 X ; re-home XY\n;===== mech mode fast check============================\n\n{if scan_first_layer}\n;start heatbed scan====================================\nM976 S2 P1\nG90\nG1 X128 Y128 F20000\nM976 S3 P2 ;register void printing detection\n{endif}\n\n;===== nozzle load line ===============================\nM975 S1\nG90\nM83\nT1000\nG1 X18.0 Y0.5 Z0.8 F18000;Move to start position\nM109 S{nozzle_temperature[initial_no_support_extruder]}\nG1 Z0.2\nG0 E2 F300\nG0 X129 E15 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\nG0 X240 E15\nG0 Y11 E1.364 F{outer_wall_volumetric_speed/(0.3*1.0)/ 4 * 60}\nG0 X239.5\nG0 E0.3\nG0 Y1.5 E1.300\nG0 X231 E1.160 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM400\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n;curr_bed_type={curr_bed_type}\n{if curr_bed_type==\"Textured PEI Plate\"}\nG29.1 Z{-0.04} ; for Textured PEI Plate\n{endif}\n\n;===== draw extrinsic para cali paint =================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M1002 gcode_claim_action : 8\n\n G0 F1200.0 X231 Y15 Z0.2 E1.482\n G0 F1200.0 X226 Y15 Z0.2 E0.550\n G0 F1200.0 X226 Y8 Z0.2 E0.768\n G0 F1200.0 X216 Y8 Z0.2 E1.098\n G0 F1200.0 X216 Y1.5 Z0.2 E0.714\n\n G0 X48.0 E25.0 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\n G0 X48.0 Y14 E1.70 F1200.0\n G0 X35.0 Y6.0 E1.90 F1200.0\n\n ;=========== extruder cali extrusion ==================\n T1000\n M83\n {if default_acceleration > 0}\n {if outer_wall_acceleration > 0}\n M204 S[outer_wall_acceleration]\n {else}\n M204 S[default_acceleration]\n {endif}\n {endif}\n G0 X35.000 Y6.000 Z0.300 F30000 E0\n G1 F1500.000 E0.800\n M106 S0 ; turn off fan\n G0 X110.000 E9.35441 F4800\n G0 X185.000 E9.35441 F4800\n G0 X187 Z0\n G1 F1500.000 E-0.800\n G0 Z1\n G0 X180 Z0.3 F18000\n\n M900 L1000.0 M1.0\n M900 K0.020\n G0 X45.000 F30000\n G0 Y8.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.010\n G0 X45.000 F30000\n G0 Y10.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n M400\n\n G0 X45.000 F30000\n M900 K0.000\n G0 X45.000 F30000\n G0 Y12.000 F30000\n G1 F1500.000 E0.800\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 F1500.000 E-0.800\n G1 X183 Z0.15 F30000\n G1 X185\n G1 Z1.0\n G0 Y6.000 F30000 ; move y to clear pos\n G1 Z0.3\n\n G0 X45.000 F30000 ; move to start point\n\nM623 ; end of \"draw extrinsic para cali paint\"\n\nM1002 judge_flag extrude_cali_flag\nM622 J0\n G0 X231 Y1.5 F30000\n G0 X129 E14 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G0 X18 E15 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nM623\n\nM104 S140\n\n\n;=========== laser and rgb calibration ===========\nM400\nM18 E\nM500 R\n\nM973 S3 P14\n\nG1 X120 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nT1100\nG1 X235.0 Y1.0 Z0.3 F18000.0;Move to first extrude line pos\nM400 P100\nM960 S1 P1\nM400 P100\nM973 S6 P0; use auto exposure for horizontal laser by xcam\nM960 S0 P0\n\nG1 X240.0 Y6.0 Z0.3 F18000.0;Move to vertical extrude line pos\nM960 S2 P1\nM400 P100\nM973 S6 P1; use auto exposure for vertical laser by xcam\nM960 S0 P0\n\n;=========== handeye calibration ======================\nM1002 judge_flag extrude_cali_flag\nM622 J1\n\n M973 S3 P1 ; camera start stream\n M400 P500\n M973 S1\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G0 F6000 X228.500 Y4.500 Z0.000\n M960 S0 P1\n M973 S1\n M400 P800\n M971 S6 P0\n M973 S2 P0\n M400 P500\n G0 Z0.000 F12000\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P200\n M971 S5 P1\n M973 S2 P1\n M400 P500\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P3\n G0 Z0.500 F12000\n M960 S0 P0\n M960 S2 P1\n G0 X228.5 Y11.0\n M400 P200\n M971 S5 P4\n M973 S2 P0\n M400 P500\n M960 S0 P0\n M960 S1 P1\n G0 X221.00 Y4.50\n M400 P500\n M971 S5 P2\n M963 S1\n M400 P1500\n M964\n T1100\n G1 Z3 F3000\n\n M400\n M500 ; save cali data\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise nozzle temp now ,to reduce temp waiting time.\n\n T1100\n M400 P400\n M960 S0 P0\n G0 F30000.000 Y10.000 X65.000 Z0.000\n M400 P400\n M960 S1 P1\n M400 P50\n\n M969 S1 N3 A2000\n G0 F360.000 X181.000 Z0.000\n M980.3 A70.000 B{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60/4} C5.000 D{outer_wall_volumetric_speed/(1.75*1.75/4*3.14)*60} E5.000 F175.000 H1.000 I0.000 J0.010 K0.020\n M400 P100\n G0 F20000\n G0 Z1 ; rise nozzle up\n T1000 ; change to nozzle space\n G0 X45.000 Y4.000 F30000 ; move to test line pos\n M969 S0 ; turn off scanning\n M960 S0 P0\n\n\n G1 Z2 F20000\n T1000\n G0 X45.000 Y4.000 F30000 E0\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 Z0.3\n G1 F1500.000 E3.600\n G1 X65.000 E2.4945 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X70.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X75.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X80.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X85.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X90.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X95.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X100.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X105.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X110.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X115.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X120.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X125.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X130.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X135.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n\n ; see if extrude cali success, if not ,use default value\n M1002 judge_last_extrude_cali_success\n M622 J0\n M400\n M900 K0.01 M{outer_wall_volumetric_speed/(1.75*1.75/4*3.14) *0.01}\n M623\n\n G1 X140.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X145.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X150.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X155.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X160.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X165.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X170.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X175.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X180.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X185.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X190.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X195.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X200.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X205.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X210.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X215.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n G1 X220.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) / 4 * 60}\n G1 X225.000 E0.6236 F{outer_wall_volumetric_speed/(0.3*1.0) * 60}\n M973 S4\n\nM623\n\n;========turn off light and wait extrude temperature =============\nM1002 gcode_claim_action : 0\nM973 S4 ; turn off scanner\nM400 ; wait all motion done before implement the emprical L parameters\n;M900 L500.0 ; Empirical parameters\nM109 S[nozzle_temperature_initial_layer]\nM960 S1 P0 ; turn off laser\nM960 S2 P0 ; turn off laser\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off big fan\nM106 P3 S0 ; turn off chamber fan\n\nM975 S1 ; turn on mech mode supression\nG90\nM83\nT1000\nG1 E{-retraction_length[initial_no_support_extruder]} F1800\nG1 X128.0 Y253.0 Z0.2 F24000.0;Move to start position\nG1 E{retraction_length[initial_no_support_extruder]} F1800\nM109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\nG0 X253 E6.4 F{outer_wall_volumetric_speed/(0.3*0.6) * 60}\nG0 Y128 E6.4\nG0 X252.5\nG0 Y252.5 E6.4\nG0 X128 E6.4" } \ No newline at end of file diff --git a/resources/profiles/BIQU.json b/resources/profiles/BIQU.json index d97e1b2eee0..0b34e7888fd 100644 --- a/resources/profiles/BIQU.json +++ b/resources/profiles/BIQU.json @@ -1,6 +1,6 @@ { "name": "BIQU", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "BIQU configurations", "machine_model_list": [ diff --git a/resources/profiles/BIQU/process/fdm_process_biqu_common.json b/resources/profiles/BIQU/process/fdm_process_biqu_common.json index 0375a6ced13..1b296b8dcc9 100644 --- a/resources/profiles/BIQU/process/fdm_process_biqu_common.json +++ b/resources/profiles/BIQU/process/fdm_process_biqu_common.json @@ -83,7 +83,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/BIQU/process/fdm_process_hurakan_common.json b/resources/profiles/BIQU/process/fdm_process_hurakan_common.json index ac3fa6d8f5a..5728d0a583c 100644 --- a/resources/profiles/BIQU/process/fdm_process_hurakan_common.json +++ b/resources/profiles/BIQU/process/fdm_process_hurakan_common.json @@ -83,7 +83,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/CONSTRUCT3D.json b/resources/profiles/CONSTRUCT3D.json index 9580e9cd06d..204e5e75eb4 100644 --- a/resources/profiles/CONSTRUCT3D.json +++ b/resources/profiles/CONSTRUCT3D.json @@ -1,6 +1,6 @@ { "name": "CONSTRUCT3D", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Construct3D configurations", "machine_model_list": [ diff --git a/resources/profiles/CONSTRUCT3D/process/fdm_process_common.json b/resources/profiles/CONSTRUCT3D/process/fdm_process_common.json index b5ccd4173da..98f24aad78d 100644 --- a/resources/profiles/CONSTRUCT3D/process/fdm_process_common.json +++ b/resources/profiles/CONSTRUCT3D/process/fdm_process_common.json @@ -83,7 +83,7 @@ "tree_support_wall_count": "0", "tree_support_with_infill": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", "enable_prime_tower": "0", "wipe_tower_no_sparse_layers": "0", diff --git a/resources/profiles/Comgrow.json b/resources/profiles/Comgrow.json index 6150492e6ca..dd962a7e20c 100644 --- a/resources/profiles/Comgrow.json +++ b/resources/profiles/Comgrow.json @@ -1,6 +1,6 @@ { "name": "Comgrow", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Comgrow configurations", "machine_model_list": [ diff --git a/resources/profiles/Comgrow/process/0.16mm Opitmal @Comgrow T500 0.6.json b/resources/profiles/Comgrow/process/0.16mm Opitmal @Comgrow T500 0.6.json index 75aad4846cd..f65c16459b0 100644 --- a/resources/profiles/Comgrow/process/0.16mm Opitmal @Comgrow T500 0.6.json +++ b/resources/profiles/Comgrow/process/0.16mm Opitmal @Comgrow T500 0.6.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.16mm Optimal @Comgrow T500 0.4.json b/resources/profiles/Comgrow/process/0.16mm Optimal @Comgrow T500 0.4.json index 17d1839a79f..db41ecc64e2 100644 --- a/resources/profiles/Comgrow/process/0.16mm Optimal @Comgrow T500 0.4.json +++ b/resources/profiles/Comgrow/process/0.16mm Optimal @Comgrow T500 0.4.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.18mm Optimal @Comgrow T500.json b/resources/profiles/Comgrow/process/0.18mm Optimal @Comgrow T500.json index 2b364ee2a8d..3d5420355af 100644 --- a/resources/profiles/Comgrow/process/0.18mm Optimal @Comgrow T500.json +++ b/resources/profiles/Comgrow/process/0.18mm Optimal @Comgrow T500.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.4.json b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.4.json index 9d94e6c5047..5cfa3a31883 100644 --- a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.4.json +++ b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.4.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.6.json b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.6.json index d11dfb24a17..dd3a8070f3d 100644 --- a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.6.json +++ b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 0.6.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 1.0.json b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 1.0.json index 17de9587036..e70b15981d1 100644 --- a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 1.0.json +++ b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500 1.0.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "1.0", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500.json b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500.json index 505373d1e9d..14719cd6ef1 100644 --- a/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500.json +++ b/resources/profiles/Comgrow/process/0.20mm Standard @Comgrow T500.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.4.json b/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.4.json index 7f8c3778b15..cbfcd4992c5 100644 --- a/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.4.json +++ b/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.4.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.6.json b/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.6.json index 3b9cbaa7a55..db859c397bf 100644 --- a/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.6.json +++ b/resources/profiles/Comgrow/process/0.24mm Draft @Comgrow T500 0.6.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.24mm Optimal @Comgrow T500 0.8.json b/resources/profiles/Comgrow/process/0.24mm Optimal @Comgrow T500 0.8.json index a1ca8bf2cb2..3791c14d3bf 100644 --- a/resources/profiles/Comgrow/process/0.24mm Optimal @Comgrow T500 0.8.json +++ b/resources/profiles/Comgrow/process/0.24mm Optimal @Comgrow T500 0.8.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.4.json b/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.4.json index 9fbe8bb3f8a..b80a6609b90 100644 --- a/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.4.json +++ b/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.4.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.6.json b/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.6.json index af0be46947e..2bd24935033 100644 --- a/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.6.json +++ b/resources/profiles/Comgrow/process/0.28mm SuperDraft @Comgrow T500 0.6.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.32mm Standard @Comgrow T500 0.8.json b/resources/profiles/Comgrow/process/0.32mm Standard @Comgrow T500 0.8.json index 7fc0fb213c5..729f151519f 100644 --- a/resources/profiles/Comgrow/process/0.32mm Standard @Comgrow T500 0.8.json +++ b/resources/profiles/Comgrow/process/0.32mm Standard @Comgrow T500 0.8.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.40mm Draft @Comgrow T500 0.8.json b/resources/profiles/Comgrow/process/0.40mm Draft @Comgrow T500 0.8.json index a7385a91778..25121818653 100644 --- a/resources/profiles/Comgrow/process/0.40mm Draft @Comgrow T500 0.8.json +++ b/resources/profiles/Comgrow/process/0.40mm Draft @Comgrow T500 0.8.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.48mm Draft @Comgrow T500 0.8.json b/resources/profiles/Comgrow/process/0.48mm Draft @Comgrow T500 0.8.json index 8bddb7adcaa..13f8660ec3e 100644 --- a/resources/profiles/Comgrow/process/0.48mm Draft @Comgrow T500 0.8.json +++ b/resources/profiles/Comgrow/process/0.48mm Draft @Comgrow T500 0.8.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/0.56mm SuperDraft @Comgrow T500 0.8.json b/resources/profiles/Comgrow/process/0.56mm SuperDraft @Comgrow T500 0.8.json index 0b014b07915..0c04a9280f2 100644 --- a/resources/profiles/Comgrow/process/0.56mm SuperDraft @Comgrow T500 0.8.json +++ b/resources/profiles/Comgrow/process/0.56mm SuperDraft @Comgrow T500 0.8.json @@ -78,7 +78,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "2", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Comgrow/process/fdm_process_comgrow_common.json b/resources/profiles/Comgrow/process/fdm_process_comgrow_common.json index 41009107e57..0c75457ac18 100644 --- a/resources/profiles/Comgrow/process/fdm_process_comgrow_common.json +++ b/resources/profiles/Comgrow/process/fdm_process_comgrow_common.json @@ -179,7 +179,7 @@ "top_surface_acceleration": "2000", "top_surface_jerk": "9", "top_surface_line_width": "0.4", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_speed": "40", "travel_acceleration": "3000", "travel_jerk": "12", diff --git a/resources/profiles/Creality.json b/resources/profiles/Creality.json index a3e7f60d0ba..a72b06b076b 100644 --- a/resources/profiles/Creality.json +++ b/resources/profiles/Creality.json @@ -1,6 +1,6 @@ { "name": "Creality", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Creality configurations", "machine_model_list": [ diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10Max.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10Max.json index 86937ca76f2..c6e0e3c0490 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10Max.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10Max.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "6", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.2.json index 08f49d3512e..7c514b556ae 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.2.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.2.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.25", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.4.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.4.json index 0763c0eef76..9e7593af59d 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.4.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.4.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.6.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.6.json index 7aa30a730ac..f924e7d5892 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.6.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.6.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.65", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.8.json b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.8.json index 9fced98b546..4f4926aacd8 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.8.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality CR10SE 0.8.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.85", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.2.json index 2e4347739b4..5b6d4c56764 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.2.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.4.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.4.json index 68cb76aeef4..ac9717eba11 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.4.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.6.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.6.json index 9e03ec13dd6..db047e4269b 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.6.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.8.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.8.json index 0ceadf8e361..efce8c2d033 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.8.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.2.json index 7fdec59c18e..7693975ddce 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.2.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.4.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.4.json index 8db8cbe7bf7..0e02c09dbb5 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.4.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.6.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.6.json index 53a9e377920..913636b9532 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.6.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.8.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.8.json index 29c28218632..9d347da5516 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.8.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3 Pro 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2.json index eac84c4088e..9ca84807f44 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "6", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2Neo.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2Neo.json index eb9a1a3523d..fccae88f53e 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2Neo.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2Neo.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "6", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json index 9521fc51e4a..a357c838821 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3KE.json @@ -86,7 +86,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json index 0fbd9d9218f..6a7de541d16 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.2.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.22", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json index 229bccb94bb..40a01902d3e 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.4.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json index bd5a636f297..8a6d369f10f 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.6.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.62", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json index d8b251a1fd8..be014f9f0be 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3SE 0.8.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.82", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender5Pro (2019).json b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender5Pro (2019).json index 95e24872c84..2ae5db21bd5 100644 --- a/resources/profiles/Creality/process/0.12mm Fine @Creality Ender5Pro (2019).json +++ b/resources/profiles/Creality/process/0.12mm Fine @Creality Ender5Pro (2019).json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "6", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.15mm Optimal @Creality CR10Max.json b/resources/profiles/Creality/process/0.15mm Optimal @Creality CR10Max.json index eb649fb1f1c..2d9cc2ea686 100644 --- a/resources/profiles/Creality/process/0.15mm Optimal @Creality CR10Max.json +++ b/resources/profiles/Creality/process/0.15mm Optimal @Creality CR10Max.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender3V2.json b/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender3V2.json index 997f6face15..cb71707f791 100644 --- a/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender3V2.json +++ b/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender3V2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender5Pro (2019).json b/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender5Pro (2019).json index 9404f9d2f83..b3ff50fb2fb 100644 --- a/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender5Pro (2019).json +++ b/resources/profiles/Creality/process/0.15mm Optimal @Creality Ender5Pro (2019).json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json index 644ddc4fedb..840d148cd59 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.2.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.25", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json index 34f855f7995..b5c58382832 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.4.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json index 6b2ec5c2fe4..b80208b576e 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.6.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.63", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json index 11285e327af..d2aa8c80eca 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10SE 0.8.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.85", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10V2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10V2.json index 0ded3d9508f..fec8117098f 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10V2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality CR10V2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.2.json index 26de209709d..8f002a72cc2 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.4.json index c57f64c0412..a75e149b6e4 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.6.json index 8cce719d05a..dad348b3176 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.8.json index 493e91839d3..e4e4c901c7b 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.2.json index 15ea186a056..d9cc157fa19 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.4.json index c673f050fd9..485685ec4bb 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.6.json index 3d99e46056d..0c1a0f749e1 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.8.json index 368893012fb..edff62e441a 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3 Pro 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1.json index 2d7a02e45e8..2665ea3fd3d 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json index e38e4c4089f..873eb182ec0 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json index 45ca5389c64..72141883476 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json index 0bd95f7ac40..70163bc3dc0 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json index bcd0c9d9927..3b652dcf0a3 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Plus 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Pro.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Pro.json index 6897175b64f..f94eec09abc 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Pro.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Pro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V2Neo.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V2Neo.json index 6dc83dadbde..2538aa11be2 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V2Neo.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V2Neo.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "6", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json index 5584669a73b..46d65e71225 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3KE.json @@ -86,7 +86,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json index 8e79d226d0a..ef2bffcc022 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.2.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.22", "top_shell_layers": "6", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.4.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.4.json index 369b0a1a4af..530d41624d1 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.4.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.4.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "6", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json index 5c9cd487c77..91b36ae6f4f 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.6.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.62", "top_shell_layers": "6", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json index c9fdcc41871..deb23c8a3b8 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3SE 0.8.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.82", "top_shell_layers": "6", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5.json index 5600ad91745..7f76fbd942d 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Plus.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Plus.json index 78c523f8296..484d32d0dfb 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Plus.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Plus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S.json index 86044fd774f..27a0feb8d7e 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S1.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S1.json index 64fdc16a1f7..4573868e816 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S1.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S1.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender6.json b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender6.json index 6586f392406..af22c177686 100644 --- a/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender6.json +++ b/resources/profiles/Creality/process/0.16mm Optimal @Creality Ender6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10Max.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10Max.json index 9913f7f5b7d..db483caf0b2 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10Max.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10Max.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.2.json index a52c72adb68..bd0601cf9d8 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.2.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.25", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.4.json index 2c7643b16c0..88cc271d75a 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.4.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.6.json index e6c4204f03d..36bd342bf8d 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.6.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.65", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.8.json index d6c78d4b328..b17d83b7ce4 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10SE 0.8.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.85", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V2.json index a6cbe7ac1a8..38553af9b2b 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality CR10V2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.2.json index 01620cfa09a..0a065d178f1 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.4.json index 786de08cdb8..ac7771ebb9e 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.6.json index 8d1ee9ba064..e0dcb2cc87a 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.8.json index ad84a4e6272..139b3699c1d 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.2.json index 76fe4f21039..9ca6179416e 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.4.json index ca3ae01e2fd..eb9b3bf7cca 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.6.json index 96f81bb1215..11bff339aa3 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.8.json index c5dc8ec7a2c..5c29468ab70 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3 Pro 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3.json index 94574083f00..12a38655a64 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1.json index a3d25a670c9..4c2647a755a 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.2.json index fbb57bcb081..49d1e4b9eae 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.4.json index 02f6f27b913..8b4e385b9db 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.6.json index 57f9f6c6a15..7ad55384bcc 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.8.json index 2562ed334b1..9ac4b820ac0 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Plus 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Pro.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Pro.json index 4743cb62565..a12165953fd 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Pro.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Pro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2.json index d6984b116e3..ff40fda1f3b 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2Neo.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2Neo.json index ef601ed1633..a3532c6a73e 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2Neo.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2Neo.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json index d02539eb451..23f1e4b44a3 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3KE.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json index b685b84dba7..2a996b4473a 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.2.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.22", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.4.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.4.json index 73b1636de4d..3415709f388 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.4.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.4.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json index 1a82bd54c29..daa3e807d82 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.6.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.62", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json index 1c36e38e182..6bd2c594afd 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3SE 0.8.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.82", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5.json index b8ab9727f66..515b2cd6bb1 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Plus.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Plus.json index c9518d46552..88592919f7f 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Plus.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Plus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019).json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019).json index 04b6b36d342..2e186e482f5 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019).json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Pro (2019).json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S.json index 63815b0e6ea..1487772565a 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S1.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S1.json index 608e67142bf..da250fc8454 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S1.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S1.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender6.json b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender6.json index ae98760d8ab..7f6a59d33b5 100644 --- a/resources/profiles/Creality/process/0.20mm Standard @Creality Ender6.json +++ b/resources/profiles/Creality/process/0.20mm Standard @Creality Ender6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10Max.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10Max.json index 59fe41c01df..432562e3a15 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10Max.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10Max.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.2.json index 536dc775466..12f174c33cd 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.2.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.25", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.4.json index b9f3144edde..14962e50873 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.4.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.4.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.6.json index b0f98c9699b..ea231e98c91 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.6.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.65", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.8.json index 32fbed681bf..6db6db80be3 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality CR10SE 0.8.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.85", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.2.json index 492b2675bb8..2621599ba09 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.4.json index ccf0dd72587..529528c0504 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.4.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.6.json index 020c8e13a77..73b949f04a2 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.8.json index 97df4f70bab..3573867d86e 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.2.json index 2b495cad251..5f822b2cfa1 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.4.json index 805dc42a388..c6d0c98fc9b 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.4.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.6.json index bd4c6e5f2b9..a81b7d1ab48 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.8.json index fdebf4946be..6cb0a25fc3d 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3 Pro 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.2.json index fec5ce6f54b..03c9d8730e6 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.4.json index 3a523cd5226..8b1545a11b5 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.4.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.6.json index 6961aa3c67f..78d7e1378e9 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.8.json index aa5bac7b5cf..3c808556f69 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3S1Plus 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2.json index f9727bbf9cc..af24ef669e1 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2Neo.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2Neo.json index a461943f932..40feb298fc2 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2Neo.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2Neo.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json index 6644c9ba848..084f4413724 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3KE.json @@ -86,7 +86,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json index 9c65d0b4401..d5f01e73b2a 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.2.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.22", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json index 83e2f9d4e8f..33dacc26b03 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.4.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json index e5bb153a68f..cf1126078b9 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.6.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.62", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json index b023f761aa8..5b1cf6e1980 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3SE 0.8.json @@ -87,7 +87,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "2", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.82", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019).json b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019).json index d6df736aba2..3fbafc29a55 100644 --- a/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019).json +++ b/resources/profiles/Creality/process/0.24mm Draft @Creality Ender5Pro (2019).json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.2.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.2.json index 7d9f3fe5ff0..3b8d34c2c2d 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.2.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.4.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.4.json index 2ba59896362..189dbdb064e 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.4.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.6.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.6.json index acf78ef95a1..b1787e9fdf4 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.6.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.8.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.8.json index 502148a5171..e32cc005ff9 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.8.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.2.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.2.json index 3d17eea0269..1dc90a53a50 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.2.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.4.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.4.json index 1484a5a12a2..5f1b9abfbbd 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.4.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.4.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.6.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.6.json index 6b4185940bc..9b17965523f 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.6.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.6.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.6", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.8.json b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.8.json index f884f5dc63d..c803271945b 100644 --- a/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.8.json +++ b/resources/profiles/Creality/process/0.28mm SuperDraft @Creality Ender3 Pro 0.8.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.8", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Creality/process/fdm_process_creality_common.json b/resources/profiles/Creality/process/fdm_process_creality_common.json index 83c8322a28b..ce779b40e2e 100644 --- a/resources/profiles/Creality/process/fdm_process_creality_common.json +++ b/resources/profiles/Creality/process/fdm_process_creality_common.json @@ -83,7 +83,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Custom.json b/resources/profiles/Custom.json index 118607cf521..ebd4f0c1182 100644 --- a/resources/profiles/Custom.json +++ b/resources/profiles/Custom.json @@ -1,6 +1,6 @@ { "name": "Custom Printer", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "My configurations", "machine_model_list": [ diff --git a/resources/profiles/Custom/process/fdm_process_klipper_common.json b/resources/profiles/Custom/process/fdm_process_klipper_common.json index 4c2320391c5..dae96dd8447 100644 --- a/resources/profiles/Custom/process/fdm_process_klipper_common.json +++ b/resources/profiles/Custom/process/fdm_process_klipper_common.json @@ -83,7 +83,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Custom/process/fdm_process_marlin_common.json b/resources/profiles/Custom/process/fdm_process_marlin_common.json index ad5002ab201..d39d2becc13 100644 --- a/resources/profiles/Custom/process/fdm_process_marlin_common.json +++ b/resources/profiles/Custom/process/fdm_process_marlin_common.json @@ -83,7 +83,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Custom/process/fdm_process_rrf_common.json b/resources/profiles/Custom/process/fdm_process_rrf_common.json index 86061eb72a2..abf616fd04e 100644 --- a/resources/profiles/Custom/process/fdm_process_rrf_common.json +++ b/resources/profiles/Custom/process/fdm_process_rrf_common.json @@ -83,7 +83,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Dremel/process/fdm_process_dremel_common.json b/resources/profiles/Dremel/process/fdm_process_dremel_common.json index ee2cd3a42e4..40222d6337a 100644 --- a/resources/profiles/Dremel/process/fdm_process_dremel_common.json +++ b/resources/profiles/Dremel/process/fdm_process_dremel_common.json @@ -83,7 +83,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo.json b/resources/profiles/Elegoo.json index f361afaaeda..734cc1262c2 100644 --- a/resources/profiles/Elegoo.json +++ b/resources/profiles/Elegoo.json @@ -1,6 +1,6 @@ { "name": "Elegoo", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Elegoo configurations", "machine_model_list": [ diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune.json index 539343e9fe9..b038c374430 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune.json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2.json index d1a3bb05990..6651d359db2 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2.json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2D.json index 63200f76719..d4442bebb25 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2D.json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2D.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2S.json index dfef27e1589..ea7f169339c 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2S.json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2S.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3.json index 739cef80855..c38fc06729f 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3.json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Max.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Max.json index aaade1da530..f1e200d157c 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Max.json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Max.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Plus.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Plus.json index 10550956df5..65ab7e3a6f4 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Plus.json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Plus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Pro.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Pro.json index 4d1d16f32d9..bd85516ca52 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Pro.json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Pro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle).json index 8c0d2246466..9ecb45398c8 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.2 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle).json index 10a5912c2c8..098cd346590 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.4 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle).json index ef65fe82437..93301e83a86 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.6 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.56", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle).json index 4706ab25968..f31866bee69 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4 (0.8 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.78", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle).json index e06676560c6..7e6dc95e2ce 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.2 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle).json index cb38d8f590c..24e2e69c3ba 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.4 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle).json index 21174abd998..37b8ede2aa6 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.6 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.56", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle).json index 98b1e7aa411..4172092c748 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Max (0.8 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.78", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle).json index 9f0a4e1fc3f..eb1a047936e 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.2 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle).json index 41fe9cbc3b1..569a1bccde7 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.4 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle).json index 0803d18037c..ee6d45e9156 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.6 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.56", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle).json index bcf08edbccd..87d8bf3b3ed 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune4Pro (0.8 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.78", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo NeptuneX.json index e92801bf1d2..1e5418088c1 100644 --- a/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo NeptuneX.json +++ b/resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo NeptuneX.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune.json index 6af8821327e..fc5396ab408 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune.json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2.json index 8d281ef78e6..b194e0a6c84 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2.json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2D.json index 6edc7d035ae..67a3bbda3e7 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2D.json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2D.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2S.json index f43bfe5a10b..14abacd5462 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2S.json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2S.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3.json index bf326648615..4794503cec8 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3.json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Max.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Max.json index 18d409bb332..a6c5865df3d 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Max.json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Max.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Plus.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Plus.json index 1995dce6d1a..e77f50295d8 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Plus.json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Plus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Pro.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Pro.json index bd61f8bc831..6cfa6ea4c41 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Pro.json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Pro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.2 nozzle).json index ef1414f0694..687a1811a0a 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.2 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.4 nozzle).json index 3f585caab2a..ae186fc6dd9 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.4 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.6 nozzle).json index a009da29eb1..61e8bb626d7 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.6 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.56", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.8 nozzle).json index aaf50deefdb..e12bc1d4dd0 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4 (0.8 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.78", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle).json index 41f12f0f022..42ab9780f1a 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.2 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle).json index 401e4fc217a..cfbc308a17d 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.4 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle).json index 3da84ebf492..cd5c0df92c4 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.6 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.56", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle).json index 4f5ffceb57f..93af9633480 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Max (0.8 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.78", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle).json index a3f24129ab4..7230507c95e 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.2 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle).json index 37c42c66637..e6267acb740 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.4 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle).json index 7addbe460ff..4f4ac4fbd82 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.6 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.56", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle).json index e713c1dce6a..38b05e66d52 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune4Pro (0.8 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.78", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo NeptuneX.json index eac0b78091e..adb55ad26e8 100644 --- a/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo NeptuneX.json +++ b/resources/profiles/Elegoo/process/0.12mm Fine @Elegoo NeptuneX.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune.json index 3794fd2e8bc..c577b314c88 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune.json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2.json index cf79ff16acf..9f14de07040 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2.json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2D.json index 3ab4f038502..61090b1d91a 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2D.json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2D.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2S.json index fb2a9fea722..9acf8c84baa 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2S.json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2S.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3.json index 90e2e6e9e71..263890c3f17 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3.json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Max.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Max.json index 1da848e6f13..29c21bfd0ec 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Max.json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Max.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Plus.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Plus.json index cbfaca04746..948a95d5bd2 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Plus.json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Plus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Pro.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Pro.json index 4695d5fa0af..82c035dd6a1 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Pro.json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Pro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle).json index 2741157aa31..9f57a9b25ff 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.2 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle).json index 05b1c10d539..412536db2fb 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.4 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle).json index 69b4cccac14..5da075cff62 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.6 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.56", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle).json index 4a8a6a10f62..b6f0ec9d79b 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4 (0.8 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.78", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle).json index 79fb839db3c..a86317ecb26 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.2 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle).json index 1587ad552bd..8a5170e8a4f 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.4 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle).json index 8f2d254baa6..600339ba446 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.6 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.56", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle).json index 6f37cb8756a..ce8e9711151 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Max (0.8 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.78", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle).json index 510a17fda2c..e123f95bf63 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.2 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle).json index 644e78490be..e8c22992029 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.4 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle).json index bc8d7ecb578..0cf857bc9bf 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.6 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.56", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle).json index a94a77f35b3..73c24246e1d 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune4Pro (0.8 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.78", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo NeptuneX.json index d13dfe8f32d..c5a43079af0 100644 --- a/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo NeptuneX.json +++ b/resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo NeptuneX.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune.json index c0ca9ac7e3b..c8dcba56f66 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune.json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2.json index 37fde48d045..feb3d5f70e8 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2.json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2D.json index fe84b11aa66..e885c64f137 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2D.json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2D.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2S.json index af3f7ad675f..690c244d6a7 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2S.json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2S.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3.json index 7af032bde25..74defae68c7 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3.json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Max.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Max.json index 419aab1794e..34e1212b506 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Max.json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Max.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Plus.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Plus.json index c1aed883be5..37a9a90d3c5 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Plus.json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Plus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Pro.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Pro.json index add697439b4..8ddb13f45d7 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Pro.json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Pro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.2 nozzle).json index 7dbac426156..6a50274caea 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.2 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.4 nozzle).json index 6f50f7149b5..23d41131463 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.4 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.6 nozzle).json index 080770c151d..ec9cbf92a9d 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.6 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.56", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.8 nozzle).json index 5093910fda6..7cb6d0cd98e 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4 (0.8 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.78", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle).json index 3fe7c398a51..661aa88f63d 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.2 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle).json index 89eb5ba878f..a74e90b2c1c 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.4 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle).json index 318b6a396bb..73369e7456d 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.6 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.56", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle).json index 68615fbc109..97dbc4cc08b 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Max (0.8 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.78", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle).json index bbf6de592cc..71a82a0fc46 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.2 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle).json index b949da8ea4a..41834bde972 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.4 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle).json index 0f8653e791e..e75da664060 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.6 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.56", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle).json index d05dfae48d1..cdb7048d7e4 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune4Pro (0.8 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.78", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo NeptuneX.json index 6c959477f7f..fd6788587cc 100644 --- a/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo NeptuneX.json +++ b/resources/profiles/Elegoo/process/0.20mm Standard @Elegoo NeptuneX.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune.json index b3278427aca..7309292ef8a 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune.json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2.json index 692951a97c2..d7411cd3ddd 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2.json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2D.json index 92035a3fc73..382fd05c9db 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2D.json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2D.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2S.json index 53ea928c64b..1b1e1c3205f 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2S.json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2S.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3.json index df072e35063..7c8c35c50d3 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3.json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Max.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Max.json index d465779d5cb..0982941b522 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Max.json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Max.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Plus.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Plus.json index b3a1023b99b..c8c097ae86a 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Plus.json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Plus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Pro.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Pro.json index b270e5b3020..345a3e2e9ec 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Pro.json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Pro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.2 nozzle).json index fd60e63a230..54ba31a3d71 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.2 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.25", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.4 nozzle).json index a71372ae751..5904d912bbc 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.4 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.6 nozzle).json index e86310a6ebf..e1601d15a49 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.6 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.65", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.8 nozzle).json index d058cd90262..3276e82691d 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4 (0.8 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.85", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle).json index fefb7b6b815..ebf0bf32c57 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.2 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.25", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle).json index cd0d5ab8837..45cc94b453d 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.4 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle).json index 9061cff0978..e6d3275fb2a 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.6 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.65", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle).json index 4e35b2b9fc4..f0d7ed8bcad 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Max (0.8 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.85", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle).json index 0b2b3bc9c1c..8ee549de060 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.2 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.25", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle).json index cb2080be4bc..bc966a39b4d 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.4 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle).json index a37af48be26..d8d40fbc0ee 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.6 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.65", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle).json index ebda19568f8..efcb13855cf 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune4Pro (0.8 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.85", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo NeptuneX.json index b9a14acade8..e3eb2e8dee0 100644 --- a/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo NeptuneX.json +++ b/resources/profiles/Elegoo/process/0.24mm Draft @Elegoo NeptuneX.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune.json index a5c5dd2c916..27b0c5bd55e 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune.json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2.json index 2a67da73c78..852c9c475d3 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2.json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2D.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2D.json index 7e7a9062a62..ea331c3bb5a 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2D.json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2D.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2S.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2S.json index 4342f9aec15..b572a44beb6 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2S.json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2S.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3.json index 9bb848aeeae..32b156a08c8 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3.json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Max.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Max.json index d8d19449fe1..cee9de657fe 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Max.json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Max.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Plus.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Plus.json index ac002f95d3b..f65b350d31d 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Plus.json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Plus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Pro.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Pro.json index 4c6529a2604..264e4d1ae13 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Pro.json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Pro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle).json index 21a1a107411..80181addff6 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.2 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.25", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle).json index 1ce0a7317e8..f4efcacccbe 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.4 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle).json index 987d8f78bb2..e0ea48c46d3 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.6 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.65", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle).json index 2ad24c0a03e..63a661770cf 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4 (0.8 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.85", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle).json index 29a57e8bb64..ba4bfcd3ed8 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.2 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.25", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle).json index feb9ca7ad06..fc5cd75b392 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.4 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle).json index 93b683e79d9..6b137a152e5 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.6 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.65", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle).json index 590c53b55ca..f6fc767aa29 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Max (0.8 nozzle).json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.85", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle).json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle).json index d1474f68b74..591374e6470 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle).json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.2 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.25", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle).json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle).json index a727fd98317..b96b4c4e0d3 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle).json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.4 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle).json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle).json index aec1d00c39a..f9ce9dd4de9 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle).json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.6 nozzle).json @@ -72,7 +72,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.65", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle).json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle).json index 585a66496ca..b2271d8abf6 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle).json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune4Pro (0.8 nozzle).json @@ -74,7 +74,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.85", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo NeptuneX.json b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo NeptuneX.json index 292d88f2474..dbc97f7e875 100644 --- a/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo NeptuneX.json +++ b/resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo NeptuneX.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/fdm_process_elegoo_common.json b/resources/profiles/Elegoo/process/fdm_process_elegoo_common.json index 79830b41b98..d2fba5e5768 100644 --- a/resources/profiles/Elegoo/process/fdm_process_elegoo_common.json +++ b/resources/profiles/Elegoo/process/fdm_process_elegoo_common.json @@ -82,7 +82,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Elegoo/process/fdm_process_neptune4_common.json b/resources/profiles/Elegoo/process/fdm_process_neptune4_common.json index c3d1c3fecdc..3b633006dfb 100644 --- a/resources/profiles/Elegoo/process/fdm_process_neptune4_common.json +++ b/resources/profiles/Elegoo/process/fdm_process_neptune4_common.json @@ -75,7 +75,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.2", "top_shell_layers": "11", "top_shell_thickness": "0.8", diff --git a/resources/profiles/FLSun.json b/resources/profiles/FLSun.json index 2c512a86cec..b177ba69622 100644 --- a/resources/profiles/FLSun.json +++ b/resources/profiles/FLSun.json @@ -1,6 +1,6 @@ { "name": "FLSun", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "FLSun configurations", "machine_model_list": [ diff --git a/resources/profiles/FLSun/process/0.08mm Fine @FLSun Q5.json b/resources/profiles/FLSun/process/0.08mm Fine @FLSun Q5.json index b2f8c0a6ef4..a867e5fd9bb 100644 --- a/resources/profiles/FLSun/process/0.08mm Fine @FLSun Q5.json +++ b/resources/profiles/FLSun/process/0.08mm Fine @FLSun Q5.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "12", "top_shell_thickness": "0.8", diff --git a/resources/profiles/FLSun/process/0.08mm Fine @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.08mm Fine @FLSun QQSPro.json index 21d435028c3..fda7d144f91 100644 --- a/resources/profiles/FLSun/process/0.08mm Fine @FLSun QQSPro.json +++ b/resources/profiles/FLSun/process/0.08mm Fine @FLSun QQSPro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "12", "top_shell_thickness": "0.8", diff --git a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun Q5.json b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun Q5.json index d9aac91088a..4f1c63c2482 100644 --- a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun Q5.json +++ b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun Q5.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "6", "top_shell_thickness": "0.8", diff --git a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun QQSPro.json index 093584d7334..057e0bb19f5 100644 --- a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun QQSPro.json +++ b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun QQSPro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "6", "top_shell_thickness": "0.8", diff --git a/resources/profiles/FLSun/process/0.20mm Standard @FLSun Q5.json b/resources/profiles/FLSun/process/0.20mm Standard @FLSun Q5.json index b3e33c19284..0e2d1461a11 100644 --- a/resources/profiles/FLSun/process/0.20mm Standard @FLSun Q5.json +++ b/resources/profiles/FLSun/process/0.20mm Standard @FLSun Q5.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/FLSun/process/0.20mm Standard @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.20mm Standard @FLSun QQSPro.json index f4b46ac571f..4bb8e85c759 100644 --- a/resources/profiles/FLSun/process/0.20mm Standard @FLSun QQSPro.json +++ b/resources/profiles/FLSun/process/0.20mm Standard @FLSun QQSPro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/FLSun/process/0.24mm Draft @FLSun Q5.json b/resources/profiles/FLSun/process/0.24mm Draft @FLSun Q5.json index ca8b4bf23ca..0c1daaff5ae 100644 --- a/resources/profiles/FLSun/process/0.24mm Draft @FLSun Q5.json +++ b/resources/profiles/FLSun/process/0.24mm Draft @FLSun Q5.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/FLSun/process/0.24mm Draft @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.24mm Draft @FLSun QQSPro.json index f06ed8b7026..5ba222dc3f7 100644 --- a/resources/profiles/FLSun/process/0.24mm Draft @FLSun QQSPro.json +++ b/resources/profiles/FLSun/process/0.24mm Draft @FLSun QQSPro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun Q5.json b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun Q5.json index f6a8572ee26..00bce5225fc 100644 --- a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun Q5.json +++ b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun Q5.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun QQSPro.json b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun QQSPro.json index 5b0c670c416..e9da429ad01 100644 --- a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun QQSPro.json +++ b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun QQSPro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/FLSun/process/fdm_process_common.json b/resources/profiles/FLSun/process/fdm_process_common.json index dbcc552bbd7..5eba5469268 100644 --- a/resources/profiles/FLSun/process/fdm_process_common.json +++ b/resources/profiles/FLSun/process/fdm_process_common.json @@ -81,7 +81,7 @@ "tree_support_wall_count": "0", "tree_support_with_infill": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/Flashforge.json b/resources/profiles/Flashforge.json index b58dbefe0dc..636d1fa3968 100644 --- a/resources/profiles/Flashforge.json +++ b/resources/profiles/Flashforge.json @@ -1,7 +1,7 @@ { "name": "Flashforge", "url": "", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Flashforge configurations", "machine_model_list": [ diff --git a/resources/profiles/FlyingBear.json b/resources/profiles/FlyingBear.json index c03595bce21..9854e2cee0c 100644 --- a/resources/profiles/FlyingBear.json +++ b/resources/profiles/FlyingBear.json @@ -1,6 +1,6 @@ { "name": "FlyingBear", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "1", "description": "FlyingBear configurations", "machine_model_list": [ diff --git a/resources/profiles/Folgertech.json b/resources/profiles/Folgertech.json index 3753a8892fe..f38f0819141 100644 --- a/resources/profiles/Folgertech.json +++ b/resources/profiles/Folgertech.json @@ -1,6 +1,6 @@ { "name": "Folgertech", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Folgertech configurations", "machine_model_list": [ diff --git a/resources/profiles/Folgertech/process/fdm_process_folgertech_common.json b/resources/profiles/Folgertech/process/fdm_process_folgertech_common.json index ead894d6f0c..2d2149e7248 100644 --- a/resources/profiles/Folgertech/process/fdm_process_folgertech_common.json +++ b/resources/profiles/Folgertech/process/fdm_process_folgertech_common.json @@ -83,7 +83,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/InfiMech.json b/resources/profiles/InfiMech.json index 38c380e3801..08a831bedf2 100644 --- a/resources/profiles/InfiMech.json +++ b/resources/profiles/InfiMech.json @@ -1,6 +1,6 @@ { "name": "InfiMech", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "1", "description": "InfiMech configurations", "machine_model_list": [ diff --git a/resources/profiles/Kingroon.json b/resources/profiles/Kingroon.json index 292090de84b..19304b1e506 100644 --- a/resources/profiles/Kingroon.json +++ b/resources/profiles/Kingroon.json @@ -1,7 +1,7 @@ { "name": "Kingroon", "url": "https://kingroon.com/", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Kingroon configuration files", "machine_model_list": [ diff --git a/resources/profiles/Kingroon/process/fdm_process_common.json b/resources/profiles/Kingroon/process/fdm_process_common.json index cfe9b4199d8..0477c19f03a 100644 --- a/resources/profiles/Kingroon/process/fdm_process_common.json +++ b/resources/profiles/Kingroon/process/fdm_process_common.json @@ -157,7 +157,7 @@ "top_surface_acceleration": "3000", "top_surface_jerk": "9", "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_speed": "60", "travel_acceleration": "3000", "travel_jerk": "12", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.10mm Fine @MM BoneKing.json index 96031f45347..ef58fa21f7e 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine @MM BoneKing.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "travel_speed": "150", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine @MM hj SK.json b/resources/profiles/MagicMaker/process/0.10mm Fine @MM hj SK.json index 9e65e3c0f1b..823e1e59a45 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine @MM hj SK.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine @MM hj SK.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "travel_speed": "150", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs SF.json b/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs SF.json index aac3d619ec2..90485e8569f 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs SF.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs SF.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "travel_speed": "150", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs hj.json b/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs hj.json index 1cf2bb15bd9..95828c323a9 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs hj.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine @MM hqs hj.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "travel_speed": "150", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine @MM slb.json b/resources/profiles/MagicMaker/process/0.10mm Fine @MM slb.json index 0d84145903c..4ab240baacf 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine @MM slb.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine @MM slb.json @@ -69,7 +69,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM BoneKing.json index edcec6770ee..4b6ca0d9523 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM BoneKing.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hj SK.json b/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hj SK.json index 12fbabfa16f..0b398ff6e23 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hj SK.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hj SK.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hqs SF.json b/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hqs SF.json index 95d35c5974b..d261694e408 100644 --- a/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hqs SF.json +++ b/resources/profiles/MagicMaker/process/0.10mm Fine Fast @MM hqs SF.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/MagicMaker/process/0.12mm Fine BestFast @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.12mm Fine BestFast @MM BoneKing.json index a852f468cbe..72ce20e9ea6 100644 --- a/resources/profiles/MagicMaker/process/0.12mm Fine BestFast @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.12mm Fine BestFast @MM BoneKing.json @@ -69,7 +69,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/MagicMaker/process/0.12mm Fine SuperFast @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.12mm Fine SuperFast @MM BoneKing.json index 9993d37aa7a..81716f27f95 100644 --- a/resources/profiles/MagicMaker/process/0.12mm Fine SuperFast @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.12mm Fine SuperFast @MM BoneKing.json @@ -69,7 +69,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.20mm Standard @MM BoneKing.json index 309d1d3ab49..8c18dcaacb6 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard @MM BoneKing.json @@ -69,7 +69,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "initial_layer_travel_speed": "60", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard @MM hj SK.json b/resources/profiles/MagicMaker/process/0.20mm Standard @MM hj SK.json index 89506213f64..17905e7921b 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard @MM hj SK.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard @MM hj SK.json @@ -69,7 +69,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "initial_layer_travel_speed": "60", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs SF.json b/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs SF.json index c04bf607707..7fc44d68a0b 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs SF.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs SF.json @@ -69,7 +69,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "initial_layer_travel_speed": "60", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs hj.json b/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs hj.json index 4f0224481fd..7b292da39c0 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs hj.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard @MM hqs hj.json @@ -69,7 +69,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "initial_layer_travel_speed": "60", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard @MM slb.json b/resources/profiles/MagicMaker/process/0.20mm Standard @MM slb.json index 3a2ce22e6ea..73618b0dde0 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard @MM slb.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard @MM slb.json @@ -68,7 +68,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "initial_layer_travel_speed": "60", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM BoneKing.json index c496a8b2b46..1e0e84b7ea2 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM BoneKing.json @@ -68,7 +68,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hj SK.json b/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hj SK.json index ed09680bbd1..2f8681b6951 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hj SK.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hj SK.json @@ -68,7 +68,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hqs SF.json b/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hqs SF.json index 0c7e0bab23f..6cc84ec8005 100644 --- a/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hqs SF.json +++ b/resources/profiles/MagicMaker/process/0.20mm Standard Fast @MM hqs SF.json @@ -68,7 +68,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.30mm Draft @MM BoneKing.json index bdce77e8248..f4d1fcf9b2c 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft @MM BoneKing.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "travel_speed": "150", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft @MM hj SK.json b/resources/profiles/MagicMaker/process/0.30mm Draft @MM hj SK.json index bf9b4bf4782..175f3076b0b 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft @MM hj SK.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft @MM hj SK.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "travel_speed": "150", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs SF.json b/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs SF.json index 0929e9dd48b..f358cdf02bc 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs SF.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs SF.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "travel_speed": "150", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs hj.json b/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs hj.json index 2dae174d7fa..816bc041d5d 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs hj.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft @MM hqs hj.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "travel_speed": "150", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft @MM slb.json b/resources/profiles/MagicMaker/process/0.30mm Draft @MM slb.json index 7314b4cfaa8..d142dfd0d14 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft @MM slb.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft @MM slb.json @@ -68,7 +68,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM BoneKing.json b/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM BoneKing.json index f1feb9d4d7c..223b8b23450 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM BoneKing.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM BoneKing.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hj SK.json b/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hj SK.json index 4935a4a2245..c3754a40ae7 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hj SK.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hj SK.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hqs SF.json b/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hqs SF.json index 90aaa46fb9e..ed40c3e8d0e 100644 --- a/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hqs SF.json +++ b/resources/profiles/MagicMaker/process/0.30mm Draft Fast @MM hqs SF.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_thickness": "0.8", "enable_prime_tower": "0", diff --git a/resources/profiles/OrcaArena.json b/resources/profiles/OrcaArena.json index a5ee2329af8..81fe110cbba 100644 --- a/resources/profiles/OrcaArena.json +++ b/resources/profiles/OrcaArena.json @@ -1,7 +1,7 @@ { "name": "Orca Arena Printer", "url": "", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Orca Arena configuration files", "machine_model_list": [ diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.24_nozzle_0.8.json b/resources/profiles/OrcaArena/process/fdm_process_bbl_0.24_nozzle_0.8.json index 9c1cbf2028d..55d9be4407f 100644 --- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.24_nozzle_0.8.json +++ b/resources/profiles/OrcaArena/process/fdm_process_bbl_0.24_nozzle_0.8.json @@ -18,7 +18,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "120", diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.32_nozzle_0.8.json b/resources/profiles/OrcaArena/process/fdm_process_bbl_0.32_nozzle_0.8.json index d64d4b6f24a..6172f32e94e 100644 --- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.32_nozzle_0.8.json +++ b/resources/profiles/OrcaArena/process/fdm_process_bbl_0.32_nozzle_0.8.json @@ -18,7 +18,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "120", diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.40_nozzle_0.8.json b/resources/profiles/OrcaArena/process/fdm_process_bbl_0.40_nozzle_0.8.json index ce35f532e59..aa514e6f044 100644 --- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.40_nozzle_0.8.json +++ b/resources/profiles/OrcaArena/process/fdm_process_bbl_0.40_nozzle_0.8.json @@ -18,7 +18,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "120", diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.48_nozzle_0.8.json b/resources/profiles/OrcaArena/process/fdm_process_bbl_0.48_nozzle_0.8.json index 87c7d6b04cf..d026bdc7469 100644 --- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.48_nozzle_0.8.json +++ b/resources/profiles/OrcaArena/process/fdm_process_bbl_0.48_nozzle_0.8.json @@ -18,7 +18,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "120", diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.56_nozzle_0.8.json b/resources/profiles/OrcaArena/process/fdm_process_bbl_0.56_nozzle_0.8.json index 311925326ac..f43ab7e2e5f 100644 --- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.56_nozzle_0.8.json +++ b/resources/profiles/OrcaArena/process/fdm_process_bbl_0.56_nozzle_0.8.json @@ -18,7 +18,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "120", diff --git a/resources/profiles/Peopoly.json b/resources/profiles/Peopoly.json index 894485f3fcc..b776df7c93b 100644 --- a/resources/profiles/Peopoly.json +++ b/resources/profiles/Peopoly.json @@ -1,6 +1,6 @@ { "name": "Peopoly", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Peopoly configurations", "machine_model_list": [ diff --git a/resources/profiles/Peopoly/process/fdm_process_peopoly_common.json b/resources/profiles/Peopoly/process/fdm_process_peopoly_common.json index 35138b2e2d5..1f11ed867ba 100644 --- a/resources/profiles/Peopoly/process/fdm_process_peopoly_common.json +++ b/resources/profiles/Peopoly/process/fdm_process_peopoly_common.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Peopoly/process/fdm_process_pply_0.40_nozzle_0.8.json b/resources/profiles/Peopoly/process/fdm_process_pply_0.40_nozzle_0.8.json index b1dbf2c592b..b06735853bb 100644 --- a/resources/profiles/Peopoly/process/fdm_process_pply_0.40_nozzle_0.8.json +++ b/resources/profiles/Peopoly/process/fdm_process_pply_0.40_nozzle_0.8.json @@ -15,7 +15,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "initial_layer_speed": "45", "initial_layer_infill_speed": "80", "sparse_infill_speed": "150", diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 1a7cf4e465f..bb0ca7890e3 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -1,6 +1,6 @@ { "name": "Prusa", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Prusa configurations", "machine_model_list": [ diff --git a/resources/profiles/Prusa/process/fdm_process_common.json b/resources/profiles/Prusa/process/fdm_process_common.json index 8995061a1dd..c903b622c4a 100644 --- a/resources/profiles/Prusa/process/fdm_process_common.json +++ b/resources/profiles/Prusa/process/fdm_process_common.json @@ -84,7 +84,7 @@ "tree_support_wall_count": "0", "tree_support_with_infill": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_shell_thickness": "0.8", "enable_prime_tower": "0", "wipe_tower_no_sparse_layers": "0", diff --git a/resources/profiles/Qidi.json b/resources/profiles/Qidi.json index 9a6e3fa2d18..8b820d30ad3 100644 --- a/resources/profiles/Qidi.json +++ b/resources/profiles/Qidi.json @@ -1,6 +1,6 @@ { "name": "Qidi", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Qidi configurations", "machine_model_list": [ diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi X3.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi X3.json index 61346c894b1..e2f3a6c4a32 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi X3.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi X3.json @@ -69,7 +69,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "enable_prime_tower": "0", "wipe_tower_no_sparse_layers": "0", diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json index e94ba2bf364..446bbe94969 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json index 27cc928993f..f106b5991e8 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json index 950638c6e8b..0f2a3a17c18 100644 --- a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi X3.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi X3.json index db7467a5668..41b490ad9ce 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi X3.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi X3.json @@ -66,7 +66,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "enable_prime_tower": "0", "wipe_tower_no_sparse_layers": "0", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json index c3723494a10..2db184f4e3b 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json index 73d3761633e..12910954749 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json index 5883e726e07..8f4ccd28695 100644 --- a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json index 978fb331bd1..dfe0359d247 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json index 274a05a25ac..0b80f7bc7c6 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json index 39d83b5b7dc..5028ba57434 100644 --- a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.24mm Draft @Qidi X3.json b/resources/profiles/Qidi/process/0.24mm Draft @Qidi X3.json index abeef5e362e..e278cf73d86 100644 --- a/resources/profiles/Qidi/process/0.24mm Draft @Qidi X3.json +++ b/resources/profiles/Qidi/process/0.24mm Draft @Qidi X3.json @@ -63,7 +63,7 @@ "support_object_xy_distance": "50%", "tree_support_branch_angle": "40", "tree_support_wall_count": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "enable_prime_tower": "0", "wipe_tower_no_sparse_layers": "0", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q1 Pro.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q1 Pro.json index e2aff726a8d..876398b4ef5 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q1 Pro.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi Q1 Pro.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json index 21ed5164fdc..b9a009f8d7e 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json index 6cdb09eb56d..d4ee408d409 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json index 3ab5523afe2..34cbaf33b79 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json index 3c9b3735cfb..4ac52c1f906 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json index 52668072a48..2235d8945bd 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json index f3d46079f7a..d4c64315499 100644 --- a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.28mm Extra Draft @Qidi X3.json b/resources/profiles/Qidi/process/0.28mm Extra Draft @Qidi X3.json index 0e8fe220318..ea39b843e01 100644 --- a/resources/profiles/Qidi/process/0.28mm Extra Draft @Qidi X3.json +++ b/resources/profiles/Qidi/process/0.28mm Extra Draft @Qidi X3.json @@ -64,7 +64,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "enable_prime_tower": "0", "wipe_tower_no_sparse_layers": "0", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q1 Pro.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q1 Pro.json index 2607ba42df0..c7d9c641140 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q1 Pro.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi Q1 Pro.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json index 7a6af747a9a..ebd6383f2b2 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json index 063964384a9..bfafd864247 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json index 6b5c01270e1..3bd33b5ca99 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json index 0f3c7fbf6b6..1004626dabf 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json index 19fec3bcff7..3f76f2e2cbe 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json index a9c78c9216b..53a00b97ff9 100644 --- a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json @@ -70,7 +70,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.45", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Qidi/process/fdm_process_QIDI_0.24_nozzle_0.8.json b/resources/profiles/Qidi/process/fdm_process_QIDI_0.24_nozzle_0.8.json index bb88ef21c1e..b650d2a639b 100644 --- a/resources/profiles/Qidi/process/fdm_process_QIDI_0.24_nozzle_0.8.json +++ b/resources/profiles/Qidi/process/fdm_process_QIDI_0.24_nozzle_0.8.json @@ -18,7 +18,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "120", diff --git a/resources/profiles/Qidi/process/fdm_process_QIDI_0.32_nozzle_0.8.json b/resources/profiles/Qidi/process/fdm_process_QIDI_0.32_nozzle_0.8.json index c34e9f94216..6a017a55732 100644 --- a/resources/profiles/Qidi/process/fdm_process_QIDI_0.32_nozzle_0.8.json +++ b/resources/profiles/Qidi/process/fdm_process_QIDI_0.32_nozzle_0.8.json @@ -18,7 +18,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "120", diff --git a/resources/profiles/Qidi/process/fdm_process_QIDI_0.40_nozzle_0.8.json b/resources/profiles/Qidi/process/fdm_process_QIDI_0.40_nozzle_0.8.json index c7cc1dfa356..603ad93eff9 100644 --- a/resources/profiles/Qidi/process/fdm_process_QIDI_0.40_nozzle_0.8.json +++ b/resources/profiles/Qidi/process/fdm_process_QIDI_0.40_nozzle_0.8.json @@ -18,7 +18,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "120", diff --git a/resources/profiles/Qidi/process/fdm_process_QIDI_0.48_nozzle_0.8.json b/resources/profiles/Qidi/process/fdm_process_QIDI_0.48_nozzle_0.8.json index 2bf013928a6..3d596138b7c 100644 --- a/resources/profiles/Qidi/process/fdm_process_QIDI_0.48_nozzle_0.8.json +++ b/resources/profiles/Qidi/process/fdm_process_QIDI_0.48_nozzle_0.8.json @@ -18,7 +18,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "120", diff --git a/resources/profiles/Qidi/process/fdm_process_QIDI_0.56_nozzle_0.8.json b/resources/profiles/Qidi/process/fdm_process_QIDI_0.56_nozzle_0.8.json index 02013be08c0..d8f039f1891 100644 --- a/resources/profiles/Qidi/process/fdm_process_QIDI_0.56_nozzle_0.8.json +++ b/resources/profiles/Qidi/process/fdm_process_QIDI_0.56_nozzle_0.8.json @@ -18,7 +18,7 @@ "internal_solid_infill_line_width": "0.82", "support_line_width": "0.82", "top_surface_line_width": "0.82", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "initial_layer_speed": "35", "initial_layer_infill_speed": "55", "outer_wall_speed": "120", diff --git a/resources/profiles/Qidi/process/fdm_process_qidi_common.json b/resources/profiles/Qidi/process/fdm_process_qidi_common.json index e1fa78fd3d0..d776fe2bd1f 100644 --- a/resources/profiles/Qidi/process/fdm_process_qidi_common.json +++ b/resources/profiles/Qidi/process/fdm_process_qidi_common.json @@ -82,7 +82,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Raise3D.json b/resources/profiles/Raise3D.json index 7a57d09d3c1..ad5a2be34b7 100644 --- a/resources/profiles/Raise3D.json +++ b/resources/profiles/Raise3D.json @@ -1,7 +1,7 @@ { "name": "Raise3D", "url": "", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Raise3D configurations", "machine_model_list": [ diff --git a/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3.json b/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3.json index 0818f0dd887..545db35becd 100644 --- a/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3.json +++ b/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3Plus.json b/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3Plus.json index 6150d744c36..a3f88c38539 100644 --- a/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3Plus.json +++ b/resources/profiles/Raise3D/process/0.10mm Fine @Raise3D Pro3Plus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3.json b/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3.json index 93873d18a40..0781fd1dca7 100644 --- a/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3.json +++ b/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3Plus.json b/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3Plus.json index 9e06abcac5b..f1b623c7442 100644 --- a/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3Plus.json +++ b/resources/profiles/Raise3D/process/0.20mm Standard @Raise3D Pro3Plus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3.json b/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3.json index 8fa0f3696e8..e85f075e4c2 100644 --- a/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3.json +++ b/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3Plus.json b/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3Plus.json index 1c5076efc50..9a45951619f 100644 --- a/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3Plus.json +++ b/resources/profiles/Raise3D/process/0.25mm Draft @Raise3D Pro3Plus.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Ratrig.json b/resources/profiles/Ratrig.json index 7253b6bfbde..8768544f5d5 100644 --- a/resources/profiles/Ratrig.json +++ b/resources/profiles/Ratrig.json @@ -1,6 +1,6 @@ { "name": "RatRig", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "RatRig configurations", "machine_model_list": [ diff --git a/resources/profiles/Ratrig/process/fdm_process_ratrig_common.json b/resources/profiles/Ratrig/process/fdm_process_ratrig_common.json index 10f49e45162..410426c2d32 100644 --- a/resources/profiles/Ratrig/process/fdm_process_ratrig_common.json +++ b/resources/profiles/Ratrig/process/fdm_process_ratrig_common.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/SecKit.json b/resources/profiles/SecKit.json index e7cba2af8ae..1b4f846c018 100644 --- a/resources/profiles/SecKit.json +++ b/resources/profiles/SecKit.json @@ -1,6 +1,6 @@ { "name": "SecKit", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "SecKit configurations", "machine_model_list": [ diff --git a/resources/profiles/SecKit/process/fdm_process_seckit_common.json b/resources/profiles/SecKit/process/fdm_process_seckit_common.json index 1ad7b2d9a7e..89c56624464 100644 --- a/resources/profiles/SecKit/process/fdm_process_seckit_common.json +++ b/resources/profiles/SecKit/process/fdm_process_seckit_common.json @@ -82,7 +82,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Snapmaker/process/fdm_process_common.json b/resources/profiles/Snapmaker/process/fdm_process_common.json index f35f39ffb1d..7836aecab29 100644 --- a/resources/profiles/Snapmaker/process/fdm_process_common.json +++ b/resources/profiles/Snapmaker/process/fdm_process_common.json @@ -56,7 +56,7 @@ "print_flow_ratio": "1", "wall_loops": "3", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_shell_layers": "4", "top_shell_thickness": "0.8", "bottom_surface_pattern": "monotonic", diff --git a/resources/profiles/Sovol.json b/resources/profiles/Sovol.json index 1139c9f8168..dc66c331b07 100644 --- a/resources/profiles/Sovol.json +++ b/resources/profiles/Sovol.json @@ -1,7 +1,7 @@ { "name": "Sovol", "url": "", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Sovol configurations", "machine_model_list": [ diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV01Pro.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV01Pro.json index 7e4a1b232cd..739474c390f 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV01Pro.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV01Pro.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV02.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV02.json index f598f0464c8..2a876432149 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV02.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV02.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV05.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV05.json index f6686c57182..c3df99cb5cc 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV05.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV05.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06.json index 5ed34435b44..7535223e0af 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06Plus.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06Plus.json index a98e47d4324..09a3b793f85 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06Plus.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV06Plus.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07.json index 8e66ac39b72..09b4a01bca5 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07.json @@ -86,7 +86,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07Plus.json b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07Plus.json index 3ac69224670..969ca2e52b0 100644 --- a/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07Plus.json +++ b/resources/profiles/Sovol/process/0.18mm Optimal @Sovol SV07Plus.json @@ -86,7 +86,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV01Pro.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV01Pro.json index e9fa54468c7..38857e3841f 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV01Pro.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV01Pro.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV02.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV02.json index dd0b5b9f216..cba4597eb8a 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV02.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV02.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV05.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV05.json index 8a5661ad383..3f93669137e 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV05.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV05.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06.json index ae293d48410..e51fe7c0ff9 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06Plus.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06Plus.json index 2859ad0ed5a..272b1bdf652 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06Plus.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV06Plus.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07.json index db0e7d0d9c9..abaffaf0de3 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07.json @@ -86,7 +86,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07Plus.json b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07Plus.json index 50eb1ca5a44..43460a74899 100644 --- a/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07Plus.json +++ b/resources/profiles/Sovol/process/0.20mm Standard @Sovol SV07Plus.json @@ -86,7 +86,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Tronxy.json b/resources/profiles/Tronxy.json index 5c1498973a9..55fa64a8644 100644 --- a/resources/profiles/Tronxy.json +++ b/resources/profiles/Tronxy.json @@ -1,6 +1,6 @@ { "name": "Tronxy", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Tronxy configurations", "machine_model_list": [ diff --git a/resources/profiles/Tronxy/process/fdm_process_common.json b/resources/profiles/Tronxy/process/fdm_process_common.json index d9b11e25514..bda31378e26 100644 --- a/resources/profiles/Tronxy/process/fdm_process_common.json +++ b/resources/profiles/Tronxy/process/fdm_process_common.json @@ -79,7 +79,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Tronxy/process/fdm_process_tronxy_common.json b/resources/profiles/Tronxy/process/fdm_process_tronxy_common.json index 99b1ec95ffc..a35b15c8b20 100644 --- a/resources/profiles/Tronxy/process/fdm_process_tronxy_common.json +++ b/resources/profiles/Tronxy/process/fdm_process_tronxy_common.json @@ -80,7 +80,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/TwoTrees.json b/resources/profiles/TwoTrees.json index 1fef53bef00..54408265bea 100644 --- a/resources/profiles/TwoTrees.json +++ b/resources/profiles/TwoTrees.json @@ -1,6 +1,6 @@ { "name": "TwoTrees", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "1", "description": "TwoTrees configurations", "machine_model_list": [ diff --git a/resources/profiles/TwoTrees/process/0.08mm Extra Fine @SK1.json b/resources/profiles/TwoTrees/process/0.08mm Extra Fine @SK1.json index 4feb9e39ce1..d921bd17a08 100644 --- a/resources/profiles/TwoTrees/process/0.08mm Extra Fine @SK1.json +++ b/resources/profiles/TwoTrees/process/0.08mm Extra Fine @SK1.json @@ -80,7 +80,7 @@ "top_shell_thickness": "0", "top_surface_acceleration": "5000", "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_speed": "200", "travel_acceleration": "20000", "travel_speed": "500", diff --git a/resources/profiles/TwoTrees/process/0.12mm Fine @SK1.json b/resources/profiles/TwoTrees/process/0.12mm Fine @SK1.json index 648094331dc..c3485f4a828 100644 --- a/resources/profiles/TwoTrees/process/0.12mm Fine @SK1.json +++ b/resources/profiles/TwoTrees/process/0.12mm Fine @SK1.json @@ -78,7 +78,7 @@ "top_shell_thickness": "0", "top_surface_acceleration": "5000", "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_speed": "200", "travel_acceleration": "20000", "travel_speed": "500", diff --git a/resources/profiles/TwoTrees/process/0.16mm Optimal @SK1.json b/resources/profiles/TwoTrees/process/0.16mm Optimal @SK1.json index 1c74438f86a..4939b0598de 100644 --- a/resources/profiles/TwoTrees/process/0.16mm Optimal @SK1.json +++ b/resources/profiles/TwoTrees/process/0.16mm Optimal @SK1.json @@ -81,7 +81,7 @@ "top_shell_thickness": "0", "top_surface_acceleration": "5000", "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_speed": "200", "travel_acceleration": "20000", "travel_speed": "500", diff --git a/resources/profiles/TwoTrees/process/0.20mm Quality @SK1.json b/resources/profiles/TwoTrees/process/0.20mm Quality @SK1.json index 5b394002eba..249fc215468 100644 --- a/resources/profiles/TwoTrees/process/0.20mm Quality @SK1.json +++ b/resources/profiles/TwoTrees/process/0.20mm Quality @SK1.json @@ -82,7 +82,7 @@ "top_shell_thickness": "0", "top_surface_acceleration": "5000", "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_speed": "60", "travel_acceleration": "20000", "travel_speed": "500", diff --git a/resources/profiles/TwoTrees/process/0.20mm Standard @SK1.json b/resources/profiles/TwoTrees/process/0.20mm Standard @SK1.json index 4eb5e8000df..3b7c5ae3993 100644 --- a/resources/profiles/TwoTrees/process/0.20mm Standard @SK1.json +++ b/resources/profiles/TwoTrees/process/0.20mm Standard @SK1.json @@ -82,7 +82,7 @@ "top_shell_thickness": "0", "top_surface_acceleration": "5000", "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_speed": "200", "travel_acceleration": "20000", "travel_speed": "500", diff --git a/resources/profiles/TwoTrees/process/0.24mm Draft @SK1.json b/resources/profiles/TwoTrees/process/0.24mm Draft @SK1.json index 303f020c9b2..87f969bb7b5 100644 --- a/resources/profiles/TwoTrees/process/0.24mm Draft @SK1.json +++ b/resources/profiles/TwoTrees/process/0.24mm Draft @SK1.json @@ -82,7 +82,7 @@ "top_shell_thickness": "0", "top_surface_acceleration": "5000", "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_speed": "200", "travel_acceleration": "20000", "travel_speed": "500", diff --git a/resources/profiles/TwoTrees/process/0.24mm HSpeed @SK1.json b/resources/profiles/TwoTrees/process/0.24mm HSpeed @SK1.json index 0eedf1a9cc0..be3cb89bc23 100644 --- a/resources/profiles/TwoTrees/process/0.24mm HSpeed @SK1.json +++ b/resources/profiles/TwoTrees/process/0.24mm HSpeed @SK1.json @@ -88,7 +88,7 @@ "top_shell_thickness": "0", "top_surface_acceleration": "0", "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_speed": "200", "travel_acceleration": "20000", "travel_speed": "700", diff --git a/resources/profiles/TwoTrees/process/0.28mm Extra Draft @SK1.json b/resources/profiles/TwoTrees/process/0.28mm Extra Draft @SK1.json index 5e2eef68f4c..b975875d9e9 100644 --- a/resources/profiles/TwoTrees/process/0.28mm Extra Draft @SK1.json +++ b/resources/profiles/TwoTrees/process/0.28mm Extra Draft @SK1.json @@ -84,7 +84,7 @@ "top_shell_thickness": "0", "top_surface_acceleration": "5000", "top_surface_line_width": "0.42", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_speed": "200", "travel_acceleration": "20000", "travel_speed": "500", diff --git a/resources/profiles/UltiMaker.json b/resources/profiles/UltiMaker.json index b05fc116775..840ebb17ee7 100644 --- a/resources/profiles/UltiMaker.json +++ b/resources/profiles/UltiMaker.json @@ -1,7 +1,7 @@ { "name": "UltiMaker", "url": "", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "UltiMaker configurations", "machine_model_list": [ diff --git a/resources/profiles/UltiMaker/process/0.12mm Fine @UltiMaker 2.json b/resources/profiles/UltiMaker/process/0.12mm Fine @UltiMaker 2.json index 567a228c3c2..85ba5780178 100644 --- a/resources/profiles/UltiMaker/process/0.12mm Fine @UltiMaker 2.json +++ b/resources/profiles/UltiMaker/process/0.12mm Fine @UltiMaker 2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "7", "top_shell_thickness": "0.8", diff --git a/resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker 2.json b/resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker 2.json index 6e6829860fd..61a567fe707 100644 --- a/resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker 2.json +++ b/resources/profiles/UltiMaker/process/0.18mm Standard @UltiMaker 2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/UltiMaker/process/0.25mm Darft @UltiMaker 2.json b/resources/profiles/UltiMaker/process/0.25mm Darft @UltiMaker 2.json index 5740c576b53..a8d8c5d0430 100644 --- a/resources/profiles/UltiMaker/process/0.25mm Darft @UltiMaker 2.json +++ b/resources/profiles/UltiMaker/process/0.25mm Darft @UltiMaker 2.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "4", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Vivedino.json b/resources/profiles/Vivedino.json index 95cbec24136..40fdf10c16e 100644 --- a/resources/profiles/Vivedino.json +++ b/resources/profiles/Vivedino.json @@ -1,6 +1,6 @@ { "name": "Vivedino", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Vivedino configurations", "machine_model_list": [ diff --git a/resources/profiles/Vivedino/process/fdm_process_klipper_common.json b/resources/profiles/Vivedino/process/fdm_process_klipper_common.json index f12f318c52c..a775861791d 100644 --- a/resources/profiles/Vivedino/process/fdm_process_klipper_common.json +++ b/resources/profiles/Vivedino/process/fdm_process_klipper_common.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Voron.json b/resources/profiles/Voron.json index 5208f722902..9e9083ecef5 100644 --- a/resources/profiles/Voron.json +++ b/resources/profiles/Voron.json @@ -1,6 +1,6 @@ { "name": "Voron", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Voron configurations", "machine_model_list": [ diff --git a/resources/profiles/Voron/process/fdm_process_voron_common.json b/resources/profiles/Voron/process/fdm_process_voron_common.json index d993c7b5ea1..6a38d0129a2 100644 --- a/resources/profiles/Voron/process/fdm_process_voron_common.json +++ b/resources/profiles/Voron/process/fdm_process_voron_common.json @@ -84,7 +84,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Voxelab.json b/resources/profiles/Voxelab.json index d4e6471dcdb..b1a585d3963 100644 --- a/resources/profiles/Voxelab.json +++ b/resources/profiles/Voxelab.json @@ -1,7 +1,7 @@ { "name": "Voxelab", "url": "", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Voxelab configurations", "machine_model_list": [ diff --git a/resources/profiles/Voxelab/process/0.16mm Optimal @Voxelab AquilaX2.json b/resources/profiles/Voxelab/process/0.16mm Optimal @Voxelab AquilaX2.json index 6aa62f184d4..2145de13601 100644 --- a/resources/profiles/Voxelab/process/0.16mm Optimal @Voxelab AquilaX2.json +++ b/resources/profiles/Voxelab/process/0.16mm Optimal @Voxelab AquilaX2.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Voxelab/process/0.20mm Standard @Voxelab AquilaX2.json b/resources/profiles/Voxelab/process/0.20mm Standard @Voxelab AquilaX2.json index db2d6f65951..8755f614b80 100644 --- a/resources/profiles/Voxelab/process/0.20mm Standard @Voxelab AquilaX2.json +++ b/resources/profiles/Voxelab/process/0.20mm Standard @Voxelab AquilaX2.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "40", "tree_support_wall_count": "0", "detect_thin_wall": "1", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.38", "top_shell_layers": "5", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Vzbot.json b/resources/profiles/Vzbot.json index cfd5750fd68..81b2611c5c1 100644 --- a/resources/profiles/Vzbot.json +++ b/resources/profiles/Vzbot.json @@ -1,6 +1,6 @@ { "name": "Vzbot", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Vzbot configurations", "machine_model_list": [ diff --git a/resources/profiles/Vzbot/process/fdm_process_Vzbot_common.json b/resources/profiles/Vzbot/process/fdm_process_Vzbot_common.json index 96202dd1384..be4437d6988 100644 --- a/resources/profiles/Vzbot/process/fdm_process_Vzbot_common.json +++ b/resources/profiles/Vzbot/process/fdm_process_Vzbot_common.json @@ -86,7 +86,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.42", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.5_nozzle.json b/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.5_nozzle.json index 5e5a80da0be..eb86d56577b 100644 --- a/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.5_nozzle.json +++ b/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.5_nozzle.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.52", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.6_nozzle.json b/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.6_nozzle.json index eedeb3fd318..a9732478424 100644 --- a/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.6_nozzle.json +++ b/resources/profiles/Vzbot/process/fdm_process_Vzbot_common_0.6_nozzle.json @@ -85,7 +85,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.65", "top_shell_layers": "3", "top_shell_thickness": "0.8", diff --git a/resources/profiles/Wanhao.json b/resources/profiles/Wanhao.json index b6574de3aed..c80b0ecf0d9 100644 --- a/resources/profiles/Wanhao.json +++ b/resources/profiles/Wanhao.json @@ -1,6 +1,6 @@ { "name": "Wanhao", - "version": "02.00.02.00", + "version": "02.01.00.00", "force_update": "0", "description": "Wanhao configurations", "machine_model_list": [ diff --git a/resources/profiles/Wanhao/process/fdm_process_wanhao_common.json b/resources/profiles/Wanhao/process/fdm_process_wanhao_common.json index bbb877de8fc..da5e08d5ac9 100644 --- a/resources/profiles/Wanhao/process/fdm_process_wanhao_common.json +++ b/resources/profiles/Wanhao/process/fdm_process_wanhao_common.json @@ -83,7 +83,7 @@ "tree_support_branch_angle": "45", "tree_support_wall_count": "0", "detect_thin_wall": "0", - "top_surface_pattern": "monotonic", + "top_surface_pattern": "monotonicline", "top_surface_line_width": "0.4", "top_shell_layers": "3", "top_shell_thickness": "0.8", From 5c959f0b9cd77b4391378e8d8a055d8bf9322012 Mon Sep 17 00:00:00 2001 From: yw4z Date: Wed, 22 May 2024 18:24:50 +0300 Subject: [PATCH 052/178] Reworked splash screen (#5257) * Reworked splash screen * Fine tune placements --------- Co-authored-by: SoftFever --- resources/images/splash_logo.svg | 137 +------------------------- resources/images/splash_logo_dark.svg | 1 + src/slic3r/GUI/GUI_App.cpp | 83 ++++++++-------- 3 files changed, 41 insertions(+), 180 deletions(-) create mode 100644 resources/images/splash_logo_dark.svg diff --git a/resources/images/splash_logo.svg b/resources/images/splash_logo.svg index b2c46d628df..45a5b3be25c 100644 --- a/resources/images/splash_logo.svg +++ b/resources/images/splash_logo.svg @@ -1,136 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/resources/images/splash_logo_dark.svg b/resources/images/splash_logo_dark.svg new file mode 100644 index 00000000000..5ea2bebcbd4 --- /dev/null +++ b/resources/images/splash_logo_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 52bfa21508c..e06433883fc 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -275,8 +275,11 @@ public: // init constant texts and scale fonts m_constant_text.init(Label::Body_16); - scale_font(m_constant_text.title_font, 2.0f); - scale_font(m_constant_text.version_font, 1.2f); + + // ORCA scale all fonts with monitor scale + scale_font(m_constant_text.version_font, m_scale * 2); + scale_font(m_constant_text.based_on_font, m_scale * 1.5f); + scale_font(m_constant_text.credits_font, m_scale * 2); // this font will be used for the action string m_action_font = m_constant_text.credits_font; @@ -316,51 +319,41 @@ public: if (!bmp.IsOk()) return; + bool is_dark = wxGetApp().app_config->get("dark_color_mode") == "1"; + // use a memory DC to draw directly onto the bitmap wxMemoryDC memDc(bmp); - - int top_margin = FromDIP(75 * m_scale); + int width = bmp.GetWidth(); + int height = bmp.GetHeight(); - // draw title and version - int text_padding = FromDIP(3 * m_scale); - memDc.SetFont(m_constant_text.title_font); - int title_height = memDc.GetTextExtent(m_constant_text.title).GetHeight(); - int title_width = memDc.GetTextExtent(m_constant_text.title).GetWidth(); - memDc.SetFont(m_constant_text.version_font); - int version_height = memDc.GetTextExtent(m_constant_text.version).GetHeight(); - int version_width = memDc.GetTextExtent(m_constant_text.version).GetWidth(); - int split_width = (width + title_width - version_width) / 2; - wxRect title_rect(wxPoint(0, top_margin), wxPoint(split_width - text_padding, top_margin + title_height)); - memDc.SetTextForeground(StateColor::darkModeColorFor(wxColour(38, 46, 48))); - memDc.SetFont(m_constant_text.title_font); - memDc.DrawLabel(m_constant_text.title, title_rect, wxALIGN_RIGHT | wxALIGN_BOTTOM); - //BBS align bottom of title and version text - wxRect version_rect(wxPoint(split_width + text_padding, top_margin), wxPoint(width, top_margin + title_height - text_padding)); + // Logo + BitmapCache bmp_cache; + wxBitmap logo_bmp = *bmp_cache.load_svg(is_dark ? "splash_logo_dark" : "splash_logo", width, height); // use with full width & height + memDc.DrawBitmap(logo_bmp, 0, 0, true); + + // Version memDc.SetFont(m_constant_text.version_font); memDc.SetTextForeground(StateColor::darkModeColorFor(wxColor(134, 134, 134))); - memDc.DrawLabel(m_constant_text.version, version_rect, wxALIGN_LEFT | wxALIGN_BOTTOM); + wxSize version_ext = memDc.GetTextExtent(m_constant_text.version); + wxRect version_rect( + wxPoint(0, int(height * 0.70)), + wxPoint(width, int(height * 0.70) + version_ext.GetHeight()) + ); + memDc.DrawLabel(m_constant_text.version, version_rect, wxALIGN_CENTER); + // Dynamic Text + m_action_line_y_position = int(height * 0.83); + + // Based on Text + memDc.SetFont(m_constant_text.based_on_font); auto bs_version = wxString::Format("Based on PrusaSlicer and BambuStudio").ToStdString(); - memDc.SetFont(Label::Body_12); - wxSize text_rect = memDc.GetTextExtent(bs_version); - int start_x = (title_rect.GetLeft() + version_rect.GetRight()) / 2 - text_rect.GetWidth()/2; - int start_y = version_rect.GetBottom() + 10; - wxRect internal_sign_rect(wxPoint(start_x, start_y), wxSize(text_rect)); - memDc.DrawLabel(bs_version, internal_sign_rect, wxALIGN_RIGHT); - - // load bitmap for logo - BitmapCache bmp_cache; - int logo_margin = FromDIP(72 * m_scale); - int logo_size = FromDIP(122 * m_scale); - int logo_width = FromDIP(94 * m_scale); - wxBitmap logo_bmp = *bmp_cache.load_svg("splash_logo", logo_size, logo_size); - int logo_y = top_margin + title_rect.GetHeight() + logo_margin; - memDc.DrawBitmap(logo_bmp, (width - logo_width) / 2, logo_y, true); - - // calculate position for the dynamic text - int text_margin = FromDIP(80 * m_scale); - m_action_line_y_position = logo_y + logo_size + text_margin; + wxSize based_on_ext = memDc.GetTextExtent(bs_version); + wxRect based_on_rect( + wxPoint(0, height - based_on_ext.GetHeight() * 2), + wxPoint(width, height - based_on_ext.GetHeight()) + ); + memDc.DrawLabel(bs_version, based_on_rect, wxALIGN_CENTER); } static wxBitmap MakeBitmap() @@ -440,21 +433,23 @@ private: wxFont title_font; wxFont version_font; wxFont credits_font; + wxFont based_on_font; void init(wxFont init_font) { // title - title = wxGetApp().is_editor() ? SLIC3R_APP_FULL_NAME : GCODEVIEWER_APP_NAME; + //title = wxGetApp().is_editor() ? SLIC3R_APP_FULL_NAME : GCODEVIEWER_APP_NAME; // dynamically get the version to display - version = _L("V") + " " + GUI_App::format_display_version(); + version = GUI_App::format_display_version(); // credits infornation credits = ""; - title_font = Label::Head_16; - version_font = Label::Body_16; - credits_font = init_font; + //title_font = Label::Head_16; + version_font = Label::Body_13; + based_on_font = Label::Body_8; + credits_font = Label::Body_8; } } m_constant_text; From 8c9567186286495c27e6f471244c07e70c650468 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Thu, 23 May 2024 22:03:28 +0800 Subject: [PATCH 053/178] improve seam performance (#5436) --- src/libslic3r/GCode/SeamPlacer.cpp | 4 ++-- src/libslic3r/GCode/SeamPlacer.hpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/GCode/SeamPlacer.cpp b/src/libslic3r/GCode/SeamPlacer.cpp index e442db5701a..e447d12d872 100644 --- a/src/libslic3r/GCode/SeamPlacer.cpp +++ b/src/libslic3r/GCode/SeamPlacer.cpp @@ -1073,7 +1073,7 @@ void SeamPlacer::calculate_overhangs_and_layer_embedding(const PrintObject *po) if (prev_layer_distancer.get() != nullptr) { const auto _dist = prev_layer_distancer->distance_from_lines(point.cast()); perimeter_point.overhang = _dist - + 0.6f * perimeter_point.perimeter.flow_width + + 0.65f * perimeter_point.perimeter.flow_width - tan(SeamPlacer::overhang_angle_threshold) * po->layers()[layer_idx]->height; perimeter_point.overhang = @@ -1083,7 +1083,7 @@ void SeamPlacer::calculate_overhangs_and_layer_embedding(const PrintObject *po) if (should_compute_layer_embedding) { // search for embedded perimeter points (points hidden inside the print ,e.g. multimaterial join, best position for seam) perimeter_point.embedded_distance = current_layer_distancer->distance_from_lines(point.cast()) - + 0.6f * perimeter_point.perimeter.flow_width; + + 0.65f * perimeter_point.perimeter.flow_width; } } diff --git a/src/libslic3r/GCode/SeamPlacer.hpp b/src/libslic3r/GCode/SeamPlacer.hpp index 430cccf9576..a8a04cc6723 100644 --- a/src/libslic3r/GCode/SeamPlacer.hpp +++ b/src/libslic3r/GCode/SeamPlacer.hpp @@ -119,7 +119,7 @@ public: // snapping angle - angles larger than this value will be snapped to during seam painting static constexpr float sharp_angle_snapping_threshold = 55.0f * float(PI) / 180.0f; // overhang angle for seam placement that still yields good results, in degrees, measured from vertical direction - static constexpr float overhang_angle_threshold = 50.0f * float(PI) / 180.0f; + static constexpr float overhang_angle_threshold = 45.0f * float(PI) / 180.0f; // determines angle importance compared to visibility ( neutral value is 1.0f. ) static constexpr float angle_importance_aligned = 0.6f; From 14406326cddd534c9602e838522a00f752cd45e0 Mon Sep 17 00:00:00 2001 From: KrisMorr <154343071+KrisMorr@users.noreply.github.com> Date: Thu, 23 May 2024 16:04:15 +0200 Subject: [PATCH 054/178] Update Polish translation + fix strings for gettext (#5427) * Update Polish translation * Fix strings for gettext --- localization/i18n/pl/OrcaSlicer_pl.po | 231 +++++++++++++++--------- src/slic3r/GUI/SendMultiMachinePage.cpp | 6 +- 2 files changed, 149 insertions(+), 88 deletions(-) diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po index cdf2baa704d..fe0359450f6 100644 --- a/localization/i18n/pl/OrcaSlicer_pl.po +++ b/localization/i18n/pl/OrcaSlicer_pl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer 2.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:31+0200\n" +"POT-Creation-Date: 2024-05-22 17:37+0200\n" "PO-Revision-Date: \n" "Last-Translator: Krzysztof Morga \n" "Language-Team: \n" @@ -1248,7 +1248,7 @@ msgstr "Zmień typ SVG" #. TRN - Input label. Be short as possible msgid "Mirror" -msgstr "Odbij" +msgstr "Lustrzane odbicie" msgid "Choose SVG file for emboss:" msgstr "Wybierz plik SVG do wytłaczania:" @@ -1391,9 +1391,6 @@ msgstr "" "Plik konfiguracyjny \"%1%\" został załadowany, ale niektóre wartości nie " "zostały rozpoznane." -msgid "V" -msgstr "V" - 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." @@ -1504,6 +1501,9 @@ msgstr "" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Wybierz jeden lub więcej plików (3mf/step/stl/svg/obj/amf):" +msgid "Choose ZIP file" +msgstr "Wybierz plik ZIP" + msgid "Choose one file (gcode/3mf):" msgstr "Wybierz jeden plik (gcode/3mf):" @@ -1574,6 +1574,13 @@ msgstr "Trwające wgrywanie" msgid "Select a G-code file:" msgstr "Wybierz plik G-code:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" +"Nie można rozpocząć pobierania pliku z adresu URL. Folder docelowy nie jest " +"ustawiony. Proszę wybrać folder docelowy w Kreatorze Konfiguracji" + msgid "Import File" msgstr "Importuj plik" @@ -1978,7 +1985,7 @@ msgid "Simplify Model" msgstr "Uprość model" msgid "Center" -msgstr "Centruj" +msgstr "Wyśrodkuj" msgid "Edit Process Settings" msgstr "Edytuj ustawienia procesu" @@ -3465,7 +3472,7 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" -"zadania druku jednoczesne. (zależy to od liczby urządzeń, które można " +"zadania druku jednocześnie. (Zależy to od liczby urządzeń, które można " "podgrzewać jednocześnie.)" msgid "Wait" @@ -3474,8 +3481,7 @@ msgstr "Czekaj" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" -"minut na każdą partię. (To zależy od tego, jak długo trwa proces " -"nagrzewania.)" +"minut na każdą partię. (Zależy od tego, jak długo trwa proces nagrzewania.)" msgid "Name is invalid;" msgstr "Nazwa jest nieprawidłowa;" @@ -4069,7 +4075,7 @@ msgid "Temperature" msgstr "Temperatura" msgid "Flow" -msgstr "Flow" +msgstr "Przepływ" msgid "Tool" msgstr "Narzędzie" @@ -4231,7 +4237,7 @@ msgid "Total Filament" msgstr "Całkowita ilość filamentu" msgid "Model Filament" -msgstr "Filament dla modelu" +msgstr "Filament modelu" msgid "Prepare time" msgstr "Czas przygotowania" @@ -4678,6 +4684,12 @@ msgstr "Importuj 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Wczytaj model" +msgid "Import Zip Archive" +msgstr "Importuj archiwum ZIP" + +msgid "Load models contained within a zip archive" +msgstr "Wczytaj modele zawarte w archiwum ZIP" + msgid "Import Configs" msgstr "Importuj konfiguracje" @@ -4712,7 +4724,7 @@ msgid "Export current plate as G-code" msgstr "Eksportuj bieżący stół jako plik G-code" msgid "Export Preset Bundle" -msgstr "Eksport pakietów ustawień" +msgstr "Eksport zestawu ustawień" msgid "Export current configuration to files" msgstr "Eksportuj bieżącą konfigurację do plików" @@ -5691,12 +5703,12 @@ msgstr[2] "%1$d obiektów zostało załadowanych jako części obiektu wycięteg msgid "ERROR" msgstr "BŁĄD" -msgid "CANCELED" -msgstr "ANULOWANO" - msgid "COMPLETED" msgstr "ZAKOŃCZONO" +msgid "CANCELED" +msgstr "ANULOWANO" + msgid "Cancel upload" msgstr "Anuluj przesyłanie" @@ -6308,6 +6320,22 @@ msgstr "nie zawiera prawidłowego gcode." msgid "Error occurs while loading G-code file" msgstr "Wystąpił błąd podczas wczytywania pliku z G-code" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "Nie udało załadować się archiwum ZIP z ścieżki %1%." + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "Nie udało się rozpakować pliku do %1%: %2%" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" +"Nie udało się znaleźć rozpakowanego pliku pod adresem %1%. Rozpakowywanie " +"pliku nie powiodło się." + msgid "Drop project file" msgstr "Upuść plik projektu" @@ -6628,7 +6656,7 @@ msgstr "" "Powiększ do pozycji wskaźnika myszy w widoku 3D, zamiast do środka okna 2D." msgid "Use free camera" -msgstr "Użyj swobodnej kamery" +msgstr "Użyj wolnego widoku z kamery" msgid "If enabled, use free camera. If not enabled, use constrained camera." msgstr "" @@ -6740,6 +6768,22 @@ msgstr "" "Jeśli włączone, ustawia OrcaSlicer jako domyślną aplikację do otwierania " "plików .step" +msgid "Current association: " +msgstr "Aktualne skojarzenie:" + +msgid "Associate prusaslicer://" +msgstr "Skojarz prusaslicer://" + +msgid "Not associated to any application" +msgstr "Nie skojarzony z żadną aplikacją" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" +"Skojarz OrcaSlicer z linkami \"prusaslicer://\", aby Orca mógł otwierać " +"linki PrusaSlicer z Printable.com." + msgid "Maximum recent projects" msgstr "Maksymalna liczba ostatnich projektów" @@ -7108,7 +7152,7 @@ msgid "Bed Leveling" msgstr "Poziomowanie stołu" msgid "Flow Dynamics Calibration" -msgstr "Kalib. Dyn. Przepływu" +msgstr "Kalibracja Dynamiki Przepływu" msgid "Click here if you can't connect to the printer" msgstr "Kliknij tutaj, jeśli nie możesz połączyć się z drukarką" @@ -10825,11 +10869,12 @@ msgid "" "object, Orca Slicer will always prime this amount of material into the wipe " "tower to produce successive infill or sacrificial object extrusions reliably." msgstr "" -"Po zmianie narzędzia dokładna pozycja nowo załadowanego filamentu wewnątrz " -"dyszy może nie być znana, a ciśnienie filamentu prawdopodobnie jeszcze nie " -"jest stabilne. Przed wyczyszczeniem głowicy drukującej do wypełnienia lub do " -"obiektu, OrcaSlicer zawsze wstępnie wytłoczy tę ilość filamentu do wieży " -"czyszczącej, aby zapewnić niezawodną dalszą ekstruzję." +"Po zmianie narzędzia (filamentu), dokładna pozycja nowo załadowanego " +"filamentu wewnątrz dyszy może nie być znana, a ciśnienie filamentu " +"prawdopodobnie jeszcze nie jest ustabilizowane. Przed wyczyszczeniem głowicy " +"drukującej do wypełnienia lub do obiektu, OrcaSlicer zawsze wstępnie " +"wytłoczy tę ilość filamentu do wieży czyszczącej, aby zapewnić niezawodną " +"dalszą ekstruzję." msgid "Speed of the last cooling move" msgstr "Prędkość ostatniego ruchu chłodzącego" @@ -12731,7 +12776,7 @@ msgstr "" "drukarek otwartych, czyli bez obudowy.\n" "\n" "Opcje:\n" -"Włączone = Skirt jest takiej samej wysokości, jak najwyższy wydrukowany " +"Włączony = Skirt jest takiej samej wysokości, jak najwyższy wydrukowany " "obiekt.\n" "Ograniczony =Skirt jest takiej samej wysoki, jak został określony w wysokość " "Skirtu.\n" @@ -12912,10 +12957,11 @@ msgid "" "print the wipe tower. User is responsible for ensuring there is no collision " "with the print." msgstr "" -"Jeśli włączone, wieża czyszcząca nie będzie drukowana na warstwach bez zmian " -"narzędzi. Na warstwach ze zmianą narzędzia, extruder przemieści się w dół, " -"aby wydrukować wieżę czyszczącą. Użytkownik jest odpowiedzialny za " -"zapewnienie, że nie dojdzie do kolizji z wydrukiem." +"Jeśli włączone to wieża czyszcząca nie będzie drukowana na warstwach, na " +"których nie ma zmian koloru. Na kolejnych warstwach ze zmianami koloru " +"ekstruder zjedzie w dół, aby kontynuować czyszczenie na wieży. Pamiętaj, że " +"to użytkownik musi upewnić się, że nie dojdzie do kolizji głowicy z " +"wydrukiem." msgid "Prime all printing extruders" msgstr "Przygotuj wszystkie extrudery do drukowania" @@ -13543,26 +13589,47 @@ msgstr "Odległość między liniami na wieży oczyszczającej" msgid "Spacing of purge lines on the wipe tower." msgstr "Rozmieszczenie linii czyszczenia na wieży czyszczącej." -msgid "Maximum print speed when purging" -msgstr "Maksymalna prędkość druku podczas czyszczenia" +msgid "Maximum wipe tower print speed" +msgstr "Maksymalna prędkość drukowania wieży czyszczącej" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" -"Maksymalna prędkość drukowania podczas oczyszczania w wieży czyszczącej. " -"Jeśli prędkość wypełnienia rzadkiego lub prędkość obliczona na podstawie " -"maksymalnej prędkości przepływu filamentu jest niższa, zostanie użyta " -"najniższa prędkość.\n" -"Zwiększenie tej prędkości może wpłynąć na stabilność wieży, ponieważ " -"oczyszczanie może być wykonywane na rzadkich warstwach. Przed zwiększeniem " -"tego parametru ponad domyślną wartość 90 mm/s należy upewnić się, że " -"drukarka może niezawodnie drukować ze zwiększoną prędkością." +"Jest to funkcja odpowiedzialna za maksymalną prędkość drukowania podczas " +"oczyszczania w wieży czyszczącej i drukowania jej rzadkich warstw. \n" +"Podczas oczyszczania, jeśli prędkość rzadkiego wypełnienia jest niższa od " +"prędkości obliczonej na podstawie maksymalnego natężenia przepływu " +"filamentu, to właśnie ta niższa wartość zostanie wybrana.\n" +"\n" +"Podczas drukowania rzadkich warstw, jeśli prędkość wewnętrznych obrysów lub " +"prędkość obliczona na podstawie maksymalnego natężenia przepływu filamentu " +"jest niższa, zostanie użyta właśnie ta niższa wartość.\n" +"\n" +"Przed zwiększeniem tego parametru powyżej domyślnej wartości 90mm/s, upewnij " +"się, że Twoja drukarka potrafi niezawodnie mostkować przy wyższych " +"prędkościach oraz że wyciek filamentu podczas jego zmiany jest dobrze " +"kontrolowany.\n" +"\n" +"W przypadku zewnętrznych obwodów wieży czyszczącej prędkość jej obwodu " +"wewnętrznego jest niezależna od tego ustawienia." msgid "Wipe tower extruder" msgstr "Ekstruder dla wieży czyszczącej" @@ -13593,20 +13660,20 @@ msgid "" "printed with transparent filament, the mixed color infill will be seen " "outside. It will not take effect, unless the prime tower is enabled." msgstr "" -"Czyszczenie po zmianie filamentu będzie wykonane wewnątrz wypełnień " -"obiektów. Może to zmniejszyć ilość odpadów i skrócić czas druku. Jeśli " -"ściany są drukowane przezroczystym filamentem, mieszane kolorowe wypełnienie " -"będzie widoczne na zewnątrz. Nie będzie miało efektu, chyba że wieża " -"czyszcząca jest włączona." +"Po zmianie filamentu oczyszczanie odbywa się wewnątrz wypełnienia obiektu. " +"Może to zmniejszyć ilość odpadów i skrócić czas druku. Jeśli ściany są " +"drukowane przezroczystym filamentem, różne kolory wypełnienia będą widoczne " +"na zewnątrz. Ta funkcja jest aktywna tylko wtedy, gdy jest włączona opcja " +"wieży czyszczącej." 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 "" -"Czyszczenie po zmianie filamentu będzie wykonane wewnątrz podpory obiektów. " -"Może to zmniejszyć ilość odpadów i skrócić czas druku. Nie będzie miało " -"efektu, chyba że wieża czyszcząca jest włączona." +"Po zmianie filamentu oczyszczanie odbywa się wewnątrz podpór obiektów. Może " +"to zmniejszyć ilość odpadów i skrócić czas druku. Ta funkcja jest aktywna " +"tylko wtedy, gdy jest włączona opcja wieży czyszczącej." msgid "" "This object will be used to purge the nozzle after a filament change to save " @@ -16636,6 +16703,33 @@ msgstr "" "takimi jak ABS, odpowiednie zwiększenie temperatury podgrzewanej płyty może " "zmniejszyć prawdopodobieństwo odkształceń." +#~ msgid "V" +#~ msgstr "V" + +#~ msgid "Flow Dynamic Calibration" +#~ msgstr "Kalibracja Dynamiki Przepływu" + +#~ msgid "Maximum print speed when purging" +#~ msgstr "Maksymalna prędkość druku podczas czyszczenia" + +#~ msgid "" +#~ "The maximum print speed when purging in the wipe tower. If the sparse " +#~ "infill speed or calculated speed from the filament max volumetric speed " +#~ "is lower, the lowest speed will be used instead.\n" +#~ "Increasing this speed may affect the tower's stability, as purging can be " +#~ "performed over sparse layers. Before increasing this parameter beyond the " +#~ "default of 90mm/sec, make sure your printer can reliably bridge at the " +#~ "increased speeds." +#~ msgstr "" +#~ "Maksymalna prędkość drukowania podczas oczyszczania w wieży czyszczącej. " +#~ "Jeśli prędkość wypełnienia rzadkiego lub prędkość obliczona na podstawie " +#~ "maksymalnej prędkości przepływu filamentu jest niższa, zostanie użyta " +#~ "najniższa prędkość.\n" +#~ "Zwiększenie tej prędkości może wpłynąć na stabilność wieży, ponieważ " +#~ "oczyszczanie może być wykonywane na rzadkich warstwach. Przed " +#~ "zwiększeniem tego parametru ponad domyślną wartość 90 mm/s należy upewnić " +#~ "się, że drukarka może niezawodnie drukować ze zwiększoną prędkością." + #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " #~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " @@ -16651,9 +16745,6 @@ msgstr "" #~ msgid "Open Studio" #~ msgstr "Otwórz Studio" -#~ msgid "Flow Dynamic Calibration" -#~ msgstr "Kalibracja Dynamiki Przepływu" - #~ msgid "Export &Configs" #~ msgstr "Eksportuj &konfiguracje" @@ -16973,36 +17064,6 @@ msgstr "" #~ "Możesz dostosować ustawienie maksymalnej prędkości w konfiguracji swojej " #~ "drukarki, aby uzyskać wyższe prędkości." -#~ msgid "Choose ZIP file" -#~ msgstr "Wybierz plik ZIP" - -#~ msgid "" -#~ "Could not start URL download. Destination folder is not set. Please " -#~ "choose destination folder in Configuration Wizard." -#~ msgstr "" -#~ "Nie można rozpocząć pobierania pliku z adresu URL. Folder docelowy nie " -#~ "jest ustawiony. Proszę wybrać folder docelowy w Kreatorze Konfiguracji" - -#~ msgid "Import Zip Archive" -#~ msgstr "Importuj archiwum ZIP" - -#~ msgid "Load models contained within a zip archive" -#~ msgstr "Wczytaj modele zawarte w archiwum ZIP" - -#, boost-format -#~ msgid "Loading of a ZIP archive on path %1% has failed." -#~ msgstr "Nie udało załadować się archiwum ZIP z ścieżki %1%." - -#, boost-format -#~ msgid "Failed to unzip file to %1%: %2%" -#~ msgstr "Nie udało się rozpakować pliku do %1%: %2%" - -#, boost-format -#~ msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." -#~ msgstr "" -#~ "Nie udało się znaleźć rozpakowanego pliku pod adresem %1%. Rozpakowywanie " -#~ "pliku nie powiodło się." - #~ msgid "Allow downloads from Printables.com" #~ msgstr "Zezwól na pobieranie modeli z Printables.com" diff --git a/src/slic3r/GUI/SendMultiMachinePage.cpp b/src/slic3r/GUI/SendMultiMachinePage.cpp index 0831377c538..4dafb97a409 100644 --- a/src/slic3r/GUI/SendMultiMachinePage.cpp +++ b/src/slic3r/GUI/SendMultiMachinePage.cpp @@ -1303,9 +1303,9 @@ wxPanel* SendMultiMachinePage::create_page() // add printing options wxBoxSizer* title_print_option = create_item_title(_L("Printing Options"), main_page, ""); - wxBoxSizer* item_bed_level = create_item_checkbox(_("Bed Leveling"), main_page, "", 50, "bed_leveling"); - wxBoxSizer* item_timelapse = create_item_checkbox(_("Timelapse"), main_page, "", 50, "timelapse"); - wxBoxSizer* item_flow_dy_ca = create_item_checkbox(_("Flow Dynamic Calibration"), main_page, "", 50, "flow_cali"); + wxBoxSizer* item_bed_level = create_item_checkbox(_L("Bed Leveling"), main_page, "", 50, "bed_leveling"); + wxBoxSizer* item_timelapse = create_item_checkbox(_L("Timelapse"), main_page, "", 50, "timelapse"); + wxBoxSizer* item_flow_dy_ca = create_item_checkbox(_L("Flow Dynamic Calibration"), main_page, "", 50, "flow_cali"); sizer->Add(title_print_option, 0, wxEXPAND, 0); wxBoxSizer* options_sizer_v = new wxBoxSizer(wxHORIZONTAL); options_sizer_v->Add(item_bed_level, 0, wxLEFT, 0); From 3109f3137277ce68061b17716c55776179e5ec6d Mon Sep 17 00:00:00 2001 From: yw4z Date: Thu, 23 May 2024 17:44:01 +0300 Subject: [PATCH 055/178] Fix edit button of printer combo box not updates its color after theme switch (#5412) * Fix edit button of printer combo box not updates for dark theme * Fix * Merge branch 'main' into dark-mode-printer-combobox-edit-icon --- src/slic3r/GUI/Plater.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index a7b9b51fc87..3a466ecc69f 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1498,6 +1498,7 @@ void Sidebar::sys_color_changed() p->combo_printer }) combo->sys_color_changed(); #endif + p->combo_printer->sys_color_changed(); for (PlaterPresetComboBox* combo : p->combos_filament) combo->sys_color_changed(); From 0859ae840ae7f91cb111c5d2b0a750aac5629f9a Mon Sep 17 00:00:00 2001 From: SoftFever Date: Thu, 23 May 2024 23:38:07 +0800 Subject: [PATCH 056/178] update locale --- localization/i18n/OrcaSlicer.pot | 94 +- localization/i18n/ca/OrcaSlicer_ca.po | 99 +- localization/i18n/cs/OrcaSlicer_cs.po | 113 +- localization/i18n/de/OrcaSlicer_de.po | 159 +- localization/i18n/en/OrcaSlicer_en.po | 1891 +++++++++++------- localization/i18n/es/OrcaSlicer_es.po | 496 +++-- localization/i18n/fr/OrcaSlicer_fr.po | 147 +- localization/i18n/hu/OrcaSlicer_hu.po | 1897 +++++++++++------- localization/i18n/it/OrcaSlicer_it.po | 476 +++-- localization/i18n/ja/OrcaSlicer_ja.po | 1902 +++++++++++------- localization/i18n/ko/OrcaSlicer_ko.po | 140 +- localization/i18n/nl/OrcaSlicer_nl.po | 1897 +++++++++++------- localization/i18n/pl/OrcaSlicer_pl.po | 60 +- localization/i18n/pt_BR/OrcaSlicer_pt_BR.po | 99 +- localization/i18n/ru/OrcaSlicer_ru.po | 403 +++- localization/i18n/sv/OrcaSlicer_sv.po | 1907 +++++++++++------- localization/i18n/tr/OrcaSlicer_tr.po | 160 +- localization/i18n/uk/OrcaSlicer_uk.po | 1919 +++++++++++++------ localization/i18n/zh_CN/OrcaSlicer_zh_CN.po | 497 +++-- localization/i18n/zh_TW/OrcaSlicer_zh_TW.po | 99 +- 20 files changed, 9578 insertions(+), 4877 deletions(-) diff --git a/localization/i18n/OrcaSlicer.pot b/localization/i18n/OrcaSlicer.pot index f6fd3097609..8125385e8c1 100644 --- a/localization/i18n/OrcaSlicer.pot +++ b/localization/i18n/OrcaSlicer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1354,9 +1354,6 @@ msgid "" "Configuration file \"%1%\" was loaded, but some values were not recognized." msgstr "" -msgid "V" -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." @@ -1452,6 +1449,9 @@ msgstr "" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "" @@ -1515,6 +1515,11 @@ msgstr "" msgid "Select a G-code file:" msgstr "" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "" @@ -3243,6 +3248,15 @@ msgstr "" msgid "Printing Options" msgstr "" +msgid "Bed Leveling" +msgstr "" + +msgid "Timelapse" +msgstr "" + +msgid "Flow Dynamic Calibration" +msgstr "" + msgid "Send Options" msgstr "" @@ -4365,6 +4379,12 @@ msgstr "" msgid "Load a model" msgstr "" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "" @@ -4751,9 +4771,6 @@ msgstr "" msgid "Show all files, recent first." msgstr "" -msgid "Timelapse" -msgstr "" - msgid "Switch to timelapse files." msgstr "" @@ -5300,10 +5317,10 @@ msgstr[1] "" msgid "ERROR" msgstr "" -msgid "CANCELED" +msgid "COMPLETED" msgstr "" -msgid "COMPLETED" +msgid "CANCELED" msgstr "" msgid "Cancel upload" @@ -5854,6 +5871,20 @@ msgstr "" msgid "Error occurs while loading G-code file" msgstr "" +#. TRN %1% is archive path +#, possible-boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, possible-boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, possible-boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "" @@ -6231,6 +6262,20 @@ msgstr "" msgid "If enabled, sets OrcaSlicer as default application to open .step files" msgstr "" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "" @@ -6592,9 +6637,6 @@ msgstr "" msgid "Send print job to" msgstr "" -msgid "Bed Leveling" -msgstr "" - msgid "Flow Dynamics Calibration" msgstr "" @@ -11803,17 +11845,29 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po index 35ce4937c88..90664fe1a1f 100644 --- a/localization/i18n/ca/OrcaSlicer_ca.po +++ b/localization/i18n/ca/OrcaSlicer_ca.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: 2024-03-17 22:08+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -1398,9 +1398,6 @@ msgstr "" "Ha estat carregat el fitxer de configuració \"%1%\", però alguns valors no " "s'han pogut reconèixer." -msgid "V" -msgstr "V" - 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." @@ -1513,6 +1510,9 @@ msgstr "Trieu un o més fitxers ( 3mf/step/stl/svg/obj/amf/usd*/abc/ply ):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Trieu un o més fitxers ( 3mf/step/stl/svg/obj/amf ):" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "Trieu un fitxer ( gcode/3mf ):" @@ -1585,6 +1585,11 @@ msgstr "Càrregues en curs" msgid "Select a G-code file:" msgstr "Seleccioneu un fitxer de Codi-G:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Importar arxiu" @@ -3429,6 +3434,15 @@ msgstr "" msgid "Printing Options" msgstr "" +msgid "Bed Leveling" +msgstr "Anivellament del llit" + +msgid "Timelapse" +msgstr "Timelapse" + +msgid "Flow Dynamic Calibration" +msgstr "" + msgid "Send Options" msgstr "" @@ -4645,6 +4659,12 @@ msgstr "Importar 3MF STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Carregar un model" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Importar Configuracions" @@ -5054,9 +5074,6 @@ msgstr "Agrupar els fitxers per mes, primer els recents." msgid "Show all files, recent first." msgstr "Mostrar tots els fitxers, primers els recents." -msgid "Timelapse" -msgstr "Timelapse" - msgid "Switch to timelapse files." msgstr "Canvieu als fitxers timelapse." @@ -5633,12 +5650,12 @@ msgstr[1] "%1$d Els objectes s'han carregat com a parts de l'objecte de tall" msgid "ERROR" msgstr "ERROR" -msgid "CANCELED" -msgstr "CANCEL·LAT" - msgid "COMPLETED" msgstr "COMPLETAT" +msgid "CANCELED" +msgstr "CANCEL·LAT" + msgid "Cancel upload" msgstr "Cancel·lar càrrega" @@ -6249,6 +6266,20 @@ msgstr "no conté Codi-G vàlid." msgid "Error occurs while loading G-code file" msgstr "Es produeix un error en carregar el fitxer de Codi-G" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Deixar anar el fitxer del projecte" @@ -6658,6 +6689,20 @@ msgstr "" "Si està habilitada, defineix OrcaSlicer com a l'aplicació predeterminada per " "obrir fitxers .step" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Màxim projectes recents" @@ -7023,9 +7068,6 @@ msgstr "Base PEI amb Textura Bambu" msgid "Send print job to" msgstr "Enviar treball d'impressió a" -msgid "Bed Leveling" -msgstr "Anivellament del llit" - msgid "Flow Dynamics Calibration" msgstr "Calibratge de Dinàmiques de Flux" @@ -13405,17 +13447,29 @@ msgstr "Espaiat de les línies de la Torre de Purga" msgid "Spacing of purge lines on the wipe tower." msgstr "Espaiat de les línies de purga de la Torre de Purga." -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -16390,6 +16444,9 @@ msgstr "" "augmentar adequadament la temperatura del llit pot reduir la probabilitat de " "deformació." +#~ msgid "V" +#~ msgstr "V" + #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " #~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " diff --git a/localization/i18n/cs/OrcaSlicer_cs.po b/localization/i18n/cs/OrcaSlicer_cs.po index 86c1b9086b3..ac91c2fe8ed 100644 --- a/localization/i18n/cs/OrcaSlicer_cs.po +++ b/localization/i18n/cs/OrcaSlicer_cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: 2023-09-30 15:15+0200\n" "Last-Translator: René Mošner \n" "Language-Team: \n" @@ -773,7 +773,7 @@ msgstr "" msgctxt "EmbossOperation" msgid "Cut" -msgstr "" +msgstr "Řezat" msgid "Click to change part type into negative volume." msgstr "" @@ -915,19 +915,19 @@ msgstr "" msgctxt "Alignment" msgid "Left" -msgstr "" +msgstr "Zleva" msgctxt "Alignment" msgid "Center" -msgstr "" +msgstr "Střed" msgctxt "Alignment" msgid "Right" -msgstr "" +msgstr "Zprava" msgctxt "Alignment" msgid "Top" -msgstr "" +msgstr "Horní" msgctxt "Alignment" msgid "Middle" @@ -935,7 +935,7 @@ msgstr "" msgctxt "Alignment" msgid "Bottom" -msgstr "" +msgstr "Spodní" msgid "Revert alignment." msgstr "" @@ -1299,7 +1299,7 @@ msgstr "" msgctxt "Verb" msgid "Scale" -msgstr "" +msgstr "Měřítko" msgid "None" msgstr "Žádné" @@ -1367,9 +1367,6 @@ msgstr "" "Konfigurační soubor \" %1% \" byl načten, ale některé hodnoty nebyly " "rozpoznány." -msgid "V" -msgstr "V" - 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." @@ -1480,6 +1477,9 @@ msgstr "" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Vyberte jeden nebo více souborů (3mf/step/stl/svg/obj/amf):" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "Vyberte jeden soubor (gcode/3mf):" @@ -1548,6 +1548,11 @@ msgstr "Probíhá nahrávání" msgid "Select a G-code file:" msgstr "Vyberte soubor s G-kódem:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Importovat soubor" @@ -3369,6 +3374,15 @@ msgstr "" msgid "Printing Options" msgstr "" +msgid "Bed Leveling" +msgstr "Vyrovnání podložky" + +msgid "Timelapse" +msgstr "Časosběr" + +msgid "Flow Dynamic Calibration" +msgstr "" + msgid "Send Options" msgstr "" @@ -4571,6 +4585,12 @@ msgstr "Importovat 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Načíst model" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Importovat konfigurace" @@ -4975,9 +4995,6 @@ msgstr "Seskupit soubory podle měsíce, poslední první." msgid "Show all files, recent first." msgstr "Zobrazit všechny soubory, poslední první." -msgid "Timelapse" -msgstr "Časosběr" - msgid "Switch to timelapse files." msgstr "Přepnout na soubory časosběru." @@ -5550,12 +5567,12 @@ msgstr[2] "%1$d objekty byly načteny jako součást rozříznutého objektu." msgid "ERROR" msgstr "CHYBA" -msgid "CANCELED" -msgstr "ZRUŠENO" - msgid "COMPLETED" msgstr "DOKONČENO" +msgid "CANCELED" +msgstr "ZRUŠENO" + msgid "Cancel upload" msgstr "Zrušit nahrávání" @@ -6154,6 +6171,20 @@ msgstr "neobsahuje platný G-kód." msgid "Error occurs while loading G-code file" msgstr "Při načítání souboru G-kód došlo k chybě" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Zrušit soubor projektu" @@ -6550,6 +6581,20 @@ msgstr "" "Pokud je povoleno, nastaví OrcaSlicer jako výchozí aplikaci pro otevírání " "souborů .step" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Maximální počet nedávných projektů" @@ -6913,9 +6958,6 @@ msgstr "" msgid "Send print job to" msgstr "Odeslat tiskovou úlohu na" -msgid "Bed Leveling" -msgstr "Vyrovnání podložky" - msgid "Flow Dynamics Calibration" msgstr "Kalibrace Dynamiky Průtoku" @@ -12851,17 +12893,29 @@ msgstr "Rozteč čistících linek v čistící věži" msgid "Spacing of purge lines on the wipe tower." msgstr "Rozteč čistících linek v čistící věži." -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -15609,6 +15663,9 @@ msgid "" "probability of warping." msgstr "" +#~ msgid "V" +#~ msgstr "V" + #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " #~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index 403db83d01d..3d917675b26 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -1,8 +1,9 @@ +# msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: \n" "Last-Translator: Heiko Liebscher \n" "Language-Team: \n" @@ -154,7 +155,7 @@ msgid "Height range" msgstr "Höhenbereich" msgid "Alt + Shift + Enter" -msgstr "" +msgstr "Alt + Shift + Enter" msgid "Toggle Wireframe" msgstr "Gittermodell ein-/ausblenden" @@ -1397,9 +1398,6 @@ msgstr "" "Konfigurationsdatei \"%1%\" wurde geladen, aber einige Werte wurden nicht " "erkannt." -msgid "V" -msgstr "V" - 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." @@ -1512,6 +1510,9 @@ msgstr "" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Wählen sie eine oder mehrere Dateien (3mf/step/stl/svg/obj/amf):" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "Wählen sie eine Datei (3mf):" @@ -1584,6 +1585,11 @@ msgstr "Laufende Uploads" msgid "Select a G-code file:" msgstr "Wähle eine G-Code Datei:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Datei importieren" @@ -3338,7 +3344,8 @@ msgstr "Wählen die verbundenen Drucker (%d/6)" #, c-format, boost-format msgid "The maximum number of printers that can be selected is %d" -msgstr "Die maximale Anzahl von Druckern, die ausgewählt werden können, beträgt %d" +msgstr "" +"Die maximale Anzahl von Druckern, die ausgewählt werden können, beträgt %d" msgid "Offline" msgstr "Offline" @@ -3466,7 +3473,8 @@ msgid "There is no device available to send printing." msgstr "Es ist kein Gerät verfügbar, um den Druck zu senden." msgid "The number of printers in use simultaneously cannot be equal to 0." -msgstr "Die Anzahl der gleichzeitig verwendeten Drucker darf nicht gleich 0 sein." +msgstr "" +"Die Anzahl der gleichzeitig verwendeten Drucker darf nicht gleich 0 sein." msgid "Use External Spool" msgstr "Externe Spule verwenden" @@ -3483,6 +3491,15 @@ msgstr "AMS-Status" msgid "Printing Options" msgstr "Druckoptionen" +msgid "Bed Leveling" +msgstr "Druckbettnivellierung" + +msgid "Timelapse" +msgstr "Zeitraffer" + +msgid "Flow Dynamic Calibration" +msgstr "" + msgid "Send Options" msgstr "Senden-Optionen" @@ -3493,8 +3510,8 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" -"Drucker gleichzeitig drucken.(Es hängt davon ab, wie viele Geräte gleichzeitig " -"erhitzt werden können.)" +"Drucker gleichzeitig drucken.(Es hängt davon ab, wie viele Geräte " +"gleichzeitig erhitzt werden können.)" msgid "Wait" msgstr "Warten" @@ -4728,6 +4745,12 @@ msgstr "Importiere 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Lade ein Modell" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Konfigurationen importieren" @@ -5156,9 +5179,6 @@ msgstr "Dateien nach Monat gruppieren, neueste zuerst." msgid "Show all files, recent first." msgstr "Alle Dateien anzeigen, die neuesten zuerst." -msgid "Timelapse" -msgstr "Zeitraffer" - msgid "Switch to timelapse files." msgstr "Wechseln zu Zeitrafferdateien." @@ -5750,12 +5770,12 @@ msgstr[1] "%1$d Objekte wurden als Teile des geschnittenen Objekts geladen." msgid "ERROR" msgstr "FEHLER" -msgid "CANCELED" -msgstr "ABGEBROCHEN" - msgid "COMPLETED" msgstr "ERLEDIGT" +msgid "CANCELED" +msgstr "ABGEBROCHEN" + msgid "Cancel upload" msgstr "Upload abbrechen" @@ -6380,6 +6400,20 @@ msgstr "enthält keinen gültigen G-Code." msgid "Error occurs while loading G-code file" msgstr "Beim Laden der G-Code-Datei ist ein Fehler aufgetreten." +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Projektdatei ablegen" @@ -6629,8 +6663,8 @@ msgid "" "don't use BBL machines or use LAN mode only can safely turn on this function." msgstr "" "Dies stoppt die Übertragung von Daten an die Cloud-Dienste von Bambu. " -"Benutzer, die keine BBL-Maschinen verwenden oder nur den LAN-Modus verwenden, " -"können diese Funktion sicher aktivieren." +"Benutzer, die keine BBL-Maschinen verwenden oder nur den LAN-Modus " +"verwenden, können diese Funktion sicher aktivieren." msgid "Enable network plugin" msgstr "Netzwerk-Plugin aktivieren" @@ -6804,6 +6838,20 @@ msgstr "" "Wenn aktiviert, wird OrcaSlicer als Standardanwendung zum Öffnen von .step-" "Dateien festgelegt" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Höchstanzahl an letzten Projekten" @@ -7172,9 +7220,6 @@ msgstr "Bambu strukturierte PEI-Platte" msgid "Send print job to" msgstr "Druckauftrag senden an" -msgid "Bed Leveling" -msgstr "Druckbettnivellierung" - msgid "Flow Dynamics Calibration" msgstr "Dynamische Flusskalibrierung" @@ -12833,17 +12878,18 @@ msgid "" "with them. To avoid this, increase the skirt distance value.\n" msgstr "" "Ein Luftzugs-Schutz ist nützlich, um einen ABS- oder ASA-Druck vor Verzug " -"und Ablösen vom Druckbett aufgrund von Luftzug zu schützen. Er wird normalerweise " -"nur bei offenen Druckern benötigt, d.h. ohne Gehäuse. \n" +"und Ablösen vom Druckbett aufgrund von Luftzug zu schützen. Er wird " +"normalerweise nur bei offenen Druckern benötigt, d.h. ohne Gehäuse. \n" "\n" "Optionen:\n" "Aktiviert = Umrandung ist so hoch wie das höchste gedruckte Objekt.\n" -"Begrenzt = Umrandung ist so hoch wie durch die Höhe der Umrandung angegeben.\n" +"Begrenzt = Umrandung ist so hoch wie durch die Höhe der Umrandung " +"angegeben.\n" "\n" "Hinweis: Mit dem aktiven Luftzug-Schutz wird die Umrandung in der " "Umrandungsdistanz vom Objekt gedruckt. Daher kann es bei aktiven Rändern zu " -"Überschneidungen kommen. Um dies zu vermeiden, erhöhen Sie den Wert der" -"Umrandungsdistanz. \n" +"Überschneidungen kommen. Um dies zu vermeiden, erhöhen Sie den Wert " +"derUmrandungsdistanz. \n" msgid "Limited" msgstr "Begrenzt" @@ -13664,26 +13710,30 @@ msgstr "Wischabstand der Reinigungsturmpurges" msgid "Spacing of purge lines on the wipe tower." msgstr "Abstand der Reinigungsturmpurges." -msgid "Maximum print speed when purging" -msgstr "Maximale Druckgeschwindigkeit beim Reinigen" +msgid "Maximum wipe tower print speed" +msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" -"Die maximale Druckgeschwindigkeit beim Reinigen im Reinigungsturm. Wenn die " -"Geschwindigkeit des dünnen Infill oder die berechnete Geschwindigkeit aus " -"der maximalen Volumengeschwindigkeit des Filaments niedriger ist, wird die " -"niedrigste Geschwindigkeit verwendet.\n" -"Das Erhöhen dieser Geschwindigkeit kann die Stabilität des Turms beeinträchtigen, " -"da das Reinigen über dünnen Schichten erfolgen kann. Bevor Sie diesen Parameter " -"über den Standardwert von 90 mm/s erhöhen, stellen Sie sicher, dass Ihr Drucker " -"die erhöhten Geschwindigkeiten zuverlässig überbrücken kann." msgid "Wipe tower extruder" msgstr "Reinigungsturm-Extruder" @@ -16799,6 +16849,31 @@ msgstr "" "wie z.B. ABS, durch eine entsprechende Erhöhung der Heizbetttemperatur die " "Wahrscheinlichkeit von Verwerfungen verringert werden kann." +#~ msgid "V" +#~ msgstr "V" + +#~ msgid "Maximum print speed when purging" +#~ msgstr "Maximale Druckgeschwindigkeit beim Reinigen" + +#~ msgid "" +#~ "The maximum print speed when purging in the wipe tower. If the sparse " +#~ "infill speed or calculated speed from the filament max volumetric speed " +#~ "is lower, the lowest speed will be used instead.\n" +#~ "Increasing this speed may affect the tower's stability, as purging can be " +#~ "performed over sparse layers. Before increasing this parameter beyond the " +#~ "default of 90mm/sec, make sure your printer can reliably bridge at the " +#~ "increased speeds." +#~ msgstr "" +#~ "Die maximale Druckgeschwindigkeit beim Reinigen im Reinigungsturm. Wenn " +#~ "die Geschwindigkeit des dünnen Infill oder die berechnete Geschwindigkeit " +#~ "aus der maximalen Volumengeschwindigkeit des Filaments niedriger ist, " +#~ "wird die niedrigste Geschwindigkeit verwendet.\n" +#~ "Das Erhöhen dieser Geschwindigkeit kann die Stabilität des Turms " +#~ "beeinträchtigen, da das Reinigen über dünnen Schichten erfolgen kann. " +#~ "Bevor Sie diesen Parameter über den Standardwert von 90 mm/s erhöhen, " +#~ "stellen Sie sicher, dass Ihr Drucker die erhöhten Geschwindigkeiten " +#~ "zuverlässig überbrücken kann." + #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " #~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po index 110633360b8..60397cbc9e3 100644 --- a/localization/i18n/en/OrcaSlicer_en.po +++ b/localization/i18n/en/OrcaSlicer_en.po @@ -1,8 +1,9 @@ +# msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -152,7 +153,7 @@ msgid "Height range" msgstr "Height range" msgid "Alt + Shift + Enter" -msgstr "" +msgstr "Alt + Shift + Enter" msgid "Toggle Wireframe" msgstr "Toggle Wireframe" @@ -167,10 +168,10 @@ msgid "Height Range" msgstr "Height Range" msgid "Vertical" -msgstr "" +msgstr "Vertical" msgid "Horizontal" -msgstr "" +msgstr "Horizontal" msgid "Remove painted color" msgstr "Remove painted color" @@ -271,16 +272,16 @@ msgid "uniform scale" msgstr "Uniform scale" msgid "Planar" -msgstr "" +msgstr "Planar" msgid "Dovetail" -msgstr "" +msgstr "Dovetail" msgid "Auto" msgstr "Auto" msgid "Manual" -msgstr "" +msgstr "Manual" msgid "Plug" msgstr "Plug" @@ -289,7 +290,7 @@ msgid "Dowel" msgstr "Dowel" msgid "Snap" -msgstr "" +msgstr "Snap" msgid "Prism" msgstr "" @@ -304,7 +305,7 @@ msgid "Hexagon" msgstr "Hexagon" msgid "Keep orientation" -msgstr "" +msgstr "Keep orientation" msgid "Place on cut" msgstr "Place on cut" @@ -328,19 +329,19 @@ msgstr "Shape" #. Size in emboss direction #. TRN - Input label. Be short as possible msgid "Depth" -msgstr "" +msgstr "Depth" msgid "Groove" -msgstr "" +msgstr "Groove" msgid "Width" msgstr "Width" msgid "Flap Angle" -msgstr "" +msgstr "Flap Angle" msgid "Groove Angle" -msgstr "" +msgstr "Groove Angle" msgid "Part" msgstr "Part" @@ -363,7 +364,7 @@ msgid "Move cut plane" msgstr "" msgid "Mode" -msgstr "" +msgstr "Mode" msgid "Change cut mode" msgstr "" @@ -411,7 +412,7 @@ msgid "Remove connectors" msgstr "Remove connectors" msgid "Bulge" -msgstr "" +msgstr "Bulge" msgid "Bulge proportion related to radius" msgstr "" @@ -520,7 +521,7 @@ msgid "Cut by Plane" msgstr "" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" -msgstr "" +msgstr "Non-manifold edges be caused by cut tool: do you want to fix now?" msgid "Repairing model object" msgstr "Repairing model object" @@ -618,13 +619,13 @@ msgid "Remove selection" msgstr "Remove selection" msgid "Entering Seam painting" -msgstr "" +msgstr "Entering seam painting" msgid "Leaving Seam painting" -msgstr "" +msgstr "Leaving Seam Painting" msgid "Paint-on seam editing" -msgstr "" +msgstr "Paint-on seam editing" #. TRN - Input label. Be short as possible #. Select look of letter shape @@ -763,7 +764,7 @@ msgstr "" msgctxt "EmbossOperation" msgid "Cut" -msgstr "" +msgstr "Cut" msgid "Click to change part type into negative volume." msgstr "" @@ -905,19 +906,19 @@ msgstr "" msgctxt "Alignment" msgid "Left" -msgstr "" +msgstr "Left" msgctxt "Alignment" msgid "Center" -msgstr "" +msgstr "Center" msgctxt "Alignment" msgid "Right" -msgstr "" +msgstr "Right" msgctxt "Alignment" msgid "Top" -msgstr "" +msgstr "Top" msgctxt "Alignment" msgid "Middle" @@ -925,7 +926,7 @@ msgstr "" msgctxt "Alignment" msgid "Bottom" -msgstr "" +msgstr "Bottom" msgid "Revert alignment." msgstr "" @@ -1237,43 +1238,43 @@ msgid "SVG file does NOT contain a single path to be embossed (%1%)." msgstr "" msgid "Vertex" -msgstr "" +msgstr "Vertex" msgid "Edge" -msgstr "" +msgstr "Edge" msgid "Plane" -msgstr "" +msgstr "Plane" msgid "Point on edge" -msgstr "" +msgstr "Point on edge" msgid "Point on circle" -msgstr "" +msgstr "Point on circle" msgid "Point on plane" -msgstr "" +msgstr "Point on plane" msgid "Center of edge" -msgstr "" +msgstr "Center of edge" msgid "Center of circle" -msgstr "" +msgstr "Center of circle" msgid "ShiftLeft mouse button" msgstr "" msgid "Select feature" -msgstr "" +msgstr "Select feature" msgid "Select point" -msgstr "" +msgstr "Select point" msgid "Delete" msgstr "Delete" msgid "Restart selection" -msgstr "" +msgstr "Restart selection" msgid "Esc" msgstr "Esc" @@ -1282,14 +1283,14 @@ msgid "Unselect" msgstr "" msgid "Measure" -msgstr "" +msgstr "Measure" msgid "Edit to scale" -msgstr "" +msgstr "Edit to scale" msgctxt "Verb" msgid "Scale" -msgstr "" +msgstr "Scale" msgid "None" msgstr "None" @@ -1301,22 +1302,22 @@ msgid "Length" msgstr "Length" msgid "Selection" -msgstr "" +msgstr "Selection" msgid "Copy to clipboard" msgstr "Copy to clipboard" msgid "Perpendicular distance" -msgstr "" +msgstr "Perpendicular distance" msgid "Distance" -msgstr "" +msgstr "Distance" msgid "Direct distance" -msgstr "" +msgstr "Direct distance" msgid "Distance XYZ" -msgstr "" +msgstr "Distance XYZ" msgid "Ctrl+" msgstr "Ctrl+" @@ -1356,9 +1357,6 @@ msgid "" msgstr "" "The configuration file “%1%” was loaded, but some values were not recognized." -msgid "V" -msgstr "V" - 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." @@ -1451,11 +1449,14 @@ msgid "Choose one file (3mf):" msgstr "Choose one file (3mf):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" -msgstr "" +msgstr "Choose one or more files (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Choose one or more files (3mf/step/stl/svg/obj/amf):" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "" @@ -1492,9 +1493,11 @@ 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 "" +"The number of user presets cached in the cloud has exceeded the upper limit, " +"newly created user presets can only be used locally." msgid "Sync user presets" -msgstr "" +msgstr "Sync user presets" msgid "Loading user preset" msgstr "Loading user preset" @@ -1523,6 +1526,11 @@ msgstr "Ongoing uploads" msgid "Select a G-code file:" msgstr "Select a G-code file:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Import File" @@ -1657,16 +1665,16 @@ msgid "Cone" msgstr "Cone" msgid "Disc" -msgstr "" +msgstr "Disc" msgid "Torus" -msgstr "" +msgstr "Torus" msgid "Orca Cube" msgstr "" msgid "3DBenchy" -msgstr "" +msgstr "3DBenchy" msgid "Autodesk FDM Test" msgstr "" @@ -1719,10 +1727,10 @@ msgid "Fix model" msgstr "Fix Model" msgid "Export as one STL" -msgstr "" +msgstr "Export as one STL" msgid "Export as STLs" -msgstr "" +msgstr "Export as STLs" msgid "Reload from disk" msgstr "Reload from disk" @@ -1795,10 +1803,10 @@ msgid "Assemble the selected objects to an object with single part" msgstr "Assemble the selected objects into an object with single part" msgid "Mesh boolean" -msgstr "" +msgstr "Mesh boolean" msgid "Mesh boolean operations including union and subtraction" -msgstr "" +msgstr "Mesh boolean operations including union and subtraction" msgid "Along X axis" msgstr "Along X Axis" @@ -1942,7 +1950,7 @@ msgid "Lock" msgstr "Lock" msgid "Edit Plate Name" -msgstr "" +msgstr "Edit Plate Name" msgid "Name" msgstr "Name" @@ -2002,7 +2010,7 @@ msgid "Error!" msgstr "Error!" msgid "Failed to get the model data in the current file." -msgstr "" +msgstr "Failed to get the model data in the current file." msgid "Generic" msgstr "Generic" @@ -2241,7 +2249,7 @@ msgid "Pause" msgstr "Pause" msgid "Template" -msgstr "" +msgstr "Template" msgid "Custom" msgstr "Custom" @@ -2292,7 +2300,7 @@ msgid "Change filament at the beginning of this layer." msgstr "Change filament at the beginning of this layer." msgid "Delete Pause" -msgstr "" +msgstr "Delete Pause" msgid "Delete Custom Template" msgstr "Delete Custom Template" @@ -2310,7 +2318,7 @@ msgid "No printer" msgstr "No printer" msgid "..." -msgstr "" +msgstr "..." msgid "Failed to connect to the server" msgstr "Failed to connect to the server" @@ -2343,7 +2351,7 @@ msgid "?" msgstr "?" msgid "/" -msgstr "" +msgstr "/" msgid "Empty" msgstr "Empty" @@ -2352,13 +2360,13 @@ msgid "AMS" msgstr "AMS" msgid "Auto Refill" -msgstr "" +msgstr "Auto Refill" msgid "AMS not connected" msgstr "AMS not connected" msgid "Load" -msgstr "" +msgstr "Load" msgid "Unload" msgstr "Unload" @@ -2388,7 +2396,7 @@ msgid "Cancel calibration" msgstr "Cancel calibration" msgid "Idling..." -msgstr "" +msgstr "Idling..." msgid "Heat the nozzle" msgstr "Heat the nozzle" @@ -2406,13 +2414,13 @@ msgid "Purge old filament" msgstr "Purge old filament" msgid "Feed Filament" -msgstr "" +msgstr "Feed Filament" msgid "Confirm extruded" -msgstr "" +msgstr "Confirm extruded" msgid "Check filament location" -msgstr "" +msgstr "Check filament location" msgid "Grab new filament" msgstr "Grab new filament" @@ -2421,6 +2429,8 @@ msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" +"Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " +"load or unload filament." msgid "Edit" msgstr "Edit" @@ -2499,7 +2509,7 @@ msgid "Orienting canceled." msgstr "" msgid "Filling" -msgstr "" +msgstr "Filling" msgid "Bed filling canceled." msgstr "Bed filling canceled." @@ -2583,7 +2593,7 @@ msgid "Sending print job through cloud service" msgstr "Sending print job through cloud service" msgid "Print task sending times out." -msgstr "" +msgstr "Print task sending times out." msgid "Service Unavailable" msgstr "Service Unavailable" @@ -2600,7 +2610,7 @@ msgstr "Successfully sent. Will automatically jump to the device page in %ss" #, c-format, boost-format msgid "Successfully sent. Will automatically jump to the next page in %ss" -msgstr "" +msgstr "Successfully sent. Will automatically jump to the next page in %ss" msgid "An SD card needs to be inserted before printing via LAN." msgstr "A MicroSD card needs to be inserted before printing via LAN." @@ -2758,10 +2768,10 @@ msgid "Setting AMS slot information while printing is not supported" msgstr "Setting AMS slot information while printing is not supported" msgid "Factors of Flow Dynamics Calibration" -msgstr "" +msgstr "Factors of Flow Dynamics Calibration" msgid "PA Profile" -msgstr "" +msgstr "PA Profile" msgid "Factor K" msgstr "Factor K" @@ -2779,10 +2789,10 @@ msgid "You need to select the material type and color first." msgstr "You need to select the material type and color first." msgid "Please input a valid value (K in 0~0.3)" -msgstr "" +msgstr "Please input a valid value (K in 0~0.3)" msgid "Please input a valid value (K in 0~0.3, N in 0.6~2.0)" -msgstr "" +msgstr "Please input a valid value (K in 0~0.3, N in 0.6~2.0)" msgid "Other Color" msgstr "Other Color" @@ -2888,7 +2898,7 @@ msgid "Print with the filament mounted on the back of chassis" msgstr "Print with filament on external spool" msgid "Current Cabin humidity" -msgstr "" +msgstr "Current Cabin humidity" msgid "" "Please change the desiccant when it is too wet. The indicator may not " @@ -2896,6 +2906,10 @@ msgid "" "desiccant pack is changed. it take hours to absorb the moisture, low " "temperatures also slow down the process." msgstr "" +"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 takes a few hours to absorb the moisture, and " +"low temperatures also slow down the process." msgid "" "Config which AMS slot should be used for a filament used in the print job" @@ -2927,16 +2941,19 @@ msgid "" "When the current material run out, the printer will continue to print in the " "following order." msgstr "" +"When the current material run out, the printer will continue to print in the " +"following order." msgid "Group" msgstr "Group" msgid "The printer does not currently support auto refill." -msgstr "" +msgstr "The printer does not currently support auto refill." msgid "" "AMS filament backup is not enabled, please enable it in the AMS settings." msgstr "" +"AMS filament backup is not enabled; please enable it in the AMS settings." msgid "" "If there are two identical filaments in AMS, AMS filament backup will be " @@ -2944,12 +2961,16 @@ msgid "" "(Currently supporting automatic supply of consumables with the same brand, " "material type, and color)" msgstr "" +"If there are two identical filaments in an AMS, AMS filament backup will be " +"enabled. \n" +"(This currently supports automatic supply of consumables with the same " +"brand, material type, and color)" msgid "DRY" -msgstr "" +msgstr "DRY" msgid "WET" -msgstr "" +msgstr "WET" msgid "AMS Settings" msgstr "AMS Settings" @@ -2968,6 +2989,8 @@ msgid "" "Note: if a new filament is inserted during printing, the AMS will not " "automatically read any information until printing is completed." msgstr "" +"Note: if a new filament is inserted during printing, the AMS will not " +"automatically read any information until printing is completed." msgid "" "When inserting a new filament, the AMS will not automatically read its " @@ -3020,12 +3043,14 @@ msgstr "" "automatically when current filament runs out." msgid "Air Printing Detection" -msgstr "" +msgstr "Air Printing Detection" msgid "" "Detects clogging and filament grinding, halting printing immediately to " "conserve time and filament." msgstr "" +"Detects clogging and filament grinding, halting printing immediately to " +"conserve time and filament." msgid "File" msgstr "File" @@ -3104,7 +3129,7 @@ msgid "Running post-processing scripts" msgstr "Running post-processing scripts" msgid "Successfully executed post-processing script" -msgstr "" +msgstr "Successfully executed post-processing script" msgid "Unknown error occured during exporting G-code." msgstr "" @@ -3169,10 +3194,10 @@ msgid "Device" msgstr "Device" msgid "Task Sending" -msgstr "" +msgstr "Task Sending" msgid "Task Sent" -msgstr "" +msgstr "Task Sent" msgid "Edit multiple printers" msgstr "" @@ -3192,7 +3217,7 @@ msgid "Offline" msgstr "Offline" msgid "No task" -msgstr "" +msgstr "No task" msgid "View" msgstr "View" @@ -3204,16 +3229,16 @@ msgid "Edit Printers" msgstr "" msgid "Device Name" -msgstr "" +msgstr "Device Name" msgid "Task Name" -msgstr "" +msgstr "Task Name" msgid "Device Status" -msgstr "" +msgstr "Device Status" msgid "Actions" -msgstr "" +msgstr "Actions" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" @@ -3256,7 +3281,7 @@ msgid "Pending" msgstr "" msgid "Sending" -msgstr "" +msgstr "Sending" msgid "Sending Finish" msgstr "" @@ -3283,25 +3308,25 @@ msgid "Stop" msgstr "Stop" msgid "Task Status" -msgstr "" +msgstr "Task Status" msgid "Sent Time" -msgstr "" +msgstr "Sent Time" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "There are no tasks to be sent!" msgid "No historical tasks!" -msgstr "" +msgstr "No historical tasks!" msgid "Loading..." msgstr "Loading..." msgid "No AMS" -msgstr "" +msgstr "No AMS" msgid "Send to Multi-device" -msgstr "" +msgstr "Send to Multi-device" msgid "Preparing print job" msgstr "Preparing print job" @@ -3316,22 +3341,31 @@ msgid "The number of printers in use simultaneously cannot be equal to 0." msgstr "" msgid "Use External Spool" -msgstr "" +msgstr "Use External Spool" msgid "Use AMS" -msgstr "" +msgstr "Use AMS" msgid "Select Printers" -msgstr "" +msgstr "Select Printers" msgid "Ams Status" -msgstr "" +msgstr "AMS Status" msgid "Printing Options" +msgstr "Printing Options" + +msgid "Bed Leveling" +msgstr "Bed leveling" + +msgid "Timelapse" +msgstr "Timelapse" + +msgid "Flow Dynamic Calibration" msgstr "" msgid "Send Options" -msgstr "" +msgstr "Send Options" msgid "Send" msgstr "Send" @@ -3340,13 +3374,16 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" +"printers at the same time. (It depends on how many devices can undergo " +"heating at the same time.)" msgid "Wait" -msgstr "" +msgstr "Wait" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" +"minute each batch. (It depends on how long it takes to complete heating.)" msgid "Name is invalid;" msgstr "Name is invalid;" @@ -3443,14 +3480,18 @@ msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" msgstr "" +"The recommended minimum temperature is less than 190 degree or the " +"recommended maximum temperature is greater than 300 degree.\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " "maximum temperature.\n" msgstr "" +"The recommended minimum temperature cannot be higher than the recommended " +"maximum temperature.\n" msgid "Please check.\n" -msgstr "" +msgstr "Please check.\n" msgid "" "Nozzle may be blocked when the temperature is out of recommended range.\n" @@ -3483,6 +3524,9 @@ msgid "" "it may result in material softening and clogging.The maximum safe " "temperature for the material is %d" msgstr "" +"Current chamber temperature is higher than the material's safe temperature; " +"this may result in material softening and nozzle clogs.The maximum safe " +"temperature for the material is %d" msgid "" "Too small layer height.\n" @@ -3601,7 +3645,7 @@ msgstr "" "layers is 0, sparse infill density is 0 and timelapse type is traditional." msgid " But machines with I3 structure will not generate timelapse videos." -msgstr "" +msgstr " But machines with I3 structure will not generate timelapse videos." msgid "" "Change these settings automatically? \n" @@ -3676,46 +3720,46 @@ msgid "Paused due to heat bed temperature malfunction" msgstr "Paused due to heat bed temperature malfunction" msgid "Filament unloading" -msgstr "" +msgstr "Filament unloading" msgid "Skip step pause" -msgstr "" +msgstr "Skip step pause" msgid "Filament loading" -msgstr "" +msgstr "Filament loading" msgid "Motor noise calibration" -msgstr "" +msgstr "Motor noise calibration" msgid "Paused due to AMS lost" -msgstr "" +msgstr "Paused due to AMS lost" msgid "Paused due to low speed of the heat break fan" -msgstr "" +msgstr "Paused due to low speed of the heat break fan" msgid "Paused due to chamber temperature control error" -msgstr "" +msgstr "Paused due to chamber temperature control error" msgid "Cooling chamber" -msgstr "" +msgstr "Cooling chamber" msgid "Paused by the Gcode inserted by user" -msgstr "" +msgstr "Paused by the Gcode inserted by user" msgid "Motor noise showoff" -msgstr "" +msgstr "Motor noise showoff" msgid "Nozzle filament covered detected pause" -msgstr "" +msgstr "Nozzle filament covered detected pause" msgid "Cutter error pause" -msgstr "" +msgstr "Cutter error pause" msgid "First layer error pause" -msgstr "" +msgstr "First layer error pause" msgid "Nozzle clog pause" -msgstr "" +msgstr "Nozzle clog pause" msgid "Unknown" msgstr "Unknown" @@ -3746,18 +3790,27 @@ msgid "" "45℃.In order to avoid extruder clogging,low temperature filament(PLA/PETG/" "TPU) is not allowed to be loaded." msgstr "" +"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." 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 " "above 45℃." msgstr "" +"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 " +"above 45℃." 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 "" +"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℃." msgid "Failed to start printing job" msgstr "Failed to start print job" @@ -3765,34 +3818,39 @@ msgstr "Failed to start print job" msgid "" "This calibration does not support the currently selected nozzle diameter" msgstr "" +"This calibration does not support the currently selected nozzle diameter" msgid "Current flowrate cali param is invalid" -msgstr "" +msgstr "Current flowrate cali param is invalid" msgid "Selected diameter and machine diameter do not match" -msgstr "" +msgstr "Selected diameter and machine diameter do not match" msgid "Failed to generate cali gcode" -msgstr "" +msgstr "Failed to generate cali gcode" msgid "Calibration error" -msgstr "" +msgstr "Calibration error" msgid "TPU is not supported by AMS." -msgstr "" +msgstr "TPU is not supported by AMS." msgid "Bambu PET-CF/PA6-CF is not supported by AMS." -msgstr "" +msgstr "Bambu PET-CF/PA6-CF is not supported by AMS." msgid "" "Damp PVA will become flexible and get stuck inside AMS,please take care to " "dry it before use." msgstr "" +"Damp PVA will become flexible and get stuck inside AMS,please take care to " +"dry it before use." 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 filaments are hard and brittle, It's easy to break or get stuck in " +"AMS, please use with caution." msgid "default" msgstr "default" @@ -3875,7 +3933,7 @@ msgstr "Parameter validation" #, c-format, boost-format msgid "Value %s is out of range. The valid range is from %d to %d." -msgstr "" +msgstr "Value %s is out of range. The valid range is from %d to %d." msgid "Value is out of range." msgstr "Value is out of range." @@ -3958,7 +4016,7 @@ msgid "Flushed" msgstr "Flushed" msgid "Tower" -msgstr "" +msgstr "Tower" msgid "Total" msgstr "Total" @@ -3970,7 +4028,7 @@ msgid "Total time" msgstr "Total time" msgid "Total cost" -msgstr "" +msgstr "Total cost" msgid "up to" msgstr "up to" @@ -4066,10 +4124,10 @@ msgid "Normal mode" msgstr "Normal mode" msgid "Total Filament" -msgstr "" +msgstr "Total Filament" msgid "Model Filament" -msgstr "" +msgstr "Model Filament" msgid "Prepare time" msgstr "Prepare time" @@ -4165,7 +4223,7 @@ msgid "Spacing" msgstr "Spacing" msgid "0 means auto spacing." -msgstr "" +msgstr "0 means auto spacing." msgid "Auto rotate for arrangement" msgstr "Auto rotate for arrangement" @@ -4177,7 +4235,7 @@ msgid "Avoid extrusion calibration region" msgstr "Avoid extrusion calibration region" msgid "Align to Y axis" -msgstr "" +msgstr "Align to Y axis" msgid "Add plate" msgstr "Add Plate" @@ -4243,7 +4301,7 @@ msgid "An object is layed over the boundary of plate." msgstr "An object is laid over the boundary of the plate." msgid "A G-code path goes beyond the max print height." -msgstr "" +msgstr "A G-code path goes beyond the max print height." msgid "A G-code path goes beyond the boundary of plate." msgstr "A G-code path goes beyond plate boundaries." @@ -4271,10 +4329,10 @@ msgid "Bed leveling" msgstr "Bed leveling" msgid "Vibration compensation" -msgstr "" +msgstr "Vibration compensation" msgid "Motor noise cancellation" -msgstr "" +msgstr "Motor noise cancellation" msgid "Calibration program" msgstr "Calibration program" @@ -4301,7 +4359,7 @@ msgid "Calibrating" msgstr "Calibrating" msgid "No step selected" -msgstr "" +msgstr "No step selected" msgid "Auto-record Monitoring" msgstr "Auto-record Monitoring" @@ -4310,7 +4368,7 @@ msgid "Go Live" msgstr "Go Live" msgid "Liveview Retry" -msgstr "" +msgstr "Liveview Retry" msgid "Resolution" msgstr "Resolution" @@ -4368,7 +4426,7 @@ msgid "Preview" msgstr "Preview" msgid "Multi-device" -msgstr "" +msgstr "Multi-device" msgid "Project" msgstr "Project" @@ -4514,6 +4572,12 @@ msgstr "Import 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Load a model" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Import Configs" @@ -4524,10 +4588,10 @@ msgid "Import" msgstr "Import" msgid "Export all objects as one STL" -msgstr "" +msgstr "Export all objects as one STL" msgid "Export all objects as STLs" -msgstr "" +msgstr "Export all objects as STLs" msgid "Export Generic 3MF" msgstr "Export Generic 3MF" @@ -4653,49 +4717,49 @@ msgid "Help" msgstr "Help" msgid "Temperature Calibration" -msgstr "" +msgstr "Temperature Calibration" msgid "Pass 1" -msgstr "" +msgstr "Pass 1" msgid "Flow rate test - Pass 1" -msgstr "" +msgstr "Flow rate test - Pass 1" msgid "Pass 2" -msgstr "" +msgstr "Pass 2" msgid "Flow rate test - Pass 2" -msgstr "" +msgstr "Flow rate test - Pass 2" msgid "Flow rate" -msgstr "" +msgstr "Flow rate" msgid "Pressure advance" -msgstr "" +msgstr "Pressure advance" msgid "Retraction test" -msgstr "" +msgstr "Retraction test" msgid "Orca Tolerance Test" -msgstr "" +msgstr "Orca Tolerance Test" msgid "Max flowrate" -msgstr "" +msgstr "Max flowrate" msgid "VFA" -msgstr "" +msgstr "VFA" msgid "More..." -msgstr "" +msgstr "More..." msgid "Tutorial" -msgstr "" +msgstr "Tutorial" msgid "Calibration help" -msgstr "" +msgstr "Calibration help" msgid "More calibrations" -msgstr "" +msgstr "More calibrations" msgid "&Open G-code" msgstr "&Open G-code" @@ -4811,48 +4875,53 @@ msgid "Synchronization" msgstr "Synchronization" msgid "The device cannot handle more conversations. Please retry later." -msgstr "" +msgstr "The device cannot handle more conversations. Please retry later." msgid "Player is malfunctioning. Please reinstall the system player." -msgstr "" +msgstr "Player is malfunctioning. Please reinstall the system player." msgid "The player is not loaded, please click \"play\" button to retry." -msgstr "" +msgstr "The player is not loaded; please click the \"play\" button to retry." msgid "Please confirm if the printer is connected." -msgstr "" +msgstr "Please confirm if the printer is connected." msgid "" "The printer is currently busy downloading. Please try again after it " "finishes." msgstr "" +"The printer is currently busy downloading. Please try again after it " +"finishes." msgid "Printer camera is malfunctioning." -msgstr "" +msgstr "Printer camera is malfunctioning." msgid "Problem occured. Please update the printer firmware and try again." -msgstr "" +msgstr "A problem occurred. Please update the printer firmware and try again." msgid "" "LAN Only Liveview is off. Please turn on the liveview on printer screen." msgstr "" +"LAN Only Liveview is off. Please turn on the liveview on printer screen." msgid "Please enter the IP of printer to connect." -msgstr "" +msgstr "Please enter the IP of the printer to connect." msgid "Initializing..." msgstr "Initializing..." msgid "Connection Failed. Please check the network and try again" -msgstr "" +msgstr "Connection Failed. Please check the network and try again" msgid "" "Please check the network and try again, You can restart or update the " "printer if the issue persists." msgstr "" +"Please check the network and try again. You can restart or update the " +"printer if the issue persists." msgid "The printer has been logged out and cannot connect." -msgstr "" +msgstr "The printer has been logged out and cannot connect." msgid "Stopped." msgstr "Stopped." @@ -4910,9 +4979,6 @@ msgstr "Group files by month, recent first." msgid "Show all files, recent first." msgstr "Show all files, recent first." -msgid "Timelapse" -msgstr "Timelapse" - msgid "Switch to timelapse files." msgstr "Switch to timelapse files." @@ -4944,7 +5010,7 @@ msgid "Refresh" msgstr "Refresh" msgid "Reload file list from printer." -msgstr "" +msgstr "Reload file list from printer." msgid "No printers." msgstr "No printers." @@ -4957,10 +5023,10 @@ msgid "Loading file list..." msgstr "Loading file list..." msgid "No files" -msgstr "" +msgstr "No files" msgid "Load failed" -msgstr "" +msgstr "Load failed" msgid "Initialize failed (Device connection not ready)!" msgstr "Initialization failed (Device connection not ready)!" @@ -4969,15 +5035,17 @@ msgid "" "Browsing file in SD card is not supported in current firmware. Please update " "the printer firmware." msgstr "" +"Browsing file in SD card is not supported in current firmware. Please update " +"the printer firmware." msgid "Initialize failed (Storage unavailable, insert SD card.)!" msgstr "" msgid "LAN Connection Failed (Failed to view sdcard)" -msgstr "" +msgstr "LAN Connection Failed (Failed to view sdcard)" msgid "Browsing file in SD card is not supported in LAN Only Mode." -msgstr "" +msgstr "Browsing file in SD card is not supported in LAN Only Mode." #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -5004,10 +5072,10 @@ msgid "Fetching model infomations ..." msgstr "Fetching model information..." msgid "Failed to fetch model information from printer." -msgstr "" +msgstr "Failed to fetch model information from printer." msgid "Failed to parse model information." -msgstr "" +msgstr "Failed to parse model information." msgid "" "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " @@ -5023,6 +5091,8 @@ msgid "" "File: %s\n" "Title: %s\n" msgstr "" +"File: %s\n" +"Title: %s\n" msgid "Download waiting..." msgstr "Download waiting..." @@ -5044,22 +5114,24 @@ msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." msgstr "" +"Reconnecting the printer, the operation cannot be completed immediately, " +"please try again later." msgid "File does not exist." -msgstr "" +msgstr "File does not exist." msgid "File checksum error. Please retry." -msgstr "" +msgstr "File checksum error. Please retry." msgid "Not supported on the current printer version." -msgstr "" +msgstr "Not supported on the current printer version." msgid "Storage unavailable, insert SD card." -msgstr "" +msgstr "Storage unavailable, insert Micro SD card." #, c-format, boost-format msgid "Error code: %d" -msgstr "" +msgstr "Error code: %d" msgid "Speed:" msgstr "Speed:" @@ -5116,17 +5188,21 @@ msgid "" "You have completed printing the mall model, \n" "but the synchronization of rating information has failed." msgstr "" +"You have completed printing the mall model, \n" +"but synchronizing rating information has failed." msgid "How do you like this printing file?" -msgstr "" +msgstr "How do you like this printing file?" msgid "" "(The model has already been rated. Your rating will overwrite the previous " "rating.)" msgstr "" +"(The model has already been rated. Your rating will overwrite the previous " +"rating.)" msgid "Rate" -msgstr "" +msgstr "Rate" msgid "Camera" msgstr "Camera" @@ -5144,7 +5220,7 @@ msgid "Control" msgstr "Control" msgid "Printer Parts" -msgstr "" +msgstr "Printer Parts" msgid "Print Options" msgstr "Print Options" @@ -5201,6 +5277,8 @@ msgid "" "Please heat the nozzle to above 170 degree before loading or unloading " "filament." msgstr "" +"Please heat the nozzle to above 170 degree before loading or unloading " +"filament." msgid "Still unload" msgstr "Still unload" @@ -5237,64 +5315,67 @@ msgid "Can't start this without SD card." msgstr "Can't start without MicroSD card." msgid "Rate the Print Profile" -msgstr "" +msgstr "Rate the Print Profile" msgid "Comment" -msgstr "" +msgstr "Comment" msgid "Rate this print" -msgstr "" +msgstr "Rate this print" msgid "Add Photo" -msgstr "" +msgstr "Add Photo" msgid "Delete Photo" -msgstr "" +msgstr "Delete Photo" msgid "Submit" -msgstr "" +msgstr "Submit" msgid "Please click on the star first." -msgstr "" +msgstr "Please click on the star first." msgid "InFo" -msgstr "" +msgstr "Info" msgid "Get oss config failed." -msgstr "" +msgstr "Get oss config failed." msgid "Upload Pictrues" -msgstr "" +msgstr "Upload Pictures" msgid "Number of images successfully uploaded" -msgstr "" +msgstr "Number of images successfully uploaded" msgid " upload failed" -msgstr "" +msgstr " upload failed" msgid " upload config prase failed\n" -msgstr "" +msgstr " upload config prase failed\n" msgid " No corresponding storage bucket\n" -msgstr "" +msgstr " No corresponding storage bucket\n" msgid " can not be opened\n" -msgstr "" +msgstr " cannot be opened\n" msgid "" "The following issues occurred during the process of uploading images. Do you " "want to ignore them?\n" "\n" msgstr "" +"The following issues occurred during the process of uploading images. Do you " +"want to ignore them?\n" +"\n" msgid "info" msgstr "info" msgid "Synchronizing the printing results. Please retry a few seconds later." -msgstr "" +msgstr "Synchronizing the printing results. Please retry a few seconds later." msgid "Upload failed\n" -msgstr "" +msgstr "Upload failed\n" msgid "obtaining instance_id failed\n" msgstr "Obtaining instance_id failed\n" @@ -5304,28 +5385,38 @@ msgid "" "\n" " error code: " msgstr "" +"Your comment result cannot be uploaded due to the following reasons:\n" +"\n" +" error code: " msgid "error message: " -msgstr "" +msgstr "error message: " msgid "" "\n" "\n" "Would you like to redirect to the webpage for rating?" msgstr "" +"\n" +"\n" +"Would you like to redirect to the webpage to give a rating?" msgid "" "Some of your images failed to upload. Would you like to redirect to the " "webpage for rating?" msgstr "" +"Some of your images failed to upload. Would you like to redirect to the " +"webpage for rating?" msgid "You can select up to 16 images." -msgstr "" +msgstr "You can select up to 16 images." msgid "" "At least one successful print record of this print profile is required \n" "to give a positive rating(4 or 5stars)." msgstr "" +"At least one successful print record of this print profile is required \n" +"to give a positive rating (4 or 5 stars)." msgid "Status" msgstr "Status" @@ -5375,7 +5466,7 @@ msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "" msgid "Download Beta Version" -msgstr "" +msgstr "Download Beta Version" msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "" @@ -5384,13 +5475,13 @@ msgid "Update your Orca Slicer could enable all functionality in the 3mf file." msgstr "" msgid "Current Version: " -msgstr "" +msgstr "Current Version: " msgid "Latest Version: " -msgstr "" +msgstr "Latest Version: " msgid "Not for now" -msgstr "" +msgstr "Not for now" msgid "3D Mouse disconnected." msgstr "3D Mouse disconnected." @@ -5417,10 +5508,10 @@ msgid "Details" msgstr "Details" msgid "New printer config available." -msgstr "" +msgstr "New printer config available." msgid "Wiki" -msgstr "" +msgstr "Wiki" msgid "Undo integration failed." msgstr "Undo integration failed." @@ -5461,12 +5552,12 @@ msgstr[1] "" msgid "ERROR" msgstr "ERROR" -msgid "CANCELED" -msgstr "CANCELED" - msgid "COMPLETED" msgstr "COMPLETED" +msgid "CANCELED" +msgstr "CANCELED" + msgid "Cancel upload" msgstr "Cancel upload" @@ -5483,10 +5574,10 @@ msgid "Export successfully." msgstr "Exported successfully" msgid "Model file downloaded." -msgstr "" +msgstr "Model file downloaded." msgid "Serious warning:" -msgstr "" +msgstr "Serious warning:" msgid " (Repair)" msgstr " (Repair)" @@ -5573,29 +5664,29 @@ msgid "Auto-recovery from step loss" msgstr "Auto-recover from step loss" msgid "Allow Prompt Sound" -msgstr "" +msgstr "Allow Prompt Sound" msgid "Filament Tangle Detect" -msgstr "" +msgstr "Filament Tangle Detection" msgid "Nozzle Clumping Detection" -msgstr "" +msgstr "Nozzle Clumping Detection" msgid "Check if the nozzle is clumping by filament or other foreign objects." -msgstr "" +msgstr "Check if the nozzle is clumping by filament or other foreign objects." msgid "Nozzle Type" -msgstr "" +msgstr "Nozzle Type" msgid "Stainless Steel" -msgstr "" +msgstr "Stainless Steel" msgid "Hardened Steel" -msgstr "" +msgstr "Hardened Steel" #, c-format, boost-format msgid "%.1f" -msgstr "" +msgstr "%.1f" msgid "Global" msgstr "Global" @@ -5686,7 +5777,7 @@ msgid "Set filaments to use" msgstr "Set filaments to use" msgid "Search plate, object and part." -msgstr "" +msgstr "Search plate, object and part." msgid "" "No AMS filaments. Please select a printer in 'Device' page to load AMS info." @@ -5753,6 +5844,9 @@ msgid "" "clogged when printing this filament in a closed enclosure. Please open the " "front door and/or remove the upper glass." msgstr "" +"The current heatbed temperature is relatively high. The nozzle may clog when " +"printing this filament in a closed environment. Please open the front door " +"and/or remove the upper glass." msgid "" "The nozzle hardness required by the filament is higher than the default " @@ -5767,6 +5861,8 @@ msgid "" "Enabling traditional timelapse photography may cause surface imperfections. " "It is recommended to change to smooth mode." msgstr "" +"Enabling traditional timelapse photography may cause surface imperfections. " +"It is recommended to change to smooth mode." msgid "Expand sidebar" msgstr "" @@ -5810,26 +5906,30 @@ msgid "Please correct them in the param tabs" msgstr "Please correct them in the Param tabs" msgid "The 3mf has following modified G-codes in filament or printer presets:" -msgstr "" +msgstr "The 3mf has following modified G-code in filament or printer presets:" msgid "" "Please confirm that these modified G-codes are safe to prevent any damage to " "the machine!" msgstr "" +"Please confirm that these modified G-codes are safe to prevent any damage to " +"the machine!" msgid "Modified G-codes" -msgstr "" +msgstr "Modified G-code" msgid "The 3mf has following customized filament or printer presets:" -msgstr "" +msgstr "The 3mf has following customized filament or printer presets:" msgid "" "Please confirm that the G-codes within these presets are safe to prevent any " "damage to the machine!" msgstr "" +"Please confirm that the G-codes within these presets are safe to prevent any " +"damage to the machine!" msgid "Customized Preset" -msgstr "" +msgstr "Customized Preset" msgid "Name of components inside step file is not UTF8 format!" msgstr "Component name(s) inside step file not in UTF8 format!" @@ -5896,22 +5996,24 @@ msgid "Export STL file:" msgstr "Export STL file:" msgid "Export AMF file:" -msgstr "" +msgstr "Export AMF file:" msgid "Save file as:" msgstr "Save file as" msgid "Export OBJ file:" -msgstr "" +msgstr "Export OBJ file:" #, c-format, boost-format msgid "" "The file %s already exists\n" "Do you want to replace it?" msgstr "" +"The file %s already exists.\n" +"Do you want to replace it?" msgid "Comfirm Save As" -msgstr "" +msgstr "Confirm Save As" msgid "Delete object which is a part of cut object" msgstr "Delete object which is a part of cut object" @@ -5932,13 +6034,13 @@ msgid "Another export job is running." msgstr "Another export job is running." msgid "Unable to replace with more than one volume" -msgstr "" +msgstr "Unable to replace with more than one volume" msgid "Error during replace" msgstr "Error during replacement" msgid "Replace from:" -msgstr "" +msgstr "Replace from:" msgid "Select a new file" msgstr "Select a new file" @@ -5953,16 +6055,16 @@ msgid "Do you want to replace it" msgstr "Do you want to replace it?" msgid "Message" -msgstr "" +msgstr "Message" msgid "Reload from:" -msgstr "" +msgstr "Reload from:" msgid "Unable to reload:" -msgstr "" +msgstr "Unable to reload:" msgid "Error during reload" -msgstr "" +msgstr "Error during reload" msgid "There are warnings after slicing models:" msgstr "There are warnings after slicing models:" @@ -6023,13 +6125,13 @@ msgid "prepare 3mf file..." msgstr "preparing 3mf file..." msgid "Download failed, unknown file format." -msgstr "" +msgstr "Download failed; unknown file format." msgid "downloading project ..." msgstr "downloading project ..." msgid "Download failed, File size exception." -msgstr "" +msgstr "Download failed; File size exception." #, c-format, boost-format msgid "Project downloaded %d%%" @@ -6052,6 +6154,20 @@ msgstr "Does not contain valid G-code." msgid "Error occurs while loading G-code file" msgstr "An Error has occurred while loading the G-code file." +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Drop project file" @@ -6094,13 +6210,13 @@ msgid "Save G-code file as:" msgstr "Save G-code file as:" msgid "Save SLA file as:" -msgstr "" +msgstr "Save SLA file as:" msgid "The provided file name is not valid." -msgstr "" +msgstr "The provided file name is not valid." msgid "The following characters are not allowed by a FAT file system:" -msgstr "" +msgstr "The following characters are not allowed by a FAT file system:" msgid "Save Sliced file as:" msgstr "Save Sliced file as:" @@ -6117,22 +6233,24 @@ msgid "" "Unable to perform boolean operation on model meshes. Only positive parts " "will be kept. You may fix the meshes and try agian." msgstr "" +"Unable to perform boolean operation on model meshes. Only positive parts " +"will be kept. You may fix the meshes and try agian." #, boost-format msgid "Reason: part \"%1%\" is empty." -msgstr "" +msgstr "Reason: part \"%1%\" is empty." #, boost-format msgid "Reason: part \"%1%\" does not bound a volume." -msgstr "" +msgstr "Reason: part \"%1%\" does not bound a volume." #, boost-format msgid "Reason: part \"%1%\" has self intersection." -msgstr "" +msgstr "Reason: part \"%1%\" has self intersection." #, boost-format msgid "Reason: \"%1%\" and another part have no intersection." -msgstr "" +msgstr "Reason: \"%1%\" and another part have no intersection." msgid "" "Are you sure you want to store original SVGs with their local paths into the " @@ -6180,7 +6298,7 @@ msgstr "Number of currently selected parts: %1%\n" #, boost-format msgid "Number of currently selected objects: %1%\n" -msgstr "" +msgstr "Number of currently selected objects: %1%\n" #, boost-format msgid "Part name: %1%\n" @@ -6310,6 +6428,9 @@ msgid "" "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 "" +"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 setting will allow only one instance." msgid "" "If this is enabled, when starting OrcaSlicer and another instance of the " @@ -6373,17 +6494,17 @@ msgid "If enabled, useful hints are displayed at startup." msgstr "If enabled, useful hints are displayed at startup." msgid "Flushing volumes: Auto-calculate everytime the color changed." -msgstr "" +msgstr "Flushing volumes: Auto-calculate everytime the color changed." msgid "If enabled, auto-calculate everytime the color changed." -msgstr "" +msgstr "If enabled, auto-calculate every time the color changes." msgid "" "Flushing volumes: Auto-calculate every time when the filament is changed." -msgstr "" +msgstr "Flushing volumes: Auto-calculate every time the filament is changed." msgid "If enabled, auto-calculate every time when filament is changed" -msgstr "" +msgstr "If enabled, auto-calculate every time filament is changed" msgid "Remember printer configuration" msgstr "" @@ -6400,6 +6521,8 @@ msgid "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." msgstr "" +"With this option enabled, you can send a task to multiple devices at the " +"same time and manage multiple devices." msgid "Network" msgstr "" @@ -6446,6 +6569,20 @@ msgstr "" "If enabled, this sets Orca Slicer as the default application to open .step " "files." +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Maximum recent projects" @@ -6456,7 +6593,7 @@ msgid "Clear my choice on the unsaved projects." msgstr "Clear my choice on the unsaved projects." msgid "No warnings when loading 3MF with modified G-codes" -msgstr "" +msgstr "No warnings when loading 3MF with modified G-code" msgid "Auto-Backup" msgstr "Auto-Backup" @@ -6612,25 +6749,25 @@ msgid "Add/Remove materials" msgstr "Add/Remove materials" msgid "Select/Remove printers(system presets)" -msgstr "" +msgstr "Select/Remove printers(system presets)" msgid "Create printer" -msgstr "" +msgstr "Create printer" msgid "The selected preset is null!" -msgstr "" +msgstr "The selected preset is null!" msgid "End" -msgstr "" +msgstr "End" msgid "Customize" -msgstr "" +msgstr "Customize" msgid "Other layer filament sequence" -msgstr "" +msgstr "Other layer filament sequence" msgid "Please input layer value (>= 2)." -msgstr "" +msgstr "Please input layer value (>= 2)." msgid "Plate name" msgstr "Plate name" @@ -6642,16 +6779,16 @@ msgid "Print sequence" msgstr "Print sequence" msgid "Same as Global" -msgstr "" +msgstr "Same as Global" msgid "Disable" -msgstr "" +msgstr "Disable" msgid "Spiral vase" msgstr "Spiral vase" msgid "First layer filament sequence" -msgstr "" +msgstr "First layer filament sequence" msgid "Same as Global Plate Type" msgstr "Same as Global Plate Type" @@ -6766,7 +6903,7 @@ msgid "(LAN)" msgstr "(LAN)" msgid "Search" -msgstr "" +msgstr "Search" msgid "My Device" msgstr "My Device" @@ -6802,7 +6939,7 @@ msgid "Bambu Smooth PEI Plate" msgstr "" msgid "High temperature Plate" -msgstr "" +msgstr "High temperature Plate" msgid "Bambu Textured PEI Plate" msgstr "" @@ -6810,14 +6947,11 @@ msgstr "" msgid "Send print job to" msgstr "Send print job to" -msgid "Bed Leveling" -msgstr "Bed leveling" - msgid "Flow Dynamics Calibration" -msgstr "" +msgstr "Flow Dynamics Calibration" msgid "Click here if you can't connect to the printer" -msgstr "" +msgstr "Click here if you can't connect to the printer" msgid "send completed" msgstr "Send complete" @@ -6910,6 +7044,8 @@ msgid "" "The selected printer (%s) is incompatible with the chosen printer profile in " "the slicer (%s)." msgstr "" +"The selected printer (%s) is incompatible with the chosen printer profile in " +"the slicer (%s)." msgid "An SD card needs to be inserted to record timelapse." msgstr "A MicroSD card needs to be inserted to record a timelapse." @@ -6929,10 +7065,13 @@ msgid "" "When enable spiral vase mode, machines with I3 structure will not generate " "timelapse videos." msgstr "" +"When spiral vase mode is enabled, machines with I3 structure will not " +"generate timelapse videos." msgid "" "Timelapse is not supported because Print sequence is set to \"By object\"." msgstr "" +"Timelapse is not supported because Print sequence is set to \"By object\"." msgid "Errors" msgstr "Errors" @@ -6960,26 +7099,31 @@ msgstr "" #, c-format, boost-format msgid "nozzle in preset: %s %s" -msgstr "" +msgstr "nozzle in preset: %s %s" #, c-format, boost-format msgid "nozzle memorized: %.1f %s" -msgstr "" +msgstr "nozzle memorized: %.1f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " "If you changed your nozzle lately, please go to Device > Printer Parts to " "change settings." msgstr "" +"Your nozzle diameter in sliced file is not consistent with the saved nozzle. " +"If you changed your nozzle lately, please go to Device > Printer Parts to " +"change settings." #, c-format, boost-format msgid "" "Printing high temperature material(%s material) with %s may cause nozzle " "damage" msgstr "" +"Printing high temperature material(%s material) with %s may cause nozzle " +"damage" msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "" +msgstr "Please fix the error above, otherwise printing cannot continue." msgid "" "Please click the confirm button if you still want to proceed with printing." @@ -6989,20 +7133,23 @@ msgstr "" msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" +"Connecting to the printer. Unable to cancel during the connection process." msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." msgstr "" +"Caution to use! Flow calibration on Textured PEI Plate may fail due to the " +"scattered surface." msgid "Automatic flow calibration using Micro Lidar" -msgstr "" +msgstr "Automatic flow calibration using Micro Lidar" msgid "Modifying the device name" msgstr "Modifying the device name" msgid "Bind with Pin Code" -msgstr "" +msgstr "Bind with Pin Code" msgid "Send to Printer SD card" msgstr "Send to Printer MicroSD card" @@ -7011,7 +7158,7 @@ msgid "Cannot send the print task when the upgrade is in progress" msgstr "Cannot send print tasks when an update is in progress" msgid "The selected printer is incompatible with the chosen printer presets." -msgstr "" +msgstr "The selected printer is incompatible with the chosen printer presets." msgid "An SD card needs to be inserted before send to printer SD card." msgstr "" @@ -7027,7 +7174,7 @@ msgid "Slice ok." msgstr "Slice complete" msgid "View all Daily tips" -msgstr "" +msgstr "View all Daily tips" msgid "Failed to create socket" msgstr "Failed to create socket" @@ -7060,21 +7207,23 @@ msgid "" "Please Find the Pin Code in Account page on printer screen,\n" " and type in the Pin Code below." msgstr "" +"Please Find the Pin Code in Account page on printer screen,\n" +" and type in the Pin Code below." msgid "Can't find Pin Code?" -msgstr "" +msgstr "Can't find Pin Code?" msgid "Pin Code" -msgstr "" +msgstr "Pin Code" msgid "Binding..." -msgstr "" +msgstr "Binding..." msgid "Please confirm on the printer screen" -msgstr "" +msgstr "Please confirm on the printer screen" msgid "Log in failed. Please check the Pin Code." -msgstr "" +msgstr "Log in failed. Please check the Pin Code." msgid "Log in printer" msgstr "Log in printer" @@ -7193,7 +7342,7 @@ msgstr "" "the model without prime tower. Do you want to enable the prime tower?" msgid "Still print by object?" -msgstr "" +msgstr "Still print by object?" msgid "" "We have added an experimental style \"Tree Slim\" that features smaller " @@ -7251,15 +7400,17 @@ msgid "" "Layer height exceeds the limit in Printer Settings -> Extruder -> Layer " "height limits ,this may cause printing quality issues." msgstr "" +"Layer height exceeds the limit in Printer Settings -> Extruder -> Layer " +"height limits ,this may cause printing quality issues." msgid "Adjust to the set range automatically? \n" -msgstr "" +msgstr "Adjust to the set range automatically? \n" msgid "Adjust" -msgstr "" +msgstr "Adjust" msgid "Ignore" -msgstr "" +msgstr "Ignore" msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7267,6 +7418,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other " "printing complications." msgstr "" +"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." msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7274,6 +7429,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other printing " "complications.Please use with the latest printer firmware." msgstr "" +"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." msgid "" "When recording timelapse without toolhead, it is recommended to add a " @@ -7344,7 +7503,7 @@ msgid "Acceleration" msgstr "Acceleration" msgid "Jerk(XY)" -msgstr "" +msgstr "Jerk(XY)" msgid "Raft" msgstr "Raft" @@ -7371,7 +7530,7 @@ msgid "Post-processing Scripts" msgstr "Post-processing Scripts" msgid "Notes" -msgstr "" +msgstr "Notes" msgid "Frequent" msgstr "Frequent" @@ -7445,13 +7604,16 @@ msgstr "" "of 0 means the filament does not support printing on the Engineering Plate." msgid "Smooth PEI Plate / High Temp Plate" -msgstr "" +msgstr "Smooth PEI Plate / High Temp Plate" msgid "" "Bed temperature when Smooth PEI Plate/High temperature plate is installed. " "Value 0 means the filament does not support to print on the Smooth PEI Plate/" "High Temp Plate" msgstr "" +"Bed temperature when Smooth PEI Plate/High temperature plate is installed. " +"Value 0 means the filament does not support to print on the Smooth PEI Plate/" +"High Temp Plate" msgid "Textured PEI Plate" msgstr "Textured PEI Plate" @@ -7503,13 +7665,13 @@ msgid "Auxiliary part cooling fan" msgstr "Auxiliary part cooling fan" msgid "Exhaust fan" -msgstr "" +msgstr "Exhaust fan" msgid "During print" -msgstr "" +msgstr "During print" msgid "Complete print" -msgstr "" +msgstr "Complete print" msgid "Filament start G-code" msgstr "Filament start G-code" @@ -7560,7 +7722,7 @@ msgid "Machine end G-code" msgstr "Machine end G-code" msgid "Printing by object G-code" -msgstr "" +msgstr "Printing by object G-code" msgid "Before layer change G-code" msgstr "Before layer change G-code" @@ -7569,7 +7731,7 @@ msgid "Layer change G-code" msgstr "Layer change G-code" msgid "Time lapse G-code" -msgstr "" +msgstr "Time lapse G-code" msgid "Change filament G-code" msgstr "Change filament G-code" @@ -7621,9 +7783,12 @@ msgid "" "\n" "Shall I disable it in order to enable Firmware Retraction?" msgstr "" +"The Wipe option is not available when using the Firmware Retraction mode.\n" +"\n" +"Disable it in order to enable Firmware Retraction?" msgid "Firmware Retraction" -msgstr "" +msgstr "Firmware Retraction" msgid "Detached" msgstr "Detached" @@ -7633,9 +7798,11 @@ 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 Filament Preset and %d Process Preset is attached to this printer. Those " +"presets would be deleted if the printer is deleted." msgid "Presets inherited by other presets can not be deleted!" -msgstr "" +msgstr "Presets inherited by other presets can not be deleted!" msgid "The following presets inherit this preset." msgid_plural "The following preset inherits this preset." @@ -7657,6 +7824,9 @@ msgid "" "If the preset corresponds to a filament currently in use on your printer, " "please reset the filament information for that slot." msgstr "" +"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." #, boost-format msgid "Are you sure to %1% the selected preset?" @@ -7757,12 +7927,14 @@ msgstr "" #, boost-format msgid "You have changed some settings of preset \"%1%\". " -msgstr "" +msgstr "You have changed some settings of preset \"%1%\". " msgid "" "\n" "You can save or discard the preset values you have modified." msgstr "" +"\n" +"You can save or discard the preset values you have modified." msgid "" "\n" @@ -7771,7 +7943,7 @@ msgid "" msgstr "" msgid "You have previously modified your settings." -msgstr "" +msgstr "You have previously modified your settings." msgid "" "\n" @@ -7926,7 +8098,7 @@ msgid "Auto-Calc" msgstr "Auto-Calc" msgid "Re-calculate" -msgstr "" +msgstr "Re-calculate" msgid "Flushing volumes for filament change" msgstr "Flushing volumes for filament change" @@ -7966,10 +8138,10 @@ msgid "To" msgstr "To" msgid "Bambu Network plug-in not detected." -msgstr "" +msgstr "Bambu Network plug-in not detected." msgid "Click here to download it." -msgstr "" +msgstr "Click here to download it." msgid "Login" msgstr "Login" @@ -8002,7 +8174,7 @@ msgid "Show/Hide 3Dconnexion devices settings dialog" msgstr "Show/Hide 3Dconnexion devices settings dialog" msgid "Switch table page" -msgstr "" +msgstr "Switch table page" msgid "Show keyboard shortcuts list" msgstr "Show keyboard shortcuts list" @@ -8264,49 +8436,49 @@ msgid "New version of Orca Slicer" msgstr "New version of Orca Slicer" msgid "Skip this Version" -msgstr "" +msgstr "Skip this Version" msgid "Done" msgstr "Done" msgid "resume" -msgstr "" +msgstr "resume" msgid "Resume Printing" -msgstr "" +msgstr "Resume Printing" msgid "Resume Printing(defects acceptable)" -msgstr "" +msgstr "Resume Printing (defects acceptable)" msgid "Resume Printing(problem solved)" -msgstr "" +msgstr "Resume Printing (problem solved)" msgid "Stop Printing" -msgstr "" +msgstr "Stop Printing" msgid "Check Assistant" -msgstr "" +msgstr "Check Assistant" msgid "Filament Extruded, Continue" -msgstr "" +msgstr "Filament Extruded, Continue" msgid "Not Extruded Yet, Retry" -msgstr "" +msgstr "Not Extruded Yet, Retry" msgid "Finished, Continue" -msgstr "" +msgstr "Finished, Continue" msgid "Load Filament" msgstr "Load" msgid "Filament Loaded, Resume" -msgstr "" +msgstr "Filament Loaded, Resume" msgid "View Liveview" -msgstr "" +msgstr "View Liveview" msgid "Confirm and Update Nozzle" -msgstr "" +msgstr "Confirm and Update Nozzle" msgid "LAN Connection Failed (Sending print file)" msgstr "LAN Connection Failed (Sending print file)" @@ -8333,21 +8505,23 @@ msgid "Where to find your printer's IP and Access Code?" msgstr "Where to find your printer's IP and Access Code?" msgid "Step 3: Ping the IP address to check for packet loss and latency." -msgstr "" +msgstr "Step 3: Ping the IP address to check for packet loss and latency." msgid "Test" -msgstr "" +msgstr "Test" msgid "IP and Access Code Verified! You may close the window" -msgstr "" +msgstr "IP and Access Code Verified! You may close the window" msgid "Connection failed, please double check IP and Access Code" -msgstr "" +msgstr "Connection failed, please double check IP and Access Code" msgid "" "Connection failed! If your IP and Access Code is correct, \n" "please move to step 3 for troubleshooting network issues" msgstr "" +"Connection failed! If your IP and Access Code is correct, \n" +"please move to step 3 for troubleshooting network issues" msgid "Model:" msgstr "Model:" @@ -8362,7 +8536,7 @@ msgid "Update firmware" msgstr "Update firmware" msgid "Beta version" -msgstr "" +msgstr "Beta version" msgid "Latest version" msgstr "Latest version" @@ -8724,26 +8898,33 @@ msgid "" msgstr "" msgid "Variable layer height is not supported with Organic supports." -msgstr "" +msgstr "Variable layer height is not supported with Organic supports." msgid "" "Different nozzle diameters and different filament diameters is not allowed " "when prime tower is enabled." msgstr "" +"Different nozzle diameters and different filament diameters is not allowed " +"when prime tower is enabled." msgid "" "The Wipe Tower is currently only supported with the relative extruder " "addressing (use_relative_e_distances=1)." msgstr "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." msgid "" "Ooze prevention is currently not supported with the prime tower enabled." msgstr "" +"Ooze prevention is currently not supported with the prime tower enabled." msgid "" "The prime tower is currently only supported for the Marlin, RepRap/Sprinter, " "RepRapFirmware and Repetier G-code flavors." msgstr "" +"The prime tower is currently only supported for the Marlin, RepRap/Sprinter, " +"RepRapFirmware and Repetier G-code flavors." msgid "The prime tower is not supported in \"By object\" print." msgstr "A prime tower is not supported in “By object” print." @@ -8971,11 +9152,12 @@ msgstr "" "username:password@your-octopi-address/" msgid "Device UI" -msgstr "" +msgstr "Device UI" msgid "" "Specify the URL of your device user interface if it's not same as print_host" msgstr "" +"Specify the URL of your device user interface if it's not same as print_host" msgid "API Key / Password" msgstr "API Key / Password" @@ -9135,16 +9317,16 @@ msgid "Engineering Plate" msgstr "Engineering Plate" msgid "First layer print sequence" -msgstr "" +msgstr "First layer print sequence" msgid "Other layers print sequence" -msgstr "" +msgstr "Other layers print sequence" msgid "The number of other layers print sequence" -msgstr "" +msgstr "The number of other layers print sequence" msgid "Other layers filament sequence" -msgstr "" +msgstr "Other layers filament sequence" msgid "This G-code is inserted at every layer change before lifting z" msgstr "This G-code is inserted at every layer change before lifting z." @@ -9275,12 +9457,14 @@ msgid "" msgstr "" msgid "Top surface flow ratio" -msgstr "" +msgstr "Top surface flow ratio" msgid "" "This factor affects the amount of material for top solid infill. You can " "decrease it slightly to have smooth surface finish" msgstr "" +"This factor affects the amount of material for top solid infill. You can " +"decrease it slightly to have smooth surface finish" msgid "Bottom surface flow ratio" msgstr "" @@ -9425,7 +9609,7 @@ msgid "" msgstr "" msgid "mm/s or %" -msgstr "" +msgstr "mm/s or %" msgid "External" msgstr "" @@ -9569,7 +9753,7 @@ msgid "Default process profile when switch to this machine profile" msgstr "Default process profile when switching to this machine profile" msgid "Activate air filtration" -msgstr "" +msgstr "Activate air filtration" msgid "Activate for better air filtration. G-code command: M106 P3 S(0-255)" msgstr "" @@ -9581,6 +9765,8 @@ msgid "" "Speed of exhaust fan during printing.This speed will overwrite the speed in " "filament custom gcode" msgstr "" +"Speed of exhaust fan during printing.This speed will override the speed in " +"filament custom g-code" msgid "Speed of exhaust fan after printing completes" msgstr "" @@ -9687,12 +9873,14 @@ msgid "End G-code when finish the whole printing" msgstr "Add end G-Code when finishing the entire print." msgid "Between Object Gcode" -msgstr "" +msgstr "Between Object Gcode" msgid "" "Insert Gcode between objects. This parameter will only come into effect when " "you print your models object by object" msgstr "" +"Insert Gcode between objects. This parameter will only come into effect when " +"you print your models object by object" msgid "End G-code when finish the printing of this filament" msgstr "Add end G-code when finishing the printing of this filament." @@ -9756,7 +9944,7 @@ msgstr "" "infill." msgid "Internal solid infill pattern" -msgstr "" +msgstr "Internal solid infill pattern" msgid "" "Line pattern of internal solid infill. if the detect narrow internal solid " @@ -9776,7 +9964,7 @@ msgstr "" "printed slower than inner walls for higher quality." msgid "Small perimeters" -msgstr "" +msgstr "Small perimeters" msgid "" "This separate setting will affect the speed of perimeters having radius <= " @@ -9791,6 +9979,7 @@ msgstr "" msgid "" "This sets the threshold for small perimeter length. Default threshold is 0mm" msgstr "" +"This sets the threshold for small perimeter length. Default threshold is 0mm" msgid "Walls printing order" msgstr "" @@ -9830,7 +10019,7 @@ msgid "Inner/Outer/Inner" msgstr "" msgid "Print infill first" -msgstr "" +msgstr "Print infill first" msgid "" "Order of wall/infill. When the tickbox is unchecked the walls are printed " @@ -9891,10 +10080,10 @@ msgstr "" "printing." msgid "Nozzle height" -msgstr "" +msgstr "Nozzle height" msgid "The height of nozzle tip." -msgstr "" +msgstr "The height of nozzle tip." msgid "Bed mesh min" msgstr "" @@ -9966,7 +10155,7 @@ msgstr "" "is slight overflow or underflow." msgid "Enable pressure advance" -msgstr "" +msgstr "Enable pressure advance" msgid "" "Enable pressure advance, auto calibration result will be overwriten once " @@ -10011,10 +10200,10 @@ msgid "Default filament color" msgstr "Default filament color" msgid "Filament notes" -msgstr "" +msgstr "Filament notes" msgid "You can put your notes regarding the filament here." -msgstr "" +msgstr "You can put your notes regarding the filament here." msgid "Required nozzle HRC" msgstr "Required nozzle HRC" @@ -10211,13 +10400,16 @@ msgstr "" "Support material is commonly used to print support and support interfaces." msgid "Softening temperature" -msgstr "" +msgstr "Softening temperature" msgid "" "The material softens at this temperature, so when the bed temperature is " "equal to or greater than it, it's highly recommended to open the front door " "and/or remove the upper glass to avoid cloggings." msgstr "" +"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 clogs." msgid "Price" msgstr "Price" @@ -10229,10 +10421,10 @@ msgid "money/kg" msgstr "money/kg" msgid "Vendor" -msgstr "" +msgstr "Vendor" msgid "Vendor of filament. For show only" -msgstr "" +msgstr "Vendor of filament. For show only" msgid "(Undefined)" msgstr "(Undefined)" @@ -10307,7 +10499,7 @@ msgid "Lightning" msgstr "Lightning" msgid "Cross Hatch" -msgstr "" +msgstr "Cross Hatch" msgid "Sparse infill anchor length" msgstr "" @@ -10375,12 +10567,14 @@ msgid "" msgstr "" msgid "mm/s² or %" -msgstr "" +msgstr "mm/s² or %" 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 "" +"Acceleration of sparse infill. If the value is expressed as a percentage (e." +"g. 100%), it will be calculated based on the default acceleration." msgid "" "Acceleration of internal solid infill. If the value is expressed as a " @@ -10396,13 +10590,13 @@ msgstr "" "acceleration can improve build plate adhesion." msgid "Enable accel_to_decel" -msgstr "" +msgstr "Enable accel_to_decel" msgid "Klipper's max_accel_to_decel will be adjusted automatically" -msgstr "" +msgstr "Klipper's max_accel_to_decel will be adjusted automatically" msgid "accel_to_decel" -msgstr "" +msgstr "accel_to_decel" #, c-format, boost-format msgid "" @@ -10410,10 +10604,10 @@ msgid "" msgstr "" msgid "Jerk of outer walls" -msgstr "" +msgstr "Jerk of outer walls" msgid "Jerk of inner walls" -msgstr "" +msgstr "Jerk of inner walls" msgid "Jerk for top surface" msgstr "" @@ -10538,7 +10732,7 @@ msgid "Whether to apply fuzzy skin on the first layer" msgstr "" msgid "Filter out tiny gaps" -msgstr "" +msgstr "Filter out tiny gaps" msgid "Layers and Perimeters" msgstr "Layers and Perimeters" @@ -10554,13 +10748,16 @@ msgstr "" "should be printed more slowly." msgid "Precise Z height" -msgstr "" +msgstr "Precise Z height" 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 "" +"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." msgid "Arc fitting" msgstr "Arc fitting" @@ -10629,10 +10826,10 @@ msgid "HRC" msgstr "HRC" msgid "Printer structure" -msgstr "" +msgstr "Printer structure" msgid "The physical arrangement and components of a printing device" -msgstr "" +msgstr "The physical arrangement and components of a printing device" msgid "CoreXY" msgstr "" @@ -10647,10 +10844,10 @@ msgid "Delta" msgstr "" msgid "Best object position" -msgstr "" +msgstr "Best object position" msgid "Best auto arranging position in range [0,1] w.r.t. bed shape." -msgstr "" +msgstr "Best auto arranging position in range [0,1] w.r.t. bed shape." msgid "" "Enable this option if machine has auxiliary part cooling fan. G-code " @@ -10696,7 +10893,7 @@ msgid "money/h" msgstr "" msgid "Support control chamber temperature" -msgstr "" +msgstr "Support controlling chamber temperature" msgid "" "This option is enabled if machine support controlling chamber temperature\n" @@ -10704,7 +10901,7 @@ msgid "" msgstr "" msgid "Support air filtration" -msgstr "" +msgstr "Support air filtration" msgid "" "Enable this if printer support air filtration\n" @@ -10737,7 +10934,7 @@ msgid "" msgstr "" msgid "Exclude objects" -msgstr "" +msgstr "Exclude objects" msgid "Enable this option to add EXCLUDE OBJECT command in g-code" msgstr "" @@ -10796,25 +10993,29 @@ msgid "Speed of internal sparse infill" msgstr "This is the speed for internal sparse infill." msgid "Interface shells" -msgstr "" +msgstr "Interface shells" 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 "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material" msgid "Maximum width of a segmented region" -msgstr "" +msgstr "Maximum width of a segmented region" msgid "Maximum width of a segmented region. Zero disables this feature." msgstr "" +"Maximum width of a segmented region. A value of 0 disables this feature." msgid "Interlocking depth of a segmented region" -msgstr "" +msgstr "Interlocking depth of a segmented region" msgid "Interlocking depth of a segmented region. Zero disables this feature." -msgstr "" +msgstr "Interlocking depth of a segmented region. Zero disables this feature." msgid "Ironing Type" msgstr "Ironing type" @@ -11288,10 +11489,10 @@ msgid "" msgstr "" msgid "Printer notes" -msgstr "" +msgstr "Printer notes" msgid "You can put your notes regarding the printer here." -msgstr "" +msgstr "You can put your notes regarding the printer here." msgid "Raft contact Z distance" msgstr "Raft contact Z distance" @@ -11374,7 +11575,7 @@ msgstr "" "oozing during long travel distances. Set to 0 to disable retraction." msgid "Long retraction when cut(experimental)" -msgstr "" +msgstr "Long retraction when cut (experimental)" msgid "" "Experimental feature.Retracting and cutting off the filament at a longer " @@ -11382,14 +11583,20 @@ msgid "" "significantly, it may also raise the risk of nozzle clogs or other printing " "problems." msgstr "" +"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." msgid "Retraction distance when cut" -msgstr "" +msgstr "Retraction distance when cut" msgid "" "Experimental feature.Retraction length before cutting off during filament " "change" msgstr "" +"Experimental feature. Retraction length before cutting off during filament " +"change" msgid "Z hop when retract" msgstr "Z hop when retracting" @@ -11405,20 +11612,24 @@ msgstr "" "prevent stringing." msgid "Z hop lower boundary" -msgstr "" +msgstr "Z hop lower boundary" 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 will only come into effect when Z is above this value and is below the " +"parameter: \"Z hop upper boundary\"" msgid "Z hop upper boundary" -msgstr "" +msgstr "Z hop upper boundary" 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 "" +"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" msgid "Z hop type" msgstr "" @@ -11466,7 +11677,7 @@ msgid "Top and Bottom" msgstr "" msgid "Extra length on restart" -msgstr "" +msgstr "Extra length on restart" msgid "" "When the retraction is compensated after the travel move, the extruder will " @@ -11495,7 +11706,7 @@ msgstr "" "setting this to 0 means that it will be the same speed as the retraction." msgid "Use firmware retraction" -msgstr "" +msgstr "Use firmware retraction" msgid "" "This experimental setting uses G10 and G11 commands to have the firmware " @@ -11539,7 +11750,7 @@ msgid "" msgstr "" msgid "Seam gap" -msgstr "" +msgstr "Seam gap" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " @@ -11553,17 +11764,20 @@ msgstr "" msgid "Use scarf joint to minimize seam visibility and increase seam strength." msgstr "" +"Use scarf joint to minimize seam visibility and increase seam strength." msgid "Conditional scarf joint" -msgstr "" +msgstr "Conditional scarf joint" msgid "" "Apply scarf joints only to smooth perimeters where traditional seams do not " "conceal the seams at sharp corners effectively." msgstr "" +"Apply scarf joints only to smooth perimeters where traditional seams do not " +"conceal the seams at sharp corners effectively." msgid "Conditional angle threshold" -msgstr "" +msgstr "Conditional angle threshold" msgid "" "This option sets the threshold angle for applying a conditional scarf joint " @@ -11606,39 +11820,44 @@ msgid "This factor affects the amount of material for scarf joints." msgstr "" msgid "Scarf start height" -msgstr "" +msgstr "Scarf start height" 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 "" +"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." msgid "Scarf around entire wall" -msgstr "" +msgstr "Scarf around entire wall" msgid "The scarf extends to the entire length of the wall." -msgstr "" +msgstr "The scarf extends to the entire length of the wall." msgid "Scarf length" -msgstr "" +msgstr "Scarf length" msgid "" "Length of the scarf. Setting this parameter to zero effectively disables the " "scarf." msgstr "" +"Length of the scarf. Setting this parameter to zero effectively disables the " +"scarf." msgid "Scarf steps" -msgstr "" +msgstr "Scarf steps" msgid "Minimum number of segments of each scarf." -msgstr "" +msgstr "Minimum number of segments of each scarf." msgid "Scarf joint for inner walls" -msgstr "" +msgstr "Scarf joint for inner walls" msgid "Use scarf joint for inner walls as well." -msgstr "" +msgstr "Use scarf joint for inner walls as well." msgid "Role base wipe speed" msgstr "" @@ -11673,7 +11892,7 @@ msgid "" msgstr "" msgid "Wipe speed" -msgstr "" +msgstr "Wipe speed" msgid "" "The wipe speed is determined by the speed setting specified in this " @@ -11681,6 +11900,10 @@ msgid "" "be calculated based on the travel speed setting above.The default value for " "this parameter is 80%" msgstr "" +"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%" msgid "Skirt distance" msgstr "Skirt distance" @@ -11779,20 +12002,24 @@ msgstr "" "The final generated model has no seam." msgid "Smooth Spiral" -msgstr "" +msgstr "Smooth Spiral" msgid "" "Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " "at all, even in the XY directions on walls that are not vertical" msgstr "" +"Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " +"at all, even in the XY directions on walls that are not vertical" msgid "Max XY Smoothing" -msgstr "" +msgstr "Max XY Smoothing" msgid "" "Maximum distance to move points in XY to try to achieve a smooth spiralIf " "expressed as a %, it will be computed over nozzle diameter" msgstr "" +"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" msgid "" "If smooth or traditional mode is selected, a timelapse video will be " @@ -11970,10 +12197,10 @@ msgstr "" "etc." msgid "Remove small overhangs" -msgstr "" +msgstr "Remove small overhangs" msgid "Remove small overhangs that possibly need no supports." -msgstr "" +msgstr "Remove small overhangs that possibly need no supports." msgid "Top Z distance" msgstr "Top Z distance" @@ -11998,11 +12225,12 @@ msgstr "" "filament for support, and current filament is used" msgid "Avoid interface filament for base" -msgstr "" +msgstr "Avoid interface filament for base" msgid "" "Avoid using support interface filament to print support base if possible." msgstr "" +"Avoid using support interface filament to print support base if possible." msgid "" "Line width of support. If expressed as a %, it will be computed over the " @@ -12038,10 +12266,10 @@ msgid "Bottom interface layers" msgstr "Bottom interface layers" msgid "Number of bottom interface layers" -msgstr "" +msgstr "Number of bottom interface layers" msgid "Same as top" -msgstr "" +msgstr "Same as top" msgid "Top interface spacing" msgstr "Top interface spacing" @@ -12248,10 +12476,10 @@ msgid "" msgstr "" msgid "Support wall loops" -msgstr "" +msgstr "Support wall loops" msgid "This setting specify the count of walls around support" -msgstr "" +msgstr "This setting specify the count of walls around support" msgid "Tree support with infill" msgstr "Tree support with infill" @@ -12273,7 +12501,7 @@ msgid "" msgstr "" msgid "Chamber temperature" -msgstr "" +msgstr "Chamber temperature" msgid "" "Higher chamber temperature can help suppress or reduce warping and " @@ -12284,6 +12512,12 @@ msgid "" "high to avoid cloggings, so 0 which stands for turning off is highly " "recommended" msgstr "" +"Higher chamber temperature can help suppress or reduce warping and " +"potentially lead to higher interlayer bonding strength for high temperature " +"materials like ABS, ASA, PC, PA and so on. At the same time, the air " +"filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and " +"other low temperature materials, the actual chamber temperature should not " +"be high to avoid clogs, so 0 (turned off) is highly recommended." msgid "Nozzle temperature for layers after the initial one" msgstr "Nozzle temperature after the first layer" @@ -12428,17 +12662,29 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -12565,7 +12811,7 @@ msgid "" msgstr "" msgid "Use relative E distances" -msgstr "" +msgstr "Use relative E distances" msgid "" "Relative extrusion is recommended when using \"label_objects\" option.Some " @@ -13120,7 +13366,7 @@ msgid "load_obj: failed to parse" msgstr "load_obj: failed to parse" msgid "load mtl in obj: failed to parse" -msgstr "" +msgstr "load mtl in obj: failed to parse" msgid "The file contains polygons with more than 4 vertices." msgstr "The file contains polygons with more than 4 vertices." @@ -13135,67 +13381,70 @@ msgid "This OBJ file couldn't be read because it's empty." msgstr "This OBJ file couldn't be read because it's empty." msgid "Flow Rate Calibration" -msgstr "" +msgstr "Flow Rate Calibration" msgid "Max Volumetric Speed Calibration" -msgstr "" +msgstr "Max Volumetric Speed Calibration" msgid "Manage Result" -msgstr "" +msgstr "Manage Result" msgid "Manual Calibration" -msgstr "" +msgstr "Manual Calibration" msgid "Result can be read by human eyes." -msgstr "" +msgstr "Result can be read by human eyes." msgid "Auto-Calibration" -msgstr "" +msgstr "Auto-Calibration" msgid "We would use Lidar to read the calibration result" -msgstr "" +msgstr "We would use Lidar to read the calibration result" msgid "Prev" -msgstr "" +msgstr "Prev" msgid "Recalibration" -msgstr "" +msgstr "Recalibration" msgid "Calibrate" -msgstr "" +msgstr "Calibrate" msgid "Finish" msgstr "Finish" msgid "How to use calibration result?" -msgstr "" +msgstr "How can I use calibration results?" msgid "" "You could change the Flow Dynamics Calibration Factor in material editing" msgstr "" +"You could change the Flow Dynamics Calibration Factor in material editing" msgid "" "The current firmware version of the printer does not support calibration.\n" "Please upgrade the printer firmware." msgstr "" +"The current firmware version of the printer does not support calibration.\n" +"Please upgrade the printer firmware." msgid "Calibration not supported" -msgstr "" +msgstr "Calibration not supported" msgid "Error desc" -msgstr "" +msgstr "Error desc" msgid "Extra info" -msgstr "" +msgstr "Extra info" msgid "Flow Dynamics" -msgstr "" +msgstr "Flow Dynamics" msgid "Flow Rate" -msgstr "" +msgstr "Flow Rate" msgid "Max Volumetric Speed" -msgstr "" +msgstr "Max Volumetric Speed" #, c-format, boost-format msgid "" @@ -13205,38 +13454,44 @@ msgid "" "End value: > Start value\n" "Value step: >= %.3f)" msgstr "" +"Please input valid values:\n" +"Start value: >= %.1f\n" +"End value: <= %.1f\n" +"End value: > Start value\n" +"Value step: >= %.3f)" msgid "The name cannot be empty." -msgstr "" +msgstr "The name cannot be empty." #, c-format, boost-format msgid "The selected preset: %s is not found." -msgstr "" +msgstr "The selected preset: %s is not found." msgid "The name cannot be the same as the system preset name." -msgstr "" +msgstr "The name cannot be the same as the system preset name." msgid "The name is the same as another existing preset name" -msgstr "" +msgstr "The name is the same as another existing preset name" msgid "create new preset failed." -msgstr "" +msgstr "create new preset failed." msgid "" "Are you sure to cancel the current calibration and return to the home page?" msgstr "" +"Are you sure to cancel the current calibration and return to the home page?" msgid "No Printer Connected!" -msgstr "" +msgstr "No Printer Connected!" msgid "Printer is not connected yet." -msgstr "" +msgstr "Printer is not connected yet." msgid "Please select filament to calibrate." -msgstr "" +msgstr "Please select filament to calibrate." msgid "The input value size must be 3." -msgstr "" +msgstr "The input value size must be 3." msgid "" "This machine type can only hold 16 history results per nozzle. You can " @@ -13245,15 +13500,20 @@ msgid "" "historical results. \n" "Do you still want to continue the calibration?" msgstr "" +"This machine type can only hold 16 historical 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?" msgid "Connecting to printer..." -msgstr "" +msgstr "Connecting to printer..." msgid "The failed test result has been dropped." -msgstr "" +msgstr "The failed test result has been dropped." msgid "Flow Dynamics Calibration result has been saved to the printer" -msgstr "" +msgstr "Flow Dynamics Calibration result has been saved to the printer" #, c-format, boost-format msgid "" @@ -13261,27 +13521,32 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to override the historical result?" msgstr "" +"There is already a previous calibration result with the same name: %s. Only " +"one result with a name is saved. Are you sure you want to overwrite the " +"previous result?" #, c-format, boost-format msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." msgstr "" +"This machine type can only hold %d historical results per nozzle. This " +"result will not be saved." msgid "Internal Error" -msgstr "" +msgstr "Internal Error" msgid "Please select at least one filament for calibration" -msgstr "" +msgstr "Please select at least one filament for calibration" msgid "Flow rate calibration result has been saved to preset" -msgstr "" +msgstr "Flow rate calibration result has been saved to preset" msgid "Max volumetric speed calibration result has been saved to preset" -msgstr "" +msgstr "Max volumetric speed calibration result has been saved to preset" msgid "When do you need Flow Dynamics Calibration" -msgstr "" +msgstr "When do you need Flow Dynamics Calibration" msgid "" "We now have added the auto-calibration for different filaments, which is " @@ -13293,9 +13558,17 @@ msgid "" "3. If the max volumetric speed or print temperature is changed in the " "filament setting." msgstr "" +"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." msgid "About this calibration" -msgstr "" +msgstr "About this calibration" msgid "" "Please find the details of Flow Dynamics Calibration from our wiki.\n" @@ -13316,9 +13589,26 @@ msgid "" "cause the result not exactly the same in each calibration. We are still " "investigating the root cause to do improvements with new updates." msgstr "" +"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 there are a few cases that will make the calibration result not " +"reliable: using a texture plate to do the calibration; the build plate does " +"not have good adhesion (please wash the build plate or apply gluestick!) ..." +"You can find more from 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." msgid "When to use Flow Rate Calibration" -msgstr "" +msgstr "When to use Flow Rate Calibration" msgid "" "After using Flow Dynamics Calibration, there might still be some extrusion " @@ -13331,12 +13621,24 @@ msgid "" "4. Weak Structural Integrity: Prints break easily or don't seem as sturdy as " "they should be." msgstr "" +"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." 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 "" +"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." msgid "" "Flow Rate Calibration measures the ratio of expected to actual extrusion " @@ -13346,6 +13648,12 @@ msgid "" "you still see the listed defects after you have done other calibrations. For " "more details, please check out the wiki article." msgstr "" +"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." msgid "" "Auto Flow Rate Calibration utilizes Bambu Lab's Micro-Lidar technology, " @@ -13365,48 +13673,69 @@ msgid "" "can lead to sub-par prints or printer damage. Please make sure to carefully " "read and understand the process before doing it." msgstr "" +"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, have sparkles, or have a highly-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." msgid "When you need Max Volumetric Speed Calibration" -msgstr "" +msgstr "When you need Max Volumetric Speed Calibration" msgid "Over-extrusion or under extrusion" -msgstr "" +msgstr "Over-extrusion or under extrusion" msgid "Max Volumetric Speed calibration is recommended when you print with:" -msgstr "" +msgstr "Max Volumetric Speed calibration is recommended when you print with:" msgid "material with significant thermal shrinkage/expansion, such as..." -msgstr "" +msgstr "material with significant thermal shrinkage/expansion, such as..." msgid "materials with inaccurate filament diameter" -msgstr "" +msgstr "materials with inaccurate filament diameter" msgid "We found the best Flow Dynamics Calibration Factor" -msgstr "" +msgstr "We found the best Flow Dynamics Calibration Factor" msgid "" "Part of the calibration failed! You may clean the plate and retry. The " "failed test result would be dropped." msgstr "" +"Part of the calibration failed! You may clean the plate and retry. The " +"failed test result would be dropped." msgid "" "*We recommend you to add brand, materia, type, and even humidity level in " "the Name" msgstr "" +"*We recommend you to add brand, materia, type, and even humidity level in " +"the Name" msgid "Failed" msgstr "Failed" msgid "Please enter the name you want to save to printer." -msgstr "" +msgstr "Please enter the name you want to save to printer." msgid "The name cannot exceed 40 characters." -msgstr "" +msgstr "The name cannot exceed 40 characters." msgid "" "Only one of the results with the same name will be saved. Are you sure you " "want to overrides the other results?" msgstr "" +"Only one of the results with the same name will be saved. Are you sure you " +"want to replace the other results?" #, c-format, boost-format msgid "" @@ -13414,188 +13743,196 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to overrides the historical result?" msgstr "" +"There is already a previous calibration result with the same name: %s. Only " +"one of the results with the same name is saved. Are you sure you want to " +"replace the previous result?" msgid "Please find the best line on your plate" -msgstr "" +msgstr "Please find the best line on your plate" msgid "Please find the cornor with perfect degree of extrusion" -msgstr "" +msgstr "Please find the corner with the perfect degree of extrusion" msgid "Input Value" -msgstr "" +msgstr "Input Value" msgid "Save to Filament Preset" -msgstr "" +msgstr "Save to Filament Preset" msgid "Preset" -msgstr "" +msgstr "Preset" msgid "Record Factor" -msgstr "" +msgstr "Record Factor" msgid "We found the best flow ratio for you" -msgstr "" +msgstr "We found the best flow ratio for you" msgid "Flow Ratio" -msgstr "" +msgstr "Flow Ratio" msgid "Please input a valid value (0.0 < flow ratio < 2.0)" -msgstr "" +msgstr "Please input a valid value (0.0 < flow ratio < 2.0)" msgid "Please enter the name of the preset you want to save." -msgstr "" +msgstr "Please enter the name of the preset you want to save." msgid "Calibration1" -msgstr "" +msgstr "Calibration1" msgid "Calibration2" -msgstr "" +msgstr "Calibration2" msgid "Please find the best object on your plate" -msgstr "" +msgstr "Please find the best object on your plate" msgid "Fill in the value above the block with smoothest top surface" -msgstr "" +msgstr "Fill in the value above the block with smoothest top surface" msgid "Skip Calibration2" -msgstr "" +msgstr "Skip Calibration2" #, c-format, boost-format msgid "flow ratio : %s " -msgstr "" +msgstr "flow ratio : %s " msgid "Please choose a block with smoothest top surface" -msgstr "" +msgstr "Please choose a block with smoothest top surface" msgid "Please choose a block with smoothest top surface." -msgstr "" +msgstr "Please choose a block with smoothest top surface." msgid "Please input a valid value (0 <= Max Volumetric Speed <= 60)" -msgstr "" +msgstr "Please input a valid value (0 <= Max Volumetric Speed <= 60)" msgid "Calibration Type" -msgstr "" +msgstr "Calibration Type" msgid "Complete Calibration" -msgstr "" +msgstr "Complete Calibration" msgid "Fine Calibration based on flow ratio" -msgstr "" +msgstr "Fine Calibration based on flow ratio" msgid "Title" -msgstr "" +msgstr "Title" msgid "" "A test model will be printed. Please clear the build plate and place it back " "to the hot bed before calibration." msgstr "" +"A test model will be printed. Please clear the build plate and place it back " +"to the hot bed before calibration." msgid "Printing Parameters" -msgstr "" +msgstr "Printing Parameters" msgid "Plate Type" msgstr "Plate Type" msgid "filament position" -msgstr "" +msgstr "filament position" msgid "External Spool" -msgstr "" +msgstr "External Spool" msgid "Filament For Calibration" -msgstr "" +msgstr "Filament For Calibration" 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 "" +"Tips for calibration material: \n" +"- Materials that can share same hot bed temperature\n" +"- Different filament brand and family(Brand = Bambu, Family = Basic, Matte)" msgid "Pattern" -msgstr "" +msgstr "Pattern" msgid "Method" -msgstr "" +msgstr "Method" #, c-format, boost-format msgid "%s is not compatible with %s" -msgstr "" +msgstr "%s is not compatible with %s" msgid "TPU is not supported for Flow Dynamics Auto-Calibration." -msgstr "" +msgstr "TPU is not supported for Flow Dynamics Auto-Calibration." msgid "Connecting to printer" -msgstr "" +msgstr "Connecting to printer" msgid "From k Value" -msgstr "" +msgstr "From k Value" msgid "To k Value" -msgstr "" +msgstr "To k Value" msgid "Step value" msgstr "" msgid "The nozzle diameter has been synchronized from the printer Settings" -msgstr "" +msgstr "The nozzle diameter has been synchronized from the printer Settings" msgid "From Volumetric Speed" -msgstr "" +msgstr "From Volumetric Speed" msgid "To Volumetric Speed" -msgstr "" +msgstr "To Volumetric Speed" msgid "Flow Dynamics Calibration Result" -msgstr "" +msgstr "Flow Dynamics Calibration Result" msgid "New" -msgstr "" +msgstr "New" msgid "No History Result" -msgstr "" +msgstr "No History Result" msgid "Success to get history result" -msgstr "" +msgstr "Success to get history result" msgid "Refreshing the historical Flow Dynamics Calibration records" -msgstr "" +msgstr "Refreshing the previous Flow Dynamics Calibration records" msgid "Action" -msgstr "" +msgstr "Action" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "" +msgstr "This machine type can only hold %d historical results per nozzle." msgid "Edit Flow Dynamics Calibration" -msgstr "" +msgstr "Edit Flow Dynamics Calibration" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "New Flow Dynamic Calibration" msgid "Ok" -msgstr "" +msgstr "Ok" msgid "The filament must be selected." -msgstr "" +msgstr "The filament must be selected." msgid "Network lookup" -msgstr "" +msgstr "Network lookup" msgid "Address" -msgstr "" +msgstr "Address" msgid "Hostname" -msgstr "" +msgstr "Hostname" msgid "Service name" -msgstr "" +msgstr "Service name" msgid "OctoPrint version" -msgstr "" +msgstr "OctoPrint version" msgid "Searching for devices" -msgstr "" +msgstr "Searching for devices" msgid "Finished" msgstr "Finished" @@ -13610,37 +13947,37 @@ msgid "" msgstr "" msgid "PA Calibration" -msgstr "" +msgstr "PA Calibration" msgid "DDE" msgstr "" msgid "Bowden" -msgstr "" +msgstr "Bowden" msgid "Extruder type" msgstr "" msgid "PA Tower" -msgstr "" +msgstr "PA Tower" msgid "PA Line" -msgstr "" +msgstr "PA Line" msgid "PA Pattern" -msgstr "" +msgstr "PA Pattern" msgid "Start PA: " -msgstr "" +msgstr "Start PA: " msgid "End PA: " -msgstr "" +msgstr "End PA: " msgid "PA step: " -msgstr "" +msgstr "PA step: " msgid "Print numbers" -msgstr "" +msgstr "Print numbers" msgid "" "Please input valid values:\n" @@ -13648,39 +13985,43 @@ msgid "" "End PA: > Start PA\n" "PA step: >= 0.001)" msgstr "" +"Please input valid values:\n" +"Start PA: >= 0.0\n" +"End PA: > Start PA\n" +"PA step: >= 0.001)" msgid "Temperature calibration" -msgstr "" +msgstr "Temperature calibration" msgid "PLA" -msgstr "" +msgstr "PLA" msgid "ABS/ASA" -msgstr "" +msgstr "ABS/ASA" msgid "PETG" -msgstr "" +msgstr "PETG" msgid "TPU" -msgstr "" +msgstr "TPU" msgid "PA-CF" -msgstr "" +msgstr "PA-CF" msgid "PET-CF" -msgstr "" +msgstr "PET-CF" msgid "Filament type" -msgstr "" +msgstr "Filament type" msgid "Start temp: " -msgstr "" +msgstr "Start temp: " msgid "End temp: " -msgstr "" +msgstr "End temp: " msgid "Temp step: " -msgstr "" +msgstr "Temp step: " msgid "" "Please input valid values:\n" @@ -13690,16 +14031,16 @@ msgid "" msgstr "" msgid "Max volumetric speed test" -msgstr "" +msgstr "Max volumetric speed test" msgid "Start volumetric speed: " -msgstr "" +msgstr "Start volumetric speed: " msgid "End volumetric speed: " -msgstr "" +msgstr "End volumetric speed: " msgid "step: " -msgstr "" +msgstr "step: " msgid "" "Please input valid values:\n" @@ -13709,13 +14050,13 @@ msgid "" msgstr "" msgid "VFA test" -msgstr "" +msgstr "VFA test" msgid "Start speed: " -msgstr "" +msgstr "Start speed: " msgid "End speed: " -msgstr "" +msgstr "End speed: " msgid "" "Please input valid values:\n" @@ -13725,129 +14066,129 @@ msgid "" msgstr "" msgid "Start retraction length: " -msgstr "" +msgstr "Start retraction length: " msgid "End retraction length: " -msgstr "" +msgstr "End retraction length: " msgid "mm/mm" -msgstr "" +msgstr "mm/mm" msgid "Send G-Code to printer host" msgstr "" msgid "Upload to Printer Host with the following filename:" -msgstr "" +msgstr "Upload to Printer Host with the following filename:" msgid "Use forward slashes ( / ) as a directory separator if needed." -msgstr "" +msgstr "Use forward slashes ( / ) as a directory separator if needed." msgid "Upload to storage" msgstr "" #, c-format, boost-format msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?" -msgstr "" +msgstr "Upload filename doesn't end with \"%s\". Do you wish to continue?" msgid "Upload" -msgstr "" +msgstr "Upload" msgid "Print host upload queue" -msgstr "" +msgstr "Print host upload queue" msgid "ID" -msgstr "" +msgstr "ID" msgid "Progress" -msgstr "" +msgstr "Progress" msgid "Host" -msgstr "" +msgstr "Host" msgctxt "OfFile" msgid "Size" -msgstr "" +msgstr "Size" msgid "Filename" -msgstr "" +msgstr "Filename" msgid "Cancel selected" -msgstr "" +msgstr "Cancel selected" msgid "Show error message" -msgstr "" +msgstr "Show error message" msgid "Enqueued" -msgstr "" +msgstr "Queued" msgid "Uploading" msgstr "Uploading" msgid "Cancelling" -msgstr "" +msgstr "Cancelling" msgid "Error uploading to print host" msgstr "" msgid "Unable to perform boolean operation on selected parts" -msgstr "" +msgstr "Unable to perform boolean operation on selected parts" msgid "Mesh Boolean" -msgstr "" +msgstr "Mesh Boolean" msgid "Union" -msgstr "" +msgstr "Union" msgid "Difference" -msgstr "" +msgstr "Difference" msgid "Intersection" -msgstr "" +msgstr "Intersection" msgid "Source Volume" -msgstr "" +msgstr "Source Volume" msgid "Tool Volume" -msgstr "" +msgstr "Tool Volume" msgid "Subtract from" -msgstr "" +msgstr "Subtract from" msgid "Subtract with" -msgstr "" +msgstr "Subtract with" msgid "selected" -msgstr "" +msgstr "selected" msgid "Part 1" -msgstr "" +msgstr "Part 1" msgid "Part 2" -msgstr "" +msgstr "Part 2" msgid "Delete input" -msgstr "" +msgstr "Delete input" msgid "Network Test" -msgstr "" +msgstr "Network Test" msgid "Start Test Multi-Thread" -msgstr "" +msgstr "Start Test Multi-Thread" msgid "Start Test Single-Thread" -msgstr "" +msgstr "Start Test Single-Thread" msgid "Export Log" -msgstr "" +msgstr "Export Log" msgid "OrcaSlicer Version:" msgstr "" msgid "System Version:" -msgstr "" +msgstr "System Version:" msgid "DNS Server:" -msgstr "" +msgstr "DNS Server:" msgid "Test OrcaSlicer(GitHub)" msgstr "" @@ -13856,92 +14197,96 @@ msgid "Test OrcaSlicer(GitHub):" msgstr "" msgid "Test Bing.com" -msgstr "" +msgstr "Test Bing.com" msgid "Test bing.com:" -msgstr "" +msgstr "Test bing.com:" msgid "Log Info" -msgstr "" +msgstr "Log Info" msgid "Select filament preset" -msgstr "" +msgstr "Select filament preset" msgid "Create Filament" -msgstr "" +msgstr "Create Filament" msgid "Create Based on Current Filament" -msgstr "" +msgstr "Create Based on Current Filament" msgid "Copy Current Filament Preset " -msgstr "" +msgstr "Copy Current Filament Preset " msgid "Basic Information" -msgstr "" +msgstr "Basic Information" msgid "Add Filament Preset under this filament" -msgstr "" +msgstr "Add Filament Preset under this filament" msgid "We could create the filament presets for your following printer:" -msgstr "" +msgstr "We could create the filament presets for your following printer:" msgid "Select Vendor" -msgstr "" +msgstr "Select Vendor" msgid "Input Custom Vendor" -msgstr "" +msgstr "Input Custom Vendor" msgid "Can't find vendor I want" -msgstr "" +msgstr "Can't find vendor I want" msgid "Select Type" -msgstr "" +msgstr "Select Type" msgid "Select Filament Preset" -msgstr "" +msgstr "Select Filament Preset" msgid "Serial" -msgstr "" +msgstr "Serial" msgid "e.g. Basic, Matte, Silk, Marble" -msgstr "" +msgstr "e.g. Basic, Matte, Silk, Marble" msgid "Filament Preset" -msgstr "" +msgstr "Filament Preset" msgid "Create" -msgstr "" +msgstr "Create" msgid "Vendor is not selected, please reselect vendor." -msgstr "" +msgstr "Vendor is not selected; please reselect vendor." msgid "Custom vendor is not input, please input custom vendor." -msgstr "" +msgstr "Custom vendor missing; please input custom vendor." msgid "" "\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." msgstr "" +"\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." msgid "Filament type is not selected, please reselect type." -msgstr "" +msgstr "Filament type is not selected, please reselect type." msgid "Filament serial is not inputed, please input serial." -msgstr "" +msgstr "Filament serial missing; please input serial." msgid "" "There may be escape characters in the vendor or serial input of filament. " "Please delete and re-enter." msgstr "" +"There may be disallowed characters in the vendor or serial input of the " +"filament. Please delete and re-enter." msgid "All inputs in the custom vendor or serial are spaces. Please re-enter." -msgstr "" +msgstr "All inputs in the custom vendor or serial are spaces. Please re-enter." msgid "The vendor can not be a number. Please re-enter." -msgstr "" +msgstr "The vendor can not be a number; please re-enter." msgid "" "You have not selected a printer or preset yet. Please select at least one." msgstr "" +"You have not selected a printer or preset yet. Please select at least one." #, c-format, boost-format msgid "" @@ -13949,14 +14294,19 @@ msgid "" "If you continue creating, the preset created will be displayed with its full " "name. Do you want to continue?" msgstr "" +"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?" msgid "Some existing presets have failed to be created, as follows:\n" -msgstr "" +msgstr "Some existing presets have failed to be created, as follows:\n" msgid "" "\n" "Do you want to rewrite it?" msgstr "" +"\n" +"Do you want to rewrite it?" msgid "" "We would rename the presets as \"Vendor Type Serial @printer you selected" @@ -13965,46 +14315,46 @@ msgid "" msgstr "" msgid "Create Printer/Nozzle" -msgstr "" +msgstr "Create Printer/Nozzle" msgid "Create Printer" -msgstr "" +msgstr "Create Printer" msgid "Create Nozzle for Existing Printer" -msgstr "" +msgstr "Create Nozzle for Existing Printer" msgid "Create from Template" -msgstr "" +msgstr "Create from Template" msgid "Create Based on Current Printer" -msgstr "" +msgstr "Create Based on Current Printer" msgid "Import Preset" -msgstr "" +msgstr "Import Preset" msgid "Create Type" -msgstr "" +msgstr "Create Type" msgid "The model is not fond, place reselect vendor." -msgstr "" +msgstr "The model was not found; please reselect vendor." msgid "Select Model" -msgstr "" +msgstr "Select Model" msgid "Select Printer" -msgstr "" +msgstr "Select Printer" msgid "Input Custom Model" -msgstr "" +msgstr "Input Custom Model" msgid "Can't find my printer model" -msgstr "" +msgstr "Can't find my printer model" msgid "Rectangle" -msgstr "" +msgstr "Rectangle" msgid "Printable Space" -msgstr "" +msgstr "Printable Space" msgid "X" msgstr "" @@ -14013,66 +14363,70 @@ msgid "Y" msgstr "" msgid "Hot Bed STL" -msgstr "" +msgstr "Hot Bed STL" msgid "Load stl" -msgstr "" +msgstr "Load stl" msgid "Hot Bed SVG" -msgstr "" +msgstr "Hot Bed SVG" msgid "Load svg" -msgstr "" +msgstr "Load svg" msgid "Max Print Height" -msgstr "" +msgstr "Max Print Height" #, c-format, boost-format msgid "The file exceeds %d MB, please import again." -msgstr "" +msgstr "The file exceeds %d MB, please import again." msgid "Exception in obtaining file size, please import again." -msgstr "" +msgstr "Exception in obtaining file size, please import again." msgid "Preset path is not find, please reselect vendor." -msgstr "" +msgstr "Preset path was not found; please reselect vendor." msgid "The printer model was not found, please reselect." -msgstr "" +msgstr "The printer model was not found, please reselect." msgid "The nozzle diameter is not fond, place reselect." -msgstr "" +msgstr "The nozzle diameter was not found; please reselect." msgid "The printer preset is not fond, place reselect." -msgstr "" +msgstr "The printer preset was not found; please reselect." msgid "Printer Preset" -msgstr "" +msgstr "Printer Preset" msgid "Filament Preset Template" -msgstr "" +msgstr "Filament Preset Template" msgid "Deselect All" -msgstr "" +msgstr "Deselect All" msgid "Process Preset Template" -msgstr "" +msgstr "Process Preset Template" msgid "Back Page 1" -msgstr "" +msgstr "Back Page 1" msgid "" "You have not yet chosen which printer preset to create based on. Please " "choose the vendor and model of the printer" msgstr "" +"You have not yet chosen which printer preset to create based on. Please " +"choose the vendor and model of the printer" msgid "" "You have entered an illegal input in the printable area section on the first " "page. Please check before creating it." msgstr "" +"You have entered a disallowed character in the printable area section on the " +"first page. Please use only numbers." msgid "The custom printer or model is not inputed, place input." -msgstr "" +msgstr "The custom printer or model missing; please input." msgid "" "The printer preset you created already has a preset with the same name. Do " @@ -14083,60 +14437,74 @@ msgid "" "reserve.\n" "\tCancel: Do not create a preset, return to the creation interface." msgstr "" +"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 " +"reserved.\n" +"\tCancel: Do not create a preset; return to the creation interface." msgid "You need to select at least one filament preset." -msgstr "" +msgstr "You need to select at least one filament preset." msgid "You need to select at least one process preset." -msgstr "" +msgstr "You need to select at least one process preset." msgid "Create filament presets failed. As follows:\n" -msgstr "" +msgstr "Create filament presets failed. As follows:\n" msgid "Create process presets failed. As follows:\n" -msgstr "" +msgstr "Create process presets failed. As follows:\n" msgid "Vendor is not find, please reselect." -msgstr "" +msgstr "Vendor was not found; please reselect." msgid "Current vendor has no models, please reselect." -msgstr "" +msgstr "Current vendor has no models, please reselect." msgid "" "You have not selected the vendor and model or inputed the custom vendor and " "model." msgstr "" +"You have not selected the vendor and model or input the custom vendor and " +"model." msgid "" "There may be escape characters in the custom printer vendor or model. Please " "delete and re-enter." msgstr "" +"There may be escape characters in the custom printer vendor or model. Please " +"delete and re-enter." msgid "" "All inputs in the custom printer vendor or model are spaces. Please re-enter." msgstr "" +"All inputs in the custom printer vendor or model are spaces. Please re-enter." msgid "Please check bed printable shape and origin input." -msgstr "" +msgstr "Please check bed printable shape and origin input." msgid "" "You have not yet selected the printer to replace the nozzle, please choose." msgstr "" +"You have not yet selected the printer to replace the nozzle for; please " +"choose a printer." msgid "Create Printer Successful" -msgstr "" +msgstr "Create Printer Successful" msgid "Create Filament Successful" -msgstr "" +msgstr "Filament Created Successfully" msgid "Printer Created" -msgstr "" +msgstr "Printer Created" msgid "Please go to printer settings to edit your presets" -msgstr "" +msgstr "Please go to printer settings to edit your presets" msgid "Filament Created" -msgstr "" +msgstr "Filament Created" msgid "" "Please go to filament setting to edit your presets if you need.\n" @@ -14144,6 +14512,10 @@ msgid "" "volumetric speed has a significant impact on printing quality. Please set " "them carefully." msgstr "" +"Please go to filament settings to edit your presets if you need to.\n" +"Please note that nozzle temperature, hot bed temperature, and maximum " +"volumetric speed each have a significant impact on printing quality. Please " +"set them carefully." msgid "" "\n" @@ -14155,7 +14527,7 @@ msgid "" msgstr "" msgid "Printer Setting" -msgstr "" +msgstr "Printer Setting" msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -14164,31 +14536,31 @@ msgid "Filament bundle(.orca_filament)" msgstr "" msgid "Printer presets(.zip)" -msgstr "" +msgstr "Printer presets(.zip)" msgid "Filament presets(.zip)" -msgstr "" +msgstr "Filament presets(.zip)" msgid "Process presets(.zip)" -msgstr "" +msgstr "Process presets(.zip)" msgid "initialize fail" -msgstr "" +msgstr "initialize fail" msgid "add file fail" -msgstr "" +msgstr "add file fail" msgid "add bundle structure file fail" -msgstr "" +msgstr "add bundle structure file fail" msgid "finalize fail" -msgstr "" +msgstr "finalize fail" msgid "open zip written fail" -msgstr "" +msgstr "open zip written fail" msgid "Export successful" -msgstr "" +msgstr "Export successful" #, c-format, boost-format msgid "" @@ -14197,6 +14569,10 @@ msgid "" "If not, a time suffix will be added, and you can modify the name after " "creation." msgstr "" +"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." msgid "" "Printer and all the filament&&process presets that belongs to the printer. \n" @@ -14207,54 +14583,68 @@ msgid "" "User's fillment preset set. \n" "Can be shared with others." msgstr "" +"User's fillment preset set. \n" +"Can be shared with others." msgid "" "Only display printer names with changes to printer, filament, and process " "presets." msgstr "" +"Only display printers with changes to printer, filament, and process presets " +"are displayed." msgid "Only display the filament names with changes to filament presets." -msgstr "" +msgstr "Only display the filament names with changes to filament presets." msgid "" "Only printer names with user printer presets will be displayed, and each " "preset you choose will be exported as a zip." msgstr "" +"Only printer names with user printer presets will be displayed, and each " +"preset you choose will be exported as a 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 "" +"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." 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 "" +"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." msgid "Please select at least one printer or filament." -msgstr "" +msgstr "Please select at least one printer or filament." msgid "Please select a type you want to export" -msgstr "" +msgstr "Please select a preset type you want to export" msgid "Failed to create temporary folder, please try Export Configs again." -msgstr "" +msgstr "Failed to create temporary folder, please try Export Configs again." msgid "Edit Filament" -msgstr "" +msgstr "Edit Filament" msgid "Filament presets under this filament" -msgstr "" +msgstr "Filament presets under this filament" msgid "" "Note: If the only preset under this filament is deleted, the filament will " "be deleted after exiting the dialog." msgstr "" +"Note: If the only preset under this filament is deleted, the filament will " +"be deleted after exiting the dialog." msgid "Presets inherited by other presets can not be deleted" -msgstr "" +msgstr "Presets inherited by other presets can not be deleted" msgid "The following presets inherits this preset." msgid_plural "The following preset inherits this preset." @@ -14262,191 +14652,206 @@ msgstr[0] "" msgstr[1] "" msgid "Delete Preset" -msgstr "" +msgstr "Delete Preset" msgid "Are you sure to delete the selected preset?" -msgstr "" +msgstr "Are you sure to delete the selected preset?" msgid "Delete preset" -msgstr "" +msgstr "Delete preset" msgid "+ Add Preset" -msgstr "" +msgstr "+ Add Preset" msgid "Delete Filament" -msgstr "" +msgstr "Delete Filament" 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 "" +"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." msgid "Delete filament" -msgstr "" +msgstr "Delete filament" msgid "Add Preset" -msgstr "" +msgstr "Add Preset" msgid "Add preset for new printer" -msgstr "" +msgstr "Add preset for new printer" msgid "Copy preset from filament" -msgstr "" +msgstr "Copy preset from filament" msgid "The filament choice not find filament preset, please reselect it" -msgstr "" +msgstr "The filament choice not find filament preset, please reselect it" msgid "[Delete Required]" -msgstr "" +msgstr "[Delete Required]" msgid "Edit Preset" -msgstr "" +msgstr "Edit Preset" msgid "For more information, please check out Wiki" -msgstr "" +msgstr "For more information, please check out our Wiki" msgid "Collapse" -msgstr "" +msgstr "Collapse" msgid "Daily Tips" -msgstr "" +msgstr "Daily Tips" msgid "" "Your nozzle diameter in preset is not consistent with memorized nozzle " "diameter. Did you change your nozzle lately?" msgstr "" +"Your nozzle diameter in preset is not consistent with the saved nozzle " +"diameter. Have you changed your nozzle?" #, c-format, boost-format msgid "*Printing %s material with %s may cause nozzle damage" -msgstr "" +msgstr "*Printing %s material with %s may cause nozzle damage" msgid "Need select printer" -msgstr "" +msgstr "Need select printer" msgid "The start, end or step is not valid value." -msgstr "" +msgstr "The start, end or step is not valid value." msgid "" "Unable to calibrate: maybe because the set calibration value range is too " "large, or the step is too small" msgstr "" +"Unable to calibrate: maybe because the set calibration value range is too " +"large, or the step is too small" #, fuzzy msgid "Physical Printer" msgstr "Printer" msgid "Print Host upload" -msgstr "" +msgstr "Print Host upload" msgid "Could not get a valid Printer Host reference" -msgstr "" +msgstr "Could not get a valid Printer Host reference" msgid "Success!" -msgstr "" +msgstr "Success!" msgid "Are you sure to log out?" msgstr "" msgid "Refresh Printers" -msgstr "" +msgstr "Refresh Printers" msgid "" "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" "signed certificate." msgstr "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "" +msgstr "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgid "Open CA certificate file" -msgstr "" +msgstr "Open CA certificate file" #, c-format, boost-format msgid "" "On this system, %s uses HTTPS certificates from the system Certificate Store " "or Keychain." msgstr "" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgid "" "To use a custom CA file, please import your CA file into Certificate Store / " "Keychain." msgstr "" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgid "Login/Test" msgstr "" msgid "Connection to printers connected via the print host failed." -msgstr "" +msgstr "Connection to printers connected via the print host failed." #, c-format, boost-format msgid "Mismatched type of print host: %s" -msgstr "" +msgstr "Mismatched type of print host: %s" msgid "Connection to AstroBox works correctly." -msgstr "" +msgstr "Connection to AstroBox is working correctly." msgid "Could not connect to AstroBox" -msgstr "" +msgstr "Could not connect to AstroBox" msgid "Note: AstroBox version at least 1.1.0 is required." -msgstr "" +msgstr "Note: AstroBox version 1.1.0 or higher is required." msgid "Connection to Duet works correctly." -msgstr "" +msgstr "Connection to Duet is working correctly." msgid "Could not connect to Duet" -msgstr "" +msgstr "Could not connect to Duet" msgid "Unknown error occured" -msgstr "" +msgstr "Unknown error occured" msgid "Wrong password" -msgstr "" +msgstr "Wrong password" msgid "Could not get resources to create a new connection" -msgstr "" +msgstr "Could not get resources to create a new connection" msgid "Upload not enabled on FlashAir card." -msgstr "" +msgstr "Upload not enabled on FlashAir card." msgid "Connection to FlashAir works correctly and upload is enabled." -msgstr "" +msgstr "Connection to FlashAir is working correctly and upload is enabled." msgid "Could not connect to FlashAir" -msgstr "" +msgstr "Could not connect to FlashAir" msgid "" "Note: FlashAir with firmware 2.00.02 or newer and activated upload function " "is required." msgstr "" +"Note: FlashAir with firmware 2.00.02 or newer and activated upload function " +"is required." msgid "Connection to MKS works correctly." -msgstr "" +msgstr "Connection to MKS is working correctly." msgid "Could not connect to MKS" -msgstr "" +msgstr "Could not connect to MKS" msgid "Connection to OctoPrint works correctly." -msgstr "" +msgstr "Connection to OctoPrint is working correctly." msgid "Could not connect to OctoPrint" -msgstr "" +msgstr "Could not connect to OctoPrint" msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "" +msgstr "Note: OctoPrint version 1.1.0 or higher is required." msgid "Connection to Prusa SL1 / SL1S works correctly." -msgstr "" +msgstr "Connection to Prusa SL1 / SL1S is working correctly." msgid "Could not connect to Prusa SLA" -msgstr "" +msgstr "Could not connect to Prusa SLA" msgid "Connection to PrusaLink works correctly." -msgstr "" +msgstr "Connection to PrusaLink is working correctly." msgid "Could not connect to PrusaLink" -msgstr "" +msgstr "Could not connect to PrusaLink" msgid "Storages found" msgstr "" @@ -14473,19 +14878,21 @@ msgid "Could not connect to Prusa Connect" msgstr "" msgid "Connection to Repetier works correctly." -msgstr "" +msgstr "Connection to Repetier is working correctly." msgid "Could not connect to Repetier" -msgstr "" +msgstr "Could not connect to Repetier" msgid "Note: Repetier version at least 0.90.0 is required." -msgstr "" +msgstr "Note: Repetier version 0.90.0 or higher is required." #, boost-format msgid "" "HTTP status: %1%\n" "Message body: \"%2%\"" msgstr "" +"HTTP status: %1%\n" +"Message body: \"%2%\"" #, boost-format msgid "" @@ -14493,6 +14900,9 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"Parsing of host response failed.\n" +"Message body: \"%1%\"\n" +"Error: \"%2%\"" #, boost-format msgid "" @@ -14500,35 +14910,51 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"Enumeration of host printers failed.\n" +"Message body: \"%1%\"\n" +"Error: \"%2%\"" msgid "" "It has a small layer height, and results in almost negligible layer lines " "and high printing quality. It is suitable for most general printing cases." msgstr "" +"It has a small layer height, and results in almost negligible layer lines " +"and high print quality. It is suitable for most general printing cases." 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. So, it results in " "much higher printing quality, but a much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" +"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 longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " "height, and results in slightly visible layer lines, but shorter printing " "time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " "height, and results in almost invisible layer lines and higher printing " "quality, but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14536,12 +14962,19 @@ msgid "" "Gyroid. So, it results in almost invisible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " "height, and results in minimal layer lines and higher printing quality, but " "shorter printing time." msgstr "" +"Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " +"height. This results in minimal layer lines and higher print quality but " +"longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14549,35 +14982,53 @@ msgid "" "Gyroid. So, it results in minimal layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "It has a general layer height, and results in general layer lines and " "printing quality. It is suitable for most general printing cases." msgstr "" +"It has a normal layer height, and results in average layer lines and print " +"quality. It is suitable for most printing cases." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but slightly shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14585,12 +15036,19 @@ msgid "" "Gyroid. So, it results in less apparent layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14598,64 +15056,95 @@ msgid "" "Gyroid. So, it results in almost negligible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and longer printing " "time." msgstr "" +"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." msgid "" "It has a big layer height, and results in apparent layer lines and ordinary " "printing quality and printing time." msgstr "" +"It has a big layer height, and results in apparent layer lines and ordinary " +"printing quality and printing time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in much more apparent layer lines and much lower " "printing quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and slight higher printing " "quality, but longer printing time." msgstr "" +"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 slightly higher print " +"quality but longer print time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" +"It has a very big layer height, and results in very apparent layer lines, " +"low print quality and shorter printing time." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " "height, and results in very apparent layer lines and much lower printing " "quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " "layer height, and results in extremely apparent layer lines and much lower " "printing quality, but much shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -14663,12 +15152,18 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " "height, and results in less but still apparent layer lines and slightly " "higher printing quality, but longer printing time in some printing cases." msgstr "" +"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." msgid "Connected to Obico successfully!" msgstr "" @@ -14794,6 +15289,9 @@ msgid "" "Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " "problems on the Windows system?" msgstr "" +"Fix Model\n" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " +"problems on the Windows system?" #: resources/data/hints.ini: [hint:Timelapse] msgid "" @@ -15033,6 +15531,10 @@ msgid "" "extruder/hotend clogging when printing lower temperature filament with a " "higher enclosure temperature. More info about this in the Wiki." msgstr "" +"When do you need to print with the printer door opened?\n" +"Did 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? There is more info about this in the Wiki." #: resources/data/hints.ini: [hint:Avoid warping] msgid "" @@ -15041,6 +15543,13 @@ msgid "" "ABS, appropriately increasing the heatbed temperature can reduce the " "probability of warping." msgstr "" +"Avoid warping\n" +"Did 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?" + +#~ msgid "V" +#~ msgstr "V" #~ msgid "Export &Configs" #~ msgstr "Export &Configs" diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po index dc2ac1fb5bb..fd619cbdd06 100644 --- a/localization/i18n/es/OrcaSlicer_es.po +++ b/localization/i18n/es/OrcaSlicer_es.po @@ -1,8 +1,9 @@ +# msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: \n" "Last-Translator: Carlos Fco. Caruncho Serrano \n" "Language-Team: \n" @@ -12,7 +13,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.4.2\n" -"X-Generator: Poedit 3.4.2\n" msgid "Supports Painting" msgstr "Pintar Soportes" @@ -1402,9 +1402,6 @@ msgstr "" "Se ha cargado el archivo de configuración \"%1%\", pero no se han reconocido " "algunos valores." -msgid "V" -msgstr "V" - 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." @@ -1412,8 +1409,10 @@ msgstr "" "OrcaSlicer terminará porque se está quedando sin memoria. Le agradeceremos " "que comunique el problema a nuestro equipo." -# 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 se cerrará porque se está quedando sin memoria. Le agradeceremos que informe de ello a nuestro equipo." +# 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 se cerrará porque se está quedando sin memoria. Le +# agradeceremos que informe de ello a nuestro equipo." msgid "Fatal error" msgstr "Error fatal" @@ -1424,8 +1423,11 @@ msgstr "" "OrcaSlicer terminará debido a un error de posición. Le agradeceremos que nos " "informe del escenario específico en el que se ha producido este problema." -# msgid "OrcaSlicer will terminate because of a localization error. It will be appreciated if you report the specific scenario this issue happened." -# msgstr "OrcaSlicer terminará debido a un error de localización. Le agradeceríamos que nos informara del escenario específico en el que se ha producido este problema" +# msgid "OrcaSlicer will terminate because of a localization error. It will be +# appreciated if you report the specific scenario this issue happened." +# msgstr "OrcaSlicer terminará debido a un error de localización. Le +# agradeceríamos que nos informara del escenario específico en el que se ha +# producido este problema" msgid "Critical error" msgstr "Error crítico" @@ -1521,6 +1523,9 @@ msgstr "Escoja uno o más archivos (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Elige uno o más archivos (3mf/step/stl/svg/obj/amf):" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "Elegir un archivo (gcode/3mf):" @@ -1593,6 +1598,11 @@ msgstr "Cargas en curso" msgid "Select a G-code file:" msgstr "Seleccionar un archivo de G-Code:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Importar Archivo" @@ -1730,7 +1740,7 @@ msgid "Disc" msgstr "Disco" msgid "Torus" -msgstr "" +msgstr "Torus" msgid "Orca Cube" msgstr "Cubo Orca" @@ -2445,7 +2455,7 @@ msgid "AMS not connected" msgstr "AMS no conectado" msgid "Load" -msgstr "" +msgstr "Load" msgid "Unload" msgstr "Descarga" @@ -2510,6 +2520,8 @@ msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" +"Elija una ranura AMS y pulse el botón \"Cargar\" o \"Descargar\" para cargar " +"o descargar automáticamente el filamento." msgid "Edit" msgstr "Editar" @@ -2988,7 +3000,7 @@ msgid "Print with the filament mounted on the back of chassis" msgstr "Imprimir con el filamento montado en la parte posterior del chasis" msgid "Current Cabin humidity" -msgstr "" +msgstr "Current Cabin humidity" msgid "" "Please change the desiccant when it is too wet. The indicator may not " @@ -2996,6 +3008,10 @@ msgid "" "desiccant pack is changed. it take hours to absorb the moisture, low " "temperatures also slow down the process." msgstr "" +"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 takes a few hours to absorb the moisture, and " +"low temperatures also slow down the process." msgid "" "Config which AMS slot should be used for a filament used in the print job" @@ -3056,10 +3072,10 @@ msgstr "" "marca, tipo de material y color)." msgid "DRY" -msgstr "" +msgstr "DRY" msgid "WET" -msgstr "" +msgstr "WET" msgid "AMS Settings" msgstr "Ajustes del AMS" @@ -3078,6 +3094,8 @@ msgid "" "Note: if a new filament is inserted during printing, the AMS will not " "automatically read any information until printing is completed." msgstr "" +"Nota: si se inserta un nuevo filamento durante la impresión, el AMS no leerá " +"automáticamente ninguna información hasta que finalice la impresión." msgid "" "When inserting a new filament, the AMS will not automatically read its " @@ -3130,12 +3148,14 @@ msgstr "" "automáticamente cuando el filamento se termine" msgid "Air Printing Detection" -msgstr "" +msgstr "Air Printing Detection" msgid "" "Detects clogging and filament grinding, halting printing immediately to " "conserve time and filament." msgstr "" +"Detects clogging and filament grinding, halting printing immediately to " +"conserve time and filament." msgid "File" msgstr "Archivo" @@ -3214,7 +3234,7 @@ msgid "Running post-processing scripts" msgstr "Ejecutando scripts de post-procesado" msgid "Successfully executed post-processing script" -msgstr "" +msgstr "Successfully executed post-processing script" msgid "Unknown error occured during exporting G-code." msgstr "" @@ -3281,10 +3301,10 @@ msgid "Device" msgstr "Dispositivo" msgid "Task Sending" -msgstr "" +msgstr "Task Sending" msgid "Task Sent" -msgstr "" +msgstr "Task Sent" msgid "Edit multiple printers" msgstr "" @@ -3304,7 +3324,7 @@ msgid "Offline" msgstr "Fuera de línea" msgid "No task" -msgstr "" +msgstr "No task" msgid "View" msgstr "Vista" @@ -3316,16 +3336,16 @@ msgid "Edit Printers" msgstr "" msgid "Device Name" -msgstr "" +msgstr "Device Name" msgid "Task Name" -msgstr "" +msgstr "Task Name" msgid "Device Status" -msgstr "" +msgstr "Device Status" msgid "Actions" -msgstr "" +msgstr "Actions" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" @@ -3395,25 +3415,25 @@ msgid "Stop" msgstr "Detener" msgid "Task Status" -msgstr "" +msgstr "Task Status" msgid "Sent Time" -msgstr "" +msgstr "Sent Time" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "There are no tasks to be sent!" msgid "No historical tasks!" -msgstr "" +msgstr "No historical tasks!" msgid "Loading..." msgstr "Cargando..." msgid "No AMS" -msgstr "" +msgstr "No AMS" msgid "Send to Multi-device" -msgstr "" +msgstr "Send to Multi-device" msgid "Preparing print job" msgstr "Preparando el trabajo de impresión" @@ -3428,22 +3448,31 @@ msgid "The number of printers in use simultaneously cannot be equal to 0." msgstr "" msgid "Use External Spool" -msgstr "" +msgstr "Use External Spool" msgid "Use AMS" -msgstr "" +msgstr "Use AMS" msgid "Select Printers" -msgstr "" +msgstr "Select Printers" msgid "Ams Status" -msgstr "" +msgstr "AMS Status" msgid "Printing Options" +msgstr "Printing Options" + +msgid "Bed Leveling" +msgstr "Nivelación de la cama" + +msgid "Timelapse" +msgstr "Intervalo" + +msgid "Flow Dynamic Calibration" msgstr "" msgid "Send Options" -msgstr "" +msgstr "Send Options" msgid "Send" msgstr "Enviar" @@ -3452,13 +3481,16 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" +"printers at the same time. (It depends on how many devices can undergo " +"heating at the same time.)" msgid "Wait" -msgstr "" +msgstr "Wait" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" +"minute each batch. (It depends on how long it takes to complete heating.)" msgid "Name is invalid;" msgstr "El nombre no es válido;" @@ -3557,14 +3589,18 @@ msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" msgstr "" +"La temperatura mínima recomendada es inferior a 190 grados o la temperatura " +"máxima recomendada es superior a 300 grados.\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " "maximum temperature.\n" msgstr "" +"The recommended minimum temperature cannot be higher than the recommended " +"maximum temperature.\n" msgid "Please check.\n" -msgstr "" +msgstr "Por favor, compruébalo.\n" msgid "" "Nozzle may be blocked when the temperature is out of recommended range.\n" @@ -4029,7 +4065,7 @@ msgstr "Validación de parámetros" #, c-format, boost-format msgid "Value %s is out of range. The valid range is from %d to %d." -msgstr "" +msgstr "Value %s is out of range. The valid range is from %d to %d." msgid "Value is out of range." msgstr "El valor está fuera de rango." @@ -4220,10 +4256,10 @@ msgid "Normal mode" msgstr "Modo normal" msgid "Total Filament" -msgstr "" +msgstr "Total Filament" msgid "Model Filament" -msgstr "" +msgstr "Model Filament" msgid "Prepare time" msgstr "Planificar tiempo" @@ -4319,7 +4355,7 @@ msgid "Spacing" msgstr "Separación" msgid "0 means auto spacing." -msgstr "" +msgstr "0 means auto spacing." msgid "Auto rotate for arrangement" msgstr "Rotación automática para el posicionamiento" @@ -4466,7 +4502,7 @@ msgid "Go Live" msgstr "Ir A En Vivo" msgid "Liveview Retry" -msgstr "" +msgstr "Reintentar Liveview" msgid "Resolution" msgstr "Resolución" @@ -4524,7 +4560,7 @@ msgid "Preview" msgstr "Previsualización" msgid "Multi-device" -msgstr "" +msgstr "Multi-device" msgid "Project" msgstr "Proyecto" @@ -4670,6 +4706,12 @@ msgstr "Importar 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Cargar un modelo" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Importar configuraciones" @@ -4984,44 +5026,55 @@ msgstr "" msgid "Player is malfunctioning. Please reinstall the system player." msgstr "" +"El reproductor no funciona correctamente. Vuelva a instalar el reproductor " +"del sistema." msgid "The player is not loaded, please click \"play\" button to retry." msgstr "" +"El reproductor no se carga; haga clic en el botón \"reproducir\" para volver " +"a intentarlo." msgid "Please confirm if the printer is connected." -msgstr "" +msgstr "Confirme si la impresora está conectada." msgid "" "The printer is currently busy downloading. Please try again after it " "finishes." msgstr "" +"La impresora está actualmente ocupada descargando. Inténtelo de nuevo cuando " +"finalice." msgid "Printer camera is malfunctioning." -msgstr "" +msgstr "La cámara de la impresora funciona mal." msgid "Problem occured. Please update the printer firmware and try again." msgstr "" +"Se ha producido un problema. Actualice el firmware de la impresora e " +"inténtelo de nuevo." msgid "" "LAN Only Liveview is off. Please turn on the liveview on printer screen." msgstr "" +"LAN Only Liveview is off. Please turn on the liveview on printer screen." msgid "Please enter the IP of printer to connect." -msgstr "" +msgstr "Por favor, introduzca la IP de la impresora a conectar." msgid "Initializing..." msgstr "Iniciando..." msgid "Connection Failed. Please check the network and try again" -msgstr "" +msgstr "Conexión fallida. Compruebe la red e inténtelo de nuevo." msgid "" "Please check the network and try again, You can restart or update the " "printer if the issue persists." msgstr "" +"Compruebe la red e inténtelo de nuevo. Puede reiniciar o actualizar la " +"impresora si el problema persiste." msgid "The printer has been logged out and cannot connect." -msgstr "" +msgstr "La impresora se ha desconectado y no puede conectarse." msgid "Stopped." msgstr "Detenido." @@ -5079,9 +5132,6 @@ msgstr "Agrupar archivos por mes, primero los recientes." msgid "Show all files, recent first." msgstr "Mostrar todos los archivos, primero los recientes." -msgid "Timelapse" -msgstr "Intervalo" - msgid "Switch to timelapse files." msgstr "Cambiar a archivos de timelapse." @@ -5113,7 +5163,7 @@ msgid "Refresh" msgstr "Actualizar" msgid "Reload file list from printer." -msgstr "" +msgstr "Reload file list from printer." msgid "No printers." msgstr "No hay impresoras." @@ -5129,7 +5179,7 @@ msgid "No files" msgstr "No hay archivos" msgid "Load failed" -msgstr "" +msgstr "Load failed" msgid "Initialize failed (Device connection not ready)!" msgstr "Initialization failed (Device connection not ready)!" @@ -5138,15 +5188,17 @@ msgid "" "Browsing file in SD card is not supported in current firmware. Please update " "the printer firmware." msgstr "" +"Browsing file in SD card is not supported in current firmware. Please update " +"the printer firmware." msgid "Initialize failed (Storage unavailable, insert SD card.)!" msgstr "" msgid "LAN Connection Failed (Failed to view sdcard)" -msgstr "" +msgstr "LAN Connection Failed (Failed to view sdcard)" msgid "Browsing file in SD card is not supported in LAN Only Mode." -msgstr "" +msgstr "Browsing file in SD card is not supported in LAN Only Mode." #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -5173,10 +5225,10 @@ msgid "Fetching model infomations ..." msgstr "Fetching model information..." msgid "Failed to fetch model information from printer." -msgstr "" +msgstr "No se pudo recuperar la información del modelo de la impresora." msgid "Failed to parse model information." -msgstr "" +msgstr "No se pudo analizar la información del modelo." msgid "" "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " @@ -5194,6 +5246,8 @@ msgid "" "File: %s\n" "Title: %s\n" msgstr "" +"File: %s\n" +"Title: %s\n" msgid "Download waiting..." msgstr "Descarga esperando..." @@ -5215,9 +5269,11 @@ msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." msgstr "" +"Reconnecting the printer, the operation cannot be completed immediately, " +"please try again later." msgid "File does not exist." -msgstr "" +msgstr "El archivo no existe." msgid "File checksum error. Please retry." msgstr "Checksum de archivo erróneo. Por favor, reinténtelo." @@ -5319,7 +5375,7 @@ msgid "Control" msgstr "Control" msgid "Printer Parts" -msgstr "" +msgstr "Printer Parts" msgid "Print Options" msgstr "Opciones de Impresora" @@ -5570,7 +5626,7 @@ msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "" msgid "Download Beta Version" -msgstr "" +msgstr "Descargar versión beta" msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "" @@ -5579,13 +5635,13 @@ msgid "Update your Orca Slicer could enable all functionality in the 3mf file." msgstr "" msgid "Current Version: " -msgstr "" +msgstr "Versión actual:" msgid "Latest Version: " -msgstr "" +msgstr "Ultima versión:" msgid "Not for now" -msgstr "" +msgstr "Not for now" msgid "3D Mouse disconnected." msgstr "Ratón 3D desconectado." @@ -5656,12 +5712,12 @@ msgstr[1] "%1$d Los objetos se han cargado como partes del objeto de corte" msgid "ERROR" msgstr "ERROR" -msgid "CANCELED" -msgstr "CANCELADO" - msgid "COMPLETED" msgstr "COMPLETADO" +msgid "CANCELED" +msgstr "CANCELADO" + msgid "Cancel upload" msgstr "Carga cancelada" @@ -5774,13 +5830,13 @@ msgid "Filament Tangle Detect" msgstr "Detección de Enredos de Filamentos" msgid "Nozzle Clumping Detection" -msgstr "" +msgstr "Nozzle Clumping Detection" msgid "Check if the nozzle is clumping by filament or other foreign objects." -msgstr "" +msgstr "Check if the nozzle is clumping by filament or other foreign objects." msgid "Nozzle Type" -msgstr "" +msgstr "Nozzle Type" msgid "Stainless Steel" msgstr "Acero Inoxidable" @@ -5790,7 +5846,7 @@ msgstr "Acero endurecido" #, c-format, boost-format msgid "%.1f" -msgstr "" +msgstr "%.1f" msgid "Global" msgstr "Global" @@ -6245,13 +6301,13 @@ msgid "prepare 3mf file..." msgstr "preparar el archivo 3mf..." msgid "Download failed, unknown file format." -msgstr "" +msgstr "Download failed; unknown file format." msgid "downloading project ..." msgstr "descargando proyecto..." msgid "Download failed, File size exception." -msgstr "" +msgstr "Download failed; File size exception." #, c-format, boost-format msgid "Project downloaded %d%%" @@ -6276,6 +6332,20 @@ msgstr "no contiene G-Code válido." msgid "Error occurs while loading G-code file" msgstr "Se produce un error al cargar el archivo de G-Code" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Soltar el archivo del proyecto" @@ -6341,22 +6411,24 @@ msgid "" "Unable to perform boolean operation on model meshes. Only positive parts " "will be kept. You may fix the meshes and try agian." msgstr "" +"Unable to perform boolean operation on model meshes. Only positive parts " +"will be kept. You may fix the meshes and try agian." #, boost-format msgid "Reason: part \"%1%\" is empty." -msgstr "" +msgstr "Reason: part \"%1%\" is empty." #, boost-format msgid "Reason: part \"%1%\" does not bound a volume." -msgstr "" +msgstr "Reason: part \"%1%\" does not bound a volume." #, boost-format msgid "Reason: part \"%1%\" has self intersection." -msgstr "" +msgstr "Reason: part \"%1%\" has self intersection." #, boost-format msgid "Reason: \"%1%\" and another part have no intersection." -msgstr "" +msgstr "Reason: \"%1%\" and another part have no intersection." msgid "" "Are you sure you want to store original SVGs with their local paths into the " @@ -6546,6 +6618,10 @@ msgid "" "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 "" +"En OSX siempre hay una sola instancia de la aplicación ejecutándose por " +"defecto. Sin embargo, está permitido ejecutar varias instancias de la misma " +"aplicación desde la línea de comandos. En tal caso, esta configuración sólo " +"permitirá una instancia." msgid "" "If this is enabled, when starting OrcaSlicer and another instance of the " @@ -6618,10 +6694,10 @@ msgstr "Si está activado, auto calcula en cada cambio de color." msgid "" "Flushing volumes: Auto-calculate every time when the filament is changed." -msgstr "" +msgstr "Flushing volumes: Auto-calculate every time the filament is changed." msgid "If enabled, auto-calculate every time when filament is changed" -msgstr "" +msgstr "If enabled, auto-calculate every time filament is changed" msgid "Remember printer configuration" msgstr "" @@ -6638,6 +6714,8 @@ msgid "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." msgstr "" +"With this option enabled, you can send a task to multiple devices at the " +"same time and manage multiple devices." msgid "Network" msgstr "Red" @@ -6686,6 +6764,20 @@ msgstr "" "Si se activa, ajusta OrcaSlicer como aplicación por defecto para abrir " "archivos .step" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Proyectos recientes máximos" @@ -6861,16 +6953,16 @@ msgid "The selected preset is null!" msgstr "¡El ajuste seleccionado es nulo!" msgid "End" -msgstr "" +msgstr "End" msgid "Customize" msgstr "Personalizar" msgid "Other layer filament sequence" -msgstr "" +msgstr "Other layer filament sequence" msgid "Please input layer value (>= 2)." -msgstr "" +msgstr "Please input layer value (>= 2)." msgid "Plate name" msgstr "Nombre de Bandeja" @@ -6882,10 +6974,10 @@ msgid "Print sequence" msgstr "Secuencia de impresión" msgid "Same as Global" -msgstr "" +msgstr "Same as Global" msgid "Disable" -msgstr "" +msgstr "Disable" msgid "Spiral vase" msgstr "Vaso en espiral" @@ -7053,9 +7145,6 @@ msgstr "Placa PEI Texturizada Bambu" msgid "Send print job to" msgstr "Enviar el trabajo de impresión a" -msgid "Bed Leveling" -msgstr "Nivelación de la cama" - msgid "Flow Dynamics Calibration" msgstr "Calibración de Dinámicas de Flujo" @@ -7158,6 +7247,8 @@ msgid "" "The selected printer (%s) is incompatible with the chosen printer profile in " "the slicer (%s)." msgstr "" +"The selected printer (%s) is incompatible with the chosen printer profile in " +"the slicer (%s)." msgid "An SD card needs to be inserted to record timelapse." msgstr "Es necesario insertar una tarjeta SD para guardar el timelapse." @@ -7225,15 +7316,20 @@ msgid "" "If you changed your nozzle lately, please go to Device > Printer Parts to " "change settings." msgstr "" +"Your nozzle diameter in sliced file is not consistent with the saved nozzle. " +"If you changed your nozzle lately, please go to Device > Printer Parts to " +"change settings." #, c-format, boost-format msgid "" "Printing high temperature material(%s material) with %s may cause nozzle " "damage" msgstr "" +"Printing high temperature material(%s material) with %s may cause nozzle " +"damage" msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "" +msgstr "Please fix the error above, otherwise printing cannot continue." msgid "" "Please click the confirm button if you still want to proceed with printing." @@ -7259,7 +7355,7 @@ msgid "Modifying the device name" msgstr "Modificar el nombre del dispositivo" msgid "Bind with Pin Code" -msgstr "" +msgstr "Bind with Pin Code" msgid "Send to Printer SD card" msgstr "Enviar a la tarjeta SD de la impresora" @@ -7322,21 +7418,23 @@ msgid "" "Please Find the Pin Code in Account page on printer screen,\n" " and type in the Pin Code below." msgstr "" +"Please Find the Pin Code in Account page on printer screen,\n" +" and type in the Pin Code below." msgid "Can't find Pin Code?" -msgstr "" +msgstr "Can't find Pin Code?" msgid "Pin Code" -msgstr "" +msgstr "Pin Code" msgid "Binding..." -msgstr "" +msgstr "Binding..." msgid "Please confirm on the printer screen" -msgstr "" +msgstr "Please confirm on the printer screen" msgid "Log in failed. Please check the Pin Code." -msgstr "" +msgstr "Log in failed. Please check the Pin Code." msgid "Log in printer" msgstr "Iniciar sesión en la impresora" @@ -7544,6 +7642,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other " "printing complications." msgstr "" +"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." msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7551,6 +7653,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other printing " "complications.Please use with the latest printer firmware." msgstr "" +"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." msgid "" "When recording timelapse without toolhead, it is recommended to add a " @@ -8058,12 +8164,14 @@ msgstr "" #, boost-format msgid "You have changed some settings of preset \"%1%\". " -msgstr "" +msgstr "You have changed some settings of preset \"%1%\". " msgid "" "\n" "You can save or discard the preset values you have modified." msgstr "" +"\n" +"You can save or discard the preset values you have modified." msgid "" "\n" @@ -8072,7 +8180,7 @@ msgid "" msgstr "" msgid "You have previously modified your settings." -msgstr "" +msgstr "You have previously modified your settings." msgid "" "\n" @@ -8591,40 +8699,40 @@ msgid "Done" msgstr "Hecho" msgid "resume" -msgstr "" +msgstr "resume" msgid "Resume Printing" -msgstr "" +msgstr "Resume Printing" msgid "Resume Printing(defects acceptable)" -msgstr "" +msgstr "Resume Printing (defects acceptable)" msgid "Resume Printing(problem solved)" -msgstr "" +msgstr "Resume Printing (problem solved)" msgid "Stop Printing" -msgstr "" +msgstr "Stop Printing" msgid "Check Assistant" -msgstr "" +msgstr "Check Assistant" msgid "Filament Extruded, Continue" -msgstr "" +msgstr "Filament Extruded, Continue" msgid "Not Extruded Yet, Retry" -msgstr "" +msgstr "Not Extruded Yet, Retry" msgid "Finished, Continue" -msgstr "" +msgstr "Finished, Continue" msgid "Load Filament" msgstr "Cargar" msgid "Filament Loaded, Resume" -msgstr "" +msgstr "Filament Loaded, Resume" msgid "View Liveview" -msgstr "" +msgstr "View Liveview" msgid "Confirm and Update Nozzle" msgstr "Confirmar y Actualizar la Boquilla" @@ -9539,13 +9647,13 @@ msgid "First layer print sequence" msgstr "Secuencia de impresión de primera capa" msgid "Other layers print sequence" -msgstr "" +msgstr "Other layers print sequence" msgid "The number of other layers print sequence" -msgstr "" +msgstr "The number of other layers print sequence" msgid "Other layers filament sequence" -msgstr "" +msgstr "Other layers filament sequence" msgid "This G-code is inserted at every layer change before lifting z" msgstr "Este G-Code se inserta en cada cambio de capa antes de levantar z" @@ -10479,10 +10587,10 @@ msgstr "" "colisión con la impresión por objeto." msgid "Nozzle height" -msgstr "" +msgstr "Altura de la boquilla" msgid "The height of nozzle tip." -msgstr "" +msgstr "La altura de la punta de la boquilla." msgid "Bed mesh min" msgstr "Malla de cama mínimo" @@ -10975,7 +11083,7 @@ msgid "Lightning" msgstr "Rayo" msgid "Cross Hatch" -msgstr "" +msgstr "Cross Hatch" msgid "Sparse infill anchor length" msgstr "Longitud del anclaje de relleno de baja densidad" @@ -11266,13 +11374,16 @@ msgstr "" "irregular y debe imprimirse más lentamente" msgid "Precise Z height" -msgstr "" +msgstr "Precise Z height" 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 "" +"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." msgid "Arc fitting" msgstr "Activar movimientos en arco" @@ -12234,7 +12345,7 @@ msgstr "" "retracción" msgid "Long retraction when cut(experimental)" -msgstr "" +msgstr "Long retraction when cut (experimental)" msgid "" "Experimental feature.Retracting and cutting off the filament at a longer " @@ -12242,14 +12353,20 @@ msgid "" "significantly, it may also raise the risk of nozzle clogs or other printing " "problems." msgstr "" +"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." msgid "Retraction distance when cut" -msgstr "" +msgstr "Retraction distance when cut" msgid "" "Experimental feature.Retraction length before cutting off during filament " "change" msgstr "" +"Experimental feature. Retraction length before cutting off during filament " +"change" msgid "Z hop when retract" msgstr "Salto en Z al retraerse" @@ -13458,17 +13575,29 @@ msgstr "Espaciado de las líneas de la torre de purga" msgid "Spacing of purge lines on the wipe tower." msgstr "Espaciado de las líneas de la torre de purga." -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -14244,7 +14373,7 @@ msgid "load_obj: failed to parse" msgstr "load_obj: failed to parse" msgid "load mtl in obj: failed to parse" -msgstr "" +msgstr "load mtl in obj: failed to parse" msgid "The file contains polygons with more than 4 vertices." msgstr "The file contains polygons with more than 4 vertices." @@ -14378,6 +14507,11 @@ msgid "" "historical results. \n" "Do you still want to continue the calibration?" msgstr "" +"This machine type can only hold 16 historical 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?" msgid "Connecting to printer..." msgstr "Conectando a la impresora." @@ -14396,12 +14530,17 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to override the historical result?" msgstr "" +"Ya existe un resultado de calibración anterior con el mismo nombre: %s. Sólo " +"se guarda un resultado con un nombre. Está seguro de que desea sobrescribir " +"el resultado anterior?" #, c-format, boost-format msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." msgstr "" +"This machine type can only hold %d historical results per nozzle. This " +"result will not be saved." msgid "Internal Error" msgstr "Error interno" @@ -14779,7 +14918,7 @@ msgid "Flow Dynamics Calibration Result" msgstr "Resultado de Calibración de Dinámicas de Flujo" msgid "New" -msgstr "" +msgstr "New" msgid "No History Result" msgstr "Sin Resultados Históricos" @@ -14796,19 +14935,19 @@ msgstr "Acción" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "" +msgstr "This machine type can only hold %d historical results per nozzle." msgid "Edit Flow Dynamics Calibration" msgstr "Editar Calibración de Dinámicas de Flujo" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "New Flow Dynamic Calibration" msgid "Ok" -msgstr "" +msgstr "Ok" msgid "The filament must be selected." -msgstr "" +msgstr "The filament must be selected." msgid "Network lookup" msgstr "Búsqueda de red" @@ -15214,6 +15353,9 @@ msgid "" "If you continue creating, the preset created will be displayed with its full " "name. Do you want to continue?" msgstr "" +"El nombre del filamento %s que ha creado ya existe. \n" +"Si continúa, el preajuste creado se mostrará con su nombre completo. ¿Desea " +"continuar?" msgid "Some existing presets have failed to be created, as follows:\n" msgstr "" @@ -15443,6 +15585,11 @@ msgid "" "volumetric speed has a significant impact on printing quality. Please set " "them carefully." msgstr "" +"Por favor, vaya a la configuración de filamento para editar sus ajustes " +"preestablecidos si es necesario.\n" +"Tenga en cuenta que la temperatura de la boquilla, la temperatura de la cama " +"caliente y la velocidad volumétrica máxima tienen un impacto significativo " +"en la calidad de impresión. Por favor, configúrelos con cuidado." msgid "" "\n" @@ -15561,7 +15708,7 @@ msgid "Please select a type you want to export" msgstr "Seleccione el tipo que desea exportar" msgid "Failed to create temporary folder, please try Export Configs again." -msgstr "" +msgstr "Failed to create temporary folder, please try Export Configs again." msgid "Edit Filament" msgstr "Editar Filamento" @@ -15856,30 +16003,43 @@ msgid "" "It has a small layer height, and results in almost negligible layer lines " "and high printing quality. It is suitable for most general printing cases." msgstr "" +"It has a small layer height, and results in almost negligible layer lines " +"and high print quality. It is suitable for most general printing cases." 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. So, it results in " "much higher printing quality, but a much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" +"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 longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " "height, and results in slightly visible layer lines, but shorter printing " "time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " "height, and results in almost invisible layer lines and higher printing " "quality, but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -15887,12 +16047,19 @@ msgid "" "Gyroid. So, it results in almost invisible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " "height, and results in minimal layer lines and higher printing quality, but " "shorter printing time." msgstr "" +"Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " +"height. This results in minimal layer lines and higher print quality but " +"longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -15900,35 +16067,53 @@ msgid "" "Gyroid. So, it results in minimal layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "It has a general layer height, and results in general layer lines and " "printing quality. It is suitable for most general printing cases." msgstr "" +"It has a normal layer height, and results in average layer lines and print " +"quality. It is suitable for most printing cases." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but slightly shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -15936,12 +16121,19 @@ msgid "" "Gyroid. So, it results in less apparent layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -15949,64 +16141,95 @@ msgid "" "Gyroid. So, it results in almost negligible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and longer printing " "time." msgstr "" +"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." msgid "" "It has a big layer height, and results in apparent layer lines and ordinary " "printing quality and printing time." msgstr "" +"It has a big layer height, and results in apparent layer lines and ordinary " +"printing quality and printing time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in much more apparent layer lines and much lower " "printing quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and slight higher printing " "quality, but longer printing time." msgstr "" +"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 slightly higher print " +"quality but longer print time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" +"It has a very big layer height, and results in very apparent layer lines, " +"low print quality and shorter printing time." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " "height, and results in very apparent layer lines and much lower printing " "quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " "layer height, and results in extremely apparent layer lines and much lower " "printing quality, but much shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -16014,12 +16237,18 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " "height, and results in less but still apparent layer lines and slightly " "higher printing quality, but longer printing time in some printing cases." msgstr "" +"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." msgid "Connected to Obico successfully!" msgstr "¡Conectado a Obico con éxito!" @@ -16457,6 +16686,9 @@ msgstr "" "aumentar adecuadamente la temperatura del lecho térmico puede reducir la " "probabilidad de deformaciones." +#~ msgid "V" +#~ msgstr "V" + #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " #~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " @@ -17962,9 +18194,11 @@ msgstr "" #~ msgstr "Ancho de línea para las superficies superiores" # msgid "Improve strength\n" -# "Did you know that you can use more wall loops and higher sparse infill density to improve the strength of the model?" +# "Did you know that you can use more wall loops and higher sparse infill +# density to improve the strength of the model?" # msgstr "Mejorar la fuerza\n" -# "¿Sabías que puedes utilizar más bucles de pared y mayor densidad de relleno disperso para mejorar la resistencia del modelo?" +# "¿Sabías que puedes utilizar más bucles de pared y mayor densidad de relleno +# disperso para mejorar la resistencia del modelo?" #~ msgid "Keep upper part" #~ msgstr "Mantener la parte superior" diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po index 28428f3bd7d..f320e04bba8 100644 --- a/localization/i18n/fr/OrcaSlicer_fr.po +++ b/localization/i18n/fr/OrcaSlicer_fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Guislain Cyril, Thomas Lété\n" @@ -158,7 +158,7 @@ msgid "Height range" msgstr "Plage de hauteur" msgid "Alt + Shift + Enter" -msgstr "" +msgstr "Alt + Shift + Entrée" msgid "Toggle Wireframe" msgstr "Activer Maillage" @@ -374,7 +374,7 @@ msgid "Move cut plane" msgstr "Déplacer le plan de coupe" msgid "Mode" -msgstr "" +msgstr "Mode" msgid "Change cut mode" msgstr "Changer le mode de coupe" @@ -1361,13 +1361,13 @@ msgid "Perpendicular distance" msgstr "Distance perpendiculaire" msgid "Distance" -msgstr "" +msgstr "Distance" msgid "Direct distance" msgstr "Distance directe" msgid "Distance XYZ" -msgstr "" +msgstr "Distance XYZ" msgid "Ctrl+" msgstr "Ctrl+" @@ -1411,9 +1411,6 @@ msgstr "" "Le fichier de configuration \"%1%\" a été chargé, mais certaines valeurs " "n'ont pas été reconnues." -msgid "V" -msgstr "V" - 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." @@ -1527,6 +1524,9 @@ msgstr "" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Choisissez un ou plusieurs fichiers (3mf/step/stl/svg/obj/amf) :" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "Choisissez un fichier (gcode/3mf):" @@ -1599,6 +1599,11 @@ msgstr "Téléversements en cours" msgid "Select a G-code file:" msgstr "Sélectionnez un fichier G-code :" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Importer un Fichier" @@ -3367,7 +3372,7 @@ msgid "Device Status" msgstr "État de l’appareil" msgid "Actions" -msgstr "" +msgstr "Actions" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" @@ -3487,6 +3492,15 @@ msgstr "Statut de l’AMS" msgid "Printing Options" msgstr "Options d’impression" +msgid "Bed Leveling" +msgstr "Mise à niveau du plateau" + +msgid "Timelapse" +msgstr "Timelapse" + +msgid "Flow Dynamic Calibration" +msgstr "" + msgid "Send Options" msgstr "Options d’envoi" @@ -4717,6 +4731,12 @@ msgstr "Importer des fichiers 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Charger un modèle" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Importer des Configs" @@ -5143,9 +5163,6 @@ msgstr "Regroupez les fichiers par mois, les plus récents en premier." msgid "Show all files, recent first." msgstr "Afficher tous les fichiers, les plus récents en premier." -msgid "Timelapse" -msgstr "Timelapse" - msgid "Switch to timelapse files." msgstr "Passez aux fichiers timelapse." @@ -5739,12 +5756,12 @@ msgstr[1] "%1$d objets ont été chargés en tant que partie de l’objet coupé msgid "ERROR" msgstr "ERREUR" -msgid "CANCELED" -msgstr "Annulé" - msgid "COMPLETED" msgstr "Terminé" +msgid "CANCELED" +msgstr "Annulé" + msgid "Cancel upload" msgstr "Annuler le téléversement" @@ -5874,7 +5891,7 @@ msgstr "Acier trempé" #, c-format, boost-format msgid "%.1f" -msgstr "" +msgstr "%.1f" msgid "Global" msgstr "Global" @@ -6365,6 +6382,20 @@ msgstr "ne contient pas de G-code valide." msgid "Error occurs while loading G-code file" msgstr "Une erreur se produit lors du chargement du fichier G-code" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Déposer le fichier de projet" @@ -6811,6 +6842,20 @@ msgstr "" "Si activé, définit Orca Slicer comme application par défaut pour ouvrir les " "fichiers .step/.stp" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Projets récents maximum" @@ -7182,9 +7227,6 @@ msgstr "Bambu Textured PEI Plate" msgid "Send print job to" msgstr "Envoyer le travail d'impression à" -msgid "Bed Leveling" -msgstr "Mise à niveau du plateau" - msgid "Flow Dynamics Calibration" msgstr "Calibration du débit" @@ -13730,26 +13772,30 @@ msgstr "Espacement des lignes de purge de la tour d’essuyage" msgid "Spacing of purge lines on the wipe tower." msgstr "Espacement des lignes de purge sur la tour d’essuyage." -msgid "Maximum print speed when purging" -msgstr "Vitesse d’impression maximale lors de la purge" +msgid "Maximum wipe tower print speed" +msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" -"Vitesse d’impression maximale lors de la purge dans la tour d’essuyage. Si " -"la vitesse de remplissage ou la vitesse calculée à partir de la vitesse " -"volumétrique maximale du filament est inférieure, c’est la vitesse la plus " -"basse qui sera utilisée.\n" -"L’augmentation de cette vitesse peut affecter la stabilité de la tour, car " -"la purge peut être effectuée sur des couches peu épaisses. Avant d’augmenter " -"ce paramètre au-delà de la valeur par défaut de 90 mm/sec, assurez-vous que " -"votre imprimante peut effectuer un pontage fiable aux vitesses accrues." msgid "Wipe tower extruder" msgstr "Extrudeur de tour d’essuyage" @@ -15119,7 +15165,7 @@ msgid "New Flow Dynamic Calibration" msgstr "Nouveau calibrage dynamique du débit" msgid "Ok" -msgstr "" +msgstr "Ok" msgid "The filament must be selected." msgstr "Le filament doit être sélectionné." @@ -15595,7 +15641,7 @@ msgid "Can't find my printer model" msgstr "Impossible de trouver le modèle de mon imprimante" msgid "Rectangle" -msgstr "" +msgstr "Rectangle" msgid "Printable Space" msgstr "Espace imprimable" @@ -16921,6 +16967,31 @@ msgstr "" "déformer, tels que l’ABS, une augmentation appropriée de la température du " "plateau chauffant peut réduire la probabilité de déformation." +#~ msgid "V" +#~ msgstr "V" + +#~ msgid "Maximum print speed when purging" +#~ msgstr "Vitesse d’impression maximale lors de la purge" + +#~ msgid "" +#~ "The maximum print speed when purging in the wipe tower. If the sparse " +#~ "infill speed or calculated speed from the filament max volumetric speed " +#~ "is lower, the lowest speed will be used instead.\n" +#~ "Increasing this speed may affect the tower's stability, as purging can be " +#~ "performed over sparse layers. Before increasing this parameter beyond the " +#~ "default of 90mm/sec, make sure your printer can reliably bridge at the " +#~ "increased speeds." +#~ msgstr "" +#~ "Vitesse d’impression maximale lors de la purge dans la tour d’essuyage. " +#~ "Si la vitesse de remplissage ou la vitesse calculée à partir de la " +#~ "vitesse volumétrique maximale du filament est inférieure, c’est la " +#~ "vitesse la plus basse qui sera utilisée.\n" +#~ "L’augmentation de cette vitesse peut affecter la stabilité de la tour, " +#~ "car la purge peut être effectuée sur des couches peu épaisses. Avant " +#~ "d’augmenter ce paramètre au-delà de la valeur par défaut de 90 mm/sec, " +#~ "assurez-vous que votre imprimante peut effectuer un pontage fiable aux " +#~ "vitesses accrues." + #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " #~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po index cbfa7f7dadf..52d00696837 100644 --- a/localization/i18n/hu/OrcaSlicer_hu.po +++ b/localization/i18n/hu/OrcaSlicer_hu.po @@ -1,14 +1,15 @@ +# msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Localazy (https://localazy.com)\n" "Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n" +"X-Generator: Localazy (https://localazy.com)\n" msgid "Supports Painting" msgstr "Támaszok festése" @@ -149,7 +150,7 @@ msgid "Height range" msgstr "Magasságtartomány" msgid "Alt + Shift + Enter" -msgstr "" +msgstr "Alt + Shift + Enter" msgid "Toggle Wireframe" msgstr "Drótváz-megjelenítés váltása" @@ -164,10 +165,10 @@ msgid "Height Range" msgstr "Magasságtartomány" msgid "Vertical" -msgstr "" +msgstr "Függőleges" msgid "Horizontal" -msgstr "" +msgstr "Vízszintes" msgid "Remove painted color" msgstr "Festett szín eltávolítása" @@ -268,16 +269,16 @@ msgid "uniform scale" msgstr "egységes méretarány" msgid "Planar" -msgstr "" +msgstr "Sík" msgid "Dovetail" -msgstr "" +msgstr "Fecskefarok" msgid "Auto" msgstr "Auto" msgid "Manual" -msgstr "" +msgstr "Manuális" msgid "Plug" msgstr "Plug" @@ -286,7 +287,7 @@ msgid "Dowel" msgstr "Dowel" msgid "Snap" -msgstr "" +msgstr "Csatlakoztatás" msgid "Prism" msgstr "" @@ -301,7 +302,7 @@ msgid "Hexagon" msgstr "Hexagon" msgid "Keep orientation" -msgstr "" +msgstr "Tájolás megtartása" msgid "Place on cut" msgstr "Place on cut" @@ -325,19 +326,19 @@ msgstr "Forma" #. Size in emboss direction #. TRN - Input label. Be short as possible msgid "Depth" -msgstr "" +msgstr "Mélység" msgid "Groove" -msgstr "" +msgstr "Horony" msgid "Width" msgstr "Szélesség" msgid "Flap Angle" -msgstr "" +msgstr "Fedélszög" msgid "Groove Angle" -msgstr "" +msgstr "Horonyszög" msgid "Part" msgstr "Tárgy" @@ -360,7 +361,7 @@ msgid "Move cut plane" msgstr "" msgid "Mode" -msgstr "" +msgstr "Mód" msgid "Change cut mode" msgstr "" @@ -408,7 +409,7 @@ msgid "Remove connectors" msgstr "Remove connectors" msgid "Bulge" -msgstr "" +msgstr "Kidudorodás" msgid "Bulge proportion related to radius" msgstr "" @@ -517,7 +518,7 @@ msgid "Cut by Plane" msgstr "" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" -msgstr "" +msgstr "A vágás után hibás élek keletkeztek, szeretnéd most javítani őket?" msgid "Repairing model object" msgstr "Modell javítása" @@ -617,13 +618,13 @@ msgid "Remove selection" msgstr "Kijelölés törlése" msgid "Entering Seam painting" -msgstr "" +msgstr "Belépés varratfestő módba" msgid "Leaving Seam painting" -msgstr "" +msgstr "Kilépés varratfestő módból" msgid "Paint-on seam editing" -msgstr "" +msgstr "Festett varrat szerkesztése" #. TRN - Input label. Be short as possible #. Select look of letter shape @@ -762,7 +763,7 @@ msgstr "" msgctxt "EmbossOperation" msgid "Cut" -msgstr "" +msgstr "Vágás" msgid "Click to change part type into negative volume." msgstr "" @@ -904,19 +905,19 @@ msgstr "" msgctxt "Alignment" msgid "Left" -msgstr "" +msgstr "Bal" msgctxt "Alignment" msgid "Center" -msgstr "" +msgstr "Közép" msgctxt "Alignment" msgid "Right" -msgstr "" +msgstr "Jobb" msgctxt "Alignment" msgid "Top" -msgstr "" +msgstr "Felső" msgctxt "Alignment" msgid "Middle" @@ -924,7 +925,7 @@ msgstr "" msgctxt "Alignment" msgid "Bottom" -msgstr "" +msgstr "Alsó" msgid "Revert alignment." msgstr "" @@ -1236,43 +1237,43 @@ msgid "SVG file does NOT contain a single path to be embossed (%1%)." msgstr "" msgid "Vertex" -msgstr "" +msgstr "Vertex" msgid "Edge" -msgstr "" +msgstr "Edge" msgid "Plane" -msgstr "" +msgstr "Plane" msgid "Point on edge" -msgstr "" +msgstr "Point on edge" msgid "Point on circle" -msgstr "" +msgstr "Point on circle" msgid "Point on plane" -msgstr "" +msgstr "Point on plane" msgid "Center of edge" -msgstr "" +msgstr "Center of edge" msgid "Center of circle" -msgstr "" +msgstr "Center of circle" msgid "ShiftLeft mouse button" msgstr "" msgid "Select feature" -msgstr "" +msgstr "Select feature" msgid "Select point" -msgstr "" +msgstr "Select point" msgid "Delete" msgstr "Törlés" msgid "Restart selection" -msgstr "" +msgstr "Restart selection" msgid "Esc" msgstr "Esc" @@ -1281,14 +1282,14 @@ msgid "Unselect" msgstr "" msgid "Measure" -msgstr "" +msgstr "Measure" msgid "Edit to scale" -msgstr "" +msgstr "Edit to scale" msgctxt "Verb" msgid "Scale" -msgstr "" +msgstr "Átméretezés" msgid "None" msgstr "Sehol" @@ -1300,22 +1301,22 @@ msgid "Length" msgstr "Hossz" msgid "Selection" -msgstr "" +msgstr "Selection" msgid "Copy to clipboard" msgstr "Másolás a vágólapra" msgid "Perpendicular distance" -msgstr "" +msgstr "Perpendicular distance" msgid "Distance" -msgstr "" +msgstr "Distance" msgid "Direct distance" -msgstr "" +msgstr "Direct distance" msgid "Distance XYZ" -msgstr "" +msgstr "Distance XYZ" msgid "Ctrl+" msgstr "Ctrl+" @@ -1357,9 +1358,6 @@ msgstr "" "A(z) \"%1%\" konfigurációs csomag betöltődött, de néhány értéket nem " "sikerült felismerni." -msgid "V" -msgstr "V" - 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." @@ -1453,10 +1451,14 @@ msgstr "Válassz ki egy fájlt (3mf):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" msgstr "" +"Válassz ki egy vagy több fájlt (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Válassz ki egy vagy több fájlt (3mf/step/stl/svg/obj/amf):" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "" @@ -1494,9 +1496,11 @@ 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 "" +"A felhőben tárolt felhasználói beállítások száma elérte a limitet, az " +"újonnan létrehozott felhasználói beállítások csak helyben lesznek tárolva." msgid "Sync user presets" -msgstr "" +msgstr "Felhasználói beállítások szinkronizálása" msgid "Loading user preset" msgstr "Felhasználói beállítás betöltése" @@ -1525,6 +1529,11 @@ msgstr "Folyamatban lévő feltöltések" msgid "Select a G-code file:" msgstr "Válassz egy G-code fájlt:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Import File" @@ -1659,16 +1668,16 @@ msgid "Cone" msgstr "Kúp" msgid "Disc" -msgstr "" +msgstr "Lemez" msgid "Torus" -msgstr "" +msgstr "Tórusz" msgid "Orca Cube" msgstr "" msgid "3DBenchy" -msgstr "" +msgstr "3DBenchy" msgid "Autodesk FDM Test" msgstr "" @@ -1721,10 +1730,10 @@ msgid "Fix model" msgstr "Model javítása" msgid "Export as one STL" -msgstr "" +msgstr "Exportálás egy STL-ként" msgid "Export as STLs" -msgstr "" +msgstr "Exportálás STL-ként" msgid "Reload from disk" msgstr "Újratöltés lemezről" @@ -1798,10 +1807,12 @@ msgstr "" "Összeállítja a kijelölt objektumokat egy egyetlen részből álló objektummá" msgid "Mesh boolean" -msgstr "" +msgstr "Mesh boolean" msgid "Mesh boolean operations including union and subtraction" msgstr "" +"Olyan modellhálóval kapcsolatos logikai műveletek, mint például az egyesítés " +"és kivonás" msgid "Along X axis" msgstr "X-tengely mentén" @@ -1946,7 +1957,7 @@ msgid "Lock" msgstr "Lezárás" msgid "Edit Plate Name" -msgstr "" +msgstr "Tálca nevének szerkesztése" msgid "Name" msgstr "Név" @@ -2009,7 +2020,7 @@ msgid "Error!" msgstr "Hiba!" msgid "Failed to get the model data in the current file." -msgstr "" +msgstr "Nem sikerült beolvasni a modelladatokat az aktuális fájlba." msgid "Generic" msgstr "Általános" @@ -2254,7 +2265,7 @@ msgid "Pause" msgstr "Szünet" msgid "Template" -msgstr "" +msgstr "Sablon" msgid "Custom" msgstr "Egyéni" @@ -2305,7 +2316,7 @@ msgid "Change filament at the beginning of this layer." msgstr "Change filament at the beginning of this layer." msgid "Delete Pause" -msgstr "" +msgstr "Szünet törlése" msgid "Delete Custom Template" msgstr "Delete Custom Template" @@ -2323,7 +2334,7 @@ msgid "No printer" msgstr "Nincs nyomtató" msgid "..." -msgstr "" +msgstr "..." msgid "Failed to connect to the server" msgstr "Nem sikerült csatlakozni a szerverhez" @@ -2356,7 +2367,7 @@ msgid "?" msgstr "?" msgid "/" -msgstr "" +msgstr "/" msgid "Empty" msgstr "Üres" @@ -2365,13 +2376,13 @@ msgid "AMS" msgstr "AMS" msgid "Auto Refill" -msgstr "" +msgstr "Auto Refill" msgid "AMS not connected" msgstr "Az AMS nincs csatlakoztatva" msgid "Load" -msgstr "" +msgstr "Load" msgid "Unload" msgstr "Kitöltés" @@ -2403,7 +2414,7 @@ msgid "Cancel calibration" msgstr "Kalibrálás megszakítása" msgid "Idling..." -msgstr "" +msgstr "Tétlen..." msgid "Heat the nozzle" msgstr "Fűtsd fel a fúvókát" @@ -2421,13 +2432,13 @@ msgid "Purge old filament" msgstr "Régi filament kiöblítése" msgid "Feed Filament" -msgstr "" +msgstr "Filament betöltése" msgid "Confirm extruded" -msgstr "" +msgstr "Extrudálás megerősítése" msgid "Check filament location" -msgstr "" +msgstr "Ellenőrizd a filament helyzetét" msgid "Grab new filament" msgstr "Grab new filament" @@ -2436,6 +2447,8 @@ msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" +"Válassz ki egy AMS-helyet, majd nyomd meg a „Betöltés” vagy a „Kitöltés” " +"gombot az filament automatikus betöltéséhez vagy eltávolításához." msgid "Edit" msgstr "Szerkesztés" @@ -2515,7 +2528,7 @@ msgid "Orienting canceled." msgstr "" msgid "Filling" -msgstr "" +msgstr "Kitöltés" msgid "Bed filling canceled." msgstr "Bed filling canceled." @@ -2600,7 +2613,7 @@ msgid "Sending print job through cloud service" msgstr "Nyomtatási munka küldése felhőszolgáltatáson keresztül" msgid "Print task sending times out." -msgstr "" +msgstr "Időtúllépés a nyomtatási feladat küldése során." msgid "Service Unavailable" msgstr "Szolgáltatás nem elérhető" @@ -2619,6 +2632,7 @@ msgstr "" #, c-format, boost-format msgid "Successfully sent. Will automatically jump to the next page in %ss" msgstr "" +"Sikeresen elküldve. Ugrás automatikusan a következő oldalra %s mp-en belül" msgid "An SD card needs to be inserted before printing via LAN." msgstr "A LAN-on keresztüli nyomtatáshoz helyezz be egy SD kártyát." @@ -2778,10 +2792,10 @@ msgid "Setting AMS slot information while printing is not supported" msgstr "Nyomtatás közben nem változtathatóak meg a AMS férőhelyek adatai" msgid "Factors of Flow Dynamics Calibration" -msgstr "" +msgstr "Anyagáramlás kalibrálásának faktorai" msgid "PA Profile" -msgstr "" +msgstr "PA-profil" msgid "Factor K" msgstr "K-tényező" @@ -2799,10 +2813,10 @@ msgid "You need to select the material type and color first." msgstr "You need to select the material type and color first." msgid "Please input a valid value (K in 0~0.3)" -msgstr "" +msgstr "Kérjük, adj meg egy érvényes értéket (K 0-0,3)" msgid "Please input a valid value (K in 0~0.3, N in 0.6~2.0)" -msgstr "" +msgstr "Kérjük, adj meg egy érvényes értéket (K 0-0,3; N 0,6-2,0)" msgid "Other Color" msgstr "Other Color" @@ -2910,7 +2924,7 @@ msgid "Print with the filament mounted on the back of chassis" msgstr "Nyomtatás külső tartón lévő filamenttel" msgid "Current Cabin humidity" -msgstr "" +msgstr "Current Cabin humidity" msgid "" "Please change the desiccant when it is too wet. The indicator may not " @@ -2918,6 +2932,10 @@ msgid "" "desiccant pack is changed. it take hours to absorb the moisture, low " "temperatures also slow down the process." msgstr "" +"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 takes a few hours to absorb the moisture, and " +"low temperatures also slow down the process." msgid "" "Config which AMS slot should be used for a filament used in the print job" @@ -2950,16 +2968,19 @@ msgid "" "When the current material run out, the printer will continue to print in the " "following order." msgstr "" +"Amikor az aktuális filament elfogy, a nyomtató a következő sorrendben " +"folytatja a nyomtatást." msgid "Group" msgstr "Group" msgid "The printer does not currently support auto refill." -msgstr "" +msgstr "A nyomtató jelenleg nem támogatja az automatikus újratöltést." msgid "" "AMS filament backup is not enabled, please enable it in the AMS settings." msgstr "" +"AMS filament backup is not enabled; please enable it in the AMS settings." msgid "" "If there are two identical filaments in AMS, AMS filament backup will be " @@ -2967,12 +2988,16 @@ msgid "" "(Currently supporting automatic supply of consumables with the same brand, " "material type, and color)" msgstr "" +"If there are two identical filaments in an AMS, AMS filament backup will be " +"enabled. \n" +"(This currently supports automatic supply of consumables with the same " +"brand, material type, and color)" msgid "DRY" -msgstr "" +msgstr "DRY" msgid "WET" -msgstr "" +msgstr "WET" msgid "AMS Settings" msgstr "AMS beállítások" @@ -2991,6 +3016,8 @@ msgid "" "Note: if a new filament is inserted during printing, the AMS will not " "automatically read any information until printing is completed." msgstr "" +"Megjegyzés: ha nyomtatás során új filament kerül behelyezésre, az AMS nem " +"fogja automatikusan kiolvasni az információkat a nyomtatás végéig." msgid "" "When inserting a new filament, the AMS will not automatically read its " @@ -3043,12 +3070,14 @@ msgstr "" "aktuális filament kifogy." msgid "Air Printing Detection" -msgstr "" +msgstr "Air Printing Detection" msgid "" "Detects clogging and filament grinding, halting printing immediately to " "conserve time and filament." msgstr "" +"Detects clogging and filament grinding, halting printing immediately to " +"conserve time and filament." msgid "File" msgstr "Fájl" @@ -3126,7 +3155,7 @@ msgid "Running post-processing scripts" msgstr "Utófeldolgozási szkriptek futtatása" msgid "Successfully executed post-processing script" -msgstr "" +msgstr "Successfully executed post-processing script" msgid "Unknown error occured during exporting G-code." msgstr "" @@ -3192,10 +3221,10 @@ msgid "Device" msgstr "Nyomtató" msgid "Task Sending" -msgstr "" +msgstr "Task Sending" msgid "Task Sent" -msgstr "" +msgstr "Task Sent" msgid "Edit multiple printers" msgstr "" @@ -3215,7 +3244,7 @@ msgid "Offline" msgstr "Offline" msgid "No task" -msgstr "" +msgstr "No task" msgid "View" msgstr "Nézet" @@ -3227,16 +3256,16 @@ msgid "Edit Printers" msgstr "" msgid "Device Name" -msgstr "" +msgstr "Device Name" msgid "Task Name" -msgstr "" +msgstr "Task Name" msgid "Device Status" -msgstr "" +msgstr "Device Status" msgid "Actions" -msgstr "" +msgstr "Actions" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" @@ -3279,7 +3308,7 @@ msgid "Pending" msgstr "" msgid "Sending" -msgstr "" +msgstr "Küldés" msgid "Sending Finish" msgstr "" @@ -3306,25 +3335,25 @@ msgid "Stop" msgstr "Állj" msgid "Task Status" -msgstr "" +msgstr "Task Status" msgid "Sent Time" -msgstr "" +msgstr "Sent Time" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "There are no tasks to be sent!" msgid "No historical tasks!" -msgstr "" +msgstr "No historical tasks!" msgid "Loading..." msgstr "Betöltés…" msgid "No AMS" -msgstr "" +msgstr "No AMS" msgid "Send to Multi-device" -msgstr "" +msgstr "Send to Multi-device" msgid "Preparing print job" msgstr "Nyomtatási feladat előkészítése" @@ -3339,22 +3368,31 @@ msgid "The number of printers in use simultaneously cannot be equal to 0." msgstr "" msgid "Use External Spool" -msgstr "" +msgstr "Use External Spool" msgid "Use AMS" -msgstr "" +msgstr "Use AMS" msgid "Select Printers" -msgstr "" +msgstr "Select Printers" msgid "Ams Status" -msgstr "" +msgstr "AMS Status" msgid "Printing Options" +msgstr "Printing Options" + +msgid "Bed Leveling" +msgstr "Asztalszintezés" + +msgid "Timelapse" +msgstr "Timelapse" + +msgid "Flow Dynamic Calibration" msgstr "" msgid "Send Options" -msgstr "" +msgstr "Send Options" msgid "Send" msgstr "Küldés" @@ -3363,13 +3401,16 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" +"printers at the same time. (It depends on how many devices can undergo " +"heating at the same time.)" msgid "Wait" -msgstr "" +msgstr "Wait" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" +"minute each batch. (It depends on how long it takes to complete heating.)" msgid "Name is invalid;" msgstr "A név érvénytelen;" @@ -3464,14 +3505,18 @@ msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" msgstr "" +"Az ajánlott minimum hőmérséklet kevesebb, mint 190 fok, vagy az ajánlott " +"maximális hőmérséklet nagyobb, mint 300 fok.\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " "maximum temperature.\n" msgstr "" +"The recommended minimum temperature cannot be higher than the recommended " +"maximum temperature.\n" msgid "Please check.\n" -msgstr "" +msgstr "Kérjük, ellenőrizd.\n" msgid "" "Nozzle may be blocked when the temperature is out of recommended range.\n" @@ -3503,6 +3548,9 @@ msgid "" "it may result in material softening and clogging.The maximum safe " "temperature for the material is %d" msgstr "" +"Current chamber temperature is higher than the material's safe temperature; " +"this may result in material softening and nozzle clogs.The maximum safe " +"temperature for the material is %d" msgid "" "Too small layer height.\n" @@ -3624,6 +3672,7 @@ msgstr "" msgid " But machines with I3 structure will not generate timelapse videos." msgstr "" +" Az I3-szerkezetű gépek azonban nem fognak timelapse videókat készíteni." msgid "" "Change these settings automatically? \n" @@ -3699,46 +3748,46 @@ msgid "Paused due to heat bed temperature malfunction" msgstr "Szüneteltetve a tárgyasztal hőmérsékletének rendellenessége miatt" msgid "Filament unloading" -msgstr "" +msgstr "Filament kitöltése" msgid "Skip step pause" -msgstr "" +msgstr "Lépésvesztés miatti szünet" msgid "Filament loading" -msgstr "" +msgstr "Filament betöltése" msgid "Motor noise calibration" -msgstr "" +msgstr "Motorzaj-kalibrálás" msgid "Paused due to AMS lost" -msgstr "" +msgstr "Szüneteltetve az AMS elvesztése miatt" msgid "Paused due to low speed of the heat break fan" -msgstr "" +msgstr "Szüneteltetve a heat break ventilátor alacsony fordulatszáma miatt" msgid "Paused due to chamber temperature control error" -msgstr "" +msgstr "Szüneteltetve a kamra hőmérséklet-szabályzó hibája miatt" msgid "Cooling chamber" -msgstr "" +msgstr "Kamra hűtése" msgid "Paused by the Gcode inserted by user" -msgstr "" +msgstr "Szüneteltetve a felhasználó által beillesztett G-kód miatt" msgid "Motor noise showoff" -msgstr "" +msgstr "Motorzaj bemutató" msgid "Nozzle filament covered detected pause" -msgstr "" +msgstr "Szüneteltetve a fúvókára került filament miatt" msgid "Cutter error pause" -msgstr "" +msgstr "Szüneteltetve a filamentvágó meghibásodása miatt" msgid "First layer error pause" -msgstr "" +msgstr "Szüneteltetve a kezdőrétegen található hiba miatt" msgid "Nozzle clog pause" -msgstr "" +msgstr "Szüneteltetve a fúvóka eltömődése miatt" msgid "Unknown" msgstr "Ismeretlen" @@ -3769,53 +3818,66 @@ msgid "" "45℃.In order to avoid extruder clogging,low temperature filament(PLA/PETG/" "TPU) is not allowed to be loaded." msgstr "" +"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." 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 " "above 45℃." msgstr "" +"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 " +"above 45℃." 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 "" +"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℃." msgid "Failed to start printing job" msgstr "Nem sikerült elindítani a nyomtatási feladatot" msgid "" "This calibration does not support the currently selected nozzle diameter" -msgstr "" +msgstr "Ezt a kalibrálást nem lehet elvégezni a kiválasztott fúvókaátmérővel" msgid "Current flowrate cali param is invalid" -msgstr "" +msgstr "Az anyagáramlás kalibrációs paramétere érvénytelen" msgid "Selected diameter and machine diameter do not match" -msgstr "" +msgstr "A kiválasztott átmérő és a nyomtatóban megadott átmérő nem egyezik" msgid "Failed to generate cali gcode" -msgstr "" +msgstr "Nem sikerült létrehozni a kalibrációs G-kódot" msgid "Calibration error" -msgstr "" +msgstr "Kalibrációs hiba" msgid "TPU is not supported by AMS." -msgstr "" +msgstr "Az AMS nem támogatja a TPU-t." msgid "Bambu PET-CF/PA6-CF is not supported by AMS." -msgstr "" +msgstr "A Bambu PET-CF/PA6-CF filament nem használható az AMS-sel." msgid "" "Damp PVA will become flexible and get stuck inside AMS,please take care to " "dry it before use." msgstr "" +"A nedves PVA rugalmassá válik és elakadhat az AMS belsejében; kérjük, " +"használat előtt alaposan szárítsd ki." msgid "" "CF/GF filaments are hard and brittle, It's easy to break or get stuck in " "AMS, please use with caution." msgstr "" +"A CF/GF filament rideg és törékeny, ezért könnyen eltörhet vagy elakadhat az " +"AMS-ben; kérjük, légy körültekintő a használatakor." msgid "default" msgstr "alapértelmezett" @@ -3898,7 +3960,7 @@ msgstr "Paraméter validáció" #, c-format, boost-format msgid "Value %s is out of range. The valid range is from %d to %d." -msgstr "" +msgstr "Value %s is out of range. The valid range is from %d to %d." msgid "Value is out of range." msgstr "Az érték tartományon kívül esik." @@ -3981,7 +4043,7 @@ msgid "Flushed" msgstr "Öblített" msgid "Tower" -msgstr "" +msgstr "Torony" msgid "Total" msgstr "Összesen" @@ -3993,7 +4055,7 @@ msgid "Total time" msgstr "Teljes idő" msgid "Total cost" -msgstr "" +msgstr "Total cost" msgid "up to" msgstr "legfeljebb" @@ -4089,10 +4151,10 @@ msgid "Normal mode" msgstr "Normál mód" msgid "Total Filament" -msgstr "" +msgstr "Total Filament" msgid "Model Filament" -msgstr "" +msgstr "Model Filament" msgid "Prepare time" msgstr "Előkészítési idő" @@ -4188,7 +4250,7 @@ msgid "Spacing" msgstr "Térköz" msgid "0 means auto spacing." -msgstr "" +msgstr "0 means auto spacing." msgid "Auto rotate for arrangement" msgstr "Automatikus forgatás az elrendezéshez" @@ -4200,7 +4262,7 @@ msgid "Avoid extrusion calibration region" msgstr "Extrudáláskalibráció környékének elkerülése" msgid "Align to Y axis" -msgstr "" +msgstr "Igazítás az Y-tengelyhez" msgid "Add plate" msgstr "Tálca hozzáadása" @@ -4266,7 +4328,7 @@ msgid "An object is layed over the boundary of plate." msgstr "Egy objektum a tálca határvonalán túlra került." msgid "A G-code path goes beyond the max print height." -msgstr "" +msgstr "A G-kód útvonala túlmegy a maximális nyomtatási magasságon." msgid "A G-code path goes beyond the boundary of plate." msgstr "A G-kód útvonala túlmegy a tálca peremén." @@ -4294,10 +4356,10 @@ msgid "Bed leveling" msgstr "Asztalszintezés" msgid "Vibration compensation" -msgstr "" +msgstr "Rezgés-kompenzáció" msgid "Motor noise cancellation" -msgstr "" +msgstr "Motorzajszűrés" msgid "Calibration program" msgstr "Kalibrációs program" @@ -4324,7 +4386,7 @@ msgid "Calibrating" msgstr "Kalibrálás" msgid "No step selected" -msgstr "" +msgstr "Nincs kiválasztva lépés" msgid "Auto-record Monitoring" msgstr "Automatikus felügyelet" @@ -4333,7 +4395,7 @@ msgid "Go Live" msgstr "Streamelés indítása" msgid "Liveview Retry" -msgstr "" +msgstr "Élő nézet újra próbálása" msgid "Resolution" msgstr "Felbontás" @@ -4391,7 +4453,7 @@ msgid "Preview" msgstr "Előnézet" msgid "Multi-device" -msgstr "" +msgstr "Multi-device" msgid "Project" msgstr "Projekt" @@ -4537,6 +4599,12 @@ msgstr "Importálás 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Modell betöltése" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Import Configs" @@ -4547,10 +4615,10 @@ msgid "Import" msgstr "Import" msgid "Export all objects as one STL" -msgstr "" +msgstr "Az összes objektum exportálása egy STL-ként" msgid "Export all objects as STLs" -msgstr "" +msgstr "Az összes objektum exportálása STL-ként" msgid "Export Generic 3MF" msgstr "Export Generic 3MF" @@ -4676,49 +4744,49 @@ msgid "Help" msgstr "Segítség" msgid "Temperature Calibration" -msgstr "" +msgstr "Hőmérséklet kalibrálás" msgid "Pass 1" -msgstr "" +msgstr "1. menet" msgid "Flow rate test - Pass 1" -msgstr "" +msgstr "Anyagáramlás teszt - 1. menet" msgid "Pass 2" -msgstr "" +msgstr "2. menet" msgid "Flow rate test - Pass 2" -msgstr "" +msgstr "Anyagáramlás teszt - 2. menet" msgid "Flow rate" -msgstr "" +msgstr "Anyagáramlás" msgid "Pressure advance" -msgstr "" +msgstr "Nyomáselőtolás (PA)" msgid "Retraction test" -msgstr "" +msgstr "Visszahúzás teszt" msgid "Orca Tolerance Test" -msgstr "" +msgstr "Orca Tolerance Test" msgid "Max flowrate" -msgstr "" +msgstr "Max. anyagáramlás" msgid "VFA" -msgstr "" +msgstr "VFA" msgid "More..." -msgstr "" +msgstr "Több..." msgid "Tutorial" -msgstr "" +msgstr "Útmutató" msgid "Calibration help" -msgstr "" +msgstr "Kalibrálási segítség" msgid "More calibrations" -msgstr "" +msgstr "További kalibrációk" msgid "&Open G-code" msgstr "&G-kód megnyitása" @@ -4834,48 +4902,58 @@ msgid "Synchronization" msgstr "Szinkronizálás" msgid "The device cannot handle more conversations. Please retry later." -msgstr "" +msgstr "Az eszköz nem tud több kapcsolatot kezelni. Kérjük, próbálkozz később." msgid "Player is malfunctioning. Please reinstall the system player." -msgstr "" +msgstr "A lejátszó hibásan működik. Kérjük, telepítsd újra." msgid "The player is not loaded, please click \"play\" button to retry." msgstr "" +"A lejátszó nem töltődött be; kérjük, kattints a „lejátszás” gombra az újra " +"próbálkozáshoz." msgid "Please confirm if the printer is connected." -msgstr "" +msgstr "Kérjük, ellenőrizd, hogy a nyomtató csatlakoztatva van." msgid "" "The printer is currently busy downloading. Please try again after it " "finishes." msgstr "" +"A nyomtató a letöltéssel van elfoglalva. Kérjük, várd meg, amíg a letöltés " +"befejeződik." msgid "Printer camera is malfunctioning." -msgstr "" +msgstr "A nyomtató kamerája hibásan működik." msgid "Problem occured. Please update the printer firmware and try again." msgstr "" +"Probléma merült fel. Kérjük, frissítsd a nyomtató firmware-ét, és próbáld " +"meg újra." msgid "" "LAN Only Liveview is off. Please turn on the liveview on printer screen." msgstr "" +"LAN Only Liveview is off. Please turn on the liveview on printer screen." msgid "Please enter the IP of printer to connect." -msgstr "" +msgstr "A csatlakozáshoz add meg a nyomtató IP-címét." msgid "Initializing..." msgstr "Inicializálás…" msgid "Connection Failed. Please check the network and try again" msgstr "" +"Csatlakozás sikertelen. Kérjük, ellenőrizd a hálózatot, és próbáld újra" msgid "" "Please check the network and try again, You can restart or update the " "printer if the issue persists." msgstr "" +"Kérjük, ellenőrizd a hálózatot, és próbáld újra. Ha a probléma továbbra is " +"fennáll, indítsd újra vagy frissítsd a nyomtatót." msgid "The printer has been logged out and cannot connect." -msgstr "" +msgstr "A nyomtató ki van jelentkezve, és nem tud csatlakozni." msgid "Stopped." msgstr "Megállítva." @@ -4933,9 +5011,6 @@ msgstr "Fájlok csoportosítása hónap szerint, elöl a legújabb." msgid "Show all files, recent first." msgstr "Minden fájl megjelenítése, elöl a legújabb." -msgid "Timelapse" -msgstr "Timelapse" - msgid "Switch to timelapse files." msgstr "Váltás timelapse fájlokra." @@ -4967,7 +5042,7 @@ msgid "Refresh" msgstr "Frissítés" msgid "Reload file list from printer." -msgstr "" +msgstr "Reload file list from printer." msgid "No printers." msgstr "No printers." @@ -4980,10 +5055,10 @@ msgid "Loading file list..." msgstr "Loading file list..." msgid "No files" -msgstr "" +msgstr "Nincs fájl" msgid "Load failed" -msgstr "" +msgstr "Load failed" msgid "Initialize failed (Device connection not ready)!" msgstr "Initialization failed (Device connection not ready)!" @@ -4992,15 +5067,17 @@ msgid "" "Browsing file in SD card is not supported in current firmware. Please update " "the printer firmware." msgstr "" +"Browsing file in SD card is not supported in current firmware. Please update " +"the printer firmware." msgid "Initialize failed (Storage unavailable, insert SD card.)!" msgstr "" msgid "LAN Connection Failed (Failed to view sdcard)" -msgstr "" +msgstr "LAN Connection Failed (Failed to view sdcard)" msgid "Browsing file in SD card is not supported in LAN Only Mode." -msgstr "" +msgstr "Browsing file in SD card is not supported in LAN Only Mode." #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -5027,10 +5104,10 @@ msgid "Fetching model infomations ..." msgstr "Fetching model information..." msgid "Failed to fetch model information from printer." -msgstr "" +msgstr "Nem sikerült letölteni a modellinfomációt a nyomtatóról." msgid "Failed to parse model information." -msgstr "" +msgstr "Nem sikerült feldolgozni a modellinformációkat" msgid "" "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " @@ -5046,6 +5123,8 @@ msgid "" "File: %s\n" "Title: %s\n" msgstr "" +"File: %s\n" +"Title: %s\n" msgid "Download waiting..." msgstr "Várakozás letöltésre..." @@ -5067,22 +5146,24 @@ msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." msgstr "" +"Reconnecting the printer, the operation cannot be completed immediately, " +"please try again later." msgid "File does not exist." -msgstr "" +msgstr "A fájl nem létezik." msgid "File checksum error. Please retry." -msgstr "" +msgstr "Fájl checksum hiba. Kérjük, próbáld újra." msgid "Not supported on the current printer version." -msgstr "" +msgstr "A nyomtató jelenlegi szoftvere nem támogatja." msgid "Storage unavailable, insert SD card." -msgstr "" +msgstr "A tárhely nem elérhető; kérjük helyezz be egy MicroSD-kártyát." #, c-format, boost-format msgid "Error code: %d" -msgstr "" +msgstr "Hibakód: %d" msgid "Speed:" msgstr "Sebesség:" @@ -5139,17 +5220,19 @@ msgid "" "You have completed printing the mall model, \n" "but the synchronization of rating information has failed." msgstr "" +"You have completed printing the mall model, \n" +"but synchronizing rating information has failed." msgid "How do you like this printing file?" -msgstr "" +msgstr "Hogy tetszik ez a nyomtatási fájl?" msgid "" "(The model has already been rated. Your rating will overwrite the previous " "rating.)" -msgstr "" +msgstr "(Már értékelted ezt a modellt. Az új értékelésed felülírja az előzőt.)" msgid "Rate" -msgstr "" +msgstr "Értékelés" msgid "Camera" msgstr "Kamera" @@ -5167,7 +5250,7 @@ msgid "Control" msgstr "Vezérlés" msgid "Printer Parts" -msgstr "" +msgstr "Printer Parts" msgid "Print Options" msgstr "Nyomtatási lehetőségek" @@ -5224,6 +5307,8 @@ msgid "" "Please heat the nozzle to above 170 degree before loading or unloading " "filament." msgstr "" +"Kérjük, melegítsd a fúvókát 170 fok fölé a filament betöltése vagy kihúzása " +"előtt." msgid "Still unload" msgstr "Még kitöltődik" @@ -5260,95 +5345,108 @@ msgid "Can't start this without SD card." msgstr "MicroSD kártya nélkül nem indítható." msgid "Rate the Print Profile" -msgstr "" +msgstr "Értékeld a nyomtatási profilt" msgid "Comment" -msgstr "" +msgstr "Megjegyzés" msgid "Rate this print" -msgstr "" +msgstr "Értékeld ezt a nyomtatást" msgid "Add Photo" -msgstr "" +msgstr "Fénykép hozzáadása" msgid "Delete Photo" -msgstr "" +msgstr "Fénykép törlése" msgid "Submit" -msgstr "" +msgstr "Elküldés" msgid "Please click on the star first." -msgstr "" +msgstr "Kérjük, először kattints a csillagokra." msgid "InFo" -msgstr "" +msgstr "Infó" msgid "Get oss config failed." -msgstr "" +msgstr "OSS-konfiguráció letöltése sikertelen." msgid "Upload Pictrues" -msgstr "" +msgstr "Upload Pictures" msgid "Number of images successfully uploaded" -msgstr "" +msgstr "Sikeresen feltöltött képek száma" msgid " upload failed" -msgstr "" +msgstr " feltöltés sikertelen" msgid " upload config prase failed\n" -msgstr "" +msgstr " upload config prase failed\n" msgid " No corresponding storage bucket\n" -msgstr "" +msgstr " Nincs megfelelő tárolóhely\n" msgid " can not be opened\n" -msgstr "" +msgstr " cannot be opened\n" msgid "" "The following issues occurred during the process of uploading images. Do you " "want to ignore them?\n" "\n" msgstr "" +"A képek feltöltése során a következő problémák merültek fel. Szeretnéd " +"figyelmen kívül hagyni őket?\n" +"\n" msgid "info" msgstr "infó" msgid "Synchronizing the printing results. Please retry a few seconds later." -msgstr "" +msgstr "Nyomtatási eredmények szinkronizálása. Kérjük, próbáld újra később." msgid "Upload failed\n" -msgstr "" +msgstr "Feltöltés sikertelen\n" msgid "obtaining instance_id failed\n" -msgstr "" +msgstr "Az instance_id beszerzése sikertelen\n" msgid "" "Your comment result cannot be uploaded due to some reasons. As follows:\n" "\n" " error code: " msgstr "" +"Your comment result cannot be uploaded due to the following reasons:\n" +"\n" +" error code: " msgid "error message: " -msgstr "" +msgstr "hibaüzenet: " msgid "" "\n" "\n" "Would you like to redirect to the webpage for rating?" msgstr "" +"\n" +"\n" +"Would you like to redirect to the webpage to give a rating?" msgid "" "Some of your images failed to upload. Would you like to redirect to the " "webpage for rating?" msgstr "" +"Néhány képet nem sikerült feltölteni. Szeretnéd, ha átirányítanánk a " +"weboldalra az értékelés beküldéséhez?" msgid "You can select up to 16 images." -msgstr "" +msgstr "Legfeljebb 16 képet választhatsz ki." msgid "" "At least one successful print record of this print profile is required \n" "to give a positive rating(4 or 5stars)." msgstr "" +"At least one successful print record of this print profile is required \n" +"to give a positive rating (4 or 5 stars)." msgid "Status" msgstr "Állapot" @@ -5398,7 +5496,7 @@ msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "" msgid "Download Beta Version" -msgstr "" +msgstr "Béta verzió letöltése" msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "" @@ -5407,13 +5505,13 @@ msgid "Update your Orca Slicer could enable all functionality in the 3mf file." msgstr "" msgid "Current Version: " -msgstr "" +msgstr "Jelenlegi verzió: " msgid "Latest Version: " -msgstr "" +msgstr "Legújabb verzió: " msgid "Not for now" -msgstr "" +msgstr "Not for now" msgid "3D Mouse disconnected." msgstr "3D Mouse csatlakoztatva." @@ -5440,10 +5538,10 @@ msgid "Details" msgstr "Részletek" msgid "New printer config available." -msgstr "" +msgstr "Új nyomtatókonfiguráció érhető el." msgid "Wiki" -msgstr "" +msgstr "Wiki" msgid "Undo integration failed." msgstr "Az integráció visszavonása nem sikerült." @@ -5484,12 +5582,12 @@ msgstr[1] "" msgid "ERROR" msgstr "HIBA" -msgid "CANCELED" -msgstr "MEGSZAKÍTVA" - msgid "COMPLETED" msgstr "KÉSZ" +msgid "CANCELED" +msgstr "MEGSZAKÍTVA" + msgid "Cancel upload" msgstr "Feltöltés megszakítása" @@ -5506,10 +5604,10 @@ msgid "Export successfully." msgstr "Sikeresen exportálva" msgid "Model file downloaded." -msgstr "" +msgstr "Modellfájl letöltve." msgid "Serious warning:" -msgstr "" +msgstr "Súlyos figyelmeztetés:" msgid " (Repair)" msgstr " (Javítás)" @@ -5597,29 +5695,29 @@ msgid "Auto-recovery from step loss" msgstr "Automatikus helyreállítás lépésvesztésből" msgid "Allow Prompt Sound" -msgstr "" +msgstr "Hangjelzés engedélyezése" msgid "Filament Tangle Detect" -msgstr "" +msgstr "Filament Tangle Detection" msgid "Nozzle Clumping Detection" -msgstr "" +msgstr "Nozzle Clumping Detection" msgid "Check if the nozzle is clumping by filament or other foreign objects." -msgstr "" +msgstr "Check if the nozzle is clumping by filament or other foreign objects." msgid "Nozzle Type" -msgstr "" +msgstr "Nozzle Type" msgid "Stainless Steel" -msgstr "" +msgstr "Rozsdamentes acél" msgid "Hardened Steel" -msgstr "" +msgstr "Edzett acél" #, c-format, boost-format msgid "%.1f" -msgstr "" +msgstr "%.1f" msgid "Global" msgstr "Globális" @@ -5710,7 +5808,7 @@ msgid "Set filaments to use" msgstr "Használni kívánt filament beállítása" msgid "Search plate, object and part." -msgstr "" +msgstr "Tálca, objektum és tárgy keresése." msgid "" "No AMS filaments. Please select a printer in 'Device' page to load AMS info." @@ -5777,6 +5875,9 @@ msgid "" "clogged when printing this filament in a closed enclosure. Please open the " "front door and/or remove the upper glass." msgstr "" +"The current heatbed temperature is relatively high. The nozzle may clog when " +"printing this filament in a closed environment. Please open the front door " +"and/or remove the upper glass." msgid "" "The nozzle hardness required by the filament is higher than the default " @@ -5791,6 +5892,8 @@ msgid "" "Enabling traditional timelapse photography may cause surface imperfections. " "It is recommended to change to smooth mode." msgstr "" +"A hagyományos timelapse engedélyezése felületi hibákat okozhat. Javasoljuk, " +"hogy válts a sima módra." msgid "Expand sidebar" msgstr "" @@ -5834,26 +5937,31 @@ msgid "Please correct them in the param tabs" msgstr "Please correct them in the Param tabs" msgid "The 3mf has following modified G-codes in filament or printer presets:" -msgstr "" +msgstr "The 3mf has following modified G-code in filament or printer presets:" msgid "" "Please confirm that these modified G-codes are safe to prevent any damage to " "the machine!" msgstr "" +"Kérjük, győződj meg arról, hogy ezek a módosított G-kódok biztonságosak, " +"hogy elkerüld a nyomtató esetleges károsodását!" msgid "Modified G-codes" -msgstr "" +msgstr "Modified G-code" msgid "The 3mf has following customized filament or printer presets:" msgstr "" +"A 3mf a következő egyedi filament- vagy nyomtatóbeállításokat tartalmazza:" msgid "" "Please confirm that the G-codes within these presets are safe to prevent any " "damage to the machine!" msgstr "" +"Kérjük, győződj meg arról, hogy a beállításokban található G-kódok " +"biztonságosak, hogy elkerüld a nyomtató esetleges károsodását!" msgid "Customized Preset" -msgstr "" +msgstr "Egyedi beállítás" msgid "Name of components inside step file is not UTF8 format!" msgstr "A STEP fájlon belüli komponens neve nem UTF-8 formátumban van!" @@ -5920,22 +6028,24 @@ msgid "Export STL file:" msgstr "STL fájl exportálása:" msgid "Export AMF file:" -msgstr "" +msgstr "AMF fájl exportálása:" msgid "Save file as:" msgstr "Fájl mentése mint:" msgid "Export OBJ file:" -msgstr "" +msgstr "OBJ fájl exportálása:" #, c-format, boost-format msgid "" "The file %s already exists\n" "Do you want to replace it?" msgstr "" +"The file %s already exists.\n" +"Do you want to replace it?" msgid "Comfirm Save As" -msgstr "" +msgstr "Mentés másként megerősítése" msgid "Delete object which is a part of cut object" msgstr "Delete object which is a part of cut object" @@ -5956,13 +6066,13 @@ msgid "Another export job is running." msgstr "Egy másik exportálási feladat is fut." msgid "Unable to replace with more than one volume" -msgstr "" +msgstr "Nem lehet egynél több kötetre cserélni" msgid "Error during replace" msgstr "Hiba a csere során" msgid "Replace from:" -msgstr "" +msgstr "Csere innen:" msgid "Select a new file" msgstr "Válassz egy új fájlt" @@ -5974,19 +6084,19 @@ msgid "Please select a file" msgstr "Kérjük, válassz egy fájlt" msgid "Do you want to replace it" -msgstr "" +msgstr "Do you want to replace it?" msgid "Message" -msgstr "" +msgstr "Üzenet" msgid "Reload from:" -msgstr "" +msgstr "Újratöltés innen:" msgid "Unable to reload:" -msgstr "" +msgstr "Nem sikerült újratölteni:" msgid "Error during reload" -msgstr "" +msgstr "Hiba az újratöltés során" msgid "There are warnings after slicing models:" msgstr "A modellek szeletelése a következő figyelmeztetéseket generálta:" @@ -6050,13 +6160,13 @@ msgid "prepare 3mf file..." msgstr "3mf fájl előkészítése..." msgid "Download failed, unknown file format." -msgstr "" +msgstr "Download failed; unknown file format." msgid "downloading project ..." msgstr "projekt letöltése ..." msgid "Download failed, File size exception." -msgstr "" +msgstr "Download failed; File size exception." #, c-format, boost-format msgid "Project downloaded %d%%" @@ -6079,6 +6189,20 @@ msgstr "nem tartalmaz érvényes G-kódot." msgid "Error occurs while loading G-code file" msgstr "Hiba a G-kód betöltésének során" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Projekt fájl elvetése" @@ -6121,13 +6245,13 @@ msgid "Save G-code file as:" msgstr "G-kód fájl mentése mint:" msgid "Save SLA file as:" -msgstr "" +msgstr "SLA fájl mentése mint:" msgid "The provided file name is not valid." -msgstr "" +msgstr "A megadott fájlnév érvénytelen." msgid "The following characters are not allowed by a FAT file system:" -msgstr "" +msgstr "A következő karakterek nem engedélyezettek a FAT fájlrendszerben:" msgid "Save Sliced file as:" msgstr "Szeletelt fájl mentése mint:" @@ -6143,22 +6267,24 @@ msgid "" "Unable to perform boolean operation on model meshes. Only positive parts " "will be kept. You may fix the meshes and try agian." msgstr "" +"Unable to perform boolean operation on model meshes. Only positive parts " +"will be kept. You may fix the meshes and try agian." #, boost-format msgid "Reason: part \"%1%\" is empty." -msgstr "" +msgstr "Reason: part \"%1%\" is empty." #, boost-format msgid "Reason: part \"%1%\" does not bound a volume." -msgstr "" +msgstr "Reason: part \"%1%\" does not bound a volume." #, boost-format msgid "Reason: part \"%1%\" has self intersection." -msgstr "" +msgstr "Reason: part \"%1%\" has self intersection." #, boost-format msgid "Reason: \"%1%\" and another part have no intersection." -msgstr "" +msgstr "Reason: \"%1%\" and another part have no intersection." msgid "" "Are you sure you want to store original SVGs with their local paths into the " @@ -6208,7 +6334,7 @@ msgstr "Number of currently selected parts: %1%\n" #, boost-format msgid "Number of currently selected objects: %1%\n" -msgstr "" +msgstr "Kijelölt objektumok száma: %1%\n" #, boost-format msgid "Part name: %1%\n" @@ -6338,6 +6464,10 @@ msgid "" "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 rendszeren alapértelmezés szerint mindig csak egy példány fut az " +"alkalmazásból. Ugyanakkor ugyanaz az alkalmazás több példánya is futtatható " +"a parancssorból. Ebben az esetben ez a beállítás csak egy példányt " +"engedélyez." msgid "" "If this is enabled, when starting OrcaSlicer and another instance of the " @@ -6402,16 +6532,19 @@ msgstr "Ha engedélyezve van, hasznos tippek jelennek meg indításkor." msgid "Flushing volumes: Auto-calculate everytime the color changed." msgstr "" +"Öblítési mennyiség: Automatikus kiszámításra kerül minden színcserekor." msgid "If enabled, auto-calculate everytime the color changed." msgstr "" +"Ha engedélyezve van, automatikusan kiszámításra kerül minden színcsere " +"alkalmával." msgid "" "Flushing volumes: Auto-calculate every time when the filament is changed." -msgstr "" +msgstr "Flushing volumes: Auto-calculate every time the filament is changed." msgid "If enabled, auto-calculate every time when filament is changed" -msgstr "" +msgstr "If enabled, auto-calculate every time filament is changed" msgid "Remember printer configuration" msgstr "" @@ -6428,6 +6561,8 @@ msgid "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." msgstr "" +"With this option enabled, you can send a task to multiple devices at the " +"same time and manage multiple devices." msgid "Network" msgstr "" @@ -6476,6 +6611,20 @@ msgstr "" "Ha engedélyezve van, a OrcaSlicer-t állítja be alapértelmezett " "alkalmazásként a .step fájlok megnyitásához" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Maximum recent projects" @@ -6486,7 +6635,7 @@ msgid "Clear my choice on the unsaved projects." msgstr "Clear my choice on the unsaved projects." msgid "No warnings when loading 3MF with modified G-codes" -msgstr "" +msgstr "No warnings when loading 3MF with modified G-code" msgid "Auto-Backup" msgstr "Automatikus biztonsági mentés" @@ -6642,25 +6791,25 @@ msgid "Add/Remove materials" msgstr "Anyagok hozzáadása/eltávolítása" msgid "Select/Remove printers(system presets)" -msgstr "" +msgstr "Nyomtatók kiválasztása/eltávolítása (rendszerbeállítások)" msgid "Create printer" -msgstr "" +msgstr "Nyomtató létrehozása" msgid "The selected preset is null!" -msgstr "" +msgstr "A kiválasztott beállítás nulla!" msgid "End" -msgstr "" +msgstr "End" msgid "Customize" -msgstr "" +msgstr "Testreszabás" msgid "Other layer filament sequence" -msgstr "" +msgstr "Other layer filament sequence" msgid "Please input layer value (>= 2)." -msgstr "" +msgstr "Please input layer value (>= 2)." msgid "Plate name" msgstr "Plate name" @@ -6672,16 +6821,16 @@ msgid "Print sequence" msgstr "Nyomtatás sorrendje" msgid "Same as Global" -msgstr "" +msgstr "Same as Global" msgid "Disable" -msgstr "" +msgstr "Disable" msgid "Spiral vase" msgstr "Spirál (váza)" msgid "First layer filament sequence" -msgstr "" +msgstr "Kezdőréteg filament sorrendje" msgid "Same as Global Plate Type" msgstr "Same as Global Plate Type" @@ -6795,7 +6944,7 @@ msgid "(LAN)" msgstr "(LAN)" msgid "Search" -msgstr "" +msgstr "Keresés" msgid "My Device" msgstr "Saját eszköz" @@ -6831,7 +6980,7 @@ msgid "Bambu Smooth PEI Plate" msgstr "" msgid "High temperature Plate" -msgstr "" +msgstr "High Temperature Plate" msgid "Bambu Textured PEI Plate" msgstr "" @@ -6839,14 +6988,11 @@ msgstr "" msgid "Send print job to" msgstr "Nyomtatási feladat küldése" -msgid "Bed Leveling" -msgstr "Asztalszintezés" - msgid "Flow Dynamics Calibration" -msgstr "" +msgstr "Áramlásdinamikai kalibrálás" msgid "Click here if you can't connect to the printer" -msgstr "" +msgstr "Kattints ide, ha nem tudsz csatlakozni a nyomtatóhoz" msgid "send completed" msgstr "küldés befejezve" @@ -6943,6 +7089,8 @@ msgid "" "The selected printer (%s) is incompatible with the chosen printer profile in " "the slicer (%s)." msgstr "" +"The selected printer (%s) is incompatible with the chosen printer profile in " +"the slicer (%s)." msgid "An SD card needs to be inserted to record timelapse." msgstr "A timelapse rögzítéséhez egy microSD kártyára van szükség." @@ -6964,10 +7112,14 @@ msgid "" "When enable spiral vase mode, machines with I3 structure will not generate " "timelapse videos." msgstr "" +"When spiral vase mode is enabled, machines with I3 structure will not " +"generate timelapse videos." msgid "" "Timelapse is not supported because Print sequence is set to \"By object\"." msgstr "" +"A timelapse nem támogatott ebben a módban, mert a nyomtatási sorrend " +"„Tárgyanként” értékre van állítva." msgid "Errors" msgstr "Hibák" @@ -6995,26 +7147,31 @@ msgstr "" #, c-format, boost-format msgid "nozzle in preset: %s %s" -msgstr "" +msgstr "fúvóka a beállításban: %s %s" #, c-format, boost-format msgid "nozzle memorized: %.1f %s" -msgstr "" +msgstr "eltárolt fúvóka: %.1f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " "If you changed your nozzle lately, please go to Device > Printer Parts to " "change settings." msgstr "" +"Your nozzle diameter in sliced file is not consistent with the saved nozzle. " +"If you changed your nozzle lately, please go to Device > Printer Parts to " +"change settings." #, c-format, boost-format msgid "" "Printing high temperature material(%s material) with %s may cause nozzle " "damage" msgstr "" +"Printing high temperature material(%s material) with %s may cause nozzle " +"damage" msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "" +msgstr "Please fix the error above, otherwise printing cannot continue." msgid "" "Please click the confirm button if you still want to proceed with printing." @@ -7024,20 +7181,24 @@ msgstr "" msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" +"Csatlakozás a nyomtatóhoz. A csatlakozási folyamatot nem lehetett " +"megszakítani." msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." msgstr "" +"Figyelem! A „Textured PEI“ tálcán való áramláskalibrálás a durva felület " +"miatt hamis eredményeket adhat." msgid "Automatic flow calibration using Micro Lidar" -msgstr "" +msgstr "Automatic flow calibration using the Micro Lidar" msgid "Modifying the device name" msgstr "Eszköz nevének módosítása" msgid "Bind with Pin Code" -msgstr "" +msgstr "Bind with Pin Code" msgid "Send to Printer SD card" msgstr "Küldés a nyomtatóban lévő MicroSD kártyára" @@ -7048,7 +7209,7 @@ msgstr "" "folyamatban" msgid "The selected printer is incompatible with the chosen printer presets." -msgstr "" +msgstr "A nyomtató nem kompatibilis a kiválasztott nyomtatóbeállításokkal." msgid "An SD card needs to be inserted before send to printer SD card." msgstr "" @@ -7065,7 +7226,7 @@ msgid "Slice ok." msgstr "Szeletelés kész." msgid "View all Daily tips" -msgstr "" +msgstr "Napi tippek megtekintése" msgid "Failed to create socket" msgstr "Failed to create socket" @@ -7098,21 +7259,23 @@ msgid "" "Please Find the Pin Code in Account page on printer screen,\n" " and type in the Pin Code below." msgstr "" +"Please Find the Pin Code in Account page on printer screen,\n" +" and type in the Pin Code below." msgid "Can't find Pin Code?" -msgstr "" +msgstr "Can't find Pin Code?" msgid "Pin Code" -msgstr "" +msgstr "Pin Code" msgid "Binding..." -msgstr "" +msgstr "Binding..." msgid "Please confirm on the printer screen" -msgstr "" +msgstr "Please confirm on the printer screen" msgid "Log in failed. Please check the Pin Code." -msgstr "" +msgstr "Log in failed. Please check the Pin Code." msgid "Log in printer" msgstr "Bejelentkezés a nyomtatóra" @@ -7231,7 +7394,7 @@ msgstr "" "hibák a nyomtatott tárgyon. Engedélyezed a törlőtornyot?" msgid "Still print by object?" -msgstr "" +msgstr "Továbbra is tárgyanként szeretnél nyomtatni?" msgid "" "We have added an experimental style \"Tree Slim\" that features smaller " @@ -7290,15 +7453,19 @@ msgid "" "Layer height exceeds the limit in Printer Settings -> Extruder -> Layer " "height limits ,this may cause printing quality issues." msgstr "" +"A rétegmagasság meghaladja a Nyomtatóbeállítások -> Extruder -> " +"Rétegmagasság limitek menüpontban megadott értéket, ez minőségbeli " +"problémákat okozhat a nyomtatás során." msgid "Adjust to the set range automatically? \n" msgstr "" +"Szeretnéd az értéket automatikusan a beállított tartományhoz igazítani? \n" msgid "Adjust" -msgstr "" +msgstr "Módosítás" msgid "Ignore" -msgstr "" +msgstr "Mellőzés" msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7306,6 +7473,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other " "printing complications." msgstr "" +"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." msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7313,6 +7484,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other printing " "complications.Please use with the latest printer firmware." msgstr "" +"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." msgid "" "When recording timelapse without toolhead, it is recommended to add a " @@ -7383,7 +7558,7 @@ msgid "Acceleration" msgstr "Gyorsulás" msgid "Jerk(XY)" -msgstr "" +msgstr "Jerk(XY)" msgid "Raft" msgstr "Tutaj" @@ -7410,7 +7585,7 @@ msgid "Post-processing Scripts" msgstr "Post-processing Scripts" msgid "Notes" -msgstr "" +msgstr "Notes" msgid "Frequent" msgstr "Gyakori" @@ -7486,13 +7661,16 @@ msgstr "" "a filament nem támogatja az Engineering Plate-re történő nyomtatást" msgid "Smooth PEI Plate / High Temp Plate" -msgstr "" +msgstr "Smooth PEI Plate / High Temp Plate" msgid "" "Bed temperature when Smooth PEI Plate/High temperature plate is installed. " "Value 0 means the filament does not support to print on the Smooth PEI Plate/" "High Temp Plate" msgstr "" +"Az asztal hőmérséklete Smooth PEI / High Temperature tálca használatakor. A " +"0 érték azt jelenti, hogy a filament nem támogatja Smooth PEI / High " +"Temperature tálcára történő nyomtatást" msgid "Textured PEI Plate" msgstr "Textured PEI Plate" @@ -7546,13 +7724,13 @@ msgid "Auxiliary part cooling fan" msgstr "Kiegészítő tárgyhűtő ventilátor" msgid "Exhaust fan" -msgstr "" +msgstr "Elszívóventilátor" msgid "During print" -msgstr "" +msgstr "Nyomtatás közben" msgid "Complete print" -msgstr "" +msgstr "Teljes nyomtatás" msgid "Filament start G-code" msgstr "Filament kezdő G-kód" @@ -7603,7 +7781,7 @@ msgid "Machine end G-code" msgstr "Gép befejező G-kód" msgid "Printing by object G-code" -msgstr "" +msgstr "Nyomtatás objektumonként G-kód" msgid "Before layer change G-code" msgstr "Rétegváltás előtti G-kód" @@ -7612,7 +7790,7 @@ msgid "Layer change G-code" msgstr "Rétegváltás G-kód" msgid "Time lapse G-code" -msgstr "" +msgstr "Timelapse G-kód" msgid "Change filament G-code" msgstr "Filament csere G-kód" @@ -7664,9 +7842,12 @@ msgid "" "\n" "Shall I disable it in order to enable Firmware Retraction?" msgstr "" +"The Wipe option is not available when using the Firmware Retraction mode.\n" +"\n" +"Disable it in order to enable Firmware Retraction?" msgid "Firmware Retraction" -msgstr "" +msgstr "Firmware-ben megadott visszahúzás" msgid "Detached" msgstr "Különálló" @@ -7676,9 +7857,11 @@ msgid "" "%d Filament Preset and %d Process Preset is attached to this printer. Those " "presets would be deleted if the printer is deleted." msgstr "" +"A(z) %d filamentbeállítás és a(z) %d folyamatbeállítás ehhez a nyomtatóhoz " +"kapcsolódik. Ha törlöd a nyomtatót, akkor ezek a beállítások is törlődnek." msgid "Presets inherited by other presets can not be deleted!" -msgstr "" +msgstr "A más beállítások által örökölt beállítások nem törölhetők!" msgid "The following presets inherit this preset." msgid_plural "The following preset inherits this preset." @@ -7700,6 +7883,9 @@ msgid "" "If the preset corresponds to a filament currently in use on your printer, " "please reset the filament information for that slot." msgstr "" +"Biztosan törlöd a kiválasztott beállítást? \n" +"Ha ez a filament jelenleg használatban van a nyomtatón, kérjük, töröld az " +"adott férőhelyen a filamentadatokat." #, boost-format msgid "Are you sure to %1% the selected preset?" @@ -7804,12 +7990,14 @@ msgstr "" #, boost-format msgid "You have changed some settings of preset \"%1%\". " -msgstr "" +msgstr "You have changed some settings of preset \"%1%\". " msgid "" "\n" "You can save or discard the preset values you have modified." msgstr "" +"\n" +"You can save or discard the preset values you have modified." msgid "" "\n" @@ -7818,7 +8006,7 @@ msgid "" msgstr "" msgid "You have previously modified your settings." -msgstr "" +msgstr "You have previously modified your settings." msgid "" "\n" @@ -7971,7 +8159,7 @@ msgid "Auto-Calc" msgstr "Automatikus számítás" msgid "Re-calculate" -msgstr "" +msgstr "Újraszámítás" msgid "Flushing volumes for filament change" msgstr "Filament csere tiszítási mennyisége" @@ -8011,10 +8199,10 @@ msgid "To" msgstr "Eddig:" msgid "Bambu Network plug-in not detected." -msgstr "" +msgstr "A Bambu Network plug-in nem található." msgid "Click here to download it." -msgstr "" +msgstr "Kattints ide a letöltéshez." msgid "Login" msgstr "Bejelentkezés" @@ -8047,7 +8235,7 @@ msgid "Show/Hide 3Dconnexion devices settings dialog" msgstr "3Dconnexion-eszközbeállítások párbeszédablak megjelenítése/elrejtése" msgid "Switch table page" -msgstr "" +msgstr "Váltás táblázatra" msgid "Show keyboard shortcuts list" msgstr "Gyorsgombok listájának megjelenítése" @@ -8314,49 +8502,49 @@ msgid "New version of Orca Slicer" msgstr "A Orca Slicer új verziója" msgid "Skip this Version" -msgstr "" +msgstr "Verzió kihagyása" msgid "Done" msgstr "Done" msgid "resume" -msgstr "" +msgstr "resume" msgid "Resume Printing" -msgstr "" +msgstr "Resume Printing" msgid "Resume Printing(defects acceptable)" -msgstr "" +msgstr "Resume Printing (defects acceptable)" msgid "Resume Printing(problem solved)" -msgstr "" +msgstr "Resume Printing (problem solved)" msgid "Stop Printing" -msgstr "" +msgstr "Stop Printing" msgid "Check Assistant" -msgstr "" +msgstr "Check Assistant" msgid "Filament Extruded, Continue" -msgstr "" +msgstr "Filament Extruded, Continue" msgid "Not Extruded Yet, Retry" -msgstr "" +msgstr "Not Extruded Yet, Retry" msgid "Finished, Continue" -msgstr "" +msgstr "Finished, Continue" msgid "Load Filament" msgstr "Filament betöltés" msgid "Filament Loaded, Resume" -msgstr "" +msgstr "Filament Loaded, Resume" msgid "View Liveview" -msgstr "" +msgstr "View Liveview" msgid "Confirm and Update Nozzle" -msgstr "" +msgstr "Fúvóka lecserélésének megerősítése" msgid "LAN Connection Failed (Sending print file)" msgstr "LAN kapcsolódás sikertelen (nyomtatási fájl küldése)" @@ -8385,20 +8573,25 @@ msgstr "Hol találom a nyomtató IP címét és a hozzáférési kódot?" msgid "Step 3: Ping the IP address to check for packet loss and latency." msgstr "" +"3. lépés: Pingeld meg az IP-címet a csomagveszteség és késleltetés " +"ellenőrzéséhez." msgid "Test" -msgstr "" +msgstr "Teszt" msgid "IP and Access Code Verified! You may close the window" -msgstr "" +msgstr "IP és hozzáférési kód leellenőrizve! Bezárhatod az ablakot" msgid "Connection failed, please double check IP and Access Code" msgstr "" +"Sikertelen kapcsolódás, kérjük, ellenőrizd az IP-t és a hozzáférési kódot" msgid "" "Connection failed! If your IP and Access Code is correct, \n" "please move to step 3 for troubleshooting network issues" msgstr "" +"Sikertelen kapcsolódás! Ha az IP-cím és a hozzáférési kód helyes,\n" +"folytasd a 3. lépéssel a hálózati problémák elhárításához" msgid "Model:" msgstr "Modell:" @@ -8413,7 +8606,7 @@ msgid "Update firmware" msgstr "Firmware frissítése" msgid "Beta version" -msgstr "" +msgstr "Béta verzió" msgid "Latest version" msgstr "Legfrissebb verzió" @@ -8789,26 +8982,33 @@ msgid "" msgstr "" msgid "Variable layer height is not supported with Organic supports." -msgstr "" +msgstr "A változó rétegmagasság nem működik az organikus támaszokkal." msgid "" "Different nozzle diameters and different filament diameters is not allowed " "when prime tower is enabled." msgstr "" +"Nem használhatsz különböző fúvókaátmérőt és filamentátmérőt, ha a " +"törlőtorony engedélyezve van." msgid "" "The Wipe Tower is currently only supported with the relative extruder " "addressing (use_relative_e_distances=1)." msgstr "" +"A törlőtorony jelenleg csak relatív extruder címzéssel használható " +"(use_relative_e_distances=1)." msgid "" "Ooze prevention is currently not supported with the prime tower enabled." msgstr "" +"A szivárgás elleni védelem nem működik, ha a törlőtorony engedélyezve van." msgid "" "The prime tower is currently only supported for the Marlin, RepRap/Sprinter, " "RepRapFirmware and Repetier G-code flavors." msgstr "" +"A törlőtorony jelenleg csak a Marlin, RepRap/Sprinter, RepRapFirmware és " +"Repetier G-kód szoftverekkel használható." msgid "The prime tower is not supported in \"By object\" print." msgstr "A prime tower is not supported in “By object” print." @@ -9037,11 +9237,13 @@ msgstr "" "https://username:password@your-octopi-address/" msgid "Device UI" -msgstr "" +msgstr "Eszköz UI" msgid "" "Specify the URL of your device user interface if it's not same as print_host" msgstr "" +"Add meg az eszköz felhasználói felületének URL-címét, ha az nem azonos a " +"print_host címével." msgid "API Key / Password" msgstr "API kulcs / jelszó" @@ -9201,16 +9403,16 @@ msgid "Engineering Plate" msgstr "Engineering Plate" msgid "First layer print sequence" -msgstr "" +msgstr "Az első réteg nyomtatási sorrendje" msgid "Other layers print sequence" -msgstr "" +msgstr "Other layers print sequence" msgid "The number of other layers print sequence" -msgstr "" +msgstr "The number of other layers print sequence" msgid "Other layers filament sequence" -msgstr "" +msgstr "Other layers filament sequence" msgid "This G-code is inserted at every layer change before lifting z" msgstr "Ez a G-kód minden rétegváltáshoz bekerül a Z tengely emelése előtt." @@ -9344,12 +9546,14 @@ msgid "" msgstr "" msgid "Top surface flow ratio" -msgstr "" +msgstr "Felső felület anyagáramlása" msgid "" "This factor affects the amount of material for top solid infill. You can " "decrease it slightly to have smooth surface finish" msgstr "" +"Ez a beállítás a felső szilárd kitöltésnél használt anyag mennyiségét " +"befolyásolja. Kis mértékben csökkentve simább felület érhető el vele." msgid "Bottom surface flow ratio" msgstr "" @@ -9494,7 +9698,7 @@ msgid "" msgstr "" msgid "mm/s or %" -msgstr "" +msgstr "mm/s vagy %" msgid "External" msgstr "" @@ -9637,7 +9841,7 @@ msgid "Default process profile when switch to this machine profile" msgstr "Alapértelmezett folyamat profil, ha erre a gép profilra váltasz" msgid "Activate air filtration" -msgstr "" +msgstr "Activate air filtration" msgid "Activate for better air filtration. G-code command: M106 P3 S(0-255)" msgstr "" @@ -9649,6 +9853,8 @@ msgid "" "Speed of exhaust fan during printing.This speed will overwrite the speed in " "filament custom gcode" msgstr "" +"Az elszívó ventilátor sebessége nyomtatás közben: ez a sebesség felülírja a " +"sebességet a filament egyéni G-kódjában." msgid "Speed of exhaust fan after printing completes" msgstr "" @@ -9756,12 +9962,14 @@ msgid "End G-code when finish the whole printing" msgstr "Befejező G-kód az egész nyomtatás befejezésekor" msgid "Between Object Gcode" -msgstr "" +msgstr "Objektumok közötti G-kód" msgid "" "Insert Gcode between objects. This parameter will only come into effect when " "you print your models object by object" msgstr "" +"A tárgyak nyomtatása között használt G-kód. Ez a paraméter csak akkor " +"működik, ha a nyomtatás tárgyankénti sorrendben történik." msgid "End G-code when finish the printing of this filament" msgstr "Befejező G-kód a filament nyomtatásának befejezésekor" @@ -9823,7 +10031,7 @@ msgid "Line pattern of bottom surface infill, not bridge infill" msgstr "Ez az alsó felület kitöltésének mintája, kivéve az áthidalásokat." msgid "Internal solid infill pattern" -msgstr "" +msgstr "Belső tömör kitöltés mintája" msgid "" "Line pattern of internal solid infill. if the detect narrow internal solid " @@ -9843,7 +10051,7 @@ msgstr "" "a belső fal sebessége." msgid "Small perimeters" -msgstr "" +msgstr "Kis peremek" msgid "" "This separate setting will affect the speed of perimeters having radius <= " @@ -9858,6 +10066,8 @@ msgstr "" msgid "" "This sets the threshold for small perimeter length. Default threshold is 0mm" msgstr "" +"A kis peremek hosszának küszöbértékét határozza meg. Az alapértelmezett " +"érték 0 mm" msgid "Walls printing order" msgstr "" @@ -9897,7 +10107,7 @@ msgid "Inner/Outer/Inner" msgstr "" msgid "Print infill first" -msgstr "" +msgstr "Kitöltés a falak előtt" msgid "" "Order of wall/infill. When the tickbox is unchecked the walls are printed " @@ -9958,10 +10168,10 @@ msgstr "" "nyomtatás során az ütközések elkerülésére szolgál." msgid "Nozzle height" -msgstr "" +msgstr "Fúvóka magassága" msgid "The height of nozzle tip." -msgstr "" +msgstr "A fúvókacsúcs magassága." msgid "Bed mesh min" msgstr "" @@ -10033,7 +10243,7 @@ msgstr "" "hogy túl sok vagy kevés az anyagáramlás." msgid "Enable pressure advance" -msgstr "" +msgstr "Nyomáselőtolás engedélyezése" msgid "" "Enable pressure advance, auto calibration result will be overwriten once " @@ -10079,10 +10289,10 @@ msgid "Default filament color" msgstr "Alapértelmezett filament szín" msgid "Filament notes" -msgstr "" +msgstr "Filament notes" msgid "You can put your notes regarding the filament here." -msgstr "" +msgstr "You can put your notes regarding the filament here." msgid "Required nozzle HRC" msgstr "Szükséges fúvóka HRC-érték" @@ -10282,13 +10492,16 @@ msgstr "" "van használva." msgid "Softening temperature" -msgstr "" +msgstr "Lágyulási hőmérséklet" msgid "" "The material softens at this temperature, so when the bed temperature is " "equal to or greater than it, it's highly recommended to open the front door " "and/or remove the upper glass to avoid cloggings." msgstr "" +"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 clogs." msgid "Price" msgstr "Költség" @@ -10300,10 +10513,10 @@ msgid "money/kg" msgstr "pénz/kg" msgid "Vendor" -msgstr "" +msgstr "Gyártó" msgid "Vendor of filament. For show only" -msgstr "" +msgstr "Filamentgyártó." msgid "(Undefined)" msgstr "(Undefined)" @@ -10378,7 +10591,7 @@ msgid "Lightning" msgstr "Világítás" msgid "Cross Hatch" -msgstr "" +msgstr "Cross Hatch" msgid "Sparse infill anchor length" msgstr "" @@ -10448,12 +10661,14 @@ msgid "" msgstr "" msgid "mm/s² or %" -msgstr "" +msgstr "mm/s² or %" 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 "" +"Gyorsulás a ritkás kitöltéseknél. Ha az érték százalékban van megadva (pl. " +"100%), akkor az alapértelmezett gyorsulás alapján kerül kiszámításra." msgid "" "Acceleration of internal solid infill. If the value is expressed as a " @@ -10469,13 +10684,14 @@ msgstr "" "tárgyasztalhoz való tapadást" msgid "Enable accel_to_decel" -msgstr "" +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" msgid "accel_to_decel" -msgstr "" +msgstr "accel_to_decel" #, c-format, boost-format msgid "" @@ -10483,10 +10699,10 @@ msgid "" msgstr "" msgid "Jerk of outer walls" -msgstr "" +msgstr "Jerk a külső falaknál" msgid "Jerk of inner walls" -msgstr "" +msgstr "Jerk a belső falaknál" msgid "Jerk for top surface" msgstr "" @@ -10607,7 +10823,7 @@ msgid "Whether to apply fuzzy skin on the first layer" msgstr "" msgid "Filter out tiny gaps" -msgstr "" +msgstr "Apró rések szűrése" msgid "Layers and Perimeters" msgstr "Rétegek és peremek" @@ -10623,13 +10839,16 @@ msgstr "" "vonalszélességű, és lassabban kell nyomtatni" msgid "Precise Z height" -msgstr "" +msgstr "Precise Z height" 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 "" +"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." msgid "Arc fitting" msgstr "Íves illesztés" @@ -10699,10 +10918,10 @@ msgid "HRC" msgstr "HRC" msgid "Printer structure" -msgstr "" +msgstr "Nyomtató szerkezete" msgid "The physical arrangement and components of a printing device" -msgstr "" +msgstr "A nyomtató fizikai felépítése és alkatrészei" msgid "CoreXY" msgstr "" @@ -10717,10 +10936,12 @@ msgid "Delta" msgstr "" msgid "Best object position" -msgstr "" +msgstr "Legjobb tárgypozíció" msgid "Best auto arranging position in range [0,1] w.r.t. bed shape." msgstr "" +"A legjobb automatikus elrendezés tartománya [0,1] a tárgyasztal alakja " +"szerint." msgid "" "Enable this option if machine has auxiliary part cooling fan. G-code " @@ -10766,7 +10987,7 @@ msgid "money/h" msgstr "" msgid "Support control chamber temperature" -msgstr "" +msgstr "Kamrahőmérséklet-szabályozás engedélyezése" msgid "" "This option is enabled if machine support controlling chamber temperature\n" @@ -10774,7 +10995,7 @@ msgid "" msgstr "" msgid "Support air filtration" -msgstr "" +msgstr "Légszűrés támogatása" msgid "" "Enable this if printer support air filtration\n" @@ -10807,7 +11028,7 @@ msgid "" msgstr "" msgid "Exclude objects" -msgstr "" +msgstr "Tárgyak kizárása" msgid "Enable this option to add EXCLUDE OBJECT command in g-code" msgstr "" @@ -10867,25 +11088,31 @@ msgid "Speed of internal sparse infill" msgstr "A belső ritkás kitöltés sebessége" msgid "Interface shells" -msgstr "" +msgstr "Interface shells" 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 "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material" msgid "Maximum width of a segmented region" -msgstr "" +msgstr "Szegmentált régió maximális szélessége" msgid "Maximum width of a segmented region. Zero disables this feature." msgstr "" +"Szegmentált régió maximális szélessége. A 0 érték letiltja ezt a funkciót." msgid "Interlocking depth of a segmented region" -msgstr "" +msgstr "Szegmentált régió összekapcsolódási mélysége" msgid "Interlocking depth of a segmented region. Zero disables this feature." msgstr "" +"Szegmentált régió összekapcsolódási mélysége. A 0 érték letiltja ezt a " +"funkciót." msgid "Ironing Type" msgstr "Vasalás típusa" @@ -11364,10 +11591,10 @@ msgid "" msgstr "" msgid "Printer notes" -msgstr "" +msgstr "Printer notes" msgid "You can put your notes regarding the printer here." -msgstr "" +msgstr "You can put your notes regarding the printer here." msgid "Raft contact Z distance" msgstr "Tutaj érintkezés Z távolság" @@ -11451,7 +11678,7 @@ msgstr "" "állítsd nullára" msgid "Long retraction when cut(experimental)" -msgstr "" +msgstr "Long retraction when cut (experimental)" msgid "" "Experimental feature.Retracting and cutting off the filament at a longer " @@ -11459,14 +11686,20 @@ msgid "" "significantly, it may also raise the risk of nozzle clogs or other printing " "problems." msgstr "" +"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." msgid "Retraction distance when cut" -msgstr "" +msgstr "Retraction distance when cut" msgid "" "Experimental feature.Retraction length before cutting off during filament " "change" msgstr "" +"Experimental feature. Retraction length before cutting off during filament " +"change" msgid "Z hop when retract" msgstr "Z-tengely emelés visszahúzáskor" @@ -11482,20 +11715,24 @@ msgstr "" "körkörös mozgás megelőzheti a szálazást." msgid "Z hop lower boundary" -msgstr "" +msgstr "Z-emelés alsó határa" msgid "" "Z hop will only come into effect when Z is above this value and is below the " "parameter: \"Z hop upper boundary\"" msgstr "" +"A Z-tengely emelése csak akkor történik meg, ha az emelés mértéke nagyobb " +"ennél az értéknél, de kisebb a „Z-emelés felső határánál“" msgid "Z hop upper boundary" -msgstr "" +msgstr "Z-emelés felső határa" 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 "" +"Ha ez az érték pozitív, a Z-emelés csak akkor történik meg, ha az emelés " +"mértéke a „Z-emelés alsó határánál“ nagyobb, de kisebb ennél az értéknél" msgid "Z hop type" msgstr "" @@ -11543,7 +11780,7 @@ msgid "Top and Bottom" msgstr "" msgid "Extra length on restart" -msgstr "" +msgstr "Extra hossz újraindításkor" msgid "" "When the retraction is compensated after the travel move, the extruder will " @@ -11572,7 +11809,7 @@ msgstr "" "sebességet jelent a visszahúzással" msgid "Use firmware retraction" -msgstr "" +msgstr "Firmware-ben megadott visszahúzás használata" msgid "" "This experimental setting uses G10 and G11 commands to have the firmware " @@ -11616,7 +11853,7 @@ msgid "" msgstr "" msgid "Seam gap" -msgstr "" +msgstr "Varrat hézag" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " @@ -11630,17 +11867,20 @@ msgstr "" msgid "Use scarf joint to minimize seam visibility and increase seam strength." msgstr "" +"Use scarf joint to minimize seam visibility and increase seam strength." msgid "Conditional scarf joint" -msgstr "" +msgstr "Conditional scarf joint" msgid "" "Apply scarf joints only to smooth perimeters where traditional seams do not " "conceal the seams at sharp corners effectively." msgstr "" +"Apply scarf joints only to smooth perimeters where traditional seams do not " +"conceal the seams at sharp corners effectively." msgid "Conditional angle threshold" -msgstr "" +msgstr "Conditional angle threshold" msgid "" "This option sets the threshold angle for applying a conditional scarf joint " @@ -11683,39 +11923,44 @@ msgid "This factor affects the amount of material for scarf joints." msgstr "" msgid "Scarf start height" -msgstr "" +msgstr "Scarf start height" 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 "" +"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." msgid "Scarf around entire wall" -msgstr "" +msgstr "Scarf around entire wall" msgid "The scarf extends to the entire length of the wall." -msgstr "" +msgstr "The scarf extends to the entire length of the wall." msgid "Scarf length" -msgstr "" +msgstr "Scarf length" msgid "" "Length of the scarf. Setting this parameter to zero effectively disables the " "scarf." msgstr "" +"Length of the scarf. Setting this parameter to zero effectively disables the " +"scarf." msgid "Scarf steps" -msgstr "" +msgstr "Scarf steps" msgid "Minimum number of segments of each scarf." -msgstr "" +msgstr "Minimum number of segments of each scarf." msgid "Scarf joint for inner walls" -msgstr "" +msgstr "Scarf joint for inner walls" msgid "Use scarf joint for inner walls as well." -msgstr "" +msgstr "Use scarf joint for inner walls as well." msgid "Role base wipe speed" msgstr "" @@ -11750,7 +11995,7 @@ msgid "" msgstr "" msgid "Wipe speed" -msgstr "" +msgstr "Törlés sebessége" msgid "" "The wipe speed is determined by the speed setting specified in this " @@ -11758,6 +12003,10 @@ msgid "" "be calculated based on the travel speed setting above.The default value for " "this parameter is 80%" msgstr "" +"A törlés sebességét az itt megadott beállítás határozza meg. Ha az érték " +"százalékban van megadva (pl. 80%), akkor azt a rendszer a mozgási " +"sebességbeállítás alapján számítja ki. Ennek a paraméternek az " +"alapértelmezett értéke 80%" msgid "Skirt distance" msgstr "Szoknya távolsága" @@ -11861,20 +12110,24 @@ msgstr "" "varratok" msgid "Smooth Spiral" -msgstr "" +msgstr "Smooth Spiral" msgid "" "Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " "at all, even in the XY directions on walls that are not vertical" msgstr "" +"Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " +"at all, even in the XY directions on walls that are not vertical" msgid "Max XY Smoothing" -msgstr "" +msgstr "Max XY Smoothing" msgid "" "Maximum distance to move points in XY to try to achieve a smooth spiralIf " "expressed as a %, it will be computed over nozzle diameter" msgstr "" +"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" msgid "" "If smooth or traditional mode is selected, a timelapse video will be " @@ -12053,10 +12306,12 @@ msgstr "" "vagy egyéb kiálló részek." msgid "Remove small overhangs" -msgstr "" +msgstr "Kis túlnyúlások eltávolítása" msgid "Remove small overhangs that possibly need no supports." msgstr "" +"Eltávolítja a kis túlnyúlásokat, amelyek esetleg nem igényelnek " +"alátámasztást." msgid "Top Z distance" msgstr "Z távolság" @@ -12084,11 +12339,13 @@ msgstr "" "felhasználásra." msgid "Avoid interface filament for base" -msgstr "" +msgstr "Kerülje a támaszanyag használatát az alaphoz" msgid "" "Avoid using support interface filament to print support base if possible." msgstr "" +"Ha lehetséges, kerüli a dedikált támaszanyag (filament) használatát a " +"támaszalap nyomtatásához." msgid "" "Line width of support. If expressed as a %, it will be computed over the " @@ -12124,10 +12381,10 @@ msgid "Bottom interface layers" msgstr "Alsó érintkező rétegek" msgid "Number of bottom interface layers" -msgstr "" +msgstr "Alsó érintkezőrétegek száma" msgid "Same as top" -msgstr "" +msgstr "Ugyanaz, mint a felső" msgid "Top interface spacing" msgstr "Felső érintkező felület térköze" @@ -12336,10 +12593,10 @@ msgid "" msgstr "" msgid "Support wall loops" -msgstr "" +msgstr "Támaszfalak száma" msgid "This setting specify the count of walls around support" -msgstr "" +msgstr "A támasz körüli falak száma" msgid "Tree support with infill" msgstr "Fa támasz kitöltéssel" @@ -12361,7 +12618,7 @@ msgid "" msgstr "" msgid "Chamber temperature" -msgstr "" +msgstr "Kamra hőmérséklete" msgid "" "Higher chamber temperature can help suppress or reduce warping and " @@ -12372,6 +12629,12 @@ msgid "" "high to avoid cloggings, so 0 which stands for turning off is highly " "recommended" msgstr "" +"Higher chamber temperature can help suppress or reduce warping and " +"potentially lead to higher interlayer bonding strength for high temperature " +"materials like ABS, ASA, PC, PA and so on. At the same time, the air " +"filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and " +"other low temperature materials, the actual chamber temperature should not " +"be high to avoid clogs, so 0 (turned off) is highly recommended." msgid "Nozzle temperature for layers after the initial one" msgstr "Fúvóka hőmérséklete az első réteg után" @@ -12516,17 +12779,29 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -12655,7 +12930,7 @@ msgid "" msgstr "" msgid "Use relative E distances" -msgstr "" +msgstr "Relatív E távolságok használata" msgid "" "Relative extrusion is recommended when using \"label_objects\" option.Some " @@ -13211,7 +13486,7 @@ msgid "load_obj: failed to parse" msgstr "load_obj: failed to parse" msgid "load mtl in obj: failed to parse" -msgstr "" +msgstr "load mtl in obj: failed to parse" msgid "The file contains polygons with more than 4 vertices." msgstr "The file contains polygons with more than 4 vertices." @@ -13226,67 +13501,69 @@ msgid "This OBJ file couldn't be read because it's empty." msgstr "This OBJ file couldn't be read because it's empty." msgid "Flow Rate Calibration" -msgstr "" +msgstr "Anyagáramlás kalibrálása" msgid "Max Volumetric Speed Calibration" -msgstr "" +msgstr "Max. volumetrikus sebesség kalibrálása" msgid "Manage Result" -msgstr "" +msgstr "Eredmények kezelése" msgid "Manual Calibration" -msgstr "" +msgstr "Kézi kalibrálás" msgid "Result can be read by human eyes." -msgstr "" +msgstr "Az eredmények könnyen átláthatóak és megérthetőek." msgid "Auto-Calibration" -msgstr "" +msgstr "Auto-Calibration" msgid "We would use Lidar to read the calibration result" -msgstr "" +msgstr "A Lidar segítségével olvassuk le a kalibrálás eredményét" msgid "Prev" -msgstr "" +msgstr "Előző" msgid "Recalibration" -msgstr "" +msgstr "Újrakalibrálás" msgid "Calibrate" -msgstr "" +msgstr "Kalibrálás" msgid "Finish" msgstr "Kész" msgid "How to use calibration result?" -msgstr "" +msgstr "Hogyan használjam a kalibrálási eredményeket?" msgid "" "You could change the Flow Dynamics Calibration Factor in material editing" -msgstr "" +msgstr "Az anyag beállításaiban módosíthatod az áramlásdinamikai értékeket" msgid "" "The current firmware version of the printer does not support calibration.\n" "Please upgrade the printer firmware." msgstr "" +"A nyomtató jelenlegi firmware-verziója nem támogatja a kalibrálást.\n" +"Kérjük, frissítsd a nyomtató firmware-jét." msgid "Calibration not supported" -msgstr "" +msgstr "Kalibrálás nem támogatott" msgid "Error desc" -msgstr "" +msgstr "Hibaleírás" msgid "Extra info" -msgstr "" +msgstr "Extra infó" msgid "Flow Dynamics" -msgstr "" +msgstr "Áramlásdinamika" msgid "Flow Rate" -msgstr "" +msgstr "Anyagáramlás" msgid "Max Volumetric Speed" -msgstr "" +msgstr "Max. volumetrikus sebesség" #, c-format, boost-format msgid "" @@ -13296,38 +13573,45 @@ msgid "" "End value: > Start value\n" "Value step: >= %.3f)" msgstr "" +"Kérjük, érvényes értékeket adj meg:\n" +"Kezdő érték: >= %.1f\n" +"Végérték: <= %.1f\n" +"Végérték: > Kezdő érték\n" +"Lépésköz: >=) %.3f" msgid "The name cannot be empty." -msgstr "" +msgstr "A név nem lehet üres." #, c-format, boost-format msgid "The selected preset: %s is not found." -msgstr "" +msgstr "A kiválasztott beállítás: %s nem található." msgid "The name cannot be the same as the system preset name." -msgstr "" +msgstr "A név nem lehet azonos egy rendszerbeállítás nevével." msgid "The name is the same as another existing preset name" -msgstr "" +msgstr "A név megegyezik egy másik meglévő beállítás nevével" msgid "create new preset failed." -msgstr "" +msgstr "Új beállítás létrehozása sikertelen." msgid "" "Are you sure to cancel the current calibration and return to the home page?" msgstr "" +"Are you sure you want to cancel the current calibration and return to the " +"home page?" msgid "No Printer Connected!" -msgstr "" +msgstr "Nincs nyomtató csatlakoztatva!" msgid "Printer is not connected yet." -msgstr "" +msgstr "Még nincs csatlakoztatva nyomtató." msgid "Please select filament to calibrate." -msgstr "" +msgstr "Kérjük, válaszd ki a kalibrálandó filamenteket." msgid "The input value size must be 3." -msgstr "" +msgstr "A bemeneti értéknek 3-nak kell lennie." msgid "" "This machine type can only hold 16 history results per nozzle. You can " @@ -13336,15 +13620,20 @@ msgid "" "historical results. \n" "Do you still want to continue the calibration?" msgstr "" +"This machine type can only hold 16 historical 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?" msgid "Connecting to printer..." -msgstr "" +msgstr "Csatlakozás a nyomtatóhoz..." msgid "The failed test result has been dropped." -msgstr "" +msgstr "A sikertelen teszteredményt eltávolítottuk." msgid "Flow Dynamics Calibration result has been saved to the printer" -msgstr "" +msgstr "Az áramlásdinamikai kalibráció eredményeit elmentette a nyomtató" #, c-format, boost-format msgid "" @@ -13352,27 +13641,34 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to override the historical result?" msgstr "" +"Már létezik egy ugyanilyen nevű, korábbi kalibrálási eredmény: %s. Csak egy " +"azonos nevű eredményt lehet elmenteni. Biztos, hogy felül akarod írni a " +"korábbi eredményeket?" #, c-format, boost-format msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." msgstr "" +"This machine type can only hold %d historical results per nozzle. This " +"result will not be saved." msgid "Internal Error" -msgstr "" +msgstr "Belső hiba" msgid "Please select at least one filament for calibration" -msgstr "" +msgstr "Kérjük, válassz ki legalább egy filamentet a kalibráláshoz." msgid "Flow rate calibration result has been saved to preset" -msgstr "" +msgstr "Az anyagáramlás kalibrálásának eredményeit elmentettük a beállításokba" msgid "Max volumetric speed calibration result has been saved to preset" msgstr "" +"A maximális volumetrikus sebesség kalibrálásának eredményét elmentettük a " +"beállításokban" msgid "When do you need Flow Dynamics Calibration" -msgstr "" +msgstr "Mikor van szükség az áramlásdinamika kalibrálására?" msgid "" "We now have added the auto-calibration for different filaments, which is " @@ -13384,9 +13680,17 @@ msgid "" "3. If the max volumetric speed or print temperature is changed in the " "filament setting." msgstr "" +"Mostantól elérhető a különböző filamentek automatikus kalibrálása, amely " +"teljesen automatizált, és az eredményt a nyomtató elmenti. A kalibrálást " +"csak a következő esetekben kell elvégezned:\n" +"1. Ha új, különböző márkájú filamenteket töltesz be, vagy a filament " +"nedves.\n" +"2. Ha a fúvóka elhasználódott vagy kicserélted egy újra.\n" +"3. Ha a maximális volumetrikus sebesség vagy a nyomtatási hőmérséklet " +"megváltozott a filamentbeállításokban." msgid "About this calibration" -msgstr "" +msgstr "Információ a kalibrálásról" msgid "" "Please find the details of Flow Dynamics Calibration from our wiki.\n" @@ -13407,9 +13711,27 @@ msgid "" "cause the result not exactly the same in each calibration. We are still " "investigating the root cause to do improvements with new updates." msgstr "" +"Az áramlásdinamikai kalibráció részleteit a wikiben találod.\n" +"\n" +"Általában nincs szükség a kalibrálásra. Ha egyszínű / egy anyagból álló " +"nyomtatást indítasz, és a nyomtatás indítása menüben be van jelölve az " +"„Áramlásdinamika kalibrálás“ opció, a nyomtató a nyomtatás előtt kalibrálja " +"a filamenteket. Ha többszínű / több anyagból álló nyomtatást indítasz, a " +"nyomtató minden filamentváltáskor az alapértelmezett kompenzációs paramétert " +"használja a filamentekhez, ami a legtöbb esetben jó eredményt ad.\n" +"\n" +"Felhívjuk a figyelmed, hogy néhány esetben a kalibrálás eredménye " +"megbízhatatlan lehet: texturált tálcát / rossz tapadású tálcát használsz a " +"kalibráláshoz. (Kérjük, mosd le a tálcát vagy használj ragasztót!) További " +"információkat a wikiben találhatsz.\n" +"\n" +"A kalibrációs eredmények körülbelül 10 százalékos szórást mutatnak a " +"tesztjeinkben, ami miatt előfordulhat, hogy az eredmények nem azonosak " +"minden kalibrációnál. Még vizsgáljuk a kiváltó okot, hogy a jövőbeni " +"frissítésekkel tovább javíthassuk ezt a funkciót." msgid "When to use Flow Rate Calibration" -msgstr "" +msgstr "Mikor van szükség az anyagáramlás kalibrálására?" msgid "" "After using Flow Dynamics Calibration, there might still be some extrusion " @@ -13422,12 +13744,25 @@ msgid "" "4. Weak Structural Integrity: Prints break easily or don't seem as sturdy as " "they should be." msgstr "" +"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." 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 "" +"Ezenkívül az anyagáramlás kalibrálása létfontosságú az olyan habzó anyagok " +"esetében, mint az RC repülőkben használt LW-PLA. Ezek az anyagok " +"melegítéskor nagymértékben tágulnak, és a kalibrálás hasznos referencia-" +"anyagáramlást biztosít." msgid "" "Flow Rate Calibration measures the ratio of expected to actual extrusion " @@ -13437,6 +13772,12 @@ msgid "" "you still see the listed defects after you have done other calibrations. For " "more details, please check out the wiki article." msgstr "" +"Az anyagáramlás kalibrálása a várt és a tényleges extrudált mennyiségek " +"arányát méri. Az alapértelmezett érték jól működik a Bambu Lab nyomtatókkal " +"és gyári filamentekkel, mivel azokat előre kalibráltuk és finomhangoltuk. " +"Egy hagyományos filament esetében általában nem kell anyagáramlás " +"kalibrálását elvégezni, kivéve, ha más kalibrálások után még mindig látod a " +"felsorolt hibákat. További részletekért kérjük, olvasd el a wiki cikkünket." msgid "" "Auto Flow Rate Calibration utilizes Bambu Lab's Micro-Lidar technology, " @@ -13456,48 +13797,73 @@ msgid "" "can lead to sub-par prints or printer damage. Please make sure to carefully " "read and understand the process before doing it." msgstr "" +"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 performing it." msgid "When you need Max Volumetric Speed Calibration" -msgstr "" +msgstr "Mikor van szükség a max. volumetrikus sebesség kalibrálására" msgid "Over-extrusion or under extrusion" -msgstr "" +msgstr "Túlextrudálás vagy alulextrudálás" msgid "Max Volumetric Speed calibration is recommended when you print with:" msgstr "" +"A maximális volumetrikus sebesség kalibrálása ajánlott, ha a következővel " +"nyomtatsz:" msgid "material with significant thermal shrinkage/expansion, such as..." msgstr "" +"jelentős termikus zsugorodással/tágulással rendelkező anyagok, mint pl." msgid "materials with inaccurate filament diameter" -msgstr "" +msgstr "pontatlan átmérőjű anyagok" msgid "We found the best Flow Dynamics Calibration Factor" -msgstr "" +msgstr "Megtaláltuk a legjobb áramlásdinamikai kalibrációs tényezőt" msgid "" "Part of the calibration failed! You may clean the plate and retry. The " "failed test result would be dropped." msgstr "" +"A kalibrálás egy része nem sikerült! Segíthet, ha megtisztítod a tálcát és " +"újrapróbálod. A sikertelen teszt eredményét töröljük." msgid "" "*We recommend you to add brand, materia, type, and even humidity level in " "the Name" msgstr "" +"* Javasoljuk, hogy a névhez add hozzá a márkát, az anyagot, a típust, " +"illetve a páratartalmat is" msgid "Failed" msgstr "Sikertelen" msgid "Please enter the name you want to save to printer." -msgstr "" +msgstr "Kérjük, add meg a nevet." msgid "The name cannot exceed 40 characters." -msgstr "" +msgstr "A név nem haladhatja meg a 40 karaktert." msgid "" "Only one of the results with the same name will be saved. Are you sure you " "want to overrides the other results?" msgstr "" +"Az azonos nevű eredmények közül csak az egyik kerül elmentésre. Biztos, hogy " +"felül akarod írni a többi eredményt?" #, c-format, boost-format msgid "" @@ -13505,188 +13871,198 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to overrides the historical result?" msgstr "" +"Már létezik egy ugyanilyen nevű, korábbi kalibrálási eredmény: %s. Csak egy " +"azonos nevű eredményt lehet elmenteni. Biztos, hogy felül akarod írni a " +"korábbi eredményeket?" msgid "Please find the best line on your plate" -msgstr "" +msgstr "Keresd meg a legjobb vonalat a tálcán" msgid "Please find the cornor with perfect degree of extrusion" -msgstr "" +msgstr "Keresd meg a tökéletesen extrudált sarkot" msgid "Input Value" -msgstr "" +msgstr "Bemeneti érték" msgid "Save to Filament Preset" -msgstr "" +msgstr "Mentés a filamentbeállításokba" msgid "Preset" -msgstr "" +msgstr "Beállítás" msgid "Record Factor" -msgstr "" +msgstr "Record Factor" msgid "We found the best flow ratio for you" -msgstr "" +msgstr "Megtaláltuk a legjobb anyagáramlást" msgid "Flow Ratio" -msgstr "" +msgstr "Anyagáramlás" msgid "Please input a valid value (0.0 < flow ratio < 2.0)" -msgstr "" +msgstr "Kérjük, adj meg egy érvényes értéket (0.0 < anyagáramlás < 2.0)." msgid "Please enter the name of the preset you want to save." -msgstr "" +msgstr "Kérjük, add meg az elmenteni kívánt beállítás nevét." msgid "Calibration1" -msgstr "" +msgstr "Kalibrálás 1" msgid "Calibration2" -msgstr "" +msgstr "Kalibrálás 2" msgid "Please find the best object on your plate" -msgstr "" +msgstr "Keresd meg a legjobb tárgyat a tálcán" msgid "Fill in the value above the block with smoothest top surface" -msgstr "" +msgstr "Töltsd ki az értéket a legsimább felső felületű blokkból" msgid "Skip Calibration2" -msgstr "" +msgstr "Kalibrálás 2 kihagyása" #, c-format, boost-format msgid "flow ratio : %s " -msgstr "" +msgstr "anyagáramlás: %s " msgid "Please choose a block with smoothest top surface" -msgstr "" +msgstr "Kérjük, válaszd a legsimább felülettel rendelkező blokkot" msgid "Please choose a block with smoothest top surface." -msgstr "" +msgstr "Kérjük, válaszd ki a legsimább felülettel rendelkező blokkot." msgid "Please input a valid value (0 <= Max Volumetric Speed <= 60)" msgstr "" +"Kérjük, adj meg egy érvényes értéket (0 <= Max. volumetrikus sebesség <= 60)" msgid "Calibration Type" -msgstr "" +msgstr "Kalibrálás típusa" msgid "Complete Calibration" -msgstr "" +msgstr "Teljes kalibrálás" msgid "Fine Calibration based on flow ratio" -msgstr "" +msgstr "Finom kalibrálás az anyagáramlás alapján" msgid "Title" -msgstr "" +msgstr "Cím" msgid "" "A test model will be printed. Please clear the build plate and place it back " "to the hot bed before calibration." msgstr "" +"Egy tesztmodell kerül kinyomtatásra. Kérjük, tisztítsd meg a tálcát, és " +"helyezd vissza az asztalra a kalibrálás előtt." msgid "Printing Parameters" -msgstr "" +msgstr "Nyomtatási paraméterek" msgid "Plate Type" msgstr "Plate Type" msgid "filament position" -msgstr "" +msgstr "filamentpozíció" msgid "External Spool" -msgstr "" +msgstr "Külső tekercs" msgid "Filament For Calibration" -msgstr "" +msgstr "Filament a kalibráláshoz" 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 "" +"Tippek a kalibrációs anyaghoz:\n" +"- Anyagok megegyező asztalhőmérséklettel\n" +"- Különböző márkájú és típusú filamentek (Márka = Bambu, Típus = Basic, " +"Matte stb.)" msgid "Pattern" -msgstr "" +msgstr "Mintázat" msgid "Method" -msgstr "" +msgstr "Módszer" #, c-format, boost-format msgid "%s is not compatible with %s" -msgstr "" +msgstr "%s nem kompatibilis ezzel: %s" msgid "TPU is not supported for Flow Dynamics Auto-Calibration." -msgstr "" +msgstr "Nem használhatsz TPU-t az áramlásdinamika kalibrálásához." msgid "Connecting to printer" -msgstr "" +msgstr "Csatlakozás a nyomtatóhoz" msgid "From k Value" -msgstr "" +msgstr "K értéktől" msgid "To k Value" -msgstr "" +msgstr "K értékig" msgid "Step value" msgstr "" msgid "The nozzle diameter has been synchronized from the printer Settings" -msgstr "" +msgstr "A fúvóka átmérője a nyomtató beállításaiból került szinkronizálásra" msgid "From Volumetric Speed" -msgstr "" +msgstr "Ettől a volumetrikus sebességtől" msgid "To Volumetric Speed" -msgstr "" +msgstr "Eddig a volumetrikus sebességig" msgid "Flow Dynamics Calibration Result" -msgstr "" +msgstr "Áramlásdinamikai kalibrációs eredmény" msgid "New" -msgstr "" +msgstr "New" msgid "No History Result" -msgstr "" +msgstr "Nincs előzmény" msgid "Success to get history result" -msgstr "" +msgstr "Előzmények sikeresen lekérdezve" msgid "Refreshing the historical Flow Dynamics Calibration records" -msgstr "" +msgstr "Az előző anyagáramlás-dinamikai kalibrációs rekordok frissítése" msgid "Action" -msgstr "" +msgstr "Művelet" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "" +msgstr "This machine type can only hold %d historical results per nozzle." msgid "Edit Flow Dynamics Calibration" -msgstr "" +msgstr "Áramlásdinamikai kalibráció szerkesztése" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "New Flow Dynamic Calibration" msgid "Ok" -msgstr "" +msgstr "Ok" msgid "The filament must be selected." -msgstr "" +msgstr "The filament must be selected." msgid "Network lookup" -msgstr "" +msgstr "Hálózati keresés" msgid "Address" -msgstr "" +msgstr "Address" msgid "Hostname" -msgstr "" +msgstr "Host név:" msgid "Service name" -msgstr "" +msgstr "Szolgáltatás neve" msgid "OctoPrint version" -msgstr "" +msgstr "OctoPrint verzió" msgid "Searching for devices" -msgstr "" +msgstr "Eszközök keresése" msgid "Finished" msgstr "Kész" @@ -13701,37 +14077,37 @@ msgid "" msgstr "" msgid "PA Calibration" -msgstr "" +msgstr "PA kalibrálás" msgid "DDE" msgstr "" msgid "Bowden" -msgstr "" +msgstr "Bowden" msgid "Extruder type" msgstr "" msgid "PA Tower" -msgstr "" +msgstr "PA-torony" msgid "PA Line" -msgstr "" +msgstr "PA vonal" msgid "PA Pattern" -msgstr "" +msgstr "PA-minta" msgid "Start PA: " -msgstr "" +msgstr "Kezdő PA: " msgid "End PA: " -msgstr "" +msgstr "Befejező PA:" msgid "PA step: " -msgstr "" +msgstr "PA lépcső: " msgid "Print numbers" -msgstr "" +msgstr "Számok nyomtatása" msgid "" "Please input valid values:\n" @@ -13739,39 +14115,43 @@ msgid "" "End PA: > Start PA\n" "PA step: >= 0.001)" msgstr "" +"Kérjük, adj meg érvényes értékeket:\n" +"Kezdő PA: >= 0.0\n" +"Befejező PA: > Start PA\n" +"PA lépcső: >= 0.001)" msgid "Temperature calibration" -msgstr "" +msgstr "Hőmérséklet kalibrálás" msgid "PLA" -msgstr "" +msgstr "PLA" msgid "ABS/ASA" -msgstr "" +msgstr "ABS/ASA" msgid "PETG" -msgstr "" +msgstr "PETG" msgid "TPU" -msgstr "" +msgstr "TPU" msgid "PA-CF" -msgstr "" +msgstr "PA-CF" msgid "PET-CF" -msgstr "" +msgstr "PET-CF" msgid "Filament type" -msgstr "" +msgstr "Filament típusa" msgid "Start temp: " -msgstr "" +msgstr "Kezdőhőmérséklet: " msgid "End temp: " -msgstr "" +msgstr "Befejező hőmérséklet: " msgid "Temp step: " -msgstr "" +msgstr "Hőmérséklet lépcső: " msgid "" "Please input valid values:\n" @@ -13781,16 +14161,16 @@ msgid "" msgstr "" msgid "Max volumetric speed test" -msgstr "" +msgstr "Maximális volumetrikus sebesség teszt" msgid "Start volumetric speed: " -msgstr "" +msgstr "Kezdő volumetrikus sebesség: " msgid "End volumetric speed: " -msgstr "" +msgstr "Befejező volumetrikus sebesség: " msgid "step: " -msgstr "" +msgstr "lépcső: " msgid "" "Please input valid values:\n" @@ -13800,13 +14180,13 @@ msgid "" msgstr "" msgid "VFA test" -msgstr "" +msgstr "VFA teszt" msgid "Start speed: " -msgstr "" +msgstr "Kezdősebesség: " msgid "End speed: " -msgstr "" +msgstr "Befejező sebesség: " msgid "" "Please input valid values:\n" @@ -13816,129 +14196,129 @@ msgid "" msgstr "" msgid "Start retraction length: " -msgstr "" +msgstr "Kezdő visszahúzás hossza: " msgid "End retraction length: " -msgstr "" +msgstr "Befejező visszahúzási hossz:" msgid "mm/mm" -msgstr "" +msgstr "mm/mm" msgid "Send G-Code to printer host" msgstr "" msgid "Upload to Printer Host with the following filename:" -msgstr "" +msgstr "Feltöltés a nyomtatóra a következő fájlnévvel:" msgid "Use forward slashes ( / ) as a directory separator if needed." -msgstr "" +msgstr "Ha szükséges, használj perjeleket ( / ) könyvtárelválasztóként." msgid "Upload to storage" msgstr "" #, c-format, boost-format msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?" -msgstr "" +msgstr "A feltöltendő fájlnév nem végződik „%s”-ra. Folytatod?" msgid "Upload" -msgstr "" +msgstr "Feltöltés" msgid "Print host upload queue" -msgstr "" +msgstr "Feltöltési sor nyomtatása" msgid "ID" -msgstr "" +msgstr "ID" msgid "Progress" -msgstr "" +msgstr "Folyamat" msgid "Host" -msgstr "" +msgstr "Kiszolgáló" msgctxt "OfFile" msgid "Size" -msgstr "" +msgstr "Méret" msgid "Filename" -msgstr "" +msgstr "Fájlnév" msgid "Cancel selected" -msgstr "" +msgstr "Kiválasztott törlése" msgid "Show error message" -msgstr "" +msgstr "Hibaüzenet megjelenítése" msgid "Enqueued" -msgstr "" +msgstr "Sorban áll" msgid "Uploading" msgstr "Feltöltés" msgid "Cancelling" -msgstr "" +msgstr "Megszakítás" msgid "Error uploading to print host" msgstr "" msgid "Unable to perform boolean operation on selected parts" -msgstr "" +msgstr "Nem lehet logikai műveletet végrehajtani a kiválasztott tárgyakon" msgid "Mesh Boolean" -msgstr "" +msgstr "Mesh Boolean" msgid "Union" -msgstr "" +msgstr "Egyesítés" msgid "Difference" -msgstr "" +msgstr "Különbség" msgid "Intersection" -msgstr "" +msgstr "Metszéspont" msgid "Source Volume" -msgstr "" +msgstr "Forrás térfogat" msgid "Tool Volume" -msgstr "" +msgstr "Eszköz térfogat" msgid "Subtract from" -msgstr "" +msgstr "Kivonás ebből" msgid "Subtract with" -msgstr "" +msgstr "Kivonás ezzel" msgid "selected" -msgstr "" +msgstr "kiválasztva" msgid "Part 1" -msgstr "" +msgstr "1. tárgy" msgid "Part 2" -msgstr "" +msgstr "2. tárgy" msgid "Delete input" -msgstr "" +msgstr "Bemenet törlése" msgid "Network Test" -msgstr "" +msgstr "Hálózati teszt" msgid "Start Test Multi-Thread" -msgstr "" +msgstr "Teszt indítása több szálon" msgid "Start Test Single-Thread" -msgstr "" +msgstr "Teszt indítása egy szálon" msgid "Export Log" -msgstr "" +msgstr "Napló exportálása" msgid "OrcaSlicer Version:" msgstr "" msgid "System Version:" -msgstr "" +msgstr "Rendszerverzió:" msgid "DNS Server:" -msgstr "" +msgstr "DNS kiszolgáló:" msgid "Test OrcaSlicer(GitHub)" msgstr "" @@ -13947,92 +14327,98 @@ msgid "Test OrcaSlicer(GitHub):" msgstr "" msgid "Test Bing.com" -msgstr "" +msgstr "Bing.com tesztelése" msgid "Test bing.com:" -msgstr "" +msgstr "Bing.com tesztelése:" msgid "Log Info" -msgstr "" +msgstr "Napló adatok" msgid "Select filament preset" -msgstr "" +msgstr "Válassz ki filamentbeállítást" msgid "Create Filament" -msgstr "" +msgstr "Filament létrehozása" msgid "Create Based on Current Filament" -msgstr "" +msgstr "Létrehozás a jelenlegi filament alapján" msgid "Copy Current Filament Preset " -msgstr "" +msgstr "Jelenlegi filamentbeállítás másolása" msgid "Basic Information" -msgstr "" +msgstr "Alapinformációk" msgid "Add Filament Preset under this filament" -msgstr "" +msgstr "Filamentbeállítás hozzáadása ehhez a filamenthez" msgid "We could create the filament presets for your following printer:" -msgstr "" +msgstr "Létrehozhatjuk a filamentbeállításokat a következő nyomtatóhoz:" msgid "Select Vendor" -msgstr "" +msgstr "Válassz gyártót" msgid "Input Custom Vendor" -msgstr "" +msgstr "Egyedi gyártó megadása" msgid "Can't find vendor I want" -msgstr "" +msgstr "Nem találom a kívánt gyártót" msgid "Select Type" -msgstr "" +msgstr "Válassz típust" msgid "Select Filament Preset" -msgstr "" +msgstr "Válassz filamentbeállítást" msgid "Serial" -msgstr "" +msgstr "Sorozatszám" msgid "e.g. Basic, Matte, Silk, Marble" -msgstr "" +msgstr "pl.: Basic, Matt, Silk, Marble" msgid "Filament Preset" -msgstr "" +msgstr "Filamentbeállítás" msgid "Create" -msgstr "" +msgstr "Létrehoz" msgid "Vendor is not selected, please reselect vendor." -msgstr "" +msgstr "Vendor is not selected; please reselect vendor." msgid "Custom vendor is not input, please input custom vendor." -msgstr "" +msgstr "Custom vendor missing; please input custom vendor." msgid "" "\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." msgstr "" +"A „Bambu” vagy „Generic” nem használható gyártóként egyedi filamentek " +"esetében." msgid "Filament type is not selected, please reselect type." -msgstr "" +msgstr "A filament típusa nem lett kiválasztva, kérjük, válaszd ki a típust." msgid "Filament serial is not inputed, please input serial." -msgstr "" +msgstr "Filament serial missing; please input serial." msgid "" "There may be escape characters in the vendor or serial input of filament. " "Please delete and re-enter." msgstr "" +"There may be disallowed characters in the vendor or serial input of the " +"filament. Please delete and re-enter." msgid "All inputs in the custom vendor or serial are spaces. Please re-enter." -msgstr "" +msgstr "Az egyedi gyártó vagy sorozat értéke üres. Kérjük, írd be újra." msgid "The vendor can not be a number. Please re-enter." -msgstr "" +msgstr "The vendor can not be a number; please re-enter." msgid "" "You have not selected a printer or preset yet. Please select at least one." msgstr "" +"Még nem választottál nyomtatót vagy beállítást. Kérjük, válassz ki legalább " +"egyet." #, c-format, boost-format msgid "" @@ -14040,14 +14426,18 @@ msgid "" "If you continue creating, the preset created will be displayed with its full " "name. Do you want to continue?" msgstr "" +"A(z) %s filamentnév már létezik.\n" +"Ha folytatod, az új beállítás a teljes nevével fog megjelenni. Folytatod?" msgid "Some existing presets have failed to be created, as follows:\n" -msgstr "" +msgstr "Nem sikerült létrehozni a következő beállításokat:\n" msgid "" "\n" "Do you want to rewrite it?" msgstr "" +"\n" +"Szeretnéd felülírni?" msgid "" "We would rename the presets as \"Vendor Type Serial @printer you selected" @@ -14056,46 +14446,46 @@ msgid "" msgstr "" msgid "Create Printer/Nozzle" -msgstr "" +msgstr "Nyomtató/fúvóka létrehozása" msgid "Create Printer" -msgstr "" +msgstr "Nyomtató létrehozása" msgid "Create Nozzle for Existing Printer" -msgstr "" +msgstr "Fúvóka létrehozása meglévő nyomtatóhoz" msgid "Create from Template" -msgstr "" +msgstr "Létrehozás sablonból" msgid "Create Based on Current Printer" -msgstr "" +msgstr "Létrehozás az aktuális nyomtató alapján" msgid "Import Preset" -msgstr "" +msgstr "Beállítás importálása" msgid "Create Type" -msgstr "" +msgstr "Típus létrehozása" msgid "The model is not fond, place reselect vendor." -msgstr "" +msgstr "The model was not found; please reselect vendor." msgid "Select Model" -msgstr "" +msgstr "Válassz modellt" msgid "Select Printer" -msgstr "" +msgstr "Válassz nyomtatót" msgid "Input Custom Model" -msgstr "" +msgstr "Egyedi modell megadása" msgid "Can't find my printer model" -msgstr "" +msgstr "Nem találom a nyomtató modelljét" msgid "Rectangle" -msgstr "" +msgstr "Négyzet" msgid "Printable Space" -msgstr "" +msgstr "Nyomtatási terület" msgid "X" msgstr "" @@ -14104,66 +14494,73 @@ msgid "Y" msgstr "" msgid "Hot Bed STL" -msgstr "" +msgstr "Tárgyasztal STL" msgid "Load stl" -msgstr "" +msgstr "STL betöltése" msgid "Hot Bed SVG" -msgstr "" +msgstr "Tárgyasztal SVG" msgid "Load svg" -msgstr "" +msgstr "SVG betöltése" msgid "Max Print Height" -msgstr "" +msgstr "Maximális nyomtatási magasság" #, c-format, boost-format msgid "The file exceeds %d MB, please import again." msgstr "" +"A fájl mérete meghaladja a(z) %d MB-ot, kérjük ismételd meg az importálást." msgid "Exception in obtaining file size, please import again." msgstr "" +"Kivétel történt a fájlméret megállapításakor, kérjük ismételd meg az " +"importálást." msgid "Preset path is not find, please reselect vendor." -msgstr "" +msgstr "Útvonal nem található. Kérjük, válaszd ki újra a gyártót." msgid "The printer model was not found, please reselect." -msgstr "" +msgstr "A nyomtató modellje nem található, kérjük, válaszd ki újra." msgid "The nozzle diameter is not fond, place reselect." -msgstr "" +msgstr "The nozzle diameter was not found; please reselect." msgid "The printer preset is not fond, place reselect." -msgstr "" +msgstr "The printer preset was not found; please reselect." msgid "Printer Preset" -msgstr "" +msgstr "Nyomtatóbeállítás" msgid "Filament Preset Template" -msgstr "" +msgstr "Filamentbeállítás sablon" msgid "Deselect All" -msgstr "" +msgstr "Kijelölés megszüntetése" msgid "Process Preset Template" -msgstr "" +msgstr "Folyamatbeállítás sablon" msgid "Back Page 1" -msgstr "" +msgstr "Vissza az 1. oldalra" msgid "" "You have not yet chosen which printer preset to create based on. Please " "choose the vendor and model of the printer" msgstr "" +"Még nem választottad ki, hogy melyik nyomtató beállításai alapján készüljön " +"az új. Kérjük, válaszd ki a nyomtató gyártóját és modelljét" msgid "" "You have entered an illegal input in the printable area section on the first " "page. Please check before creating it." msgstr "" +"Tiltott karakter került be az első oldalon a nyomtatási terület részbe. " +"Kérjük, csak számokat használj." msgid "The custom printer or model is not inputed, place input." -msgstr "" +msgstr "The custom printer or model missing; please input." msgid "" "The printer preset you created already has a preset with the same name. Do " @@ -14174,60 +14571,73 @@ msgid "" "reserve.\n" "\tCancel: Do not create a preset, return to the creation interface." msgstr "" +"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 " +"reserved.\n" +"\tCancel: Do not create a preset; return to the creation interface." msgid "You need to select at least one filament preset." -msgstr "" +msgstr "Ki kell választanod legalább egy filamentbeállítást." msgid "You need to select at least one process preset." -msgstr "" +msgstr "Ki kell választanod legalább egy folyamatbeállítást." msgid "Create filament presets failed. As follows:\n" -msgstr "" +msgstr "A következő filamentbeállítások létrehozása nem sikerült:\n" msgid "Create process presets failed. As follows:\n" -msgstr "" +msgstr "A következő folyamatbeállítások létrehozása nem sikerült:\n" msgid "Vendor is not find, please reselect." -msgstr "" +msgstr "Gyártó nem található. Kérjük, válaszd ki újból." msgid "Current vendor has no models, please reselect." -msgstr "" +msgstr "A kiválasztott gyártónak nincsenek modelljei. Kérjük, válassz másikat." msgid "" "You have not selected the vendor and model or inputed the custom vendor and " "model." msgstr "" +"Nem választottad ki a gyártót és modellt, vagy nem adtál meg egy egyedi " +"gyártót és modellt." msgid "" "There may be escape characters in the custom printer vendor or model. Please " "delete and re-enter." msgstr "" +"Érvénytelen karakter(ek) az egyedi gyártó vagy modell mezőjében. Kérjük, írd " +"be őket újra." msgid "" "All inputs in the custom printer vendor or model are spaces. Please re-enter." -msgstr "" +msgstr "Az egyedi gyártó vagy modell értéke üres. Kérjük, írd be újra." msgid "Please check bed printable shape and origin input." -msgstr "" +msgstr "Kérjük, ellenőrizd az asztal alakját és a kezdőpont koordinátáit." msgid "" "You have not yet selected the printer to replace the nozzle, please choose." msgstr "" +"Nem választottál nyomtatót a fúvókacseréhez. Kérjük, válassz egy nyomtatót." msgid "Create Printer Successful" -msgstr "" +msgstr "Nyomtató sikeresen létrehozva" msgid "Create Filament Successful" -msgstr "" +msgstr "Filament Created Successfully" msgid "Printer Created" -msgstr "" +msgstr "Nyomtató létrehozva" msgid "Please go to printer settings to edit your presets" msgstr "" +"Kérjük, a beállítások szerkesztéséhez lépj be a nyomtató beállításaiba." msgid "Filament Created" -msgstr "" +msgstr "Filament létrehozva" msgid "" "Please go to filament setting to edit your presets if you need.\n" @@ -14235,6 +14645,9 @@ msgid "" "volumetric speed has a significant impact on printing quality. Please set " "them carefully." msgstr "" +"Ha szükséges, lépj be az filamentbeállításokhoz az értékek szerkesztéséhez.\n" +"Figyelem: a fúvóka hőmérséklete, a tárgyasztal hőmérséklete és a maximális " +"volumetrikus sebesség jelentős hatással van a nyomtatási minőségre." msgid "" "\n" @@ -14246,7 +14659,7 @@ msgid "" msgstr "" msgid "Printer Setting" -msgstr "" +msgstr "Nyomtatóbeállítás" msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -14255,31 +14668,31 @@ msgid "Filament bundle(.orca_filament)" msgstr "" msgid "Printer presets(.zip)" -msgstr "" +msgstr "Nyomtatóbeállítások (.zip)" msgid "Filament presets(.zip)" -msgstr "" +msgstr "Filamentbeállítások (.zip)" msgid "Process presets(.zip)" -msgstr "" +msgstr "Folyamatbeállítások (.zip)" msgid "initialize fail" -msgstr "" +msgstr "inicializálás sikertelen" msgid "add file fail" -msgstr "" +msgstr "fájl hozzáadása sikertelen" msgid "add bundle structure file fail" -msgstr "" +msgstr "kötegstruktúra fájl hozzáadása sikertelen" msgid "finalize fail" -msgstr "" +msgstr "véglegesítés sikertelen" msgid "open zip written fail" -msgstr "" +msgstr "ZIP-fájl írása sikertelen" msgid "Export successful" -msgstr "" +msgstr "Sikeres exportálás!" #, c-format, boost-format msgid "" @@ -14288,6 +14701,10 @@ msgid "" "If not, a time suffix will be added, and you can modify the name after " "creation." msgstr "" +"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." msgid "" "Printer and all the filament&&process presets that belongs to the printer. \n" @@ -14298,54 +14715,68 @@ msgid "" "User's fillment preset set. \n" "Can be shared with others." msgstr "" +"Felhasználói filamentbeállítások.\n" +"Megosztható másokkal." msgid "" "Only display printer names with changes to printer, filament, and process " "presets." msgstr "" +"Csak azok a nyomtatók jelennek meg, amelyeknél változtak a nyomtató-, " +"filament- és folyamatbeállítások." msgid "Only display the filament names with changes to filament presets." msgstr "" +"Csak azok a filamentnevek jelennek meg, ahol változtak a filamentbeállítások." msgid "" "Only printer names with user printer presets will be displayed, and each " "preset you choose will be exported as a zip." msgstr "" +"Csak azok a nyomtatónevek jelennek meg, amelyekhez tartoznak felhasználói " +"beállítások. A kiválasztott beállítások ZIP fájlként kerülnek exportálásra." 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 "" +"Csak azok a nyomtatónevek jelennek meg, amelyekhez tartoznak felhasználói " +"beállítások. A kiválasztott beállítások ZIP fájlként kerülnek exportálásra." 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 "" +"Csak azok a nyomtatónevek jelennek meg, amelyeknél változtak a " +"folyamatbeállítások. A kiválasztott beállítások ZIP fájlként kerülnek " +"exportálásra." msgid "Please select at least one printer or filament." -msgstr "" +msgstr "Kérjük, válassz ki legalább egy nyomtatót vagy filamentet." msgid "Please select a type you want to export" -msgstr "" +msgstr "Válaszd ki az exportálandó beállítás típusát" msgid "Failed to create temporary folder, please try Export Configs again." -msgstr "" +msgstr "Failed to create temporary folder, please try Export Configs again." msgid "Edit Filament" -msgstr "" +msgstr "Filament szerkesztése" msgid "Filament presets under this filament" -msgstr "" +msgstr "A filamenthez tartozó beállítások" msgid "" "Note: If the only preset under this filament is deleted, the filament will " "be deleted after exiting the dialog." msgstr "" +"Megjegyzés: Ha a filamenthez tartozó utolsó beállítás is törlődik, akkor a " +"filament szintén törlésre kerül a párbeszédablak bezárása után." msgid "Presets inherited by other presets can not be deleted" -msgstr "" +msgstr "A más beállítások által örökölt beállítások nem törölhetők" msgid "The following presets inherits this preset." msgid_plural "The following preset inherits this preset." @@ -14353,190 +14784,207 @@ msgstr[0] "" msgstr[1] "" msgid "Delete Preset" -msgstr "" +msgstr "Beállítás törlése" msgid "Are you sure to delete the selected preset?" -msgstr "" +msgstr "Biztosan törlöd a kiválasztott beállítást?" msgid "Delete preset" -msgstr "" +msgstr "Beállítás törlése" msgid "+ Add Preset" -msgstr "" +msgstr "+ Beállítás hozzáadása" msgid "Delete Filament" -msgstr "" +msgstr "Filament törlése" 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 "" +"A filamenthez tartozó összes beállítás törölve lesz. \n" +"Ha ez a filament jelenleg használatban van a nyomtatón, kérjük, töröld az " +"adott férőhelyen a filamentadatokat." msgid "Delete filament" -msgstr "" +msgstr "Filament törlése" msgid "Add Preset" -msgstr "" +msgstr "Beállítás hozzáadása" msgid "Add preset for new printer" -msgstr "" +msgstr "Beállítás hozzáadása új nyomtatóhoz" msgid "Copy preset from filament" -msgstr "" +msgstr "Beállítás másolása filamentről" msgid "The filament choice not find filament preset, please reselect it" -msgstr "" +msgstr "A filamenthez nem található beállítás. Kérjük, válassz ki másikat." msgid "[Delete Required]" -msgstr "" +msgstr "[Törlés szükséges]" msgid "Edit Preset" -msgstr "" +msgstr "Beállítás módosítása" msgid "For more information, please check out Wiki" -msgstr "" +msgstr "For more information, please check out our Wiki" msgid "Collapse" -msgstr "" +msgstr "Összecsuk" msgid "Daily Tips" -msgstr "" +msgstr "Napi tippek" msgid "" "Your nozzle diameter in preset is not consistent with memorized nozzle " "diameter. Did you change your nozzle lately?" msgstr "" +"Your nozzle diameter in preset is not consistent with the saved nozzle " +"diameter. Have you changed your nozzle?" #, c-format, boost-format msgid "*Printing %s material with %s may cause nozzle damage" -msgstr "" +msgstr "* %s anyag nyomtatása ezzel: %s a fúvóka eltömődéséhez vezethet" msgid "Need select printer" -msgstr "" +msgstr "Ki kell választanod a nyomtatót" msgid "The start, end or step is not valid value." -msgstr "" +msgstr "A kezdő-, vég- vagy lépésérték nem érvényes." msgid "" "Unable to calibrate: maybe because the set calibration value range is too " "large, or the step is too small" msgstr "" +"Nem lehet kalibrálni: előfordulhat, hogy a beállított kalibrációs " +"értéktartomány túl nagy, vagy a lépésköz túl kicsi" msgid "Physical Printer" -msgstr "" +msgstr "Fizikai nyomtató" msgid "Print Host upload" -msgstr "" +msgstr "Feltöltés a nyomtatóra" msgid "Could not get a valid Printer Host reference" -msgstr "" +msgstr "Nem sikerült érvényes nyomtató hivatkozást lekérni" msgid "Success!" -msgstr "" +msgstr "Sikerült!" msgid "Are you sure to log out?" msgstr "" msgid "Refresh Printers" -msgstr "" +msgstr "Nyomtatók frissítése" msgid "" "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" "signed certificate." msgstr "" +"A HTTPS CA-fájl nem kötelező. Csak akkor szükséges, ha a HTTPS-t saját " +"aláírású tanúsítvánnyal használod." msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "" +msgstr "Tanúsítványfájlok (*.crt, *.pem) |*.crt; *.pem|Minden fájl|* . *" msgid "Open CA certificate file" -msgstr "" +msgstr "CA tanúsítványfájl megnyitása" #, c-format, boost-format msgid "" "On this system, %s uses HTTPS certificates from the system Certificate Store " "or Keychain." msgstr "" +"Ezen a rendszeren %s HTTPS-tanúsítványokat használ a rendszer " +"tanúsítványtárolójából vagy kulcstárolójából." msgid "" "To use a custom CA file, please import your CA file into Certificate Store / " "Keychain." msgstr "" +"Egyéni CA-fájl használatához importáld azt a tanúsítványtárolóba / " +"kulcstárolóba." msgid "Login/Test" msgstr "" msgid "Connection to printers connected via the print host failed." msgstr "" +"A nyomtatóállomáson keresztül csatlakoztatott nyomtatókhoz való csatlakozás " +"sikertelen." #, c-format, boost-format msgid "Mismatched type of print host: %s" -msgstr "" +msgstr "A nyomtatóállomás típusa nem egyezik: %s" msgid "Connection to AstroBox works correctly." -msgstr "" +msgstr "Connection to AstroBox is working correctly." msgid "Could not connect to AstroBox" -msgstr "" +msgstr "Nem sikerült csatlakozni az AstroBoxhoz" msgid "Note: AstroBox version at least 1.1.0 is required." -msgstr "" +msgstr "Note: AstroBox version 1.1.0 or higher is required." msgid "Connection to Duet works correctly." -msgstr "" +msgstr "Connection to Duet is working correctly." msgid "Could not connect to Duet" -msgstr "" +msgstr "Nem sikerült csatlakozni a Duethez" msgid "Unknown error occured" -msgstr "" +msgstr "Ismeretlen hiba történt" msgid "Wrong password" -msgstr "" +msgstr "Hibás jelszó" msgid "Could not get resources to create a new connection" -msgstr "" +msgstr "Nem sikerült erőforrásokat szerezni új kapcsolat létrehozásához" msgid "Upload not enabled on FlashAir card." -msgstr "" +msgstr "A feltöltés nincs engedélyezve a FlashAir kártyán." msgid "Connection to FlashAir works correctly and upload is enabled." -msgstr "" +msgstr "Connection to FlashAir is working correctly and upload is enabled." msgid "Could not connect to FlashAir" -msgstr "" +msgstr "Nem sikerült csatlakozni a FlashAirhez" msgid "" "Note: FlashAir with firmware 2.00.02 or newer and activated upload function " "is required." msgstr "" +"Megjegyzés: FlashAir 2.00.02 vagy újabb firmware és bekapcsolt feltöltési " +"funkció szükséges." msgid "Connection to MKS works correctly." -msgstr "" +msgstr "Connection to MKS is working correctly." msgid "Could not connect to MKS" -msgstr "" +msgstr "Nem sikerült csatlakozni az MKS-hez" msgid "Connection to OctoPrint works correctly." -msgstr "" +msgstr "Connection to OctoPrint is working correctly." msgid "Could not connect to OctoPrint" -msgstr "" +msgstr "Nem sikerült csatlakozni az OctoPrinthez" msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "" +msgstr "Note: OctoPrint version 1.1.0 or higher is required." msgid "Connection to Prusa SL1 / SL1S works correctly." -msgstr "" +msgstr "Connection to Prusa SL1 / SL1S is working correctly." msgid "Could not connect to Prusa SLA" -msgstr "" +msgstr "Nem sikerült csatlakozni a Prusa SLA-hoz" msgid "Connection to PrusaLink works correctly." -msgstr "" +msgstr "Connection to PrusaLink is working correctly." msgid "Could not connect to PrusaLink" -msgstr "" +msgstr "Nem sikerült csatlakozni a PrusaLinkhez" msgid "Storages found" msgstr "" @@ -14563,19 +15011,21 @@ msgid "Could not connect to Prusa Connect" msgstr "" msgid "Connection to Repetier works correctly." -msgstr "" +msgstr "Connection to Repetier is working correctly." msgid "Could not connect to Repetier" -msgstr "" +msgstr "Nem sikerült csatlakozni a Repetierhez" msgid "Note: Repetier version at least 0.90.0 is required." -msgstr "" +msgstr "Note: Repetier version 0.90.0 or higher is required." #, boost-format msgid "" "HTTP status: %1%\n" "Message body: \"%2%\"" msgstr "" +"HTTP állapot: %1%\n" +"Üzenet törzse: „%2%“" #, boost-format msgid "" @@ -14583,6 +15033,9 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"A válasz feldolgozása sikertelen.\n" +"Üzenet törzse: „%1%“\n" +"Hiba: „%2%“" #, boost-format msgid "" @@ -14590,35 +15043,51 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"A nyomtató lekérdezése sikertelen.\n" +"Üzenet törzse: „%1%“\n" +"Hiba: „%2%”" msgid "" "It has a small layer height, and results in almost negligible layer lines " "and high printing quality. It is suitable for most general printing cases." msgstr "" +"It has a small layer height, and results in almost negligible layer lines " +"and high print quality. It is suitable for most general printing cases." 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. So, it results in " "much higher printing quality, but a much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" +"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 longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " "height, and results in slightly visible layer lines, but shorter printing " "time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " "height, and results in almost invisible layer lines and higher printing " "quality, but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14626,12 +15095,19 @@ msgid "" "Gyroid. So, it results in almost invisible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " "height, and results in minimal layer lines and higher printing quality, but " "shorter printing time." msgstr "" +"Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " +"height. This results in minimal layer lines and higher print quality but " +"longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14639,35 +15115,53 @@ msgid "" "Gyroid. So, it results in minimal layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "It has a general layer height, and results in general layer lines and " "printing quality. It is suitable for most general printing cases." msgstr "" +"It has a normal layer height, and results in average layer lines and print " +"quality. It is suitable for most printing cases." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but slightly shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14675,12 +15169,19 @@ msgid "" "Gyroid. So, it results in less apparent layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14688,64 +15189,95 @@ msgid "" "Gyroid. So, it results in almost negligible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and longer printing " "time." msgstr "" +"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." msgid "" "It has a big layer height, and results in apparent layer lines and ordinary " "printing quality and printing time." msgstr "" +"It has a big layer height, and results in apparent layer lines and ordinary " +"printing quality and printing time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in much more apparent layer lines and much lower " "printing quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and slight higher printing " "quality, but longer printing time." msgstr "" +"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 slightly higher print " +"quality but longer print time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" +"It has a very big layer height, and results in very apparent layer lines, " +"low print quality and shorter printing time." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " "height, and results in very apparent layer lines and much lower printing " "quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " "layer height, and results in extremely apparent layer lines and much lower " "printing quality, but much shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -14753,12 +15285,18 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " "height, and results in less but still apparent layer lines and slightly " "higher printing quality, but longer printing time in some printing cases." msgstr "" +"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." msgid "Connected to Obico successfully!" msgstr "" @@ -14884,6 +15422,9 @@ msgid "" "Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " "problems on the Windows system?" msgstr "" +"Modell javítása\n" +"Tudtad, hogy Windows rendszeren a sérült 3D-modelleket kijavíthatod, hogy " +"elkerüld a szeletelési problémákat?" #: resources/data/hints.ini: [hint:Timelapse] msgid "" @@ -15123,6 +15664,10 @@ msgid "" "extruder/hotend clogging when printing lower temperature filament with a " "higher enclosure temperature. More info about this in the Wiki." msgstr "" +"Mikor nyomtass nyitott ajtóval\n" +"Tudtad, hogy a nyomtató ajtajának kinyitásával csökkentheted az extruder/" +"hotend eltömődésének valószínűségét, ha alacsonyabb hőmérsékletű filamentet " +"nyomtatsz? További információ a Wikiben olvashatsz erről." #: resources/data/hints.ini: [hint:Avoid warping] msgid "" @@ -15131,6 +15676,12 @@ msgid "" "ABS, appropriately increasing the heatbed temperature can reduce the " "probability of warping." msgstr "" +"Vetemedés elkerülése\n" +"Tudtad, hogy a vetemedésre hajlamos anyagok (például ABS) nyomtatásakor a " +"tárgyasztal hőmérsékletének növelése csökkentheti a vetemedés valószínűségét?" + +#~ msgid "V" +#~ msgstr "V" #~ msgid "Export &Configs" #~ msgstr "Export &Configs" diff --git a/localization/i18n/it/OrcaSlicer_it.po b/localization/i18n/it/OrcaSlicer_it.po index 0132fabd4ae..f12461a1698 100644 --- a/localization/i18n/it/OrcaSlicer_it.po +++ b/localization/i18n/it/OrcaSlicer_it.po @@ -1,8 +1,9 @@ +# msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -1405,9 +1406,6 @@ msgstr "" "Il file di configurazione \"%1%\" è stato caricato, ma alcuni valori non " "sono stati riconosciuti." -msgid "V" -msgstr "V" - 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." @@ -1516,6 +1514,9 @@ msgstr "Scegli uno o più file (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Scegli uno o più file (3mf/step/stl/svg/obj/amf):" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "Scegli file (gcode/3mf):" @@ -1586,6 +1587,11 @@ msgstr "Caricamenti in corso" msgid "Select a G-code file:" msgstr "Seleziona file G-code:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Importa File" @@ -2441,7 +2447,7 @@ msgid "AMS not connected" msgstr "AMS non collegato" msgid "Load" -msgstr "" +msgstr "Load" msgid "Unload" msgstr "Scarica" @@ -2506,6 +2512,8 @@ msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" +"Scegliere uno slot AMS, quindi premi il pulsante \"Carica\" o \"Scarica\" " +"per caricare o scaricare automaticamente il filamento." msgid "Edit" msgstr "Modifica" @@ -2986,7 +2994,7 @@ msgid "Print with the filament mounted on the back of chassis" msgstr "Stampa filamento con bobina esterna" msgid "Current Cabin humidity" -msgstr "" +msgstr "Current Cabin humidity" msgid "" "Please change the desiccant when it is too wet. The indicator may not " @@ -2994,6 +3002,10 @@ msgid "" "desiccant pack is changed. it take hours to absorb the moisture, low " "temperatures also slow down the process." msgstr "" +"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 takes a few hours to absorb the moisture, and " +"low temperatures also slow down the process." msgid "" "Config which AMS slot should be used for a filament used in the print job" @@ -3053,10 +3065,10 @@ msgstr "" "stesso marchio, tipo di materiale e colore)" msgid "DRY" -msgstr "" +msgstr "DRY" msgid "WET" -msgstr "" +msgstr "WET" msgid "AMS Settings" msgstr "Impostazioni AMS" @@ -3076,6 +3088,8 @@ msgid "" "Note: if a new filament is inserted during printing, the AMS will not " "automatically read any information until printing is completed." msgstr "" +"Nota: se durante la stampa viene inserito un nuovo filamento, l'AMS non " +"leggerà automaticamente alcuna informazione fino al termine della stampa." msgid "" "When inserting a new filament, the AMS will not automatically read its " @@ -3128,12 +3142,14 @@ msgstr "" "quando il filamento corrente si esaurisce" msgid "Air Printing Detection" -msgstr "" +msgstr "Air Printing Detection" msgid "" "Detects clogging and filament grinding, halting printing immediately to " "conserve time and filament." msgstr "" +"Detects clogging and filament grinding, halting printing immediately to " +"conserve time and filament." msgid "File" msgstr "File" @@ -3213,7 +3229,7 @@ msgid "Running post-processing scripts" msgstr "Esecuzione script di post-elaborazione" msgid "Successfully executed post-processing script" -msgstr "" +msgstr "Successfully executed post-processing script" msgid "Unknown error occured during exporting G-code." msgstr "" @@ -3280,10 +3296,10 @@ msgid "Device" msgstr "Dispositivo" msgid "Task Sending" -msgstr "" +msgstr "Task Sending" msgid "Task Sent" -msgstr "" +msgstr "Task Sent" msgid "Edit multiple printers" msgstr "" @@ -3303,7 +3319,7 @@ msgid "Offline" msgstr "Offline" msgid "No task" -msgstr "" +msgstr "No task" msgid "View" msgstr "Vista" @@ -3315,16 +3331,16 @@ msgid "Edit Printers" msgstr "" msgid "Device Name" -msgstr "" +msgstr "Device Name" msgid "Task Name" -msgstr "" +msgstr "Task Name" msgid "Device Status" -msgstr "" +msgstr "Device Status" msgid "Actions" -msgstr "" +msgstr "Actions" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" @@ -3367,7 +3383,7 @@ msgid "Pending" msgstr "" msgid "Sending" -msgstr "" +msgstr "Invio…" msgid "Sending Finish" msgstr "" @@ -3394,25 +3410,25 @@ msgid "Stop" msgstr "Ferma" msgid "Task Status" -msgstr "" +msgstr "Task Status" msgid "Sent Time" -msgstr "" +msgstr "Sent Time" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "There are no tasks to be sent!" msgid "No historical tasks!" -msgstr "" +msgstr "No historical tasks!" msgid "Loading..." msgstr "Caricamento…" msgid "No AMS" -msgstr "" +msgstr "No AMS" msgid "Send to Multi-device" -msgstr "" +msgstr "Send to Multi-device" msgid "Preparing print job" msgstr "Preparazione lavoro di stampa" @@ -3427,22 +3443,31 @@ msgid "The number of printers in use simultaneously cannot be equal to 0." msgstr "" msgid "Use External Spool" -msgstr "" +msgstr "Use External Spool" msgid "Use AMS" -msgstr "" +msgstr "Use AMS" msgid "Select Printers" -msgstr "" +msgstr "Select Printers" msgid "Ams Status" -msgstr "" +msgstr "AMS Status" msgid "Printing Options" +msgstr "Printing Options" + +msgid "Bed Leveling" +msgstr "Livellamento piano" + +msgid "Timelapse" +msgstr "Timelapse" + +msgid "Flow Dynamic Calibration" msgstr "" msgid "Send Options" -msgstr "" +msgstr "Send Options" msgid "Send" msgstr "Invia" @@ -3451,13 +3476,16 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" +"printers at the same time. (It depends on how many devices can undergo " +"heating at the same time.)" msgid "Wait" -msgstr "" +msgstr "Wait" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" +"minute each batch. (It depends on how long it takes to complete heating.)" msgid "Name is invalid;" msgstr "Nome non valido;" @@ -3555,14 +3583,18 @@ msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" msgstr "" +"La temperatura minima consigliata è inferiore a 190 gradi o la temperatura " +"massima consigliata è superiore a 300 gradi.\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " "maximum temperature.\n" msgstr "" +"The recommended minimum temperature cannot be higher than the recommended " +"maximum temperature.\n" msgid "Please check.\n" -msgstr "" +msgstr "Controlla.\n" msgid "" "Nozzle may be blocked when the temperature is out of recommended range.\n" @@ -4017,7 +4049,7 @@ msgstr "Validazione parametri" #, c-format, boost-format msgid "Value %s is out of range. The valid range is from %d to %d." -msgstr "" +msgstr "Value %s is out of range. The valid range is from %d to %d." msgid "Value is out of range." msgstr "Valore fuori intervallo." @@ -4208,10 +4240,10 @@ msgid "Normal mode" msgstr "Modalità normale" msgid "Total Filament" -msgstr "" +msgstr "Total Filament" msgid "Model Filament" -msgstr "" +msgstr "Model Filament" msgid "Prepare time" msgstr "Tempo preparazione" @@ -4307,7 +4339,7 @@ msgid "Spacing" msgstr "Spaziatura" msgid "0 means auto spacing." -msgstr "" +msgstr "0 means auto spacing." msgid "Auto rotate for arrangement" msgstr "Ruota automaticamente per disporre" @@ -4454,7 +4486,7 @@ msgid "Go Live" msgstr "Vai in diretta" msgid "Liveview Retry" -msgstr "" +msgstr "Riprova Liveview" msgid "Resolution" msgstr "Risoluzione" @@ -4512,7 +4544,7 @@ msgid "Preview" msgstr "Anteprima" msgid "Multi-device" -msgstr "" +msgstr "Multi-device" msgid "Project" msgstr "Progetto" @@ -4658,6 +4690,12 @@ msgstr "Importa 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Carica modello" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Importa configurazioni" @@ -4970,44 +5008,48 @@ msgstr "" msgid "Player is malfunctioning. Please reinstall the system player." msgstr "" +"Lettore non funzionante correttamente. Reinstallare il lettore di sistema." msgid "The player is not loaded, please click \"play\" button to retry." -msgstr "" +msgstr "Player non caricato; fai clic sul pulsante «play» per riprovare." msgid "Please confirm if the printer is connected." -msgstr "" +msgstr "Verifica che la stampante sia collegata." msgid "" "The printer is currently busy downloading. Please try again after it " "finishes." -msgstr "" +msgstr "La stampante è in fase di download. Attendi il completamento." msgid "Printer camera is malfunctioning." -msgstr "" +msgstr "La fotocamera della stampante non funziona correttamente." msgid "Problem occured. Please update the printer firmware and try again." -msgstr "" +msgstr "Si è verificato un problema. Aggiorna il firmware stampante e riprova." msgid "" "LAN Only Liveview is off. Please turn on the liveview on printer screen." msgstr "" +"LAN Only Liveview is off. Please turn on the liveview on printer screen." msgid "Please enter the IP of printer to connect." -msgstr "" +msgstr "Inserisci l'IP stampante da connettere." msgid "Initializing..." msgstr "Inizializzazione ..." msgid "Connection Failed. Please check the network and try again" -msgstr "" +msgstr "Connessione fallita. Controlla la rete e riprova" msgid "" "Please check the network and try again, You can restart or update the " "printer if the issue persists." msgstr "" +"Controlla la rete e riprova. Se il problema persiste prova ad aggiornare o " +"riavviare la stampante." msgid "The printer has been logged out and cannot connect." -msgstr "" +msgstr "La stampante è stata disconnessa e non può connettersi." msgid "Stopped." msgstr "Interrotto." @@ -5065,9 +5107,6 @@ msgstr "Raggruppa i file per mese, prima i recenti." msgid "Show all files, recent first." msgstr "Mostra tutti i file, prima i recenti." -msgid "Timelapse" -msgstr "Timelapse" - msgid "Switch to timelapse files." msgstr "Passa ai file timelapse." @@ -5099,7 +5138,7 @@ msgid "Refresh" msgstr "Aggiorna" msgid "Reload file list from printer." -msgstr "" +msgstr "Reload file list from printer." msgid "No printers." msgstr "Nessuna stampante." @@ -5112,10 +5151,10 @@ msgid "Loading file list..." msgstr "Caricamento elenco file..." msgid "No files" -msgstr "" +msgstr "Nessun file" msgid "Load failed" -msgstr "" +msgstr "Load failed" msgid "Initialize failed (Device connection not ready)!" msgstr "" @@ -5125,15 +5164,17 @@ msgid "" "Browsing file in SD card is not supported in current firmware. Please update " "the printer firmware." msgstr "" +"Browsing file in SD card is not supported in current firmware. Please update " +"the printer firmware." msgid "Initialize failed (Storage unavailable, insert SD card.)!" msgstr "" msgid "LAN Connection Failed (Failed to view sdcard)" -msgstr "" +msgstr "LAN Connection Failed (Failed to view sdcard)" msgid "Browsing file in SD card is not supported in LAN Only Mode." -msgstr "" +msgstr "Browsing file in SD card is not supported in LAN Only Mode." #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -5162,10 +5203,10 @@ msgid "Fetching model infomations ..." msgstr "Recupero informazioni del modello..." msgid "Failed to fetch model information from printer." -msgstr "" +msgstr "Impossibile recuperare le informazioni del modello dalla stampante." msgid "Failed to parse model information." -msgstr "" +msgstr "Impossibile analizzare le informazioni del modello" msgid "" "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " @@ -5183,6 +5224,8 @@ msgid "" "File: %s\n" "Title: %s\n" msgstr "" +"File: %s\n" +"Title: %s\n" msgid "Download waiting..." msgstr "Download in attesa..." @@ -5204,9 +5247,11 @@ msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." msgstr "" +"Reconnecting the printer, the operation cannot be completed immediately, " +"please try again later." msgid "File does not exist." -msgstr "" +msgstr "Il file non esiste" msgid "File checksum error. Please retry." msgstr "Errore di checksum del file. Si prega di riprovare." @@ -5309,7 +5354,7 @@ msgid "Control" msgstr "Controllo" msgid "Printer Parts" -msgstr "" +msgstr "Printer Parts" msgid "Print Options" msgstr "Opzioni stampa" @@ -5557,7 +5602,7 @@ msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "" msgid "Download Beta Version" -msgstr "" +msgstr "Scarica la versione beta" msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "" @@ -5566,13 +5611,13 @@ msgid "Update your Orca Slicer could enable all functionality in the 3mf file." msgstr "" msgid "Current Version: " -msgstr "" +msgstr "Versione corrente:" msgid "Latest Version: " -msgstr "" +msgstr "Ultima versione: " msgid "Not for now" -msgstr "" +msgstr "Not for now" msgid "3D Mouse disconnected." msgstr "Mouse 3D disconnesso." @@ -5643,12 +5688,12 @@ msgstr[1] "%1$d oggetti sono stati caricati come parti di un oggetto tagliato" msgid "ERROR" msgstr "ERRORE" -msgid "CANCELED" -msgstr "ANNULLATO" - msgid "COMPLETED" msgstr "COMPLETATO" +msgid "CANCELED" +msgstr "ANNULLATO" + msgid "Cancel upload" msgstr "Annulla caricamento" @@ -5761,13 +5806,13 @@ msgid "Filament Tangle Detect" msgstr "Rilevamento del groviglio del filamento" msgid "Nozzle Clumping Detection" -msgstr "" +msgstr "Nozzle Clumping Detection" msgid "Check if the nozzle is clumping by filament or other foreign objects." -msgstr "" +msgstr "Check if the nozzle is clumping by filament or other foreign objects." msgid "Nozzle Type" -msgstr "" +msgstr "Nozzle Type" msgid "Stainless Steel" msgstr "Acciaio inox" @@ -5777,7 +5822,7 @@ msgstr "Acciaio temprato" #, c-format, boost-format msgid "%.1f" -msgstr "" +msgstr "%.1f" msgid "Global" msgstr "Globale" @@ -6233,13 +6278,13 @@ msgid "prepare 3mf file..." msgstr "preparazione file 3mf..." msgid "Download failed, unknown file format." -msgstr "" +msgstr "Download failed; unknown file format." msgid "downloading project ..." msgstr "Download progetto..." msgid "Download failed, File size exception." -msgstr "" +msgstr "Download failed; File size exception." #, c-format, boost-format msgid "Project downloaded %d%%" @@ -6264,6 +6309,20 @@ msgstr "non contiene un g-code valido." msgid "Error occurs while loading G-code file" msgstr "Si è verificato un errore durante il caricamento del file G-code." +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Elimina il file di progetto" @@ -6329,22 +6388,24 @@ msgid "" "Unable to perform boolean operation on model meshes. Only positive parts " "will be kept. You may fix the meshes and try agian." msgstr "" +"Unable to perform boolean operation on model meshes. Only positive parts " +"will be kept. You may fix the meshes and try agian." #, boost-format msgid "Reason: part \"%1%\" is empty." -msgstr "" +msgstr "Reason: part \"%1%\" is empty." #, boost-format msgid "Reason: part \"%1%\" does not bound a volume." -msgstr "" +msgstr "Reason: part \"%1%\" does not bound a volume." #, boost-format msgid "Reason: part \"%1%\" has self intersection." -msgstr "" +msgstr "Reason: part \"%1%\" has self intersection." #, boost-format msgid "Reason: \"%1%\" and another part have no intersection." -msgstr "" +msgstr "Reason: \"%1%\" and another part have no intersection." msgid "" "Are you sure you want to store original SVGs with their local paths into the " @@ -6531,6 +6592,10 @@ msgid "" "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 "" +"Su OSX per impostazione predefinita c'è sempre una sola istanza dell'app in " +"esecuzione. Tuttavia è consentito eseguire più istanze della stessa app da " +"riga di comando. In tal caso, questa impostazione consentirà una sola " +"istanza." msgid "" "If this is enabled, when starting OrcaSlicer and another instance of the " @@ -6603,10 +6668,10 @@ msgstr "Se abilitato, calcola automaticamente ogni volta che il colore cambia." msgid "" "Flushing volumes: Auto-calculate every time when the filament is changed." -msgstr "" +msgstr "Flushing volumes: Auto-calculate every time the filament is changed." msgid "If enabled, auto-calculate every time when filament is changed" -msgstr "" +msgstr "If enabled, auto-calculate every time filament is changed" msgid "Remember printer configuration" msgstr "" @@ -6623,6 +6688,8 @@ msgid "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." msgstr "" +"With this option enabled, you can send a task to multiple devices at the " +"same time and manage multiple devices." msgid "Network" msgstr "Rete" @@ -6673,6 +6740,20 @@ msgstr "" "\"\n" "\"i file .step." +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Numero massimo di progetti recenti" @@ -6848,16 +6929,16 @@ msgid "The selected preset is null!" msgstr "Il preset selezionato è nullo!" msgid "End" -msgstr "" +msgstr "End" msgid "Customize" msgstr "Personalizza" msgid "Other layer filament sequence" -msgstr "" +msgstr "Other layer filament sequence" msgid "Please input layer value (>= 2)." -msgstr "" +msgstr "Please input layer value (>= 2)." msgid "Plate name" msgstr "Nome Piatto" @@ -6869,10 +6950,10 @@ msgid "Print sequence" msgstr "Sequenza di stampa" msgid "Same as Global" -msgstr "" +msgstr "Same as Global" msgid "Disable" -msgstr "" +msgstr "Disable" msgid "Spiral vase" msgstr "Vaso a spirale" @@ -7039,9 +7120,6 @@ msgstr "Piastra PEI testurizzata Bambu" msgid "Send print job to" msgstr "Invia stampa a" -msgid "Bed Leveling" -msgstr "Livellamento piano" - msgid "Flow Dynamics Calibration" msgstr "Calibrazione della dinamica del flusso" @@ -7142,6 +7220,8 @@ msgid "" "The selected printer (%s) is incompatible with the chosen printer profile in " "the slicer (%s)." msgstr "" +"The selected printer (%s) is incompatible with the chosen printer profile in " +"the slicer (%s)." msgid "An SD card needs to be inserted to record timelapse." msgstr "È necessario inserire una scheda microSD per registrare un timelapse." @@ -7209,15 +7289,20 @@ msgid "" "If you changed your nozzle lately, please go to Device > Printer Parts to " "change settings." msgstr "" +"Your nozzle diameter in sliced file is not consistent with the saved nozzle. " +"If you changed your nozzle lately, please go to Device > Printer Parts to " +"change settings." #, c-format, boost-format msgid "" "Printing high temperature material(%s material) with %s may cause nozzle " "damage" msgstr "" +"Printing high temperature material(%s material) with %s may cause nozzle " +"damage" msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "" +msgstr "Please fix the error above, otherwise printing cannot continue." msgid "" "Please click the confirm button if you still want to proceed with printing." @@ -7244,7 +7329,7 @@ msgid "Modifying the device name" msgstr "Modifica nome del dispositivo" msgid "Bind with Pin Code" -msgstr "" +msgstr "Bind with Pin Code" msgid "Send to Printer SD card" msgstr "Invia a microSD stampante" @@ -7305,21 +7390,23 @@ msgid "" "Please Find the Pin Code in Account page on printer screen,\n" " and type in the Pin Code below." msgstr "" +"Please Find the Pin Code in Account page on printer screen,\n" +" and type in the Pin Code below." msgid "Can't find Pin Code?" -msgstr "" +msgstr "Can't find Pin Code?" msgid "Pin Code" -msgstr "" +msgstr "Pin Code" msgid "Binding..." -msgstr "" +msgstr "Binding..." msgid "Please confirm on the printer screen" -msgstr "" +msgstr "Please confirm on the printer screen" msgid "Log in failed. Please check the Pin Code." -msgstr "" +msgstr "Log in failed. Please check the Pin Code." msgid "Log in printer" msgstr "Log in stampante" @@ -7528,6 +7615,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other " "printing complications." msgstr "" +"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." msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7535,6 +7626,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other printing " "complications.Please use with the latest printer firmware." msgstr "" +"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." msgid "" "When recording timelapse without toolhead, it is recommended to add a " @@ -8039,12 +8134,14 @@ msgstr "" #, boost-format msgid "You have changed some settings of preset \"%1%\". " -msgstr "" +msgstr "You have changed some settings of preset \"%1%\". " msgid "" "\n" "You can save or discard the preset values you have modified." msgstr "" +"\n" +"You can save or discard the preset values you have modified." msgid "" "\n" @@ -8053,7 +8150,7 @@ msgid "" msgstr "" msgid "You have previously modified your settings." -msgstr "" +msgstr "You have previously modified your settings." msgid "" "\n" @@ -8585,40 +8682,40 @@ msgid "Done" msgstr "Fine" msgid "resume" -msgstr "" +msgstr "resume" msgid "Resume Printing" -msgstr "" +msgstr "Resume Printing" msgid "Resume Printing(defects acceptable)" -msgstr "" +msgstr "Resume Printing (defects acceptable)" msgid "Resume Printing(problem solved)" -msgstr "" +msgstr "Resume Printing (problem solved)" msgid "Stop Printing" -msgstr "" +msgstr "Stop Printing" msgid "Check Assistant" -msgstr "" +msgstr "Check Assistant" msgid "Filament Extruded, Continue" -msgstr "" +msgstr "Filament Extruded, Continue" msgid "Not Extruded Yet, Retry" -msgstr "" +msgstr "Not Extruded Yet, Retry" msgid "Finished, Continue" -msgstr "" +msgstr "Finished, Continue" msgid "Load Filament" msgstr "Carica" msgid "Filament Loaded, Resume" -msgstr "" +msgstr "Filament Loaded, Resume" msgid "View Liveview" -msgstr "" +msgstr "View Liveview" msgid "Confirm and Update Nozzle" msgstr "Conferma e aggiorna l'ugello" @@ -9535,13 +9632,13 @@ msgid "First layer print sequence" msgstr "Sequenza di stampa del primo strato" msgid "Other layers print sequence" -msgstr "" +msgstr "Other layers print sequence" msgid "The number of other layers print sequence" -msgstr "" +msgstr "The number of other layers print sequence" msgid "Other layers filament sequence" -msgstr "" +msgstr "Other layers filament sequence" msgid "This G-code is inserted at every layer change before lifting z" msgstr "" @@ -10479,10 +10576,10 @@ msgstr "" "nella stampa per oggetto." msgid "Nozzle height" -msgstr "" +msgstr "Altezza nozzle" msgid "The height of nozzle tip." -msgstr "" +msgstr "L'altezza punta del nozzle." msgid "Bed mesh min" msgstr "Maglia del letto min" @@ -10977,7 +11074,7 @@ msgid "Lightning" msgstr "Lightning" msgid "Cross Hatch" -msgstr "" +msgstr "Cross Hatch" msgid "Sparse infill anchor length" msgstr "Lunghezza dell'ancora di riempimento sparsa" @@ -11271,13 +11368,16 @@ msgstr "" "larghezza linea irregolare e devono essere stampate più lentamente." msgid "Precise Z height" -msgstr "" +msgstr "Precise Z height" 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 "" +"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." msgid "Arc fitting" msgstr "Arc fitting" @@ -12244,7 +12344,7 @@ msgstr "" "retrazione." msgid "Long retraction when cut(experimental)" -msgstr "" +msgstr "Long retraction when cut (experimental)" msgid "" "Experimental feature.Retracting and cutting off the filament at a longer " @@ -12252,14 +12352,20 @@ msgid "" "significantly, it may also raise the risk of nozzle clogs or other printing " "problems." msgstr "" +"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." msgid "Retraction distance when cut" -msgstr "" +msgstr "Retraction distance when cut" msgid "" "Experimental feature.Retraction length before cutting off during filament " "change" msgstr "" +"Experimental feature. Retraction length before cutting off during filament " +"change" msgid "Z hop when retract" msgstr "Z hop in fase retrazione" @@ -13469,17 +13575,29 @@ msgstr "Spaziatura delle linee di spurgo della torre di pulitura" msgid "Spacing of purge lines on the wipe tower." msgstr "Spaziatura delle linee di spurgo sulla torre di pulitura." -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -14260,7 +14378,7 @@ msgid "load_obj: failed to parse" msgstr "load_obj: analisi non riuscita" msgid "load mtl in obj: failed to parse" -msgstr "" +msgstr "load mtl in obj: failed to parse" msgid "The file contains polygons with more than 4 vertices." msgstr "Il file contiene poligoni con più di 4 vertici." @@ -14397,6 +14515,11 @@ msgid "" "historical results. \n" "Do you still want to continue the calibration?" msgstr "" +"This machine type can only hold 16 historical 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?" msgid "Connecting to printer..." msgstr "Collegamento alla stampante..." @@ -14415,12 +14538,17 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to override the historical result?" msgstr "" +"C'è già un risultato di calibrazione precedente con lo stesso nome: %s. Ne " +"può essere salvato solo uno. Sei sicuro di voler sovrascrivere il risultato " +"precedente?" #, c-format, boost-format msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." msgstr "" +"This machine type can only hold %d historical results per nozzle. This " +"result will not be saved." msgid "Internal Error" msgstr "Errore interno" @@ -14801,7 +14929,7 @@ msgid "Flow Dynamics Calibration Result" msgstr "Risultato della calibrazione della dinamica del flusso" msgid "New" -msgstr "" +msgstr "New" msgid "No History Result" msgstr "Nessun risultato della cronologia" @@ -14817,19 +14945,19 @@ msgstr "Azione" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "" +msgstr "This machine type can only hold %d historical results per nozzle." msgid "Edit Flow Dynamics Calibration" msgstr "Modifica calibrazione dinamica flusso (Edit Flow Dynamics)" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "New Flow Dynamic Calibration" msgid "Ok" -msgstr "" +msgstr "Ok" msgid "The filament must be selected." -msgstr "" +msgstr "The filament must be selected." msgid "Network lookup" msgstr "Ricerca network" @@ -15229,6 +15357,9 @@ msgid "" "If you continue creating, the preset created will be displayed with its full " "name. Do you want to continue?" msgstr "" +"Il nome del filamento %s che hai creato esiste già. \n" +"Se continui nella creazione, il preset creato verrà visualizzato con il suo " +"nome completo. Vuoi continuare?" msgid "Some existing presets have failed to be created, as follows:\n" msgstr "" @@ -15462,6 +15593,10 @@ msgid "" "volumetric speed has a significant impact on printing quality. Please set " "them carefully." msgstr "" +"Se necessario, vai alle impostazioni filamento per modificare i preset.\n" +"Tieni presente che la temperatura del nozzle, la temperatura del piano e la " +"massima velocità volumetrica hanno ciascuna un impatto significativo sulla " +"qualità di stampa. Impostali con attenzione." msgid "" "\n" @@ -15582,7 +15717,7 @@ msgid "Please select a type you want to export" msgstr "Seleziona il tipo che desideri esportare" msgid "Failed to create temporary folder, please try Export Configs again." -msgstr "" +msgstr "Failed to create temporary folder, please try Export Configs again." msgid "Edit Filament" msgstr "Modifica filamento" @@ -15878,30 +16013,43 @@ msgid "" "It has a small layer height, and results in almost negligible layer lines " "and high printing quality. It is suitable for most general printing cases." msgstr "" +"It has a small layer height, and results in almost negligible layer lines " +"and high print quality. It is suitable for most general printing cases." 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. So, it results in " "much higher printing quality, but a much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" +"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 longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " "height, and results in slightly visible layer lines, but shorter printing " "time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " "height, and results in almost invisible layer lines and higher printing " "quality, but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -15909,12 +16057,19 @@ msgid "" "Gyroid. So, it results in almost invisible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " "height, and results in minimal layer lines and higher printing quality, but " "shorter printing time." msgstr "" +"Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " +"height. This results in minimal layer lines and higher print quality but " +"longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -15922,35 +16077,53 @@ msgid "" "Gyroid. So, it results in minimal layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "It has a general layer height, and results in general layer lines and " "printing quality. It is suitable for most general printing cases." msgstr "" +"It has a normal layer height, and results in average layer lines and print " +"quality. It is suitable for most printing cases." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but slightly shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -15958,12 +16131,19 @@ msgid "" "Gyroid. So, it results in less apparent layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -15971,64 +16151,95 @@ msgid "" "Gyroid. So, it results in almost negligible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and longer printing " "time." msgstr "" +"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." msgid "" "It has a big layer height, and results in apparent layer lines and ordinary " "printing quality and printing time." msgstr "" +"It has a big layer height, and results in apparent layer lines and ordinary " +"printing quality and printing time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in much more apparent layer lines and much lower " "printing quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and slight higher printing " "quality, but longer printing time." msgstr "" +"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 slightly higher print " +"quality but longer print time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" +"It has a very big layer height, and results in very apparent layer lines, " +"low print quality and shorter printing time." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " "height, and results in very apparent layer lines and much lower printing " "quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " "layer height, and results in extremely apparent layer lines and much lower " "printing quality, but much shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -16036,12 +16247,18 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " "height, and results in less but still apparent layer lines and slightly " "higher printing quality, but longer printing time in some printing cases." msgstr "" +"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." msgid "Connected to Obico successfully!" msgstr "" @@ -16472,6 +16689,9 @@ msgstr "" "aumentare in modo appropriato la temperatura del piano riscaldato può " "ridurre la probabilità di deformazione." +#~ msgid "V" +#~ msgstr "V" + #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " #~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " diff --git a/localization/i18n/ja/OrcaSlicer_ja.po b/localization/i18n/ja/OrcaSlicer_ja.po index 2d9cd610fc3..9c4151ba8c6 100644 --- a/localization/i18n/ja/OrcaSlicer_ja.po +++ b/localization/i18n/ja/OrcaSlicer_ja.po @@ -1,8 +1,9 @@ +# msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -151,7 +152,7 @@ msgid "Height range" msgstr "高さ範囲" msgid "Alt + Shift + Enter" -msgstr "" +msgstr "Alt + Shift + Enter" msgid "Toggle Wireframe" msgstr "ワイヤフレームの表示/非表示" @@ -166,10 +167,10 @@ msgid "Height Range" msgstr "高さ範囲" msgid "Vertical" -msgstr "" +msgstr "Vertical" msgid "Horizontal" -msgstr "" +msgstr "Horizontal" msgid "Remove painted color" msgstr "塗った色を消去" @@ -270,16 +271,16 @@ msgid "uniform scale" msgstr "スケール" msgid "Planar" -msgstr "" +msgstr "Planar" msgid "Dovetail" -msgstr "" +msgstr "Dovetail" msgid "Auto" msgstr "自動" msgid "Manual" -msgstr "" +msgstr "手動" msgid "Plug" msgstr "Plug" @@ -288,7 +289,7 @@ msgid "Dowel" msgstr "Dowel" msgid "Snap" -msgstr "" +msgstr "Snap" msgid "Prism" msgstr "" @@ -303,7 +304,7 @@ msgid "Hexagon" msgstr "Hexagon" msgid "Keep orientation" -msgstr "" +msgstr "Keep orientation" msgid "Place on cut" msgstr "Place on cut" @@ -327,19 +328,19 @@ msgstr "形状" #. Size in emboss direction #. TRN - Input label. Be short as possible msgid "Depth" -msgstr "" +msgstr "Depth" msgid "Groove" -msgstr "" +msgstr "Groove" msgid "Width" msgstr "幅" msgid "Flap Angle" -msgstr "" +msgstr "Flap Angle" msgid "Groove Angle" -msgstr "" +msgstr "Groove Angle" msgid "Part" msgstr "パーツ" @@ -362,7 +363,7 @@ msgid "Move cut plane" msgstr "" msgid "Mode" -msgstr "" +msgstr "Mode" msgid "Change cut mode" msgstr "" @@ -410,7 +411,7 @@ msgid "Remove connectors" msgstr "Remove connectors" msgid "Bulge" -msgstr "" +msgstr "Bulge" msgid "Bulge proportion related to radius" msgstr "" @@ -517,7 +518,7 @@ msgid "Cut by Plane" msgstr "" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" -msgstr "" +msgstr "Non-manifold edges be caused by cut tool: do you want to fix now?" msgid "Repairing model object" msgstr "モデルオブジェクトを修復" @@ -614,13 +615,13 @@ msgid "Remove selection" msgstr "選択を削除" msgid "Entering Seam painting" -msgstr "" +msgstr "継ぎ目をペイント" msgid "Leaving Seam painting" -msgstr "" +msgstr "継ぎ目ペイントを退出" msgid "Paint-on seam editing" -msgstr "" +msgstr "継ぎ目編集" #. TRN - Input label. Be short as possible #. Select look of letter shape @@ -759,7 +760,7 @@ msgstr "" msgctxt "EmbossOperation" msgid "Cut" -msgstr "" +msgstr "カット" msgid "Click to change part type into negative volume." msgstr "" @@ -901,19 +902,19 @@ msgstr "" msgctxt "Alignment" msgid "Left" -msgstr "" +msgstr "左面" msgctxt "Alignment" msgid "Center" -msgstr "" +msgstr "センター" msgctxt "Alignment" msgid "Right" -msgstr "" +msgstr "右面" msgctxt "Alignment" msgid "Top" -msgstr "" +msgstr "トップ" msgctxt "Alignment" msgid "Middle" @@ -921,7 +922,7 @@ msgstr "" msgctxt "Alignment" msgid "Bottom" -msgstr "" +msgstr "底面" msgid "Revert alignment." msgstr "" @@ -1233,43 +1234,43 @@ msgid "SVG file does NOT contain a single path to be embossed (%1%)." msgstr "" msgid "Vertex" -msgstr "" +msgstr "Vertex" msgid "Edge" -msgstr "" +msgstr "Edge" msgid "Plane" -msgstr "" +msgstr "Plane" msgid "Point on edge" -msgstr "" +msgstr "Point on edge" msgid "Point on circle" -msgstr "" +msgstr "Point on circle" msgid "Point on plane" -msgstr "" +msgstr "Point on plane" msgid "Center of edge" -msgstr "" +msgstr "Center of edge" msgid "Center of circle" -msgstr "" +msgstr "Center of circle" msgid "ShiftLeft mouse button" msgstr "" msgid "Select feature" -msgstr "" +msgstr "Select feature" msgid "Select point" -msgstr "" +msgstr "Select point" msgid "Delete" msgstr "削除" msgid "Restart selection" -msgstr "" +msgstr "Restart selection" msgid "Esc" msgstr "Esc" @@ -1278,14 +1279,14 @@ msgid "Unselect" msgstr "" msgid "Measure" -msgstr "" +msgstr "Measure" msgid "Edit to scale" -msgstr "" +msgstr "Edit to scale" msgctxt "Verb" msgid "Scale" -msgstr "" +msgstr "スケール" msgid "None" msgstr "無し" @@ -1297,22 +1298,22 @@ msgid "Length" msgstr "長さ" msgid "Selection" -msgstr "" +msgstr "Selection" msgid "Copy to clipboard" msgstr "コピー" msgid "Perpendicular distance" -msgstr "" +msgstr "Perpendicular distance" msgid "Distance" -msgstr "" +msgstr "Distance" msgid "Direct distance" -msgstr "" +msgstr "Direct distance" msgid "Distance XYZ" -msgstr "" +msgstr "Distance XYZ" msgid "Ctrl+" msgstr "Ctrl+" @@ -1350,9 +1351,6 @@ msgid "" "Configuration file \"%1%\" was loaded, but some values were not recognized." msgstr "構成ファイル %1% がロードされましたが、一部の値が認識できませんでした" -msgid "V" -msgstr "V" - 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." @@ -1445,11 +1443,14 @@ msgid "Choose one file (3mf):" msgstr "ファイルを選択 (3mf):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" -msgstr "" +msgstr "Choose one or more files (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 "" + msgid "Choose one file (gcode/3mf):" msgstr "" @@ -1484,9 +1485,11 @@ 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 "" +"The number of user presets cached in the cloud has exceeded the upper limit, " +"newly created user presets can only be used locally." msgid "Sync user presets" -msgstr "" +msgstr "Sync user presets" msgid "Loading user preset" msgstr "ユーザープリセットを読込み中" @@ -1515,6 +1518,11 @@ 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 "" + msgid "Import File" msgstr "Import File" @@ -1649,16 +1657,16 @@ msgid "Cone" msgstr "コーン" msgid "Disc" -msgstr "" +msgstr "Disc" msgid "Torus" -msgstr "" +msgstr "Torus" msgid "Orca Cube" msgstr "" msgid "3DBenchy" -msgstr "" +msgstr "3DBenchy" msgid "Autodesk FDM Test" msgstr "" @@ -1711,10 +1719,10 @@ msgid "Fix model" msgstr "モデルを修復" msgid "Export as one STL" -msgstr "" +msgstr "Export as one STL" msgid "Export as STLs" -msgstr "" +msgstr "Export as STLs" msgid "Reload from disk" msgstr "ディスクから再読込み" @@ -1787,10 +1795,10 @@ msgid "Assemble the selected objects to an object with single part" msgstr "選択したオブジェクトを一つオブジェクトに組み立てます(単パーツ)" msgid "Mesh boolean" -msgstr "" +msgstr "Mesh boolean" msgid "Mesh boolean operations including union and subtraction" -msgstr "" +msgstr "Mesh boolean operations including union and subtraction" msgid "Along X axis" msgstr "X軸方向" @@ -1934,7 +1942,7 @@ msgid "Lock" msgstr "ロック" msgid "Edit Plate Name" -msgstr "" +msgstr "Edit Plate Name" msgid "Name" msgstr "名称" @@ -1991,7 +1999,7 @@ msgid "Error!" msgstr "エラー!" msgid "Failed to get the model data in the current file." -msgstr "" +msgstr "Failed to get the model data in the current file." msgid "Generic" msgstr "一般" @@ -2226,7 +2234,7 @@ msgid "Pause" msgstr "一時停止" msgid "Template" -msgstr "" +msgstr "Template" msgid "Custom" msgstr "カスタム" @@ -2277,7 +2285,7 @@ msgid "Change filament at the beginning of this layer." msgstr "Change filament at the beginning of this layer." msgid "Delete Pause" -msgstr "" +msgstr "Delete Pause" msgid "Delete Custom Template" msgstr "Delete Custom Template" @@ -2295,7 +2303,7 @@ msgid "No printer" msgstr "プリンタ無し" msgid "..." -msgstr "" +msgstr "..." msgid "Failed to connect to the server" msgstr "サーバーに接続できませんでした" @@ -2328,7 +2336,7 @@ msgid "?" msgstr "?" msgid "/" -msgstr "" +msgstr "/" msgid "Empty" msgstr "空" @@ -2337,13 +2345,13 @@ msgid "AMS" msgstr "AMS" msgid "Auto Refill" -msgstr "" +msgstr "Auto Refill" msgid "AMS not connected" msgstr "AMS が接続されていません" msgid "Load" -msgstr "" +msgstr "Load" msgid "Unload" msgstr "アンロード" @@ -2375,7 +2383,7 @@ msgid "Cancel calibration" msgstr "キャリブレーションを取消し" msgid "Idling..." -msgstr "" +msgstr "Idling..." msgid "Heat the nozzle" msgstr "ノズルを加熱" @@ -2393,13 +2401,13 @@ msgid "Purge old filament" msgstr "古いフィラメントを排出" msgid "Feed Filament" -msgstr "" +msgstr "Feed Filament" msgid "Confirm extruded" -msgstr "" +msgstr "Confirm that filament has been extruded" msgid "Check filament location" -msgstr "" +msgstr "Check filament location" msgid "Grab new filament" msgstr "Grab new filament" @@ -2408,6 +2416,8 @@ msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" +"Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " +"load or unload filament." msgid "Edit" msgstr "編集" @@ -2482,7 +2492,7 @@ msgid "Orienting canceled." msgstr "" msgid "Filling" -msgstr "" +msgstr "Filling" msgid "Bed filling canceled." msgstr "Bed filling canceled." @@ -2566,7 +2576,7 @@ msgid "Sending print job through cloud service" msgstr "クラウド経由で造形タスクを送信" msgid "Print task sending times out." -msgstr "" +msgstr "Print task sending times out." msgid "Service Unavailable" msgstr "サービスは利用できません" @@ -2583,7 +2593,7 @@ msgstr "送信しました、%s秒後デバイスページへ移動します" #, c-format, boost-format msgid "Successfully sent. Will automatically jump to the next page in %ss" -msgstr "" +msgstr "Successfully sent. Automatically jumping to the next page in %ss" msgid "An SD card needs to be inserted before printing via LAN." msgstr "SDカードが必要です" @@ -2740,10 +2750,10 @@ msgid "Setting AMS slot information while printing is not supported" msgstr "造形中に、AMSスロットを設定できません。" msgid "Factors of Flow Dynamics Calibration" -msgstr "" +msgstr "Factors of Flow Dynamics Calibration" msgid "PA Profile" -msgstr "" +msgstr "PA Profile" msgid "Factor K" msgstr "係数K" @@ -2761,10 +2771,10 @@ msgid "You need to select the material type and color first." msgstr "You need to select the material type and color first." msgid "Please input a valid value (K in 0~0.3)" -msgstr "" +msgstr "Please input a valid value (K in 0~0.3)" msgid "Please input a valid value (K in 0~0.3, N in 0.6~2.0)" -msgstr "" +msgstr "Please input a valid value (K in 0~0.3, N in 0.6~2.0)" msgid "Other Color" msgstr "Other Color" @@ -2865,7 +2875,7 @@ msgid "Print with the filament mounted on the back of chassis" msgstr "外部スプールホルダーのフィラメントで造形します" msgid "Current Cabin humidity" -msgstr "" +msgstr "Current Cabin humidity" msgid "" "Please change the desiccant when it is too wet. The indicator may not " @@ -2873,6 +2883,10 @@ msgid "" "desiccant pack is changed. it take hours to absorb the moisture, low " "temperatures also slow down the process." msgstr "" +"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 takes a few hours to absorb the moisture, and " +"low temperatures also slow down the process." msgid "" "Config which AMS slot should be used for a filament used in the print job" @@ -2903,16 +2917,19 @@ msgid "" "When the current material run out, the printer will continue to print in the " "following order." msgstr "" +"When the current material runs out, the printer will continue to print " +"materials in the following order." msgid "Group" msgstr "Group" msgid "The printer does not currently support auto refill." -msgstr "" +msgstr "The printer does not currently support auto refill." msgid "" "AMS filament backup is not enabled, please enable it in the AMS settings." msgstr "" +"AMS filament backup is not enabled; please enable it in the AMS settings." msgid "" "If there are two identical filaments in AMS, AMS filament backup will be " @@ -2920,12 +2937,16 @@ msgid "" "(Currently supporting automatic supply of consumables with the same brand, " "material type, and color)" msgstr "" +"If there are two identical filaments in an AMS, AMS filament backup will be " +"enabled. \n" +"(This currently supports automatic supply of consumables with the same " +"brand, material type, and color)" msgid "DRY" -msgstr "" +msgstr "DRY" msgid "WET" -msgstr "" +msgstr "WET" msgid "AMS Settings" msgstr "AMS 設定" @@ -2944,6 +2965,8 @@ msgid "" "Note: if a new filament is inserted during printing, the AMS will not " "automatically read any information until printing is completed." msgstr "" +"Note: if a new filament is inserted during printing, the AMS will not " +"automatically read any information until printing is completed." msgid "" "When inserting a new filament, the AMS will not automatically read its " @@ -2987,12 +3010,14 @@ msgid "" msgstr "使用中のフィラメントが切れた時に、同じ属性のフィラメントに切り替えます" msgid "Air Printing Detection" -msgstr "" +msgstr "Air Printing Detection" msgid "" "Detects clogging and filament grinding, halting printing immediately to " "conserve time and filament." msgstr "" +"Detects clogging and filament grinding, halting printing immediately to " +"conserve time and filament." msgid "File" msgstr "ファイル" @@ -3067,7 +3092,7 @@ msgid "Running post-processing scripts" msgstr "後処理スクリプトを実行" msgid "Successfully executed post-processing script" -msgstr "" +msgstr "Successfully executed post-processing script" msgid "Unknown error occured during exporting G-code." msgstr "" @@ -3134,10 +3159,10 @@ msgid "Device" msgstr "デバイス" msgid "Task Sending" -msgstr "" +msgstr "Task Sending" msgid "Task Sent" -msgstr "" +msgstr "Task Sent" msgid "Edit multiple printers" msgstr "" @@ -3157,7 +3182,7 @@ msgid "Offline" msgstr "オフライン" msgid "No task" -msgstr "" +msgstr "No task" msgid "View" msgstr "表示" @@ -3169,16 +3194,16 @@ msgid "Edit Printers" msgstr "" msgid "Device Name" -msgstr "" +msgstr "Device Name" msgid "Task Name" -msgstr "" +msgstr "Task Name" msgid "Device Status" -msgstr "" +msgstr "Device Status" msgid "Actions" -msgstr "" +msgstr "Actions" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" @@ -3221,7 +3246,7 @@ msgid "Pending" msgstr "" msgid "Sending" -msgstr "" +msgstr "送信中" msgid "Sending Finish" msgstr "" @@ -3248,25 +3273,25 @@ msgid "Stop" msgstr "中止" msgid "Task Status" -msgstr "" +msgstr "Task Status" msgid "Sent Time" -msgstr "" +msgstr "Sent Time" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "There are no tasks to be sent!" msgid "No historical tasks!" -msgstr "" +msgstr "No historical tasks!" msgid "Loading..." msgstr "読込み中" msgid "No AMS" -msgstr "" +msgstr "No AMS" msgid "Send to Multi-device" -msgstr "" +msgstr "Send to Multi-device" msgid "Preparing print job" msgstr "造形タスクを準備" @@ -3281,22 +3306,31 @@ msgid "The number of printers in use simultaneously cannot be equal to 0." msgstr "" msgid "Use External Spool" -msgstr "" +msgstr "Use External Spool" msgid "Use AMS" -msgstr "" +msgstr "Use AMS" msgid "Select Printers" -msgstr "" +msgstr "Select Printers" msgid "Ams Status" -msgstr "" +msgstr "AMS Status" msgid "Printing Options" +msgstr "Printing Options" + +msgid "Bed Leveling" +msgstr "ベッドレベリング" + +msgid "Timelapse" +msgstr "タイムラプス" + +msgid "Flow Dynamic Calibration" msgstr "" msgid "Send Options" -msgstr "" +msgstr "Send Options" msgid "Send" msgstr "送信" @@ -3305,13 +3339,16 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" +"printers at the same time. (It depends on how many devices can undergo " +"heating at the same time.)" msgid "Wait" -msgstr "" +msgstr "Wait" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" +"minute each batch. (It depends on how long it takes to complete heating.)" msgid "Name is invalid;" msgstr "名称が無効です" @@ -3403,14 +3440,18 @@ msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" msgstr "" +"The recommended minimum temperature is less than 190 degree or the " +"recommended maximum temperature is greater than 300 degree.\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " "maximum temperature.\n" msgstr "" +"The recommended minimum temperature cannot be higher than the recommended " +"maximum temperature.\n" msgid "Please check.\n" -msgstr "" +msgstr "Please check.\n" msgid "" "Nozzle may be blocked when the temperature is out of recommended range.\n" @@ -3437,6 +3478,9 @@ msgid "" "it may result in material softening and clogging.The maximum safe " "temperature for the material is %d" msgstr "" +"Current chamber temperature is higher than the material's safe temperature; " +"this may result in material softening and nozzle clogs.The maximum safe " +"temperature for the material is %d" msgid "" "Too small layer height.\n" @@ -3547,7 +3591,7 @@ msgstr "" "layers is 0, sparse infill density is 0 and timelapse type is traditional." msgid " But machines with I3 structure will not generate timelapse videos." -msgstr "" +msgstr " But machines with I3 structure will not generate timelapse videos." msgid "" "Change these settings automatically? \n" @@ -3622,46 +3666,46 @@ msgid "Paused due to heat bed temperature malfunction" msgstr "ベッド温度異常により一時停止" msgid "Filament unloading" -msgstr "" +msgstr "Filament unloading" msgid "Skip step pause" -msgstr "" +msgstr "Skip step pause" msgid "Filament loading" -msgstr "" +msgstr "Filament loading" msgid "Motor noise calibration" -msgstr "" +msgstr "Motor noise calibration" msgid "Paused due to AMS lost" -msgstr "" +msgstr "Paused due to AMS lost" msgid "Paused due to low speed of the heat break fan" -msgstr "" +msgstr "Paused due to low speed of the heat break fan" msgid "Paused due to chamber temperature control error" -msgstr "" +msgstr "Paused due to chamber temperature control error" msgid "Cooling chamber" -msgstr "" +msgstr "Cooling chamber" msgid "Paused by the Gcode inserted by user" -msgstr "" +msgstr "Paused by the Gcode inserted by user" msgid "Motor noise showoff" -msgstr "" +msgstr "Motor noise showoff" msgid "Nozzle filament covered detected pause" -msgstr "" +msgstr "Nozzle filament covered detected pause" msgid "Cutter error pause" -msgstr "" +msgstr "Cutter error pause" msgid "First layer error pause" -msgstr "" +msgstr "First layer error pause" msgid "Nozzle clog pause" -msgstr "" +msgstr "Nozzle clog pause" msgid "Unknown" msgstr "不明" @@ -3692,18 +3736,27 @@ msgid "" "45℃.In order to avoid extruder clogging,low temperature filament(PLA/PETG/" "TPU) is not allowed to be loaded." msgstr "" +"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." 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 " "above 45℃." msgstr "" +"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 " +"above 45℃." 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 "" +"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℃." msgid "Failed to start printing job" msgstr "造形タスクを開始できませんでした" @@ -3711,34 +3764,39 @@ msgstr "造形タスクを開始できませんでした" msgid "" "This calibration does not support the currently selected nozzle diameter" msgstr "" +"This calibration does not support the currently selected nozzle diameter" msgid "Current flowrate cali param is invalid" -msgstr "" +msgstr "Current flowrate cali param is invalid" msgid "Selected diameter and machine diameter do not match" -msgstr "" +msgstr "Selected diameter and machine diameter do not match" msgid "Failed to generate cali gcode" -msgstr "" +msgstr "Failed to generate cali gcode" msgid "Calibration error" -msgstr "" +msgstr "Calibration error" msgid "TPU is not supported by AMS." -msgstr "" +msgstr "TPU is not supported by the AMS." msgid "Bambu PET-CF/PA6-CF is not supported by AMS." -msgstr "" +msgstr "Bambu PET-CF/PA6-CF is not supported by the AMS." msgid "" "Damp PVA will become flexible and get stuck inside AMS,please take care to " "dry it before use." msgstr "" +"Damp PVA will become flexible and get stuck inside the AMS; please take care " +"to dry it well before use." 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 filaments are hard and brittle, so they can easily break or get stuck " +"in an AMS; please use with caution." msgid "default" msgstr "デフォルト" @@ -3821,7 +3879,7 @@ msgstr "パラメータ検証" #, c-format, boost-format msgid "Value %s is out of range. The valid range is from %d to %d." -msgstr "" +msgstr "Value %s is out of range. The valid range is from %d to %d." msgid "Value is out of range." msgstr "値が範囲外です。" @@ -3903,7 +3961,7 @@ msgid "Flushed" msgstr "フラッシュ" msgid "Tower" -msgstr "" +msgstr "Tower" msgid "Total" msgstr "合計" @@ -3915,7 +3973,7 @@ msgid "Total time" msgstr "総時間" msgid "Total cost" -msgstr "" +msgstr "Total cost" msgid "up to" msgstr "最大" @@ -4011,10 +4069,10 @@ msgid "Normal mode" msgstr "通常モード" msgid "Total Filament" -msgstr "" +msgstr "Total Filament" msgid "Model Filament" -msgstr "" +msgstr "Model Filament" msgid "Prepare time" msgstr "準備時間" @@ -4110,7 +4168,7 @@ msgid "Spacing" msgstr "間隔" msgid "0 means auto spacing." -msgstr "" +msgstr "0 means auto spacing." msgid "Auto rotate for arrangement" msgstr "自動回転" @@ -4122,7 +4180,7 @@ msgid "Avoid extrusion calibration region" msgstr "押出しキャリブレーション領域を避ける" msgid "Align to Y axis" -msgstr "" +msgstr "Align to Y axis" msgid "Add plate" msgstr "プレートを追加" @@ -4188,7 +4246,7 @@ msgid "An object is layed over the boundary of plate." msgstr "プレートの境界を超えるオブジェクトがあります" msgid "A G-code path goes beyond the max print height." -msgstr "" +msgstr "A G-code path goes beyond the max print height." msgid "A G-code path goes beyond the boundary of plate." msgstr "G-codeはプレートの境界を超えています。" @@ -4214,10 +4272,10 @@ msgid "Bed leveling" msgstr "ベッドレベリング" msgid "Vibration compensation" -msgstr "" +msgstr "Vibration compensation" msgid "Motor noise cancellation" -msgstr "" +msgstr "Motor noise cancellation" msgid "Calibration program" msgstr "キャリブレーション項目" @@ -4243,7 +4301,7 @@ msgid "Calibrating" msgstr "キャリブレーション中" msgid "No step selected" -msgstr "" +msgstr "No step selected" msgid "Auto-record Monitoring" msgstr "自動録画モニタリング" @@ -4252,7 +4310,7 @@ msgid "Go Live" msgstr "公開" msgid "Liveview Retry" -msgstr "" +msgstr "Liveview Retry" msgid "Resolution" msgstr "分解能" @@ -4309,7 +4367,7 @@ msgid "Preview" msgstr "プレビュー" msgid "Multi-device" -msgstr "" +msgstr "Multi-device" msgid "Project" msgstr "プロジェクト" @@ -4455,6 +4513,12 @@ msgstr "3MF/STL/STEP/SVG/OBJ/AMFをインポート" msgid "Load a model" msgstr "モデルを読み込む" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "構成データ" @@ -4465,10 +4529,10 @@ msgid "Import" msgstr "インポート" msgid "Export all objects as one STL" -msgstr "" +msgstr "Export all objects as one STL" msgid "Export all objects as STLs" -msgstr "" +msgstr "Export all objects as STLs" msgid "Export Generic 3MF" msgstr "汎用3MF" @@ -4594,49 +4658,49 @@ msgid "Help" msgstr "ヘルプ" msgid "Temperature Calibration" -msgstr "" +msgstr "Temperature Calibration" msgid "Pass 1" -msgstr "" +msgstr "Pass 1" msgid "Flow rate test - Pass 1" -msgstr "" +msgstr "Flow rate test - Pass 1" msgid "Pass 2" -msgstr "" +msgstr "Pass 2" msgid "Flow rate test - Pass 2" -msgstr "" +msgstr "Flow rate test - Pass 2" msgid "Flow rate" -msgstr "" +msgstr "Flow rate" msgid "Pressure advance" -msgstr "" +msgstr "Pressure advance" msgid "Retraction test" -msgstr "" +msgstr "Retraction test" msgid "Orca Tolerance Test" -msgstr "" +msgstr "Orca Tolerance Test" msgid "Max flowrate" -msgstr "" +msgstr "Max flowrate" msgid "VFA" -msgstr "" +msgstr "VFA" msgid "More..." -msgstr "" +msgstr "More..." msgid "Tutorial" -msgstr "" +msgstr "Tutorial" msgid "Calibration help" -msgstr "" +msgstr "Calibration help" msgid "More calibrations" -msgstr "" +msgstr "More calibrations" msgid "&Open G-code" msgstr "G-codeを開く" @@ -4749,48 +4813,53 @@ msgid "Synchronization" msgstr "同期" msgid "The device cannot handle more conversations. Please retry later." -msgstr "" +msgstr "The device cannot handle more conversations. Please retry later." msgid "Player is malfunctioning. Please reinstall the system player." -msgstr "" +msgstr "Player is malfunctioning. Please reinstall the system player." msgid "The player is not loaded, please click \"play\" button to retry." -msgstr "" +msgstr "The player is not loaded; please click the \"play\" button to retry." msgid "Please confirm if the printer is connected." -msgstr "" +msgstr "Please confirm if the printer is connected." msgid "" "The printer is currently busy downloading. Please try again after it " "finishes." msgstr "" +"The printer is currently busy downloading. Please try again after it " +"finishes." msgid "Printer camera is malfunctioning." -msgstr "" +msgstr "Printer camera is malfunctioning." msgid "Problem occured. Please update the printer firmware and try again." -msgstr "" +msgstr "A problem occurred. Please update the printer firmware and try again." msgid "" "LAN Only Liveview is off. Please turn on the liveview on printer screen." msgstr "" +"LAN Only Liveview is off. Please turn on the liveview on printer screen." msgid "Please enter the IP of printer to connect." -msgstr "" +msgstr "Please enter the IP of the printer to connect." msgid "Initializing..." msgstr "初期化中..." msgid "Connection Failed. Please check the network and try again" -msgstr "" +msgstr "Connection Failed. Please check the network and try again" msgid "" "Please check the network and try again, You can restart or update the " "printer if the issue persists." msgstr "" +"Please check the network and try again. You can restart or update the " +"printer if the issue persists." msgid "The printer has been logged out and cannot connect." -msgstr "" +msgstr "The printer has been logged out and cannot connect." msgid "Stopped." msgstr "中止しました" @@ -4845,9 +4914,6 @@ msgstr "月でグループ化、新しい順で並べ替え" msgid "Show all files, recent first." msgstr "全てのファイルを表示" -msgid "Timelapse" -msgstr "タイムラプス" - msgid "Switch to timelapse files." msgstr "タイムラプスに切替え" @@ -4879,7 +4945,7 @@ msgid "Refresh" msgstr "再読込" msgid "Reload file list from printer." -msgstr "" +msgstr "Reload file list from printer." msgid "No printers." msgstr "プリンタなし" @@ -4892,10 +4958,10 @@ msgid "Loading file list..." msgstr "ファイルリストを読込み中" msgid "No files" -msgstr "" +msgstr "ファイル無し" msgid "Load failed" -msgstr "" +msgstr "Load failed" msgid "Initialize failed (Device connection not ready)!" msgstr "Initialization failed (Device connection not ready)!" @@ -4904,15 +4970,17 @@ msgid "" "Browsing file in SD card is not supported in current firmware. Please update " "the printer firmware." msgstr "" +"Browsing file in SD card is not supported in current firmware. Please update " +"the printer firmware." msgid "Initialize failed (Storage unavailable, insert SD card.)!" msgstr "" msgid "LAN Connection Failed (Failed to view sdcard)" -msgstr "" +msgstr "LAN Connection Failed (Failed to view sdcard)" msgid "Browsing file in SD card is not supported in LAN Only Mode." -msgstr "" +msgstr "Browsing file in SD card is not supported in LAN Only Mode." #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -4938,10 +5006,10 @@ msgid "Fetching model infomations ..." msgstr "Fetching model information..." msgid "Failed to fetch model information from printer." -msgstr "" +msgstr "Failed to fetch model information from printer." msgid "Failed to parse model information." -msgstr "" +msgstr "Failed to parse model information." msgid "" "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " @@ -4957,6 +5025,8 @@ msgid "" "File: %s\n" "Title: %s\n" msgstr "" +"File: %s\n" +"Title: %s\n" msgid "Download waiting..." msgstr "ダウンロード待ち" @@ -4978,22 +5048,24 @@ msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." msgstr "" +"Reconnecting the printer, the operation cannot be completed immediately, " +"please try again later." msgid "File does not exist." -msgstr "" +msgstr "File does not exist." msgid "File checksum error. Please retry." -msgstr "" +msgstr "File checksum error. Please retry." msgid "Not supported on the current printer version." -msgstr "" +msgstr "Not supported on the current printer version." msgid "Storage unavailable, insert SD card." -msgstr "" +msgstr "Storage unavailable; please insert MicroSD card." #, c-format, boost-format msgid "Error code: %d" -msgstr "" +msgstr "Error code: %d" msgid "Speed:" msgstr "速度" @@ -5050,17 +5122,21 @@ msgid "" "You have completed printing the mall model, \n" "but the synchronization of rating information has failed." msgstr "" +"You have completed printing the mall model, \n" +"but synchronizing rating information has failed." msgid "How do you like this printing file?" -msgstr "" +msgstr "How do you like this printing file?" msgid "" "(The model has already been rated. Your rating will overwrite the previous " "rating.)" msgstr "" +"(The model has already been rated. Your rating will overwrite the previous " +"rating.)" msgid "Rate" -msgstr "" +msgstr "Rate" msgid "Camera" msgstr "カメラ" @@ -5078,7 +5154,7 @@ msgid "Control" msgstr "コントロール" msgid "Printer Parts" -msgstr "" +msgstr "Printer Parts" msgid "Print Options" msgstr "造型オプション" @@ -5135,6 +5211,8 @@ msgid "" "Please heat the nozzle to above 170 degree before loading or unloading " "filament." msgstr "" +"Please heat the nozzle to above 170 degree before loading or unloading " +"filament." msgid "Still unload" msgstr "アンロード" @@ -5171,95 +5249,108 @@ msgid "Can't start this without SD card." msgstr "起動するのにSDカードが必要です。" msgid "Rate the Print Profile" -msgstr "" +msgstr "Rate the Print Profile" msgid "Comment" -msgstr "" +msgstr "Comment" msgid "Rate this print" -msgstr "" +msgstr "Rate this print" msgid "Add Photo" -msgstr "" +msgstr "Add Photo" msgid "Delete Photo" -msgstr "" +msgstr "Delete Photo" msgid "Submit" -msgstr "" +msgstr "Submit" msgid "Please click on the star first." -msgstr "" +msgstr "Please click on the star first." msgid "InFo" -msgstr "" +msgstr "Info" msgid "Get oss config failed." -msgstr "" +msgstr "Get oss config failed." msgid "Upload Pictrues" -msgstr "" +msgstr "Upload Pictures" msgid "Number of images successfully uploaded" -msgstr "" +msgstr "Number of images successfully uploaded" msgid " upload failed" -msgstr "" +msgstr " upload failed" msgid " upload config prase failed\n" -msgstr "" +msgstr " upload config prase failed\n" msgid " No corresponding storage bucket\n" -msgstr "" +msgstr " No corresponding storage bucket\n" msgid " can not be opened\n" -msgstr "" +msgstr " cannot be opened\n" msgid "" "The following issues occurred during the process of uploading images. Do you " "want to ignore them?\n" "\n" msgstr "" +"The following issues occurred during the process of uploading images. Do you " +"want to ignore them?\n" +"\n" msgid "info" msgstr "情報" msgid "Synchronizing the printing results. Please retry a few seconds later." -msgstr "" +msgstr "Synchronizing the printing results. Please retry a few seconds later." msgid "Upload failed\n" -msgstr "" +msgstr "Upload failed\n" msgid "obtaining instance_id failed\n" -msgstr "" +msgstr "obtaining instance_id failed\n" msgid "" "Your comment result cannot be uploaded due to some reasons. As follows:\n" "\n" " error code: " msgstr "" +"Your comment result cannot be uploaded due to the following reasons:\n" +"\n" +" error code: " msgid "error message: " -msgstr "" +msgstr "error message: " msgid "" "\n" "\n" "Would you like to redirect to the webpage for rating?" msgstr "" +"\n" +"\n" +"Would you like to redirect to the webpage to give a rating?" msgid "" "Some of your images failed to upload. Would you like to redirect to the " "webpage for rating?" msgstr "" +"Some of your images failed to upload. Would you like to redirect to the " +"webpage for rating?" msgid "You can select up to 16 images." -msgstr "" +msgstr "You can select up to 16 images." msgid "" "At least one successful print record of this print profile is required \n" "to give a positive rating(4 or 5stars)." msgstr "" +"At least one successful print record of this print profile is required \n" +"to give a positive rating (4 or 5 stars)." msgid "Status" msgstr "デバイス状態" @@ -5309,7 +5400,7 @@ msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "" msgid "Download Beta Version" -msgstr "" +msgstr "Download Beta Version" msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "" @@ -5318,13 +5409,13 @@ msgid "Update your Orca Slicer could enable all functionality in the 3mf file." msgstr "" msgid "Current Version: " -msgstr "" +msgstr "Current Version: " msgid "Latest Version: " -msgstr "" +msgstr "Latest Version: " msgid "Not for now" -msgstr "" +msgstr "Not for now" msgid "3D Mouse disconnected." msgstr "3D Mouseが切断されました。" @@ -5351,10 +5442,10 @@ msgid "Details" msgstr "詳細" msgid "New printer config available." -msgstr "" +msgstr "New printer config available." msgid "Wiki" -msgstr "" +msgstr "Wiki" msgid "Undo integration failed." msgstr "統合の取り消しに失敗しました。" @@ -5392,12 +5483,12 @@ msgstr[0] "" msgid "ERROR" msgstr "エラー" -msgid "CANCELED" -msgstr "取消し済" - msgid "COMPLETED" msgstr "完了" +msgid "CANCELED" +msgstr "取消し済" + msgid "Cancel upload" msgstr "アップロードを取消し" @@ -5414,10 +5505,10 @@ msgid "Export successfully." msgstr "エクスポートが成功しました。" msgid "Model file downloaded." -msgstr "" +msgstr "Model file downloaded." msgid "Serious warning:" -msgstr "" +msgstr "Serious warning:" msgid " (Repair)" msgstr " (修復)" @@ -5501,29 +5592,29 @@ msgid "Auto-recovery from step loss" msgstr "自動回復" msgid "Allow Prompt Sound" -msgstr "" +msgstr "Allow Prompt Sound" msgid "Filament Tangle Detect" -msgstr "" +msgstr "Filament Tangle Detection" msgid "Nozzle Clumping Detection" -msgstr "" +msgstr "Nozzle Clumping Detection" msgid "Check if the nozzle is clumping by filament or other foreign objects." -msgstr "" +msgstr "Check if the nozzle is clumping by filament or other foreign objects." msgid "Nozzle Type" -msgstr "" +msgstr "Nozzle Type" msgid "Stainless Steel" -msgstr "" +msgstr "Stainless Steel" msgid "Hardened Steel" -msgstr "" +msgstr "Hardened Steel" #, c-format, boost-format msgid "%.1f" -msgstr "" +msgstr "%.1f" msgid "Global" msgstr "全般" @@ -5614,7 +5705,7 @@ msgid "Set filaments to use" msgstr "フィラメントを選択" msgid "Search plate, object and part." -msgstr "" +msgstr "Search plate, object and part." msgid "" "No AMS filaments. Please select a printer in 'Device' page to load AMS info." @@ -5678,6 +5769,9 @@ msgid "" "clogged when printing this filament in a closed enclosure. Please open the " "front door and/or remove the upper glass." msgstr "" +"The current heatbed temperature is relatively high. The nozzle may clog when " +"printing this filament in a closed environment. Please open the front door " +"and/or remove the upper glass." msgid "" "The nozzle hardness required by the filament is higher than the default " @@ -5691,6 +5785,8 @@ msgid "" "Enabling traditional timelapse photography may cause surface imperfections. " "It is recommended to change to smooth mode." msgstr "" +"Enabling traditional timelapse photography may cause surface imperfections. " +"It is recommended to change to smooth mode." msgid "Expand sidebar" msgstr "" @@ -5734,26 +5830,30 @@ msgid "Please correct them in the param tabs" msgstr "Please correct them in the Param tabs" msgid "The 3mf has following modified G-codes in filament or printer presets:" -msgstr "" +msgstr "The 3mf has following modified G-code in filament or printer presets:" msgid "" "Please confirm that these modified G-codes are safe to prevent any damage to " "the machine!" msgstr "" +"Please confirm that these modified G-codes are safe to prevent any damage to " +"the machine!" msgid "Modified G-codes" -msgstr "" +msgstr "Modified G-code" msgid "The 3mf has following customized filament or printer presets:" -msgstr "" +msgstr "The 3mf has following customized filament or printer presets:" msgid "" "Please confirm that the G-codes within these presets are safe to prevent any " "damage to the machine!" msgstr "" +"Please confirm that the G-codes within these presets are safe to prevent any " +"damage to the machine!" msgid "Customized Preset" -msgstr "" +msgstr "Customized Preset" msgid "Name of components inside step file is not UTF8 format!" msgstr "ファイルのエンコーディング方式はUTF8形式ではありません" @@ -5818,22 +5918,24 @@ msgid "Export STL file:" msgstr "STLファイルをエクスポート:" msgid "Export AMF file:" -msgstr "" +msgstr "Export AMF file:" msgid "Save file as:" msgstr "名前を付けて保存" msgid "Export OBJ file:" -msgstr "" +msgstr "Export OBJ file:" #, c-format, boost-format msgid "" "The file %s already exists\n" "Do you want to replace it?" msgstr "" +"The file %s already exists.\n" +"Do you want to replace it?" msgid "Comfirm Save As" -msgstr "" +msgstr "Confirm Save As" msgid "Delete object which is a part of cut object" msgstr "Delete object which is a part of cut object" @@ -5854,13 +5956,13 @@ msgid "Another export job is running." msgstr "エクスポート中です" msgid "Unable to replace with more than one volume" -msgstr "" +msgstr "Unable to replace with more than one volume" msgid "Error during replace" msgstr "交換時のエラー" msgid "Replace from:" -msgstr "" +msgstr "Replace from:" msgid "Select a new file" msgstr "ファイルを選択" @@ -5872,19 +5974,19 @@ msgid "Please select a file" msgstr "ファイルを選択してください" msgid "Do you want to replace it" -msgstr "" +msgstr "Do you want to replace it?" msgid "Message" -msgstr "" +msgstr "Message" msgid "Reload from:" -msgstr "" +msgstr "Reload from:" msgid "Unable to reload:" -msgstr "" +msgstr "Unable to reload:" msgid "Error during reload" -msgstr "" +msgstr "Error during reload" msgid "There are warnings after slicing models:" msgstr "スライスの警告:" @@ -5945,13 +6047,13 @@ msgid "prepare 3mf file..." msgstr "3mfファイルを準備" msgid "Download failed, unknown file format." -msgstr "" +msgstr "Download failed; unknown file format." msgid "downloading project ..." msgstr "プロジェクトをダウンロード中" msgid "Download failed, File size exception." -msgstr "" +msgstr "Download failed; File size exception." #, c-format, boost-format msgid "Project downloaded %d%%" @@ -5974,6 +6076,20 @@ msgstr "有効なG-codeが含まれていません。" msgid "Error occurs while loading G-code file" msgstr "G-codeファイルの読込みにエラーが発生しました" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "プロジェクトをドロップ" @@ -6015,13 +6131,13 @@ msgid "Save G-code file as:" msgstr "名前を付けて保存" msgid "Save SLA file as:" -msgstr "" +msgstr "Save SLA file as:" msgid "The provided file name is not valid." -msgstr "" +msgstr "The provided file name is not valid." msgid "The following characters are not allowed by a FAT file system:" -msgstr "" +msgstr "The following characters are not allowed by a FAT file system:" msgid "Save Sliced file as:" msgstr "名前を付けて保存:" @@ -6036,22 +6152,24 @@ msgid "" "Unable to perform boolean operation on model meshes. Only positive parts " "will be kept. You may fix the meshes and try agian." msgstr "" +"Unable to perform boolean operation on model meshes. Only positive parts " +"will be kept. You may fix the meshes and try agian." #, boost-format msgid "Reason: part \"%1%\" is empty." -msgstr "" +msgstr "Reason: part \"%1%\" is empty." #, boost-format msgid "Reason: part \"%1%\" does not bound a volume." -msgstr "" +msgstr "Reason: part \"%1%\" does not bound a volume." #, boost-format msgid "Reason: part \"%1%\" has self intersection." -msgstr "" +msgstr "Reason: part \"%1%\" has self intersection." #, boost-format msgid "Reason: \"%1%\" and another part have no intersection." -msgstr "" +msgstr "Reason: \"%1%\" and another part have no intersection." msgid "" "Are you sure you want to store original SVGs with their local paths into the " @@ -6100,7 +6218,7 @@ msgstr "Number of currently selected parts: %1%\n" #, boost-format msgid "Number of currently selected objects: %1%\n" -msgstr "" +msgstr "Number of currently selected objects: %1%\n" #, boost-format msgid "Part name: %1%\n" @@ -6232,6 +6350,9 @@ msgid "" "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 "" +"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 setting will allow only one instance." msgid "" "If this is enabled, when starting OrcaSlicer and another instance of the " @@ -6295,17 +6416,17 @@ msgid "If enabled, useful hints are displayed at startup." msgstr "有効になる場合、起動時にヒントを表示されます。" msgid "Flushing volumes: Auto-calculate everytime the color changed." -msgstr "" +msgstr "Flushing volumes: Auto-calculate everytime the color changed." msgid "If enabled, auto-calculate everytime the color changed." -msgstr "" +msgstr "If enabled, auto-calculate every time the color changes." msgid "" "Flushing volumes: Auto-calculate every time when the filament is changed." -msgstr "" +msgstr "Flushing volumes: Auto-calculate every time the filament is changed." msgid "If enabled, auto-calculate every time when filament is changed" -msgstr "" +msgstr "If enabled, auto-calculate every time filament is changed" msgid "Remember printer configuration" msgstr "" @@ -6322,6 +6443,8 @@ msgid "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." msgstr "" +"With this option enabled, you can send a task to multiple devices at the " +"same time and manage multiple devices." msgid "Network" msgstr "" @@ -6362,6 +6485,20 @@ msgstr ".step/.stpファイルをOrca Slicerに関連付けます。" msgid "If enabled, sets OrcaSlicer as default application to open .step files" msgstr "デフォルトで.step/.stpファイルをOrca Slicerで開く" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Maximum recent projects" @@ -6372,7 +6509,7 @@ msgid "Clear my choice on the unsaved projects." msgstr "Clear my choice on the unsaved projects." msgid "No warnings when loading 3MF with modified G-codes" -msgstr "" +msgstr "No warnings when loading 3MF with modified G-code" msgid "Auto-Backup" msgstr "自動バックアップ" @@ -6528,25 +6665,25 @@ msgid "Add/Remove materials" msgstr "素材を追加/削除" msgid "Select/Remove printers(system presets)" -msgstr "" +msgstr "Select/Remove printers(system presets)" msgid "Create printer" -msgstr "" +msgstr "Create printer" msgid "The selected preset is null!" -msgstr "" +msgstr "The selected preset is null!" msgid "End" -msgstr "" +msgstr "End" msgid "Customize" -msgstr "" +msgstr "Customize" msgid "Other layer filament sequence" -msgstr "" +msgstr "Other layer filament sequence" msgid "Please input layer value (>= 2)." -msgstr "" +msgstr "Please input layer value (>= 2)." msgid "Plate name" msgstr "Plate name" @@ -6558,16 +6695,16 @@ msgid "Print sequence" msgstr "造形シーケンス" msgid "Same as Global" -msgstr "" +msgstr "Same as Global" msgid "Disable" -msgstr "" +msgstr "Disable" msgid "Spiral vase" msgstr "スパイラル" msgid "First layer filament sequence" -msgstr "" +msgstr "First layer filament sequence" msgid "Same as Global Plate Type" msgstr "Same as Global Plate Type" @@ -6681,7 +6818,7 @@ msgid "(LAN)" msgstr "(LAN)" msgid "Search" -msgstr "" +msgstr "Search" msgid "My Device" msgstr "私のデバイス" @@ -6717,7 +6854,7 @@ msgid "Bambu Smooth PEI Plate" msgstr "" msgid "High temperature Plate" -msgstr "" +msgstr "High temperature Plate" msgid "Bambu Textured PEI Plate" msgstr "" @@ -6725,14 +6862,11 @@ msgstr "" msgid "Send print job to" msgstr "造形タスクを送信" -msgid "Bed Leveling" -msgstr "ベッドレベリング" - msgid "Flow Dynamics Calibration" -msgstr "" +msgstr "Flow Dynamics Calibration" msgid "Click here if you can't connect to the printer" -msgstr "" +msgstr "Click here if you can't connect to the printer" msgid "send completed" msgstr "送信完了" @@ -6811,6 +6945,8 @@ msgid "" "The selected printer (%s) is incompatible with the chosen printer profile in " "the slicer (%s)." msgstr "" +"The selected printer (%s) is incompatible with the chosen printer profile in " +"the slicer (%s)." msgid "An SD card needs to be inserted to record timelapse." msgstr "SDカードが必要です" @@ -6830,10 +6966,13 @@ msgid "" "When enable spiral vase mode, machines with I3 structure will not generate " "timelapse videos." msgstr "" +"When spiral vase mode is enabled, machines with I3 structure will not " +"generate timelapse videos." msgid "" "Timelapse is not supported because Print sequence is set to \"By object\"." msgstr "" +"Timelapse is not supported because Print sequence is set to \"By object\"." msgid "Errors" msgstr "エラー" @@ -6860,26 +6999,31 @@ msgstr "" #, c-format, boost-format msgid "nozzle in preset: %s %s" -msgstr "" +msgstr "nozzle in preset: %s %s" #, c-format, boost-format msgid "nozzle memorized: %.1f %s" -msgstr "" +msgstr "nozzle memorized: %.1f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " "If you changed your nozzle lately, please go to Device > Printer Parts to " "change settings." msgstr "" +"Your nozzle diameter in sliced file is not consistent with the saved nozzle. " +"If you changed your nozzle lately, please go to Device > Printer Parts to " +"change settings." #, c-format, boost-format msgid "" "Printing high temperature material(%s material) with %s may cause nozzle " "damage" msgstr "" +"Printing high temperature material(%s material) with %s may cause nozzle " +"damage" msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "" +msgstr "Please fix the error above, otherwise printing cannot continue." msgid "" "Please click the confirm button if you still want to proceed with printing." @@ -6889,20 +7033,23 @@ msgstr "" msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" +"Connecting to the printer. Unable to cancel during the connection process." msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." msgstr "" +"Caution! Flow calibration on Textured PEI Plates may fail due to the " +"scattered surface." msgid "Automatic flow calibration using Micro Lidar" -msgstr "" +msgstr "Automatic flow calibration using the Micro Lidar" msgid "Modifying the device name" msgstr "デバイス名を変更" msgid "Bind with Pin Code" -msgstr "" +msgstr "Bind with Pin Code" msgid "Send to Printer SD card" msgstr "プリンターのSDカードに送信" @@ -6911,7 +7058,7 @@ 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 "" +msgstr "The selected printer is incompatible with the chosen printer presets." msgid "An SD card needs to be inserted before send to printer SD card." msgstr "" @@ -6928,7 +7075,7 @@ msgid "Slice ok." msgstr "スライス完了" msgid "View all Daily tips" -msgstr "" +msgstr "View all Daily tips" msgid "Failed to create socket" msgstr "Failed to create socket" @@ -6961,21 +7108,23 @@ msgid "" "Please Find the Pin Code in Account page on printer screen,\n" " and type in the Pin Code below." msgstr "" +"Please Find the Pin Code in Account page on printer screen,\n" +" and type in the Pin Code below." msgid "Can't find Pin Code?" -msgstr "" +msgstr "Can't find Pin Code?" msgid "Pin Code" -msgstr "" +msgstr "Pin Code" msgid "Binding..." -msgstr "" +msgstr "Binding..." msgid "Please confirm on the printer screen" -msgstr "" +msgstr "Please confirm on the printer screen" msgid "Log in failed. Please check the Pin Code." -msgstr "" +msgstr "Log in failed. Please check the Pin Code." msgid "Log in printer" msgstr "プリンターを登録" @@ -7093,7 +7242,7 @@ msgstr "" "ワーを有効にしますか?" msgid "Still print by object?" -msgstr "" +msgstr "Still print by object?" msgid "" "We have added an experimental style \"Tree Slim\" that features smaller " @@ -7147,15 +7296,17 @@ msgid "" "Layer height exceeds the limit in Printer Settings -> Extruder -> Layer " "height limits ,this may cause printing quality issues." msgstr "" +"Layer height exceeds the limit in Printer Settings -> Extruder -> Layer " +"height limits ,this may cause printing quality issues." msgid "Adjust to the set range automatically? \n" -msgstr "" +msgstr "Adjust to the set range automatically? \n" msgid "Adjust" -msgstr "" +msgstr "Adjust" msgid "Ignore" -msgstr "" +msgstr "Ignore" msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7163,6 +7314,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other " "printing complications." msgstr "" +"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." msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7170,6 +7325,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other printing " "complications.Please use with the latest printer firmware." msgstr "" +"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." msgid "" "When recording timelapse without toolhead, it is recommended to add a " @@ -7238,7 +7397,7 @@ msgid "Acceleration" msgstr "加速度" msgid "Jerk(XY)" -msgstr "" +msgstr "Jerk(XY)" msgid "Raft" msgstr "ラフト" @@ -7265,7 +7424,7 @@ msgid "Post-processing Scripts" msgstr "Post-processing Scripts" msgid "Notes" -msgstr "" +msgstr "Notes" msgid "Frequent" msgstr "よく使う" @@ -7334,13 +7493,16 @@ msgstr "" "エンジニアリングプレートに使用できない意味です。" msgid "Smooth PEI Plate / High Temp Plate" -msgstr "" +msgstr "Smooth PEI Plate / High Temp Plate" msgid "" "Bed temperature when Smooth PEI Plate/High temperature plate is installed. " "Value 0 means the filament does not support to print on the Smooth PEI Plate/" "High Temp Plate" msgstr "" +"Bed temperature when Smooth PEI Plate/High temperature plate is installed. " +"Value 0 means the filament does not support to print on the Smooth PEI Plate/" +"High Temp Plate" msgid "Textured PEI Plate" msgstr "PEIプレート" @@ -7390,13 +7552,13 @@ msgid "Auxiliary part cooling fan" msgstr "パーツ補助冷却ファン" msgid "Exhaust fan" -msgstr "" +msgstr "Exhaust fan" msgid "During print" -msgstr "" +msgstr "During print" msgid "Complete print" -msgstr "" +msgstr "Complete print" msgid "Filament start G-code" msgstr "フィラメント開始G-code" @@ -7447,7 +7609,7 @@ msgid "Machine end G-code" msgstr "プリンター終了G-code" msgid "Printing by object G-code" -msgstr "" +msgstr "Printing by object G-code" msgid "Before layer change G-code" msgstr "積層変更前のG-code" @@ -7456,7 +7618,7 @@ msgid "Layer change G-code" msgstr "積層変更時のG-code" msgid "Time lapse G-code" -msgstr "" +msgstr "Time lapse G-code" msgid "Change filament G-code" msgstr "フィラメント変更G-code" @@ -7508,9 +7670,12 @@ msgid "" "\n" "Shall I disable it in order to enable Firmware Retraction?" msgstr "" +"The Wipe option is not available when using the Firmware Retraction mode.\n" +"\n" +"Disable it in order to enable Firmware Retraction?" msgid "Firmware Retraction" -msgstr "" +msgstr "Firmware Retraction" msgid "Detached" msgstr "分離的" @@ -7520,9 +7685,11 @@ 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 Filament Preset and %d Process Preset is attached to this printer. Those " +"presets would be deleted if the printer is deleted." msgid "Presets inherited by other presets can not be deleted!" -msgstr "" +msgstr "Presets inherited by other presets can not be deleted!" msgid "The following presets inherit this preset." msgid_plural "The following preset inherits this preset." @@ -7542,6 +7709,9 @@ msgid "" "If the preset corresponds to a filament currently in use on your printer, " "please reset the filament information for that slot." msgstr "" +"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." #, boost-format msgid "Are you sure to %1% the selected preset?" @@ -7638,12 +7808,14 @@ msgstr "" #, boost-format msgid "You have changed some settings of preset \"%1%\". " -msgstr "" +msgstr "You have changed some settings of preset \"%1%\". " msgid "" "\n" "You can save or discard the preset values you have modified." msgstr "" +"\n" +"You can save or discard the preset values you have modified." msgid "" "\n" @@ -7652,7 +7824,7 @@ msgid "" msgstr "" msgid "You have previously modified your settings." -msgstr "" +msgstr "You have previously modified your settings." msgid "" "\n" @@ -7804,7 +7976,7 @@ msgid "Auto-Calc" msgstr "自動計算" msgid "Re-calculate" -msgstr "" +msgstr "Re-calculate" msgid "Flushing volumes for filament change" msgstr "フィラメントを入替える為のフラッシュ量" @@ -7844,10 +8016,10 @@ msgid "To" msgstr "→" msgid "Bambu Network plug-in not detected." -msgstr "" +msgstr "Bambu Network plug-in not detected." msgid "Click here to download it." -msgstr "" +msgstr "Click here to download it." msgid "Login" msgstr "サインイン" @@ -7880,7 +8052,7 @@ msgid "Show/Hide 3Dconnexion devices settings dialog" msgstr "3Dconnexion設定を表示/非表示" msgid "Switch table page" -msgstr "" +msgstr "Switch table page" msgid "Show keyboard shortcuts list" msgstr "ショートカット一覧を表示" @@ -8140,49 +8312,49 @@ msgid "New version of Orca Slicer" msgstr "新バージョン" msgid "Skip this Version" -msgstr "" +msgstr "Skip this Version" msgid "Done" msgstr "Done" msgid "resume" -msgstr "" +msgstr "resume" msgid "Resume Printing" -msgstr "" +msgstr "Resume Printing" msgid "Resume Printing(defects acceptable)" -msgstr "" +msgstr "Resume Printing (defects acceptable)" msgid "Resume Printing(problem solved)" -msgstr "" +msgstr "Resume Printing (problem solved)" msgid "Stop Printing" -msgstr "" +msgstr "Stop Printing" msgid "Check Assistant" -msgstr "" +msgstr "Check Assistant" msgid "Filament Extruded, Continue" -msgstr "" +msgstr "Filament Extruded, Continue" msgid "Not Extruded Yet, Retry" -msgstr "" +msgstr "Not Extruded Yet, Retry" msgid "Finished, Continue" -msgstr "" +msgstr "Finished, Continue" msgid "Load Filament" msgstr "ロード" msgid "Filament Loaded, Resume" -msgstr "" +msgstr "Filament Loaded, Resume" msgid "View Liveview" -msgstr "" +msgstr "View Liveview" msgid "Confirm and Update Nozzle" -msgstr "" +msgstr "Confirm and Update Nozzle" msgid "LAN Connection Failed (Sending print file)" msgstr "LAN接続失敗 (造形ファイル送信)" @@ -8206,21 +8378,23 @@ msgid "Where to find your printer's IP and Access Code?" msgstr "どこでプリンターのIPアドレスとアクセスコードを確認できますか?" msgid "Step 3: Ping the IP address to check for packet loss and latency." -msgstr "" +msgstr "Step 3: Ping the IP address to check for packet loss and latency." msgid "Test" -msgstr "" +msgstr "Test" msgid "IP and Access Code Verified! You may close the window" -msgstr "" +msgstr "IP and Access Code Verified! You may close the window" msgid "Connection failed, please double check IP and Access Code" -msgstr "" +msgstr "Connection failed, please double check IP and Access Code" msgid "" "Connection failed! If your IP and Access Code is correct, \n" "please move to step 3 for troubleshooting network issues" msgstr "" +"Connection failed! If your IP and Access Code is correct, \n" +"please move to step 3 for troubleshooting network issues" msgid "Model:" msgstr "モデル" @@ -8235,7 +8409,7 @@ msgid "Update firmware" msgstr "ファームウェアを更新" msgid "Beta version" -msgstr "" +msgstr "Beta version" msgid "Latest version" msgstr "最新バージョン" @@ -8584,26 +8758,33 @@ msgid "" msgstr "" msgid "Variable layer height is not supported with Organic supports." -msgstr "" +msgstr "Variable layer height is not supported with Organic supports." msgid "" "Different nozzle diameters and different filament diameters is not allowed " "when prime tower is enabled." msgstr "" +"Different nozzle diameters and different filament diameters is not allowed " +"when prime tower is enabled." msgid "" "The Wipe Tower is currently only supported with the relative extruder " "addressing (use_relative_e_distances=1)." msgstr "" +"The Wipe Tower is currently only supported with the relative extruder " +"addressing (use_relative_e_distances=1)." msgid "" "Ooze prevention is currently not supported with the prime tower enabled." msgstr "" +"Ooze prevention is currently not supported with the prime tower enabled." msgid "" "The prime tower is currently only supported for the Marlin, RepRap/Sprinter, " "RepRapFirmware and Repetier G-code flavors." msgstr "" +"The prime tower is currently only supported for the Marlin, RepRap/Sprinter, " +"RepRapFirmware and Repetier G-code flavors." msgid "The prime tower is not supported in \"By object\" print." msgstr "オブジェクト順で造形する場合、プライムタワーを利用できません" @@ -8823,11 +9004,13 @@ msgstr "" "下記形式を参照してください https://username:password@your-octopi-address/" msgid "Device UI" -msgstr "" +msgstr "Device UI" msgid "" "Specify the URL of your device user interface if it's not same as print_host" msgstr "" +"Specify the URL of your device user interface if it's not the same as " +"print_host" msgid "API Key / Password" msgstr "APIキー/パスワード" @@ -8975,16 +9158,16 @@ msgid "Engineering Plate" msgstr "エンジニアリングプレート" msgid "First layer print sequence" -msgstr "" +msgstr "First layer print sequence" msgid "Other layers print sequence" -msgstr "" +msgstr "Other layers print sequence" msgid "The number of other layers print sequence" -msgstr "" +msgstr "The number of other layers print sequence" msgid "Other layers filament sequence" -msgstr "" +msgstr "Other layers filament sequence" msgid "This G-code is inserted at every layer change before lifting z" msgstr "積層が変わる直前に実行するG-codeです。" @@ -9109,12 +9292,14 @@ msgid "" msgstr "" msgid "Top surface flow ratio" -msgstr "" +msgstr "Top surface flow ratio" msgid "" "This factor affects the amount of material for top solid infill. You can " "decrease it slightly to have smooth surface finish" msgstr "" +"This factor affects the amount of material for top solid infill. You can " +"decrease it slightly to have a smooth surface finish." msgid "Bottom surface flow ratio" msgstr "" @@ -9257,7 +9442,7 @@ msgid "" msgstr "" msgid "mm/s or %" -msgstr "" +msgstr "mm/s or %" msgid "External" msgstr "" @@ -9395,7 +9580,7 @@ msgid "Default process profile when switch to this machine profile" msgstr "デバイスを切替える時のデフォルト プロセス プロファイル" msgid "Activate air filtration" -msgstr "" +msgstr "Activate air filtration" msgid "Activate for better air filtration. G-code command: M106 P3 S(0-255)" msgstr "" @@ -9407,6 +9592,8 @@ msgid "" "Speed of exhaust fan during printing.This speed will overwrite the speed in " "filament custom gcode" msgstr "" +"Speed of exhaust fan during printing.This speed will override the speed in " +"filament custom g-code" msgid "Speed of exhaust fan after printing completes" msgstr "" @@ -9510,12 +9697,14 @@ msgid "End G-code when finish the whole printing" msgstr "造形完了時のG-codeを追加" msgid "Between Object Gcode" -msgstr "" +msgstr "Between Object Gcode" msgid "" "Insert Gcode between objects. This parameter will only come into effect when " "you print your models object by object" msgstr "" +"Insert G-code between objects. This parameter will only come into effect " +"when you print your models object by object." msgid "End G-code when finish the printing of this filament" msgstr "このフィラメントを使用終わった時のG-codeを追加" @@ -9577,7 +9766,7 @@ msgid "Line pattern of bottom surface infill, not bridge infill" msgstr "底面のインフィル パターンです、ブリッジインフィルが含まれていません。" msgid "Internal solid infill pattern" -msgstr "" +msgstr "Internal solid infill pattern" msgid "" "Line pattern of internal solid infill. if the detect narrow internal solid " @@ -9596,7 +9785,7 @@ msgstr "" "外壁の造形速度です。普段は内壁より遅い速度を指定し、仕上がりが良くなります。" msgid "Small perimeters" -msgstr "" +msgstr "Small perimeters" msgid "" "This separate setting will affect the speed of perimeters having radius <= " @@ -9611,6 +9800,7 @@ msgstr "" msgid "" "This sets the threshold for small perimeter length. Default threshold is 0mm" msgstr "" +"This sets the threshold for small perimeter length. Default threshold is 0mm" msgid "Walls printing order" msgstr "" @@ -9650,7 +9840,7 @@ msgid "Inner/Outer/Inner" msgstr "" msgid "Print infill first" -msgstr "" +msgstr "Print infill first" msgid "" "Order of wall/infill. When the tickbox is unchecked the walls are printed " @@ -9710,10 +9900,10 @@ msgstr "" "ブジェクトの間隔を計算します。" msgid "Nozzle height" -msgstr "" +msgstr "Nozzle height" msgid "The height of nozzle tip." -msgstr "" +msgstr "The height of nozzle tip." msgid "Bed mesh min" msgstr "" @@ -9782,7 +9972,7 @@ msgstr "" "ます。 0.95 ~ 1.05の間で設定していください。" msgid "Enable pressure advance" -msgstr "" +msgstr "Enable pressure advance" msgid "" "Enable pressure advance, auto calibration result will be overwriten once " @@ -9823,10 +10013,10 @@ msgid "Default filament color" msgstr "フィラメントのデフォルト色" msgid "Filament notes" -msgstr "" +msgstr "Filament notes" msgid "You can put your notes regarding the filament here." -msgstr "" +msgstr "You can put your notes regarding the filament here." msgid "Required nozzle HRC" msgstr "ノズルHRC" @@ -10020,13 +10210,16 @@ msgid "" msgstr "サポート素材は、サポート又はサポート接触面の造形によく使われます。" msgid "Softening temperature" -msgstr "" +msgstr "Softening temperature" msgid "" "The material softens at this temperature, so when the bed temperature is " "equal to or greater than it, it's highly recommended to open the front door " "and/or remove the upper glass to avoid cloggings." msgstr "" +"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 clogs." msgid "Price" msgstr "価格" @@ -10038,10 +10231,10 @@ msgid "money/kg" msgstr "USD/kg" msgid "Vendor" -msgstr "" +msgstr "Vendor" msgid "Vendor of filament. For show only" -msgstr "" +msgstr "Filament Vendor (Only for show)" msgid "(Undefined)" msgstr "(未定義)" @@ -10114,7 +10307,7 @@ msgid "Lightning" msgstr "ライトニング" msgid "Cross Hatch" -msgstr "" +msgstr "Cross Hatch" msgid "Sparse infill anchor length" msgstr "" @@ -10182,12 +10375,14 @@ msgid "" msgstr "" msgid "mm/s² or %" -msgstr "" +msgstr "mm/s² or %" 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 "" +"Acceleration of sparse infill. If the value is expressed as a percentage (e." +"g. 100%), it will be calculated based on the default acceleration." msgid "" "Acceleration of internal solid infill. If the value is expressed as a " @@ -10202,13 +10397,13 @@ msgstr "" "1層目の造形加速度です。遅くするとプレートとの接着を向上させることができます" msgid "Enable accel_to_decel" -msgstr "" +msgstr "Enable accel_to_decel" msgid "Klipper's max_accel_to_decel will be adjusted automatically" -msgstr "" +msgstr "Klipper's max_accel_to_decel will be adjusted automatically" msgid "accel_to_decel" -msgstr "" +msgstr "accel_to_decel" #, c-format, boost-format msgid "" @@ -10216,10 +10411,10 @@ msgid "" msgstr "" msgid "Jerk of outer walls" -msgstr "" +msgstr "Jerk of outer walls" msgid "Jerk of inner walls" -msgstr "" +msgstr "Jerk of inner walls" msgid "Jerk for top surface" msgstr "" @@ -10335,7 +10530,7 @@ msgid "Whether to apply fuzzy skin on the first layer" msgstr "" msgid "Filter out tiny gaps" -msgstr "" +msgstr "Filter out tiny gaps" msgid "Layers and Perimeters" msgstr "積層と境界" @@ -10351,13 +10546,16 @@ msgstr "" "す。" msgid "Precise Z height" -msgstr "" +msgstr "Precise Z height" 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 "" +"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." msgid "Arc fitting" msgstr "曲線フィッティング" @@ -10421,10 +10619,10 @@ msgid "HRC" msgstr "HRC" msgid "Printer structure" -msgstr "" +msgstr "Printer structure" msgid "The physical arrangement and components of a printing device" -msgstr "" +msgstr "The physical arrangement and components of a printing device" msgid "CoreXY" msgstr "" @@ -10439,10 +10637,10 @@ msgid "Delta" msgstr "" msgid "Best object position" -msgstr "" +msgstr "Best object position" msgid "Best auto arranging position in range [0,1] w.r.t. bed shape." -msgstr "" +msgstr "Best auto arranging position in range [0,1] w.r.t. bed shape." msgid "" "Enable this option if machine has auxiliary part cooling fan. G-code " @@ -10488,7 +10686,7 @@ msgid "money/h" msgstr "" msgid "Support control chamber temperature" -msgstr "" +msgstr "Support controlling chamber temperature" msgid "" "This option is enabled if machine support controlling chamber temperature\n" @@ -10496,7 +10694,7 @@ msgid "" msgstr "" msgid "Support air filtration" -msgstr "" +msgstr "Support air filtration" msgid "" "Enable this if printer support air filtration\n" @@ -10529,7 +10727,7 @@ msgid "" msgstr "" msgid "Exclude objects" -msgstr "" +msgstr "Exclude objects" msgid "Enable this option to add EXCLUDE OBJECT command in g-code" msgstr "" @@ -10588,25 +10786,29 @@ msgid "Speed of internal sparse infill" msgstr "スパース インフィルの造形速度です。" msgid "Interface shells" -msgstr "" +msgstr "Interface shells" 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 "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material" msgid "Maximum width of a segmented region" -msgstr "" +msgstr "Maximum width of a segmented region" msgid "Maximum width of a segmented region. Zero disables this feature." msgstr "" +"Maximum width of a segmented region. A value of 0 disables this feature." msgid "Interlocking depth of a segmented region" -msgstr "" +msgstr "Interlocking depth of a segmented region" msgid "Interlocking depth of a segmented region. Zero disables this feature." -msgstr "" +msgstr "Interlocking depth of a segmented region. Zero disables this feature." msgid "Ironing Type" msgstr "アイロン面" @@ -11068,10 +11270,10 @@ msgid "" msgstr "" msgid "Printer notes" -msgstr "" +msgstr "Printer notes" msgid "You can put your notes regarding the printer here." -msgstr "" +msgstr "You can put your notes regarding the printer here." msgid "Raft contact Z distance" msgstr "ラフト接触面Z間隔" @@ -11152,7 +11354,7 @@ msgstr "" "ションが無効になります。" msgid "Long retraction when cut(experimental)" -msgstr "" +msgstr "Long retraction when cut (experimental)" msgid "" "Experimental feature.Retracting and cutting off the filament at a longer " @@ -11160,14 +11362,20 @@ msgid "" "significantly, it may also raise the risk of nozzle clogs or other printing " "problems." msgstr "" +"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." msgid "Retraction distance when cut" -msgstr "" +msgstr "Retraction distance when cut" msgid "" "Experimental feature.Retraction length before cutting off during filament " "change" msgstr "" +"Experimental feature. Retraction length before cutting off during filament " +"change" msgid "Z hop when retract" msgstr "リトラクト時にZ方向調整" @@ -11181,20 +11389,24 @@ msgstr "" "突を回避できます。" msgid "Z hop lower boundary" -msgstr "" +msgstr "Z hop lower boundary" 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 will only come into effect when Z is above this value and is below the " +"parameter: \"Z hop upper boundary\"" msgid "Z hop upper boundary" -msgstr "" +msgstr "Z hop upper boundary" 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 "" +"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" msgid "Z hop type" msgstr "" @@ -11242,7 +11454,7 @@ msgid "Top and Bottom" msgstr "" msgid "Extra length on restart" -msgstr "" +msgstr "Extra length on restart" msgid "" "When the retraction is compensated after the travel move, the extruder will " @@ -11271,7 +11483,7 @@ msgstr "" "ションの速度と同じくなります。" msgid "Use firmware retraction" -msgstr "" +msgstr "Use firmware retraction" msgid "" "This experimental setting uses G10 and G11 commands to have the firmware " @@ -11315,7 +11527,7 @@ msgid "" msgstr "" msgid "Seam gap" -msgstr "" +msgstr "Seam gap" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " @@ -11329,17 +11541,20 @@ msgstr "" msgid "Use scarf joint to minimize seam visibility and increase seam strength." msgstr "" +"Use scarf joint to minimize seam visibility and increase seam strength." msgid "Conditional scarf joint" -msgstr "" +msgstr "Conditional scarf joint" msgid "" "Apply scarf joints only to smooth perimeters where traditional seams do not " "conceal the seams at sharp corners effectively." msgstr "" +"Apply scarf joints only to smooth perimeters where traditional seams do not " +"conceal the seams at sharp corners effectively." msgid "Conditional angle threshold" -msgstr "" +msgstr "Conditional angle threshold" msgid "" "This option sets the threshold angle for applying a conditional scarf joint " @@ -11382,39 +11597,44 @@ msgid "This factor affects the amount of material for scarf joints." msgstr "" msgid "Scarf start height" -msgstr "" +msgstr "Scarf start height" 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 "" +"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." msgid "Scarf around entire wall" -msgstr "" +msgstr "Scarf around entire wall" msgid "The scarf extends to the entire length of the wall." -msgstr "" +msgstr "The scarf extends to the entire length of the wall." msgid "Scarf length" -msgstr "" +msgstr "Scarf length" msgid "" "Length of the scarf. Setting this parameter to zero effectively disables the " "scarf." msgstr "" +"Length of the scarf. Setting this parameter to zero effectively disables the " +"scarf." msgid "Scarf steps" -msgstr "" +msgstr "Scarf steps" msgid "Minimum number of segments of each scarf." -msgstr "" +msgstr "Minimum number of segments of each scarf." msgid "Scarf joint for inner walls" -msgstr "" +msgstr "Scarf joint for inner walls" msgid "Use scarf joint for inner walls as well." -msgstr "" +msgstr "Use scarf joint for inner walls as well." msgid "Role base wipe speed" msgstr "" @@ -11449,7 +11669,7 @@ msgid "" msgstr "" msgid "Wipe speed" -msgstr "" +msgstr "Wipe speed" msgid "" "The wipe speed is determined by the speed setting specified in this " @@ -11457,6 +11677,10 @@ msgid "" "be calculated based on the travel speed setting above.The default value for " "this parameter is 80%" msgstr "" +"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%." msgid "Skirt distance" msgstr "スカート距離" @@ -11549,20 +11773,24 @@ msgstr "" "で、シームはありません。" msgid "Smooth Spiral" -msgstr "" +msgstr "Smooth Spiral" msgid "" "Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " "at all, even in the XY directions on walls that are not vertical" msgstr "" +"Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " +"at all, even in the XY directions on walls that are not vertical" msgid "Max XY Smoothing" -msgstr "" +msgstr "Max XY Smoothing" msgid "" "Maximum distance to move points in XY to try to achieve a smooth spiralIf " "expressed as a %, it will be computed over nozzle diameter" msgstr "" +"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" msgid "" "If smooth or traditional mode is selected, a timelapse video will be " @@ -11730,10 +11958,10 @@ msgid "" msgstr "造形しにくい部分だけサポートを生成します、例えば細長いしっぽ、ハリなど" msgid "Remove small overhangs" -msgstr "" +msgstr "Remove small overhangs" msgid "Remove small overhangs that possibly need no supports." -msgstr "" +msgstr "This removes small overhangs that may need no support." msgid "Top Z distance" msgstr "トップ面とのZ間隔" @@ -11758,11 +11986,12 @@ msgstr "" "を使用する意味です。" msgid "Avoid interface filament for base" -msgstr "" +msgstr "Avoid interface filament for base" msgid "" "Avoid using support interface filament to print support base if possible." msgstr "" +"Avoid using support interface filament to print support base if possible." msgid "" "Line width of support. If expressed as a %, it will be computed over the " @@ -11798,10 +12027,10 @@ msgid "Bottom interface layers" msgstr "底部接触面層数" msgid "Number of bottom interface layers" -msgstr "" +msgstr "Number of bottom interface layers" msgid "Same as top" -msgstr "" +msgstr "Same as top" msgid "Top interface spacing" msgstr "トップ接触面間隔" @@ -12002,10 +12231,10 @@ msgid "" msgstr "" msgid "Support wall loops" -msgstr "" +msgstr "Support wall loops" msgid "This setting specify the count of walls around support" -msgstr "" +msgstr "This setting specify the count of walls around support" msgid "Tree support with infill" msgstr "ツリーサポートインフィル使用" @@ -12026,7 +12255,7 @@ msgid "" msgstr "" msgid "Chamber temperature" -msgstr "" +msgstr "Chamber temperature" msgid "" "Higher chamber temperature can help suppress or reduce warping and " @@ -12037,6 +12266,12 @@ msgid "" "high to avoid cloggings, so 0 which stands for turning off is highly " "recommended" msgstr "" +"Higher chamber temperature can help suppress or reduce warping and " +"potentially lead to higher interlayer bonding strength for high temperature " +"materials like ABS, ASA, PC, PA and so on. At the same time, the air " +"filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and " +"other low temperature materials, the actual chamber temperature should not " +"be high to avoid clogs, so 0 (turned off) is highly recommended." msgid "Nozzle temperature for layers after the initial one" msgstr "1層目後のノズル温度" @@ -12172,17 +12407,29 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -12303,7 +12550,7 @@ msgid "" msgstr "" msgid "Use relative E distances" -msgstr "" +msgstr "Use relative E distances" msgid "" "Relative extrusion is recommended when using \"label_objects\" option.Some " @@ -12851,7 +13098,7 @@ msgid "load_obj: failed to parse" msgstr "load_obj: failed to parse" msgid "load mtl in obj: failed to parse" -msgstr "" +msgstr "load mtl in obj: failed to parse" msgid "The file contains polygons with more than 4 vertices." msgstr "The file contains polygons with more than 4 vertices." @@ -12866,67 +13113,70 @@ msgid "This OBJ file couldn't be read because it's empty." msgstr "This OBJ file couldn't be read because it's empty." msgid "Flow Rate Calibration" -msgstr "" +msgstr "Flow Rate Calibration" msgid "Max Volumetric Speed Calibration" -msgstr "" +msgstr "Max Volumetric Speed Calibration" msgid "Manage Result" -msgstr "" +msgstr "Manage Results" msgid "Manual Calibration" -msgstr "" +msgstr "Manual Calibration" msgid "Result can be read by human eyes." -msgstr "" +msgstr "Results can be easily seen and understood." msgid "Auto-Calibration" -msgstr "" +msgstr "Auto-Calibration" msgid "We would use Lidar to read the calibration result" -msgstr "" +msgstr "We would use Lidar to read the calibration result." msgid "Prev" -msgstr "" +msgstr "Prev" msgid "Recalibration" -msgstr "" +msgstr "Recalibration" msgid "Calibrate" -msgstr "" +msgstr "Calibrate" msgid "Finish" msgstr "完了" msgid "How to use calibration result?" -msgstr "" +msgstr "How can I use calibration results?" msgid "" "You could change the Flow Dynamics Calibration Factor in material editing" msgstr "" +"You can change the Flow Dynamics Calibration Factor in material editing" msgid "" "The current firmware version of the printer does not support calibration.\n" "Please upgrade the printer firmware." msgstr "" +"The current firmware version of the printer does not support calibration.\n" +"Please update the printer firmware." msgid "Calibration not supported" -msgstr "" +msgstr "Calibration not supported" msgid "Error desc" -msgstr "" +msgstr "Error desc" msgid "Extra info" -msgstr "" +msgstr "Extra info" msgid "Flow Dynamics" -msgstr "" +msgstr "Flow Dynamics" msgid "Flow Rate" -msgstr "" +msgstr "Flow Rate" msgid "Max Volumetric Speed" -msgstr "" +msgstr "Max Volumetric Speed" #, c-format, boost-format msgid "" @@ -12936,38 +13186,45 @@ msgid "" "End value: > Start value\n" "Value step: >= %.3f)" msgstr "" +"Please input valid values:\n" +"Start value: >= %.1f\n" +"End value: <= %.1f\n" +"End value: > Start value\n" +"Value step: >= %.3f)" msgid "The name cannot be empty." -msgstr "" +msgstr "The name cannot be empty." #, c-format, boost-format msgid "The selected preset: %s is not found." -msgstr "" +msgstr "The selected preset: %s is not found." msgid "The name cannot be the same as the system preset name." -msgstr "" +msgstr "The name cannot be the same as the system preset name." msgid "The name is the same as another existing preset name" -msgstr "" +msgstr "The name is the same as another existing preset name." msgid "create new preset failed." -msgstr "" +msgstr "Creating new preset failed." msgid "" "Are you sure to cancel the current calibration and return to the home page?" msgstr "" +"Are you sure you want to cancel the current calibration and return to the " +"home page?" msgid "No Printer Connected!" -msgstr "" +msgstr "No Printer Connected!" msgid "Printer is not connected yet." -msgstr "" +msgstr "A printer is not connected yet." msgid "Please select filament to calibrate." -msgstr "" +msgstr "Please select filament to calibrate." msgid "The input value size must be 3." -msgstr "" +msgstr "The input value size must be 3." msgid "" "This machine type can only hold 16 history results per nozzle. You can " @@ -12976,15 +13233,20 @@ msgid "" "historical results. \n" "Do you still want to continue the calibration?" msgstr "" +"This machine type can only hold 16 historical 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?" msgid "Connecting to printer..." -msgstr "" +msgstr "Connecting to printer..." msgid "The failed test result has been dropped." -msgstr "" +msgstr "The failed test result has been removed." msgid "Flow Dynamics Calibration result has been saved to the printer" -msgstr "" +msgstr "Flow Dynamics Calibration results have been saved to the printer." #, c-format, boost-format msgid "" @@ -12992,27 +13254,32 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to override the historical result?" msgstr "" +"There is already a previous calibration result with the same name: %s. Only " +"one result with a name is saved. Are you sure you want to overwrite the " +"previous result?" #, c-format, boost-format msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." msgstr "" +"This machine type can only hold %d historical results per nozzle. This " +"result will not be saved." msgid "Internal Error" -msgstr "" +msgstr "Internal Error" msgid "Please select at least one filament for calibration" -msgstr "" +msgstr "Please select at least one filament for calibration" msgid "Flow rate calibration result has been saved to preset" -msgstr "" +msgstr "Flow rate calibration results have been saved to preset." msgid "Max volumetric speed calibration result has been saved to preset" -msgstr "" +msgstr "Max volumetric speed calibration result has been saved to preset" msgid "When do you need Flow Dynamics Calibration" -msgstr "" +msgstr "When do you need Flow Dynamics Calibration?" msgid "" "We now have added the auto-calibration for different filaments, which is " @@ -13024,9 +13291,17 @@ msgid "" "3. If the max volumetric speed or print temperature is changed in the " "filament setting." msgstr "" +"We now have added auto-calibration for different filaments, which is fully " +"automated and the result will be saved to 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." msgid "About this calibration" -msgstr "" +msgstr "About this calibration" msgid "" "Please find the details of Flow Dynamics Calibration from our wiki.\n" @@ -13047,9 +13322,27 @@ msgid "" "cause the result not exactly the same in each calibration. We are still " "investigating the root cause to do improvements with new updates." msgstr "" +"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 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 there are a few cases that may make the calibration result " +"unreliable: using a texture plate to do the calibration; using a build plate " +"with poor adhesion. (please wash the build plate or apply gluestick!) You " +"can find more on our wiki.\n" +"\n" +"The calibration results have about 10 percent variation in our test, which " +"may cause the results to not be identical for each calibration. We are still " +"investigating the root cause to further improve this calibration in future " +"updates." msgid "When to use Flow Rate Calibration" -msgstr "" +msgstr "When to use Flow Rate Calibration" msgid "" "After using Flow Dynamics Calibration, there might still be some extrusion " @@ -13062,12 +13355,24 @@ msgid "" "4. Weak Structural Integrity: Prints break easily or don't seem as sturdy as " "they should be." msgstr "" +"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." 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 "" +"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." msgid "" "Flow Rate Calibration measures the ratio of expected to actual extrusion " @@ -13077,6 +13382,12 @@ msgid "" "you still see the listed defects after you have done other calibrations. For " "more details, please check out the wiki article." msgstr "" +"Flow Rate Calibration measures the ratio of expected to actual extrusion " +"volumes. The default setting works well with 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 our wiki article." msgid "" "Auto Flow Rate Calibration utilizes Bambu Lab's Micro-Lidar technology, " @@ -13096,48 +13407,70 @@ msgid "" "can lead to sub-par prints or printer damage. Please make sure to carefully " "read and understand the process before doing it." msgstr "" +"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 performing it." msgid "When you need Max Volumetric Speed Calibration" -msgstr "" +msgstr "When you need Max Volumetric Speed Calibration" msgid "Over-extrusion or under extrusion" -msgstr "" +msgstr "Over-extrusion or under extrusion" msgid "Max Volumetric Speed calibration is recommended when you print with:" -msgstr "" +msgstr "Max Volumetric Speed Calibration is recommended when you print with:" msgid "material with significant thermal shrinkage/expansion, such as..." -msgstr "" +msgstr "material with significant thermal shrinkage/expansion, such as..." msgid "materials with inaccurate filament diameter" -msgstr "" +msgstr "materials with inaccurate filament diameter" msgid "We found the best Flow Dynamics Calibration Factor" -msgstr "" +msgstr "We found the best Flow Dynamics Calibration Factor." msgid "" "Part of the calibration failed! You may clean the plate and retry. The " "failed test result would be dropped." msgstr "" +"Part of the calibration failed! It may help to clean the plate and retry. " +"The failed test result will be deleted." msgid "" "*We recommend you to add brand, materia, type, and even humidity level in " "the Name" msgstr "" +"*We recommend that you add brand, material, type, and even humidity level to " +"the name" msgid "Failed" msgstr "失敗" msgid "Please enter the name you want to save to printer." -msgstr "" +msgstr "Please enter the name you want to save to printer." msgid "The name cannot exceed 40 characters." -msgstr "" +msgstr "The name cannot exceed 40 characters." msgid "" "Only one of the results with the same name will be saved. Are you sure you " "want to overrides the other results?" msgstr "" +"Only one of the results with the same name will be saved. Are you sure you " +"want to override the other results?" #, c-format, boost-format msgid "" @@ -13145,188 +13478,197 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to overrides the historical result?" msgstr "" +"There is already a historical calibration result with the same name: %s. " +"Only one set of results with the same name is saved. Are you sure you want " +"to override the previous results?" msgid "Please find the best line on your plate" -msgstr "" +msgstr "Please find the best line on your plate." msgid "Please find the cornor with perfect degree of extrusion" -msgstr "" +msgstr "Please find the corner with the perfect degree of extrusion" msgid "Input Value" -msgstr "" +msgstr "Input Value" msgid "Save to Filament Preset" -msgstr "" +msgstr "Save to Filament Presets" msgid "Preset" -msgstr "" +msgstr "Preset" msgid "Record Factor" -msgstr "" +msgstr "Record Factor" msgid "We found the best flow ratio for you" -msgstr "" +msgstr "We found the best flow ratio for you." msgid "Flow Ratio" -msgstr "" +msgstr "Flow Ratio" msgid "Please input a valid value (0.0 < flow ratio < 2.0)" -msgstr "" +msgstr "Please input a valid value (0.0 < flow ratio < 2.0)" msgid "Please enter the name of the preset you want to save." -msgstr "" +msgstr "Please enter the name of the preset you want to save." msgid "Calibration1" -msgstr "" +msgstr "Calibration1" msgid "Calibration2" -msgstr "" +msgstr "Calibration2" msgid "Please find the best object on your plate" -msgstr "" +msgstr "Please find the best object on your plate." msgid "Fill in the value above the block with smoothest top surface" -msgstr "" +msgstr "Fill in the value from the block with smoothest top surface" msgid "Skip Calibration2" -msgstr "" +msgstr "Skip Calibration 2" #, c-format, boost-format msgid "flow ratio : %s " -msgstr "" +msgstr "flow ratio: %s " msgid "Please choose a block with smoothest top surface" -msgstr "" +msgstr "Please choose the block with the smoothest top surface." msgid "Please choose a block with smoothest top surface." -msgstr "" +msgstr "Please choose the block with the smoothest top surface." msgid "Please input a valid value (0 <= Max Volumetric Speed <= 60)" -msgstr "" +msgstr "Please input a valid value (0 <= Max Volumetric Speed <= 60)" msgid "Calibration Type" -msgstr "" +msgstr "Calibration Type" msgid "Complete Calibration" -msgstr "" +msgstr "Complete Calibration" msgid "Fine Calibration based on flow ratio" -msgstr "" +msgstr "Fine Calibration based on flow ratio" msgid "Title" -msgstr "" +msgstr "Title" msgid "" "A test model will be printed. Please clear the build plate and place it back " "to the hot bed before calibration." msgstr "" +"A test model will be printed. Please clear the build plate and place it back " +"on the heatbed before calibration." msgid "Printing Parameters" -msgstr "" +msgstr "Printing Parameters" msgid "Plate Type" msgstr "Plate Type" msgid "filament position" -msgstr "" +msgstr "filament position" msgid "External Spool" -msgstr "" +msgstr "External Spool" msgid "Filament For Calibration" -msgstr "" +msgstr "Filament For Calibration" 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 "" +"Tips for calibration material: \n" +"- Materials that can share same hot bed temperature\n" +"- Different filament brand and family (Brand = Bambu, Family = Basic, Matte, " +"etc.)" msgid "Pattern" -msgstr "" +msgstr "Pattern" msgid "Method" -msgstr "" +msgstr "Method" #, c-format, boost-format msgid "%s is not compatible with %s" -msgstr "" +msgstr "%s is not compatible with %s" msgid "TPU is not supported for Flow Dynamics Auto-Calibration." -msgstr "" +msgstr "TPU is not supported by Flow Dynamics Auto-Calibration." msgid "Connecting to printer" -msgstr "" +msgstr "Connecting to printer" msgid "From k Value" -msgstr "" +msgstr "From k Value" msgid "To k Value" -msgstr "" +msgstr "To k Value" msgid "Step value" msgstr "" msgid "The nozzle diameter has been synchronized from the printer Settings" -msgstr "" +msgstr "The nozzle diameter has been synchronized from the printer settings." msgid "From Volumetric Speed" -msgstr "" +msgstr "From Volumetric Speed" msgid "To Volumetric Speed" -msgstr "" +msgstr "To Volumetric Speed" msgid "Flow Dynamics Calibration Result" -msgstr "" +msgstr "Flow Dynamics Calibration Result" msgid "New" -msgstr "" +msgstr "New" msgid "No History Result" -msgstr "" +msgstr "No History Result" msgid "Success to get history result" -msgstr "" +msgstr "Success to get history result" msgid "Refreshing the historical Flow Dynamics Calibration records" -msgstr "" +msgstr "Refreshing the previous Flow Dynamics Calibration records" msgid "Action" -msgstr "" +msgstr "Action" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "" +msgstr "This machine type can only hold %d historical results per nozzle." msgid "Edit Flow Dynamics Calibration" -msgstr "" +msgstr "Edit Flow Dynamics Calibration" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "New Flow Dynamic Calibration" msgid "Ok" -msgstr "" +msgstr "Ok" msgid "The filament must be selected." -msgstr "" +msgstr "The filament must be selected." msgid "Network lookup" -msgstr "" +msgstr "Network lookup" msgid "Address" -msgstr "" +msgstr "Address" msgid "Hostname" -msgstr "" +msgstr "Hostname" msgid "Service name" -msgstr "" +msgstr "Service name" msgid "OctoPrint version" -msgstr "" +msgstr "OctoPrint version" msgid "Searching for devices" -msgstr "" +msgstr "Searching for devices" msgid "Finished" msgstr "完了" @@ -13341,37 +13683,37 @@ msgid "" msgstr "" msgid "PA Calibration" -msgstr "" +msgstr "PA Calibration" msgid "DDE" msgstr "" msgid "Bowden" -msgstr "" +msgstr "Bowden" msgid "Extruder type" msgstr "" msgid "PA Tower" -msgstr "" +msgstr "PA Tower" msgid "PA Line" -msgstr "" +msgstr "PA Line" msgid "PA Pattern" -msgstr "" +msgstr "PA Pattern" msgid "Start PA: " -msgstr "" +msgstr "Start PA:" msgid "End PA: " -msgstr "" +msgstr "End PA: " msgid "PA step: " -msgstr "" +msgstr "PA step:" msgid "Print numbers" -msgstr "" +msgstr "Print numbers" msgid "" "Please input valid values:\n" @@ -13379,39 +13721,43 @@ msgid "" "End PA: > Start PA\n" "PA step: >= 0.001)" msgstr "" +"Please input valid values:\n" +"Start PA: >= 0.0\n" +"End PA: > Start PA\n" +"PA step: >= 0.001)" msgid "Temperature calibration" -msgstr "" +msgstr "Temperature calibration" msgid "PLA" -msgstr "" +msgstr "PLA" msgid "ABS/ASA" -msgstr "" +msgstr "ABS/ASA" msgid "PETG" -msgstr "" +msgstr "PETG" msgid "TPU" -msgstr "" +msgstr "TPU" msgid "PA-CF" -msgstr "" +msgstr "PA-CF" msgid "PET-CF" -msgstr "" +msgstr "PET-CF" msgid "Filament type" -msgstr "" +msgstr "Filament type" msgid "Start temp: " -msgstr "" +msgstr "Start temp:" msgid "End temp: " -msgstr "" +msgstr "End temp:" msgid "Temp step: " -msgstr "" +msgstr "Temp step:" msgid "" "Please input valid values:\n" @@ -13421,16 +13767,16 @@ msgid "" msgstr "" msgid "Max volumetric speed test" -msgstr "" +msgstr "Max volumetric speed test" msgid "Start volumetric speed: " -msgstr "" +msgstr "Start volumetric speed:" msgid "End volumetric speed: " -msgstr "" +msgstr "End volumetric speed:" msgid "step: " -msgstr "" +msgstr "step:" msgid "" "Please input valid values:\n" @@ -13440,13 +13786,13 @@ msgid "" msgstr "" msgid "VFA test" -msgstr "" +msgstr "VFA test" msgid "Start speed: " -msgstr "" +msgstr "Start speed:" msgid "End speed: " -msgstr "" +msgstr "End speed:" msgid "" "Please input valid values:\n" @@ -13456,129 +13802,129 @@ msgid "" msgstr "" msgid "Start retraction length: " -msgstr "" +msgstr "Start retraction length:" msgid "End retraction length: " -msgstr "" +msgstr "End retraction length: " msgid "mm/mm" -msgstr "" +msgstr "mm/mm" msgid "Send G-Code to printer host" msgstr "" msgid "Upload to Printer Host with the following filename:" -msgstr "" +msgstr "Upload to Printer Host with the following filename:" msgid "Use forward slashes ( / ) as a directory separator if needed." -msgstr "" +msgstr "Use forward slashes ( / ) as a directory separator if needed." msgid "Upload to storage" msgstr "" #, c-format, boost-format msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?" -msgstr "" +msgstr "Filename to upload doesn't end with \"%s\". Do you want to continue?" msgid "Upload" -msgstr "" +msgstr "Upload" msgid "Print host upload queue" -msgstr "" +msgstr "Print host upload queue" msgid "ID" -msgstr "" +msgstr "ID" msgid "Progress" -msgstr "" +msgstr "Progress" msgid "Host" -msgstr "" +msgstr "Host" msgctxt "OfFile" msgid "Size" -msgstr "" +msgstr "Size of file" msgid "Filename" -msgstr "" +msgstr "Filename" msgid "Cancel selected" -msgstr "" +msgstr "Cancel selected" msgid "Show error message" -msgstr "" +msgstr "Show error message" msgid "Enqueued" -msgstr "" +msgstr "Queued" msgid "Uploading" msgstr "アップロード中" msgid "Cancelling" -msgstr "" +msgstr "Canceling" msgid "Error uploading to print host" msgstr "" msgid "Unable to perform boolean operation on selected parts" -msgstr "" +msgstr "Unable to perform boolean operation on selected parts" msgid "Mesh Boolean" -msgstr "" +msgstr "Mesh Boolean" msgid "Union" -msgstr "" +msgstr "Union" msgid "Difference" -msgstr "" +msgstr "Difference" msgid "Intersection" -msgstr "" +msgstr "Intersection" msgid "Source Volume" -msgstr "" +msgstr "Source Volume" msgid "Tool Volume" -msgstr "" +msgstr "Tool Volume" msgid "Subtract from" -msgstr "" +msgstr "Subtract from" msgid "Subtract with" -msgstr "" +msgstr "Subtract with" msgid "selected" -msgstr "" +msgstr "selected" msgid "Part 1" -msgstr "" +msgstr "Part 1" msgid "Part 2" -msgstr "" +msgstr "Part 2" msgid "Delete input" -msgstr "" +msgstr "Delete input" msgid "Network Test" -msgstr "" +msgstr "Network Test" msgid "Start Test Multi-Thread" -msgstr "" +msgstr "Start Test Multi-Thread" msgid "Start Test Single-Thread" -msgstr "" +msgstr "Start Test Single-Thread" msgid "Export Log" -msgstr "" +msgstr "Export Log" msgid "OrcaSlicer Version:" msgstr "" msgid "System Version:" -msgstr "" +msgstr "System Version:" msgid "DNS Server:" -msgstr "" +msgstr "DNS Server:" msgid "Test OrcaSlicer(GitHub)" msgstr "" @@ -13587,92 +13933,96 @@ msgid "Test OrcaSlicer(GitHub):" msgstr "" msgid "Test Bing.com" -msgstr "" +msgstr "Test Bing.com" msgid "Test bing.com:" -msgstr "" +msgstr "Test bing.com:" msgid "Log Info" -msgstr "" +msgstr "Log Info" msgid "Select filament preset" -msgstr "" +msgstr "Select filament preset" msgid "Create Filament" -msgstr "" +msgstr "Create Filament" msgid "Create Based on Current Filament" -msgstr "" +msgstr "Create Based on Current Filament" msgid "Copy Current Filament Preset " -msgstr "" +msgstr "Copy Current Filament Preset " msgid "Basic Information" -msgstr "" +msgstr "Basic Information" msgid "Add Filament Preset under this filament" -msgstr "" +msgstr "Add Filament Preset under this filament" msgid "We could create the filament presets for your following printer:" -msgstr "" +msgstr "We could create the filament presets for your following printer:" msgid "Select Vendor" -msgstr "" +msgstr "Select Vendor" msgid "Input Custom Vendor" -msgstr "" +msgstr "Input Custom Vendor" msgid "Can't find vendor I want" -msgstr "" +msgstr "Can't find vendor I want" msgid "Select Type" -msgstr "" +msgstr "Select Type" msgid "Select Filament Preset" -msgstr "" +msgstr "Select Filament Preset" msgid "Serial" -msgstr "" +msgstr "Serial" msgid "e.g. Basic, Matte, Silk, Marble" -msgstr "" +msgstr "e.g. Basic, Matte, Silk, Marble" msgid "Filament Preset" -msgstr "" +msgstr "Filament Preset" msgid "Create" -msgstr "" +msgstr "Create" msgid "Vendor is not selected, please reselect vendor." -msgstr "" +msgstr "Vendor is not selected; please reselect vendor." msgid "Custom vendor is not input, please input custom vendor." -msgstr "" +msgstr "Custom vendor missing; please input custom vendor." msgid "" "\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." msgstr "" +"\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." msgid "Filament type is not selected, please reselect type." -msgstr "" +msgstr "Filament type is not selected, please reselect type." msgid "Filament serial is not inputed, please input serial." -msgstr "" +msgstr "Filament serial missing; please input serial." msgid "" "There may be escape characters in the vendor or serial input of filament. " "Please delete and re-enter." msgstr "" +"There may be disallowed characters in the vendor or serial input of the " +"filament. Please delete and re-enter." msgid "All inputs in the custom vendor or serial are spaces. Please re-enter." -msgstr "" +msgstr "All inputs in the custom vendor or serial are spaces. Please re-enter." msgid "The vendor can not be a number. Please re-enter." -msgstr "" +msgstr "The vendor can not be a number; please re-enter." msgid "" "You have not selected a printer or preset yet. Please select at least one." msgstr "" +"You have not selected a printer or preset yet. Please select at least one." #, c-format, boost-format msgid "" @@ -13680,14 +14030,19 @@ msgid "" "If you continue creating, the preset created will be displayed with its full " "name. Do you want to continue?" msgstr "" +"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?" msgid "Some existing presets have failed to be created, as follows:\n" -msgstr "" +msgstr "Some existing presets have failed to be created, as follows:\n" msgid "" "\n" "Do you want to rewrite it?" msgstr "" +"\n" +"Do you want to rewrite it?" msgid "" "We would rename the presets as \"Vendor Type Serial @printer you selected" @@ -13696,46 +14051,46 @@ msgid "" msgstr "" msgid "Create Printer/Nozzle" -msgstr "" +msgstr "Create Printer/Nozzle" msgid "Create Printer" -msgstr "" +msgstr "Create Printer" msgid "Create Nozzle for Existing Printer" -msgstr "" +msgstr "Create Nozzle for Existing Printer" msgid "Create from Template" -msgstr "" +msgstr "Create from Template" msgid "Create Based on Current Printer" -msgstr "" +msgstr "Create Based on Current Printer" msgid "Import Preset" -msgstr "" +msgstr "Import Preset" msgid "Create Type" -msgstr "" +msgstr "Create Type" msgid "The model is not fond, place reselect vendor." -msgstr "" +msgstr "The model was not found; please reselect vendor." msgid "Select Model" -msgstr "" +msgstr "Select Model" msgid "Select Printer" -msgstr "" +msgstr "Select Printer" msgid "Input Custom Model" -msgstr "" +msgstr "Input Custom Model" msgid "Can't find my printer model" -msgstr "" +msgstr "Can't find my printer model" msgid "Rectangle" -msgstr "" +msgstr "Rectangle" msgid "Printable Space" -msgstr "" +msgstr "Printable Space" msgid "X" msgstr "" @@ -13744,66 +14099,70 @@ msgid "Y" msgstr "" msgid "Hot Bed STL" -msgstr "" +msgstr "Hot Bed STL" msgid "Load stl" -msgstr "" +msgstr "Load stl" msgid "Hot Bed SVG" -msgstr "" +msgstr "Hot Bed SVG" msgid "Load svg" -msgstr "" +msgstr "Load svg" msgid "Max Print Height" -msgstr "" +msgstr "Max Print Height" #, c-format, boost-format msgid "The file exceeds %d MB, please import again." -msgstr "" +msgstr "The file exceeds %d MB, please import again." msgid "Exception in obtaining file size, please import again." -msgstr "" +msgstr "Exception in obtaining file size, please import again." msgid "Preset path is not find, please reselect vendor." -msgstr "" +msgstr "Preset path was not found; please reselect vendor." msgid "The printer model was not found, please reselect." -msgstr "" +msgstr "The printer model was not found, please reselect." msgid "The nozzle diameter is not fond, place reselect." -msgstr "" +msgstr "The nozzle diameter was not found; please reselect." msgid "The printer preset is not fond, place reselect." -msgstr "" +msgstr "The printer preset was not found; please reselect." msgid "Printer Preset" -msgstr "" +msgstr "Printer Preset" msgid "Filament Preset Template" -msgstr "" +msgstr "Filament Preset Template" msgid "Deselect All" -msgstr "" +msgstr "Deselect All" msgid "Process Preset Template" -msgstr "" +msgstr "Process Preset Template" msgid "Back Page 1" -msgstr "" +msgstr "Back Page 1" msgid "" "You have not yet chosen which printer preset to create based on. Please " "choose the vendor and model of the printer" msgstr "" +"You have not yet chosen which printer preset to create based on. Please " +"choose the vendor and model of the printer" msgid "" "You have entered an illegal input in the printable area section on the first " "page. Please check before creating it." msgstr "" +"You have entered a disallowed character in the printable area section on the " +"first page. Please use only numbers." msgid "The custom printer or model is not inputed, place input." -msgstr "" +msgstr "The custom printer or model missing; please input." msgid "" "The printer preset you created already has a preset with the same name. Do " @@ -13814,60 +14173,74 @@ msgid "" "reserve.\n" "\tCancel: Do not create a preset, return to the creation interface." msgstr "" +"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 " +"reserved.\n" +"\tCancel: Do not create a preset; return to the creation interface." msgid "You need to select at least one filament preset." -msgstr "" +msgstr "You need to select at least one filament preset." msgid "You need to select at least one process preset." -msgstr "" +msgstr "You need to select at least one process preset." msgid "Create filament presets failed. As follows:\n" -msgstr "" +msgstr "Create filament presets failed. As follows:\n" msgid "Create process presets failed. As follows:\n" -msgstr "" +msgstr "Create process presets failed. As follows:\n" msgid "Vendor is not find, please reselect." -msgstr "" +msgstr "Vendor was not found; please reselect." msgid "Current vendor has no models, please reselect." -msgstr "" +msgstr "Current vendor has no models, please reselect." msgid "" "You have not selected the vendor and model or inputed the custom vendor and " "model." msgstr "" +"You have not selected the vendor and model or input the custom vendor and " +"model." msgid "" "There may be escape characters in the custom printer vendor or model. Please " "delete and re-enter." msgstr "" +"There may be escape characters in the custom printer vendor or model. Please " +"delete and re-enter." msgid "" "All inputs in the custom printer vendor or model are spaces. Please re-enter." msgstr "" +"All inputs in the custom printer vendor or model are spaces. Please re-enter." msgid "Please check bed printable shape and origin input." -msgstr "" +msgstr "Please check bed printable shape and origin input." msgid "" "You have not yet selected the printer to replace the nozzle, please choose." msgstr "" +"You have not yet selected the printer to replace the nozzle for; please " +"choose a printer." msgid "Create Printer Successful" -msgstr "" +msgstr "Create Printer Successful" msgid "Create Filament Successful" -msgstr "" +msgstr "Filament Created Successfully" msgid "Printer Created" -msgstr "" +msgstr "Printer Created" msgid "Please go to printer settings to edit your presets" -msgstr "" +msgstr "Please go to printer settings to edit your presets" msgid "Filament Created" -msgstr "" +msgstr "Filament Created" msgid "" "Please go to filament setting to edit your presets if you need.\n" @@ -13875,6 +14248,10 @@ msgid "" "volumetric speed has a significant impact on printing quality. Please set " "them carefully." msgstr "" +"Please go to filament settings to edit your presets if you need to.\n" +"Please note that nozzle temperature, hot bed temperature, and maximum " +"volumetric speed each have a significant impact on printing quality. Please " +"set them carefully." msgid "" "\n" @@ -13886,7 +14263,7 @@ msgid "" msgstr "" msgid "Printer Setting" -msgstr "" +msgstr "Printer Setting" msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -13895,31 +14272,31 @@ msgid "Filament bundle(.orca_filament)" msgstr "" msgid "Printer presets(.zip)" -msgstr "" +msgstr "Printer presets(.zip)" msgid "Filament presets(.zip)" -msgstr "" +msgstr "Filament presets(.zip)" msgid "Process presets(.zip)" -msgstr "" +msgstr "Process presets(.zip)" msgid "initialize fail" -msgstr "" +msgstr "initialize fail" msgid "add file fail" -msgstr "" +msgstr "add file fail" msgid "add bundle structure file fail" -msgstr "" +msgstr "add bundle structure file fail" msgid "finalize fail" -msgstr "" +msgstr "finalize fail" msgid "open zip written fail" -msgstr "" +msgstr "open zip written fail" msgid "Export successful" -msgstr "" +msgstr "Export successful" #, c-format, boost-format msgid "" @@ -13928,6 +14305,10 @@ msgid "" "If not, a time suffix will be added, and you can modify the name after " "creation." msgstr "" +"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." msgid "" "Printer and all the filament&&process presets that belongs to the printer. \n" @@ -13938,244 +14319,273 @@ msgid "" "User's fillment preset set. \n" "Can be shared with others." msgstr "" +"User's fillment preset set. \n" +"Can be shared with others." msgid "" "Only display printer names with changes to printer, filament, and process " "presets." msgstr "" +"Only display printers with changes to printer, filament, and process presets " +"are displayed." msgid "Only display the filament names with changes to filament presets." -msgstr "" +msgstr "Only display the filament names with changes to filament presets." msgid "" "Only printer names with user printer presets will be displayed, and each " "preset you choose will be exported as a zip." msgstr "" +"Only printer names with user printer presets will be displayed, and each " +"preset you choose will be exported as a 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 "" +"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." 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 "" +"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." msgid "Please select at least one printer or filament." -msgstr "" +msgstr "Please select at least one printer or filament." msgid "Please select a type you want to export" -msgstr "" +msgstr "Please select a preset type you want to export" msgid "Failed to create temporary folder, please try Export Configs again." -msgstr "" +msgstr "Failed to create temporary folder, please try Export Configs again." msgid "Edit Filament" -msgstr "" +msgstr "Edit Filament" msgid "Filament presets under this filament" -msgstr "" +msgstr "Filament presets under this filament" msgid "" "Note: If the only preset under this filament is deleted, the filament will " "be deleted after exiting the dialog." msgstr "" +"Note: If the only preset under this filament is deleted, the filament will " +"be deleted after exiting the dialog." msgid "Presets inherited by other presets can not be deleted" -msgstr "" +msgstr "Presets inherited by other presets can not be deleted" msgid "The following presets inherits this preset." msgid_plural "The following preset inherits this preset." msgstr[0] "" msgid "Delete Preset" -msgstr "" +msgstr "Delete Preset" msgid "Are you sure to delete the selected preset?" -msgstr "" +msgstr "Are you sure to delete the selected preset?" msgid "Delete preset" -msgstr "" +msgstr "Delete preset" msgid "+ Add Preset" -msgstr "" +msgstr "+ Add Preset" msgid "Delete Filament" -msgstr "" +msgstr "Delete Filament" 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 "" +"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." msgid "Delete filament" -msgstr "" +msgstr "Delete filament" msgid "Add Preset" -msgstr "" +msgstr "Add Preset" msgid "Add preset for new printer" -msgstr "" +msgstr "Add preset for new printer" msgid "Copy preset from filament" -msgstr "" +msgstr "Copy preset from filament" msgid "The filament choice not find filament preset, please reselect it" -msgstr "" +msgstr "The filament choice not find filament preset, please reselect it" msgid "[Delete Required]" -msgstr "" +msgstr "[Delete Required]" msgid "Edit Preset" -msgstr "" +msgstr "Edit Preset" msgid "For more information, please check out Wiki" -msgstr "" +msgstr "For more information, please check out our Wiki" msgid "Collapse" -msgstr "" +msgstr "Collapse" msgid "Daily Tips" -msgstr "" +msgstr "Daily Tips" msgid "" "Your nozzle diameter in preset is not consistent with memorized nozzle " "diameter. Did you change your nozzle lately?" msgstr "" +"Your nozzle diameter in preset is not consistent with the saved nozzle " +"diameter. Have you changed your nozzle?" #, c-format, boost-format msgid "*Printing %s material with %s may cause nozzle damage" -msgstr "" +msgstr "*Printing %s material with %s may cause nozzle damage" msgid "Need select printer" -msgstr "" +msgstr "Need select printer" msgid "The start, end or step is not valid value." -msgstr "" +msgstr "The start, end or step is not valid value." msgid "" "Unable to calibrate: maybe because the set calibration value range is too " "large, or the step is too small" msgstr "" +"Unable to calibrate: maybe because the set calibration value range is too " +"large, or the step is too small" msgid "Physical Printer" -msgstr "" +msgstr "Physical Printer" msgid "Print Host upload" -msgstr "" +msgstr "Print Host upload" msgid "Could not get a valid Printer Host reference" -msgstr "" +msgstr "Could not get a valid Printer Host reference" msgid "Success!" -msgstr "" +msgstr "Success!" msgid "Are you sure to log out?" msgstr "" msgid "Refresh Printers" -msgstr "" +msgstr "Refresh Printers" msgid "" "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" "signed certificate." msgstr "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "" +msgstr "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgid "Open CA certificate file" -msgstr "" +msgstr "Open CA certificate file" #, c-format, boost-format msgid "" "On this system, %s uses HTTPS certificates from the system Certificate Store " "or Keychain." msgstr "" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." msgid "" "To use a custom CA file, please import your CA file into Certificate Store / " "Keychain." msgstr "" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." msgid "Login/Test" msgstr "" msgid "Connection to printers connected via the print host failed." -msgstr "" +msgstr "Connection to printers connected via the print host failed." #, c-format, boost-format msgid "Mismatched type of print host: %s" -msgstr "" +msgstr "Mismatched type of print host: %s" msgid "Connection to AstroBox works correctly." -msgstr "" +msgstr "Connection to AstroBox is working correctly." msgid "Could not connect to AstroBox" -msgstr "" +msgstr "Could not connect to AstroBox" msgid "Note: AstroBox version at least 1.1.0 is required." -msgstr "" +msgstr "Note: AstroBox version 1.1.0 or higher is required." msgid "Connection to Duet works correctly." -msgstr "" +msgstr "Connection to Duet is working correctly." msgid "Could not connect to Duet" -msgstr "" +msgstr "Could not connect to Duet" msgid "Unknown error occured" -msgstr "" +msgstr "Unknown error occured" msgid "Wrong password" -msgstr "" +msgstr "Wrong password" msgid "Could not get resources to create a new connection" -msgstr "" +msgstr "Could not get resources to create a new connection" msgid "Upload not enabled on FlashAir card." -msgstr "" +msgstr "Upload not enabled on FlashAir card." msgid "Connection to FlashAir works correctly and upload is enabled." -msgstr "" +msgstr "Connection to FlashAir is working correctly and upload is enabled." msgid "Could not connect to FlashAir" -msgstr "" +msgstr "Could not connect to FlashAir" msgid "" "Note: FlashAir with firmware 2.00.02 or newer and activated upload function " "is required." msgstr "" +"Note: FlashAir with firmware 2.00.02 or newer and activated upload function " +"is required." msgid "Connection to MKS works correctly." -msgstr "" +msgstr "Connection to MKS is working correctly." msgid "Could not connect to MKS" -msgstr "" +msgstr "Could not connect to MKS" msgid "Connection to OctoPrint works correctly." -msgstr "" +msgstr "Connection to OctoPrint is working correctly." msgid "Could not connect to OctoPrint" -msgstr "" +msgstr "Could not connect to OctoPrint" msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "" +msgstr "Note: OctoPrint version 1.1.0 or higher is required." msgid "Connection to Prusa SL1 / SL1S works correctly." -msgstr "" +msgstr "Connection to Prusa SL1 / SL1S is working correctly." msgid "Could not connect to Prusa SLA" -msgstr "" +msgstr "Could not connect to Prusa SLA" msgid "Connection to PrusaLink works correctly." -msgstr "" +msgstr "Connection to PrusaLink is working correctly." msgid "Could not connect to PrusaLink" -msgstr "" +msgstr "Could not connect to PrusaLink" msgid "Storages found" msgstr "" @@ -14202,19 +14612,21 @@ msgid "Could not connect to Prusa Connect" msgstr "" msgid "Connection to Repetier works correctly." -msgstr "" +msgstr "Connection to Repetier is working correctly." msgid "Could not connect to Repetier" -msgstr "" +msgstr "Could not connect to Repetier" msgid "Note: Repetier version at least 0.90.0 is required." -msgstr "" +msgstr "Note: Repetier version 0.90.0 or higher is required." #, boost-format msgid "" "HTTP status: %1%\n" "Message body: \"%2%\"" msgstr "" +"HTTP status: %1%\n" +"Message body: \"%2%\"" #, boost-format msgid "" @@ -14222,6 +14634,9 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"Parsing of host response failed.\n" +"Message body: \"%1%\"\n" +"Error: \"%2%\"" #, boost-format msgid "" @@ -14229,35 +14644,51 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"Enumeration of host printers failed.\n" +"Message body: \"%1%\"\n" +"Error: \"%2%\"" msgid "" "It has a small layer height, and results in almost negligible layer lines " "and high printing quality. It is suitable for most general printing cases." msgstr "" +"It has a small layer height, and results in almost negligible layer lines " +"and high print quality. It is suitable for most general printing cases." 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. So, it results in " "much higher printing quality, but a much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" +"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 longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " "height, and results in slightly visible layer lines, but shorter printing " "time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " "height, and results in almost invisible layer lines and higher printing " "quality, but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14265,12 +14696,19 @@ msgid "" "Gyroid. So, it results in almost invisible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " "height, and results in minimal layer lines and higher printing quality, but " "shorter printing time." msgstr "" +"Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " +"height. This results in minimal layer lines and higher print quality but " +"longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14278,35 +14716,53 @@ msgid "" "Gyroid. So, it results in minimal layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "It has a general layer height, and results in general layer lines and " "printing quality. It is suitable for most general printing cases." msgstr "" +"It has a normal layer height, and results in average layer lines and print " +"quality. It is suitable for most printing cases." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but slightly shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14314,12 +14770,19 @@ msgid "" "Gyroid. So, it results in less apparent layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14327,64 +14790,95 @@ msgid "" "Gyroid. So, it results in almost negligible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and longer printing " "time." msgstr "" +"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." msgid "" "It has a big layer height, and results in apparent layer lines and ordinary " "printing quality and printing time." msgstr "" +"It has a big layer height, and results in apparent layer lines and ordinary " +"printing quality and printing time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in much more apparent layer lines and much lower " "printing quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and slight higher printing " "quality, but longer printing time." msgstr "" +"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 slightly higher print " +"quality but longer print time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" +"It has a very big layer height, and results in very apparent layer lines, " +"low print quality and shorter printing time." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " "height, and results in very apparent layer lines and much lower printing " "quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " "layer height, and results in extremely apparent layer lines and much lower " "printing quality, but much shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -14392,12 +14886,18 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " "height, and results in less but still apparent layer lines and slightly " "higher printing quality, but longer printing time in some printing cases." msgstr "" +"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." msgid "Connected to Obico successfully!" msgstr "" @@ -14522,6 +15022,9 @@ msgid "" "Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " "problems on the Windows system?" msgstr "" +"Fix Model\n" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " +"problems on the Windows system?" #: resources/data/hints.ini: [hint:Timelapse] msgid "" @@ -14741,6 +15244,10 @@ msgid "" "extruder/hotend clogging when printing lower temperature filament with a " "higher enclosure temperature. More info about this in the Wiki." msgstr "" +"When do you need to print with the printer door opened?\n" +"Did 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? There is more info about this in the Wiki." #: resources/data/hints.ini: [hint:Avoid warping] msgid "" @@ -14749,6 +15256,13 @@ msgid "" "ABS, appropriately increasing the heatbed temperature can reduce the " "probability of warping." msgstr "" +"Avoid warping\n" +"Did 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?" + +#~ msgid "V" +#~ msgstr "V" #~ msgid "Export &Configs" #~ msgstr "構成データ" diff --git a/localization/i18n/ko/OrcaSlicer_ko.po b/localization/i18n/ko/OrcaSlicer_ko.po index 4148be61ef7..715f5f53b34 100644 --- a/localization/i18n/ko/OrcaSlicer_ko.po +++ b/localization/i18n/ko/OrcaSlicer_ko.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: 2024-05-01 04:51+0900\n" "Last-Translator: Hotsolidinfill <138652683+Hotsolidinfill@users.noreply." "github.com>, crwusiz \n" @@ -1376,9 +1376,6 @@ msgid "" "Configuration file \"%1%\" was loaded, but some values were not recognized." msgstr "구성 파일 \"%1%\"이(가) 로드되었지만 일부 값이 인식되지 않았습니다." -msgid "V" -msgstr "V" - 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." @@ -1486,6 +1483,9 @@ 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 "" + msgid "Choose one file (gcode/3mf):" msgstr "하나의 파일 선택 (gcode/3mf):" @@ -1557,6 +1557,11 @@ msgstr "진행 중인 업로드" msgid "Select a G-code file:" msgstr "G코드 파일 선택:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "파일 가져오기" @@ -3211,10 +3216,10 @@ msgid "Device" msgstr "장치" msgid "Task Sending" -msgstr "" +msgstr "Task Sending" msgid "Task Sent" -msgstr "" +msgstr "Task Sent" msgid "Edit multiple printers" msgstr "" @@ -3234,7 +3239,7 @@ msgid "Offline" msgstr "오프라인" msgid "No task" -msgstr "" +msgstr "No task" msgid "View" msgstr "시점" @@ -3246,16 +3251,16 @@ msgid "Edit Printers" msgstr "" msgid "Device Name" -msgstr "" +msgstr "Device Name" msgid "Task Name" -msgstr "" +msgstr "Task Name" msgid "Device Status" -msgstr "" +msgstr "Device Status" msgid "Actions" -msgstr "" +msgstr "Actions" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" @@ -3298,7 +3303,7 @@ msgid "Pending" msgstr "" msgid "Sending" -msgstr "" +msgstr "전송 중…" msgid "Sending Finish" msgstr "" @@ -3325,22 +3330,22 @@ msgid "Stop" msgstr "정지" msgid "Task Status" -msgstr "" +msgstr "Task Status" msgid "Sent Time" -msgstr "" +msgstr "Sent Time" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "There are no tasks to be sent!" msgid "No historical tasks!" -msgstr "" +msgstr "No historical tasks!" msgid "Loading..." msgstr "로딩 중..." msgid "No AMS" -msgstr "" +msgstr "No AMS" msgid "Send to Multi-device" msgstr "여러 장치로 보내기" @@ -3358,22 +3363,31 @@ msgid "The number of printers in use simultaneously cannot be equal to 0." msgstr "" msgid "Use External Spool" -msgstr "" +msgstr "Use External Spool" msgid "Use AMS" -msgstr "" +msgstr "Use AMS" msgid "Select Printers" -msgstr "" +msgstr "Select Printers" msgid "Ams Status" -msgstr "" +msgstr "AMS Status" msgid "Printing Options" +msgstr "Printing Options" + +msgid "Bed Leveling" +msgstr "베드 레벨링" + +msgid "Timelapse" +msgstr "타임랩스" + +msgid "Flow Dynamic Calibration" msgstr "" msgid "Send Options" -msgstr "" +msgstr "Send Options" msgid "Send" msgstr "전송" @@ -3382,13 +3396,16 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" +"printers at the same time. (It depends on how many devices can undergo " +"heating at the same time.)" msgid "Wait" -msgstr "" +msgstr "Wait" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" +"minute each batch. (It depends on how long it takes to complete heating.)" msgid "Name is invalid;" msgstr "이름이 잘못되었습니다;" @@ -4566,6 +4583,12 @@ msgstr "3MF/STL/STEP/SVG/OBJ/AMF 가져오기" msgid "Load a model" msgstr "모델 불러오기" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "설정 가져오기" @@ -4966,9 +4989,6 @@ msgstr "월별 그룹 파일, 최근 파일 순." msgid "Show all files, recent first." msgstr "모든 파일 표시, 최근 파일 순." -msgid "Timelapse" -msgstr "타임랩스" - msgid "Switch to timelapse files." msgstr "타임랩스 파일로 전환합니다." @@ -5540,12 +5560,12 @@ msgstr[0] "%1$d 개체가 잘라낸 개체의 부품으로 로드되었습니다 msgid "ERROR" msgstr "오류" -msgid "CANCELED" -msgstr "취소됨" - msgid "COMPLETED" msgstr "완료됨" +msgid "CANCELED" +msgstr "취소됨" + msgid "Cancel upload" msgstr "업로드 취소" @@ -6146,6 +6166,20 @@ msgstr "유효한 G코드를 포함하지 않습니다." msgid "Error occurs while loading G-code file" msgstr "G코드 파일을 로드하는 중 오류가 발생했습니다" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "드롭 프로젝트 파일" @@ -6554,6 +6588,20 @@ msgstr "" "활성화된 경우 OrcaSlicer를 기본 응용 프로그램으로 설정하여 .step 파일을 엽니" "다" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "최근 프로젝트 최대 표시" @@ -6915,9 +6963,6 @@ msgstr "뱀부 텍스처 PEI 플레이트" msgid "Send print job to" msgstr "출력 작업 보내기" -msgid "Bed Leveling" -msgstr "베드 레벨링" - msgid "Flow Dynamics Calibration" msgstr "동적 유량 교정" @@ -12960,17 +13005,29 @@ msgstr "닦기 타워 청소 선 간격" msgid "Spacing of purge lines on the wipe tower." msgstr "닦기 타워의 청소 선 간격입니다." -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -15910,6 +15967,9 @@ msgstr "" "ABS 등 뒤틀림이 발생하기 쉬운 소재를 출력할 때, 히트베드 온도를 적절하게 높이" "면 뒤틀림 가능성을 줄일 수 있다는 사실을 알고 계셨나요?" +#~ msgid "V" +#~ msgstr "V" + #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " #~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " diff --git a/localization/i18n/nl/OrcaSlicer_nl.po b/localization/i18n/nl/OrcaSlicer_nl.po index 3b38d6b6e83..40d3fd558d3 100644 --- a/localization/i18n/nl/OrcaSlicer_nl.po +++ b/localization/i18n/nl/OrcaSlicer_nl.po @@ -1,14 +1,15 @@ +# msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Localazy (https://localazy.com)\n" "Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n" +"X-Generator: Localazy (https://localazy.com)\n" msgid "Supports Painting" msgstr "Ondersteuning (Support) tekenen" @@ -150,7 +151,7 @@ msgid "Height range" msgstr "Hoogtebereik" msgid "Alt + Shift + Enter" -msgstr "" +msgstr "Alt + Shift + Enter" msgid "Toggle Wireframe" msgstr "Schakel draadmodel in of uit" @@ -165,10 +166,10 @@ msgid "Height Range" msgstr "Hoogtebereik" msgid "Vertical" -msgstr "" +msgstr "Verticaal" msgid "Horizontal" -msgstr "" +msgstr "Horizontaal" msgid "Remove painted color" msgstr "Geschilderd kleur verwijderen" @@ -269,16 +270,16 @@ msgid "uniform scale" msgstr "Uniform schalen" msgid "Planar" -msgstr "" +msgstr "Planair" msgid "Dovetail" -msgstr "" +msgstr "Zwaluwstaart" msgid "Auto" msgstr "Automatisch" msgid "Manual" -msgstr "" +msgstr "Handmatig" msgid "Plug" msgstr "Plug" @@ -287,7 +288,7 @@ msgid "Dowel" msgstr "Deuvel" msgid "Snap" -msgstr "" +msgstr "Snap" msgid "Prism" msgstr "" @@ -302,7 +303,7 @@ msgid "Hexagon" msgstr "Zeskant" msgid "Keep orientation" -msgstr "" +msgstr "Oriëntatie behouden" msgid "Place on cut" msgstr "Op kniplijn plaatsen" @@ -326,19 +327,19 @@ msgstr "Vorm" #. Size in emboss direction #. TRN - Input label. Be short as possible msgid "Depth" -msgstr "" +msgstr "Diepte" msgid "Groove" -msgstr "" +msgstr "Groef" msgid "Width" msgstr "Breedte" msgid "Flap Angle" -msgstr "" +msgstr "Klephoek" msgid "Groove Angle" -msgstr "" +msgstr "Groefhoek" msgid "Part" msgstr "Onderdeel" @@ -361,7 +362,7 @@ msgid "Move cut plane" msgstr "" msgid "Mode" -msgstr "" +msgstr "Modus" msgid "Change cut mode" msgstr "" @@ -409,7 +410,7 @@ msgid "Remove connectors" msgstr "Verbindingen verwijderen" msgid "Bulge" -msgstr "" +msgstr "Uitstulping" msgid "Bulge proportion related to radius" msgstr "" @@ -519,6 +520,8 @@ msgstr "" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" msgstr "" +"Niet-gevormde randen worden veroorzaakt door snijgereedschap: wil je dit nu " +"herstellen?" msgid "Repairing model object" msgstr "Model object repareren" @@ -618,13 +621,13 @@ msgid "Remove selection" msgstr "Selectie verwijderen" msgid "Entering Seam painting" -msgstr "" +msgstr "Naad schilderen invoeren" msgid "Leaving Seam painting" -msgstr "" +msgstr "Naad schilderen verlaten" msgid "Paint-on seam editing" -msgstr "" +msgstr "Paint-on naadbewerking" #. TRN - Input label. Be short as possible #. Select look of letter shape @@ -763,7 +766,7 @@ msgstr "" msgctxt "EmbossOperation" msgid "Cut" -msgstr "" +msgstr "Knippen" msgid "Click to change part type into negative volume." msgstr "" @@ -905,19 +908,19 @@ msgstr "" msgctxt "Alignment" msgid "Left" -msgstr "" +msgstr "Links" msgctxt "Alignment" msgid "Center" -msgstr "" +msgstr "Centreren" msgctxt "Alignment" msgid "Right" -msgstr "" +msgstr "Rechts" msgctxt "Alignment" msgid "Top" -msgstr "" +msgstr "Bovenste" msgctxt "Alignment" msgid "Middle" @@ -925,7 +928,7 @@ msgstr "" msgctxt "Alignment" msgid "Bottom" -msgstr "" +msgstr "Onderste" msgid "Revert alignment." msgstr "" @@ -1237,43 +1240,43 @@ msgid "SVG file does NOT contain a single path to be embossed (%1%)." msgstr "" msgid "Vertex" -msgstr "" +msgstr "Vertex" msgid "Edge" -msgstr "" +msgstr "Rand" msgid "Plane" -msgstr "" +msgstr "Vlak" msgid "Point on edge" -msgstr "" +msgstr "Punt op rand" msgid "Point on circle" -msgstr "" +msgstr "Punt op cirkel" msgid "Point on plane" -msgstr "" +msgstr "Punt op vlak" msgid "Center of edge" -msgstr "" +msgstr "Midden van rand" msgid "Center of circle" -msgstr "" +msgstr "Middelpunt van cirkel" msgid "ShiftLeft mouse button" msgstr "" msgid "Select feature" -msgstr "" +msgstr "Functie selecteren" msgid "Select point" -msgstr "" +msgstr "Kies punt" msgid "Delete" msgstr "Verwijderen" msgid "Restart selection" -msgstr "" +msgstr "Selectie herstarten" msgid "Esc" msgstr "Esc" @@ -1282,14 +1285,14 @@ msgid "Unselect" msgstr "" msgid "Measure" -msgstr "" +msgstr "Maatregel" msgid "Edit to scale" -msgstr "" +msgstr "Op schaal bewerken" msgctxt "Verb" msgid "Scale" -msgstr "" +msgstr "Schalen" msgid "None" msgstr "Geen" @@ -1301,22 +1304,22 @@ msgid "Length" msgstr "Lengte" msgid "Selection" -msgstr "" +msgstr "Selectie" msgid "Copy to clipboard" msgstr "Kopieer naar klembord" msgid "Perpendicular distance" -msgstr "" +msgstr "Perpendicular distance" msgid "Distance" -msgstr "" +msgstr "Distance" msgid "Direct distance" -msgstr "" +msgstr "Direct distance" msgid "Distance XYZ" -msgstr "" +msgstr "Distance XYZ" msgid "Ctrl+" msgstr "Ctrl+" @@ -1358,9 +1361,6 @@ msgstr "" "Configuratiebestand “%1%” werd geladen, maar sommige waarden werden niet " "herkend." -msgid "V" -msgstr "V" - 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." @@ -1466,6 +1466,9 @@ msgstr "Kies één of meer bestanden (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Kies één of meer bestanden (3mf/step/stl/svg/obj/amf):" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "Kies één bestand (gcode/3mf):" @@ -1502,9 +1505,12 @@ 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 "" +"Het aantal gebruikersvoorinstellingen dat in de cloud is opgeslagen, heeft " +"de bovengrens overschreden. Nieuw gemaakte gebruikersvoorinstellingen kunnen " +"alleen lokaal worden gebruikt." msgid "Sync user presets" -msgstr "" +msgstr "Synchroniseer gebruikersvoorinstellingen" msgid "Loading user preset" msgstr "Voorinstelling voor gebruiker laden" @@ -1533,6 +1539,11 @@ msgstr "Lopende uploads" msgid "Select a G-code file:" msgstr "Selecteer een G-code bestand:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Importeer bestand" @@ -1667,10 +1678,10 @@ msgid "Cone" msgstr "Kegel" msgid "Disc" -msgstr "" +msgstr "Schijf" msgid "Torus" -msgstr "" +msgstr "Torus" msgid "Orca Cube" msgstr "Orca-kubus" @@ -1729,10 +1740,10 @@ msgid "Fix model" msgstr "Repareer model" msgid "Export as one STL" -msgstr "" +msgstr "Exporteren als één STL" msgid "Export as STLs" -msgstr "" +msgstr "Exporteren als STL's" msgid "Reload from disk" msgstr "Opnieuw laden vanaf schijf" @@ -2271,7 +2282,7 @@ msgid "Pause" msgstr "Pauze" msgid "Template" -msgstr "" +msgstr "Sjabloon" msgid "Custom" msgstr "Aangepast" @@ -2322,7 +2333,7 @@ msgid "Change filament at the beginning of this layer." msgstr "Change filament at the beginning of this layer." msgid "Delete Pause" -msgstr "" +msgstr "Pauze verwijderen" msgid "Delete Custom Template" msgstr "Delete Custom Template" @@ -2340,7 +2351,7 @@ msgid "No printer" msgstr "Geen printer" msgid "..." -msgstr "" +msgstr "..." msgid "Failed to connect to the server" msgstr "Verbinding maken met de server is mislukt" @@ -2373,7 +2384,7 @@ msgid "?" msgstr " ?" msgid "/" -msgstr "" +msgstr "/" msgid "Empty" msgstr "Leeg" @@ -2382,13 +2393,13 @@ msgid "AMS" msgstr "AMS" msgid "Auto Refill" -msgstr "" +msgstr "Auto Refill" msgid "AMS not connected" msgstr "AMS niet aangesloten" msgid "Load" -msgstr "" +msgstr "Load" msgid "Unload" msgstr "Lossen" @@ -2420,7 +2431,7 @@ msgid "Cancel calibration" msgstr "Kalibreren afbreken" msgid "Idling..." -msgstr "" +msgstr "Inactief..." msgid "Heat the nozzle" msgstr "Verwarm de nozzle" @@ -2438,13 +2449,13 @@ msgid "Purge old filament" msgstr "Oud filament verwijderen" msgid "Feed Filament" -msgstr "" +msgstr "Voer filament in" msgid "Confirm extruded" -msgstr "" +msgstr "Bevestig geëxtrudeerd" msgid "Check filament location" -msgstr "" +msgstr "Controleer de positie van het filament" msgid "Grab new filament" msgstr "Grab new filament" @@ -2453,6 +2464,8 @@ msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" +"Kies een AMS-sleuf en druk op de knop \"Laden\" of \"Lossen\" om automatisch " +"filament te laden of te ontladen." msgid "Edit" msgstr "Bewerken" @@ -2532,7 +2545,7 @@ msgid "Orienting canceled." msgstr "" msgid "Filling" -msgstr "" +msgstr "Vullen" msgid "Bed filling canceled." msgstr "Bed filling canceled." @@ -2616,7 +2629,7 @@ msgid "Sending print job through cloud service" msgstr "Printopdracht verzenden via cloud service" msgid "Print task sending times out." -msgstr "" +msgstr "Het verzenden van de printtaak loopt uit." msgid "Service Unavailable" msgstr "Service niet beschikbaar" @@ -2634,6 +2647,7 @@ msgstr "Succesvol verzonden. Springt automatisch naar de apparaatpagina in %ss" #, c-format, boost-format msgid "Successfully sent. Will automatically jump to the next page in %ss" msgstr "" +"Succesvol verzonden. Springt automatisch naar de volgende pagina in %ss" msgid "An SD card needs to be inserted before printing via LAN." msgstr "" @@ -2799,10 +2813,10 @@ msgstr "" "ondersteund." msgid "Factors of Flow Dynamics Calibration" -msgstr "" +msgstr "Factoren van Flow Dynamics Calibration" msgid "PA Profile" -msgstr "" +msgstr "PA-profiel" msgid "Factor K" msgstr "Factor K" @@ -2820,10 +2834,10 @@ msgid "You need to select the material type and color first." msgstr "You need to select the material type and color first." msgid "Please input a valid value (K in 0~0.3)" -msgstr "" +msgstr "Voer een geldige waarde in (K in 0~0.3)" msgid "Please input a valid value (K in 0~0.3, N in 0.6~2.0)" -msgstr "" +msgstr "Voer een geldige waarde in (K in 0~0,3, N in 0,6~2,0)" msgid "Other Color" msgstr "Other Color" @@ -2931,7 +2945,7 @@ msgid "Print with the filament mounted on the back of chassis" msgstr "Print met filament op een externe spoel" msgid "Current Cabin humidity" -msgstr "" +msgstr "Current Cabin humidity" msgid "" "Please change the desiccant when it is too wet. The indicator may not " @@ -2939,6 +2953,10 @@ msgid "" "desiccant pack is changed. it take hours to absorb the moisture, low " "temperatures also slow down the process." msgstr "" +"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 takes a few hours to absorb the moisture, and " +"low temperatures also slow down the process." msgid "" "Config which AMS slot should be used for a filament used in the print job" @@ -2971,16 +2989,19 @@ msgid "" "When the current material run out, the printer will continue to print in the " "following order." msgstr "" +"Als het huidige materiaal op is, gaat de printer verder met afdrukken in de " +"volgende volgorde." msgid "Group" msgstr "Group" msgid "The printer does not currently support auto refill." -msgstr "" +msgstr "De printer ondersteunt automatisch bijvullen momenteel niet." msgid "" "AMS filament backup is not enabled, please enable it in the AMS settings." msgstr "" +"AMS filament backup is not enabled; please enable it in the AMS settings." msgid "" "If there are two identical filaments in AMS, AMS filament backup will be " @@ -2988,12 +3009,16 @@ msgid "" "(Currently supporting automatic supply of consumables with the same brand, " "material type, and color)" msgstr "" +"If there are two identical filaments in an AMS, AMS filament backup will be " +"enabled. \n" +"(This currently supports automatic supply of consumables with the same " +"brand, material type, and color)" msgid "DRY" -msgstr "" +msgstr "DRY" msgid "WET" -msgstr "" +msgstr "WET" msgid "AMS Settings" msgstr "AMS Instellingen" @@ -3012,6 +3037,8 @@ msgid "" "Note: if a new filament is inserted during printing, the AMS will not " "automatically read any information until printing is completed." msgstr "" +"Opmerking: als er tijdens het printen een nieuw filament wordt geplaatst, " +"zal het AMS niet automatisch informatie lezen totdat het printen is voltooid." msgid "" "When inserting a new filament, the AMS will not automatically read its " @@ -3064,12 +3091,14 @@ msgstr "" "eigenschappen wanneer het huidige filament op is." msgid "Air Printing Detection" -msgstr "" +msgstr "Air Printing Detection" msgid "" "Detects clogging and filament grinding, halting printing immediately to " "conserve time and filament." msgstr "" +"Detects clogging and filament grinding, halting printing immediately to " +"conserve time and filament." msgid "File" msgstr "Bestand" @@ -3148,7 +3177,7 @@ msgid "Running post-processing scripts" msgstr "Het uitvoeren van post-processing scripts" msgid "Successfully executed post-processing script" -msgstr "" +msgstr "Successfully executed post-processing script" msgid "Unknown error occured during exporting G-code." msgstr "" @@ -3214,10 +3243,10 @@ msgid "Device" msgstr "Apparaat" msgid "Task Sending" -msgstr "" +msgstr "Task Sending" msgid "Task Sent" -msgstr "" +msgstr "Task Sent" msgid "Edit multiple printers" msgstr "" @@ -3237,7 +3266,7 @@ msgid "Offline" msgstr "Offline" msgid "No task" -msgstr "" +msgstr "No task" msgid "View" msgstr "Weergave" @@ -3249,16 +3278,16 @@ msgid "Edit Printers" msgstr "" msgid "Device Name" -msgstr "" +msgstr "Device Name" msgid "Task Name" -msgstr "" +msgstr "Task Name" msgid "Device Status" -msgstr "" +msgstr "Device Status" msgid "Actions" -msgstr "" +msgstr "Actions" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" @@ -3301,7 +3330,7 @@ msgid "Pending" msgstr "" msgid "Sending" -msgstr "" +msgstr "Verzenden" msgid "Sending Finish" msgstr "" @@ -3328,25 +3357,25 @@ msgid "Stop" msgstr "Stop" msgid "Task Status" -msgstr "" +msgstr "Task Status" msgid "Sent Time" -msgstr "" +msgstr "Sent Time" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "There are no tasks to be sent!" msgid "No historical tasks!" -msgstr "" +msgstr "No historical tasks!" msgid "Loading..." msgstr "Laden..." msgid "No AMS" -msgstr "" +msgstr "No AMS" msgid "Send to Multi-device" -msgstr "" +msgstr "Send to Multi-device" msgid "Preparing print job" msgstr "Print opdracht voorbereiden" @@ -3361,22 +3390,31 @@ msgid "The number of printers in use simultaneously cannot be equal to 0." msgstr "" msgid "Use External Spool" -msgstr "" +msgstr "Use External Spool" msgid "Use AMS" -msgstr "" +msgstr "Use AMS" msgid "Select Printers" -msgstr "" +msgstr "Select Printers" msgid "Ams Status" -msgstr "" +msgstr "AMS Status" msgid "Printing Options" +msgstr "Printing Options" + +msgid "Bed Leveling" +msgstr "Bed leveling" + +msgid "Timelapse" +msgstr "Timelapse" + +msgid "Flow Dynamic Calibration" msgstr "" msgid "Send Options" -msgstr "" +msgstr "Send Options" msgid "Send" msgstr "Versturen" @@ -3385,13 +3423,16 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" +"printers at the same time. (It depends on how many devices can undergo " +"heating at the same time.)" msgid "Wait" -msgstr "" +msgstr "Wait" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" +"minute each batch. (It depends on how long it takes to complete heating.)" msgid "Name is invalid;" msgstr "Naam is ongeldig;" @@ -3491,14 +3532,18 @@ msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" msgstr "" +"De aanbevolen minimumtemperatuur is lager dan 190 graden of de aanbevolen " +"maximumtemperatuur is hoger dan 300 graden.\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " "maximum temperature.\n" msgstr "" +"The recommended minimum temperature cannot be higher than the recommended " +"maximum temperature.\n" msgid "Please check.\n" -msgstr "" +msgstr "Controleer het.\n" msgid "" "Nozzle may be blocked when the temperature is out of recommended range.\n" @@ -3531,6 +3576,9 @@ msgid "" "it may result in material softening and clogging.The maximum safe " "temperature for the material is %d" msgstr "" +"Current chamber temperature is higher than the material's safe temperature; " +"this may result in material softening and nozzle clogs.The maximum safe " +"temperature for the material is %d" msgid "" "Too small layer height.\n" @@ -3653,7 +3701,7 @@ msgstr "" "layers is 0, sparse infill density is 0 and timelapse type is traditional." msgid " But machines with I3 structure will not generate timelapse videos." -msgstr "" +msgstr " Maar machines met een I3-structuur genereren geen timelapsevideo's." msgid "" "Change these settings automatically? \n" @@ -3728,46 +3776,47 @@ msgid "Paused due to heat bed temperature malfunction" msgstr "Onderbroken vanwege storing in de temperatuur van het printbed" msgid "Filament unloading" -msgstr "" +msgstr "Lossen van filament" msgid "Skip step pause" -msgstr "" +msgstr "Stappauze overslaan" msgid "Filament loading" -msgstr "" +msgstr "Filament bezig met laden" msgid "Motor noise calibration" -msgstr "" +msgstr "Kalibratie van motorgeluid" msgid "Paused due to AMS lost" -msgstr "" +msgstr "Gepauzeerd wegens verlies van AMS" msgid "Paused due to low speed of the heat break fan" msgstr "" +"Gepauzeerd vanwege lage snelheid van de ventilator voor warmteonderbreking" msgid "Paused due to chamber temperature control error" -msgstr "" +msgstr "Gepauzeerd vanwege een fout in de temperatuurregeling van de kamer" msgid "Cooling chamber" -msgstr "" +msgstr "Koelkamer" msgid "Paused by the Gcode inserted by user" -msgstr "" +msgstr "Gepauzeerd door de Gcode ingevoegd door gebruiker" msgid "Motor noise showoff" -msgstr "" +msgstr "Motorgeluid showoff" msgid "Nozzle filament covered detected pause" -msgstr "" +msgstr "Nozzle filament bedekt gedetecteerde pauze" msgid "Cutter error pause" -msgstr "" +msgstr "Pauze bij snijfout" msgid "First layer error pause" -msgstr "" +msgstr "Eerste laag foutpauze" msgid "Nozzle clog pause" -msgstr "" +msgstr "Pauze bij verstopping van het mondstuk" msgid "Unknown" msgstr "Onbekend" @@ -3798,18 +3847,27 @@ msgid "" "45℃.In order to avoid extruder clogging,low temperature filament(PLA/PETG/" "TPU) is not allowed to be loaded." msgstr "" +"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." 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 " "above 45℃." msgstr "" +"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 " +"above 45℃." 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 "" +"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℃." msgid "Failed to start printing job" msgstr "Het starten van de printopdracht is mislukt" @@ -3817,34 +3875,39 @@ msgstr "Het starten van de printopdracht is mislukt" msgid "" "This calibration does not support the currently selected nozzle diameter" msgstr "" +"Deze kalibratie ondersteunt de momenteel geselecteerde mondstukdiameter niet" msgid "Current flowrate cali param is invalid" -msgstr "" +msgstr "Huidige stroomsnelheid cali param is ongeldig" msgid "Selected diameter and machine diameter do not match" -msgstr "" +msgstr "Geselecteerde diameter en machinediameter komen niet overeen" msgid "Failed to generate cali gcode" -msgstr "" +msgstr "Cali gcode niet gegenereerd" msgid "Calibration error" -msgstr "" +msgstr "Kalibratiefout" msgid "TPU is not supported by AMS." -msgstr "" +msgstr "TPU wordt niet ondersteund door AMS." msgid "Bambu PET-CF/PA6-CF is not supported by AMS." -msgstr "" +msgstr "Bambu PET-CF/PA6-CF wordt niet ondersteund door AMS." msgid "" "Damp PVA will become flexible and get stuck inside AMS,please take care to " "dry it before use." msgstr "" +"Vochtige PVA zal flexibel worden en vast komen te zitten in de AMS, zorg er " +"dus voor dat je het droogt voor gebruik." 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-filamenten zijn hard en bros. Ze kunnen gemakkelijk breken of vast " +"komen te zitten in AMS." msgid "default" msgstr "Standaard" @@ -3927,7 +3990,7 @@ msgstr "Parametervalidatie" #, c-format, boost-format msgid "Value %s is out of range. The valid range is from %d to %d." -msgstr "" +msgstr "Value %s is out of range. The valid range is from %d to %d." msgid "Value is out of range." msgstr "Waarde is buiten het bereik." @@ -4010,7 +4073,7 @@ msgid "Flushed" msgstr "Flushed" msgid "Tower" -msgstr "" +msgstr "Toren" msgid "Total" msgstr "Totaal" @@ -4022,7 +4085,7 @@ msgid "Total time" msgstr "Totale tijd" msgid "Total cost" -msgstr "" +msgstr "Total cost" msgid "up to" msgstr "tot" @@ -4118,10 +4181,10 @@ msgid "Normal mode" msgstr "Normale modus" msgid "Total Filament" -msgstr "" +msgstr "Total Filament" msgid "Model Filament" -msgstr "" +msgstr "Model Filament" msgid "Prepare time" msgstr "Voorbereidingstijd" @@ -4217,7 +4280,7 @@ msgid "Spacing" msgstr "Uitlijning" msgid "0 means auto spacing." -msgstr "" +msgstr "0 means auto spacing." msgid "Auto rotate for arrangement" msgstr "Automatisch roteren voor rankschikking" @@ -4229,7 +4292,7 @@ msgid "Avoid extrusion calibration region" msgstr "Vermijd het extrusie kalibratie gebied" msgid "Align to Y axis" -msgstr "" +msgstr "Uitlijnen op Y-as" msgid "Add plate" msgstr "Printbed toevoegen" @@ -4295,7 +4358,7 @@ msgid "An object is layed over the boundary of plate." msgstr "Er bevind zich een object buiten de grenzen van de printplaat." msgid "A G-code path goes beyond the max print height." -msgstr "" +msgstr "Een G-codepad gaat verder dan de maximale printhoogte." msgid "A G-code path goes beyond the boundary of plate." msgstr "Een G-code pad treedt buiten de grenzen van de printplaat." @@ -4323,10 +4386,10 @@ msgid "Bed leveling" msgstr "Bed leveling" msgid "Vibration compensation" -msgstr "" +msgstr "Trillingscompensatie" msgid "Motor noise cancellation" -msgstr "" +msgstr "Motorruisonderdrukking" msgid "Calibration program" msgstr "Kalibratie programma" @@ -4353,7 +4416,7 @@ msgid "Calibrating" msgstr "Kalibreren" msgid "No step selected" -msgstr "" +msgstr "Geen stap geselecteerd" msgid "Auto-record Monitoring" msgstr "Automatische opnamebewaking" @@ -4362,7 +4425,7 @@ msgid "Go Live" msgstr "Live gaan" msgid "Liveview Retry" -msgstr "" +msgstr "Liveweergave opnieuw proberen" msgid "Resolution" msgstr "Resolutie" @@ -4420,7 +4483,7 @@ msgid "Preview" msgstr "Voorvertoning" msgid "Multi-device" -msgstr "" +msgstr "Multi-device" msgid "Project" msgstr "Project" @@ -4566,6 +4629,12 @@ msgstr "3MF/STL/STEP/SVG/OBJ/AMF importeren" msgid "Load a model" msgstr "Laad een model" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Importeer configuratie" @@ -4576,10 +4645,10 @@ msgid "Import" msgstr "Importeren" msgid "Export all objects as one STL" -msgstr "" +msgstr "Alle objecten exporteren als één STL" msgid "Export all objects as STLs" -msgstr "" +msgstr "Alle objecten exporteren als STL's" msgid "Export Generic 3MF" msgstr "Generiek 3MF exporteren" @@ -4705,49 +4774,49 @@ msgid "Help" msgstr "Help" msgid "Temperature Calibration" -msgstr "" +msgstr "Temperatuurkalibratie" msgid "Pass 1" -msgstr "" +msgstr "Fase 1" msgid "Flow rate test - Pass 1" -msgstr "" +msgstr "Stroomsnelheidstest - Fase 1" msgid "Pass 2" -msgstr "" +msgstr "Fase 2" msgid "Flow rate test - Pass 2" -msgstr "" +msgstr "Stroomsnelheidstest - Fase 2" msgid "Flow rate" -msgstr "" +msgstr "Flowrate" msgid "Pressure advance" -msgstr "" +msgstr "Drukverhoging" msgid "Retraction test" -msgstr "" +msgstr "Retractietest" msgid "Orca Tolerance Test" -msgstr "" +msgstr "Orca Tolerance Test" msgid "Max flowrate" -msgstr "" +msgstr "Max flowrate" msgid "VFA" -msgstr "" +msgstr "VFA" msgid "More..." -msgstr "" +msgstr "Meer..." msgid "Tutorial" -msgstr "" +msgstr "Tutorial" msgid "Calibration help" -msgstr "" +msgstr "Hulp bij kalibratie" msgid "More calibrations" -msgstr "" +msgstr "Meer kalibraties" msgid "&Open G-code" msgstr "&Open G-code" @@ -4863,48 +4932,57 @@ msgid "Synchronization" msgstr "Synchronisatie" msgid "The device cannot handle more conversations. Please retry later." -msgstr "" +msgstr "Het apparaat kan niet meer gesprekken aan. Probeer het later opnieuw." msgid "Player is malfunctioning. Please reinstall the system player." -msgstr "" +msgstr "De speler werkt niet goed. Installeer de systeemspeler opnieuw." msgid "The player is not loaded, please click \"play\" button to retry." msgstr "" +"De speler is niet geladen; klik op de \"play\" knop om het opnieuw te " +"proberen." msgid "Please confirm if the printer is connected." -msgstr "" +msgstr "Controleer of de printer is aangesloten." msgid "" "The printer is currently busy downloading. Please try again after it " "finishes." msgstr "" +"De printer is momenteel bezig met downloaden. Probeer het opnieuw nadat het " +"is voltooid." msgid "Printer camera is malfunctioning." -msgstr "" +msgstr "De printercamera werkt niet goed." msgid "Problem occured. Please update the printer firmware and try again." msgstr "" +"Er heeft zich een probleem voorgedaan. Werk de printerfirmware bij en " +"probeer het opnieuw." msgid "" "LAN Only Liveview is off. Please turn on the liveview on printer screen." msgstr "" +"LAN Only Liveview is off. Please turn on the liveview on printer screen." msgid "Please enter the IP of printer to connect." -msgstr "" +msgstr "Voer het IP-adres in van de printer waarmee u verbinding wilt maken." msgid "Initializing..." msgstr "Initialiseren..." msgid "Connection Failed. Please check the network and try again" -msgstr "" +msgstr "Verbinding mislukt. Controleer het netwerk en probeer het opnieuw" msgid "" "Please check the network and try again, You can restart or update the " "printer if the issue persists." msgstr "" +"Controleer het netwerk en probeer het opnieuw. U kunt de printer opnieuw " +"opstarten of bijwerken als het probleem zich blijft voordoen." msgid "The printer has been logged out and cannot connect." -msgstr "" +msgstr "De printer is afgemeld en kan geen verbinding maken." msgid "Stopped." msgstr "Gestopt." @@ -4962,9 +5040,6 @@ msgstr "Groepeer bestanden per maand, recent eerst." msgid "Show all files, recent first." msgstr "Toon alle bestanden, recentste eerst." -msgid "Timelapse" -msgstr "Timelapse" - msgid "Switch to timelapse files." msgstr "Schakel over naar timelapse bestanden." @@ -4996,7 +5071,7 @@ msgid "Refresh" msgstr "Vernieuwen" msgid "Reload file list from printer." -msgstr "" +msgstr "Reload file list from printer." msgid "No printers." msgstr "Geen printers" @@ -5009,10 +5084,10 @@ msgid "Loading file list..." msgstr "Bestandslijst laden..." msgid "No files" -msgstr "" +msgstr "Geen bestanden" msgid "Load failed" -msgstr "" +msgstr "Load failed" msgid "Initialize failed (Device connection not ready)!" msgstr "Initialization failed (Device connection not ready)!" @@ -5021,15 +5096,17 @@ msgid "" "Browsing file in SD card is not supported in current firmware. Please update " "the printer firmware." msgstr "" +"Browsing file in SD card is not supported in current firmware. Please update " +"the printer firmware." msgid "Initialize failed (Storage unavailable, insert SD card.)!" msgstr "" msgid "LAN Connection Failed (Failed to view sdcard)" -msgstr "" +msgstr "LAN Connection Failed (Failed to view sdcard)" msgid "Browsing file in SD card is not supported in LAN Only Mode." -msgstr "" +msgstr "Browsing file in SD card is not supported in LAN Only Mode." #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -5056,10 +5133,10 @@ msgid "Fetching model infomations ..." msgstr "Fetching model information..." msgid "Failed to fetch model information from printer." -msgstr "" +msgstr "Mislukt bij het ophalen van modelgegevens van de printer." msgid "Failed to parse model information." -msgstr "" +msgstr "Mislukt bij het parsen van modelinformatie." msgid "" "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " @@ -5075,6 +5152,8 @@ msgid "" "File: %s\n" "Title: %s\n" msgstr "" +"File: %s\n" +"Title: %s\n" msgid "Download waiting..." msgstr "Download wacht..." @@ -5096,22 +5175,24 @@ msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." msgstr "" +"Reconnecting the printer, the operation cannot be completed immediately, " +"please try again later." msgid "File does not exist." -msgstr "" +msgstr "Bestand bestaat niet." msgid "File checksum error. Please retry." -msgstr "" +msgstr "Fout in bestandscontrolesom. Probeer opnieuw." msgid "Not supported on the current printer version." -msgstr "" +msgstr "Niet ondersteund op de huidige printerversie." msgid "Storage unavailable, insert SD card." -msgstr "" +msgstr "Opslagruimte niet beschikbaar, Micro SD-kaart plaatsen." #, c-format, boost-format msgid "Error code: %d" -msgstr "" +msgstr "Foutcode: %d" msgid "Speed:" msgstr "Snelheid" @@ -5168,17 +5249,21 @@ msgid "" "You have completed printing the mall model, \n" "but the synchronization of rating information has failed." msgstr "" +"You have completed printing the mall model, \n" +"but synchronizing rating information has failed." msgid "How do you like this printing file?" -msgstr "" +msgstr "Wat vind je van dit afdrukbestand?" msgid "" "(The model has already been rated. Your rating will overwrite the previous " "rating.)" msgstr "" +"(Het model is al beoordeeld. Uw beoordeling overschrijft de vorige " +"beoordeling)." msgid "Rate" -msgstr "" +msgstr "Tarief" msgid "Camera" msgstr "Camera" @@ -5196,7 +5281,7 @@ msgid "Control" msgstr "Besturing" msgid "Printer Parts" -msgstr "" +msgstr "Printer Parts" msgid "Print Options" msgstr "Print Opties" @@ -5253,6 +5338,8 @@ msgid "" "Please heat the nozzle to above 170 degree before loading or unloading " "filament." msgstr "" +"Verwarm het mondstuk tot boven de 170 graden voordat u filament laadt of " +"lost." msgid "Still unload" msgstr "Nog steeds aan het ontladen" @@ -5289,95 +5376,110 @@ msgid "Can't start this without SD card." msgstr "Kan niet starten zonder microSD-kaart." msgid "Rate the Print Profile" -msgstr "" +msgstr "Beoordeel het printprofiel" msgid "Comment" -msgstr "" +msgstr "Opmerking" msgid "Rate this print" -msgstr "" +msgstr "Beoordeel deze print" msgid "Add Photo" -msgstr "" +msgstr "Foto toevoegen" msgid "Delete Photo" -msgstr "" +msgstr "Foto verwijderen" msgid "Submit" -msgstr "" +msgstr "Indienen" msgid "Please click on the star first." -msgstr "" +msgstr "Klik eerst op de ster." msgid "InFo" -msgstr "" +msgstr "Informatie" msgid "Get oss config failed." -msgstr "" +msgstr "Het ophalen van de oss-configuratie is mislukt." msgid "Upload Pictrues" -msgstr "" +msgstr "Upload Pictures" msgid "Number of images successfully uploaded" -msgstr "" +msgstr "Aantal afbeeldingen succesvol geüpload" msgid " upload failed" -msgstr "" +msgstr "uploaden mislukt" msgid " upload config prase failed\n" -msgstr "" +msgstr " upload config prase mislukt\n" msgid " No corresponding storage bucket\n" -msgstr "" +msgstr " Geen bijbehorende opslag bucket\n" msgid " can not be opened\n" -msgstr "" +msgstr " cannot be opened\n" msgid "" "The following issues occurred during the process of uploading images. Do you " "want to ignore them?\n" "\n" msgstr "" +"De volgende problemen deden zich voor tijdens het uploaden van afbeeldingen. " +"Wil je ze negeren?\n" +"\n" msgid "info" msgstr "Informatie" msgid "Synchronizing the printing results. Please retry a few seconds later." msgstr "" +"De afdrukresultaten worden gesynchroniseerd. Probeer het een paar seconden " +"later opnieuw." msgid "Upload failed\n" -msgstr "" +msgstr "Uploaden mislukt\n" msgid "obtaining instance_id failed\n" -msgstr "" +msgstr "het verkrijgen van instance_id is mislukt\n" msgid "" "Your comment result cannot be uploaded due to some reasons. As follows:\n" "\n" " error code: " msgstr "" +"Your comment result cannot be uploaded due to the following reasons:\n" +"\n" +" error code: " msgid "error message: " -msgstr "" +msgstr "foutmelding: " msgid "" "\n" "\n" "Would you like to redirect to the webpage for rating?" msgstr "" +"\n" +"\n" +"Would you like to redirect to the webpage to give a rating?" msgid "" "Some of your images failed to upload. Would you like to redirect to the " "webpage for rating?" msgstr "" +"Sommige afbeeldingen zijn niet geüpload. Wilt u doorverwijzen naar de " +"webpagina voor beoordeling?" msgid "You can select up to 16 images." -msgstr "" +msgstr "Je kunt tot 16 afbeeldingen selecteren." msgid "" "At least one successful print record of this print profile is required \n" "to give a positive rating(4 or 5stars)." msgstr "" +"At least one successful print record of this print profile is required \n" +"to give a positive rating (4 or 5 stars)." msgid "Status" msgstr "Status" @@ -5427,7 +5529,7 @@ msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "" msgid "Download Beta Version" -msgstr "" +msgstr "Beta-versie downloaden" msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "" @@ -5436,13 +5538,13 @@ msgid "Update your Orca Slicer could enable all functionality in the 3mf file." msgstr "" msgid "Current Version: " -msgstr "" +msgstr "Huidige versie:" msgid "Latest Version: " -msgstr "" +msgstr "Laatste versie:" msgid "Not for now" -msgstr "" +msgstr "Not for now" msgid "3D Mouse disconnected." msgstr "3D-muis losgekoppeld." @@ -5469,10 +5571,10 @@ msgid "Details" msgstr "Détails" msgid "New printer config available." -msgstr "" +msgstr "Nieuwe printerconfiguratie beschikbaar." msgid "Wiki" -msgstr "" +msgstr "Wiki" msgid "Undo integration failed." msgstr "Het ongedaan maken van de integratie is mislukt." @@ -5521,12 +5623,12 @@ msgstr[1] "" msgid "ERROR" msgstr "Fout" -msgid "CANCELED" -msgstr "GEANNULEERD" - msgid "COMPLETED" msgstr "VOLTOOID" +msgid "CANCELED" +msgstr "GEANNULEERD" + msgid "Cancel upload" msgstr "Upload annuleren" @@ -5543,10 +5645,10 @@ msgid "Export successfully." msgstr "Succesvol geëxporteerd" msgid "Model file downloaded." -msgstr "" +msgstr "Modelbestand gedownload." msgid "Serious warning:" -msgstr "" +msgstr "Ernstige waarschuwing:" msgid " (Repair)" msgstr " (Repareren)" @@ -5634,29 +5736,29 @@ msgid "Auto-recovery from step loss" msgstr "Automatisch herstel na stapverlies" msgid "Allow Prompt Sound" -msgstr "" +msgstr "Promptgeluid toestaan" msgid "Filament Tangle Detect" -msgstr "" +msgstr "Filament Tangle Detection" msgid "Nozzle Clumping Detection" -msgstr "" +msgstr "Nozzle Clumping Detection" msgid "Check if the nozzle is clumping by filament or other foreign objects." -msgstr "" +msgstr "Check if the nozzle is clumping by filament or other foreign objects." msgid "Nozzle Type" -msgstr "" +msgstr "Nozzle Type" msgid "Stainless Steel" -msgstr "" +msgstr "Roestvrij staal" msgid "Hardened Steel" -msgstr "" +msgstr "Gehard staal" #, c-format, boost-format msgid "%.1f" -msgstr "" +msgstr "%.1f" msgid "Global" msgstr "Globale" @@ -5747,7 +5849,7 @@ msgid "Set filaments to use" msgstr "Stel filamenten in om te gebruiken" msgid "Search plate, object and part." -msgstr "" +msgstr "Zoek plaat, object en onderdeel." msgid "" "No AMS filaments. Please select a printer in 'Device' page to load AMS info." @@ -5817,6 +5919,9 @@ msgid "" "clogged when printing this filament in a closed enclosure. Please open the " "front door and/or remove the upper glass." msgstr "" +"The current heatbed temperature is relatively high. The nozzle may clog when " +"printing this filament in a closed environment. Please open the front door " +"and/or remove the upper glass." msgid "" "The nozzle hardness required by the filament is higher than the default " @@ -5831,6 +5936,9 @@ msgid "" "Enabling traditional timelapse photography may cause surface imperfections. " "It is recommended to change to smooth mode." msgstr "" +"Het inschakelen van traditionele timelapse-fotografie kan oneffenheden in " +"het oppervlak veroorzaken. Het wordt aanbevolen om over te schakelen naar de " +"vloeiende modus." msgid "Expand sidebar" msgstr "" @@ -5875,26 +5983,32 @@ msgid "Please correct them in the param tabs" msgstr "Please correct them in the Param tabs" msgid "The 3mf has following modified G-codes in filament or printer presets:" -msgstr "" +msgstr "The 3mf has following modified G-code in filament or printer presets:" msgid "" "Please confirm that these modified G-codes are safe to prevent any damage to " "the machine!" msgstr "" +"Controleer of deze aangepaste G-codes veilig zijn om schade aan de machine " +"te voorkomen!" msgid "Modified G-codes" -msgstr "" +msgstr "Modified G-code" msgid "The 3mf has following customized filament or printer presets:" msgstr "" +"De 3mf heeft de volgende aangepaste voorinstellingen voor filament of " +"printer:" msgid "" "Please confirm that the G-codes within these presets are safe to prevent any " "damage to the machine!" msgstr "" +"Controleer of de G-codes in deze presets veilig zijn om schade aan de " +"machine te voorkomen!" msgid "Customized Preset" -msgstr "" +msgstr "Aangepaste voorinstelling" msgid "Name of components inside step file is not UTF8 format!" msgstr "Naam van componenten in step-bestand is niet UTF8-formaat!" @@ -5967,22 +6081,24 @@ msgid "Export STL file:" msgstr "Exporteer STL bestand:" msgid "Export AMF file:" -msgstr "" +msgstr "AMF-bestand exporteren:" msgid "Save file as:" msgstr "Bewaar bestand als:" msgid "Export OBJ file:" -msgstr "" +msgstr "OBJ-bestand exporteren:" #, c-format, boost-format msgid "" "The file %s already exists\n" "Do you want to replace it?" msgstr "" +"The file %s already exists.\n" +"Do you want to replace it?" msgid "Comfirm Save As" -msgstr "" +msgstr "Opslaan als bevestigen" msgid "Delete object which is a part of cut object" msgstr "Delete object which is a part of cut object" @@ -6003,13 +6119,13 @@ msgid "Another export job is running." msgstr "Er is reeds een export taak actief." msgid "Unable to replace with more than one volume" -msgstr "" +msgstr "Kan niet worden vervangen door meer dan één volume" msgid "Error during replace" msgstr "Fout tijdens vervanging" msgid "Replace from:" -msgstr "" +msgstr "Vervangen van:" msgid "Select a new file" msgstr "Selecteer een nieuw bestand" @@ -6021,19 +6137,19 @@ msgid "Please select a file" msgstr "Selecteer een bestand" msgid "Do you want to replace it" -msgstr "" +msgstr "Do you want to replace it?" msgid "Message" -msgstr "" +msgstr "Bericht" msgid "Reload from:" -msgstr "" +msgstr "Herladen vanaf:" msgid "Unable to reload:" -msgstr "" +msgstr "Kan niet herladen:" msgid "Error during reload" -msgstr "" +msgstr "Fout tijdens herladen" msgid "There are warnings after slicing models:" msgstr "Er zijn waarschuwingen na het slicen van modellen:" @@ -6098,13 +6214,13 @@ msgid "prepare 3mf file..." msgstr "voorbereiden van 3mf bestand..." msgid "Download failed, unknown file format." -msgstr "" +msgstr "Download failed; unknown file format." msgid "downloading project ..." msgstr "project downloaden..." msgid "Download failed, File size exception." -msgstr "" +msgstr "Download failed; File size exception." #, c-format, boost-format msgid "Project downloaded %d%%" @@ -6127,6 +6243,20 @@ msgstr "Bevat geen geldige Gcode" msgid "Error occurs while loading G-code file" msgstr "Er is een fout opgetreden tijdens het laden van het G-codebestand." +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Projectbestand neerzetten" @@ -6169,13 +6299,13 @@ msgid "Save G-code file as:" msgstr "Bewaar G-code bestand als:" msgid "Save SLA file as:" -msgstr "" +msgstr "SLA-bestand opslaan als:" msgid "The provided file name is not valid." -msgstr "" +msgstr "De opgegeven bestandsnaam is ongeldig." msgid "The following characters are not allowed by a FAT file system:" -msgstr "" +msgstr "De volgende tekens zijn niet toegestaan in een FAT-bestandssysteem:" msgid "Save Sliced file as:" msgstr "Bewaar het geslicede bestand als:" @@ -6192,22 +6322,24 @@ msgid "" "Unable to perform boolean operation on model meshes. Only positive parts " "will be kept. You may fix the meshes and try agian." msgstr "" +"Unable to perform boolean operation on model meshes. Only positive parts " +"will be kept. You may fix the meshes and try agian." #, boost-format msgid "Reason: part \"%1%\" is empty." -msgstr "" +msgstr "Reason: part \"%1%\" is empty." #, boost-format msgid "Reason: part \"%1%\" does not bound a volume." -msgstr "" +msgstr "Reason: part \"%1%\" does not bound a volume." #, boost-format msgid "Reason: part \"%1%\" has self intersection." -msgstr "" +msgstr "Reason: part \"%1%\" has self intersection." #, boost-format msgid "Reason: \"%1%\" and another part have no intersection." -msgstr "" +msgstr "Reason: \"%1%\" and another part have no intersection." msgid "" "Are you sure you want to store original SVGs with their local paths into the " @@ -6257,7 +6389,7 @@ msgstr "Number of currently selected parts: %1%\n" #, boost-format msgid "Number of currently selected objects: %1%\n" -msgstr "" +msgstr "Aantal momenteel geselecteerde objecten: %1%\n" #, boost-format msgid "Part name: %1%\n" @@ -6390,6 +6522,10 @@ msgid "" "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 "" +"Op OSX is er standaard altijd maar één instantie van een app actief. Het is " +"echter toegestaan om meerdere instanties van dezelfde app uit te voeren " +"vanaf de opdrachtregel. In dat geval staat deze instelling slechts één " +"instantie toe." msgid "" "If this is enabled, when starting OrcaSlicer and another instance of the " @@ -6455,16 +6591,19 @@ msgstr "" msgid "Flushing volumes: Auto-calculate everytime the color changed." msgstr "" +"Spoelvolumes: Automatisch berekenen telkens wanneer de kleur verandert." msgid "If enabled, auto-calculate everytime the color changed." msgstr "" +"Als deze optie is ingeschakeld, wordt elke keer dat de kleur verandert " +"automatisch berekend." msgid "" "Flushing volumes: Auto-calculate every time when the filament is changed." -msgstr "" +msgstr "Flushing volumes: Auto-calculate every time the filament is changed." msgid "If enabled, auto-calculate every time when filament is changed" -msgstr "" +msgstr "If enabled, auto-calculate every time filament is changed" msgid "Remember printer configuration" msgstr "" @@ -6481,6 +6620,8 @@ msgid "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." msgstr "" +"With this option enabled, you can send a task to multiple devices at the " +"same time and manage multiple devices." msgid "Network" msgstr "" @@ -6529,6 +6670,20 @@ msgstr "" "Indien ingeschakeld, wordt Orca Slicer ingesteld als de standaardtoepassing " "om .step-bestanden te openen" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Maximum recent projects" @@ -6539,7 +6694,7 @@ msgid "Clear my choice on the unsaved projects." msgstr "Clear my choice on the unsaved projects." msgid "No warnings when loading 3MF with modified G-codes" -msgstr "" +msgstr "No warnings when loading 3MF with modified G-code" msgid "Auto-Backup" msgstr "Automatisch backup maken" @@ -6695,25 +6850,25 @@ msgid "Add/Remove materials" msgstr "Materialen toevoegen/verwijderen" msgid "Select/Remove printers(system presets)" -msgstr "" +msgstr "Printers selecteren/verwijderen (systeemvoorinstellingen)" msgid "Create printer" -msgstr "" +msgstr "Printer maken" msgid "The selected preset is null!" -msgstr "" +msgstr "De geselecteerde preset is nul!" msgid "End" -msgstr "" +msgstr "End" msgid "Customize" -msgstr "" +msgstr "Aanpassen" msgid "Other layer filament sequence" -msgstr "" +msgstr "Other layer filament sequence" msgid "Please input layer value (>= 2)." -msgstr "" +msgstr "Please input layer value (>= 2)." msgid "Plate name" msgstr "Plate name" @@ -6725,16 +6880,16 @@ msgid "Print sequence" msgstr "Afdrukvolgorde" msgid "Same as Global" -msgstr "" +msgstr "Same as Global" msgid "Disable" -msgstr "" +msgstr "Disable" msgid "Spiral vase" msgstr "Spiraalvaas" msgid "First layer filament sequence" -msgstr "" +msgstr "Eerste laag filamentvolgorde" msgid "Same as Global Plate Type" msgstr "Same as Global Plate Type" @@ -6856,7 +7011,7 @@ msgid "(LAN)" msgstr "(LAN)" msgid "Search" -msgstr "" +msgstr "Zoeken" msgid "My Device" msgstr "Mijn apparaat" @@ -6892,7 +7047,7 @@ msgid "Bambu Smooth PEI Plate" msgstr "" msgid "High temperature Plate" -msgstr "" +msgstr "Plaat op hoge temperatuur" msgid "Bambu Textured PEI Plate" msgstr "" @@ -6900,14 +7055,11 @@ msgstr "" msgid "Send print job to" msgstr "Stuur de printtaak naar" -msgid "Bed Leveling" -msgstr "Bed leveling" - msgid "Flow Dynamics Calibration" -msgstr "" +msgstr "Kalibratie van Flow Dynamics" msgid "Click here if you can't connect to the printer" -msgstr "" +msgstr "Klik hier als je geen verbinding kunt maken met de printer" msgid "send completed" msgstr "Versturen gelukt" @@ -7003,6 +7155,8 @@ msgid "" "The selected printer (%s) is incompatible with the chosen printer profile in " "the slicer (%s)." msgstr "" +"The selected printer (%s) is incompatible with the chosen printer profile in " +"the slicer (%s)." msgid "An SD card needs to be inserted to record timelapse." msgstr "" @@ -7026,10 +7180,14 @@ msgid "" "When enable spiral vase mode, machines with I3 structure will not generate " "timelapse videos." msgstr "" +"When spiral vase mode is enabled, machines with I3 structure will not " +"generate timelapse videos." msgid "" "Timelapse is not supported because Print sequence is set to \"By object\"." msgstr "" +"Timelapse wordt niet ondersteund omdat Afdruksequentie is ingesteld op \"Per " +"object\"." msgid "Errors" msgstr "Fouten" @@ -7057,26 +7215,31 @@ msgstr "" #, c-format, boost-format msgid "nozzle in preset: %s %s" -msgstr "" +msgstr "mondstuk in voorinstelling: %s %s" #, c-format, boost-format msgid "nozzle memorized: %.1f %s" -msgstr "" +msgstr "mondstuk onthouden: %.1f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " "If you changed your nozzle lately, please go to Device > Printer Parts to " "change settings." msgstr "" +"Your nozzle diameter in sliced file is not consistent with the saved nozzle. " +"If you changed your nozzle lately, please go to Device > Printer Parts to " +"change settings." #, c-format, boost-format msgid "" "Printing high temperature material(%s material) with %s may cause nozzle " "damage" msgstr "" +"Printing high temperature material(%s material) with %s may cause nozzle " +"damage" msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "" +msgstr "Please fix the error above, otherwise printing cannot continue." msgid "" "Please click the confirm button if you still want to proceed with printing." @@ -7086,20 +7249,23 @@ msgstr "" msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" +"Aansluiten op de printer. Kan niet annuleren tijdens het verbindingsproces." msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." msgstr "" +"Let op bij gebruik! Flowkalibratie op de PEI-plaat met structuur kan " +"mislukken vanwege het verstrooide oppervlak." msgid "Automatic flow calibration using Micro Lidar" -msgstr "" +msgstr "Automatic flow calibration using the Micro Lidar" msgid "Modifying the device name" msgstr "De naam van het apparaat wijzigen" msgid "Bind with Pin Code" -msgstr "" +msgstr "Bind with Pin Code" msgid "Send to Printer SD card" msgstr "Verzenden naar de MicroSD-kaart in de printer" @@ -7109,6 +7275,8 @@ msgstr "Kan de printtaak niet verzenden wanneer de upgrade wordt uitgevoerd" msgid "The selected printer is incompatible with the chosen printer presets." msgstr "" +"De geselecteerde printer is niet compatibel met de gekozen " +"printervoorinstellingen." msgid "An SD card needs to be inserted before send to printer SD card." msgstr "" @@ -7126,7 +7294,7 @@ msgid "Slice ok." msgstr "Slice gelukt" msgid "View all Daily tips" -msgstr "" +msgstr "Bekijk alle dagelijkse tips" msgid "Failed to create socket" msgstr "Failed to create socket" @@ -7159,21 +7327,23 @@ msgid "" "Please Find the Pin Code in Account page on printer screen,\n" " and type in the Pin Code below." msgstr "" +"Please Find the Pin Code in Account page on printer screen,\n" +" and type in the Pin Code below." msgid "Can't find Pin Code?" -msgstr "" +msgstr "Can't find Pin Code?" msgid "Pin Code" -msgstr "" +msgstr "Pin Code" msgid "Binding..." -msgstr "" +msgstr "Binding..." msgid "Please confirm on the printer screen" -msgstr "" +msgstr "Please confirm on the printer screen" msgid "Log in failed. Please check the Pin Code." -msgstr "" +msgstr "Log in failed. Please check the Pin Code." msgid "Log in printer" msgstr "Inloggen op printer" @@ -7297,7 +7467,7 @@ msgstr "" "inschakelen?" msgid "Still print by object?" -msgstr "" +msgstr "Print je nog steeds per object?" msgid "" "We have added an experimental style \"Tree Slim\" that features smaller " @@ -7356,15 +7526,17 @@ msgid "" "Layer height exceeds the limit in Printer Settings -> Extruder -> Layer " "height limits ,this may cause printing quality issues." msgstr "" +"De laaghoogte overschrijdt de limiet in Printerinstellingen -> Extruder -> " +"Laaghoogtelimieten, dit kan problemen met de afdrukkwaliteit veroorzaken." msgid "Adjust to the set range automatically? \n" -msgstr "" +msgstr "Automatisch aanpassen aan het ingestelde bereik? \n" msgid "Adjust" -msgstr "" +msgstr "Aanpassen" msgid "Ignore" -msgstr "" +msgstr "Negeer" msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7372,6 +7544,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other " "printing complications." msgstr "" +"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." msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7379,6 +7555,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other printing " "complications.Please use with the latest printer firmware." msgstr "" +"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." msgid "" "When recording timelapse without toolhead, it is recommended to add a " @@ -7450,7 +7630,7 @@ msgid "Acceleration" msgstr "Versnelling" msgid "Jerk(XY)" -msgstr "" +msgstr "Jerk(XY)" msgid "Raft" msgstr "Vlot" @@ -7477,7 +7657,7 @@ msgid "Post-processing Scripts" msgstr "Post-processing Scripts" msgid "Notes" -msgstr "" +msgstr "Notes" msgid "Frequent" msgstr "Veelgebruikt" @@ -7554,13 +7734,16 @@ msgstr "" "niet ondersteunt." msgid "Smooth PEI Plate / High Temp Plate" -msgstr "" +msgstr "Gladde PEI Plaat / Hoge Temp Plaat" msgid "" "Bed temperature when Smooth PEI Plate/High temperature plate is installed. " "Value 0 means the filament does not support to print on the Smooth PEI Plate/" "High Temp Plate" msgstr "" +"Bedtemperatuur wanneer gladde PEI-plaat/hoge temperatuurplaat is " +"geïnstalleerd. Waarde 0 betekent dat het filament niet geschikt is voor " +"afdrukken op de gladde PEI-plaat/hoge temperatuurplaat." msgid "Textured PEI Plate" msgstr "PEI plaat met structuur" @@ -7614,13 +7797,13 @@ msgid "Auxiliary part cooling fan" msgstr "Extra koel ventilator" msgid "Exhaust fan" -msgstr "" +msgstr "Uitlaatventilator" msgid "During print" -msgstr "" +msgstr "Tijdens het afdrukken" msgid "Complete print" -msgstr "" +msgstr "Afdruk compleet" msgid "Filament start G-code" msgstr "Filament start G-code" @@ -7671,7 +7854,7 @@ msgid "Machine end G-code" msgstr "Machine einde G-code" msgid "Printing by object G-code" -msgstr "" +msgstr "Afdrukken met object G-code" msgid "Before layer change G-code" msgstr "G-Code voor de laag wijziging" @@ -7680,7 +7863,7 @@ msgid "Layer change G-code" msgstr "G-code laag wijzigen" msgid "Time lapse G-code" -msgstr "" +msgstr "Time-lapse G-code" msgid "Change filament G-code" msgstr "Filament G-code aanpassen" @@ -7732,9 +7915,12 @@ msgid "" "\n" "Shall I disable it in order to enable Firmware Retraction?" msgstr "" +"The Wipe option is not available when using the Firmware Retraction mode.\n" +"\n" +"Disable it in order to enable Firmware Retraction?" msgid "Firmware Retraction" -msgstr "" +msgstr "Firmware intrekken" msgid "Detached" msgstr "Losgemaakt" @@ -7744,9 +7930,12 @@ 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 Filament Preset en %d Process Preset zijn gekoppeld aan deze printer. " +"Deze voorinstellingen worden verwijderd als de printer wordt verwijderd." msgid "Presets inherited by other presets can not be deleted!" msgstr "" +"Presets die door andere presets worden geërfd, kunnen niet worden verwijderd!" msgid "The following presets inherit this preset." msgid_plural "The following preset inherits this preset." @@ -7768,6 +7957,9 @@ msgid "" "If the preset corresponds to a filament currently in use on your printer, " "please reset the filament information for that slot." msgstr "" +"Weet je zeker dat je de geselecteerde preset wilt verwijderen? \n" +"Als de voorinstelling overeenkomt met een filament dat momenteel in gebruik " +"is op je printer, reset dan de filamentinformatie voor die sleuf." #, boost-format msgid "Are you sure to %1% the selected preset?" @@ -7875,12 +8067,14 @@ msgstr "" #, boost-format msgid "You have changed some settings of preset \"%1%\". " -msgstr "" +msgstr "You have changed some settings of preset \"%1%\". " msgid "" "\n" "You can save or discard the preset values you have modified." msgstr "" +"\n" +"You can save or discard the preset values you have modified." msgid "" "\n" @@ -7889,7 +8083,7 @@ msgid "" msgstr "" msgid "You have previously modified your settings." -msgstr "" +msgstr "You have previously modified your settings." msgid "" "\n" @@ -8045,7 +8239,7 @@ msgid "Auto-Calc" msgstr "Automatisch berekenen" msgid "Re-calculate" -msgstr "" +msgstr "Herbereken" msgid "Flushing volumes for filament change" msgstr "Volumes reinigen voor filament wijziging" @@ -8086,10 +8280,10 @@ msgid "To" msgstr "Naar" msgid "Bambu Network plug-in not detected." -msgstr "" +msgstr "Bambu Network-plug-in niet gedetecteerd." msgid "Click here to download it." -msgstr "" +msgstr "Klik hier om het te downloaden." msgid "Login" msgstr "Inloggen" @@ -8124,7 +8318,7 @@ msgstr "" "verbergen" msgid "Switch table page" -msgstr "" +msgstr "Schakeltabel pagina" msgid "Show keyboard shortcuts list" msgstr "Toon lijst met sneltoetsen" @@ -8391,49 +8585,49 @@ msgid "New version of Orca Slicer" msgstr "Nieuwe versie van Orca Slicer" msgid "Skip this Version" -msgstr "" +msgstr "Deze versie overslaan" msgid "Done" msgstr "Done" msgid "resume" -msgstr "" +msgstr "resume" msgid "Resume Printing" -msgstr "" +msgstr "Resume Printing" msgid "Resume Printing(defects acceptable)" -msgstr "" +msgstr "Resume Printing (defects acceptable)" msgid "Resume Printing(problem solved)" -msgstr "" +msgstr "Resume Printing (problem solved)" msgid "Stop Printing" -msgstr "" +msgstr "Stop Printing" msgid "Check Assistant" -msgstr "" +msgstr "Check Assistant" msgid "Filament Extruded, Continue" -msgstr "" +msgstr "Filament Extruded, Continue" msgid "Not Extruded Yet, Retry" -msgstr "" +msgstr "Not Extruded Yet, Retry" msgid "Finished, Continue" -msgstr "" +msgstr "Finished, Continue" msgid "Load Filament" msgstr "Filament laden" msgid "Filament Loaded, Resume" -msgstr "" +msgstr "Filament Loaded, Resume" msgid "View Liveview" -msgstr "" +msgstr "View Liveview" msgid "Confirm and Update Nozzle" -msgstr "" +msgstr "Bevestig en update het mondstuk" msgid "LAN Connection Failed (Sending print file)" msgstr "LAN-verbinding mislukt (verzenden afdrukbestand)" @@ -8462,20 +8656,23 @@ msgstr "Waar vind je het IP-adres en de toegangscode van je printer?" msgid "Step 3: Ping the IP address to check for packet loss and latency." msgstr "" +"Stap 3: Ping het IP-adres om te controleren op pakketverlies en latentie." msgid "Test" -msgstr "" +msgstr "Test" msgid "IP and Access Code Verified! You may close the window" -msgstr "" +msgstr "IP en toegangscode geverifieerd! U kunt het venster sluiten" msgid "Connection failed, please double check IP and Access Code" -msgstr "" +msgstr "Verbinding mislukt, controleer IP en toegangscode opnieuw" msgid "" "Connection failed! If your IP and Access Code is correct, \n" "please move to step 3 for troubleshooting network issues" msgstr "" +"Verbinding mislukt! Als uw IP-adres en toegangscode correct zijn, \n" +"ga dan naar stap 3 voor het oplossen van netwerkproblemen" msgid "Model:" msgstr "Model:" @@ -8490,7 +8687,7 @@ msgid "Update firmware" msgstr "Firmware bijwerken" msgid "Beta version" -msgstr "" +msgstr "Beta versie" msgid "Latest version" msgstr "Nieuwste versie" @@ -8865,26 +9062,34 @@ msgid "" msgstr "" msgid "Variable layer height is not supported with Organic supports." -msgstr "" +msgstr "Variabele laaghoogte wordt niet ondersteund met organische steunen." msgid "" "Different nozzle diameters and different filament diameters is not allowed " "when prime tower is enabled." msgstr "" +"Verschillende mondstukdiameters en verschillende filamentdiameters zijn niet " +"toegestaan als de prime-toren is ingeschakeld." msgid "" "The Wipe Tower is currently only supported with the relative extruder " "addressing (use_relative_e_distances=1)." msgstr "" +"De Wipe Tower wordt momenteel alleen ondersteund met de relatieve " +"extruderadressering (use_relative_e_distances=1)." msgid "" "Ooze prevention is currently not supported with the prime tower enabled." msgstr "" +"Ooze-preventie wordt momenteel niet ondersteund als de prime tower is " +"ingeschakeld." msgid "" "The prime tower is currently only supported for the Marlin, RepRap/Sprinter, " "RepRapFirmware and Repetier G-code flavors." msgstr "" +"De prime tower wordt momenteel alleen ondersteund voor de Marlin, RepRap/" +"Sprinter, RepRapFirmware en Repetier G-code smaken." msgid "The prime tower is not supported in \"By object\" print." msgstr "Een prime-toren wordt niet ondersteund bij het \"per object\" printen." @@ -9117,11 +9322,13 @@ msgstr "" "address/" msgid "Device UI" -msgstr "" +msgstr "UI van het apparaat" msgid "" "Specify the URL of your device user interface if it's not same as print_host" msgstr "" +"Geef de URL op van de gebruikersinterface van uw apparaat als deze niet " +"hetzelfde is als print_host" msgid "API Key / Password" msgstr "API sleutel / wachtwoord" @@ -9283,16 +9490,16 @@ msgid "Engineering Plate" msgstr "Engineering plate (technisch printbed)" msgid "First layer print sequence" -msgstr "" +msgstr "Afdrukvolgorde van de eerste laag" msgid "Other layers print sequence" -msgstr "" +msgstr "Other layers print sequence" msgid "The number of other layers print sequence" -msgstr "" +msgstr "The number of other layers print sequence" msgid "Other layers filament sequence" -msgstr "" +msgstr "Other layers filament sequence" msgid "This G-code is inserted at every layer change before lifting z" msgstr "" @@ -9426,12 +9633,14 @@ msgid "" msgstr "" msgid "Top surface flow ratio" -msgstr "" +msgstr "Flowratio bovenoppervlak" msgid "" "This factor affects the amount of material for top solid infill. You can " "decrease it slightly to have smooth surface finish" msgstr "" +"Deze factor beïnvloedt de hoeveelheid materiaal voor de bovenste vaste " +"vulling. Je kunt het iets verminderen om een glad oppervlak te krijgen." msgid "Bottom surface flow ratio" msgstr "" @@ -9576,7 +9785,7 @@ msgid "" msgstr "" msgid "mm/s or %" -msgstr "" +msgstr "mm/s of %" msgid "External" msgstr "" @@ -9721,7 +9930,7 @@ msgid "Default process profile when switch to this machine profile" msgstr "Standaard procesprofiel bij het overschakelen naar dit machineprofiel" msgid "Activate air filtration" -msgstr "" +msgstr "Activate air filtration" msgid "Activate for better air filtration. G-code command: M106 P3 S(0-255)" msgstr "" @@ -9733,6 +9942,8 @@ msgid "" "Speed of exhaust fan during printing.This speed will overwrite the speed in " "filament custom gcode" msgstr "" +"Snelheid van de afzuigventilator tijdens het printen. Deze snelheid " +"overschrijft de snelheid in de aangepaste g-code van het filament." msgid "Speed of exhaust fan after printing completes" msgstr "" @@ -9841,12 +10052,14 @@ msgid "End G-code when finish the whole printing" msgstr "Voeg een eind G-code toe bij het afwerken van de hele print." msgid "Between Object Gcode" -msgstr "" +msgstr "Tussen object Gcode" msgid "" "Insert Gcode between objects. This parameter will only come into effect when " "you print your models object by object" msgstr "" +"Gcode invoegen tussen objecten. Deze parameter wordt alleen actief wanneer u " +"uw modellen object voor object afdrukt." msgid "End G-code when finish the printing of this filament" msgstr "" @@ -9912,7 +10125,7 @@ msgstr "" "maar niet van de vulling van de brug." msgid "Internal solid infill pattern" -msgstr "" +msgstr "Intern massief invulpatroon" msgid "" "Line pattern of internal solid infill. if the detect narrow internal solid " @@ -9932,7 +10145,7 @@ msgstr "" "langzamer geprint dan de binnenste wanden om een betere kwaliteit te krijgen." msgid "Small perimeters" -msgstr "" +msgstr "Kleine omtrek" msgid "" "This separate setting will affect the speed of perimeters having radius <= " @@ -9947,6 +10160,7 @@ msgstr "" msgid "" "This sets the threshold for small perimeter length. Default threshold is 0mm" msgstr "" +"Dit stelt de drempel voor kleine omtreklengte in. De standaarddrempel is 0 mm" msgid "Walls printing order" msgstr "" @@ -9986,7 +10200,7 @@ msgid "Inner/Outer/Inner" msgstr "" msgid "Print infill first" -msgstr "" +msgstr "Eerst infill afdrukken" msgid "" "Order of wall/infill. When the tickbox is unchecked the walls are printed " @@ -10047,10 +10261,10 @@ msgstr "" "printen per object." msgid "Nozzle height" -msgstr "" +msgstr "Hoogte van het mondstuk" msgid "The height of nozzle tip." -msgstr "" +msgstr "De hoogte van de mondstukpunt." msgid "Bed mesh min" msgstr "" @@ -10123,7 +10337,7 @@ msgstr "" "lichte over- of onderflow is." msgid "Enable pressure advance" -msgstr "" +msgstr "Pressure advance inschakelen" msgid "" "Enable pressure advance, auto calibration result will be overwriten once " @@ -10169,10 +10383,10 @@ msgid "Default filament color" msgstr "Standaard filamentkleur" msgid "Filament notes" -msgstr "" +msgstr "Filament notes" msgid "You can put your notes regarding the filament here." -msgstr "" +msgstr "You can put your notes regarding the filament here." msgid "Required nozzle HRC" msgstr "Vereiste nozzle HRC" @@ -10372,13 +10586,16 @@ msgstr "" "drukken." msgid "Softening temperature" -msgstr "" +msgstr "Verzachtingstemperatuur" msgid "" "The material softens at this temperature, so when the bed temperature is " "equal to or greater than it, it's highly recommended to open the front door " "and/or remove the upper glass to avoid cloggings." msgstr "" +"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 clogs." msgid "Price" msgstr "Prijs" @@ -10390,10 +10607,10 @@ msgid "money/kg" msgstr "Prijs per KG" msgid "Vendor" -msgstr "" +msgstr "Leverancier" msgid "Vendor of filament. For show only" -msgstr "" +msgstr "Verkoper van filament. Alleen voor show" msgid "(Undefined)" msgstr "(niet gedefinieerd)" @@ -10468,7 +10685,7 @@ msgid "Lightning" msgstr "Lightning" msgid "Cross Hatch" -msgstr "" +msgstr "Cross Hatch" msgid "Sparse infill anchor length" msgstr "" @@ -10537,12 +10754,15 @@ msgid "" msgstr "" msgid "mm/s² or %" -msgstr "" +msgstr "mm/s² or %" 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 "" +"Versnelling van de schaarse invulling. Als de waarde wordt uitgedrukt als " +"een percentage (bijvoorbeeld 100%), wordt deze berekend op basis van de " +"standaardversnelling." msgid "" "Acceleration of internal solid infill. If the value is expressed as a " @@ -10558,13 +10778,13 @@ msgstr "" "kan de hechting van de bouwplaat verbeteren." msgid "Enable accel_to_decel" -msgstr "" +msgstr "Accel_to_decel inschakelen" msgid "Klipper's max_accel_to_decel will be adjusted automatically" -msgstr "" +msgstr "De max_accel_to_decel van Klipper wordt automatisch aangepast" msgid "accel_to_decel" -msgstr "" +msgstr "accel_to_decel" #, c-format, boost-format msgid "" @@ -10572,10 +10792,10 @@ msgid "" msgstr "" msgid "Jerk of outer walls" -msgstr "" +msgstr "Jerk van de buitenwand" msgid "Jerk of inner walls" -msgstr "" +msgstr "Jerk van de binnenwand" msgid "Jerk for top surface" msgstr "" @@ -10702,7 +10922,7 @@ msgid "Whether to apply fuzzy skin on the first layer" msgstr "" msgid "Filter out tiny gaps" -msgstr "" +msgstr "Kleine openingen wegfilteren" msgid "Layers and Perimeters" msgstr "Lagen en perimeters" @@ -10718,13 +10938,16 @@ msgstr "" "een onregelmatige lijndikte en moeten daarom langzamer worden afgedrukt." msgid "Precise Z height" -msgstr "" +msgstr "Precise Z height" 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 "" +"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." msgid "Arc fitting" msgstr "Boog montage" @@ -10794,10 +11017,10 @@ msgid "HRC" msgstr "HRC" msgid "Printer structure" -msgstr "" +msgstr "Printerstructuur" msgid "The physical arrangement and components of a printing device" -msgstr "" +msgstr "De fysieke opstelling en onderdelen van een afdrukapparaat" msgid "CoreXY" msgstr "" @@ -10812,10 +11035,12 @@ msgid "Delta" msgstr "" msgid "Best object position" -msgstr "" +msgstr "Beste objectpositie" msgid "Best auto arranging position in range [0,1] w.r.t. bed shape." msgstr "" +"Beste automatisch schikkende positie in het bereik [0,1] met betrekking tot " +"de bedvorm." msgid "" "Enable this option if machine has auxiliary part cooling fan. G-code " @@ -10861,7 +11086,7 @@ msgid "money/h" msgstr "" msgid "Support control chamber temperature" -msgstr "" +msgstr "Ondersteuning voor het regelen van de kamertemperatuur" msgid "" "This option is enabled if machine support controlling chamber temperature\n" @@ -10869,7 +11094,7 @@ msgid "" msgstr "" msgid "Support air filtration" -msgstr "" +msgstr "Ondersteun luchtfiltratie" msgid "" "Enable this if printer support air filtration\n" @@ -10902,7 +11127,7 @@ msgid "" msgstr "" msgid "Exclude objects" -msgstr "" +msgstr "Objecten uitsluiten" msgid "Enable this option to add EXCLUDE OBJECT command in g-code" msgstr "" @@ -10962,25 +11187,30 @@ msgid "Speed of internal sparse infill" msgstr "Dit is de snelheid voor de dunne vulling (infill)" msgid "Interface shells" -msgstr "" +msgstr "Interface shells" 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 "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material" msgid "Maximum width of a segmented region" -msgstr "" +msgstr "Maximale breedte van een gesegmenteerd gebied" msgid "Maximum width of a segmented region. Zero disables this feature." msgstr "" +"Maximum width of a segmented region. A value of 0 disables this feature." msgid "Interlocking depth of a segmented region" -msgstr "" +msgstr "Insluitdiepte van een gesegmenteerde regio" msgid "Interlocking depth of a segmented region. Zero disables this feature." msgstr "" +"Insluitdiepte van een gesegmenteerd gebied. Nul schakelt deze functie uit." msgid "Ironing Type" msgstr "Strijk type" @@ -11463,10 +11693,10 @@ msgid "" msgstr "" msgid "Printer notes" -msgstr "" +msgstr "Printer notes" msgid "You can put your notes regarding the printer here." -msgstr "" +msgstr "You can put your notes regarding the printer here." msgid "Raft contact Z distance" msgstr "Vlot (raft) contact Z afstand:" @@ -11555,7 +11785,7 @@ msgstr "" "terugtrekken (retraction) uit te schakelen." msgid "Long retraction when cut(experimental)" -msgstr "" +msgstr "Long retraction when cut (experimental)" msgid "" "Experimental feature.Retracting and cutting off the filament at a longer " @@ -11563,14 +11793,20 @@ msgid "" "significantly, it may also raise the risk of nozzle clogs or other printing " "problems." msgstr "" +"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." msgid "Retraction distance when cut" -msgstr "" +msgstr "Retraction distance when cut" msgid "" "Experimental feature.Retraction length before cutting off during filament " "change" msgstr "" +"Experimental feature. Retraction length before cutting off during filament " +"change" msgid "Z hop when retract" msgstr "Z hop tijdens terugtrekken (retraction)" @@ -11586,20 +11822,24 @@ msgstr "" "op te tillen kan stringing voorkomen." msgid "Z hop lower boundary" -msgstr "" +msgstr "Z hop ondergrens" 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 treedt alleen in werking wanneer Z boven deze waarde ligt en onder de " +"parameter: \"Z hop bovengrens\"." msgid "Z hop upper boundary" -msgstr "" +msgstr "Z hop bovengrens" 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 "" +"Als deze waarde positief is, treedt Z hop alleen in werking als Z boven de " +"parameter ligt: \"Z hop ondergrens\" en onder deze waarde ligt" msgid "Z hop type" msgstr "" @@ -11647,7 +11887,7 @@ msgid "Top and Bottom" msgstr "" msgid "Extra length on restart" -msgstr "" +msgstr "Extra lengte bij herstart" msgid "" "When the retraction is compensated after the travel move, the extruder will " @@ -11677,7 +11917,7 @@ msgstr "" "dezelfde snelheid heeft als het intrekken (retraction)." msgid "Use firmware retraction" -msgstr "" +msgstr "Gebruik firmware retractie" msgid "" "This experimental setting uses G10 and G11 commands to have the firmware " @@ -11721,7 +11961,7 @@ msgid "" msgstr "" msgid "Seam gap" -msgstr "" +msgstr "Naadopening" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " @@ -11735,17 +11975,20 @@ msgstr "" msgid "Use scarf joint to minimize seam visibility and increase seam strength." msgstr "" +"Use scarf joint to minimize seam visibility and increase seam strength." msgid "Conditional scarf joint" -msgstr "" +msgstr "Conditional scarf joint" msgid "" "Apply scarf joints only to smooth perimeters where traditional seams do not " "conceal the seams at sharp corners effectively." msgstr "" +"Apply scarf joints only to smooth perimeters where traditional seams do not " +"conceal the seams at sharp corners effectively." msgid "Conditional angle threshold" -msgstr "" +msgstr "Conditional angle threshold" msgid "" "This option sets the threshold angle for applying a conditional scarf joint " @@ -11788,39 +12031,44 @@ msgid "This factor affects the amount of material for scarf joints." msgstr "" msgid "Scarf start height" -msgstr "" +msgstr "Scarf start height" 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 "" +"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." msgid "Scarf around entire wall" -msgstr "" +msgstr "Scarf around entire wall" msgid "The scarf extends to the entire length of the wall." -msgstr "" +msgstr "The scarf extends to the entire length of the wall." msgid "Scarf length" -msgstr "" +msgstr "Scarf length" msgid "" "Length of the scarf. Setting this parameter to zero effectively disables the " "scarf." msgstr "" +"Length of the scarf. Setting this parameter to zero effectively disables the " +"scarf." msgid "Scarf steps" -msgstr "" +msgstr "Scarf steps" msgid "Minimum number of segments of each scarf." -msgstr "" +msgstr "Minimum number of segments of each scarf." msgid "Scarf joint for inner walls" -msgstr "" +msgstr "Scarf joint for inner walls" msgid "Use scarf joint for inner walls as well." -msgstr "" +msgstr "Use scarf joint for inner walls as well." msgid "Role base wipe speed" msgstr "" @@ -11855,7 +12103,7 @@ msgid "" msgstr "" msgid "Wipe speed" -msgstr "" +msgstr "Veegsnelheid" msgid "" "The wipe speed is determined by the speed setting specified in this " @@ -11863,6 +12111,10 @@ msgid "" "be calculated based on the travel speed setting above.The default value for " "this parameter is 80%" msgstr "" +"De veegsnelheid wordt bepaald door de snelheidsinstelling die in deze " +"configuratie is opgegeven.Als de waarde wordt uitgedrukt als percentage " +"(bijv. 80%), wordt deze berekend op basis van de bovenstaande instelling van " +"de rijsnelheid.De standaardwaarde voor deze parameter is 80%." msgid "Skirt distance" msgstr "Rand (skirt) afstand" @@ -11962,20 +12214,24 @@ msgstr "" "met solide onderlagen. Het uiteindelijke gegenereerde model heeft geen naad." msgid "Smooth Spiral" -msgstr "" +msgstr "Smooth Spiral" msgid "" "Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " "at all, even in the XY directions on walls that are not vertical" msgstr "" +"Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " +"at all, even in the XY directions on walls that are not vertical" msgid "Max XY Smoothing" -msgstr "" +msgstr "Max XY Smoothing" msgid "" "Maximum distance to move points in XY to try to achieve a smooth spiralIf " "expressed as a %, it will be computed over nozzle diameter" msgstr "" +"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" msgid "" "If smooth or traditional mode is selected, a timelapse video will be " @@ -12156,10 +12412,10 @@ msgstr "" "cantilever, etc." msgid "Remove small overhangs" -msgstr "" +msgstr "Kleine uitsteeksels verwijderen" msgid "Remove small overhangs that possibly need no supports." -msgstr "" +msgstr "Verwijder kleine overstekken die mogelijk geen steun nodig hebben." msgid "Top Z distance" msgstr "Top Z afstand" @@ -12186,11 +12442,13 @@ msgstr "" "huidige filament wordt gebruikt." msgid "Avoid interface filament for base" -msgstr "" +msgstr "Vermijd interfacedraad voor basis" msgid "" "Avoid using support interface filament to print support base if possible." msgstr "" +"Gebruik indien mogelijk geen filament voor de steuninterface om de " +"steunbasis te printen." msgid "" "Line width of support. If expressed as a %, it will be computed over the " @@ -12227,10 +12485,10 @@ msgid "Bottom interface layers" msgstr "Onderste interfacelagen" msgid "Number of bottom interface layers" -msgstr "" +msgstr "Aantal onderste interfacelagen" msgid "Same as top" -msgstr "" +msgstr "Hetzelfde als boven" msgid "Top interface spacing" msgstr "Bovenste interface-afstand" @@ -12442,10 +12700,10 @@ msgid "" msgstr "" msgid "Support wall loops" -msgstr "" +msgstr "Steunmuurlussen" msgid "This setting specify the count of walls around support" -msgstr "" +msgstr "Deze instelling specificeert het aantal muren rond de ondersteuning" msgid "Tree support with infill" msgstr "Tree support met vulling" @@ -12467,7 +12725,7 @@ msgid "" msgstr "" msgid "Chamber temperature" -msgstr "" +msgstr "Kamertemperatuur" msgid "" "Higher chamber temperature can help suppress or reduce warping and " @@ -12478,6 +12736,12 @@ msgid "" "high to avoid cloggings, so 0 which stands for turning off is highly " "recommended" msgstr "" +"Higher chamber temperature can help suppress or reduce warping and " +"potentially lead to higher interlayer bonding strength for high temperature " +"materials like ABS, ASA, PC, PA and so on. At the same time, the air " +"filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and " +"other low temperature materials, the actual chamber temperature should not " +"be high to avoid clogs, so 0 (turned off) is highly recommended." msgid "Nozzle temperature for layers after the initial one" msgstr "Nozzle temperatuur voor de lagen na de eerstse laag" @@ -12626,17 +12890,29 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -12766,7 +13042,7 @@ msgid "" msgstr "" msgid "Use relative E distances" -msgstr "" +msgstr "Relatieve E-afstanden gebruiken" msgid "" "Relative extrusion is recommended when using \"label_objects\" option.Some " @@ -13325,7 +13601,7 @@ msgid "load_obj: failed to parse" msgstr "load_obj: failed to parse" msgid "load mtl in obj: failed to parse" -msgstr "" +msgstr "load mtl in obj: failed to parse" msgid "The file contains polygons with more than 4 vertices." msgstr "The file contains polygons with more than 4 vertices." @@ -13340,67 +13616,71 @@ msgid "This OBJ file couldn't be read because it's empty." msgstr "This OBJ file couldn't be read because it's empty." msgid "Flow Rate Calibration" -msgstr "" +msgstr "Flow Rate kalibratie" msgid "Max Volumetric Speed Calibration" -msgstr "" +msgstr "Kalibratie van maximale volumetrische snelheid" msgid "Manage Result" -msgstr "" +msgstr "Resultaat beheren" msgid "Manual Calibration" -msgstr "" +msgstr "Handmatige kalibratie" msgid "Result can be read by human eyes." -msgstr "" +msgstr "Het resultaat kan door mensenogen worden gelezen." msgid "Auto-Calibration" -msgstr "" +msgstr "Auto-Calibration" msgid "We would use Lidar to read the calibration result" -msgstr "" +msgstr "We zouden Lidar gebruiken om het kalibratieresultaat af te lezen" msgid "Prev" -msgstr "" +msgstr "Vorige" msgid "Recalibration" -msgstr "" +msgstr "Herkalibratie" msgid "Calibrate" -msgstr "" +msgstr "Kalibreren" msgid "Finish" msgstr "Klaar" msgid "How to use calibration result?" -msgstr "" +msgstr "Hoe kan ik kalibratieresultaten gebruiken?" msgid "" "You could change the Flow Dynamics Calibration Factor in material editing" msgstr "" +"Je kunt de kalibratiefactor van de stromingsdynamica wijzigen bij het " +"bewerken van materialen" msgid "" "The current firmware version of the printer does not support calibration.\n" "Please upgrade the printer firmware." msgstr "" +"De huidige firmwareversie van de printer ondersteunt geen kalibratie.\n" +"Voer een upgrade van de printerfirmware uit." msgid "Calibration not supported" -msgstr "" +msgstr "Kalibratie wordt niet ondersteund" msgid "Error desc" -msgstr "" +msgstr "Fout beschrijving" msgid "Extra info" -msgstr "" +msgstr "Extra informatie" msgid "Flow Dynamics" -msgstr "" +msgstr "Flowdynamiek" msgid "Flow Rate" -msgstr "" +msgstr "Flow Rate" msgid "Max Volumetric Speed" -msgstr "" +msgstr "Maximale volumetrische snelheid" #, c-format, boost-format msgid "" @@ -13410,38 +13690,46 @@ msgid "" "End value: > Start value\n" "Value step: >= %.3f)" msgstr "" +"Voer geldige waarden in:\n" +"Startwaarde: >= %.1f\n" +"Eindwaarde: <= %.1f\n" +"Eindwaarde: > Startwaarde\n" +"Waarde stap: >= %.3f)" msgid "The name cannot be empty." -msgstr "" +msgstr "De naam mag niet leeg zijn." #, c-format, boost-format msgid "The selected preset: %s is not found." -msgstr "" +msgstr "De geselecteerde preset: %s is niet gevonden." msgid "The name cannot be the same as the system preset name." msgstr "" +"De naam mag niet hetzelfde zijn als de naam van de systeemvoorinstelling." msgid "The name is the same as another existing preset name" -msgstr "" +msgstr "De naam is hetzelfde als een andere bestaande presetnaam" msgid "create new preset failed." -msgstr "" +msgstr "nieuwe voorinstelling maken mislukt." msgid "" "Are you sure to cancel the current calibration and return to the home page?" msgstr "" +"Are you sure you want to cancel the current calibration and return to the " +"home page?" msgid "No Printer Connected!" -msgstr "" +msgstr "Geen printer aangesloten!" msgid "Printer is not connected yet." -msgstr "" +msgstr "Printer is nog niet aangesloten." msgid "Please select filament to calibrate." -msgstr "" +msgstr "Selecteer het filament dat u wilt kalibreren." msgid "The input value size must be 3." -msgstr "" +msgstr "De grootte van de invoerwaarde moet 3 zijn." msgid "" "This machine type can only hold 16 history results per nozzle. You can " @@ -13450,15 +13738,20 @@ msgid "" "historical results. \n" "Do you still want to continue the calibration?" msgstr "" +"This machine type can only hold 16 historical 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?" msgid "Connecting to printer..." -msgstr "" +msgstr "Aansluiten op de printer..." msgid "The failed test result has been dropped." -msgstr "" +msgstr "Het mislukte testresultaat is verwijderd." msgid "Flow Dynamics Calibration result has been saved to the printer" -msgstr "" +msgstr "Flow Dynamics kalibratieresultaat is opgeslagen in de printer" #, c-format, boost-format msgid "" @@ -13466,27 +13759,36 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to override the historical result?" msgstr "" +"Er is al een eerder kalibratieresultaat met dezelfde naam: %s. Er wordt maar " +"één resultaat met een naam opgeslagen. Weet je zeker dat je het vorige " +"resultaat wilt overschrijven?" #, c-format, boost-format msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." msgstr "" +"This machine type can only hold %d historical results per nozzle. This " +"result will not be saved." msgid "Internal Error" -msgstr "" +msgstr "Interne fout" msgid "Please select at least one filament for calibration" -msgstr "" +msgstr "Selecteer ten minste één filament voor kalibratie" msgid "Flow rate calibration result has been saved to preset" msgstr "" +"Het resultaat van de debietkalibratie is opgeslagen in een " +"voorkeursinstelling." msgid "Max volumetric speed calibration result has been saved to preset" msgstr "" +"Het kalibratieresultaat van de maximale volumetrische snelheid is opgeslagen " +"in de vooraf ingestelde waarde" msgid "When do you need Flow Dynamics Calibration" -msgstr "" +msgstr "Wanneer heb je een Flow Dynamics-kalibratie nodig?" msgid "" "We now have added the auto-calibration for different filaments, which is " @@ -13498,9 +13800,18 @@ msgid "" "3. If the max volumetric speed or print temperature is changed in the " "filament setting." msgstr "" +"We hebben nu de automatische kalibratie voor verschillende filamenten " +"toegevoegd. Deze is volledig geautomatiseerd en het resultaat wordt " +"opgeslagen in de printer voor toekomstig gebruik. Je hoeft de kalibratie " +"alleen uit te voeren in de volgende beperkte gevallen:\n" +"1. Als je een nieuw filament van een ander merk/model introduceert of als " +"het filament vochtig is;\n" +"2. Als de spuitmond versleten is of vervangen is door een nieuwe;\n" +"3. Als de maximale volumetrische snelheid of printtemperatuur is gewijzigd " +"in de filamentinstelling." msgid "About this calibration" -msgstr "" +msgstr "Over deze kalibratie" msgid "" "Please find the details of Flow Dynamics Calibration from our wiki.\n" @@ -13521,9 +13832,28 @@ msgid "" "cause the result not exactly the same in each calibration. We are still " "investigating the root cause to do improvements with new updates." msgstr "" +"De details van Flow Dynamics Calibration vindt u op onze wiki.\n" +"\n" +"Meestal is kalibratie niet nodig. Als je een print met één kleur/materiaal " +"start en de optie \"kalibratie van de stroomdynamica\" is aangevinkt in het " +"startmenu van de printer, dan zal de printer de oude manier volgen en het " +"filament kalibreren voor het printen; als je een print met meerdere kleuren/" +"materialen start, dan zal de printer de standaard compensatieparameter voor " +"het filament gebruiken tijdens elke filamentwissel, wat in de meeste " +"gevallen een goed resultaat zal opleveren.\n" +"\n" +"Let op: er zijn een paar gevallen waardoor het kalibratieresultaat niet " +"betrouwbaar is: als je een textuurplaat gebruikt om de kalibratie uit te " +"voeren; als de bouwplaat geen goede hechting heeft (was de bouwplaat of " +"breng lijm aan!) ...Je kunt meer informatie vinden op onze wiki.\n" +"\n" +"De kalibratieresultaten hebben ongeveer 10 procent jitter in onze test, " +"waardoor het resultaat niet bij elke kalibratie precies hetzelfde is. We " +"onderzoeken nog steeds de oorzaak om verbeteringen aan te brengen met nieuwe " +"updates." msgid "When to use Flow Rate Calibration" -msgstr "" +msgstr "Wanneer moet u Flow Rate kalibratie gebruiken" msgid "" "After using Flow Dynamics Calibration, there might still be some extrusion " @@ -13536,12 +13866,24 @@ msgid "" "4. Weak Structural Integrity: Prints break easily or don't seem as sturdy as " "they should be." msgstr "" +"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." 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 "" +"Bovendien is Flow Rate kalibratie cruciaal voor schuimmaterialen zoals LW-" +"PLA die worden gebruikt in RC-vliegtuigen. Deze materialen zetten sterk uit " +"bij verhitting, en kalibratie levert een bruikbare referentiestroom op." msgid "" "Flow Rate Calibration measures the ratio of expected to actual extrusion " @@ -13551,6 +13893,13 @@ msgid "" "you still see the listed defects after you have done other calibrations. For " "more details, please check out the wiki article." msgstr "" +"Flow Rate Calibration meet de verhouding tussen verwachte en werkelijke " +"extrusievolumes. De standaardinstelling werkt goed in Bambu Lab printers en " +"officiële filamenten, omdat deze vooraf zijn gekalibreerd en afgestemd. Voor " +"een normaal filament is het meestal niet nodig om een kalibratie van de " +"stroomsnelheid uit te voeren, tenzij je nog steeds de genoemde defecten ziet " +"nadat je andere kalibraties hebt uitgevoerd. Kijk voor meer informatie in " +"het wiki-artikel." msgid "" "Auto Flow Rate Calibration utilizes Bambu Lab's Micro-Lidar technology, " @@ -13570,48 +13919,72 @@ msgid "" "can lead to sub-par prints or printer damage. Please make sure to carefully " "read and understand the process before doing it." msgstr "" +"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 performing it." msgid "When you need Max Volumetric Speed Calibration" -msgstr "" +msgstr "Wanneer u maximale volumetrische snelheidskalibratie nodig hebt" msgid "Over-extrusion or under extrusion" -msgstr "" +msgstr "Over-extrusie of onderextrusie" msgid "Max Volumetric Speed calibration is recommended when you print with:" msgstr "" +"Kalibratie van de maximale volumetrische snelheid wordt aanbevolen wanneer " +"je afdrukt met:" msgid "material with significant thermal shrinkage/expansion, such as..." -msgstr "" +msgstr "materiaal met aanzienlijke thermische krimp/uitzetting, zoals..." msgid "materials with inaccurate filament diameter" -msgstr "" +msgstr "materialen met een onnauwkeurige filamentdiameter" msgid "We found the best Flow Dynamics Calibration Factor" -msgstr "" +msgstr "We hebben de beste Flow Dynamics kalibratiefactor gevonden" msgid "" "Part of the calibration failed! You may clean the plate and retry. The " "failed test result would be dropped." msgstr "" +"Een deel van de kalibratie is mislukt! U kunt de plaat schoonmaken en het " +"opnieuw proberen. Het mislukte testresultaat komt te vervallen." msgid "" "*We recommend you to add brand, materia, type, and even humidity level in " "the Name" msgstr "" +"*We raden je aan om merk, materiaal, type en zelfs vochtigheidsgraad toe te " +"voegen in de Naam." msgid "Failed" msgstr "Mislukt" msgid "Please enter the name you want to save to printer." -msgstr "" +msgstr "Voer de naam in die u op de printer wilt opslaan." msgid "The name cannot exceed 40 characters." -msgstr "" +msgstr "De naam mag niet langer zijn dan 40 tekens." msgid "" "Only one of the results with the same name will be saved. Are you sure you " "want to overrides the other results?" msgstr "" +"Slechts één van de resultaten met dezelfde naam wordt opgeslagen. Weet je " +"zeker dat je de andere resultaten wilt vervangen?" #, c-format, boost-format msgid "" @@ -13619,188 +13992,199 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to overrides the historical result?" msgstr "" +"Er is al een eerder kalibratieresultaat met dezelfde naam: %s. Slechts één " +"van de resultaten met dezelfde naam wordt opgeslagen. Weet je zeker dat je " +"het vorige resultaat wilt vervangen?" msgid "Please find the best line on your plate" -msgstr "" +msgstr "Zoek de beste regel op je bord" msgid "Please find the cornor with perfect degree of extrusion" -msgstr "" +msgstr "Zoek de hoek met de perfecte extrusiegraad" msgid "Input Value" -msgstr "" +msgstr "Invoerwaarde" msgid "Save to Filament Preset" -msgstr "" +msgstr "Opslaan in filamentvoorinstellingen" msgid "Preset" -msgstr "" +msgstr "Voorinstelling" msgid "Record Factor" -msgstr "" +msgstr "Recordfactor" msgid "We found the best flow ratio for you" -msgstr "" +msgstr "We hebben de beste stroomverhouding voor je gevonden" msgid "Flow Ratio" -msgstr "" +msgstr "Flow ratio" msgid "Please input a valid value (0.0 < flow ratio < 2.0)" -msgstr "" +msgstr "Voer een geldige waarde in (0,0 < flow ratio < 2,0)" msgid "Please enter the name of the preset you want to save." -msgstr "" +msgstr "Voer de naam in van de voorinstelling die u wilt opslaan." msgid "Calibration1" -msgstr "" +msgstr "Kalibratie 1" msgid "Calibration2" -msgstr "" +msgstr "Kalibratie 2" msgid "Please find the best object on your plate" -msgstr "" +msgstr "Zoek het beste voorwerp op je bord" msgid "Fill in the value above the block with smoothest top surface" -msgstr "" +msgstr "Vul de waarde boven het blok in met het gladste bovenvlak" msgid "Skip Calibration2" -msgstr "" +msgstr "Kalibratie overslaan2" #, c-format, boost-format msgid "flow ratio : %s " -msgstr "" +msgstr "Stroomverhouding : %s " msgid "Please choose a block with smoothest top surface" -msgstr "" +msgstr "Kies een blok met de gladste bovenkant" msgid "Please choose a block with smoothest top surface." -msgstr "" +msgstr "Kies een blok met de gladste bovenkant." msgid "Please input a valid value (0 <= Max Volumetric Speed <= 60)" msgstr "" +"Voer een geldige waarde in (0 <= maximale volumetrische snelheid <= 60)" msgid "Calibration Type" -msgstr "" +msgstr "Kalibratietype" msgid "Complete Calibration" -msgstr "" +msgstr "Volledige kalibratie" msgid "Fine Calibration based on flow ratio" -msgstr "" +msgstr "Fijne kalibratie op basis van flow ratio" msgid "Title" -msgstr "" +msgstr "Titel" msgid "" "A test model will be printed. Please clear the build plate and place it back " "to the hot bed before calibration." msgstr "" +"Er wordt een testmodel geprint. Maak de bouwplaat vrij en plaats deze terug " +"op het hotbed voordat je gaat kalibreren." msgid "Printing Parameters" -msgstr "" +msgstr "Afdrukparameters" msgid "Plate Type" msgstr "Plate Type" msgid "filament position" -msgstr "" +msgstr "filament positie" msgid "External Spool" -msgstr "" +msgstr "Externe spoel" msgid "Filament For Calibration" -msgstr "" +msgstr "Filament voor kalibratie" 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 "" +"Tips voor kalibratiemateriaal: \n" +"- Materialen die dezelfde warmbedtemperatuur kunnen delen\n" +"- Verschillende filamentmerken en -families (Merk = Bambu, Familie = Basis, " +"Mat)" msgid "Pattern" -msgstr "" +msgstr "Patroon" msgid "Method" -msgstr "" +msgstr "Methode" #, c-format, boost-format msgid "%s is not compatible with %s" -msgstr "" +msgstr "%s is niet compatibel met %s" msgid "TPU is not supported for Flow Dynamics Auto-Calibration." -msgstr "" +msgstr "TPU wordt niet ondersteund voor automatische Flow Dynamics-kalibratie." msgid "Connecting to printer" -msgstr "" +msgstr "Verbinding maken met printer" msgid "From k Value" -msgstr "" +msgstr "Van k Waarde" msgid "To k Value" -msgstr "" +msgstr "Naar k Waarde" msgid "Step value" msgstr "" msgid "The nozzle diameter has been synchronized from the printer Settings" msgstr "" +"De diameter van het mondstuk is gesynchroniseerd met de printerinstellingen." msgid "From Volumetric Speed" -msgstr "" +msgstr "Van Volumetric Speed" msgid "To Volumetric Speed" -msgstr "" +msgstr "Naar volumetrische snelheid" msgid "Flow Dynamics Calibration Result" -msgstr "" +msgstr "Kalibratieresultaat van Flow Dynamics" msgid "New" -msgstr "" +msgstr "New" msgid "No History Result" -msgstr "" +msgstr "Geen geschiedenisresultaat" msgid "Success to get history result" -msgstr "" +msgstr "Succes om geschiedenisresultaat te krijgen" msgid "Refreshing the historical Flow Dynamics Calibration records" -msgstr "" +msgstr "De vorige Flow Dynamics kalibratierecords vernieuwen" msgid "Action" -msgstr "" +msgstr "Actie" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "" +msgstr "This machine type can only hold %d historical results per nozzle." msgid "Edit Flow Dynamics Calibration" -msgstr "" +msgstr "Flow Dynamics-kalibratie bewerken" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "New Flow Dynamic Calibration" msgid "Ok" -msgstr "" +msgstr "Ok" msgid "The filament must be selected." -msgstr "" +msgstr "The filament must be selected." msgid "Network lookup" -msgstr "" +msgstr "Netwerk opzoeken" msgid "Address" -msgstr "" +msgstr "Address" msgid "Hostname" -msgstr "" +msgstr "Hostnaam" msgid "Service name" -msgstr "" +msgstr "Servicenaam" msgid "OctoPrint version" -msgstr "" +msgstr "OctoPrint-versie" msgid "Searching for devices" -msgstr "" +msgstr "Zoeken naar apparaten" msgid "Finished" msgstr "Voltooid" @@ -13815,37 +14199,37 @@ msgid "" msgstr "" msgid "PA Calibration" -msgstr "" +msgstr "PA-kalibratie" msgid "DDE" msgstr "" msgid "Bowden" -msgstr "" +msgstr "Bowden" msgid "Extruder type" msgstr "" msgid "PA Tower" -msgstr "" +msgstr "PA-toren" msgid "PA Line" -msgstr "" +msgstr "PA-lijn" msgid "PA Pattern" -msgstr "" +msgstr "PA-patroon" msgid "Start PA: " -msgstr "" +msgstr "Start PA:" msgid "End PA: " -msgstr "" +msgstr "PA beëindigen: " msgid "PA step: " -msgstr "" +msgstr "PA-stap:" msgid "Print numbers" -msgstr "" +msgstr "Cijfers afdrukken" msgid "" "Please input valid values:\n" @@ -13853,39 +14237,43 @@ msgid "" "End PA: > Start PA\n" "PA step: >= 0.001)" msgstr "" +"Voer geldige waarden in:\n" +"PA starten: >= 0,0\n" +"PA beëindigen: > PA starten\n" +"PA-stap: >= 0,001)" msgid "Temperature calibration" -msgstr "" +msgstr "Temperatuurkalibratie" msgid "PLA" -msgstr "" +msgstr "PLA" msgid "ABS/ASA" -msgstr "" +msgstr "ABS/ASA" msgid "PETG" -msgstr "" +msgstr "PETG" msgid "TPU" -msgstr "" +msgstr "TPU" msgid "PA-CF" -msgstr "" +msgstr "PA-CF" msgid "PET-CF" -msgstr "" +msgstr "PET-CF" msgid "Filament type" -msgstr "" +msgstr "Filamenttype" msgid "Start temp: " -msgstr "" +msgstr "Starttemp:" msgid "End temp: " -msgstr "" +msgstr "Eindtemp:" msgid "Temp step: " -msgstr "" +msgstr "Temp stap:" msgid "" "Please input valid values:\n" @@ -13895,16 +14283,16 @@ msgid "" msgstr "" msgid "Max volumetric speed test" -msgstr "" +msgstr "Max. volumetrische snelheidstest" msgid "Start volumetric speed: " -msgstr "" +msgstr "Volumetrische snelheid starten:" msgid "End volumetric speed: " -msgstr "" +msgstr "Volumetrische eindsnelheid:" msgid "step: " -msgstr "" +msgstr "stap:" msgid "" "Please input valid values:\n" @@ -13914,13 +14302,13 @@ msgid "" msgstr "" msgid "VFA test" -msgstr "" +msgstr "VFA-test" msgid "Start speed: " -msgstr "" +msgstr "Startsnelheid:" msgid "End speed: " -msgstr "" +msgstr "Eindsnelheid:" msgid "" "Please input valid values:\n" @@ -13930,129 +14318,130 @@ msgid "" msgstr "" msgid "Start retraction length: " -msgstr "" +msgstr "Begin terugtreklengte:" msgid "End retraction length: " -msgstr "" +msgstr "Beëindig terugtreklengte: " msgid "mm/mm" -msgstr "" +msgstr "mm/mm" msgid "Send G-Code to printer host" msgstr "" msgid "Upload to Printer Host with the following filename:" -msgstr "" +msgstr "Uploaden naar Printer Host met de volgende bestandsnaam:" msgid "Use forward slashes ( / ) as a directory separator if needed." msgstr "" +"Gebruik indien nodig schuine strepen (/) als scheidingsteken voor mappen." msgid "Upload to storage" msgstr "" #, c-format, boost-format msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?" -msgstr "" +msgstr "De bestandsnaam van de upload eindigt niet op \"%s\". Wilt u doorgaan?" msgid "Upload" -msgstr "" +msgstr "Uploaden" msgid "Print host upload queue" -msgstr "" +msgstr "Uploadwachtrij van de host afdrukken" msgid "ID" -msgstr "" +msgstr "ID" msgid "Progress" -msgstr "" +msgstr "Voortgang" msgid "Host" -msgstr "" +msgstr "Host" msgctxt "OfFile" msgid "Size" -msgstr "" +msgstr "Maat" msgid "Filename" -msgstr "" +msgstr "Bestandsnaam" msgid "Cancel selected" -msgstr "" +msgstr "Annuleer geselecteerde" msgid "Show error message" -msgstr "" +msgstr "Foutmelding tonen" msgid "Enqueued" -msgstr "" +msgstr "In de wachtrij" msgid "Uploading" msgstr "Uploaden" msgid "Cancelling" -msgstr "" +msgstr "Annuleren" msgid "Error uploading to print host" msgstr "" msgid "Unable to perform boolean operation on selected parts" -msgstr "" +msgstr "Kan geen booleaanse bewerking uitvoeren op geselecteerde onderdelen" msgid "Mesh Boolean" -msgstr "" +msgstr "Mesh booleaans" msgid "Union" -msgstr "" +msgstr "Unie" msgid "Difference" -msgstr "" +msgstr "Verschil" msgid "Intersection" -msgstr "" +msgstr "Kruising" msgid "Source Volume" -msgstr "" +msgstr "Bronvolume" msgid "Tool Volume" -msgstr "" +msgstr "Gereedschapsvolume" msgid "Subtract from" -msgstr "" +msgstr "Aftrekken van" msgid "Subtract with" -msgstr "" +msgstr "Aftrekken met" msgid "selected" -msgstr "" +msgstr "geselecteerd" msgid "Part 1" -msgstr "" +msgstr "Deel 1" msgid "Part 2" -msgstr "" +msgstr "Deel 2" msgid "Delete input" -msgstr "" +msgstr "Invoer verwijderen" msgid "Network Test" -msgstr "" +msgstr "Netwerktest" msgid "Start Test Multi-Thread" -msgstr "" +msgstr "Multi-thread test starten" msgid "Start Test Single-Thread" -msgstr "" +msgstr "Test Single-Thread starten" msgid "Export Log" -msgstr "" +msgstr "Logboek exporteren" msgid "OrcaSlicer Version:" msgstr "" msgid "System Version:" -msgstr "" +msgstr "Systeemversie:" msgid "DNS Server:" -msgstr "" +msgstr "DNS-server:" msgid "Test OrcaSlicer(GitHub)" msgstr "" @@ -14061,92 +14450,99 @@ msgid "Test OrcaSlicer(GitHub):" msgstr "" msgid "Test Bing.com" -msgstr "" +msgstr "Test Bing.com" msgid "Test bing.com:" -msgstr "" +msgstr "Test bing.com:" msgid "Log Info" -msgstr "" +msgstr "Log-informatie" msgid "Select filament preset" -msgstr "" +msgstr "Selecteer voorinstelling gloeidraad" msgid "Create Filament" -msgstr "" +msgstr "Draad maken" msgid "Create Based on Current Filament" -msgstr "" +msgstr "Creëer op basis van huidig filament" msgid "Copy Current Filament Preset " -msgstr "" +msgstr "Kopieer de huidige filamentvoorinstelling " msgid "Basic Information" -msgstr "" +msgstr "Basisinformatie" msgid "Add Filament Preset under this filament" -msgstr "" +msgstr "Voeg Filament Preset toe onder dit filament" msgid "We could create the filament presets for your following printer:" -msgstr "" +msgstr "We kunnen de filament presets maken voor uw volgende printer:" msgid "Select Vendor" -msgstr "" +msgstr "Selecteer leverancier" msgid "Input Custom Vendor" -msgstr "" +msgstr "Aangepaste leverancier invoeren" msgid "Can't find vendor I want" -msgstr "" +msgstr "Kan de leverancier die ik wil niet vinden" msgid "Select Type" -msgstr "" +msgstr "Selecteer type" msgid "Select Filament Preset" -msgstr "" +msgstr "Selecteer filament preset" msgid "Serial" -msgstr "" +msgstr "Serieel" msgid "e.g. Basic, Matte, Silk, Marble" -msgstr "" +msgstr "bijv. Basic, Mat, Zijde, Marmer" msgid "Filament Preset" -msgstr "" +msgstr "Filament voorinstelling" msgid "Create" -msgstr "" +msgstr "Creëren" msgid "Vendor is not selected, please reselect vendor." -msgstr "" +msgstr "Vendor is not selected; please reselect vendor." msgid "Custom vendor is not input, please input custom vendor." -msgstr "" +msgstr "Custom vendor missing; please input custom vendor." msgid "" "\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." msgstr "" +"\"Bambu\" of \"Generic\" kan niet worden gebruikt als leverancier voor " +"aangepaste filamenten." msgid "Filament type is not selected, please reselect type." -msgstr "" +msgstr "Het type draad is niet geselecteerd, selecteer het type opnieuw." msgid "Filament serial is not inputed, please input serial." -msgstr "" +msgstr "Filament serial missing; please input serial." msgid "" "There may be escape characters in the vendor or serial input of filament. " "Please delete and re-enter." msgstr "" +"There may be disallowed characters in the vendor or serial input of the " +"filament. Please delete and re-enter." msgid "All inputs in the custom vendor or serial are spaces. Please re-enter." msgstr "" +"Alle ingangen in de aangepaste verkoper of serie zijn spaties. Voer opnieuw " +"in." msgid "The vendor can not be a number. Please re-enter." -msgstr "" +msgstr "The vendor can not be a number; please re-enter." msgid "" "You have not selected a printer or preset yet. Please select at least one." msgstr "" +"Je hebt nog geen printer of preset geselecteerd. Selecteer er ten minste één." #, c-format, boost-format msgid "" @@ -14154,14 +14550,19 @@ msgid "" "If you continue creating, the preset created will be displayed with its full " "name. Do you want to continue?" msgstr "" +"De filamentnaam %s die je hebt gemaakt, bestaat al. \n" +"Als u doorgaat, wordt de gemaakte voorinstelling weergegeven met de " +"volledige naam. Wilt u doorgaan?" msgid "Some existing presets have failed to be created, as follows:\n" -msgstr "" +msgstr "Sommige bestaande presets zijn niet aangemaakt, als volgt:\n" msgid "" "\n" "Do you want to rewrite it?" msgstr "" +"\n" +"Wil je het herschrijven?" msgid "" "We would rename the presets as \"Vendor Type Serial @printer you selected" @@ -14170,46 +14571,46 @@ msgid "" msgstr "" msgid "Create Printer/Nozzle" -msgstr "" +msgstr "Printer/mondstuk maken" msgid "Create Printer" -msgstr "" +msgstr "Printer maken" msgid "Create Nozzle for Existing Printer" -msgstr "" +msgstr "Mondstuk maken voor bestaande printer" msgid "Create from Template" -msgstr "" +msgstr "Maken op basis van sjabloon" msgid "Create Based on Current Printer" -msgstr "" +msgstr "Aanmaken op basis van huidige printer" msgid "Import Preset" -msgstr "" +msgstr "Preset importeren" msgid "Create Type" -msgstr "" +msgstr "Type maken" msgid "The model is not fond, place reselect vendor." -msgstr "" +msgstr "The model was not found; please reselect vendor." msgid "Select Model" -msgstr "" +msgstr "Model kiezen" msgid "Select Printer" -msgstr "" +msgstr "Selecteer printer" msgid "Input Custom Model" -msgstr "" +msgstr "Invoer aangepast model" msgid "Can't find my printer model" -msgstr "" +msgstr "Kan mijn printermodel niet vinden" msgid "Rectangle" -msgstr "" +msgstr "Rechthoek" msgid "Printable Space" -msgstr "" +msgstr "Printbare ruimte" msgid "X" msgstr "" @@ -14218,66 +14619,70 @@ msgid "Y" msgstr "" msgid "Hot Bed STL" -msgstr "" +msgstr "Warm bed STL" msgid "Load stl" -msgstr "" +msgstr "Stl laden" msgid "Hot Bed SVG" -msgstr "" +msgstr "Warm bed SVG" msgid "Load svg" -msgstr "" +msgstr "svg laden" msgid "Max Print Height" -msgstr "" +msgstr "Max. afdrukhoogte" #, c-format, boost-format msgid "The file exceeds %d MB, please import again." -msgstr "" +msgstr "Het bestand is groter dan %d MB, importeer opnieuw." msgid "Exception in obtaining file size, please import again." -msgstr "" +msgstr "Uitzondering in het verkrijgen van bestandsgrootte, importeer opnieuw." msgid "Preset path is not find, please reselect vendor." -msgstr "" +msgstr "Preset-pad niet gevonden; selecteer leverancier opnieuw." msgid "The printer model was not found, please reselect." -msgstr "" +msgstr "Het printermodel is niet gevonden, selecteer opnieuw." msgid "The nozzle diameter is not fond, place reselect." -msgstr "" +msgstr "The nozzle diameter was not found; please reselect." msgid "The printer preset is not fond, place reselect." -msgstr "" +msgstr "The printer preset was not found; please reselect." msgid "Printer Preset" -msgstr "" +msgstr "Vooraf ingestelde printer" msgid "Filament Preset Template" -msgstr "" +msgstr "Filament vooraf ingestelde sjabloon" msgid "Deselect All" -msgstr "" +msgstr "Alles deselecteren" msgid "Process Preset Template" -msgstr "" +msgstr "Vooraf ingesteld proces sjabloon" msgid "Back Page 1" -msgstr "" +msgstr "Terug Pagina 1" msgid "" "You have not yet chosen which printer preset to create based on. Please " "choose the vendor and model of the printer" msgstr "" +"Je hebt nog niet gekozen op basis van welke preset je de printer wilt maken. " +"Kies de leverancier en het model van de printer" msgid "" "You have entered an illegal input in the printable area section on the first " "page. Please check before creating it." msgstr "" +"U hebt een niet toegestaan teken ingevoerd in het gedeelte van het " +"afdrukbare gebied op de eerste pagina. Gebruik alleen cijfers." msgid "The custom printer or model is not inputed, place input." -msgstr "" +msgstr "The custom printer or model missing; please input." msgid "" "The printer preset you created already has a preset with the same name. Do " @@ -14288,60 +14693,75 @@ msgid "" "reserve.\n" "\tCancel: Do not create a preset, return to the creation interface." msgstr "" +"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 " +"reserved.\n" +"\tCancel: Do not create a preset; return to the creation interface." msgid "You need to select at least one filament preset." -msgstr "" +msgstr "U moet ten minste één filamentvoorinstelling selecteren." msgid "You need to select at least one process preset." -msgstr "" +msgstr "Je moet minstens één procesvoorinstelling selecteren." msgid "Create filament presets failed. As follows:\n" -msgstr "" +msgstr "Voorinstellingen voor filament maken mislukt. Als volgt:\n" msgid "Create process presets failed. As follows:\n" -msgstr "" +msgstr "Procesvoorinstellingen maken mislukt. Als volgt:\n" msgid "Vendor is not find, please reselect." -msgstr "" +msgstr "Leverancier is niet gevonden; selecteer opnieuw." msgid "Current vendor has no models, please reselect." -msgstr "" +msgstr "De huidige leverancier heeft geen modellen. Selecteer opnieuw." msgid "" "You have not selected the vendor and model or inputed the custom vendor and " "model." msgstr "" +"U hebt de verkoper en het model niet geselecteerd of de aangepaste verkoper " +"en het aangepaste model niet ingevoerd." msgid "" "There may be escape characters in the custom printer vendor or model. Please " "delete and re-enter." msgstr "" +"Er kunnen escape-tekens staan in de aangepaste printerverkoper of het " +"aangepaste printermodel. Verwijder ze en voer ze opnieuw in." msgid "" "All inputs in the custom printer vendor or model are spaces. Please re-enter." msgstr "" +"Alle invoer in de aangepaste printerverkoper of het aangepaste printermodel " +"zijn spaties. Voer opnieuw in." msgid "Please check bed printable shape and origin input." -msgstr "" +msgstr "Controleer de bedrukbare vorm en oorsprongsinvoer." msgid "" "You have not yet selected the printer to replace the nozzle, please choose." msgstr "" +"Je hebt de printer waarvoor je het mondstuk wilt vervangen nog niet " +"geselecteerd; kies een printer." msgid "Create Printer Successful" -msgstr "" +msgstr "Printer succesvol maken" msgid "Create Filament Successful" -msgstr "" +msgstr "Filament Created Successfully" msgid "Printer Created" -msgstr "" +msgstr "Printer gemaakt" msgid "Please go to printer settings to edit your presets" -msgstr "" +msgstr "Ga naar printerinstellingen om je voorinstellingen te bewerken" msgid "Filament Created" -msgstr "" +msgstr "Aangemaakt filament" msgid "" "Please go to filament setting to edit your presets if you need.\n" @@ -14349,6 +14769,11 @@ msgid "" "volumetric speed has a significant impact on printing quality. Please set " "them carefully." msgstr "" +"Ga naar filamentinstellingen om uw voorinstellingen te bewerken als dat " +"nodig is.\n" +"Houd er rekening mee dat de spuitmondtemperatuur, warmbedtemperatuur en " +"maximale volumetrische snelheid elk een aanzienlijke invloed hebben op de " +"printkwaliteit. Stel ze daarom zorgvuldig in." msgid "" "\n" @@ -14360,7 +14785,7 @@ msgid "" msgstr "" msgid "Printer Setting" -msgstr "" +msgstr "Printerinstelling" msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -14369,31 +14794,31 @@ msgid "Filament bundle(.orca_filament)" msgstr "" msgid "Printer presets(.zip)" -msgstr "" +msgstr "Printer presets(.zip)" msgid "Filament presets(.zip)" -msgstr "" +msgstr "Filament presets(.zip)" msgid "Process presets(.zip)" -msgstr "" +msgstr "Proces presets(.zip)" msgid "initialize fail" -msgstr "" +msgstr "initialiseren mislukt" msgid "add file fail" -msgstr "" +msgstr "Bestand toevoegen mislukt" msgid "add bundle structure file fail" -msgstr "" +msgstr "bundle structuurbestand toevoegen mislukt" msgid "finalize fail" -msgstr "" +msgstr "afronden mislukt" msgid "open zip written fail" -msgstr "" +msgstr "open zip geschreven mislukt" msgid "Export successful" -msgstr "" +msgstr "Export succesvol" #, c-format, boost-format msgid "" @@ -14402,6 +14827,10 @@ msgid "" "If not, a time suffix will be added, and you can modify the name after " "creation." msgstr "" +"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." msgid "" "Printer and all the filament&&process presets that belongs to the printer. \n" @@ -14412,54 +14841,69 @@ msgid "" "User's fillment preset set. \n" "Can be shared with others." msgstr "" +"Ingestelde preset vullingsset van de gebruiker.\n" +"Kan worden gedeeld met anderen." msgid "" "Only display printer names with changes to printer, filament, and process " "presets." msgstr "" +"Alleen printers met wijzigingen in printer-, filament- en proces presets " +"worden weergegeven." msgid "Only display the filament names with changes to filament presets." -msgstr "" +msgstr "Geef alleen de filamentnamen weer met wijzigingen in filament presets." msgid "" "Only printer names with user printer presets will be displayed, and each " "preset you choose will be exported as a zip." msgstr "" +"Alleen printernamen met gebruikersprinter presets worden weergegeven en elke " +"preset die je kiest, wordt als zip geëxporteerd." 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 "" +"Alleen de filamentnamen met gebruikers presets worden weergegeven, \n" +"en alle gebruikers presets in elke filamentnaam die u selecteert, worden " +"geëxporteerd als zip-bestand." 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 "" +"Alleen printernamen met gewijzigde proces presets worden weergegeven, \n" +"en alle gebruikersproces presets in elke printernaam die u selecteert, " +"worden als zip geëxporteerd." msgid "Please select at least one printer or filament." -msgstr "" +msgstr "Selecteer ten minste één printer of filament." msgid "Please select a type you want to export" -msgstr "" +msgstr "Selecteer het type preset dat je wilt exporteren" msgid "Failed to create temporary folder, please try Export Configs again." -msgstr "" +msgstr "Failed to create temporary folder, please try Export Configs again." msgid "Edit Filament" -msgstr "" +msgstr "Bewerk filament" msgid "Filament presets under this filament" -msgstr "" +msgstr "Presets onder deze gloeidraad" msgid "" "Note: If the only preset under this filament is deleted, the filament will " "be deleted after exiting the dialog." msgstr "" +"Opmerking: Als de enige preset onder deze gloeidraad wordt verwijderd, wordt " +"de gloeidraad verwijderd na het verlaten van het dialoogvenster." msgid "Presets inherited by other presets can not be deleted" msgstr "" +"Presets die door andere presets worden geërfd, kunnen niet worden verwijderd" msgid "The following presets inherits this preset." msgid_plural "The following preset inherits this preset." @@ -14467,190 +14911,206 @@ msgstr[0] "" msgstr[1] "" msgid "Delete Preset" -msgstr "" +msgstr "Preset verwijderen" msgid "Are you sure to delete the selected preset?" -msgstr "" +msgstr "Weet je zeker dat je de geselecteerde preset wilt verwijderen?" msgid "Delete preset" -msgstr "" +msgstr "Preset verwijderen" msgid "+ Add Preset" -msgstr "" +msgstr "+ Preset toevoegen" msgid "Delete Filament" -msgstr "" +msgstr "Draad verwijderen" 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 "" +"Alle presets van het filament die bij dit filament horen, worden " +"verwijderd. \n" +"Als u dit filament gebruikt in uw printer, reset dan de filamentinformatie " +"voor die sleuf." msgid "Delete filament" -msgstr "" +msgstr "Draad verwijderen" msgid "Add Preset" -msgstr "" +msgstr "Preset toevoegen" msgid "Add preset for new printer" -msgstr "" +msgstr "Preset toevoegen voor nieuwe printer" msgid "Copy preset from filament" -msgstr "" +msgstr "Kopieer preset van filament" msgid "The filament choice not find filament preset, please reselect it" -msgstr "" +msgstr "De filamentkeuze vindt geen filament preset, selecteer deze opnieuw" msgid "[Delete Required]" -msgstr "" +msgstr "[Verwijderen vereist]" msgid "Edit Preset" -msgstr "" +msgstr "Preset bewerken" msgid "For more information, please check out Wiki" -msgstr "" +msgstr "For more information, please check out our Wiki" msgid "Collapse" -msgstr "" +msgstr "Instorten" msgid "Daily Tips" -msgstr "" +msgstr "Dagelijkse tips" msgid "" "Your nozzle diameter in preset is not consistent with memorized nozzle " "diameter. Did you change your nozzle lately?" msgstr "" +"Your nozzle diameter in preset is not consistent with the saved nozzle " +"diameter. Have you changed your nozzle?" #, c-format, boost-format msgid "*Printing %s material with %s may cause nozzle damage" -msgstr "" +msgstr "*Afdrukken%s materiaal mee%s kan schade aan het mondstuk veroorzaken" msgid "Need select printer" -msgstr "" +msgstr "Printer selecteren" msgid "The start, end or step is not valid value." -msgstr "" +msgstr "Het begin, einde of stap is geen geldige waarde." msgid "" "Unable to calibrate: maybe because the set calibration value range is too " "large, or the step is too small" msgstr "" +"Kan niet kalibreren: misschien omdat het bereik van de ingestelde " +"kalibratiewaarde te groot is, of omdat de stap te klein is" msgid "Physical Printer" -msgstr "" +msgstr "Fysieke printer" msgid "Print Host upload" -msgstr "" +msgstr "Host-upload afdrukken" msgid "Could not get a valid Printer Host reference" -msgstr "" +msgstr "Kon geen geldige printerhostreferentie krijgen" msgid "Success!" -msgstr "" +msgstr "Succes!" msgid "Are you sure to log out?" msgstr "" msgid "Refresh Printers" -msgstr "" +msgstr "Printers vernieuwen" msgid "" "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" "signed certificate." msgstr "" +"HTTPS CA-bestand is optioneel. Het is alleen nodig als je HTTPS gebruikt met " +"een zelfondertekend certificaat." msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "" +msgstr "Certificaatbestanden (*.crt, *.pem)|*.crt;*.pem|Alle bestanden|*.*" msgid "Open CA certificate file" -msgstr "" +msgstr "Open CA-certificaatbestand" #, c-format, boost-format msgid "" "On this system, %s uses HTTPS certificates from the system Certificate Store " "or Keychain." msgstr "" +"Op dit systeem gebruikt %s HTTPS-certificaten uit de " +"systeemcertificaatopslag of de sleutelhanger." msgid "" "To use a custom CA file, please import your CA file into Certificate Store / " "Keychain." msgstr "" +"Om een aangepast CA-bestand te gebruiken, importeert u uw CA-bestand in " +"Certificate Store / Keychain." msgid "Login/Test" msgstr "" msgid "Connection to printers connected via the print host failed." -msgstr "" +msgstr "Verbinding met printers aangesloten via de printhost mislukt." #, c-format, boost-format msgid "Mismatched type of print host: %s" -msgstr "" +msgstr "Verkeerd type afdrukhost: %s" msgid "Connection to AstroBox works correctly." -msgstr "" +msgstr "Connection to AstroBox is working correctly." msgid "Could not connect to AstroBox" -msgstr "" +msgstr "Kan geen verbinding maken met AstroBox" msgid "Note: AstroBox version at least 1.1.0 is required." -msgstr "" +msgstr "Note: AstroBox version 1.1.0 or higher is required." msgid "Connection to Duet works correctly." -msgstr "" +msgstr "Connection to Duet is working correctly." msgid "Could not connect to Duet" -msgstr "" +msgstr "Kan geen verbinding maken met Duet" msgid "Unknown error occured" -msgstr "" +msgstr "Onbekende fout opgetreden" msgid "Wrong password" -msgstr "" +msgstr "Verkeerd wachtwoord." msgid "Could not get resources to create a new connection" -msgstr "" +msgstr "Kan geen bronnen krijgen om een nieuwe verbinding te maken" msgid "Upload not enabled on FlashAir card." -msgstr "" +msgstr "Uploaden niet ingeschakeld op FlashAir-kaart." msgid "Connection to FlashAir works correctly and upload is enabled." -msgstr "" +msgstr "Connection to FlashAir is working correctly and upload is enabled." msgid "Could not connect to FlashAir" -msgstr "" +msgstr "Kan geen verbinding maken met FlashAir" msgid "" "Note: FlashAir with firmware 2.00.02 or newer and activated upload function " "is required." msgstr "" +"Opmerking: FlashAir met firmware 2.00.02 of nieuwer en geactiveerde " +"uploadfunctie is vereist." msgid "Connection to MKS works correctly." -msgstr "" +msgstr "Connection to MKS is working correctly." msgid "Could not connect to MKS" -msgstr "" +msgstr "Kan geen verbinding maken met MKS" msgid "Connection to OctoPrint works correctly." -msgstr "" +msgstr "Connection to OctoPrint is working correctly." msgid "Could not connect to OctoPrint" -msgstr "" +msgstr "Kan geen verbinding maken met OctoPrint" msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "" +msgstr "Note: OctoPrint version 1.1.0 or higher is required." msgid "Connection to Prusa SL1 / SL1S works correctly." -msgstr "" +msgstr "Connection to Prusa SL1 / SL1S is working correctly." msgid "Could not connect to Prusa SLA" -msgstr "" +msgstr "Kan geen verbinding maken met Prusa SLA" msgid "Connection to PrusaLink works correctly." -msgstr "" +msgstr "Connection to PrusaLink is working correctly." msgid "Could not connect to PrusaLink" -msgstr "" +msgstr "Kan geen verbinding maken met PrusaLink" msgid "Storages found" msgstr "" @@ -14677,19 +15137,21 @@ msgid "Could not connect to Prusa Connect" msgstr "" msgid "Connection to Repetier works correctly." -msgstr "" +msgstr "Connection to Repetier is working correctly." msgid "Could not connect to Repetier" -msgstr "" +msgstr "Kan geen verbinding maken met Repetier" msgid "Note: Repetier version at least 0.90.0 is required." -msgstr "" +msgstr "Note: Repetier version 0.90.0 or higher is required." #, boost-format msgid "" "HTTP status: %1%\n" "Message body: \"%2%\"" msgstr "" +"HTTP-status: %1%\n" +"Bericht: \"%2%\"" #, boost-format msgid "" @@ -14697,6 +15159,9 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"Parsing van hostrespons mislukt.\n" +"Inhoud bericht: \"%1%\"\n" +"Fout: \"%2%\"" #, boost-format msgid "" @@ -14704,35 +15169,51 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"Opsomming van hostprinters mislukt.\n" +"Inhoud bericht: \"%1%\"\n" +"Fout: \"%2%\"" msgid "" "It has a small layer height, and results in almost negligible layer lines " "and high printing quality. It is suitable for most general printing cases." msgstr "" +"It has a small layer height, and results in almost negligible layer lines " +"and high print quality. It is suitable for most general printing cases." 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. So, it results in " "much higher printing quality, but a much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" +"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 longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " "height, and results in slightly visible layer lines, but shorter printing " "time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " "height, and results in almost invisible layer lines and higher printing " "quality, but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14740,12 +15221,19 @@ msgid "" "Gyroid. So, it results in almost invisible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " "height, and results in minimal layer lines and higher printing quality, but " "shorter printing time." msgstr "" +"Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " +"height. This results in minimal layer lines and higher print quality but " +"longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14753,35 +15241,53 @@ msgid "" "Gyroid. So, it results in minimal layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "It has a general layer height, and results in general layer lines and " "printing quality. It is suitable for most general printing cases." msgstr "" +"It has a normal layer height, and results in average layer lines and print " +"quality. It is suitable for most printing cases." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but slightly shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14789,12 +15295,19 @@ msgid "" "Gyroid. So, it results in less apparent layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14802,64 +15315,95 @@ msgid "" "Gyroid. So, it results in almost negligible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and longer printing " "time." msgstr "" +"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." msgid "" "It has a big layer height, and results in apparent layer lines and ordinary " "printing quality and printing time." msgstr "" +"It has a big layer height, and results in apparent layer lines and ordinary " +"printing quality and printing time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in much more apparent layer lines and much lower " "printing quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and slight higher printing " "quality, but longer printing time." msgstr "" +"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 slightly higher print " +"quality but longer print time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" +"It has a very big layer height, and results in very apparent layer lines, " +"low print quality and shorter printing time." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " "height, and results in very apparent layer lines and much lower printing " "quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " "layer height, and results in extremely apparent layer lines and much lower " "printing quality, but much shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -14867,12 +15411,18 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " "height, and results in less but still apparent layer lines and slightly " "higher printing quality, but longer printing time in some printing cases." msgstr "" +"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." msgid "Connected to Obico successfully!" msgstr "" @@ -14998,6 +15548,9 @@ msgid "" "Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " "problems on the Windows system?" msgstr "" +"Model repareren\n" +"Wist je dat je een beschadigd 3D-model kunt repareren om veel snijproblemen " +"op het Windows-systeem te voorkomen?" #: resources/data/hints.ini: [hint:Timelapse] msgid "" @@ -15237,6 +15790,11 @@ msgid "" "extruder/hotend clogging when printing lower temperature filament with a " "higher enclosure temperature. More info about this in the Wiki." msgstr "" +"Wanneer moet u printen met de printerdeur open?\n" +"Wist je dat het openen van de printerdeur de kans op verstopping van de " +"extruder/hotend kan verminderen bij het printen van filament met een lagere " +"temperatuur en een hogere omgevingstemperatuur? Er staat meer informatie " +"hierover in de Wiki." #: resources/data/hints.ini: [hint:Avoid warping] msgid "" @@ -15245,6 +15803,13 @@ msgid "" "ABS, appropriately increasing the heatbed temperature can reduce the " "probability of warping." msgstr "" +"Kromtrekken voorkomen\n" +"Wist je dat bij het printen van materialen die gevoelig zijn voor " +"kromtrekken, zoals ABS, een juiste verhoging van de temperatuur van het " +"warmtebed de kans op kromtrekken kan verkleinen?" + +#~ msgid "V" +#~ msgstr "V" #~ msgid "Export &Configs" #~ msgstr "Export &Configs" diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po index fe0359450f6..0418f87c6be 100644 --- a/localization/i18n/pl/OrcaSlicer_pl.po +++ b/localization/i18n/pl/OrcaSlicer_pl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer 2.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-22 17:37+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: \n" "Last-Translator: Krzysztof Morga \n" "Language-Team: \n" @@ -2503,8 +2503,8 @@ msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" -"Wybierz gniazdo AMS, a następnie naciśnij przycisk \"Ładuj\" lub " -"\"Wyładuj\" ,aby automatycznie załadować lub wyładować filamenty." +"Wybierz gniazdo AMS, a następnie naciśnij przycisk \"Ładuj\" lub \"Wyładuj" +"\" ,aby automatycznie załadować lub wyładować filamenty." msgid "Edit" msgstr "Edytuj" @@ -3462,6 +3462,15 @@ msgstr "Status Ams" msgid "Printing Options" msgstr "Opcje drukowania" +msgid "Bed Leveling" +msgstr "Poziomowanie stołu" + +msgid "Timelapse" +msgstr "Timelaps" + +msgid "Flow Dynamic Calibration" +msgstr "Kalibracja Dynamiki Przepływu" + msgid "Send Options" msgstr "Opcje wysyłania" @@ -5113,9 +5122,6 @@ msgstr "Grupuj pliki według miesiąca, najnowsze na początku." msgid "Show all files, recent first." msgstr "Pokaż wszystkie pliki, najnowsze na początku." -msgid "Timelapse" -msgstr "Timelaps" - msgid "Switch to timelapse files." msgstr "Przełącz się na pliki timelapse." @@ -7148,9 +7154,6 @@ msgstr "Bambu Textured PEI Plate" msgid "Send print job to" msgstr "Wyślij zadanie druku do" -msgid "Bed Leveling" -msgstr "Poziomowanie stołu" - msgid "Flow Dynamics Calibration" msgstr "Kalibracja Dynamiki Przepływu" @@ -7658,8 +7661,8 @@ 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\"." +"by right-click the empty position of build plate and choose \"Add Primitive" +"\"->\"Timelapse Wipe Tower\"." msgstr "" "Podczas nagrywania timelapse'a bez głowicy drukującej zaleca się dodanie " "\"Timelaps - Wieża Czyszcząca\" \n" @@ -9553,10 +9556,10 @@ msgid "" msgstr "" "Unikaj ruchów nad obrysami-\n" "Maksymalna długość objazdu przy unikaniu przejeżdżania nad obrysami. Jeśli " -"objazd miałby wykroczyć poza tę wartość, funkcja \"unikaj ruchów nad " -"obrysami\" zostanie zignorowana dla tej ścieżki. Długość objazdu można " -"zdefiniować jako wartość absolutna lub obliczona procentowo (np. 50%) z " -"długości ruchu bezpośredniego." +"objazd miałby wykroczyć poza tę wartość, funkcja \"unikaj ruchów nad obrysami" +"\" zostanie zignorowana dla tej ścieżki. Długość objazdu można zdefiniować " +"jako wartość absolutna lub obliczona procentowo (np. 50%) z długości ruchu " +"bezpośredniego." msgid "mm or %" msgstr "mm lub %" @@ -11278,10 +11281,10 @@ msgstr "Pełna prędkość wentylatora na warstwie" 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." +"\"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 "" "Prędkość wentylatora będzie stopniowo zwiększana liniowo od zera na warstwie " "\"close_fan_the_first_x_layers\" do maksymalnej na warstwie " @@ -12981,10 +12984,10 @@ msgid "" "triangle mesh slicing. The gap closing operation may reduce the final print " "resolution, therefore it is advisable to keep the value reasonably low." msgstr "" -"Szpary mniejsze niż dwukrotność wartości parametru \"promień zamykania " -"szpar\" zostaną zamknięte przy cięciu. Operacja zamykania szpar może " -"zmniejszyć finalną rozdzielczość wydruku, więc zalecane jest ustawienie tej " -"wartości na rozsądnie niskim poziomie." +"Szpary mniejsze niż dwukrotność wartości parametru \"promień zamykania szpar" +"\" zostaną zamknięte przy cięciu. Operacja zamykania szpar może zmniejszyć " +"finalną rozdzielczość wydruku, więc zalecane jest ustawienie tej wartości na " +"rozsądnie niskim poziomie." msgid "Slicing Mode" msgstr "Tryb cięcia" @@ -15374,8 +15377,8 @@ msgstr "" "Czy chcesz go zastąpić?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you " -"selected\". \n" +"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 "" "Nazwa profilu zostanie zmieniona na \"Dostawca Typ Seria @nazwa drukarki, " @@ -16706,9 +16709,6 @@ msgstr "" #~ msgid "V" #~ msgstr "V" -#~ msgid "Flow Dynamic Calibration" -#~ msgstr "Kalibracja Dynamiki Przepływu" - #~ msgid "Maximum print speed when purging" #~ msgstr "Maksymalna prędkość druku podczas czyszczenia" @@ -17851,8 +17851,8 @@ msgstr "" #~ "Elevation is too low for object. Use the \"Pad around object\" feature to " #~ "print the object without elevation." #~ msgstr "" -#~ "Podniesienie zbyt małe dla modelu. Użyj funkcji \"Podkładka wokół " -#~ "modelu\", aby wydrukować model bez podniesienia." +#~ "Podniesienie zbyt małe dla modelu. Użyj funkcji \"Podkładka wokół modelu" +#~ "\", aby wydrukować model bez podniesienia." #~ msgid "" #~ "The endings of the support pillars will be deployed on the gap between " diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po index 23877c5b174..976a749dccc 100644 --- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po +++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: 2024-04-16 11:17-0300\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" @@ -1397,9 +1397,6 @@ msgstr "" "O arquivo de configuração \"%1%\" foi carregado, mas alguns valores não " "foram reconhecidos." -msgid "V" -msgstr "V" - 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." @@ -1509,6 +1506,9 @@ msgstr "Escolha um ou mais arquivos (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Escolha um ou mais arquivos (3mf/step/stl/svg/obj/amf):" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "Escolha um arquivo (gcode/3mf):" @@ -1580,6 +1580,11 @@ msgstr "Envios em andamento" msgid "Select a G-code file:" msgstr "Selecione um arquivo G-code:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Importar Arquivo" @@ -3434,6 +3439,15 @@ msgstr "" msgid "Printing Options" msgstr "" +msgid "Bed Leveling" +msgstr "Nivelamento da mesa" + +msgid "Timelapse" +msgstr "Timelapse" + +msgid "Flow Dynamic Calibration" +msgstr "" + msgid "Send Options" msgstr "" @@ -4657,6 +4671,12 @@ msgstr "Importar 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Carregar um modelo" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Importar Configurações" @@ -5075,9 +5095,6 @@ msgstr "Agrupar arquivos por mês, mais recentes primeiro." msgid "Show all files, recent first." msgstr "Mostrar todos os arquivos, mais recentes primeiro." -msgid "Timelapse" -msgstr "Timelapse" - msgid "Switch to timelapse files." msgstr "Mudar para arquivos de timelapse." @@ -5661,12 +5678,12 @@ msgstr[1] "%1$d objetos foram carregados como peças do objeto cortado" msgid "ERROR" msgstr "ERRO" -msgid "CANCELED" -msgstr "CANCELADO" - msgid "COMPLETED" msgstr "CONCLUÍDO" +msgid "CANCELED" +msgstr "CANCELADO" + msgid "Cancel upload" msgstr "Cancelar envio" @@ -6279,6 +6296,20 @@ msgstr "não contém código G válido." msgid "Error occurs while loading G-code file" msgstr "Erro ocorreu ao carregar o arquivo de código G" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Solte o arquivo do projeto" @@ -6689,6 +6720,20 @@ msgstr "" "Se ativado, define OrcaSlicer como aplicativo padrão para abrir arquivos ." "step" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Máximo de projetos recentes" @@ -7053,9 +7098,6 @@ msgstr "Mesa Texturizada PEI Bambu" msgid "Send print job to" msgstr "Enviar trabalho de impressão para" -msgid "Bed Leveling" -msgstr "Nivelamento da mesa" - msgid "Flow Dynamics Calibration" msgstr "Calibração de Dinâmica de Fluxo" @@ -13440,17 +13482,29 @@ msgstr "Espaçamento das linhas de purga da torre de limpeza" msgid "Spacing of purge lines on the wipe tower." msgstr "Espaçamento das linhas de purga na torre de limpeza." -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -16424,6 +16478,9 @@ msgstr "" "aumentar adequadamente a temperatura da mesa aquecida pode reduzir a " "probabilidade de empenamento?" +#~ msgid "V" +#~ msgstr "V" + #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " #~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " diff --git a/localization/i18n/ru/OrcaSlicer_ru.po b/localization/i18n/ru/OrcaSlicer_ru.po index 6ef7b7020be..b5159939f27 100644 --- a/localization/i18n/ru/OrcaSlicer_ru.po +++ b/localization/i18n/ru/OrcaSlicer_ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer V2.0.0 Official Release\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: 2024-04-12 13:49+0700\n" "Last-Translator: \n" "Language-Team: andylg@yandex.ru\n" @@ -1397,9 +1397,6 @@ msgstr "" "Файл конфигурации \"%1%\" был загружен, но некоторые значения не были " "распознаны." -msgid "V" -msgstr "V" - 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." @@ -1510,6 +1507,9 @@ msgstr "" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Выберите один или несколько файлов (3mf/step/stl/svg/obj/amf):" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "Выберите один файл (gcode/3mf):" @@ -1580,6 +1580,11 @@ msgstr "Текущие загрузки" msgid "Select a G-code file:" msgstr "Выберите файл G-кода:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Импорт файла" @@ -2500,6 +2505,8 @@ msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" +"Выберите слот АСПП, затем нажмите кнопку «Загрузить» или «Выгрузить» для " +"автоматической загрузки или выгрузки прутка." msgid "Edit" msgstr "Правка" @@ -2981,7 +2988,7 @@ msgid "Print with the filament mounted on the back of chassis" msgstr "Печать материалом, установленным на задней части корпуса." msgid "Current Cabin humidity" -msgstr "" +msgstr "Текущая влажность внутри АСПП" msgid "" "Please change the desiccant when it is too wet. The indicator may not " @@ -2989,6 +2996,10 @@ msgid "" "desiccant pack is changed. it take hours to absorb the moisture, low " "temperatures also slow down the process." msgstr "" +"Пожалуйста, замените влагопоглотитель, если он слишком влажный. Индикатор " +"может показывать неточно в следующих случаях: при открытой крышке или замене " +"влагопоглотителя. Для поглощения влаги требуется несколько часов. Низкая " +"температура окружающей среды также замедляют этот процесс." msgid "" "Config which AMS slot should be used for a filament used in the print job" @@ -3051,10 +3062,10 @@ msgstr "" "одного производителя, типа и цвета)" msgid "DRY" -msgstr "" +msgstr "СУХОЙ" msgid "WET" -msgstr "" +msgstr "ВЛАЖНЫЙ" msgid "AMS Settings" msgstr "Настройки АСПП" @@ -3073,6 +3084,8 @@ msgid "" "Note: if a new filament is inserted during printing, the AMS will not " "automatically read any information until printing is completed." msgstr "" +"Примечание: если во время печати вставляется новая пластиковая нить, АСПП " +"автоматически считает информацию о ней только по завершению печати." msgid "" "When inserting a new filament, the AMS will not automatically read its " @@ -3210,7 +3223,7 @@ msgid "Running post-processing scripts" msgstr "Запуск скриптов постобработки" msgid "Successfully executed post-processing script" -msgstr "" +msgstr "Скрипт постобработки успешно выполнен." msgid "Unknown error occured during exporting G-code." msgstr "" @@ -3440,6 +3453,17 @@ msgstr "" msgid "Printing Options" msgstr "" +msgid "Bed Leveling" +msgstr "" +"Выравнивание\n" +"стола" + +msgid "Timelapse" +msgstr "Таймлапсы" + +msgid "Flow Dynamic Calibration" +msgstr "" + msgid "Send Options" msgstr "" @@ -3553,14 +3577,18 @@ msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" msgstr "" +"Минимально рекомендуемая температура меньше 190 градусов или максимально " +"рекомендуемая температура выше 300 градусов.\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " "maximum temperature.\n" msgstr "" +"Минимально рекомендуемая температура не может быть выше максимально " +"рекомендуемой.\n" msgid "Please check.\n" -msgstr "" +msgstr "Пожалуйста, проверьте.\n" msgid "" "Nozzle may be blocked when the temperature is out of recommended range.\n" @@ -4025,6 +4053,8 @@ msgstr "Проверка корректности параметра" #, c-format, boost-format msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "" +"Значение %s выходит за пределы допустимого диапазона. Допустимый диапазон - " +"от %d до %d." msgid "Value is out of range." msgstr "Введённое значение вне диапазона." @@ -4215,10 +4245,10 @@ msgid "Normal mode" msgstr "Нормальный режим" msgid "Total Filament" -msgstr "" +msgstr "Всего использовано прутка" msgid "Model Filament" -msgstr "" +msgstr "Исп. прутка для моделей" msgid "Prepare time" msgstr "Время подготовки" @@ -4314,7 +4344,7 @@ msgid "Spacing" msgstr "Интервал" msgid "0 means auto spacing." -msgstr "" +msgstr "0 - автоматический интервал." msgid "Auto rotate for arrangement" msgstr "Разрешить вращение при расстановке" @@ -4461,7 +4491,7 @@ msgid "Go Live" msgstr "Запустить трансляцию" msgid "Liveview Retry" -msgstr "" +msgstr "Повторить попытку просмотра" msgid "Resolution" msgstr "Разрешение" @@ -4666,6 +4696,12 @@ msgstr "Импортировать 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Загрузка модели" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Импортировать конфигурацию" @@ -4976,44 +5012,59 @@ 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 "Please confirm if the printer is connected." -msgstr "" +msgstr "Пожалуйста, проверьте, подключен ли принтер." msgid "" "The printer is currently busy downloading. Please try again after it " "finishes." msgstr "" +"Принтер в настоящее время занят загрузкой. Пожалуйста, повторите попытку " +"после завершения.\n" +"\n" +"Сейчас идёт загрузка. Пожалуйста, повторите попытку после завершения." msgid "Printer camera is malfunctioning." -msgstr "" +msgstr "Камера принтера неисправна." msgid "Problem occured. Please update the printer firmware and try again." msgstr "" +"Возникла проблема. Пожалуйста, обновите прошивку принтера и повторите " +"попытку." msgid "" "LAN Only Liveview is off. Please turn on the liveview on printer screen." msgstr "" +"Просмотр в реальном времени для локальной сети отключён. Пожалуйста, " +"включите его на экране принтера." msgid "Please enter the IP of printer to connect." -msgstr "" +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 "" +msgstr "Принтер вышел из системы и не может подключиться." msgid "Stopped." msgstr "Остановлено." @@ -5073,9 +5124,6 @@ msgstr "Группировать файлы по месяцам (по убыва msgid "Show all files, recent first." msgstr "Показать все файлы (недавние первые)" -msgid "Timelapse" -msgstr "Таймлапсы" - msgid "Switch to timelapse files." msgstr "Переключиться на файлы таймлапсов." @@ -5107,7 +5155,7 @@ msgid "Refresh" msgstr "Обновить" msgid "Reload file list from printer." -msgstr "" +msgstr "Перезагрузка списка файлов с принтера." msgid "No printers." msgstr "Принтеры отсутствуют." @@ -5120,10 +5168,10 @@ msgid "Loading file list..." msgstr "Загрузка списка файлов..." msgid "No files" -msgstr "" +msgstr "Файлы отсутствуют " msgid "Load failed" -msgstr "" +msgstr "Ошибка загрузки" msgid "Initialize failed (Device connection not ready)!" msgstr "Ошибка инициализации (подключённое устройство не готово)!" @@ -5132,15 +5180,19 @@ msgid "" "Browsing file in SD card is not supported in current firmware. Please update " "the printer firmware." msgstr "" +"На текущей версии прошивки просмотр файлов на SD-карте не поддерживается. " +"Пожалуйста, обновите прошивку принтера." msgid "Initialize failed (Storage unavailable, insert SD card.)!" msgstr "" msgid "LAN Connection Failed (Failed to view sdcard)" msgstr "" +"LAN Connection Failed (Failed to start liveview)\"\n" +"Сбой подключения к локальной сети (не удалось просмотреть sd-карту)" msgid "Browsing file in SD card is not supported in LAN Only Mode." -msgstr "" +msgstr "Просмотр файлов на SD-карте не поддерживается в режиме «Только LAN»." #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -5174,10 +5226,10 @@ msgid "Fetching model infomations ..." msgstr "Извлечение информации о модели..." msgid "Failed to fetch model information from printer." -msgstr "" +msgstr "Не удалось получить информацию о модели с принтера." msgid "Failed to parse model information." -msgstr "" +msgstr "Не удалось обработать информацию о модели." msgid "" "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " @@ -5195,6 +5247,8 @@ msgid "" "File: %s\n" "Title: %s\n" msgstr "" +"Файл: %s\n" +"Заголовок: %s\n" msgid "Download waiting..." msgstr "Ожидание загрузки..." @@ -5216,9 +5270,11 @@ msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." msgstr "" +"При повторном подключении принтера операция не может быть завершена " +"немедленно, повторите попытку позже." msgid "File does not exist." -msgstr "" +msgstr "Файла не существует." msgid "File checksum error. Please retry." msgstr "Ошибка контрольной суммы файла. Повторите попытку." @@ -5318,7 +5374,7 @@ msgid "Control" msgstr "Управление" msgid "Printer Parts" -msgstr "" +msgstr "Части принтера" msgid "Print Options" msgstr "Настройки печати" @@ -5568,7 +5624,7 @@ msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "" msgid "Download Beta Version" -msgstr "" +msgstr "Скачать бета-версию" msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "" @@ -5577,13 +5633,13 @@ msgid "Update your Orca Slicer could enable all functionality in the 3mf file." msgstr "" msgid "Current Version: " -msgstr "" +msgstr "Текущая версия: " msgid "Latest Version: " -msgstr "" +msgstr "Последняя версия: " msgid "Not for now" -msgstr "" +msgstr "Не сейчас" msgid "3D Mouse disconnected." msgstr "3D-мышь отключена." @@ -5657,12 +5713,12 @@ msgstr[2] "Загружена %1$d деталей, являющиеся част msgid "ERROR" msgstr "ОШИБКА" -msgid "CANCELED" -msgstr "ОТМЕНЕНО" - msgid "COMPLETED" msgstr "ЗАВЕРШЕНО" +msgid "CANCELED" +msgstr "ОТМЕНЕНО" + msgid "Cancel upload" msgstr "Отменить отправку" @@ -5780,7 +5836,7 @@ msgid "Check if the nozzle is clumping by filament or other foreign objects." msgstr "" msgid "Nozzle Type" -msgstr "" +msgstr "Тип сопла" msgid "Stainless Steel" msgstr "Нержавеющая сталь" @@ -5790,7 +5846,7 @@ msgstr "Закаленная сталь" #, c-format, boost-format msgid "%.1f" -msgstr "" +msgstr "%.1f" msgid "Global" msgstr "Общие" @@ -6242,13 +6298,13 @@ msgid "prepare 3mf file..." msgstr "подготовка 3mf файла..." msgid "Download failed, unknown file format." -msgstr "" +msgstr "Не удалось загрузить, неизвестный формат файла." msgid "downloading project ..." msgstr "скачивание проекта..." msgid "Download failed, File size exception." -msgstr "" +msgstr "Загрузка не удалась, ошибка размера файла." #, c-format, boost-format msgid "Project downloaded %d%%" @@ -6273,6 +6329,20 @@ msgstr "G-кода содержатся недопустимые данные." msgid "Error occurs while loading G-code file" msgstr "Ошибка при загрузке файла G-кода" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Операции с файлами проекта" @@ -6336,22 +6406,24 @@ msgid "" "Unable to perform boolean operation on model meshes. Only positive parts " "will be kept. You may fix the meshes and try agian." msgstr "" +"Невозможно выполнить булеву операцию над сетками модели. Будут сохранены " +"только положительные части. Вы можете исправить сетки и попробовать снова." #, boost-format msgid "Reason: part \"%1%\" is empty." -msgstr "" +msgstr "Причина: часть \"%1%\" пустая." #, boost-format msgid "Reason: part \"%1%\" does not bound a volume." -msgstr "" +msgstr "Причина: часть \"%1%\" не ограничивает объём." #, boost-format msgid "Reason: part \"%1%\" has self intersection." -msgstr "" +msgstr "Причина: часть \"%1%\" имеет самопересечение." #, boost-format msgid "Reason: \"%1%\" and another part have no intersection." -msgstr "" +msgstr "Причина: \"%1%\" и другая часть не пересекаются." msgid "" "Are you sure you want to store original SVGs with their local paths into the " @@ -6541,6 +6613,10 @@ msgid "" "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 " @@ -6619,10 +6695,12 @@ msgstr "" msgid "" "Flushing volumes: Auto-calculate every time when the filament is changed." -msgstr "" +msgstr "Объём очистки: автопересчёт при каждой смене прутка." msgid "If enabled, auto-calculate every time when filament is changed" msgstr "" +"Если включено, выполняется автоматический перерасчёт объёма очистки при " +"каждой смене прутка." msgid "Remember printer configuration" msgstr "" @@ -6685,6 +6763,20 @@ msgstr "" "Если включено, назначает OrcaSlicer в качестве приложения по умолчанию для " "открытия .step файлов." +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Максимальное количество недавних проектов" @@ -6861,16 +6953,16 @@ msgid "The selected preset is null!" msgstr "Выбранный профиль пуст!" msgid "End" -msgstr "" +msgstr "Последний" msgid "Customize" msgstr "Настроить" msgid "Other layer filament sequence" -msgstr "" +msgstr "Последовательность прутков на остальных слоях" msgid "Please input layer value (>= 2)." -msgstr "" +msgstr "Пожалуйста, введите значение слоя (>= 2)." msgid "Plate name" msgstr "Имя печатной пластины" @@ -6882,10 +6974,10 @@ msgid "Print sequence" msgstr "Последовательность печати моделей" msgid "Same as Global" -msgstr "" +msgstr "Аналогично глобальной настройке" msgid "Disable" -msgstr "" +msgstr "Отключить" msgid "Spiral vase" msgstr "Спиральная ваза" @@ -7054,11 +7146,6 @@ msgstr "Текстурированная PEI пластина Bambu" msgid "Send print job to" msgstr "Отправка задания на печать" -msgid "Bed Leveling" -msgstr "" -"Выравнивание\n" -"стола" - msgid "Flow Dynamics Calibration" msgstr "" "Калибровка\n" @@ -7165,6 +7252,8 @@ msgid "" "The selected printer (%s) is incompatible with the chosen printer profile in " "the slicer (%s)." msgstr "" +"Выбранный принтер (%s) несовместим с профилем принтера (%s), выбранным в " +"слайсере." msgid "An SD card needs to be inserted to record timelapse." msgstr "Для записи таймлапсов необходимо вставить SD-карту." @@ -7231,15 +7320,22 @@ msgid "" "If you changed your nozzle lately, please go to Device > Printer Parts to " "change settings." msgstr "" +"Диаметр сопла в нарезанном файле не соответствует сохранённому. Если вы " +"недавно меняли сопло, перейдите в раздел Принтер > Части принтера, чтобы " +"изменить настройки." #, c-format, boost-format msgid "" "Printing high temperature material(%s material) with %s may cause nozzle " "damage" msgstr "" +"Печать высокотемпературным материалом (%s) с %s может привести к повреждению " +"сопла" 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." @@ -7545,6 +7641,10 @@ msgid "" "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 " @@ -7552,6 +7652,11 @@ msgid "" "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 " @@ -7937,7 +8042,8 @@ msgstr "" msgid "Presets inherited by other presets can not be deleted!" msgstr "Профили на которых основаны другие профили не могут быть удалены!" -# ???The following preset inherits this preset. - Нижеуказанный профиль наследуется от текущего профиля +# ???The following preset inherits this preset. - Нижеуказанный профиль +# наследуется от текущего профиля msgid "The following presets inherit this preset." msgid_plural "The following preset inherits this preset." msgstr[0] "Профиль указанный ниже, наследуется от текущего профиля." @@ -8064,12 +8170,14 @@ msgstr "" #, boost-format msgid "You have changed some settings of preset \"%1%\". " -msgstr "" +msgstr "Вы изменили некоторые параметры профиля \"%1%\". " msgid "" "\n" "You can save or discard the preset values you have modified." msgstr "" +"\n" +"Вы можете сохранить или сбросить изменённые вами значения профиля." msgid "" "\n" @@ -8078,7 +8186,7 @@ msgid "" msgstr "" msgid "You have previously modified your settings." -msgstr "" +msgstr "Ранее вы изменили свои настройки." msgid "" "\n" @@ -8599,7 +8707,7 @@ msgid "Done" msgstr "Готово" msgid "resume" -msgstr "" +msgstr "Продолжить" msgid "Resume Printing" msgstr "" @@ -9544,13 +9652,13 @@ msgid "First layer print sequence" msgstr "Последовательность печати первого слоя" msgid "Other layers print sequence" -msgstr "" +msgstr "Последовательность печати других слоёв" msgid "The number of other layers print sequence" -msgstr "" +msgstr "Количество слоёв при последовательности печати остальных слоёв" msgid "Other layers filament sequence" -msgstr "" +msgstr "Последовательность прутков на остальных слоях" msgid "This G-code is inserted at every layer change before lifting z" msgstr "" @@ -10009,7 +10117,8 @@ msgstr "По очереди" msgid "Intra-layer order" msgstr "Порядок печати слоёв" -# ??? Указания порядка печати слоёв внутри каждого слоя, Последовательность печати слоёв внутри каждого слоя +# ??? Указания порядка печати слоёв внутри каждого слоя, Последовательность +# печати слоёв внутри каждого слоя msgid "Print order within a single layer" msgstr "Последовательность печати слоёв в пределах одного слоя." @@ -10473,10 +10582,10 @@ msgstr "" "столкновений при печати отдельно стоящих моделей." msgid "Nozzle height" -msgstr "" +msgstr "Высота сопла" msgid "The height of nozzle tip." -msgstr "" +msgstr "Высота кончика сопла." msgid "Bed mesh min" msgstr "Мин. сетка стола" @@ -11091,7 +11200,9 @@ msgstr "" "Параметр предназначен для ограничения влияния экстремальных переходов от " "ускорения к замедлению, типичных для коротких зигзагообразных перемещений." -# ??? Ускорение к замедлению, Ускорение торможения, Скорость торможения, Скорость торможения перед поворотом, Соотношение ускорения к замедлению, Скорость движения при переходе от ускорения к замедлению и наоборот +# ??? Ускорение к замедлению, Ускорение торможения, Скорость торможения, +# Скорость торможения перед поворотом, Соотношение ускорения к замедлению, +# Скорость движения при переходе от ускорения к замедлению и наоборот msgid "accel_to_decel" msgstr "Ограничение ускорение зигзагов" @@ -11261,13 +11372,16 @@ msgstr "" "линии и должен печататься медленнее." msgid "Precise Z height" -msgstr "" +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 "Поддержка движения по дуге окружности" @@ -12224,7 +12338,7 @@ msgstr "" "избежать его течи при длительном перемещении. 0 - отключение отката." msgid "Long retraction when cut(experimental)" -msgstr "" +msgstr "Длинное втягивания перед отрезанием прутка" msgid "" "Experimental feature.Retracting and cutting off the filament at a longer " @@ -12232,14 +12346,20 @@ msgid "" "significantly, it may also raise the risk of nozzle clogs or other printing " "problems." msgstr "" +"Экспериментальная функция. Втягивание и обрезка пластиковой нити на большем " +"расстоянии во время её замены для минимизации очистки. Хотя это значительно " +"уменьшает величину очистки, это может повысить риск засорения сопла или " +"вызвать другие проблемы при печати." msgid "Retraction distance when cut" -msgstr "" +msgstr "Длина втягивания перед отрезанием прутка" msgid "" "Experimental feature.Retraction length before cutting off during filament " "change" msgstr "" +"Экспериментальная функция. Длина втягивания перед отрезанием пластиковой " +"нити при её смене." msgid "Z hop when retract" msgstr "Подъём оси Z при откате" @@ -12442,8 +12562,10 @@ 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." @@ -13464,17 +13586,29 @@ msgstr "Расстояние между линиями очистки черно msgid "Spacing of purge lines on the wipe tower." msgstr "Расстояние между линиями очистки на черновой башне." -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -14403,6 +14537,8 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to override the historical result?" msgstr "" +"Результат калибровки с таким именем уже с существует: %s. Вы уверены, что " +"хотите перезаписать прошлый результат?" #, c-format, boost-format msgid "" @@ -14777,7 +14913,7 @@ msgid "Flow Dynamics Calibration Result" msgstr "Результаты калибровки динамики потока" msgid "New" -msgstr "" +msgstr "Новая" msgid "No History Result" msgstr "Журнал результатов пуст" @@ -14799,13 +14935,13 @@ msgid "Edit Flow Dynamics Calibration" msgstr "Редактировать калибровку динамики потока" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "Новая калибровка динамика потока" msgid "Ok" -msgstr "" +msgstr "Ok" msgid "The filament must be selected." -msgstr "" +msgstr "Выберите пластиковую нить." msgid "Network lookup" msgstr "Поиск по сети" @@ -15203,6 +15339,9 @@ msgid "" "If you continue creating, 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 "" @@ -15425,6 +15564,11 @@ msgid "" "volumetric speed has a significant impact on printing quality. Please set " "them carefully." msgstr "" +"При необходимости перейдите в настройку прутка для редактирования настроек " +"профиля.\n" +"Обратите внимание, что температура сопла, температура нагреваемого стола и " +"максимальная объёмная скорость существенно влияют на качество печати. " +"Пожалуйста, тщательнее подбирайте настройки." msgid "" "\n" @@ -15538,6 +15682,8 @@ msgstr "Пожалуйста, выберите то, что вы хотите э msgid "Failed to create temporary folder, please try Export Configs again." msgstr "" +"Не удалось создать временную папку, пожалуйста, попробуйте экспортировать " +"конфигурации ещё раз." msgid "Edit Filament" msgstr "Изменение прутка" @@ -15828,30 +15974,46 @@ msgid "" "It has a small layer height, and results in almost negligible layer lines " "and high printing quality. It is suitable for most general printing cases." msgstr "" +"Стандартная высота слоя для сопла 0.2 мм. Маленькая высота слоя обеспечивает " +"практически незаметные слои и высокое качество печати. Подходит для " +"большинства обычных сценариев печати." 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. So, it results in " "much higher printing quality, but a much longer printing time." msgstr "" +"По сравнению со стандартным профилем для сопла 0.2 мм, имеет более низкие " +"скорости и ускорения, а также задан гироидный шаблон заполнения. Это " +"обеспечивает гораздо более высокое качество печати, но приводит к " +"увеличивает время печати." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" +"По сравнению со стандартным профилем для сопла 0.2 мм, имеет немного большую " +"высоту слоя, что обеспечивает практически незаметные слои и немного " +"сокращает время печати." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " "height, and results in slightly visible layer lines, but shorter printing " "time." msgstr "" +"По сравнению со стандартным профилем для сопла 0.2 мм, имеет наибольшую " +"высоту слоя, слои становятся немного более заметными, но при этом " +"сокращается время печати." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " "height, and results in almost invisible layer lines and higher printing " "quality, but shorter printing time." msgstr "" +"По сравнению со стандартным профилем для сопла 0.2 мм, имеет меньшую высоту " +"слоя, что обеспечивает практически незаметные слои и более высокое качество " +"печати, но при этом увеличивается время печати." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -15859,12 +16021,19 @@ msgid "" "Gyroid. So, it results in almost invisible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"По сравнению со стандартным профилем для сопла 0.2 мм, имеет меньшую высоту " +"слоя, более низкие скорости и ускорения, а также задан гироидный шаблон " +"заполнения. Это обеспечивает практически невидимые слои и более высокое " +"качество печати, но при этом значительно увеличивается время печати." msgid "" "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " "height, and results in minimal layer lines and higher printing quality, but " "shorter printing time." msgstr "" +"По сравнению со стандартным профилем для сопла 0.2 мм, имеет наименьшую " +"высоту слоя, что обеспечивает незаметные слои и гораздо более высокое " +"качество печати, но при этом увеличивается время печати." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -15872,35 +16041,54 @@ msgid "" "Gyroid. So, it results in minimal layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"По сравнению со стандартным профилем для сопла 0.2 мм, имеет наименьшую " +"высоту слоя, более низкие скорости и ускорения, а также задан гироидный " +"шаблон заполнения. Это обеспечивает незаметные слои и наилучшее качество " +"печати, но при этом значительно увеличивается время печати." msgid "" "It has a general layer height, and results in general layer lines and " "printing quality. It is suitable for most general printing cases." msgstr "" +"Стандартная высота слоя для сопла 0.4 мм, обеспечивающая нормальное качество " +"печати, подходящее для большинства обычных сценариев печати." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"По сравнению со стандартным профилем для сопла 0.4 мм, имеет больше " +"периметров и более высокую плотность заполнения. Это приводит к повышению " +"прочности напечатанного, но при этом увеличивается расход материала и время " +"печати." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but slightly shorter printing time." msgstr "" +"По сравнению со стандартным профилем для сопла 0.4 мм, имеет большую высоту " +"слоя. Как результат - более заметные слои и снижение качества печати, но при " +"этом немного сокращается время печати." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time." msgstr "" +"По сравнению со стандартным профилем для сопла 0.4 мм, имеет большую высоту " +"слоя. Как результат - более заметные слои, снижение качества печати, но при " +"этом сокращается время печати." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"По сравнению с профилем по умолчанию для соплом 0.4 мм, имеет меньшую высоту " +"слоя. Как результат - менее заметные слои, более высокое качество печати, но " +"при этом увеличивается время печати." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -15908,12 +16096,19 @@ msgid "" "Gyroid. So, it results in less apparent layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"По сравнению с профилем по умолчанию для соплом 0.4 мм, имеет меньшую высоту " +"слоя, более низкие скорости и ускорения, а также задан гироидный шаблон " +"заполнения. Как результат - менее заметные слои и гораздо более высокое " +"качество печати, но при этом заметно увеличивается время печати." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and higher printing " "quality, but longer printing time." msgstr "" +"По сравнению с профилем по умолчанию для соплом 0.4 мм, имеет меньшую высоту " +"слоя. Как результат - почти незначительные слои и более высокое качество " +"печати, но при этом увеличивается время печати." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -15921,64 +16116,98 @@ msgid "" "Gyroid. So, it results in almost negligible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"По сравнению с профилем по умолчанию для соплом 0.4 мм, имеет наименьшую " +"высоту слоя, более низкие скорость и ускорение, а также задан гироидный " +"шаблон заполнения. Как результат - почти незаметные слои и гораздо более " +"высокое качество печати, но при этом значительно увеличивается время печати." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and longer printing " "time." msgstr "" +"По сравнению с профилем по умолчанию для соплом 0.4 мм, имеет наименьшую " +"высоту слоя. Как результат - почти незначительные слои, но при этом " +"увеличивается время печати." msgid "" "It has a big layer height, and results in apparent layer lines and ordinary " "printing quality and printing time." msgstr "" +"Стандартная высота слоя для сопла 0.6 мм. Большая высота слоя, как результат " +"- видимые слои при нормальном качестве и времени печати." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"По сравнению с профилем по умолчанию для соплом 0.6 мм, имеет больше " +"периметров и более высокую плотность заполнения. Это приводит к повышению " +"прочности напечатанного, но увеличивает расход материала и время печати." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time in some printing cases." msgstr "" +"По сравнению с профилем по умолчанию для соплом 0.6 мм, имеет большую высоту " +"слоя. Как результат - более заметные слои и снижение качества печати, но при " +"этом в некоторых случаях сокращается время печати." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in much more apparent layer lines and much lower " "printing quality, but shorter printing time in some printing cases." msgstr "" +"По сравнению с профилем по умолчанию для соплом 0.6 мм, имеет большую высоту " +"слоя. Как результат - более заметные слои и значительное снижение качества " +"печати, но при этом в некоторых случаях сокращается время печати." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and slight higher printing " "quality, but longer printing time." msgstr "" +"По сравнению с профилем по умолчанию для соплом 0.6 мм, имеет меньшую высоту " +"слоя. Как результат - менее заметные слои и незначительное повышению " +"качества печати, но при этом увеличивается время печати." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"По сравнению с профилем по умолчанию для соплом 0.6 мм, имеет меньшую высоту " +"слоя. Как результат - менее заметные слои и более высокое качество печати, " +"но при этом увеличивается время печати." msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" +"Стандартная высота слоя для сопла 0.8 мм. Очень большая высота слоя, как " +"результат - чётко видимые слои, низкое качество печати и обычное время " +"печати." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " "height, and results in very apparent layer lines and much lower printing " "quality, but shorter printing time in some printing cases." msgstr "" +"По сравнению со стандартным профилем для сопла 0.8 мм, имеет немного большую " +"высоту слоя. Как результат - чётко видимые слои и гораздо более низкое " +"качество печати, но при этом в некоторых случаях сокращается время печати." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " "layer height, and results in extremely apparent layer lines and much lower " "printing quality, but much shorter printing time in some printing cases." msgstr "" +"По сравнению со стандартным профилем для сопла 0.8 мм, имеет гораздо большую " +"высоту слоя. Как результат - очень заметные слои и значительно более низкое " +"качество печати, но при этом в некоторых случаях значительно сокращается " +"время печати." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -15986,12 +16215,19 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" +"По сравнению со стандартным профилем для сопла 0.8 мм, имеет немного меньшую " +"высоту слоя. Как результат - немного менее заметные слоя и немного более " +"высокое качество печати, но при этом в некоторых случаях увеличивается время " +"печати." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " "height, and results in less but still apparent layer lines and slightly " "higher printing quality, but longer printing time in some printing cases." msgstr "" +"По сравнению с профилем по умолчанию для сопла 0,8 мм, он имеет меньшую " +"высоту слоя, что приводит к меньшим, но все же заметным слоям и более " +"высокому качеству печати, и в некоторых случаях увеличению время печати." msgid "Connected to Obico successfully!" msgstr "Соединение с Obico успешно установлено." @@ -16429,6 +16665,9 @@ msgstr "" "ABS, повышение температуры подогреваемого стола может снизить эту " "вероятность?" +#~ msgid "V" +#~ msgstr "V" + #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " #~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " diff --git a/localization/i18n/sv/OrcaSlicer_sv.po b/localization/i18n/sv/OrcaSlicer_sv.po index 211673d710d..be06e1fb9fb 100644 --- a/localization/i18n/sv/OrcaSlicer_sv.po +++ b/localization/i18n/sv/OrcaSlicer_sv.po @@ -1,14 +1,15 @@ +# msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Localazy (https://localazy.com)\n" "Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n" +"X-Generator: Localazy (https://localazy.com)\n" msgid "Supports Painting" msgstr "Färgläggning av Support" @@ -150,7 +151,7 @@ msgid "Height range" msgstr "Höjd intervall" msgid "Alt + Shift + Enter" -msgstr "" +msgstr "Alt + Skift + Enter" msgid "Toggle Wireframe" msgstr "Växla Wireframe" @@ -165,10 +166,10 @@ msgid "Height Range" msgstr "Höjd intervall" msgid "Vertical" -msgstr "" +msgstr "Vertikal" msgid "Horizontal" -msgstr "" +msgstr "Horisontell" msgid "Remove painted color" msgstr "Ta bort färgläggning" @@ -269,16 +270,16 @@ msgid "uniform scale" msgstr "enhetlig skala" msgid "Planar" -msgstr "" +msgstr "Platt" msgid "Dovetail" -msgstr "" +msgstr "Laxstjärt" msgid "Auto" msgstr "Auto" msgid "Manual" -msgstr "" +msgstr "Manuell" msgid "Plug" msgstr "Kontakt" @@ -287,7 +288,7 @@ msgid "Dowel" msgstr "Plugg" msgid "Snap" -msgstr "" +msgstr "Fäst" msgid "Prism" msgstr "" @@ -302,7 +303,7 @@ msgid "Hexagon" msgstr "Hexagon" msgid "Keep orientation" -msgstr "" +msgstr "Behåll orienteringen" msgid "Place on cut" msgstr "Placera på snitt" @@ -326,19 +327,19 @@ msgstr "Form" #. Size in emboss direction #. TRN - Input label. Be short as possible msgid "Depth" -msgstr "" +msgstr "Djup" msgid "Groove" -msgstr "" +msgstr "Spår" msgid "Width" msgstr "Bredd" msgid "Flap Angle" -msgstr "" +msgstr "Vinkel på klaff" msgid "Groove Angle" -msgstr "" +msgstr "Spårvinkel" msgid "Part" msgstr "Del" @@ -361,7 +362,7 @@ msgid "Move cut plane" msgstr "" msgid "Mode" -msgstr "" +msgstr "Läge" msgid "Change cut mode" msgstr "" @@ -409,7 +410,7 @@ msgid "Remove connectors" msgstr "Ta bort kontakterna" msgid "Bulge" -msgstr "" +msgstr "Utbuktning" msgid "Bulge proportion related to radius" msgstr "" @@ -518,7 +519,7 @@ msgid "Cut by Plane" msgstr "" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" -msgstr "" +msgstr "Icke-mångsidiga kanter orsakade av skärverktyg: vill du fixa det nu?" msgid "Repairing model object" msgstr "Reparerar modell objektet" @@ -616,13 +617,13 @@ msgid "Remove selection" msgstr "Ta bort val" msgid "Entering Seam painting" -msgstr "" +msgstr "Inmatning söm målning" msgid "Leaving Seam painting" -msgstr "" +msgstr "Lämnar söm målning" msgid "Paint-on seam editing" -msgstr "" +msgstr "Redigering av måla på sömmen" #. TRN - Input label. Be short as possible #. Select look of letter shape @@ -761,7 +762,7 @@ msgstr "" msgctxt "EmbossOperation" msgid "Cut" -msgstr "" +msgstr "Beskär" msgid "Click to change part type into negative volume." msgstr "" @@ -903,19 +904,19 @@ msgstr "" msgctxt "Alignment" msgid "Left" -msgstr "" +msgstr "Vänster" msgctxt "Alignment" msgid "Center" -msgstr "" +msgstr "Center" msgctxt "Alignment" msgid "Right" -msgstr "" +msgstr "Höger" msgctxt "Alignment" msgid "Top" -msgstr "" +msgstr "Topplager" msgctxt "Alignment" msgid "Middle" @@ -923,7 +924,7 @@ msgstr "" msgctxt "Alignment" msgid "Bottom" -msgstr "" +msgstr "Bottenlager" msgid "Revert alignment." msgstr "" @@ -1235,43 +1236,43 @@ msgid "SVG file does NOT contain a single path to be embossed (%1%)." msgstr "" msgid "Vertex" -msgstr "" +msgstr "Vertex" msgid "Edge" -msgstr "" +msgstr "Edge" msgid "Plane" -msgstr "" +msgstr "Plane" msgid "Point on edge" -msgstr "" +msgstr "Point on edge" msgid "Point on circle" -msgstr "" +msgstr "Point on circle" msgid "Point on plane" -msgstr "" +msgstr "Point on plane" msgid "Center of edge" -msgstr "" +msgstr "Center of edge" msgid "Center of circle" -msgstr "" +msgstr "Center of circle" msgid "ShiftLeft mouse button" msgstr "" msgid "Select feature" -msgstr "" +msgstr "Select feature" msgid "Select point" -msgstr "" +msgstr "Select point" msgid "Delete" msgstr "Radera" msgid "Restart selection" -msgstr "" +msgstr "Restart selection" msgid "Esc" msgstr "Esc" @@ -1280,14 +1281,14 @@ msgid "Unselect" msgstr "" msgid "Measure" -msgstr "" +msgstr "Measure" msgid "Edit to scale" -msgstr "" +msgstr "Edit to scale" msgctxt "Verb" msgid "Scale" -msgstr "" +msgstr "Skala" msgid "None" msgstr "Ingen" @@ -1299,22 +1300,22 @@ msgid "Length" msgstr "Längd" msgid "Selection" -msgstr "" +msgstr "Selection" msgid "Copy to clipboard" msgstr "Kopiera till urklipp" msgid "Perpendicular distance" -msgstr "" +msgstr "Perpendicular distance" msgid "Distance" -msgstr "" +msgstr "Distance" msgid "Direct distance" -msgstr "" +msgstr "Direct distance" msgid "Distance XYZ" -msgstr "" +msgstr "Distance XYZ" msgid "Ctrl+" msgstr "Ctrl +" @@ -1353,9 +1354,6 @@ msgid "" msgstr "" "Konfigurations fil “%1%” har laddats, men vissa värden känns inte igen." -msgid "V" -msgstr "V" - 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." @@ -1448,11 +1446,14 @@ msgid "Choose one file (3mf):" msgstr "Välj en fil (3mf):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" -msgstr "" +msgstr "Välj en eller flera filer (3mf/step/stl/svg/obj/amf/usd*/abc/ply):" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Välj en eller flera filer (3mf/step/stl/svg/obj/amf):" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "" @@ -1490,9 +1491,11 @@ 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 "" +"Antalet användar inställningar som cachats i molnet har överskridit den övre " +"gränsen, nyskapade användar inställningar kan endast användas lokalt." msgid "Sync user presets" -msgstr "" +msgstr "Synkronisera användar inställningar" msgid "Loading user preset" msgstr "Laddar användarens förinställning" @@ -1521,6 +1524,11 @@ msgstr "Pågående uppladdningar" msgid "Select a G-code file:" msgstr "Välj en G-kod fil:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Importera fil" @@ -1655,16 +1663,16 @@ msgid "Cone" msgstr "Kon" msgid "Disc" -msgstr "" +msgstr "Skiva" msgid "Torus" -msgstr "" +msgstr "Torus" msgid "Orca Cube" msgstr "" msgid "3DBenchy" -msgstr "" +msgstr "3DBenchy" msgid "Autodesk FDM Test" msgstr "" @@ -1718,10 +1726,10 @@ msgid "Fix model" msgstr "Fixa modell" msgid "Export as one STL" -msgstr "" +msgstr "Exportera som en STL" msgid "Export as STLs" -msgstr "" +msgstr "Exportera som STL" msgid "Reload from disk" msgstr "Ladda om från disk" @@ -1794,10 +1802,10 @@ msgid "Assemble the selected objects to an object with single part" msgstr "Montera de valda objekten till ett objekt med en enda del" msgid "Mesh boolean" -msgstr "" +msgstr "Mesh boolean" msgid "Mesh boolean operations including union and subtraction" -msgstr "" +msgstr "Mesh boolean operationer inklusive union och subtraktion" msgid "Along X axis" msgstr "Längs med X Axis" @@ -1941,7 +1949,7 @@ msgid "Lock" msgstr "Lås" msgid "Edit Plate Name" -msgstr "" +msgstr "Redigera plattans namn" msgid "Name" msgstr "Namn" @@ -2001,7 +2009,7 @@ msgid "Error!" msgstr "Fel!" msgid "Failed to get the model data in the current file." -msgstr "" +msgstr "Det gick inte att hämta modelldata i den aktuella filen." msgid "Generic" msgstr "Allmän" @@ -2247,7 +2255,7 @@ msgid "Pause" msgstr "Paus" msgid "Template" -msgstr "" +msgstr "Mall" msgid "Custom" msgstr "Custom" @@ -2298,7 +2306,7 @@ msgid "Change filament at the beginning of this layer." msgstr "Byt filament i början av detta lager." msgid "Delete Pause" -msgstr "" +msgstr "Ta bort paus" msgid "Delete Custom Template" msgstr "Radera anpassad mall" @@ -2316,7 +2324,7 @@ msgid "No printer" msgstr "Ingen skrivare" msgid "..." -msgstr "" +msgstr "..." msgid "Failed to connect to the server" msgstr "Uppkoppling till servern misslyckades" @@ -2349,7 +2357,7 @@ msgid "?" msgstr " ?" msgid "/" -msgstr "" +msgstr "/" msgid "Empty" msgstr "Tom" @@ -2358,13 +2366,13 @@ msgid "AMS" msgstr "AMS" msgid "Auto Refill" -msgstr "" +msgstr "Auto Refill" msgid "AMS not connected" msgstr "AMS ej ansluten" msgid "Load" -msgstr "" +msgstr "Load" msgid "Unload" msgstr "Mata ut" @@ -2394,7 +2402,7 @@ msgid "Cancel calibration" msgstr "Avbryt kalibrering" msgid "Idling..." -msgstr "" +msgstr "Tomgång..." msgid "Heat the nozzle" msgstr "Värm upp nozzle" @@ -2412,13 +2420,13 @@ msgid "Purge old filament" msgstr "Rensa gammalt filament" msgid "Feed Filament" -msgstr "" +msgstr "Mata filament" msgid "Confirm extruded" -msgstr "" +msgstr "Bekräfta extruderad" msgid "Check filament location" -msgstr "" +msgstr "Kontrollera filamentets placering" msgid "Grab new filament" msgstr "Ta ett nytt filament" @@ -2427,6 +2435,8 @@ msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" +"Välj ett AMS fack och tryck sedan på knappen \"Ladda\" eller \"Mata ut\" för " +"att automatiskt ladda eller mata ut filament." msgid "Edit" msgstr "Redigera" @@ -2505,7 +2515,7 @@ msgid "Orienting canceled." msgstr "" msgid "Filling" -msgstr "" +msgstr "Fyllnad" msgid "Bed filling canceled." msgstr "Byggplattans fyllning avbruten." @@ -2591,7 +2601,7 @@ msgid "Sending print job through cloud service" msgstr "Skicka utskriftsjobb via molntjänst" msgid "Print task sending times out." -msgstr "" +msgstr "Timeout för sändning av utskriftsuppgift." msgid "Service Unavailable" msgstr "Tjänsten är inte tillgänglig" @@ -2609,7 +2619,7 @@ msgstr "" #, c-format, boost-format msgid "Successfully sent. Will automatically jump to the next page in %ss" -msgstr "" +msgstr "Skickat. Hoppar automatiskt till nästa sida in%s s" msgid "An SD card needs to be inserted before printing via LAN." msgstr "Ett Micro SD-kort måste sättas i innan utskrift via LAN." @@ -2769,10 +2779,10 @@ msgid "Setting AMS slot information while printing is not supported" msgstr "Inställning av AMS-facks information under utskrift stöds inte" msgid "Factors of Flow Dynamics Calibration" -msgstr "" +msgstr "Faktorer för kalibrering av flödesdynamik" msgid "PA Profile" -msgstr "" +msgstr "PA profil" msgid "Factor K" msgstr "Faktor K" @@ -2790,10 +2800,10 @@ msgid "You need to select the material type and color first." msgstr "Du måste först välja materialtyp och färg." msgid "Please input a valid value (K in 0~0.3)" -msgstr "" +msgstr "Ange ett giltigt värde (K i 0~0.3)" msgid "Please input a valid value (K in 0~0.3, N in 0.6~2.0)" -msgstr "" +msgstr "Ange ett giltigt värde (K i 0~0.3, N i 0.6~2.0)" msgid "Other Color" msgstr "Annan färg" @@ -2900,7 +2910,7 @@ msgid "Print with the filament mounted on the back of chassis" msgstr "Skriv ut med filament på en extern spole" msgid "Current Cabin humidity" -msgstr "" +msgstr "Current Cabin humidity" msgid "" "Please change the desiccant when it is too wet. The indicator may not " @@ -2908,6 +2918,10 @@ msgid "" "desiccant pack is changed. it take hours to absorb the moisture, low " "temperatures also slow down the process." msgstr "" +"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 takes a few hours to absorb the moisture, and " +"low temperatures also slow down the process." msgid "" "Config which AMS slot should be used for a filament used in the print job" @@ -2940,16 +2954,19 @@ msgid "" "When the current material run out, the printer will continue to print in the " "following order." msgstr "" +"När det aktuella materialet tar slut, fortsätter printern att skriva ut " +"material i följande ordning." msgid "Group" msgstr "Grupp" msgid "The printer does not currently support auto refill." -msgstr "" +msgstr "Printern stöder för närvarande inte automatisk påfyllning." msgid "" "AMS filament backup is not enabled, please enable it in the AMS settings." msgstr "" +"AMS filament backup is not enabled; please enable it in the AMS settings." msgid "" "If there are two identical filaments in AMS, AMS filament backup will be " @@ -2957,12 +2974,16 @@ msgid "" "(Currently supporting automatic supply of consumables with the same brand, " "material type, and color)" msgstr "" +"If there are two identical filaments in an AMS, AMS filament backup will be " +"enabled. \n" +"(This currently supports automatic supply of consumables with the same " +"brand, material type, and color)" msgid "DRY" -msgstr "" +msgstr "DRY" msgid "WET" -msgstr "" +msgstr "WET" msgid "AMS Settings" msgstr "AMS Inställningar" @@ -2981,6 +3002,8 @@ msgid "" "Note: if a new filament is inserted during printing, the AMS will not " "automatically read any information until printing is completed." msgstr "" +"Obs: Om ett nytt filament sätts in under utskriften kommer AMS inte att " +"automatiskt läsa av någon information förrän utskriften är klar." msgid "" "When inserting a new filament, the AMS will not automatically read its " @@ -3032,12 +3055,14 @@ msgstr "" "när det aktuella filamentet tar slut." msgid "Air Printing Detection" -msgstr "" +msgstr "Air Printing Detection" msgid "" "Detects clogging and filament grinding, halting printing immediately to " "conserve time and filament." msgstr "" +"Detects clogging and filament grinding, halting printing immediately to " +"conserve time and filament." msgid "File" msgstr "Fil" @@ -3114,7 +3139,7 @@ msgid "Running post-processing scripts" msgstr "Kör efterbearbetnings skript" msgid "Successfully executed post-processing script" -msgstr "" +msgstr "Successfully executed post-processing script" msgid "Unknown error occured during exporting G-code." msgstr "" @@ -3181,10 +3206,10 @@ msgid "Device" msgstr "Enhet" msgid "Task Sending" -msgstr "" +msgstr "Task Sending" msgid "Task Sent" -msgstr "" +msgstr "Task Sent" msgid "Edit multiple printers" msgstr "" @@ -3204,7 +3229,7 @@ msgid "Offline" msgstr "Offline" msgid "No task" -msgstr "" +msgstr "No task" msgid "View" msgstr "Vy" @@ -3216,16 +3241,16 @@ msgid "Edit Printers" msgstr "" msgid "Device Name" -msgstr "" +msgstr "Device Name" msgid "Task Name" -msgstr "" +msgstr "Task Name" msgid "Device Status" -msgstr "" +msgstr "Device Status" msgid "Actions" -msgstr "" +msgstr "Actions" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" @@ -3268,7 +3293,7 @@ msgid "Pending" msgstr "" msgid "Sending" -msgstr "" +msgstr "Skickar" msgid "Sending Finish" msgstr "" @@ -3295,25 +3320,25 @@ msgid "Stop" msgstr "Stopp" msgid "Task Status" -msgstr "" +msgstr "Task Status" msgid "Sent Time" -msgstr "" +msgstr "Sent Time" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "There are no tasks to be sent!" msgid "No historical tasks!" -msgstr "" +msgstr "No historical tasks!" msgid "Loading..." msgstr "Laddar..." msgid "No AMS" -msgstr "" +msgstr "No AMS" msgid "Send to Multi-device" -msgstr "" +msgstr "Send to Multi-device" msgid "Preparing print job" msgstr "Förbereder utskriftsjobb" @@ -3328,22 +3353,31 @@ msgid "The number of printers in use simultaneously cannot be equal to 0." msgstr "" msgid "Use External Spool" -msgstr "" +msgstr "Use External Spool" msgid "Use AMS" -msgstr "" +msgstr "Use AMS" msgid "Select Printers" -msgstr "" +msgstr "Select Printers" msgid "Ams Status" -msgstr "" +msgstr "AMS Status" msgid "Printing Options" +msgstr "Printing Options" + +msgid "Bed Leveling" +msgstr "Justering av Byggplattan" + +msgid "Timelapse" +msgstr "Timelapse" + +msgid "Flow Dynamic Calibration" msgstr "" msgid "Send Options" -msgstr "" +msgstr "Send Options" msgid "Send" msgstr "Skicka" @@ -3352,13 +3386,16 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" +"printers at the same time. (It depends on how many devices can undergo " +"heating at the same time.)" msgid "Wait" -msgstr "" +msgstr "Wait" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" +"minute each batch. (It depends on how long it takes to complete heating.)" msgid "Name is invalid;" msgstr "Namnet är ogiltligt;" @@ -3455,14 +3492,18 @@ msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" msgstr "" +"Den rekommenderade lägsta temperaturen är lägre än 190 grader eller den " +"rekommenderade max temperaturen är högre än 300 grader.\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " "maximum temperature.\n" msgstr "" +"The recommended minimum temperature cannot be higher than the recommended " +"maximum temperature.\n" msgid "Please check.\n" -msgstr "" +msgstr "Kontrollera.\n" msgid "" "Nozzle may be blocked when the temperature is out of recommended range.\n" @@ -3494,6 +3535,9 @@ msgid "" "it may result in material softening and clogging.The maximum safe " "temperature for the material is %d" msgstr "" +"Current chamber temperature is higher than the material's safe temperature; " +"this may result in material softening and nozzle clogs.The maximum safe " +"temperature for the material is %d" msgid "" "Too small layer height.\n" @@ -3613,7 +3657,7 @@ msgstr "" "skalets lager är 0, gles ifyllnad är 0 och timelapse typen är traditionell." msgid " But machines with I3 structure will not generate timelapse videos." -msgstr "" +msgstr " Maskiner med I3-struktur kan dock inte generera timelapse videor." msgid "" "Change these settings automatically? \n" @@ -3688,46 +3732,46 @@ msgid "Paused due to heat bed temperature malfunction" msgstr "Pausad på grund av fel i byggplattans temperatur" msgid "Filament unloading" -msgstr "" +msgstr "Utmatar filament" msgid "Skip step pause" -msgstr "" +msgstr "Hoppa över steg paus" msgid "Filament loading" -msgstr "" +msgstr "Laddning av filament" msgid "Motor noise calibration" -msgstr "" +msgstr "Kalibrering av motorljud" msgid "Paused due to AMS lost" -msgstr "" +msgstr "Pausad på grund av att AMS förlorats" msgid "Paused due to low speed of the heat break fan" -msgstr "" +msgstr "Pausad på grund av låg hastighet på heat break fläkten" msgid "Paused due to chamber temperature control error" -msgstr "" +msgstr "Pausad på grund av fel i styrningen av kammar temperaturen" msgid "Cooling chamber" -msgstr "" +msgstr "Kyler kammare" msgid "Paused by the Gcode inserted by user" -msgstr "" +msgstr "Pausad av G-koden som infogats av användaren" msgid "Motor noise showoff" -msgstr "" +msgstr "Uppvisning av motorljud" msgid "Nozzle filament covered detected pause" -msgstr "" +msgstr "Filament på nozzel upptäckt paus" msgid "Cutter error pause" -msgstr "" +msgstr "Fel på skärare paus" msgid "First layer error pause" -msgstr "" +msgstr "Fel på första lagret paus" msgid "Nozzle clog pause" -msgstr "" +msgstr "Stopp i nozzel paus" msgid "Unknown" msgstr "Okänd" @@ -3758,18 +3802,27 @@ msgid "" "45℃.In order to avoid extruder clogging,low temperature filament(PLA/PETG/" "TPU) is not allowed to be loaded." msgstr "" +"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." 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 " "above 45℃." msgstr "" +"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 " +"above 45℃." 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 "" +"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℃." msgid "Failed to start printing job" msgstr "Det gick inte att starta utskriftsjobbet" @@ -3777,34 +3830,39 @@ msgstr "Det gick inte att starta utskriftsjobbet" msgid "" "This calibration does not support the currently selected nozzle diameter" msgstr "" +"Denna kalibrering stöder inte den för tillfället valda nozzle diametern" msgid "Current flowrate cali param is invalid" -msgstr "" +msgstr "Aktuell flödeshastighets kalibrerings parameter är ogiltig" msgid "Selected diameter and machine diameter do not match" -msgstr "" +msgstr "Vald diameter och maskinens diameter stämmer inte överens" msgid "Failed to generate cali gcode" -msgstr "" +msgstr "Misslyckades med att generera cali G kod" msgid "Calibration error" -msgstr "" +msgstr "Fel vid kalibrering" msgid "TPU is not supported by AMS." -msgstr "" +msgstr "TPU stöds inte av AMS." msgid "Bambu PET-CF/PA6-CF is not supported by AMS." -msgstr "" +msgstr "Bambu PET-CF/PA6-CF stöds inte av AMS." msgid "" "Damp PVA will become flexible and get stuck inside AMS,please take care to " "dry it before use." msgstr "" +"Fuktig PVA blir flexibel och fastnar i AMS, var noga med att torka den väl " +"före användning." 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-trådar är hårda och spröda, så de kan lätt gå sönder eller fastna i en " +"AMS; använd dem med försiktighet." msgid "default" msgstr "standard" @@ -3887,7 +3945,7 @@ msgstr "Parameter validering" #, c-format, boost-format msgid "Value %s is out of range. The valid range is from %d to %d." -msgstr "" +msgstr "Value %s is out of range. The valid range is from %d to %d." msgid "Value is out of range." msgstr "Värdet är utanför intervallet." @@ -3970,7 +4028,7 @@ msgid "Flushed" msgstr "Rensad" msgid "Tower" -msgstr "" +msgstr "Tower" msgid "Total" msgstr "Totalt" @@ -3982,7 +4040,7 @@ msgid "Total time" msgstr "Total tid" msgid "Total cost" -msgstr "" +msgstr "Total cost" msgid "up to" msgstr "upp till" @@ -4078,10 +4136,10 @@ msgid "Normal mode" msgstr "Normalt läge" msgid "Total Filament" -msgstr "" +msgstr "Total Filament" msgid "Model Filament" -msgstr "" +msgstr "Model Filament" msgid "Prepare time" msgstr "Förbered tid" @@ -4177,7 +4235,7 @@ msgid "Spacing" msgstr "Mellanrum" msgid "0 means auto spacing." -msgstr "" +msgstr "0 means auto spacing." msgid "Auto rotate for arrangement" msgstr "Auto rotera för arrangemang" @@ -4189,7 +4247,7 @@ msgid "Avoid extrusion calibration region" msgstr "Undvik kalibrerings området" msgid "Align to Y axis" -msgstr "" +msgstr "Justera mot Y-axeln" msgid "Add plate" msgstr "Lägg till byggplata" @@ -4255,7 +4313,7 @@ msgid "An object is layed over the boundary of plate." msgstr "Ett objekt är placerad över byggplattans begränsningar." msgid "A G-code path goes beyond the max print height." -msgstr "" +msgstr "En G-kod bana går utöver den maximala utskriftshöjden." msgid "A G-code path goes beyond the boundary of plate." msgstr "En G-kod väg passerar över byggplattans begränsningar." @@ -4282,10 +4340,10 @@ msgid "Bed leveling" msgstr "Justering av Byggplattan" msgid "Vibration compensation" -msgstr "" +msgstr "Vibrations kompensation" msgid "Motor noise cancellation" -msgstr "" +msgstr "Brusreducering av motorer" msgid "Calibration program" msgstr "Kalibrerings program" @@ -4312,7 +4370,7 @@ msgid "Calibrating" msgstr "Kalibrerar" msgid "No step selected" -msgstr "" +msgstr "Inget steg valt" msgid "Auto-record Monitoring" msgstr "Automatisk inspelning av övervakning" @@ -4321,7 +4379,7 @@ msgid "Go Live" msgstr "Sänd live" msgid "Liveview Retry" -msgstr "" +msgstr "Försök igen med Liveview" msgid "Resolution" msgstr "Upplösning" @@ -4379,7 +4437,7 @@ msgid "Preview" msgstr "Förhandsvisning" msgid "Multi-device" -msgstr "" +msgstr "Multi-device" msgid "Project" msgstr "Projekt" @@ -4525,6 +4583,12 @@ msgstr "Importera 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Ladda modell" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Importera konfiguration" @@ -4535,10 +4599,10 @@ msgid "Import" msgstr "Importera" msgid "Export all objects as one STL" -msgstr "" +msgstr "Exportera alla objekt som en STL" msgid "Export all objects as STLs" -msgstr "" +msgstr "Exportera alla objekt som STL" msgid "Export Generic 3MF" msgstr "Exportera generisk 3mf" @@ -4664,49 +4728,49 @@ msgid "Help" msgstr "Hjälp" msgid "Temperature Calibration" -msgstr "" +msgstr "Kalibrering av temperatur" msgid "Pass 1" -msgstr "" +msgstr "Pass 1" msgid "Flow rate test - Pass 1" -msgstr "" +msgstr "Test av flödeshastighet - Godkänt 1" msgid "Pass 2" -msgstr "" +msgstr "Pass 2" msgid "Flow rate test - Pass 2" -msgstr "" +msgstr "Test av flödeshastighet - Godkänt 2" msgid "Flow rate" -msgstr "" +msgstr "Flödeshastighet" msgid "Pressure advance" -msgstr "" +msgstr "Pressure advance" msgid "Retraction test" -msgstr "" +msgstr "Retraction test" msgid "Orca Tolerance Test" -msgstr "" +msgstr "Orca Tolerance Test" msgid "Max flowrate" -msgstr "" +msgstr "Max flödes hastighet" msgid "VFA" -msgstr "" +msgstr "VFA" msgid "More..." -msgstr "" +msgstr "Mer..." msgid "Tutorial" -msgstr "" +msgstr "Guide" msgid "Calibration help" -msgstr "" +msgstr "Hjälp med kalibrering" msgid "More calibrations" -msgstr "" +msgstr "Fler kalibreringar" msgid "&Open G-code" msgstr "&Öppna G-kod" @@ -4822,48 +4886,55 @@ msgid "Synchronization" msgstr "Synkronisering" msgid "The device cannot handle more conversations. Please retry later." -msgstr "" +msgstr "Enhetenen kan inte hantera fler konversationer. Försök igen senare." msgid "Player is malfunctioning. Please reinstall the system player." msgstr "" +"Spelaren fungerar inte som den ska. Vänligen installera om system spelaren." msgid "The player is not loaded, please click \"play\" button to retry." msgstr "" +"Spelaren är inte laddad; klicka på \"play\" knappen för att försöka igen." msgid "Please confirm if the printer is connected." -msgstr "" +msgstr "Kontrollera om printern är ansluten." msgid "" "The printer is currently busy downloading. Please try again after it " "finishes." msgstr "" +"Printern är upptagen med att ladda ner. Vänta tills nedladdningen är klar." msgid "Printer camera is malfunctioning." -msgstr "" +msgstr "Printerns kamera fungerar inte som den ska." msgid "Problem occured. Please update the printer firmware and try again." msgstr "" +"Ett problem har uppstått. Uppdatera printerns programvara och försök igen." msgid "" "LAN Only Liveview is off. Please turn on the liveview on printer screen." msgstr "" +"LAN Only Liveview is off. Please turn on the liveview on printer screen." msgid "Please enter the IP of printer to connect." -msgstr "" +msgstr "Ange printerns IP för att ansluta." msgid "Initializing..." msgstr "Startar..." msgid "Connection Failed. Please check the network and try again" -msgstr "" +msgstr "Anslutningen misslyckades. Kontrollera nätverket och försök igen" msgid "" "Please check the network and try again, You can restart or update the " "printer if the issue persists." msgstr "" +"Kontrollera nätverket och försök igen. Du kan starta om eller uppdatera " +"skrivaren om problemet kvarstår." msgid "The printer has been logged out and cannot connect." -msgstr "" +msgstr "Printern har loggats ut och kan inte anslutas." msgid "Stopped." msgstr "Avbruten." @@ -4921,9 +4992,6 @@ msgstr "Gruppera filer efter månad, senaste först." msgid "Show all files, recent first." msgstr "Visa alla filer, de senaste först." -msgid "Timelapse" -msgstr "Timelapse" - msgid "Switch to timelapse files." msgstr "Växla till timelapse filer." @@ -4955,7 +5023,7 @@ msgid "Refresh" msgstr "Uppdatera" msgid "Reload file list from printer." -msgstr "" +msgstr "Reload file list from printer." msgid "No printers." msgstr "Ingen printer." @@ -4968,10 +5036,10 @@ msgid "Loading file list..." msgstr "Laddar fil lista..." msgid "No files" -msgstr "" +msgstr "Inga filer" msgid "Load failed" -msgstr "" +msgstr "Load failed" msgid "Initialize failed (Device connection not ready)!" msgstr "Initieringen misslyckades (Enhets anslutningen är inte klar)!" @@ -4980,15 +5048,17 @@ msgid "" "Browsing file in SD card is not supported in current firmware. Please update " "the printer firmware." msgstr "" +"Browsing file in SD card is not supported in current firmware. Please update " +"the printer firmware." msgid "Initialize failed (Storage unavailable, insert SD card.)!" msgstr "" msgid "LAN Connection Failed (Failed to view sdcard)" -msgstr "" +msgstr "LAN Connection Failed (Failed to view sdcard)" msgid "Browsing file in SD card is not supported in LAN Only Mode." -msgstr "" +msgstr "Browsing file in SD card is not supported in LAN Only Mode." #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -5015,10 +5085,10 @@ msgid "Fetching model infomations ..." msgstr "Hämtar information om modellen..." msgid "Failed to fetch model information from printer." -msgstr "" +msgstr "Det gick inte att hämta modellinformation från printern." msgid "Failed to parse model information." -msgstr "" +msgstr "Det gick inte att analysera modellinformation" msgid "" "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " @@ -5034,6 +5104,8 @@ msgid "" "File: %s\n" "Title: %s\n" msgstr "" +"File: %s\n" +"Title: %s\n" msgid "Download waiting..." msgstr "Nedladdning väntar..." @@ -5055,22 +5127,24 @@ msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." msgstr "" +"Reconnecting the printer, the operation cannot be completed immediately, " +"please try again later." msgid "File does not exist." -msgstr "" +msgstr "Filen finns inte." msgid "File checksum error. Please retry." -msgstr "" +msgstr "Fel på filens kontrollsumma. Vänligen försök igen." msgid "Not supported on the current printer version." -msgstr "" +msgstr "Stöds inte av den aktuella skrivarversionen." msgid "Storage unavailable, insert SD card." -msgstr "" +msgstr "Lagring saknas, sätt i SD-kort." #, c-format, boost-format msgid "Error code: %d" -msgstr "" +msgstr "Felkod: %d" msgid "Speed:" msgstr "Hastighet:" @@ -5127,17 +5201,21 @@ msgid "" "You have completed printing the mall model, \n" "but the synchronization of rating information has failed." msgstr "" +"You have completed printing the mall model, \n" +"but synchronizing rating information has failed." msgid "How do you like this printing file?" -msgstr "" +msgstr "Vad tycker du om den här utskriftsfilen?" msgid "" "(The model has already been rated. Your rating will overwrite the previous " "rating.)" msgstr "" +"(Modellen har redan betygsatts. Ditt betyg kommer att skriva över det " +"tidigare betyget.)" msgid "Rate" -msgstr "" +msgstr "Betygsätt" msgid "Camera" msgstr "Kamera" @@ -5155,7 +5233,7 @@ msgid "Control" msgstr "Kontroll" msgid "Printer Parts" -msgstr "" +msgstr "Printer Parts" msgid "Print Options" msgstr "Utskriftsalternativ" @@ -5212,6 +5290,7 @@ msgid "" "Please heat the nozzle to above 170 degree before loading or unloading " "filament." msgstr "" +"Värm nozzeln till över 170 grader innan du laddar eller matar ut filament." msgid "Still unload" msgstr "Matar ut fortfarande" @@ -5248,95 +5327,108 @@ msgid "Can't start this without SD card." msgstr "Kan inte starta utan MicroSD-kort." msgid "Rate the Print Profile" -msgstr "" +msgstr "Betygsätt utskriftsprofil" msgid "Comment" -msgstr "" +msgstr "Kommentera" msgid "Rate this print" -msgstr "" +msgstr "Betygsätt denna utskrift" msgid "Add Photo" -msgstr "" +msgstr "Lägg till en bild" msgid "Delete Photo" -msgstr "" +msgstr "Ta bort foto" msgid "Submit" -msgstr "" +msgstr "Skicka in" msgid "Please click on the star first." -msgstr "" +msgstr "Klicka på stjärnan först." msgid "InFo" -msgstr "" +msgstr "Info" msgid "Get oss config failed." -msgstr "" +msgstr "Hämta konfigurationen för oss misslyckades." msgid "Upload Pictrues" -msgstr "" +msgstr "Upload Pictures" msgid "Number of images successfully uploaded" -msgstr "" +msgstr "Antal bilder som laddats upp framgångsrikt" msgid " upload failed" -msgstr "" +msgstr " uppladdning misslyckades" msgid " upload config prase failed\n" -msgstr "" +msgstr " uppladdning av konfiguration misslyckades\n" msgid " No corresponding storage bucket\n" -msgstr "" +msgstr " Ingen motsvarande lagrings plats\n" msgid " can not be opened\n" -msgstr "" +msgstr " cannot be opened\n" msgid "" "The following issues occurred during the process of uploading images. Do you " "want to ignore them?\n" "\n" msgstr "" +"Följande problem uppstod under uppladdningen av bilder. Vill du ignorera " +"dem?\n" +"\n" msgid "info" msgstr "info" msgid "Synchronizing the printing results. Please retry a few seconds later." -msgstr "" +msgstr "Synkroniserar utskriftsresultaten. Försök igen om några sekunder." msgid "Upload failed\n" -msgstr "" +msgstr "Uppladdningen misslyckades\n" msgid "obtaining instance_id failed\n" -msgstr "" +msgstr "det gick inte att få instance_id\n" msgid "" "Your comment result cannot be uploaded due to some reasons. As follows:\n" "\n" " error code: " msgstr "" +"Your comment result cannot be uploaded due to the following reasons:\n" +"\n" +" error code: " msgid "error message: " -msgstr "" +msgstr "felmeddelande: " msgid "" "\n" "\n" "Would you like to redirect to the webpage for rating?" msgstr "" +"\n" +"\n" +"Would you like to redirect to the webpage to give a rating?" msgid "" "Some of your images failed to upload. Would you like to redirect to the " "webpage for rating?" msgstr "" +"Några av dina bilder kunde inte laddas upp. Vill du bli omdirigerad till " +"webbsidan för betygsättning?" msgid "You can select up to 16 images." -msgstr "" +msgstr "Du kan välja upp till 16 bilder." msgid "" "At least one successful print record of this print profile is required \n" "to give a positive rating(4 or 5stars)." msgstr "" +"At least one successful print record of this print profile is required \n" +"to give a positive rating (4 or 5 stars)." msgid "Status" msgstr "Status" @@ -5386,7 +5478,7 @@ msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "" msgid "Download Beta Version" -msgstr "" +msgstr "Ladda ner betaversion" msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "" @@ -5395,13 +5487,13 @@ msgid "Update your Orca Slicer could enable all functionality in the 3mf file." msgstr "" msgid "Current Version: " -msgstr "" +msgstr "Aktuell version: " msgid "Latest Version: " -msgstr "" +msgstr "Senaste versionen: " msgid "Not for now" -msgstr "" +msgstr "Not for now" msgid "3D Mouse disconnected." msgstr "3D mus bortkopplad." @@ -5428,10 +5520,10 @@ msgid "Details" msgstr "Detaljer" msgid "New printer config available." -msgstr "" +msgstr "Ny printer konfiguration tillgänglig." msgid "Wiki" -msgstr "" +msgstr "Wiki" msgid "Undo integration failed." msgstr "Återställande av integrationen misslyckades." @@ -5472,12 +5564,12 @@ msgstr[1] "" msgid "ERROR" msgstr "FEL" -msgid "CANCELED" -msgstr "Avbruten" - msgid "COMPLETED" msgstr "Klar" +msgid "CANCELED" +msgstr "Avbruten" + msgid "Cancel upload" msgstr "Avbryt uppladdning" @@ -5494,10 +5586,10 @@ msgid "Export successfully." msgstr "Exportering lyckades" msgid "Model file downloaded." -msgstr "" +msgstr "Modellfil nedladdad." msgid "Serious warning:" -msgstr "" +msgstr "Allvarlig varning:" msgid " (Repair)" msgstr " (Reparera)" @@ -5583,29 +5675,29 @@ msgid "Auto-recovery from step loss" msgstr "Automatisk återhämtning vid stegförlust" msgid "Allow Prompt Sound" -msgstr "" +msgstr "Tillåt Prompt Ljud" msgid "Filament Tangle Detect" -msgstr "" +msgstr "Filament Tangle Detection" msgid "Nozzle Clumping Detection" -msgstr "" +msgstr "Nozzle Clumping Detection" msgid "Check if the nozzle is clumping by filament or other foreign objects." -msgstr "" +msgstr "Check if the nozzle is clumping by filament or other foreign objects." msgid "Nozzle Type" -msgstr "" +msgstr "Nozzle Type" msgid "Stainless Steel" -msgstr "" +msgstr "Rostfritt stål" msgid "Hardened Steel" -msgstr "" +msgstr "Härdat stål" #, c-format, boost-format msgid "%.1f" -msgstr "" +msgstr "%.1f" msgid "Global" msgstr "Global" @@ -5696,7 +5788,7 @@ msgid "Set filaments to use" msgstr "Ställ in filament som ska användas" msgid "Search plate, object and part." -msgstr "" +msgstr "Sök platta, objekt och del." msgid "" "No AMS filaments. Please select a printer in 'Device' page to load AMS info." @@ -5763,6 +5855,9 @@ msgid "" "clogged when printing this filament in a closed enclosure. Please open the " "front door and/or remove the upper glass." msgstr "" +"The current heatbed temperature is relatively high. The nozzle may clog when " +"printing this filament in a closed environment. Please open the front door " +"and/or remove the upper glass." msgid "" "The nozzle hardness required by the filament is higher than the default " @@ -5777,6 +5872,8 @@ msgid "" "Enabling traditional timelapse photography may cause surface imperfections. " "It is recommended to change to smooth mode." msgstr "" +"Aktivering av traditionell timelapse fotografering kan orsaka ojämnheter i " +"ytan. Det rekommenderas att ändra till jämnt läge." msgid "Expand sidebar" msgstr "" @@ -5820,26 +5917,30 @@ msgid "Please correct them in the param tabs" msgstr "Vänligen korrigera dem i Parameter flikarna" msgid "The 3mf has following modified G-codes in filament or printer presets:" -msgstr "" +msgstr "The 3mf has following modified G-code in filament or printer presets:" msgid "" "Please confirm that these modified G-codes are safe to prevent any damage to " "the machine!" msgstr "" +"Bekräfta att dessa modifierade G-koder är säkra för att förhindra skador på " +"maskinen!" msgid "Modified G-codes" -msgstr "" +msgstr "Modified G-code" msgid "The 3mf has following customized filament or printer presets:" -msgstr "" +msgstr "3mf har följande anpassade filament eller inställningar för printern:" msgid "" "Please confirm that the G-codes within these presets are safe to prevent any " "damage to the machine!" msgstr "" +"Bekräfta att G-koderna i dessa inställningar är säkra för att förhindra " +"skador på maskinen!" msgid "Customized Preset" -msgstr "" +msgstr "Anpassad inställning" msgid "Name of components inside step file is not UTF8 format!" msgstr "Komponent namnet i step filen är inte UTF8 format!" @@ -5907,22 +6008,24 @@ msgid "Export STL file:" msgstr "Exportera STL-fil:" msgid "Export AMF file:" -msgstr "" +msgstr "Exportera AMF-fil:" msgid "Save file as:" msgstr "Spara fil som:" msgid "Export OBJ file:" -msgstr "" +msgstr "Exportera OBJ-fil:" #, c-format, boost-format msgid "" "The file %s already exists\n" "Do you want to replace it?" msgstr "" +"The file %s already exists.\n" +"Do you want to replace it?" msgid "Comfirm Save As" -msgstr "" +msgstr "Bekräfta Spara som" msgid "Delete object which is a part of cut object" msgstr "Radera objekt som är en del av det utskurna objektet" @@ -5943,13 +6046,13 @@ msgid "Another export job is running." msgstr "En annan exportering pågår." msgid "Unable to replace with more than one volume" -msgstr "" +msgstr "Går inte att ersätta med mer än en volym" msgid "Error during replace" msgstr "Fel vid byte" msgid "Replace from:" -msgstr "" +msgstr "Ersätt från:" msgid "Select a new file" msgstr "Välj en ny fil" @@ -5961,19 +6064,19 @@ msgid "Please select a file" msgstr "Välj en fil" msgid "Do you want to replace it" -msgstr "" +msgstr "Do you want to replace it?" msgid "Message" -msgstr "" +msgstr "Meddelande" msgid "Reload from:" -msgstr "" +msgstr "Ladda om från:" msgid "Unable to reload:" -msgstr "" +msgstr "Det gick inte att ladda om:" msgid "Error during reload" -msgstr "" +msgstr "Fel vid omladdning" msgid "There are warnings after slicing models:" msgstr "Varningar efter beredning:" @@ -6037,13 +6140,13 @@ msgid "prepare 3mf file..." msgstr "förbereder 3mf-filen..." msgid "Download failed, unknown file format." -msgstr "" +msgstr "Download failed; unknown file format." msgid "downloading project ..." msgstr "laddar ner projekt ..." msgid "Download failed, File size exception." -msgstr "" +msgstr "Download failed; File size exception." #, c-format, boost-format msgid "Project downloaded %d%%" @@ -6066,6 +6169,20 @@ msgstr "Innehåller ingen giltlig G-kod." msgid "Error occurs while loading G-code file" msgstr "Fel uppstod vid laddningen av G-kod" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Släpp projekt filen" @@ -6106,13 +6223,13 @@ msgid "Save G-code file as:" msgstr "Spara G-kod som:" msgid "Save SLA file as:" -msgstr "" +msgstr "Spara SLA fil som:" msgid "The provided file name is not valid." -msgstr "" +msgstr "Det angivna filnamnet är inte giltigt." msgid "The following characters are not allowed by a FAT file system:" -msgstr "" +msgstr "Följande tecken är inte tillåtna i ett FAT-fil system:" msgid "Save Sliced file as:" msgstr "Spara beredningen som:" @@ -6129,22 +6246,24 @@ msgid "" "Unable to perform boolean operation on model meshes. Only positive parts " "will be kept. You may fix the meshes and try agian." msgstr "" +"Unable to perform boolean operation on model meshes. Only positive parts " +"will be kept. You may fix the meshes and try agian." #, boost-format msgid "Reason: part \"%1%\" is empty." -msgstr "" +msgstr "Reason: part \"%1%\" is empty." #, boost-format msgid "Reason: part \"%1%\" does not bound a volume." -msgstr "" +msgstr "Reason: part \"%1%\" does not bound a volume." #, boost-format msgid "Reason: part \"%1%\" has self intersection." -msgstr "" +msgstr "Reason: part \"%1%\" has self intersection." #, boost-format msgid "Reason: \"%1%\" and another part have no intersection." -msgstr "" +msgstr "Reason: \"%1%\" and another part have no intersection." msgid "" "Are you sure you want to store original SVGs with their local paths into the " @@ -6192,7 +6311,7 @@ msgstr "Antal för tillfället valda delar: %1%\n" #, boost-format msgid "Number of currently selected objects: %1%\n" -msgstr "" +msgstr "Antal för närvarande markerade objekt: %1%\n" #, boost-format msgid "Part name: %1%\n" @@ -6322,6 +6441,9 @@ msgid "" "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 "" +"På OSX körs alltid bara en instans av appen som standard. Det är dock " +"tillåtet att köra flera instanser av samma app från kommandoraden. I sådana " +"fall tillåter denna inställning endast en instans." msgid "" "If this is enabled, when starting OrcaSlicer and another instance of the " @@ -6385,17 +6507,17 @@ msgid "If enabled, useful hints are displayed at startup." msgstr "Om aktiverad visas användbara tips vid start." msgid "Flushing volumes: Auto-calculate everytime the color changed." -msgstr "" +msgstr "Rensnings volymer: Beräkna automatiskt varje gång färgen ändras." msgid "If enabled, auto-calculate everytime the color changed." -msgstr "" +msgstr "Om aktiverat, beräkna automatiskt varje gång färgen ändras." msgid "" "Flushing volumes: Auto-calculate every time when the filament is changed." -msgstr "" +msgstr "Flushing volumes: Auto-calculate every time the filament is changed." msgid "If enabled, auto-calculate every time when filament is changed" -msgstr "" +msgstr "If enabled, auto-calculate every time filament is changed" msgid "Remember printer configuration" msgstr "" @@ -6412,6 +6534,8 @@ msgid "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." msgstr "" +"With this option enabled, you can send a task to multiple devices at the " +"same time and manage multiple devices." msgid "Network" msgstr "" @@ -6454,6 +6578,20 @@ msgstr "Associera .step/.stp-filer till OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .step files" msgstr "Om aktiverad, väljs Orca Slicer som standard att öppna .step filer" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Maximalt antal nyligen genomförda projekt" @@ -6464,7 +6602,7 @@ msgid "Clear my choice on the unsaved projects." msgstr "Rensa mitt val för de osparade projekten." msgid "No warnings when loading 3MF with modified G-codes" -msgstr "" +msgstr "No warnings when loading 3MF with modified G-code" msgid "Auto-Backup" msgstr "Auto Säkerhetskopiera" @@ -6620,25 +6758,25 @@ msgid "Add/Remove materials" msgstr "Lägg till/Ta bort material" msgid "Select/Remove printers(system presets)" -msgstr "" +msgstr "Välj/ta bort printer(systemet inställningar)" msgid "Create printer" -msgstr "" +msgstr "Skapa printer" msgid "The selected preset is null!" -msgstr "" +msgstr "Den valda förinställningen är noll!" msgid "End" -msgstr "" +msgstr "End" msgid "Customize" -msgstr "" +msgstr "Anpassa" msgid "Other layer filament sequence" -msgstr "" +msgstr "Other layer filament sequence" msgid "Please input layer value (>= 2)." -msgstr "" +msgstr "Please input layer value (>= 2)." msgid "Plate name" msgstr "Plattans namn" @@ -6650,16 +6788,16 @@ msgid "Print sequence" msgstr "Utskrifts sekvens" msgid "Same as Global" -msgstr "" +msgstr "Same as Global" msgid "Disable" -msgstr "" +msgstr "Disable" msgid "Spiral vase" msgstr "Spiral vas" msgid "First layer filament sequence" -msgstr "" +msgstr "Första lagrets filament sekvens" msgid "Same as Global Plate Type" msgstr "Samma som Global Bed Type" @@ -6776,7 +6914,7 @@ msgid "(LAN)" msgstr "(LAN)" msgid "Search" -msgstr "" +msgstr "Sök" msgid "My Device" msgstr "Min Enhet" @@ -6812,7 +6950,7 @@ msgid "Bambu Smooth PEI Plate" msgstr "" msgid "High temperature Plate" -msgstr "" +msgstr "Högtemperatur platta" msgid "Bambu Textured PEI Plate" msgstr "" @@ -6820,14 +6958,11 @@ msgstr "" msgid "Send print job to" msgstr "Skicka utskriftsjobb till" -msgid "Bed Leveling" -msgstr "Justering av Byggplattan" - msgid "Flow Dynamics Calibration" -msgstr "" +msgstr "Kalibrering av flödesdynamik" msgid "Click here if you can't connect to the printer" -msgstr "" +msgstr "Klicka här om du inte kan ansluta till printern" msgid "send completed" msgstr "Skicka komplett" @@ -6922,6 +7057,8 @@ msgid "" "The selected printer (%s) is incompatible with the chosen printer profile in " "the slicer (%s)." msgstr "" +"The selected printer (%s) is incompatible with the chosen printer profile in " +"the slicer (%s)." msgid "An SD card needs to be inserted to record timelapse." msgstr "Ett Micro SD-kort måste sättas i för att spela in en timelapse." @@ -6943,10 +7080,14 @@ msgid "" "When enable spiral vase mode, machines with I3 structure will not generate " "timelapse videos." msgstr "" +"When spiral vase mode is enabled, machines with I3 structure will not " +"generate timelapse videos." msgid "" "Timelapse is not supported because Print sequence is set to \"By object\"." msgstr "" +"Timelapse stöds inte eftersom utskrifts sekvensen är inställd på \"Per objekt" +"\"." msgid "Errors" msgstr "Fel" @@ -6974,26 +7115,31 @@ msgstr "" #, c-format, boost-format msgid "nozzle in preset: %s %s" -msgstr "" +msgstr "nozzel i inställning: %s %s" #, c-format, boost-format msgid "nozzle memorized: %.1f %s" -msgstr "" +msgstr "nozzel memorerat: %.1f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " "If you changed your nozzle lately, please go to Device > Printer Parts to " "change settings." msgstr "" +"Your nozzle diameter in sliced file is not consistent with the saved nozzle. " +"If you changed your nozzle lately, please go to Device > Printer Parts to " +"change settings." #, c-format, boost-format msgid "" "Printing high temperature material(%s material) with %s may cause nozzle " "damage" msgstr "" +"Printing high temperature material(%s material) with %s may cause nozzle " +"damage" msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "" +msgstr "Please fix the error above, otherwise printing cannot continue." msgid "" "Please click the confirm button if you still want to proceed with printing." @@ -7003,20 +7149,24 @@ msgstr "" msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" +"Ansluter till skrivaren. Det går inte att avbryta under anslutnings " +"processen." msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." msgstr "" +"Varning! Flödes kalibrering på texturerade PEI plattor kan misslyckas på " +"grund av ytan." msgid "Automatic flow calibration using Micro Lidar" -msgstr "" +msgstr "Automatic flow calibration using the Micro Lidar" msgid "Modifying the device name" msgstr "Ändra enhetens namn" msgid "Bind with Pin Code" -msgstr "" +msgstr "Bind with Pin Code" msgid "Send to Printer SD card" msgstr "Skicka till skrivarens MicroSD-kort" @@ -7026,6 +7176,7 @@ msgstr "Det går inte att skicka utskriftsuppgiften när uppgraderingen pågår" msgid "The selected printer is incompatible with the chosen printer presets." msgstr "" +"Den valda skrivaren är inte kompatibel med de valda skrivar inställningarna." msgid "An SD card needs to be inserted before send to printer SD card." msgstr "Ett MicroSD-kort måste sättas i innan du skickar till skrivaren." @@ -7040,7 +7191,7 @@ msgid "Slice ok." msgstr "Beredning klar." msgid "View all Daily tips" -msgstr "" +msgstr "Visa alla dagliga tips" msgid "Failed to create socket" msgstr "Det gick inte att skapa uttaget" @@ -7073,21 +7224,23 @@ msgid "" "Please Find the Pin Code in Account page on printer screen,\n" " and type in the Pin Code below." msgstr "" +"Please Find the Pin Code in Account page on printer screen,\n" +" and type in the Pin Code below." msgid "Can't find Pin Code?" -msgstr "" +msgstr "Can't find Pin Code?" msgid "Pin Code" -msgstr "" +msgstr "Pin Code" msgid "Binding..." -msgstr "" +msgstr "Binding..." msgid "Please confirm on the printer screen" -msgstr "" +msgstr "Please confirm on the printer screen" msgid "Log in failed. Please check the Pin Code." -msgstr "" +msgstr "Log in failed. Please check the Pin Code." msgid "Log in printer" msgstr "Logga in skrivare" @@ -7210,7 +7363,7 @@ msgstr "" "utan prime tower. Vill du aktivera prime tower?" msgid "Still print by object?" -msgstr "" +msgstr "Fortfarande utskrift per objekt?" msgid "" "We have added an experimental style \"Tree Slim\" that features smaller " @@ -7269,15 +7422,17 @@ msgid "" "Layer height exceeds the limit in Printer Settings -> Extruder -> Layer " "height limits ,this may cause printing quality issues." msgstr "" +"Lagerhöjden överskrider gränsen i Skrivarinställningar -> Extruder -> " +"Lagerhöjds gränser, detta kan orsaka problem med utskriftskvaliteten." msgid "Adjust to the set range automatically? \n" -msgstr "" +msgstr "Justera automatiskt till det inställda området? \n" msgid "Adjust" -msgstr "" +msgstr "Justera" msgid "Ignore" -msgstr "" +msgstr "Ignorera" msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7285,6 +7440,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other " "printing complications." msgstr "" +"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." msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7292,6 +7451,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other printing " "complications.Please use with the latest printer firmware." msgstr "" +"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." msgid "" "When recording timelapse without toolhead, it is recommended to add a " @@ -7362,7 +7525,7 @@ msgid "Acceleration" msgstr "Acceleration" msgid "Jerk(XY)" -msgstr "" +msgstr "Jerk(XY)" msgid "Raft" msgstr "Raft" @@ -7389,7 +7552,7 @@ msgid "Post-processing Scripts" msgstr "Skript för efterbehandling" msgid "Notes" -msgstr "" +msgstr "Notes" msgid "Frequent" msgstr "Återkommande" @@ -7465,13 +7628,16 @@ msgstr "" "värde på 0 betyder att filamentet inte stöder utskrift på Engineering Plate." msgid "Smooth PEI Plate / High Temp Plate" -msgstr "" +msgstr "Slät PEI platta / Högtemperaturs platta" msgid "" "Bed temperature when Smooth PEI Plate/High temperature plate is installed. " "Value 0 means the filament does not support to print on the Smooth PEI Plate/" "High Temp Plate" msgstr "" +"Bäddtemperatur när slät PEI-platta/Högtemperatur platta är installerad. " +"Värde 0 betyder att filamentet inte stöder utskrift på den släta PEI-plattan/" +"högtemperaturplattan" msgid "Textured PEI Plate" msgstr "Texturerad PEI-platta" @@ -7523,13 +7689,13 @@ msgid "Auxiliary part cooling fan" msgstr "Extra del kylnings fläkt" msgid "Exhaust fan" -msgstr "" +msgstr "Utsugs fläkt" msgid "During print" -msgstr "" +msgstr "Under utskrift" msgid "Complete print" -msgstr "" +msgstr "Komplett utskrift" msgid "Filament start G-code" msgstr "Filament start G-kod" @@ -7580,7 +7746,7 @@ msgid "Machine end G-code" msgstr "Maskin stop G-kod" msgid "Printing by object G-code" -msgstr "" +msgstr "Utskrift efter objekt G kod" msgid "Before layer change G-code" msgstr "Före lagerskifte G-kod" @@ -7589,7 +7755,7 @@ msgid "Layer change G-code" msgstr "Lagerskifte G-kod" msgid "Time lapse G-code" -msgstr "" +msgstr "Time lapse G-kod" msgid "Change filament G-code" msgstr "Byta filament G-kod" @@ -7641,9 +7807,12 @@ msgid "" "\n" "Shall I disable it in order to enable Firmware Retraction?" msgstr "" +"The Wipe option is not available when using the Firmware Retraction mode.\n" +"\n" +"Disable it in order to enable Firmware Retraction?" msgid "Firmware Retraction" -msgstr "" +msgstr "Firmware Retraktion" msgid "Detached" msgstr "Fristående" @@ -7653,9 +7822,11 @@ 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 Filament inställning och %d Process inställning är kopplade till denna " +"printer. Dessa inställningar raderas om printern raderas." msgid "Presets inherited by other presets can not be deleted!" -msgstr "" +msgstr "Inställningar som ärvts av andra inställningar kan inte raderas!" msgid "The following presets inherit this preset." msgid_plural "The following preset inherits this preset." @@ -7681,6 +7852,9 @@ msgid "" "If the preset corresponds to a filament currently in use on your printer, " "please reset the filament information for that slot." msgstr "" +"Är du säker på att du vill radera den valda inställningen? \n" +"Om inställningen motsvarar ett filament som för närvarande används på din " +"skrivare, vänligen återställ filament informationen för den platsen." #, boost-format msgid "Are you sure to %1% the selected preset?" @@ -7784,12 +7958,14 @@ msgstr "" #, boost-format msgid "You have changed some settings of preset \"%1%\". " -msgstr "" +msgstr "You have changed some settings of preset \"%1%\". " msgid "" "\n" "You can save or discard the preset values you have modified." msgstr "" +"\n" +"You can save or discard the preset values you have modified." msgid "" "\n" @@ -7798,7 +7974,7 @@ msgid "" msgstr "" msgid "You have previously modified your settings." -msgstr "" +msgstr "You have previously modified your settings." msgid "" "\n" @@ -7952,7 +8128,7 @@ msgid "Auto-Calc" msgstr "Autoberäkna" msgid "Re-calculate" -msgstr "" +msgstr "Utför beräkningen igen" msgid "Flushing volumes for filament change" msgstr "Rensnings volym för filament byte" @@ -7992,10 +8168,10 @@ msgid "To" msgstr "Till" msgid "Bambu Network plug-in not detected." -msgstr "" +msgstr "Bambu Network plug-in hittades inte." msgid "Click here to download it." -msgstr "" +msgstr "Klicka här för att ladda ner den." msgid "Login" msgstr "Logga in" @@ -8028,7 +8204,7 @@ msgid "Show/Hide 3Dconnexion devices settings dialog" msgstr "Visa/Dölj 3Dconnexion enheternas inställnings dialogruta" msgid "Switch table page" -msgstr "" +msgstr "Byt tabellsida" msgid "Show keyboard shortcuts list" msgstr "Visa tangentbordets genvägs lista" @@ -8290,49 +8466,49 @@ msgid "New version of Orca Slicer" msgstr "Ny version av Orca Slicer" msgid "Skip this Version" -msgstr "" +msgstr "Hoppa över denna version" msgid "Done" msgstr "Klar" msgid "resume" -msgstr "" +msgstr "resume" msgid "Resume Printing" -msgstr "" +msgstr "Resume Printing" msgid "Resume Printing(defects acceptable)" -msgstr "" +msgstr "Resume Printing (defects acceptable)" msgid "Resume Printing(problem solved)" -msgstr "" +msgstr "Resume Printing (problem solved)" msgid "Stop Printing" -msgstr "" +msgstr "Stop Printing" msgid "Check Assistant" -msgstr "" +msgstr "Check Assistant" msgid "Filament Extruded, Continue" -msgstr "" +msgstr "Filament Extruded, Continue" msgid "Not Extruded Yet, Retry" -msgstr "" +msgstr "Not Extruded Yet, Retry" msgid "Finished, Continue" -msgstr "" +msgstr "Finished, Continue" msgid "Load Filament" msgstr "Ladda Filament" msgid "Filament Loaded, Resume" -msgstr "" +msgstr "Filament Loaded, Resume" msgid "View Liveview" -msgstr "" +msgstr "View Liveview" msgid "Confirm and Update Nozzle" -msgstr "" +msgstr "Bekräfta och uppdatera nozzeln" msgid "LAN Connection Failed (Sending print file)" msgstr "LAN-anslutning misslyckades (skickar utskriftsfil)" @@ -8358,21 +8534,23 @@ msgid "Where to find your printer's IP and Access Code?" msgstr "Var hittar du skrivarens IP- och åtkomstkod?" msgid "Step 3: Ping the IP address to check for packet loss and latency." -msgstr "" +msgstr "Steg 3: Pinga IP-adressen för att kontrollera paketförlust och latens." msgid "Test" -msgstr "" +msgstr "Test" msgid "IP and Access Code Verified! You may close the window" -msgstr "" +msgstr "IP- och åtkomstkoder verifierade! Du kan stänga fönstret" msgid "Connection failed, please double check IP and Access Code" -msgstr "" +msgstr "Anslutningen misslyckades, kontrollera IP och åtkomstkod" msgid "" "Connection failed! If your IP and Access Code is correct, \n" "please move to step 3 for troubleshooting network issues" msgstr "" +"Anslutningen misslyckades! Om din IP-adress och åtkomstkod är korrekta, \n" +"gå vidare till steg 3 för felsökning av nätverksproblem" msgid "Model:" msgstr "Modell:" @@ -8387,7 +8565,7 @@ msgid "Update firmware" msgstr "Uppdatera programvara" msgid "Beta version" -msgstr "" +msgstr "Betaversion" msgid "Latest version" msgstr "Senaste version" @@ -8748,26 +8926,33 @@ msgid "" msgstr "" msgid "Variable layer height is not supported with Organic supports." -msgstr "" +msgstr "Variabel lagerhöjd stöds inte med organiska support." msgid "" "Different nozzle diameters and different filament diameters is not allowed " "when prime tower is enabled." msgstr "" +"Olika nozzel diametrar och olika filament diametrar är inte tillåtna när " +"prime tower är aktiverat." msgid "" "The Wipe Tower is currently only supported with the relative extruder " "addressing (use_relative_e_distances=1)." msgstr "" +"Wipe Tower stöds för närvarande endast med relativ extruder adressering " +"(use_relative_e_distances=1)." msgid "" "Ooze prevention is currently not supported with the prime tower enabled." msgstr "" +"Förebyggande av läckage stöds för närvarande inte med prime tower aktiverat." msgid "" "The prime tower is currently only supported for the Marlin, RepRap/Sprinter, " "RepRapFirmware and Repetier G-code flavors." msgstr "" +"Prime Tower stöds för närvarande endast för G-kods varianterna Marlin, " +"RepRap/Sprinter, RepRapFirmware och Repetier." msgid "The prime tower is not supported in \"By object\" print." msgstr "Ett Prime Torn stöds inte i \"Per objekt\" utskrift." @@ -8988,11 +9173,13 @@ msgstr "" "format: https://username:password@your-octopi-address/" msgid "Device UI" -msgstr "" +msgstr "Enhetens gränssnitt" msgid "" "Specify the URL of your device user interface if it's not same as print_host" msgstr "" +"Ange webbadressen till enhetens användar gränssnitt om den inte är densamma " +"som printer värd" msgid "API Key / Password" msgstr "API Nyckel/Lösenord" @@ -9150,16 +9337,16 @@ msgid "Engineering Plate" msgstr "Engineering Plate" msgid "First layer print sequence" -msgstr "" +msgstr "Första lagrets utskrifts ordning" msgid "Other layers print sequence" -msgstr "" +msgstr "Other layers print sequence" msgid "The number of other layers print sequence" -msgstr "" +msgstr "The number of other layers print sequence" msgid "Other layers filament sequence" -msgstr "" +msgstr "Other layers filament sequence" msgid "This G-code is inserted at every layer change before lifting z" msgstr "Denna G-kod används för varje lager innan Z axis lyfts" @@ -9290,12 +9477,14 @@ msgid "" msgstr "" msgid "Top surface flow ratio" -msgstr "" +msgstr "Flödesförhållande för övre ytan" msgid "" "This factor affects the amount of material for top solid infill. You can " "decrease it slightly to have smooth surface finish" msgstr "" +"Denna faktor påverkar mängden material för den övre solida fyllningen. Du " +"kan minska den något för att få en jämn ytfinish." msgid "Bottom surface flow ratio" msgstr "" @@ -9439,7 +9628,7 @@ msgid "" msgstr "" msgid "mm/s or %" -msgstr "" +msgstr "mm/s eller %." msgid "External" msgstr "" @@ -9581,7 +9770,7 @@ msgid "Default process profile when switch to this machine profile" msgstr "Standard process profil vid byte till denna maskinens profil" msgid "Activate air filtration" -msgstr "" +msgstr "Activate air filtration" msgid "Activate for better air filtration. G-code command: M106 P3 S(0-255)" msgstr "" @@ -9593,6 +9782,8 @@ msgid "" "Speed of exhaust fan during printing.This speed will overwrite the speed in " "filament custom gcode" msgstr "" +"Hastighet för frånlufts fläkt under utskrift. Denna hastighet kommer att " +"åsidosätta hastigheten i filament anpassad g-kod" msgid "Speed of exhaust fan after printing completes" msgstr "" @@ -9699,12 +9890,14 @@ msgid "End G-code when finish the whole printing" msgstr "Lägg till slut G-kod när utskriften har avslutas" msgid "Between Object Gcode" -msgstr "" +msgstr "Mellan objekt G kod" msgid "" "Insert Gcode between objects. This parameter will only come into effect when " "you print your models object by object" msgstr "" +"Infoga G-kod mellan objekt. Denna parameter träder i kraft först när du " +"skriver ut dina modeller objekt för objekt." msgid "End G-code when finish the printing of this filament" msgstr "Lägg till slut G-kod när utskriften har avslutas med detta filament" @@ -9766,7 +9959,7 @@ msgid "Line pattern of bottom surface infill, not bridge infill" msgstr "Botten ytans ifyllnads linjemönster, inte bridge/brygg ifyllnad" msgid "Internal solid infill pattern" -msgstr "" +msgstr "Invändigt mönster för fyllning av solida ytor" msgid "" "Line pattern of internal solid infill. if the detect narrow internal solid " @@ -9786,7 +9979,7 @@ msgstr "" "hastigheten på inner vägg för att uppnå bättre kvalitet." msgid "Small perimeters" -msgstr "" +msgstr "Små perimetrar" msgid "" "This separate setting will affect the speed of perimeters having radius <= " @@ -9801,6 +9994,8 @@ msgstr "" msgid "" "This sets the threshold for small perimeter length. Default threshold is 0mm" msgstr "" +"Detta ställer in tröskelvärdet för liten perimeterlängd. Standardgränsen är " +"0mm" msgid "Walls printing order" msgstr "" @@ -9840,7 +10035,7 @@ msgid "Inner/Outer/Inner" msgstr "" msgid "Print infill first" -msgstr "" +msgstr "Printa fyllningen först" msgid "" "Order of wall/infill. When the tickbox is unchecked the walls are printed " @@ -9901,10 +10096,10 @@ msgstr "" "utskrift av flera objekt." msgid "Nozzle height" -msgstr "" +msgstr "Nozzel höjd" msgid "The height of nozzle tip." -msgstr "" +msgstr "Höjden på nozzel spetsen." msgid "Bed mesh min" msgstr "" @@ -9976,7 +10171,7 @@ msgstr "" "fin flat yta när visst överflöde eller underflöde finns" msgid "Enable pressure advance" -msgstr "" +msgstr "Aktivera pressure advance" msgid "" "Enable pressure advance, auto calibration result will be overwriten once " @@ -10021,10 +10216,10 @@ msgid "Default filament color" msgstr "Standard filament färg" msgid "Filament notes" -msgstr "" +msgstr "Filament notes" msgid "You can put your notes regarding the filament here." -msgstr "" +msgstr "You can put your notes regarding the filament here." msgid "Required nozzle HRC" msgstr "HRC nozzle krävs" @@ -10222,13 +10417,16 @@ msgstr "" "gränssnittet" msgid "Softening temperature" -msgstr "" +msgstr "Mjuknings temperatur" msgid "" "The material softens at this temperature, so when the bed temperature is " "equal to or greater than it, it's highly recommended to open the front door " "and/or remove the upper glass to avoid cloggings." msgstr "" +"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 clogs." msgid "Price" msgstr "Pris" @@ -10240,10 +10438,10 @@ msgid "money/kg" msgstr "pris/kg" msgid "Vendor" -msgstr "" +msgstr "Leverantör" msgid "Vendor of filament. For show only" -msgstr "" +msgstr "Försäljare av filament. Endast för visning" msgid "(Undefined)" msgstr "(Oidentifierad)" @@ -10318,7 +10516,7 @@ msgid "Lightning" msgstr "Blixt" msgid "Cross Hatch" -msgstr "" +msgstr "Cross Hatch" msgid "Sparse infill anchor length" msgstr "" @@ -10386,12 +10584,14 @@ msgid "" msgstr "" msgid "mm/s² or %" -msgstr "" +msgstr "mm/s² or %" 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 "" +"Acceleration av gles utfyllnad. Om värdet uttrycks som en procentsats (t.ex. " +"100%) kommer det att beräknas baserat på standard accelerationen." msgid "" "Acceleration of internal solid infill. If the value is expressed as a " @@ -10407,13 +10607,13 @@ msgstr "" "objektets fäste på byggplattan" msgid "Enable accel_to_decel" -msgstr "" +msgstr "Aktivera accel_to_decel" msgid "Klipper's max_accel_to_decel will be adjusted automatically" -msgstr "" +msgstr "Klippers max_accel_to_decel kommer att justeras automatiskt" msgid "accel_to_decel" -msgstr "" +msgstr "accel_to_decel" #, c-format, boost-format msgid "" @@ -10421,10 +10621,10 @@ msgid "" msgstr "" msgid "Jerk of outer walls" -msgstr "" +msgstr "Jerk ytterväggar" msgid "Jerk of inner walls" -msgstr "" +msgstr "Jerk innerväggar" msgid "Jerk for top surface" msgstr "" @@ -10548,7 +10748,7 @@ msgid "Whether to apply fuzzy skin on the first layer" msgstr "" msgid "Filter out tiny gaps" -msgstr "" +msgstr "Filtrera bort små luckor" msgid "Layers and Perimeters" msgstr "Lager och perimetrar" @@ -10564,13 +10764,16 @@ msgstr "" "linjebredd och bör skrivas ut långsammare" msgid "Precise Z height" -msgstr "" +msgstr "Precise Z height" 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 "" +"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." msgid "Arc fitting" msgstr "Arc passning" @@ -10639,10 +10842,10 @@ msgid "HRC" msgstr "HRC" msgid "Printer structure" -msgstr "" +msgstr "Printerns struktur" msgid "The physical arrangement and components of a printing device" -msgstr "" +msgstr "Den fysiska utformningen och komponenterna i en utskriftsenhet" msgid "CoreXY" msgstr "" @@ -10657,10 +10860,12 @@ msgid "Delta" msgstr "" msgid "Best object position" -msgstr "" +msgstr "Bästa position för objektet" msgid "Best auto arranging position in range [0,1] w.r.t. bed shape." msgstr "" +"Bästa automatiska arrangemangs position i intervallet [0,1] w.r.t. bäddens " +"form." msgid "" "Enable this option if machine has auxiliary part cooling fan. G-code " @@ -10706,7 +10911,7 @@ msgid "money/h" msgstr "" msgid "Support control chamber temperature" -msgstr "" +msgstr "Stöd för kontroll av kammarens temperatur" msgid "" "This option is enabled if machine support controlling chamber temperature\n" @@ -10714,7 +10919,7 @@ msgid "" msgstr "" msgid "Support air filtration" -msgstr "" +msgstr "Stödjer luftfiltrering" msgid "" "Enable this if printer support air filtration\n" @@ -10747,7 +10952,7 @@ msgid "" msgstr "" msgid "Exclude objects" -msgstr "" +msgstr "Exkludera objekt" msgid "Enable this option to add EXCLUDE OBJECT command in g-code" msgstr "" @@ -10807,25 +11012,31 @@ msgid "Speed of internal sparse infill" msgstr "Hastighet för sparsam ifyllnad" msgid "Interface shells" -msgstr "" +msgstr "Interface shells" 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 "" +"Force the generation of solid shells between adjacent materials/volumes. " +"Useful for multi-extruder prints with translucent materials or manual " +"soluble support material" msgid "Maximum width of a segmented region" -msgstr "" +msgstr "Maximal bredd för en segmenterad region" msgid "Maximum width of a segmented region. Zero disables this feature." msgstr "" +"Maximum width of a segmented region. A value of 0 disables this feature." msgid "Interlocking depth of a segmented region" -msgstr "" +msgstr "Sammanhängande djup i en segmenterad region" msgid "Interlocking depth of a segmented region. Zero disables this feature." msgstr "" +"Sammankopplingsdjup för en segmenterad region. Noll inaktiverar denna " +"funktion." msgid "Ironing Type" msgstr "Stryknings typ" @@ -11301,10 +11512,10 @@ msgid "" msgstr "" msgid "Printer notes" -msgstr "" +msgstr "Printer notes" msgid "You can put your notes regarding the printer here." -msgstr "" +msgstr "You can put your notes regarding the printer here." msgid "Raft contact Z distance" msgstr "Raft kontakt Z avstånd" @@ -11388,7 +11599,7 @@ msgstr "" "långa förflyttningar. Sätt på 0 för att inaktivera retraktion" msgid "Long retraction when cut(experimental)" -msgstr "" +msgstr "Long retraction when cut (experimental)" msgid "" "Experimental feature.Retracting and cutting off the filament at a longer " @@ -11396,14 +11607,20 @@ msgid "" "significantly, it may also raise the risk of nozzle clogs or other printing " "problems." msgstr "" +"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." msgid "Retraction distance when cut" -msgstr "" +msgstr "Retraction distance when cut" msgid "" "Experimental feature.Retraction length before cutting off during filament " "change" msgstr "" +"Experimental feature. Retraction length before cutting off during filament " +"change" msgid "Z hop when retract" msgstr "Z hopp vid retraktion" @@ -11419,20 +11636,24 @@ msgstr "" "strängning" msgid "Z hop lower boundary" -msgstr "" +msgstr "Z hopp nedre gräns" 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 kommer endast att träda i kraft när Z är över detta värde och är under " +"parametern: \"Övre gräns för Z-hopp\"" msgid "Z hop upper boundary" -msgstr "" +msgstr "Z hopp övre gräns" 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 "" +"Om detta värde är positivt kommer Z hop endast att träda i kraft när Z är " +"över parametern: \"Z hop nedre gräns\" och är under detta värde" msgid "Z hop type" msgstr "" @@ -11480,7 +11701,7 @@ msgid "Top and Bottom" msgstr "" msgid "Extra length on restart" -msgstr "" +msgstr "Extra längd vid omstart" msgid "" "When the retraction is compensated after the travel move, the extruder will " @@ -11510,7 +11731,7 @@ msgstr "" "retraktionen" msgid "Use firmware retraction" -msgstr "" +msgstr "Använd firmware retraktion" msgid "" "This experimental setting uses G10 and G11 commands to have the firmware " @@ -11554,7 +11775,7 @@ msgid "" msgstr "" msgid "Seam gap" -msgstr "" +msgstr "Sömmens mellanrum" msgid "" "In order to reduce the visibility of the seam in a closed loop extrusion, " @@ -11568,17 +11789,20 @@ msgstr "" msgid "Use scarf joint to minimize seam visibility and increase seam strength." msgstr "" +"Use scarf joint to minimize seam visibility and increase seam strength." msgid "Conditional scarf joint" -msgstr "" +msgstr "Conditional scarf joint" msgid "" "Apply scarf joints only to smooth perimeters where traditional seams do not " "conceal the seams at sharp corners effectively." msgstr "" +"Apply scarf joints only to smooth perimeters where traditional seams do not " +"conceal the seams at sharp corners effectively." msgid "Conditional angle threshold" -msgstr "" +msgstr "Conditional angle threshold" msgid "" "This option sets the threshold angle for applying a conditional scarf joint " @@ -11621,39 +11845,44 @@ msgid "This factor affects the amount of material for scarf joints." msgstr "" msgid "Scarf start height" -msgstr "" +msgstr "Scarf start height" 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 "" +"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." msgid "Scarf around entire wall" -msgstr "" +msgstr "Scarf around entire wall" msgid "The scarf extends to the entire length of the wall." -msgstr "" +msgstr "The scarf extends to the entire length of the wall." msgid "Scarf length" -msgstr "" +msgstr "Scarf length" msgid "" "Length of the scarf. Setting this parameter to zero effectively disables the " "scarf." msgstr "" +"Length of the scarf. Setting this parameter to zero effectively disables the " +"scarf." msgid "Scarf steps" -msgstr "" +msgstr "Scarf steps" msgid "Minimum number of segments of each scarf." -msgstr "" +msgstr "Minimum number of segments of each scarf." msgid "Scarf joint for inner walls" -msgstr "" +msgstr "Scarf joint for inner walls" msgid "Use scarf joint for inner walls as well." -msgstr "" +msgstr "Use scarf joint for inner walls as well." msgid "Role base wipe speed" msgstr "" @@ -11688,7 +11917,7 @@ msgid "" msgstr "" msgid "Wipe speed" -msgstr "" +msgstr "Hastighet för avtorkning" msgid "" "The wipe speed is determined by the speed setting specified in this " @@ -11696,6 +11925,10 @@ msgid "" "be calculated based on the travel speed setting above.The default value for " "this parameter is 80%" msgstr "" +"Torkhastigheten bestäms av den hastighetsinställning som anges i denna " +"konfiguration. Om värdet uttrycks i procent (t.ex. 80%), kommer det att " +"beräknas baserat på inställningen för förflyttnings hastigheten ovan. " +"Standardvärdet för denna parameter är 80%" msgid "Skirt distance" msgstr "Skirt avstånd" @@ -11791,20 +12024,24 @@ msgstr "" "solida bottenlager. Den slutgiltligt genererade modellen har ingen söm" msgid "Smooth Spiral" -msgstr "" +msgstr "Smooth Spiral" msgid "" "Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " "at all, even in the XY directions on walls that are not vertical" msgstr "" +"Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " +"at all, even in the XY directions on walls that are not vertical" msgid "Max XY Smoothing" -msgstr "" +msgstr "Max XY Smoothing" msgid "" "Maximum distance to move points in XY to try to achieve a smooth spiralIf " "expressed as a %, it will be computed over nozzle diameter" msgstr "" +"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" msgid "" "If smooth or traditional mode is selected, a timelapse video will be " @@ -11983,10 +12220,10 @@ msgstr "" "utskjutande detaljer etc." msgid "Remove small overhangs" -msgstr "" +msgstr "Ta bort små överhäng" msgid "Remove small overhangs that possibly need no supports." -msgstr "" +msgstr "Ta bort små överhäng som eventuellt inte behöver stöd." msgid "Top Z distance" msgstr "Topp Z-distans" @@ -12012,11 +12249,13 @@ msgstr "" "specifik filament för support, och nuvarande filament används" msgid "Avoid interface filament for base" -msgstr "" +msgstr "Undvik gränssnitts filament för basen" msgid "" "Avoid using support interface filament to print support base if possible." msgstr "" +"Undvik om möjligt att använda filament för stöd gränssnitt för att skriva ut " +"stödbasen." msgid "" "Line width of support. If expressed as a %, it will be computed over the " @@ -12053,10 +12292,10 @@ msgid "Bottom interface layers" msgstr "Botten gränssnitts lager" msgid "Number of bottom interface layers" -msgstr "" +msgstr "Antal nedre gränsyte skikt" msgid "Same as top" -msgstr "" +msgstr "Samma som toppen" msgid "Top interface spacing" msgstr "Topp gränssnitts avstånd" @@ -12262,10 +12501,10 @@ msgid "" msgstr "" msgid "Support wall loops" -msgstr "" +msgstr "Vägg support" msgid "This setting specify the count of walls around support" -msgstr "" +msgstr "Denna inställning anger antalet väggar runt supporten" msgid "Tree support with infill" msgstr "Tree support med ifyllnad" @@ -12287,7 +12526,7 @@ msgid "" msgstr "" msgid "Chamber temperature" -msgstr "" +msgstr "Kammarens temperatur" msgid "" "Higher chamber temperature can help suppress or reduce warping and " @@ -12298,6 +12537,12 @@ msgid "" "high to avoid cloggings, so 0 which stands for turning off is highly " "recommended" msgstr "" +"Higher chamber temperature can help suppress or reduce warping and " +"potentially lead to higher interlayer bonding strength for high temperature " +"materials like ABS, ASA, PC, PA and so on. At the same time, the air " +"filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and " +"other low temperature materials, the actual chamber temperature should not " +"be high to avoid clogs, so 0 (turned off) is highly recommended." msgid "Nozzle temperature for layers after the initial one" msgstr "Nozzel temperatur efter första lager" @@ -12441,17 +12686,29 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -12579,7 +12836,7 @@ msgid "" msgstr "" msgid "Use relative E distances" -msgstr "" +msgstr "Använd relativa E avstånd" msgid "" "Relative extrusion is recommended when using \"label_objects\" option.Some " @@ -13138,7 +13395,7 @@ msgid "load_obj: failed to parse" msgstr "load_obj: misslyckades med att analysera" msgid "load mtl in obj: failed to parse" -msgstr "" +msgstr "load mtl in obj: failed to parse" msgid "The file contains polygons with more than 4 vertices." msgstr "Filen innehåller polygoner med fler än 4 hörn." @@ -13153,67 +13410,71 @@ msgid "This OBJ file couldn't be read because it's empty." msgstr "Denna OBJ fil kunde inte läsas eftersom den är tom." msgid "Flow Rate Calibration" -msgstr "" +msgstr "Kalibrering av flödeshastighet" msgid "Max Volumetric Speed Calibration" -msgstr "" +msgstr "Max volymetrisk hastighets kalibrering" msgid "Manage Result" -msgstr "" +msgstr "Hantera resultat" msgid "Manual Calibration" -msgstr "" +msgstr "Manuell kalibrering" msgid "Result can be read by human eyes." -msgstr "" +msgstr "Resultatet kan läsas av mänskliga ögon." msgid "Auto-Calibration" -msgstr "" +msgstr "Auto-Calibration" msgid "We would use Lidar to read the calibration result" -msgstr "" +msgstr "Vi vill använda Lidar för att läsa av kalibrerings resultatet" msgid "Prev" -msgstr "" +msgstr "Föregående" msgid "Recalibration" -msgstr "" +msgstr "Omkalibrering" msgid "Calibrate" -msgstr "" +msgstr "Kalibrera" msgid "Finish" msgstr "Slutför" msgid "How to use calibration result?" -msgstr "" +msgstr "Hur kan jag använda kalibreringsresultaten?" msgid "" "You could change the Flow Dynamics Calibration Factor in material editing" msgstr "" +"Du kan ändra kalibreringsfaktorn för flödesdynamik i material redigeringen" msgid "" "The current firmware version of the printer does not support calibration.\n" "Please upgrade the printer firmware." msgstr "" +"Den aktuella versionen av printerns inbyggda programvara stöder inte " +"kalibrering.\n" +"Vänligen uppdatera printerns programvara." msgid "Calibration not supported" -msgstr "" +msgstr "Kalibrering stöds inte" msgid "Error desc" -msgstr "" +msgstr "Fel desc" msgid "Extra info" -msgstr "" +msgstr "Extra info" msgid "Flow Dynamics" -msgstr "" +msgstr "Flödesdynamik" msgid "Flow Rate" -msgstr "" +msgstr "Flödeshastighet" msgid "Max Volumetric Speed" -msgstr "" +msgstr "Max volymetrisk hastighet" #, c-format, boost-format msgid "" @@ -13223,38 +13484,45 @@ msgid "" "End value: > Start value\n" "Value step: >= %.3f)" msgstr "" +"Vänligen ange giltiga värden:\n" +"Startvärde: >= %.1f\n" +"Slutvärde: <= %.1f\n" +"Slutvärde: > Startvärde\n" +"Värde steg: >= %.3f)" msgid "The name cannot be empty." -msgstr "" +msgstr "Namnet får inte vara tomt." #, c-format, boost-format msgid "The selected preset: %s is not found." -msgstr "" +msgstr "Den valda inställningen: %s hittades inte." msgid "The name cannot be the same as the system preset name." -msgstr "" +msgstr "Namnet får inte vara detsamma som systemets förinställda namn." msgid "The name is the same as another existing preset name" -msgstr "" +msgstr "Namnet är detsamma som ett annat befintligt förinställt namn" msgid "create new preset failed." -msgstr "" +msgstr "skapande av ny inställning misslyckades." msgid "" "Are you sure to cancel the current calibration and return to the home page?" msgstr "" +"Are you sure you want to cancel the current calibration and return to the " +"home page?" msgid "No Printer Connected!" -msgstr "" +msgstr "Ingen skrivare ansluten!" msgid "Printer is not connected yet." -msgstr "" +msgstr "Printern är inte ansluten ännu." msgid "Please select filament to calibrate." -msgstr "" +msgstr "Välj filament för kalibrering." msgid "The input value size must be 3." -msgstr "" +msgstr "Storleken på ingångsvärdet måste vara 3." msgid "" "This machine type can only hold 16 history results per nozzle. You can " @@ -13263,15 +13531,20 @@ msgid "" "historical results. \n" "Do you still want to continue the calibration?" msgstr "" +"This machine type can only hold 16 historical 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?" msgid "Connecting to printer..." -msgstr "" +msgstr "Ansluter till skrivaren..." msgid "The failed test result has been dropped." -msgstr "" +msgstr "Det misslyckade testresultatet har tagits bort." msgid "Flow Dynamics Calibration result has been saved to the printer" -msgstr "" +msgstr "Flödesdynamik kalibrerings resultaten har sparats på printern." #, c-format, boost-format msgid "" @@ -13279,27 +13552,35 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to override the historical result?" msgstr "" +"Det finns redan ett tidigare kalibreringsresultat med samma namn: %s. Endast " +"ett resultat med ett namn sparas. Är du säker på att du vill skriva över det " +"tidigare resultatet?" #, c-format, boost-format msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." msgstr "" +"This machine type can only hold %d historical results per nozzle. This " +"result will not be saved." msgid "Internal Error" -msgstr "" +msgstr "Internt fel" msgid "Please select at least one filament for calibration" -msgstr "" +msgstr "Välj minst ett filament för kalibrering" msgid "Flow rate calibration result has been saved to preset" msgstr "" +"Resultat för kalibrering av flödeshastigheten har sparats till inställningen." msgid "Max volumetric speed calibration result has been saved to preset" msgstr "" +"Max volymetrisk hastighets kalibrerings resultat har sparats till " +"förinställningen" msgid "When do you need Flow Dynamics Calibration" -msgstr "" +msgstr "När behöver du kalibrering av flödes dynamik" msgid "" "We now have added the auto-calibration for different filaments, which is " @@ -13311,9 +13592,17 @@ msgid "" "3. If the max volumetric speed or print temperature is changed in the " "filament setting." msgstr "" +"Vi har nu lagt till automatisk kalibrering för olika filament, vilket är " +"helt automatiserat och resultatet sparas i printern för framtida användning. " +"Du behöver bara göra kalibreringen i följande begränsade fall:\n" +"1. Om du introducerar ett nytt filament av olika märken/modeller eller om " +"filamentet är fuktigt;\n" +"2. Om nozzeln är utsliten eller ersatt med ett nytt;\n" +"3. Om max volymhastighet eller utskriftstemperatur ändras i filament " +"inställningen." msgid "About this calibration" -msgstr "" +msgstr "Om denna kalibrering" msgid "" "Please find the details of Flow Dynamics Calibration from our wiki.\n" @@ -13334,9 +13623,28 @@ msgid "" "cause the result not exactly the same in each calibration. We are still " "investigating the root cause to do improvements with new updates." msgstr "" +"Information om Flow Dynamics Calibration finns i vår wiki.\n" +"\n" +"Vanligtvis är kalibreringen onödig. När du startar en utskrift i en färg/" +"material, med alternativet \"flödesdynamisk kalibrering\" markerat i " +"startmenyn, kommer skrivaren att följa det gamla sättet, kalibrera " +"filamentet före utskriften; När du startar en utskrift i flera färger/" +"material kommer skrivaren att använda standard kompensations parametern för " +"filamentet vid varje filamentbyte, vilket ger ett bra resultat i de flesta " +"fall.\n" +"\n" +"Observera att det finns några fall som gör att kalibreringsresultatet inte " +"blir tillförlitligt: använd en strukturplatta för att göra kalibreringen; " +"byggplattan har inte bra vidhäftning (tvätta byggplattan eller applicera " +"lim!) ...Du kan hitta mer från vår wiki.\n" +"\n" +"Kalibreringsresultaten har cirka 10 procent fel i vårt test, vilket kan " +"orsaka att resultatet inte är exakt detsamma i varje kalibrering. Vi " +"undersöker fortfarande grundorsaken för att kunna göra förbättringar med nya " +"uppdateringar." msgid "When to use Flow Rate Calibration" -msgstr "" +msgstr "När ska man använda kalibrering av flödes hastighet?" msgid "" "After using Flow Dynamics Calibration, there might still be some extrusion " @@ -13349,12 +13657,24 @@ msgid "" "4. Weak Structural Integrity: Prints break easily or don't seem as sturdy as " "they should be." msgstr "" +"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." 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 "" +"Dessutom är flödeshastighets kalibrering avgörande för skummande material " +"som LW-PLA som används i RC-plan. Dessa material expanderar kraftigt vid " +"uppvärmning, och kalibrering ger en användbar referens flödeshastighet." msgid "" "Flow Rate Calibration measures the ratio of expected to actual extrusion " @@ -13364,6 +13684,13 @@ msgid "" "you still see the listed defects after you have done other calibrations. For " "more details, please check out the wiki article." msgstr "" +"Flödeskalibrering mäter förhållandet mellan förväntade och faktiska " +"extruderings volymer. Standardinställningen fungerar bra med Bambu Lab " +"printers och officiella filament eftersom de är förkalibrerade och " +"finjusterade. För ett vanligt filament behöver du vanligtvis inte utföra en " +"flödeshastighets kalibrering om du inte fortfarande ser de listade " +"defekterna efter att du har gjort andra kalibreringar. För mer information, " +"se vår wiki-artikel." msgid "" "Auto Flow Rate Calibration utilizes Bambu Lab's Micro-Lidar technology, " @@ -13383,48 +13710,71 @@ msgid "" "can lead to sub-par prints or printer damage. Please make sure to carefully " "read and understand the process before doing it." msgstr "" +"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 performing it." msgid "When you need Max Volumetric Speed Calibration" -msgstr "" +msgstr "När du behöver kalibrering av maximal volymhastighet" msgid "Over-extrusion or under extrusion" -msgstr "" +msgstr "Över extrudering eller under extrudering" msgid "Max Volumetric Speed calibration is recommended when you print with:" msgstr "" +"Max volymetrisk hastighets kalibrering rekommenderas när du skriver ut med:" msgid "material with significant thermal shrinkage/expansion, such as..." -msgstr "" +msgstr "material med betydande termisk krympning/expansion, t.ex...." msgid "materials with inaccurate filament diameter" -msgstr "" +msgstr "material med felaktig filament diameter" msgid "We found the best Flow Dynamics Calibration Factor" -msgstr "" +msgstr "Vi hittade den bästa Flödes dynamiska kalibrerings faktorn" msgid "" "Part of the calibration failed! You may clean the plate and retry. The " "failed test result would be dropped." msgstr "" +"En del av kalibreringen misslyckades! Det kan hjälpa att rengöra plattan och " +"försöka igen. Det misslyckade testresultatet kommer att raderas." msgid "" "*We recommend you to add brand, materia, type, and even humidity level in " "the Name" msgstr "" +"*Vi rekommenderar att du lägger till varumärke, material, typ och till och " +"med fuktighetsnivå i namnet" msgid "Failed" msgstr "Misslyckades" msgid "Please enter the name you want to save to printer." -msgstr "" +msgstr "Ange det namn som du vill spara på skrivaren." msgid "The name cannot exceed 40 characters." -msgstr "" +msgstr "Namnet får inte innehålla mer än 40 tecken." msgid "" "Only one of the results with the same name will be saved. Are you sure you " "want to overrides the other results?" msgstr "" +"Endast ett av resultaten med samma namn kommer att sparas. Är du säker på " +"att du vill ersätta de andra resultaten?" #, c-format, boost-format msgid "" @@ -13432,188 +13782,197 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to overrides the historical result?" msgstr "" +"Det finns redan ett tidigare kalibreringsresultat med samma namn: %s. Endast " +"ett av resultaten med samma namn sparas. Är du säker på att du vill ersätta " +"det tidigare resultatet?" msgid "Please find the best line on your plate" -msgstr "" +msgstr "Hitta den bästa linjen på din platta." msgid "Please find the cornor with perfect degree of extrusion" -msgstr "" +msgstr "Hitta hörnet med den perfekta graden av extrudering" msgid "Input Value" -msgstr "" +msgstr "Ingångsvärde" msgid "Save to Filament Preset" -msgstr "" +msgstr "Spara till inställningar för filament" msgid "Preset" -msgstr "" +msgstr "Förinställd" msgid "Record Factor" -msgstr "" +msgstr "Inspelnings faktor" msgid "We found the best flow ratio for you" -msgstr "" +msgstr "Vi hittade det bästa flödesförhållandet för dig" msgid "Flow Ratio" -msgstr "" +msgstr "Flödes förhållande" msgid "Please input a valid value (0.0 < flow ratio < 2.0)" -msgstr "" +msgstr "Ange ett giltigt värde (0.0 < flödesförhållande < 2.0) " msgid "Please enter the name of the preset you want to save." -msgstr "" +msgstr "Ange namnet på den förinställning som du vill spara." msgid "Calibration1" -msgstr "" +msgstr "Kalibrering1" msgid "Calibration2" -msgstr "" +msgstr "Kalibrering2" msgid "Please find the best object on your plate" -msgstr "" +msgstr "Hitta det bästa objektet på din platta." msgid "Fill in the value above the block with smoothest top surface" -msgstr "" +msgstr "Fyll i värdet från blocket med jämnast toppyta" msgid "Skip Calibration2" -msgstr "" +msgstr "Hoppa över kalibrering2" #, c-format, boost-format msgid "flow ratio : %s " -msgstr "" +msgstr "flödes förhållande: %s " msgid "Please choose a block with smoothest top surface" -msgstr "" +msgstr "Välj det block som har den jämnaste toppytan." msgid "Please choose a block with smoothest top surface." -msgstr "" +msgstr "Välj det block som har den jämnaste toppytan." msgid "Please input a valid value (0 <= Max Volumetric Speed <= 60)" -msgstr "" +msgstr "Ange ett giltigt värde (0 <= Max volym hastighet <= 60)" msgid "Calibration Type" -msgstr "" +msgstr "Typ av kalibrering" msgid "Complete Calibration" -msgstr "" +msgstr "Fullständig kalibrering" msgid "Fine Calibration based on flow ratio" -msgstr "" +msgstr "Fin kalibrering baserad på flödesförhållande" msgid "Title" -msgstr "" +msgstr "Titel" msgid "" "A test model will be printed. Please clear the build plate and place it back " "to the hot bed before calibration." msgstr "" +"En testmodell kommer att skrivas ut. Ta bort byggplattan och placera " +"tillbaka den på bädden före kalibrering." msgid "Printing Parameters" -msgstr "" +msgstr "Parametrar för utskrift" msgid "Plate Type" msgstr "Typ av byggplatta" msgid "filament position" -msgstr "" +msgstr "Filament position" msgid "External Spool" -msgstr "" +msgstr "Extern spole" msgid "Filament For Calibration" -msgstr "" +msgstr "Filament för kalibrering" 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 "" +"Tips för kalibreringsmaterial:\n" +"- Material som kan ha samma temperatur på den varma bädden\n" +"- Olika filament märken och -familjer (märke = Bambu, familj = Basic, Matte, " +"etc.)" msgid "Pattern" -msgstr "" +msgstr "Mönster" msgid "Method" -msgstr "" +msgstr "Metod" #, c-format, boost-format msgid "%s is not compatible with %s" -msgstr "" +msgstr "%s är inte kompatibel med %s" msgid "TPU is not supported for Flow Dynamics Auto-Calibration." -msgstr "" +msgstr "TPU stöds inte för automatisk kalibrering av flödesdynamik." msgid "Connecting to printer" -msgstr "" +msgstr "Ansluter till skrivaren" msgid "From k Value" -msgstr "" +msgstr "Från k Värde" msgid "To k Value" -msgstr "" +msgstr "Till k Värde" msgid "Step value" msgstr "" msgid "The nozzle diameter has been synchronized from the printer Settings" -msgstr "" +msgstr "Nozzle diametern har synkroniserats från printer inställningarna." msgid "From Volumetric Speed" -msgstr "" +msgstr "Från volymetrisk hastighet" msgid "To Volumetric Speed" -msgstr "" +msgstr "Till volymetrisk hastighet" msgid "Flow Dynamics Calibration Result" -msgstr "" +msgstr "Resultat för kalibrering av flödesdynamik" msgid "New" -msgstr "" +msgstr "New" msgid "No History Result" -msgstr "" +msgstr "Inget historikresultat" msgid "Success to get history result" -msgstr "" +msgstr "Lyckades med att få historiskt resultat" msgid "Refreshing the historical Flow Dynamics Calibration records" -msgstr "" +msgstr "Uppdatering av tidigare kalibreringsposter för flödesdynamik" msgid "Action" -msgstr "" +msgstr "Åtgärd" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "" +msgstr "This machine type can only hold %d historical results per nozzle." msgid "Edit Flow Dynamics Calibration" -msgstr "" +msgstr "Redigera kalibrering av flödesdynamik" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "New Flow Dynamic Calibration" msgid "Ok" -msgstr "" +msgstr "Ok" msgid "The filament must be selected." -msgstr "" +msgstr "The filament must be selected." msgid "Network lookup" -msgstr "" +msgstr "Nätverks sökning" msgid "Address" -msgstr "" +msgstr "Address" msgid "Hostname" -msgstr "" +msgstr "Värdnamn" msgid "Service name" -msgstr "" +msgstr "Tjänstens namn" msgid "OctoPrint version" -msgstr "" +msgstr "OctoPrint version" msgid "Searching for devices" -msgstr "" +msgstr "Söker efter enheter" msgid "Finished" msgstr "Färdig" @@ -13628,37 +13987,37 @@ msgid "" msgstr "" msgid "PA Calibration" -msgstr "" +msgstr "PA kalibrering" msgid "DDE" msgstr "" msgid "Bowden" -msgstr "" +msgstr "Bowden" msgid "Extruder type" msgstr "" msgid "PA Tower" -msgstr "" +msgstr "PA torn" msgid "PA Line" -msgstr "" +msgstr "PA linje" msgid "PA Pattern" -msgstr "" +msgstr "PA mönster" msgid "Start PA: " -msgstr "" +msgstr "Starta PA: " msgid "End PA: " -msgstr "" +msgstr "Slut PA: " msgid "PA step: " -msgstr "" +msgstr "PA steg: " msgid "Print numbers" -msgstr "" +msgstr "Skriv ut nummer" msgid "" "Please input valid values:\n" @@ -13666,39 +14025,43 @@ msgid "" "End PA: > Start PA\n" "PA step: >= 0.001)" msgstr "" +"Vänligen ange giltiga värden:\n" +"Start PA: >= 0.0\n" +"Slut PA: > Start PA\n" +"PA steg: >= 0.001)" msgid "Temperature calibration" -msgstr "" +msgstr "Kalibrering av temperatur" msgid "PLA" -msgstr "" +msgstr "PLA" msgid "ABS/ASA" -msgstr "" +msgstr "ABS/ASA" msgid "PETG" -msgstr "" +msgstr "PETG" msgid "TPU" -msgstr "" +msgstr "TPU" msgid "PA-CF" -msgstr "" +msgstr "PA-CF" msgid "PET-CF" -msgstr "" +msgstr "PET-CF" msgid "Filament type" -msgstr "" +msgstr "Filament typ" msgid "Start temp: " -msgstr "" +msgstr "Start temp: " msgid "End temp: " -msgstr "" +msgstr "Slut temp: " msgid "Temp step: " -msgstr "" +msgstr "Temp steg: " msgid "" "Please input valid values:\n" @@ -13708,16 +14071,16 @@ msgid "" msgstr "" msgid "Max volumetric speed test" -msgstr "" +msgstr "Max volymetrisk hastighets test" msgid "Start volumetric speed: " -msgstr "" +msgstr "Start volymetrisk hastighet: " msgid "End volumetric speed: " -msgstr "" +msgstr "Slut volymetrisk hastighet: " msgid "step: " -msgstr "" +msgstr "steg: " msgid "" "Please input valid values:\n" @@ -13727,13 +14090,13 @@ msgid "" msgstr "" msgid "VFA test" -msgstr "" +msgstr "VFA test" msgid "Start speed: " -msgstr "" +msgstr "Start hastighet: " msgid "End speed: " -msgstr "" +msgstr "Sluthastighet: " msgid "" "Please input valid values:\n" @@ -13743,129 +14106,129 @@ msgid "" msgstr "" msgid "Start retraction length: " -msgstr "" +msgstr "Starta retraktion längd: " msgid "End retraction length: " -msgstr "" +msgstr "Slutets indragnings längd: " msgid "mm/mm" -msgstr "" +msgstr "mm/mm" msgid "Send G-Code to printer host" msgstr "" msgid "Upload to Printer Host with the following filename:" -msgstr "" +msgstr "Ladda upp till Printer Host med följande filnamn:" msgid "Use forward slashes ( / ) as a directory separator if needed." -msgstr "" +msgstr "Använd snedstreck ( / ) som katalog avgränsare om det behövs." msgid "Upload to storage" msgstr "" #, c-format, boost-format msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?" -msgstr "" +msgstr "Filnamnet slutar inte med \"%s\". Vill du fortsätta?" msgid "Upload" -msgstr "" +msgstr "Ladda upp" msgid "Print host upload queue" -msgstr "" +msgstr "Utskriftsvärdens uppladdnings kö" msgid "ID" -msgstr "" +msgstr "ID" msgid "Progress" -msgstr "" +msgstr "Förlopp" msgid "Host" -msgstr "" +msgstr "Värd" msgctxt "OfFile" msgid "Size" -msgstr "" +msgstr "Storlek" msgid "Filename" -msgstr "" +msgstr "Filnamn" msgid "Cancel selected" -msgstr "" +msgstr "Avbryt vald" msgid "Show error message" -msgstr "" +msgstr "Visa felmeddelande" msgid "Enqueued" -msgstr "" +msgstr "I kö" msgid "Uploading" msgstr "Laddar upp" msgid "Cancelling" -msgstr "" +msgstr "Avbryter" msgid "Error uploading to print host" msgstr "" msgid "Unable to perform boolean operation on selected parts" -msgstr "" +msgstr "Kan inte utföra boolean operationer på valda delar" msgid "Mesh Boolean" -msgstr "" +msgstr "Mesh Boolean" msgid "Union" -msgstr "" +msgstr "Union" msgid "Difference" -msgstr "" +msgstr "Skillnad" msgid "Intersection" -msgstr "" +msgstr "Korsning" msgid "Source Volume" -msgstr "" +msgstr "Source Volym" msgid "Tool Volume" -msgstr "" +msgstr "Verktygets volym" msgid "Subtract from" -msgstr "" +msgstr "Subtrahera från" msgid "Subtract with" -msgstr "" +msgstr "Subtrahera med" msgid "selected" -msgstr "" +msgstr "vald" msgid "Part 1" -msgstr "" +msgstr "Del 1" msgid "Part 2" -msgstr "" +msgstr "Del 2" msgid "Delete input" -msgstr "" +msgstr "Ta bort inmatning" msgid "Network Test" -msgstr "" +msgstr "Nätverkstest" msgid "Start Test Multi-Thread" -msgstr "" +msgstr "Börja testa flera trådar" msgid "Start Test Single-Thread" -msgstr "" +msgstr "Starta testet med en tråd" msgid "Export Log" -msgstr "" +msgstr "Exportera logg" msgid "OrcaSlicer Version:" msgstr "" msgid "System Version:" -msgstr "" +msgstr "Systemversion:" msgid "DNS Server:" -msgstr "" +msgstr "DNS server:" msgid "Test OrcaSlicer(GitHub)" msgstr "" @@ -13874,92 +14237,98 @@ msgid "Test OrcaSlicer(GitHub):" msgstr "" msgid "Test Bing.com" -msgstr "" +msgstr "Test Bing.com" msgid "Test bing.com:" -msgstr "" +msgstr "Test bing.com:" msgid "Log Info" -msgstr "" +msgstr "Info om logg" msgid "Select filament preset" -msgstr "" +msgstr "Välj filament inställning" msgid "Create Filament" -msgstr "" +msgstr "Skapa filament" msgid "Create Based on Current Filament" -msgstr "" +msgstr "Skapa baserat på aktuellt filament" msgid "Copy Current Filament Preset " -msgstr "" +msgstr "Kopiera aktuell filament inställning " msgid "Basic Information" -msgstr "" +msgstr "Grundläggande information" msgid "Add Filament Preset under this filament" -msgstr "" +msgstr "Lägg till filament inställningar för detta filament" msgid "We could create the filament presets for your following printer:" -msgstr "" +msgstr "Vi kan skapa filament inställningar för följande printer:" msgid "Select Vendor" -msgstr "" +msgstr "Välj leverantör" msgid "Input Custom Vendor" -msgstr "" +msgstr "Ange anpassad leverantör" msgid "Can't find vendor I want" -msgstr "" +msgstr "Kan inte hitta den leverantör jag vill ha" msgid "Select Type" -msgstr "" +msgstr "Välj typ" msgid "Select Filament Preset" -msgstr "" +msgstr "Välj filament inställning" msgid "Serial" -msgstr "" +msgstr "Serienummer" msgid "e.g. Basic, Matte, Silk, Marble" -msgstr "" +msgstr "t.ex. Basic, Matt, Silke, Marmor" msgid "Filament Preset" -msgstr "" +msgstr "Filament inställning" msgid "Create" -msgstr "" +msgstr "Skapa" msgid "Vendor is not selected, please reselect vendor." -msgstr "" +msgstr "Vendor is not selected; please reselect vendor." msgid "Custom vendor is not input, please input custom vendor." -msgstr "" +msgstr "Custom vendor missing; please input custom vendor." msgid "" "\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." msgstr "" +"\"Bambu\" eller \"Generic\" kan inte användas som leverantör för anpassade " +"filament." msgid "Filament type is not selected, please reselect type." -msgstr "" +msgstr "Filament typ är inte vald, vänligen välj typ igen." msgid "Filament serial is not inputed, please input serial." -msgstr "" +msgstr "Filament serial missing; please input serial." msgid "" "There may be escape characters in the vendor or serial input of filament. " "Please delete and re-enter." msgstr "" +"There may be disallowed characters in the vendor or serial input of the " +"filament. Please delete and re-enter." msgid "All inputs in the custom vendor or serial are spaces. Please re-enter." msgstr "" +"Alla inmatningar i den anpassade leverantören eller serien är mellanslag. " +"Vänligen ange på nytt." msgid "The vendor can not be a number. Please re-enter." -msgstr "" +msgstr "The vendor can not be a number; please re-enter." msgid "" "You have not selected a printer or preset yet. Please select at least one." -msgstr "" +msgstr "Du har ännu inte valt någon printer eller inställning. Välj minst en." #, c-format, boost-format msgid "" @@ -13967,14 +14336,19 @@ msgid "" "If you continue creating, the preset created will be displayed with its full " "name. Do you want to continue?" msgstr "" +"Filamentnamnet %s som du skapade finns redan. \n" +"Om du fortsätter kommer den skapade inställningen att visas med sitt " +"fullständiga namn. Vill du fortsätta?" msgid "Some existing presets have failed to be created, as follows:\n" -msgstr "" +msgstr "Vissa befintliga inställningar har inte skapats, enligt följande:\n" msgid "" "\n" "Do you want to rewrite it?" msgstr "" +"\n" +"Vill du skriva om det?" msgid "" "We would rename the presets as \"Vendor Type Serial @printer you selected" @@ -13983,46 +14357,46 @@ msgid "" msgstr "" msgid "Create Printer/Nozzle" -msgstr "" +msgstr "Skapa Printer/Nozzel" msgid "Create Printer" -msgstr "" +msgstr "Skapa printer" msgid "Create Nozzle for Existing Printer" -msgstr "" +msgstr "Skapa nozzel för befintlig skrivare" msgid "Create from Template" -msgstr "" +msgstr "Skapa från mall" msgid "Create Based on Current Printer" -msgstr "" +msgstr "Skapa baserat på aktuell printer" msgid "Import Preset" -msgstr "" +msgstr "Importera inställning" msgid "Create Type" -msgstr "" +msgstr "Skapa typ" msgid "The model is not fond, place reselect vendor." -msgstr "" +msgstr "The model was not found; please reselect vendor." msgid "Select Model" -msgstr "" +msgstr "Välj modell" msgid "Select Printer" -msgstr "" +msgstr "Välj Printer" msgid "Input Custom Model" -msgstr "" +msgstr "Mata in anpassad modell" msgid "Can't find my printer model" -msgstr "" +msgstr "Kan inte hitta min printer modell" msgid "Rectangle" -msgstr "" +msgstr "Rektangel" msgid "Printable Space" -msgstr "" +msgstr "Utskriftsbar yta" msgid "X" msgstr "" @@ -14031,66 +14405,70 @@ msgid "Y" msgstr "" msgid "Hot Bed STL" -msgstr "" +msgstr "Värmeplatta STL" msgid "Load stl" -msgstr "" +msgstr "Ladda stl" msgid "Hot Bed SVG" -msgstr "" +msgstr "Värmeplatta SVG" msgid "Load svg" -msgstr "" +msgstr "Ladda svg" msgid "Max Print Height" -msgstr "" +msgstr "Max utskriftshöjd" #, c-format, boost-format msgid "The file exceeds %d MB, please import again." -msgstr "" +msgstr "Filen överstiger %d MB, vänligen importera igen." msgid "Exception in obtaining file size, please import again." -msgstr "" +msgstr "Undantag vid erhållande av filstorlek, vänligen importera igen." msgid "Preset path is not find, please reselect vendor." -msgstr "" +msgstr "Inställd sökväg hittades inte; vänligen välj leverantör igen." msgid "The printer model was not found, please reselect." -msgstr "" +msgstr "Printer modellen hittades inte, välj igen." msgid "The nozzle diameter is not fond, place reselect." -msgstr "" +msgstr "The nozzle diameter was not found; please reselect." msgid "The printer preset is not fond, place reselect." -msgstr "" +msgstr "The printer preset was not found; please reselect." msgid "Printer Preset" -msgstr "" +msgstr "Printer inställningar" msgid "Filament Preset Template" -msgstr "" +msgstr "Filament inställnings mall" msgid "Deselect All" -msgstr "" +msgstr "Avmarkera alla" msgid "Process Preset Template" -msgstr "" +msgstr "Mall för process inställning" msgid "Back Page 1" -msgstr "" +msgstr "Tillbaka Sida 1" msgid "" "You have not yet chosen which printer preset to create based on. Please " "choose the vendor and model of the printer" msgstr "" +"Du har ännu inte valt vilken printer inställning du vill skapa baserat på. " +"Välj leverantör och modell för printern" msgid "" "You have entered an illegal input in the printable area section on the first " "page. Please check before creating it." msgstr "" +"Du har angett ett otillåtet tecken i det utskrivbara området på första " +"sidan. Använd endast siffror." msgid "The custom printer or model is not inputed, place input." -msgstr "" +msgstr "The custom printer or model missing; please input." msgid "" "The printer preset you created already has a preset with the same name. Do " @@ -14101,60 +14479,75 @@ msgid "" "reserve.\n" "\tCancel: Do not create a preset, return to the creation interface." msgstr "" +"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 " +"reserved.\n" +"\tCancel: Do not create a preset; return to the creation interface." msgid "You need to select at least one filament preset." -msgstr "" +msgstr "Du måste välja minst en inställning för filament." msgid "You need to select at least one process preset." -msgstr "" +msgstr "Du måste välja minst en process inställning." msgid "Create filament presets failed. As follows:\n" -msgstr "" +msgstr "Skapa inställningar för filament misslyckades. Enligt följande:\n" msgid "Create process presets failed. As follows:\n" -msgstr "" +msgstr "Skapa process inställningar misslyckades. Enligt följande:\n" msgid "Vendor is not find, please reselect." -msgstr "" +msgstr "Leverantören hittades inte; välj igen." msgid "Current vendor has no models, please reselect." -msgstr "" +msgstr "Nuvarande leverantör har inga modeller, vänligen välj om." msgid "" "You have not selected the vendor and model or inputed the custom vendor and " "model." msgstr "" +"Du har inte valt leverantör och modell eller angett anpassad leverantör och " +"modell." msgid "" "There may be escape characters in the custom printer vendor or model. Please " "delete and re-enter." msgstr "" +"Det kan finnas escape tecken i den anpassade printerns leverantör eller " +"modell. Vänligen radera och ange igen." msgid "" "All inputs in the custom printer vendor or model are spaces. Please re-enter." msgstr "" +"Alla inmatningar i den anpassade printer leverantören eller modellen är " +"mellanslag. Vänligen ange på nytt." msgid "Please check bed printable shape and origin input." -msgstr "" +msgstr "Kontrollera byggplattans utskrivbara form och ursprungs inmatning." msgid "" "You have not yet selected the printer to replace the nozzle, please choose." msgstr "" +"Du har ännu inte valt vilken printer som nozzeln ska bytas ut på; välj en " +"printer." msgid "Create Printer Successful" -msgstr "" +msgstr "Skapa Printer lyckades" msgid "Create Filament Successful" -msgstr "" +msgstr "Filament Created Successfully" msgid "Printer Created" -msgstr "" +msgstr "Printer skapad" msgid "Please go to printer settings to edit your presets" -msgstr "" +msgstr "Gå till printer inställningar för att redigera dina inställningar" msgid "Filament Created" -msgstr "" +msgstr "Filament skapad" msgid "" "Please go to filament setting to edit your presets if you need.\n" @@ -14162,6 +14555,11 @@ msgid "" "volumetric speed has a significant impact on printing quality. Please set " "them carefully." msgstr "" +"Gå till filament inställningar för att redigera dina inställningar om du " +"behöver.\n" +"Observera att nozzel temperatur, värmebädds temperatur och maximal " +"volymhastighet alla har en betydande inverkan på utskriftskvaliteten. Ställ " +"in dem noggrant." msgid "" "\n" @@ -14173,7 +14571,7 @@ msgid "" msgstr "" msgid "Printer Setting" -msgstr "" +msgstr "Printer inställningar" msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -14182,31 +14580,31 @@ msgid "Filament bundle(.orca_filament)" msgstr "" msgid "Printer presets(.zip)" -msgstr "" +msgstr "Printer inställningar(.zip)" msgid "Filament presets(.zip)" -msgstr "" +msgstr "Filament inställningar (.zip)" msgid "Process presets(.zip)" -msgstr "" +msgstr "Process inställningar(.zip)" msgid "initialize fail" -msgstr "" +msgstr "initialisering misslyckad" msgid "add file fail" -msgstr "" +msgstr "lägg till fil misslyckas" msgid "add bundle structure file fail" -msgstr "" +msgstr "lägg till filstrukturs paket misslyckades" msgid "finalize fail" -msgstr "" +msgstr "slutför misslyckande" msgid "open zip written fail" -msgstr "" +msgstr "öppna zip skripten misslyckades" msgid "Export successful" -msgstr "" +msgstr "Export lyckades" #, c-format, boost-format msgid "" @@ -14215,6 +14613,10 @@ msgid "" "If not, a time suffix will be added, and you can modify the name after " "creation." msgstr "" +"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." msgid "" "Printer and all the filament&&process presets that belongs to the printer. \n" @@ -14225,54 +14627,68 @@ msgid "" "User's fillment preset set. \n" "Can be shared with others." msgstr "" +"Användarens inställning för filament. \n" +"Kan delas med andra." msgid "" "Only display printer names with changes to printer, filament, and process " "presets." msgstr "" +"Endast printer med ändringar av inställningar för printer, filament och " +"process visas." msgid "Only display the filament names with changes to filament presets." -msgstr "" +msgstr "Visa endast filament namnen vid ändringar av filament inställningar." msgid "" "Only printer names with user printer presets will be displayed, and each " "preset you choose will be exported as a zip." msgstr "" +"Endast printer namn med inställningar för printer visas, och varje " +"inställning du väljer exporteras som zip-fil." 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 "" +"Endast filament namn med inställningar för användar filament visas, \n" +"och alla inställningar för användar filament i varje filament namn du väljer " +"exporteras som en zip-fil." 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 "" +"Endast printer namn med ändrade process inställningar visas, \n" +"och alla användarprocess inställningar i varje printer namn som du väljer " +"exporteras som zip-fil." msgid "Please select at least one printer or filament." -msgstr "" +msgstr "Välj minst en printer eller ett filament." msgid "Please select a type you want to export" -msgstr "" +msgstr "Välj en inställningstyp som du vill exportera" msgid "Failed to create temporary folder, please try Export Configs again." -msgstr "" +msgstr "Failed to create temporary folder, please try Export Configs again." msgid "Edit Filament" -msgstr "" +msgstr "Redigera filament" msgid "Filament presets under this filament" -msgstr "" +msgstr "Filament inställningar för detta filament" msgid "" "Note: If the only preset under this filament is deleted, the filament will " "be deleted after exiting the dialog." msgstr "" +"Observera: Om den enda inställningen under detta filament raderas, kommer " +"filamentet att raderas efter att dialogen har avslutats." msgid "Presets inherited by other presets can not be deleted" -msgstr "" +msgstr "Inställningar som ärvts av andra inställningar kan inte raderas" msgid "The following presets inherits this preset." msgid_plural "The following preset inherits this preset." @@ -14280,190 +14696,207 @@ msgstr[0] "" msgstr[1] "" msgid "Delete Preset" -msgstr "" +msgstr "Ta bort inställning" msgid "Are you sure to delete the selected preset?" -msgstr "" +msgstr "Är du säker på att du vill radera den valda inställningen?" msgid "Delete preset" -msgstr "" +msgstr "Ta bort inställning" msgid "+ Add Preset" -msgstr "" +msgstr "+ Lägg till inställning" msgid "Delete Filament" -msgstr "" +msgstr "Ta bort filament" 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 "" +"Alla filament inställningar som hör till detta filament kommer att " +"raderas. \n" +"Om du använder detta filament i din printer, vänligen återställ filament " +"informationen för den platsen." msgid "Delete filament" -msgstr "" +msgstr "Ta bort filament" msgid "Add Preset" -msgstr "" +msgstr "Lägg till inställning" msgid "Add preset for new printer" -msgstr "" +msgstr "Lägg till inställningar för ny skrivare" msgid "Copy preset from filament" -msgstr "" +msgstr "Kopiera inställning från filament" msgid "The filament choice not find filament preset, please reselect it" -msgstr "" +msgstr "Filament valet hittar inte filament inställningen, välj det igen" msgid "[Delete Required]" -msgstr "" +msgstr "[Radera krävs]" msgid "Edit Preset" -msgstr "" +msgstr "Redigera inställningar" msgid "For more information, please check out Wiki" -msgstr "" +msgstr "For more information, please check out our Wiki" msgid "Collapse" -msgstr "" +msgstr "Komprimera" msgid "Daily Tips" -msgstr "" +msgstr "Dagliga tips" msgid "" "Your nozzle diameter in preset is not consistent with memorized nozzle " "diameter. Did you change your nozzle lately?" msgstr "" +"Your nozzle diameter in preset is not consistent with the saved nozzle " +"diameter. Have you changed your nozzle?" #, c-format, boost-format msgid "*Printing %s material with %s may cause nozzle damage" -msgstr "" +msgstr "*Utskrift av %s material med %s kan orsaka skador på nozzeln" msgid "Need select printer" -msgstr "" +msgstr "Välj printer" msgid "The start, end or step is not valid value." -msgstr "" +msgstr "Start, slut eller steg är inte giltigt värde." msgid "" "Unable to calibrate: maybe because the set calibration value range is too " "large, or the step is too small" msgstr "" +"Går inte att kalibrera: kan bero på att det inställda kalibreringsvärdet är " +"för stort, eller att steget är för litet" msgid "Physical Printer" -msgstr "" +msgstr "Fysisk printer" msgid "Print Host upload" -msgstr "" +msgstr "Uppladdning utskriftsvärd" msgid "Could not get a valid Printer Host reference" -msgstr "" +msgstr "Det gick inte att hämta en giltig printer värdreferens" msgid "Success!" -msgstr "" +msgstr "Lyckades!" msgid "Are you sure to log out?" msgstr "" msgid "Refresh Printers" -msgstr "" +msgstr "Uppdatera skrivare" msgid "" "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" "signed certificate." msgstr "" +"HTTPS CA-filen är valfri. Den behövs bara om du använder HTTPS med ett " +"självsignerat certifikat." msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "" +msgstr "Certifikatfiler (*.crt, *.pem)|*.crt;*.pem|Alla filer|*.*" msgid "Open CA certificate file" -msgstr "" +msgstr "Öppna CA-certifikatfilen" #, c-format, boost-format msgid "" "On this system, %s uses HTTPS certificates from the system Certificate Store " "or Keychain." msgstr "" +"På det här systemet använder %s HTTPS-certifikat från systemets " +"Certifikatarkiv eller Keyring." msgid "" "To use a custom CA file, please import your CA file into Certificate Store / " "Keychain." msgstr "" +"Om du vill använda en anpassad CA-fil importerar du CA-filen till " +"Certificate Store/Keychain." msgid "Login/Test" msgstr "" msgid "Connection to printers connected via the print host failed." msgstr "" +"Anslutningen till printrar som är anslutna via printer värden misslyckades." #, c-format, boost-format msgid "Mismatched type of print host: %s" -msgstr "" +msgstr "Felaktig typ av utskriftsvärd: %s" msgid "Connection to AstroBox works correctly." -msgstr "" +msgstr "Connection to AstroBox is working correctly." msgid "Could not connect to AstroBox" -msgstr "" +msgstr "Kunde inte ansluta till AstroBox" msgid "Note: AstroBox version at least 1.1.0 is required." -msgstr "" +msgstr "Note: AstroBox version 1.1.0 or higher is required." msgid "Connection to Duet works correctly." -msgstr "" +msgstr "Connection to Duet is working correctly." msgid "Could not connect to Duet" -msgstr "" +msgstr "Kunde inte ansluta till Duet" msgid "Unknown error occured" -msgstr "" +msgstr "Okänt fel uppstod" msgid "Wrong password" -msgstr "" +msgstr "Fel lösenord" msgid "Could not get resources to create a new connection" -msgstr "" +msgstr "Det gick inte att hämta resurser för att skapa en ny anslutning" msgid "Upload not enabled on FlashAir card." -msgstr "" +msgstr "Uppladdning inte aktiverad på FlashAir kort." msgid "Connection to FlashAir works correctly and upload is enabled." -msgstr "" +msgstr "Connection to FlashAir is working correctly and upload is enabled." msgid "Could not connect to FlashAir" -msgstr "" +msgstr "Kunde inte ansluta till FlashAir" msgid "" "Note: FlashAir with firmware 2.00.02 or newer and activated upload function " "is required." msgstr "" +"Obs: FlashAir med firmware 2.00.02 eller nyare och aktiverad " +"uppladdningsfunktion krävs." msgid "Connection to MKS works correctly." -msgstr "" +msgstr "Connection to MKS is working correctly." msgid "Could not connect to MKS" -msgstr "" +msgstr "Kunde inte ansluta till MKS" msgid "Connection to OctoPrint works correctly." -msgstr "" +msgstr "Connection to OctoPrint is working correctly." msgid "Could not connect to OctoPrint" -msgstr "" +msgstr "Kunde inte ansluta till OctoPrint" msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "" +msgstr "Note: OctoPrint version 1.1.0 or higher is required." msgid "Connection to Prusa SL1 / SL1S works correctly." -msgstr "" +msgstr "Connection to Prusa SL1 / SL1S is working correctly." msgid "Could not connect to Prusa SLA" -msgstr "" +msgstr "Kunde inte ansluta till Prusa SLA" msgid "Connection to PrusaLink works correctly." -msgstr "" +msgstr "Connection to PrusaLink is working correctly." msgid "Could not connect to PrusaLink" -msgstr "" +msgstr "Kunde inte ansluta till PrusaLink" msgid "Storages found" msgstr "" @@ -14490,19 +14923,21 @@ msgid "Could not connect to Prusa Connect" msgstr "" msgid "Connection to Repetier works correctly." -msgstr "" +msgstr "Connection to Repetier is working correctly." msgid "Could not connect to Repetier" -msgstr "" +msgstr "Kunde inte ansluta till Repetier" msgid "Note: Repetier version at least 0.90.0 is required." -msgstr "" +msgstr "Note: Repetier version 0.90.0 or higher is required." #, boost-format msgid "" "HTTP status: %1%\n" "Message body: \"%2%\"" msgstr "" +"HTTP-status: %1%\n" +"Meddelandets kropp: \"%2%\"" #, boost-format msgid "" @@ -14510,6 +14945,9 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"Parsning av värdsvaret misslyckades.\n" +"Meddelandetext: \"%1%\"\n" +"Fel: \"%2%\"" #, boost-format msgid "" @@ -14517,35 +14955,51 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"Uppräkning av värdprintern misslyckades.\n" +"Meddelandets huvuddel: \"%1%\"\n" +"Felmeddelande: \"%2%\"" msgid "" "It has a small layer height, and results in almost negligible layer lines " "and high printing quality. It is suitable for most general printing cases." msgstr "" +"It has a small layer height, and results in almost negligible layer lines " +"and high print quality. It is suitable for most general printing cases." 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. So, it results in " "much higher printing quality, but a much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" +"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 longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " "height, and results in slightly visible layer lines, but shorter printing " "time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " "height, and results in almost invisible layer lines and higher printing " "quality, but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14553,12 +15007,19 @@ msgid "" "Gyroid. So, it results in almost invisible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " "height, and results in minimal layer lines and higher printing quality, but " "shorter printing time." msgstr "" +"Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " +"height. This results in minimal layer lines and higher print quality but " +"longer print time." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14566,35 +15027,53 @@ msgid "" "Gyroid. So, it results in minimal layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "It has a general layer height, and results in general layer lines and " "printing quality. It is suitable for most general printing cases." msgstr "" +"It has a normal layer height, and results in average layer lines and print " +"quality. It is suitable for most printing cases." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but slightly shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14602,12 +15081,19 @@ msgid "" "Gyroid. So, it results in less apparent layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14615,64 +15101,95 @@ msgid "" "Gyroid. So, it results in almost negligible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and longer printing " "time." msgstr "" +"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." msgid "" "It has a big layer height, and results in apparent layer lines and ordinary " "printing quality and printing time." msgstr "" +"It has a big layer height, and results in apparent layer lines and ordinary " +"printing quality and printing time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in much more apparent layer lines and much lower " "printing quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and slight higher printing " "quality, but longer printing time." msgstr "" +"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 slightly higher print " +"quality but longer print time." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"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." msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" +"It has a very big layer height, and results in very apparent layer lines, " +"low print quality and shorter printing time." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " "height, and results in very apparent layer lines and much lower printing " "quality, but shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " "layer height, and results in extremely apparent layer lines and much lower " "printing quality, but much shorter printing time in some printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -14680,12 +15197,18 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" +"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." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " "height, and results in less but still apparent layer lines and slightly " "higher printing quality, but longer printing time in some printing cases." msgstr "" +"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." msgid "Connected to Obico successfully!" msgstr "" @@ -14811,6 +15334,9 @@ msgid "" "Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " "problems on the Windows system?" msgstr "" +"Fixa modell\n" +"Visste du att du kan fixa en skadad 3D-modell för att undvika en hel del " +"berednings problem i Windows-systemet?" #: resources/data/hints.ini: [hint:Timelapse] msgid "" @@ -15050,6 +15576,10 @@ msgid "" "extruder/hotend clogging when printing lower temperature filament with a " "higher enclosure temperature. More info about this in the Wiki." msgstr "" +"När behöver du skriva ut med printer dörren öppen?\n" +"Visste du att en öppen printer dörr kan minska risken för igensättning av " +"extruder/hotend vid utskrift av filament med lägre temperatur och högre " +"kapslingstemperatur? Det finns mer information om detta i Wiki." #: resources/data/hints.ini: [hint:Avoid warping] msgid "" @@ -15058,6 +15588,13 @@ msgid "" "ABS, appropriately increasing the heatbed temperature can reduce the " "probability of warping." msgstr "" +"Undvik vridning\n" +"Visste du att när du skriver ut material som är benägna att vrida, såsom " +"ABS, kan en lämplig ökning av värmebäddens temperatur minska sannolikheten " +"för vridning." + +#~ msgid "V" +#~ msgstr "V" #~ msgid "Export &Configs" #~ msgstr "Exportera konfiguration" diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po index 516c58f5bdf..18376547c87 100644 --- a/localization/i18n/tr/OrcaSlicer_tr.po +++ b/localization/i18n/tr/OrcaSlicer_tr.po @@ -1,8 +1,9 @@ +# msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: 2024-05-02 19:55+0300\n" "Last-Translator: Olcay ÖREN\n" "Language-Team: \n" @@ -1384,9 +1385,6 @@ msgid "" "Configuration file \"%1%\" was loaded, but some values were not recognized." msgstr "\"%1%\" yapılandırma dosyası yüklendi ancak bazı değerler tanınamadı." -msgid "V" -msgstr "V" - 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." @@ -1496,6 +1494,9 @@ msgstr "" msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Bir veya daha fazla dosya seçin (3mf/step/stl/svg/obj/amf):" +msgid "Choose ZIP file" +msgstr "" + msgid "Choose one file (gcode/3mf):" msgstr "Bir dosya seçin (gcode/3mf):" @@ -1566,6 +1567,11 @@ msgstr "Devam eden yüklemeler" msgid "Select a G-code file:" msgstr "G kodu dosyası seçin:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Dosya İçe Aktar" @@ -3256,30 +3262,30 @@ msgid "Device" msgstr "Cihaz" msgid "Task Sending" -msgstr "" +msgstr "Görev Gönderme" msgid "Task Sent" -msgstr "" +msgstr "Görev Gönderildi" msgid "Edit multiple printers" -msgstr "" +msgstr "Birden fazla yazıcıyı düzenleme" msgid "Select connected printetrs (0/6)" -msgstr "" +msgstr "Bağlı yazıcıları seçin (0/6)" #, c-format, boost-format msgid "Select Connected Printetrs (%d/6)" -msgstr "" +msgstr "Bağlı Yazıcıları Seçin (%d/6)" #, c-format, boost-format msgid "The maximum number of printers that can be selected is %d" -msgstr "" +msgstr "Seçilebilecek maksimum yazıcı sayısı %d'dır" msgid "Offline" msgstr "Çevrimdışı" msgid "No task" -msgstr "" +msgstr "Görev yok" msgid "View" msgstr "Görünüm" @@ -3288,23 +3294,23 @@ msgid "N/A" msgstr "N/A" msgid "Edit Printers" -msgstr "" +msgstr "Yazıcıları Düzenle" msgid "Device Name" -msgstr "" +msgstr "Cihaz Adı" msgid "Task Name" -msgstr "" +msgstr "Görev Adı" msgid "Device Status" -msgstr "" +msgstr "Cihaz Durumu" msgid "Actions" -msgstr "" +msgstr "İşlemler" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" -msgstr "" +msgstr "Lütfen buradan yönetmek istediğiniz cihazları seçin (en fazla 6 cihaz)" msgid "Add" msgstr "Ekle" @@ -3370,22 +3376,22 @@ msgid "Stop" msgstr "Durdur" msgid "Task Status" -msgstr "" +msgstr "Görev durumu" msgid "Sent Time" -msgstr "" +msgstr "Gönderilen Zaman" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "Gönderilecek görev yok!" msgid "No historical tasks!" -msgstr "" +msgstr "Tarihi görevler yok!" msgid "Loading..." msgstr "Yükleniyor..." msgid "No AMS" -msgstr "" +msgstr "AMS Yok" msgid "Send to Multi-device" msgstr "Çoklu cihaza gönder" @@ -3397,28 +3403,37 @@ msgid "Abnormal print file data. Please slice again" msgstr "Anormal yazdırma dosyası verileri. Lütfen tekrar dilimleyin" msgid "There is no device available to send printing." -msgstr "" +msgstr "Baskı göndermek için kullanılabilir bir cihaz yok." msgid "The number of printers in use simultaneously cannot be equal to 0." -msgstr "" +msgstr "Aynı anda kullanımda olan yazıcı sayısı 0'a eşit olamaz." msgid "Use External Spool" -msgstr "" +msgstr "Harici Makara Kullanın" msgid "Use AMS" -msgstr "" +msgstr "AMS kullanın" msgid "Select Printers" -msgstr "" +msgstr "Yazıcıları Seçin" msgid "Ams Status" -msgstr "" +msgstr "Ams Durumu" msgid "Printing Options" +msgstr "Yazdırma Seçenekleri" + +msgid "Bed Leveling" +msgstr "Yatak Tesviyesi" + +msgid "Timelapse" +msgstr "Timelapse" + +msgid "Flow Dynamic Calibration" msgstr "" msgid "Send Options" -msgstr "" +msgstr "Gönderme Seçenekleri" msgid "Send" msgstr "Gönder" @@ -3427,13 +3442,17 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" +"aynı anda kaç yazıcının ısıtma işleminden geçebileceği, aynı anda " +"ısıtılabilecek cihaz sayısına bağlıdır." msgid "Wait" -msgstr "" +msgstr "Bekleyin" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" +"her parti başına dakika. (Isıtmanın tamamlanması ne kadar sürerse buna " +"bağlıdır.)" msgid "Name is invalid;" msgstr "Geçersiz isim;" @@ -4630,6 +4649,12 @@ msgstr "3MF/STL/STEP/SVG/OBJ/AMF'yi içe aktar" msgid "Load a model" msgstr "Model yükle" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Yapılandırmaları İçe Aktar" @@ -4664,7 +4689,7 @@ msgid "Export current plate as G-code" msgstr "Geçerli plakayı G kodu olarak dışa aktar" msgid "Export Preset Bundle" -msgstr "" +msgstr "Ön Ayar Paketini Dışa Aktar" msgid "Export current configuration to files" msgstr "Geçerli yapılandırmayı dosyalara aktar" @@ -5043,9 +5068,6 @@ msgstr "Dosyaları aya göre gruplandırın, en yenisi önce olsun." msgid "Show all files, recent first." msgstr "Tüm dosyaları göster, en yenisi önce." -msgid "Timelapse" -msgstr "Timelapse" - msgid "Switch to timelapse files." msgstr "Timelapse dosyalarına geç." @@ -5629,12 +5651,12 @@ msgstr[1] "%1$d nesne, kesme nesnesinin parçaları olarak yüklendi" msgid "ERROR" msgstr "HATA" -msgid "CANCELED" -msgstr "İPTAL EDİLDİ" - msgid "COMPLETED" msgstr "TAMAMLANDI" +msgid "CANCELED" +msgstr "İPTAL EDİLDİ" + msgid "Cancel upload" msgstr "Yüklemeyi iptal et" @@ -6244,6 +6266,20 @@ msgstr "geçerli gcode içermiyor." msgid "Error occurs while loading G-code file" msgstr "G kodu dosyası yüklenirken hata oluşuyor" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Proje dosyasını sürükle" @@ -6665,6 +6701,20 @@ msgstr "" "Etkinleştirilirse, OrcaSlicer'ı .step dosyalarını açmak için varsayılan " "uygulama olarak ayarlar" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Maksimum yeni proje" @@ -7028,9 +7078,6 @@ msgstr "Bambu Dokulu PEI Plaka" msgid "Send print job to" msgstr "Yazdırma işini şuraya gönder" -msgid "Bed Leveling" -msgstr "Yatak Tesviyesi" - msgid "Flow Dynamics Calibration" msgstr "Akış Dinamiği Kalibrasyonu" @@ -10882,7 +10929,7 @@ msgid "Lightning" msgstr "Yıldırım" msgid "Cross Hatch" -msgstr "" +msgstr "Çapraz Çizgi" msgid "Sparse infill anchor length" msgstr "Dolgu uzunluğu" @@ -13322,17 +13369,29 @@ msgstr "Silme kulesi temizleme hatları aralığı" msgid "Spacing of purge lines on the wipe tower." msgstr "Silme kulesindeki boşaltma hatlarının aralığı." -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -16391,6 +16450,9 @@ msgstr "" "sıcaklığının uygun şekilde arttırılmasının bükülme olasılığını " "azaltabileceğini biliyor muydunuz?" +#~ msgid "V" +#~ msgstr "V" + #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " #~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po index 3e5d5346ce1..c62c2a26f22 100644 --- a/localization/i18n/uk/OrcaSlicer_uk.po +++ b/localization/i18n/uk/OrcaSlicer_uk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: 2023-08-10 20:25-0400\n" "Last-Translator: \n" "Language-Team: \n" @@ -278,16 +278,16 @@ msgid "uniform scale" msgstr "єдина шкала" msgid "Planar" -msgstr "" +msgstr "Плоский" msgid "Dovetail" -msgstr "" +msgstr "Ластівчин хвіст" msgid "Auto" msgstr "Авто" msgid "Manual" -msgstr "" +msgstr "Manual" msgid "Plug" msgstr "Підключи" @@ -296,7 +296,7 @@ msgid "Dowel" msgstr "Дюбель" msgid "Snap" -msgstr "" +msgstr "Захоплення" msgid "Prism" msgstr "" @@ -311,7 +311,7 @@ msgid "Hexagon" msgstr "Шестикутник" msgid "Keep orientation" -msgstr "" +msgstr "Зберегти орієнтацію" msgid "Place on cut" msgstr "Помістити на зріз" @@ -335,19 +335,19 @@ msgstr "Форма" #. Size in emboss direction #. TRN - Input label. Be short as possible msgid "Depth" -msgstr "" +msgstr "Глибина" msgid "Groove" -msgstr "" +msgstr "Жолобок" msgid "Width" msgstr "Ширина" msgid "Flap Angle" -msgstr "" +msgstr "Кут клапана" msgid "Groove Angle" -msgstr "" +msgstr "Кут жолоба" msgid "Part" msgstr "Частина" @@ -370,7 +370,7 @@ msgid "Move cut plane" msgstr "" msgid "Mode" -msgstr "" +msgstr "Режим" msgid "Change cut mode" msgstr "" @@ -418,7 +418,7 @@ msgid "Remove connectors" msgstr "Видалити з’єднання" msgid "Bulge" -msgstr "" +msgstr "Виступ" msgid "Bulge proportion related to radius" msgstr "" @@ -530,6 +530,8 @@ msgstr "" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" msgstr "" +"неманіфольдні ребра можуть бути викликані інструментом різання, ви хочете " +"виправити це зараз?" msgid "Repairing model object" msgstr "Відновлення об'єкта моделі" @@ -626,13 +628,13 @@ msgid "Remove selection" msgstr "Видалити виділення" msgid "Entering Seam painting" -msgstr "" +msgstr "Entering seam painting" msgid "Leaving Seam painting" -msgstr "" +msgstr "Leaving Seam Painting" msgid "Paint-on seam editing" -msgstr "" +msgstr "Paint-on seam editing" #. TRN - Input label. Be short as possible #. Select look of letter shape @@ -771,7 +773,7 @@ msgstr "" msgctxt "EmbossOperation" msgid "Cut" -msgstr "" +msgstr "Вирізати" msgid "Click to change part type into negative volume." msgstr "" @@ -913,19 +915,19 @@ msgstr "" msgctxt "Alignment" msgid "Left" -msgstr "" +msgstr "Ліво" msgctxt "Alignment" msgid "Center" -msgstr "" +msgstr "Центр" msgctxt "Alignment" msgid "Right" -msgstr "" +msgstr "Право" msgctxt "Alignment" msgid "Top" -msgstr "" +msgstr "Верх" msgctxt "Alignment" msgid "Middle" @@ -933,7 +935,7 @@ msgstr "" msgctxt "Alignment" msgid "Bottom" -msgstr "" +msgstr "Ніз" msgid "Revert alignment." msgstr "" @@ -1245,43 +1247,43 @@ msgid "SVG file does NOT contain a single path to be embossed (%1%)." msgstr "" msgid "Vertex" -msgstr "" +msgstr "Вершина" msgid "Edge" -msgstr "" +msgstr "Ребро" msgid "Plane" msgstr "Площина" msgid "Point on edge" -msgstr "" +msgstr "Точка на краї" msgid "Point on circle" -msgstr "" +msgstr "Точка на колі" msgid "Point on plane" -msgstr "" +msgstr "Точка на площині" msgid "Center of edge" -msgstr "" +msgstr "Центр ребра" msgid "Center of circle" -msgstr "" +msgstr "Центр кола" msgid "ShiftLeft mouse button" msgstr "" msgid "Select feature" -msgstr "" +msgstr "Виберіть функцію" msgid "Select point" -msgstr "" +msgstr "Виберіть точку" msgid "Delete" msgstr "Видалити" msgid "Restart selection" -msgstr "" +msgstr "Перезапустити вибір" msgid "Esc" msgstr "Esc" @@ -1290,14 +1292,14 @@ msgid "Unselect" msgstr "" msgid "Measure" -msgstr "" +msgstr "Виміряти" msgid "Edit to scale" -msgstr "" +msgstr "Редагувати масштаб" msgctxt "Verb" msgid "Scale" -msgstr "" +msgstr "Масштаб" msgid "None" msgstr "Ні" @@ -1309,22 +1311,22 @@ msgid "Length" msgstr "Довжина" msgid "Selection" -msgstr "" +msgstr "Вибір" msgid "Copy to clipboard" msgstr "Копіювати в буфер обміну" msgid "Perpendicular distance" -msgstr "" +msgstr "Перпендикулярна відстань" msgid "Distance" -msgstr "" +msgstr "Відстань" msgid "Direct distance" -msgstr "" +msgstr "Пряма відстань" msgid "Distance XYZ" -msgstr "" +msgstr "Відстань XYZ" msgid "Ctrl+" msgstr "Ctrl+" @@ -1365,9 +1367,6 @@ msgstr "" "Файл конфігурації “%1%” був завантажений, але деякі значення не були " "розпізнані." -msgid "V" -msgstr "V" - 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." @@ -1463,10 +1462,14 @@ 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 "" + msgid "Choose one file (gcode/3mf):" msgstr "Виберіть один файл (gcode/3mf):" @@ -1503,9 +1506,12 @@ 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 "" +msgstr "Синхронізувати налаштування користувача" msgid "Loading user preset" msgstr "Завантаження користувацького пресета" @@ -1534,6 +1540,11 @@ msgstr "Поточні завантаження" msgid "Select a G-code file:" msgstr "Виберіть файл G-коду:" +msgid "" +"Could not start URL download. Destination folder is not set. Please choose " +"destination folder in Configuration Wizard." +msgstr "" + msgid "Import File" msgstr "Імпортувати файл" @@ -1668,10 +1679,10 @@ msgid "Cone" msgstr "Конус" msgid "Disc" -msgstr "" +msgstr "Диск" msgid "Torus" -msgstr "" +msgstr "Торус" msgid "Orca Cube" msgstr "Orca Куб" @@ -1718,10 +1729,10 @@ msgid "Set as individual objects" msgstr "Встановити як окремі об'єкти" msgid "Fill bed with copies" -msgstr "" +msgstr "Заповнити ліжко копіями" msgid "Fill the remaining area of bed with copies of the selected object" -msgstr "" +msgstr "Заповнити залишену частину ліжка копіями вибраного об’єкта" msgid "Printable" msgstr "Доступно для друку" @@ -1730,10 +1741,10 @@ msgid "Fix model" msgstr "Виправити модель" msgid "Export as one STL" -msgstr "" +msgstr "Експортувати як один файл STL" msgid "Export as STLs" -msgstr "" +msgstr "Експортувати як файли STL" msgid "Reload from disk" msgstr "Перезавантажити з диска" @@ -1806,10 +1817,10 @@ msgid "Assemble the selected objects to an object with single part" msgstr "Зберіть вибрані об'єкти в об'єкт з однією частиною" msgid "Mesh boolean" -msgstr "" +msgstr "Меш-булева операція" msgid "Mesh boolean operations including union and subtraction" -msgstr "" +msgstr "Меш-булеві операції, включаючи об’єднання та віднімання" msgid "Along X axis" msgstr "Вздовж осі X" @@ -1953,7 +1964,7 @@ msgid "Lock" msgstr "Заблокувати" msgid "Edit Plate Name" -msgstr "" +msgstr "Редагувати назву пластини" msgid "Name" msgstr "Ім'я" @@ -2018,7 +2029,7 @@ msgid "Error!" msgstr "Помилка!" msgid "Failed to get the model data in the current file." -msgstr "" +msgstr "Не вдалося отримати дані моделі в поточному файлі." msgid "Generic" msgstr "Загальний" @@ -2264,7 +2275,7 @@ msgid "Pause" msgstr "Пауза" msgid "Template" -msgstr "" +msgstr "Шаблон" msgid "Custom" msgstr "Стандартний" @@ -2339,22 +2350,22 @@ msgid "Failed to connect to the server" msgstr "Не вдалося підключитися до сервера" msgid "Check the status of current system services" -msgstr "" +msgstr "Перевірте стан поточних системних служб" msgid "code" -msgstr "" +msgstr "код" msgid "Failed to connect to cloud service" -msgstr "" +msgstr "Не вдалося підключитися до хмарної служби" msgid "Please click on the hyperlink above to view the cloud service status" -msgstr "" +msgstr "Клацніть гіперпосилання вище, щоб переглянути статус хмарної служби" msgid "Failed to connect to the printer" msgstr "Не вдалося підключитися до принтера" msgid "Connection to printer failed" -msgstr "" +msgstr "Помилка підключення до принтера" msgid "Please check the network connection of the printer and Orca." msgstr "" @@ -2366,7 +2377,7 @@ msgid "?" msgstr "?" msgid "/" -msgstr "" +msgstr "/" msgid "Empty" msgstr "Порожній" @@ -2375,13 +2386,13 @@ msgid "AMS" msgstr "AMS" msgid "Auto Refill" -msgstr "" +msgstr "Автоматична заміна" msgid "AMS not connected" msgstr "АМС не підключено" msgid "Load" -msgstr "" +msgstr "Завантажити" msgid "Unload" msgstr "Вивантаження" @@ -2412,7 +2423,7 @@ msgid "Cancel calibration" msgstr "Скасувати калібрування" msgid "Idling..." -msgstr "" +msgstr "Очікування…" msgid "Heat the nozzle" msgstr "Нагрійте сопло" @@ -2430,21 +2441,23 @@ msgid "Purge old filament" msgstr "Очистіть старий філамент" msgid "Feed Filament" -msgstr "" +msgstr "Подача нитки філаменту" msgid "Confirm extruded" -msgstr "" +msgstr "Підтвердити витіснення" msgid "Check filament location" -msgstr "" +msgstr "Перевірити розташування філаменту" msgid "Grab new filament" -msgstr "" +msgstr "Візьміть новий філамент" msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" +"Виберіть слот AMS, а потім натисніть кнопку “Завантажити” або “Вивантажити”, " +"щоб автоматично завантажити або вивантажити філаменти." msgid "Edit" msgstr "Редагувати" @@ -2525,13 +2538,13 @@ msgid "Orienting canceled." msgstr "" msgid "Filling" -msgstr "" +msgstr "Заповнення" msgid "Bed filling canceled." -msgstr "" +msgstr "Заповнення ліжка скасоване." msgid "Bed filling done." -msgstr "" +msgstr "Заповнення ліжка виконане." msgid "Searching for optimal orientation" msgstr "" @@ -2552,48 +2565,58 @@ msgid "Please check the printer network connection." msgstr "Будь ласка, перевірте підключення принтера до мережі." msgid "Abnormal print file data. Please slice again." -msgstr "" +msgstr "Аномальні дані для друку: будь ласка, переслайсьте знову." msgid "Task canceled." -msgstr "" +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 "" +msgstr "Файл для друку не знайдено. Будь ласка, переслідкуйте його знову." msgid "" "The print file exceeds the maximum allowable size (1GB). Please simplify the " "model and slice again." msgstr "" +"Розмір друкованого файлу перевищує максимально допустимий розмір (1 ГБ). " +"Будь ласка, спростіть модель і знову виконайте нарізку." msgid "Failed to send the print job. Please try again." msgstr "Не вдалося надіслати завдання на друк. Будь ласка, спробуйте ще раз." msgid "Failed to upload file to ftp. Please try again." -msgstr "" +msgstr "Не вдалося завантажити файл на FTP. Спробуйте ще раз." msgid "" "Check the current status of the bambu server by clicking on the link above." msgstr "" +"Перевірте поточний стан сервера Bambu Lab, натиснувши на посилання вище." 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 "Надсилання завдання на друк локальною мережею" @@ -2602,7 +2625,7 @@ msgid "Sending print job through cloud service" msgstr "Надсилання завдання на друк через хмарний сервіс" msgid "Print task sending times out." -msgstr "" +msgstr "Час відправлення завдання на друк закінчився." msgid "Service Unavailable" msgstr "Сервіс недоступний" @@ -2620,6 +2643,7 @@ msgstr "Успішно надіслано. Автоматично перейде #, c-format, boost-format msgid "Successfully sent. Will automatically jump to the next page in %ss" msgstr "" +"Успішно відправлено. Автоматично перейдеться на наступну сторінку через %s с" msgid "An SD card needs to be inserted before printing via LAN." msgstr "Перед друком через локальну мережу необхідно вставити картку SD." @@ -2782,10 +2806,10 @@ msgid "Setting AMS slot information while printing is not supported" msgstr "Встановлення інформації про слот AMS під час друку не підтримується" msgid "Factors of Flow Dynamics Calibration" -msgstr "" +msgstr "Фактори калібрування динаміки потоку" msgid "PA Profile" -msgstr "" +msgstr "Профіль PA" msgid "Factor K" msgstr "Фактор До" @@ -2804,10 +2828,10 @@ msgid "You need to select the material type and color first." msgstr "Спочатку потрібно вибрати тип матеріалу та колір." msgid "Please input a valid value (K in 0~0.3)" -msgstr "" +msgstr "Будь ласка, введіть дійсне значення (K від 0~0.3)" msgid "Please input a valid value (K in 0~0.3, N in 0.6~2.0)" -msgstr "" +msgstr "Будь ласка, введіть дійсне значення (K від 0~0.3, N від 0.6~2.0)" msgid "Other Color" msgstr "Інший колір" @@ -2915,7 +2939,7 @@ msgid "Print with the filament mounted on the back of chassis" msgstr "Друк із ниткою, встановленою на задній частині корпусу" msgid "Current Cabin humidity" -msgstr "" +msgstr "Поточна вологість у кабіні" msgid "" "Please change the desiccant when it is too wet. The indicator may not " @@ -2923,6 +2947,10 @@ msgid "" "desiccant pack is changed. it take hours to absorb the moisture, low " "temperatures also slow down the process." msgstr "" +"Будь ласка, змініть осушувач, коли він стає занадто вологим. Індикатор може " +"не відображати точно в наступних випадках: коли кришка відкрита або пакет з " +"осушувачем змінено. На поглинання вологи може знадобитися кілька годин, " +"низькі температури також сповільнюють процес." msgid "" "Config which AMS slot should be used for a filament used in the print job" @@ -2956,16 +2984,20 @@ msgid "" "When the current material run out, the printer will continue to print in the " "following order." msgstr "" +"Коли поточний матеріал закінчується, принтер буде продовжувати друк у " +"наступному порядку." msgid "Group" msgstr "Група" msgid "The printer does not currently support auto refill." -msgstr "" +msgstr "Принтер в даний момент не підтримує автоматичне поновлення." msgid "" "AMS filament backup is not enabled, please enable it in the AMS settings." msgstr "" +"Функція резервного копіювання філаменту в AMS вимкнена, будь ласка, " +"активуйте її у налаштуваннях Автоматичного поповнення." msgid "" "If there are two identical filaments in AMS, AMS filament backup will be " @@ -2973,12 +3005,16 @@ msgid "" "(Currently supporting automatic supply of consumables with the same brand, " "material type, and color)" msgstr "" +"Якщо в AMS є два ідентичні філаменти, резервне копіювання філаменту буде " +"увімкнено.\n" +"(Зараз підтримується автоматичне забезпечення споживних матеріалів " +"однакового бренду, типу матеріалу і кольору)" msgid "DRY" -msgstr "" +msgstr "СУХО" msgid "WET" -msgstr "" +msgstr "ВОЛОГО" msgid "AMS Settings" msgstr "Налаштування AMS" @@ -2997,6 +3033,8 @@ 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 " @@ -3047,12 +3085,14 @@ msgstr "" "поточний філамент закінчується" msgid "Air Printing Detection" -msgstr "" +msgstr "Виявлення друку в повітрі" msgid "" "Detects clogging and filament grinding, halting printing immediately to " "conserve time and filament." msgstr "" +"Виявляє засмічення та стирання нитки, негайно зупиняючи друк для економії " +"часу та матеріалу." msgid "File" msgstr "Файл" @@ -3135,7 +3175,7 @@ msgid "Running post-processing scripts" msgstr "Запуск скриптів постобробки" msgid "Successfully executed post-processing script" -msgstr "" +msgstr "Скрипт післяобробки успішно виконаний" msgid "Unknown error occured during exporting G-code." msgstr "" @@ -3201,10 +3241,10 @@ msgid "Device" msgstr "Пристрій" msgid "Task Sending" -msgstr "" +msgstr "Відправлення завдання" msgid "Task Sent" -msgstr "" +msgstr "Завдання надіслане" msgid "Edit multiple printers" msgstr "" @@ -3224,7 +3264,7 @@ msgid "Offline" msgstr "Не в мережі" msgid "No task" -msgstr "" +msgstr "Немає завдань" msgid "View" msgstr "Вигляд" @@ -3236,16 +3276,16 @@ msgid "Edit Printers" msgstr "" msgid "Device Name" -msgstr "" +msgstr "Назва пристрою" msgid "Task Name" -msgstr "" +msgstr "Назва завдання" msgid "Device Status" -msgstr "" +msgstr "Статус пристрою" msgid "Actions" -msgstr "" +msgstr "Дії" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" @@ -3264,7 +3304,7 @@ msgid "Upgrading" msgstr "" msgid "Incompatible" -msgstr "" +msgstr "Несумісний" msgid "syncing" msgstr "" @@ -3288,7 +3328,7 @@ msgid "Pending" msgstr "" msgid "Sending" -msgstr "" +msgstr "Sending" msgid "Sending Finish" msgstr "" @@ -3315,25 +3355,25 @@ msgid "Stop" msgstr "Стоп" msgid "Task Status" -msgstr "" +msgstr "Статус завдання" msgid "Sent Time" -msgstr "" +msgstr "Час відправлення" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "Немає завдань для відправлення!" msgid "No historical tasks!" -msgstr "" +msgstr "Історичних завдань немає!" msgid "Loading..." msgstr "Завантаження..." msgid "No AMS" -msgstr "" +msgstr "Немає AMS" msgid "Send to Multi-device" -msgstr "" +msgstr "Відправити на багато пристроїв" msgid "Preparing print job" msgstr "Підготовка завдання друку" @@ -3348,22 +3388,31 @@ msgid "The number of printers in use simultaneously cannot be equal to 0." msgstr "" msgid "Use External Spool" -msgstr "" +msgstr "Використовуйте зовнішню катушку" msgid "Use AMS" -msgstr "" +msgstr "Використовуйте AMS" msgid "Select Printers" -msgstr "" +msgstr "Вибрати принтери" msgid "Ams Status" -msgstr "" +msgstr "Статус AMS" msgid "Printing Options" +msgstr "Параметри друку" + +msgid "Bed Leveling" +msgstr "Вирівнювання столу" + +msgid "Timelapse" +msgstr "Таймлапс" + +msgid "Flow Dynamic Calibration" msgstr "" msgid "Send Options" -msgstr "" +msgstr "Параметри відправки" msgid "Send" msgstr "Надіслати" @@ -3372,13 +3421,17 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" +"друкувати одночасно (це залежить від того, скільки пристроїв можуть " +"нагріватися одночасно)." msgid "Wait" -msgstr "" +msgstr "Чекайте" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" +"хвилин на кожну партію. (Це залежить від того, скільки часу потрібно на " +"нагрівання)." msgid "Name is invalid;" msgstr "Ім'я недійсне;" @@ -3399,7 +3452,7 @@ msgid "The name is not allowed to end with space character." msgstr "Ім'я не може закінчуватися пробілом." msgid "The name length exceeds the limit." -msgstr "" +msgstr "Довжина імені перевищує обмеження." msgid "Origin" msgstr "Джерело" @@ -3474,14 +3527,18 @@ msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" msgstr "" +"Мінімально рекомендована температура менше 190 градусів або максимально " +"рекомендована температура більше 300 градусів.\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " "maximum temperature.\n" msgstr "" +"Мінімальна рекомендована температура не може бути вищою за максимальну " +"рекомендовану температуру.\n" msgid "Please check.\n" -msgstr "" +msgstr "Будь ласка, перевірте.\n" msgid "" "Nozzle may be blocked when the temperature is out of recommended range.\n" @@ -3514,6 +3571,9 @@ msgid "" "it may result in material softening and clogging.The maximum safe " "temperature for the material is %d" msgstr "" +"Поточна температура камери вища, ніж безпечна температура матеріалу, це може " +"призвести до розм’якшення матеріалу та його забивання. Максимально безпечна " +"температура для цього матеріалу становить %d" msgid "" "Too small layer height.\n" @@ -3635,7 +3695,7 @@ msgstr "" "типуповільненої зйомки - традиційний." msgid " But machines with I3 structure will not generate timelapse videos." -msgstr "" +msgstr " Але машини зі структурою I3 не будуть створювати відео з таймлапсами." msgid "" "Change these settings automatically? \n" @@ -3710,46 +3770,46 @@ msgid "Paused due to heat bed temperature malfunction" msgstr "Припинено через несправність температури нагрівального шару" msgid "Filament unloading" -msgstr "" +msgstr "Розвантаження філаменту" msgid "Skip step pause" -msgstr "" +msgstr "Пропустити паузу кроку" msgid "Filament loading" -msgstr "" +msgstr "Завантаження філаменту" msgid "Motor noise calibration" -msgstr "" +msgstr "Калібрування шуму мотора" msgid "Paused due to AMS lost" -msgstr "" +msgstr "Пауза через втрату сигналу AMS" msgid "Paused due to low speed of the heat break fan" -msgstr "" +msgstr "Пауза через низьку швидкість вентилятора теплового радіатора" msgid "Paused due to chamber temperature control error" -msgstr "" +msgstr "Пауза через помилку контролю температури камери" msgid "Cooling chamber" -msgstr "" +msgstr "Охолодження камери" msgid "Paused by the Gcode inserted by user" -msgstr "" +msgstr "Пауза вставлена користувачем через Gcode" msgid "Motor noise showoff" -msgstr "" +msgstr "Демонстрація шуму мотора" msgid "Nozzle filament covered detected pause" -msgstr "" +msgstr "Пауза через виявлене покриття філаментом сопла" msgid "Cutter error pause" -msgstr "" +msgstr "Пауза через помилку різака" msgid "First layer error pause" -msgstr "" +msgstr "Пауза через помилку першого шару" msgid "Nozzle clog pause" -msgstr "" +msgstr "Пауза через засмічення сопла" msgid "Unknown" msgstr "Невідомий" @@ -3780,53 +3840,66 @@ msgid "" "45℃.In order to avoid extruder clogging,low temperature filament(PLA/PETG/" "TPU) is not allowed to be loaded." msgstr "" +"Поточна температура камери або цільова температура камери перевищує 45℃. Щоб " +"уникнути забивання екструдера, не дозволяється завантажувати філаменти " +"низької температури (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 " "above 45℃." msgstr "" +"Філамент низької температури (PLA/PETG/TPU) завантажено в екструдер. Щоб " +"уникнути забивання екструдера, не дозволяється встановлювати температуру " +"камери вище 45℃." 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℃, контроль температури камери " +"не буде активований, і цільова температура камери автоматично буде " +"встановлена на 0℃." msgid "Failed to start printing job" msgstr "Не вдалося запустити завдання друку" msgid "" "This calibration does not support the currently selected nozzle diameter" -msgstr "" +msgstr "Калібрування не підтримує обраний діаметр сопла" msgid "Current flowrate cali param is invalid" -msgstr "" +msgstr "Поточний параметр калібрування витрати недійсний" msgid "Selected diameter and machine diameter do not match" -msgstr "" +msgstr "Обраний діаметр і діаметр пристрою не відповідають один одному" msgid "Failed to generate cali gcode" -msgstr "" +msgstr "Не вдалося створити Gcode для калібрування" msgid "Calibration error" -msgstr "" +msgstr "Помилка калібрування" msgid "TPU is not supported by AMS." -msgstr "" +msgstr "TPU не підтримується AMS." msgid "Bambu PET-CF/PA6-CF is not supported by AMS." -msgstr "" +msgstr "Bambu PET-CF/PA6-CF не підтримується AMS." msgid "" "Damp PVA will become flexible and get stuck inside AMS,please take care to " "dry it before use." msgstr "" +"Вологий PVA стає гнучким і може застрягти всередині AMS, будь ласка, " +"обережно висушіть його перед використанням." 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 "default" msgstr "за замовчуванням" @@ -3910,6 +3983,7 @@ msgstr "Перевірка параметрів" #, c-format, boost-format msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "" +"Значення %s знаходиться за межами діапазону. Дійсний діапазон від %d до %d." msgid "Value is out of range." msgstr "Значення поза допустимим діапазоном." @@ -4100,10 +4174,10 @@ msgid "Normal mode" msgstr "Нормальний режим" msgid "Total Filament" -msgstr "" +msgstr "Загальний філамент" msgid "Model Filament" -msgstr "" +msgstr "Філамент моделі" msgid "Prepare time" msgstr "Час підготовки" @@ -4199,7 +4273,7 @@ msgid "Spacing" msgstr "Відстань" msgid "0 means auto spacing." -msgstr "" +msgstr "0 означає автоматичний інтервал." msgid "Auto rotate for arrangement" msgstr "Автоповорот для розташування" @@ -4211,7 +4285,7 @@ msgid "Avoid extrusion calibration region" msgstr "Уникайте області калібрування екструзії" msgid "Align to Y axis" -msgstr "" +msgstr "Вирівняти за осі Y" msgid "Add plate" msgstr "Додати плату" @@ -4279,7 +4353,7 @@ msgid "An object is layed over the boundary of plate." msgstr "Об'єкт накладений на межу столу." msgid "A G-code path goes beyond the max print height." -msgstr "" +msgstr "Шлях G-коду виходить за максимально допустиму висоту друку." msgid "A G-code path goes beyond the boundary of plate." msgstr "Шлях G-коду виходить за межі зони друку." @@ -4306,10 +4380,10 @@ msgid "Bed leveling" msgstr "Вирівнювання столу" msgid "Vibration compensation" -msgstr "" +msgstr "Компенсація вібрації" msgid "Motor noise cancellation" -msgstr "" +msgstr "Скасування шуму мотора" msgid "Calibration program" msgstr "Програма калібрування" @@ -4336,7 +4410,7 @@ msgid "Calibrating" msgstr "Калібрування" msgid "No step selected" -msgstr "" +msgstr "Не вибрано крок" msgid "Auto-record Monitoring" msgstr "Автозапис Моніторингу" @@ -4345,7 +4419,7 @@ msgid "Go Live" msgstr "У прямому ефірі" msgid "Liveview Retry" -msgstr "" +msgstr "Повторити перегляд у реальному часі" msgid "Resolution" msgstr "Дозвіл нарізки" @@ -4403,7 +4477,7 @@ msgid "Preview" msgstr "Попередній перегляд" msgid "Multi-device" -msgstr "" +msgstr "Багато пристроїв" msgid "Project" msgstr "Проєкт" @@ -4549,6 +4623,12 @@ msgstr "Імпорт 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "Завантажте модель" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "Імпорт конфігурацій" @@ -4559,10 +4639,10 @@ msgid "Import" msgstr "Імпорт" msgid "Export all objects as one STL" -msgstr "" +msgstr "Експортувати всі об’єкти як один файл STL" msgid "Export all objects as STLs" -msgstr "" +msgstr "Експортувати всі об’єкти як файли STL" msgid "Export Generic 3MF" msgstr "Експорт спільного 3MF" @@ -4676,10 +4756,10 @@ msgid "Show object labels in 3D scene" msgstr "Показати мітки об'єктів у 3D-сцені" msgid "Show &Overhang" -msgstr "" +msgstr "Показати &Виступ" msgid "Show object overhang highlight in 3D scene" -msgstr "" +msgstr "Показати підсвічування виступу об'єкта у 3D сцені" msgid "Preferences" msgstr "Налаштування" @@ -4861,47 +4941,58 @@ msgstr "Синхронізація" msgid "The device cannot handle more conversations. Please retry later." msgstr "" +"Пристрій не може обробляти більше розмов. Будь ласка, спробуйте пізніше." msgid "Player is malfunctioning. Please reinstall the system player." -msgstr "" +msgstr "Програвач несправний. Будь ласка, перевстановіть систему програвача." msgid "The player is not loaded, please click \"play\" button to retry." msgstr "" +"Програвач не завантажений, будь ласка, натисніть кнопку “Відтворити”, щоб " +"спробувати ще раз." msgid "Please confirm if the printer is connected." -msgstr "" +msgstr "Будь ласка, підтвердіть, чи принтер підключений." msgid "" "The printer is currently busy downloading. Please try again after it " "finishes." msgstr "" +"Принтер зараз зайнятий завантаженням. Будь ласка, спробуйте ще раз після " +"завершення завантаження." msgid "Printer camera is malfunctioning." -msgstr "" +msgstr "Камера принтера несправна." msgid "Problem occured. Please update the printer firmware and try again." msgstr "" +"Виникла проблема. Будь ласка, оновіть прошивку принтера і спробуйте знову." msgid "" "LAN Only Liveview is off. Please turn on the liveview on printer screen." msgstr "" +"Режим прямого підключення до мережі вимкнений. Будь ласка, увімкніть режим " +"прямого перегляду на екрані принтера." msgid "Please enter the IP of printer to connect." -msgstr "" +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 "" +msgstr "Принтер був вийшов із системи та не може підключитися." msgid "Stopped." msgstr "Зупинено." @@ -4959,9 +5050,6 @@ msgstr "Згрупуйте файли по місяцях, спочатку не msgid "Show all files, recent first." msgstr "Показати всі файли спочатку останні." -msgid "Timelapse" -msgstr "Таймлапс" - msgid "Switch to timelapse files." msgstr "Перехід до файлів уповільненої зйомки." @@ -4972,7 +5060,7 @@ msgid "Switch to video files." msgstr "Перехід до відеофайлів." msgid "Switch to 3mf model files." -msgstr "" +msgstr "Переключитися на файли моделей 3mf." msgid "Delete selected files from printer." msgstr "Видалити вибрані файли з принтера." @@ -4993,7 +5081,7 @@ msgid "Refresh" msgstr "Оновити" msgid "Reload file list from printer." -msgstr "" +msgstr "Перезавантажте список файлів з принтера." msgid "No printers." msgstr "Ніяких принтерів." @@ -5006,27 +5094,29 @@ msgid "Loading file list..." msgstr "Завантаження списку файлів..." msgid "No files" -msgstr "" +msgstr "No files" msgid "Load failed" -msgstr "" +msgstr "Не вдалося завантажити" msgid "Initialize failed (Device connection not ready)!" -msgstr "" +msgstr "Ініціалізація не вдалася (З'єднання пристрою не готове)!" msgid "" "Browsing file in SD card is not supported in current firmware. Please update " "the printer firmware." msgstr "" +"Перегляд файлів на SD-картці не підтримується в поточній версії прошивки. " +"Будь ласка, оновіть прошивку принтера." msgid "Initialize failed (Storage unavailable, insert SD card.)!" msgstr "" msgid "LAN Connection Failed (Failed to view sdcard)" -msgstr "" +msgstr "Помилка підключення LAN (Не вдалося переглянути sd-карту)" msgid "Browsing file in SD card is not supported in LAN Only Mode." -msgstr "" +msgstr "Перегляд файлів на SD-картці не підтримується в режимі лише LAN." #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -5045,19 +5135,19 @@ msgstr "Видалити файли" #, c-format, boost-format msgid "Do you want to delete the file '%s' from printer?" -msgstr "" +msgstr "Ви хочете видалити файл '%s' з принтера?" msgid "Delete file" -msgstr "" +msgstr "Видалити файл" msgid "Fetching model infomations ..." -msgstr "" +msgstr "Отримання інформації про модель ..." msgid "Failed to fetch model information from printer." -msgstr "" +msgstr "Не вдалося отримати інформацію про модель з принтера." msgid "Failed to parse model information." -msgstr "" +msgstr "Не вдалося розібрати інформацію про модель." msgid "" "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " @@ -5073,6 +5163,8 @@ msgid "" "File: %s\n" "Title: %s\n" msgstr "" +"Файл: %s\n" +"Заголовок: %s\n" msgid "Download waiting..." msgstr "Чекання завантаження..." @@ -5094,22 +5186,24 @@ msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." msgstr "" +"Перепідключення принтера. Операцію не можна завершити негайно, спробуйте ще " +"раз пізніше." msgid "File does not exist." -msgstr "" +msgstr "Файл не існує." msgid "File checksum error. Please retry." -msgstr "" +msgstr "Помилка контрольної суми файлу. Будь ласка, спробуйте ще раз." msgid "Not supported on the current printer version." -msgstr "" +msgstr "Не підтримується на поточній версії принтера." msgid "Storage unavailable, insert SD card." -msgstr "" +msgstr "Зберігання недоступне, вставте SD-карту." #, c-format, boost-format msgid "Error code: %d" -msgstr "" +msgstr "Код помилки: %d" msgid "Speed:" msgstr "Швидкість:" @@ -5166,17 +5260,19 @@ 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 "" +msgstr "Як вам подобається цей файл для друку?" msgid "" "(The model has already been rated. Your rating will overwrite the previous " "rating.)" -msgstr "" +msgstr "(Модель вже була оцінена. Ваша оцінка перезапише попередню оцінку.)" msgid "Rate" -msgstr "" +msgstr "Оцінити" msgid "Camera" msgstr "Камера" @@ -5194,7 +5290,7 @@ msgid "Control" msgstr "Контроль" msgid "Printer Parts" -msgstr "" +msgstr "Частини принтера" msgid "Print Options" msgstr "Параметри друку" @@ -5251,6 +5347,8 @@ msgid "" "Please heat the nozzle to above 170 degree before loading or unloading " "filament." msgstr "" +"Будь ласка, нагрійте насадку до понад 170 градусів перед завантаженням або " +"вивантаженням філаменту." msgid "Still unload" msgstr "Ще розвантажити" @@ -5287,95 +5385,111 @@ msgid "Can't start this without SD card." msgstr "Не можу запустити це без SD-карти." msgid "Rate the Print Profile" -msgstr "" +msgstr "Оцінити профіль друку" msgid "Comment" msgstr "Коментувати" msgid "Rate this print" -msgstr "" +msgstr "Оцініть цей друк" msgid "Add Photo" -msgstr "" +msgstr "Додати фото" msgid "Delete Photo" -msgstr "" +msgstr "Видалити фото" msgid "Submit" -msgstr "" +msgstr "Підтвердити" msgid "Please click on the star first." -msgstr "" +msgstr "Будь ласка, спочатку клацніть на зірку." msgid "InFo" -msgstr "" +msgstr "Інформація" msgid "Get oss config failed." -msgstr "" +msgstr "Не вдалося отримати конфігурацію OSS." msgid "Upload Pictrues" -msgstr "" +msgstr "Завантажити фотографії" msgid "Number of images successfully uploaded" -msgstr "" +msgstr "Кількість успішно завантажених зображень" msgid " upload failed" -msgstr "" +msgstr " Помилка завантаження" msgid " upload config prase failed\n" -msgstr "" +msgstr " Помилка при спробі завантажити конфігураційний файл\n" msgid " No corresponding storage bucket\n" -msgstr "" +msgstr " Відсутній відповідний сховищний контейнер\n" msgid " can not be opened\n" -msgstr "" +msgstr " Не може бути відкрито\n" msgid "" "The following issues occurred during the process of uploading images. Do you " "want to ignore them?\n" "\n" msgstr "" +"Під час процесу завантаження зображень виникли наступні проблеми. Бажаєте їх " +"проігнорувати?\n" +"\n" msgid "info" msgstr "інфо" msgid "Synchronizing the printing results. Please retry a few seconds later." msgstr "" +"Синхронізація результатів друку. Будь ласка, повторіть спробу через кілька " +"секунд." msgid "Upload failed\n" -msgstr "" +msgstr "Помилка завантаження\n" msgid "obtaining instance_id failed\n" -msgstr "" +msgstr "помилка отримання instance_id\n" msgid "" "Your comment result cannot be uploaded due to some reasons. As follows:\n" "\n" " error code: " msgstr "" +"Ваш коментар не може бути завантажений з якихось причин. Ось деталі " +"помилки:\n" +"\n" +" код помилки: " msgid "error message: " -msgstr "" +msgstr "текст помилки: " msgid "" "\n" "\n" "Would you like to redirect to the webpage for rating?" msgstr "" +"\n" +"\n" +"Чи бажаєте ви перейти на веб-сторінку для оцінки?" msgid "" "Some of your images failed to upload. Would you like to redirect to the " "webpage for rating?" msgstr "" +"Деякі з ваших зображень не вдалося завантажити. Бажаєте перейти на веб-" +"сторінку для оцінки?" msgid "You can select up to 16 images." -msgstr "" +msgstr "Ви можете вибрати до 16 зображень." msgid "" "At least one successful print record of this print profile is required \n" "to give a positive rating(4 or 5stars)." msgstr "" +"Для того щоб поставити позитивний рейтинг (4 або 5 зірок), потрібно \n" +"мати принаймні один успішний запис про друк з цим профілем друку." msgid "Status" msgstr "Статус" @@ -5425,7 +5539,7 @@ msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "" msgid "Download Beta Version" -msgstr "" +msgstr "Завантажити бета-версію" msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "" @@ -5434,13 +5548,13 @@ msgid "Update your Orca Slicer could enable all functionality in the 3mf file." msgstr "" msgid "Current Version: " -msgstr "" +msgstr "Поточна версія: " msgid "Latest Version: " -msgstr "" +msgstr "Остання версія: " msgid "Not for now" -msgstr "" +msgstr "Наразі не потрібно" msgid "3D Mouse disconnected." msgstr "3D-миша відключена." @@ -5467,10 +5581,10 @@ msgid "Details" msgstr "Подробиці" msgid "New printer config available." -msgstr "" +msgstr "Доступна нова конфігурація принтера." msgid "Wiki" -msgstr "" +msgstr "Енциклопедія" msgid "Undo integration failed." msgstr "Скасувати інтеграцію не вдалося." @@ -5514,12 +5628,12 @@ msgstr[2] "%1$d завантажено як частини обрізаних о msgid "ERROR" msgstr "ПОМИЛКА" -msgid "CANCELED" -msgstr "Скасовано" - msgid "COMPLETED" msgstr "ВИКОНАНО" +msgid "CANCELED" +msgstr "Скасовано" + msgid "Cancel upload" msgstr "Скасувати завантаження" @@ -5536,10 +5650,10 @@ msgid "Export successfully." msgstr "Експорт успішно." msgid "Model file downloaded." -msgstr "" +msgstr "Завантажений файл моделі." msgid "Serious warning:" -msgstr "" +msgstr "Серйозне попередження:" msgid " (Repair)" msgstr " (Ремонт)" @@ -5625,29 +5739,31 @@ msgid "Auto-recovery from step loss" msgstr "Автоматичне відновлення після втрати кроку" msgid "Allow Prompt Sound" -msgstr "" +msgstr "Дозволити звук підказки" msgid "Filament Tangle Detect" -msgstr "" +msgstr "Виявлення заплутування філаменту" msgid "Nozzle Clumping Detection" -msgstr "" +msgstr "Виявлення згортання сопла" msgid "Check if the nozzle is clumping by filament or other foreign objects." msgstr "" +"Перевірте, чи сопло не затверділо від філаменту або інших чужорідних " +"предметів." msgid "Nozzle Type" -msgstr "" +msgstr "Тип насадки" msgid "Stainless Steel" -msgstr "" +msgstr "Нержавіюча сталь" msgid "Hardened Steel" -msgstr "" +msgstr "Закалена сталь" #, c-format, boost-format msgid "%.1f" -msgstr "" +msgstr "%.1f" msgid "Global" msgstr "Глобальний" @@ -5738,7 +5854,7 @@ msgid "Set filaments to use" msgstr "Встановіть нитки для використання" msgid "Search plate, object and part." -msgstr "" +msgstr "Пошук плити, об’єкта і деталі." msgid "" "No AMS filaments. Please select a printer in 'Device' page to load AMS info." @@ -5808,6 +5924,9 @@ msgid "" "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 " @@ -5823,6 +5942,8 @@ msgid "" "Enabling traditional timelapse photography may cause surface imperfections. " "It is recommended to change to smooth mode." msgstr "" +"Включення традиційної фотографії таймлапсу може призвести до дефектів на " +"поверхні. Рекомендується перейти в режим згладжування." msgid "Expand sidebar" msgstr "" @@ -5865,25 +5986,32 @@ msgstr "Будь ласка, виправте їх у вкладках пара msgid "The 3mf has following modified G-codes in filament or printer presets:" msgstr "" +"У файлі 3mf знаходяться наступні змінені G-коди в налаштуваннях філаменту " +"або принтера:" msgid "" "Please confirm that these modified G-codes are safe to prevent any damage to " "the machine!" msgstr "" +"Будь ласка, підтвердьте, що ці змінені G-коди безпечні і не призведуть до " +"пошкодження пристрою!" msgid "Modified G-codes" -msgstr "" +msgstr "Змінені G-коди" msgid "The 3mf has following customized filament or printer presets:" msgstr "" +"У файлі 3mf містяться наступні налаштовані параметри філаменту або принтера:" msgid "" "Please confirm that the G-codes within these presets are safe to prevent any " "damage to the machine!" msgstr "" +"Будь ласка, підтвердьте, що G-коди в цих налаштованих параметрах безпечні і " +"не призведуть до пошкодження пристрою!" msgid "Customized Preset" -msgstr "" +msgstr "Налаштований параметр" msgid "Name of components inside step file is not UTF8 format!" msgstr "Ім'я компонентів всередині крокового файлу не у форматі UTF8!" @@ -5952,22 +6080,24 @@ msgid "Export STL file:" msgstr "Експорт файлу STL:" msgid "Export AMF file:" -msgstr "" +msgstr "Експор файлу AMF:" msgid "Save file as:" msgstr "Зберегти файл як:" msgid "Export OBJ file:" -msgstr "" +msgstr "Експор файлу OBJ:" #, c-format, boost-format msgid "" "The file %s already exists\n" "Do you want to replace it?" msgstr "" +"Файл %s вже існує.\n" +"Бажаєте замінити його?" msgid "Comfirm Save As" -msgstr "" +msgstr "Підтвердити збереження як" msgid "Delete object which is a part of cut object" msgstr "Видалити об'єкт, який є частиною обрізаного об'єкта" @@ -5988,13 +6118,13 @@ msgid "Another export job is running." msgstr "Виконується інше завдання експорту." msgid "Unable to replace with more than one volume" -msgstr "" +msgstr "Неможливо замінити більше, ніж один об’єм" msgid "Error during replace" msgstr "Помилка заміни" msgid "Replace from:" -msgstr "" +msgstr "Замінити з:" msgid "Select a new file" msgstr "Виберіть новий файл" @@ -6006,19 +6136,19 @@ msgid "Please select a file" msgstr "Будь ласка, виберіть файл" msgid "Do you want to replace it" -msgstr "" +msgstr "Ви хочете замінити його" msgid "Message" -msgstr "" +msgstr "Повідомлення" msgid "Reload from:" -msgstr "" +msgstr "Перезавантажити з:" msgid "Unable to reload:" -msgstr "" +msgstr "Не вдається перезавантажити:" msgid "Error during reload" -msgstr "" +msgstr "Помилка під час перезавантаження" msgid "There are warnings after slicing models:" msgstr "Є попередження після нарізки моделей:" @@ -6081,13 +6211,13 @@ msgid "prepare 3mf file..." msgstr "підготувати файл 3mf..." msgid "Download failed, unknown file format." -msgstr "" +msgstr "Не вдалося завантажити, невідомий формат файлу." msgid "downloading project ..." msgstr "завантажую проект..." msgid "Download failed, File size exception." -msgstr "" +msgstr "Завантаження не вдалося через виняток розміру файлу." #, c-format, boost-format msgid "Project downloaded %d%%" @@ -6110,6 +6240,20 @@ msgstr "не містить дійсний gcode." msgid "Error occurs while loading G-code file" msgstr "Помилка під час завантаження файлу G-коду" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "Видалити файл проекту" @@ -6151,13 +6295,13 @@ msgid "Save G-code file as:" msgstr "Збережіть файл G-коду як:" msgid "Save SLA file as:" -msgstr "" +msgstr "Зберегти файл SLA як:" msgid "The provided file name is not valid." -msgstr "" +msgstr "Подана назва файлу недійсна." msgid "The following characters are not allowed by a FAT file system:" -msgstr "" +msgstr "Слідуючі символи не допускаються файловою системою FAT:" msgid "Save Sliced file as:" msgstr "Зберегти нарізаний файл як:" @@ -6173,22 +6317,24 @@ msgid "" "Unable to perform boolean operation on model meshes. Only positive parts " "will be kept. You may fix the meshes and try agian." msgstr "" +"Неможливо виконати булеву операцію на сітках моделі. Будуть залишені лише " +"позитивні частини. Ви можете виправити сітки і спробувати ще раз." #, boost-format msgid "Reason: part \"%1%\" is empty." -msgstr "" +msgstr "Причина: частина “%1%” порожня." #, boost-format msgid "Reason: part \"%1%\" does not bound a volume." -msgstr "" +msgstr "Причина: частина “%1%” не обмежує об’єм." #, boost-format msgid "Reason: part \"%1%\" has self intersection." -msgstr "" +msgstr "Причина: частина “%1%” має самоперетин." #, boost-format msgid "Reason: \"%1%\" and another part have no intersection." -msgstr "" +msgstr "Причина: “%1%” та інша частина не мають перетину." msgid "" "Are you sure you want to store original SVGs with their local paths into the " @@ -6234,11 +6380,11 @@ msgstr "Параметри планшета" #, boost-format msgid "Number of currently selected parts: %1%\n" -msgstr "" +msgstr "Кількість вибраних зараз деталей: %1%\n" #, boost-format msgid "Number of currently selected objects: %1%\n" -msgstr "" +msgstr "Кількість об'єктів, що вибрані зараз: %1%\n" #, boost-format msgid "Part name: %1%\n" @@ -6371,6 +6517,10 @@ msgid "" "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 "" +"На MacOS за замовчуванням завжди працює лише один екземпляр програми. Однак " +"з командного рядка дозволяється запускати кілька екземплярів однієї й тієї ж " +"програми. У цьому випадку цей параметр дозволить запускати лише один " +"екземпляр." msgid "" "If this is enabled, when starting OrcaSlicer and another instance of the " @@ -6434,16 +6584,21 @@ msgstr "Якщо увімкнено, під час запуску відобра msgid "Flushing volumes: Auto-calculate everytime the color changed." msgstr "" +"Змивання обсягів: авто-перераховується кожного разу, коли змінюється колір." msgid "If enabled, auto-calculate everytime the color changed." msgstr "" +"Якщо увімкнено, авто-розраховувння кожного разу, коли змінюється колір." msgid "" "Flushing volumes: Auto-calculate every time when the filament is changed." msgstr "" +"Об’єми промивання: автоматично обчислювати кожного разу при зміні філаменту." msgid "If enabled, auto-calculate every time when filament is changed" msgstr "" +"Якщо ввімкнено, автоматично обчислювати кожного разу, коли змінюється " +"філамент" msgid "Remember printer configuration" msgstr "" @@ -6460,6 +6615,8 @@ msgid "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." msgstr "" +"З цією опцією ввімкненою, ви можете відправляти завдання на кілька пристроїв " +"одночасно та керувати декількома пристроями." msgid "Network" msgstr "" @@ -6507,6 +6664,20 @@ msgstr "" "Якщо включено, встановлює OrcaSlicer як програму за замовчуваннямдля " "відкриття файлів .step" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "Максимум останніх проектів" @@ -6517,7 +6688,7 @@ msgid "Clear my choice on the unsaved projects." msgstr "Очистити мій вибір для незбережених проектів." msgid "No warnings when loading 3MF with modified G-codes" -msgstr "" +msgstr "Немає попереджень при завантаженні файлу 3MF із зміненими G-кодами" msgid "Auto-Backup" msgstr "Автобекап" @@ -6547,7 +6718,7 @@ msgid "Develop mode" msgstr "Режим розробки" msgid "Skip AMS blacklist check" -msgstr "" +msgstr "Пропустити перевірку чорного списку AMS" msgid "Home page and daily tips" msgstr "Головна сторінка та щоденні поради" @@ -6586,13 +6757,13 @@ msgid "Mouse wheel reverses when zooming" msgstr "Колісок миші реверсує при масштабуванні" msgid "Enable SSL(MQTT)" -msgstr "" +msgstr "Увімкнути SSL (MQTT)" msgid "Enable SSL(FTP)" -msgstr "" +msgstr "Увімкнути SSL(FTP)" msgid "Internal developer mode" -msgstr "" +msgstr "Внутрішній режим розробника" msgid "Log Level" msgstr "Журнал рівня" @@ -6673,25 +6844,25 @@ msgid "Add/Remove materials" msgstr "Додати/видалити матеріали" msgid "Select/Remove printers(system presets)" -msgstr "" +msgstr "Вибрати/Вилучити принтери (системні налаштування)" msgid "Create printer" -msgstr "" +msgstr "Створити" msgid "The selected preset is null!" -msgstr "" +msgstr "Обраний пресет є порожнім!" msgid "End" -msgstr "" +msgstr "Кінець" msgid "Customize" -msgstr "" +msgstr "Налаштувати" msgid "Other layer filament sequence" -msgstr "" +msgstr "Послідовність філатури на інших шарах" msgid "Please input layer value (>= 2)." -msgstr "" +msgstr "Будь ласка, введіть значення шару (≥ 2)." msgid "Plate name" msgstr "Назва пластини" @@ -6703,19 +6874,19 @@ msgid "Print sequence" msgstr "Послідовність друку" msgid "Same as Global" -msgstr "" +msgstr "Те саме, що й глобально" msgid "Disable" -msgstr "" +msgstr "Вимкнути" msgid "Spiral vase" msgstr "Спіральна ваза" msgid "First layer filament sequence" -msgstr "" +msgstr "Послідовність філаменту першого шару" msgid "Same as Global Plate Type" -msgstr "" +msgstr "Так само, як Глобальний Тип Пластини" msgid "Same as Global Bed Type" msgstr "Те ж, що й глобальний тип столу" @@ -6827,7 +6998,7 @@ msgid "(LAN)" msgstr "(LAN)" msgid "Search" -msgstr "" +msgstr "Пошук" msgid "My Device" msgstr "Мій пристрій" @@ -6854,7 +7025,7 @@ msgid "Bambu Cool Plate" msgstr "Холодний стіл" msgid "PLA Plate" -msgstr "" +msgstr "PLA Plate" msgid "Bambu Engineering Plate" msgstr "Інженерний стіл" @@ -6863,7 +7034,7 @@ msgid "Bambu Smooth PEI Plate" msgstr "" msgid "High temperature Plate" -msgstr "" +msgstr "High temperature Plate" msgid "Bambu Textured PEI Plate" msgstr "" @@ -6871,23 +7042,21 @@ msgstr "" msgid "Send print job to" msgstr "Надіслати завдання на друк на" -msgid "Bed Leveling" -msgstr "Вирівнювання столу" - msgid "Flow Dynamics Calibration" -msgstr "" +msgstr "Калібрування динаміки потоку" msgid "Click here if you can't connect to the printer" -msgstr "" +msgstr "Клацніть тут, якщо ви не можете підключитися до принтера" msgid "send completed" msgstr "відправлення завершено" msgid "Error code" -msgstr "" +msgstr "Код помилки" msgid "Printer local connection failed, please try again." msgstr "" +"Не вдалося встановити локальне підключення до принтера; спробуйте ще раз." msgid "No login account, only printers in LAN mode are displayed" msgstr "" @@ -6973,6 +7142,7 @@ msgid "" "The selected printer (%s) is incompatible with the chosen printer profile in " "the slicer (%s)." msgstr "" +"Вибраний принтер (%s) несумісний з обраним профілем принтера в різальні (%s)." msgid "An SD card needs to be inserted to record timelapse." msgstr "SD-карта повинна бути вставлена для запису таймлапсу." @@ -6994,10 +7164,14 @@ msgid "" "When enable spiral vase mode, machines with I3 structure will not generate " "timelapse videos." msgstr "" +"При увімкненні режиму спіралі для вази машини з I3 структурою не будуть " +"створювати відео в режимі таймлапсу." msgid "" "Timelapse is not supported because Print sequence is set to \"By object\"." msgstr "" +"Таймлапс не підтримується через те, що послідовність друку встановлена в “За " +"об’єктом”." msgid "Errors" msgstr "Помилки" @@ -7025,26 +7199,31 @@ msgstr "" #, c-format, boost-format msgid "nozzle in preset: %s %s" -msgstr "" +msgstr "сопло в налаштуваннях: %s %s" #, c-format, boost-format msgid "nozzle memorized: %.1f %s" -msgstr "" +msgstr "запам’ятоване сопло: %.1f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " "If you changed your nozzle lately, please go to Device > Printer Parts to " "change settings." msgstr "" +"Ваш діаметр сопла в розрізаному файлі не відповідає запам’ятаному діаметру " +"сопла. Якщо ви недавно змінили сопло, будь ласка, перейдіть до “Пристрій > " +"Частини принтера”, щоб змінити налаштування." #, c-format, boost-format msgid "" "Printing high temperature material(%s material) with %s may cause nozzle " "damage" msgstr "" +"Друк високотемпературного матеріалу (%s матеріал) з %s може призвести до " +"пошкодження сопла" msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "" +msgstr "Будь ласка, виправте помилку вище, інакше друк не може продовжитися." msgid "" "Please click the confirm button if you still want to proceed with printing." @@ -7053,20 +7232,23 @@ msgstr "Натисніть кнопку підтвердження, якщо в msgid "" "Connecting to the printer. Unable to cancel during the connection process." msgstr "" +"З’єднання з принтером. Під час процесу підключення скасувати неможливо." msgid "" "Caution to use! Flow calibration on Textured PEI Plate may fail due to the " "scattered surface." msgstr "" +"Увага! Калібрування потоку на Textured PEI Plate може не вдалося через " +"розсіяну поверхню." msgid "Automatic flow calibration using Micro Lidar" -msgstr "" +msgstr "Автоматична калібрування потоку за допомогою мікро лідару" msgid "Modifying the device name" msgstr "Зміна імені пристрою" msgid "Bind with Pin Code" -msgstr "" +msgstr "Прив’язати за допомогою Пін-коду" msgid "Send to Printer SD card" msgstr "Надіслати на SD-карту принтера" @@ -7090,31 +7272,31 @@ msgid "Slice ok." msgstr "Нарізка прибл." msgid "View all Daily tips" -msgstr "" +msgstr "Переглянути всі щоденні поради" msgid "Failed to create socket" -msgstr "" +msgstr "Не вдалося створити сокет" msgid "Failed to connect socket" -msgstr "" +msgstr "Не вдалося підключити сокет" msgid "Failed to publish login request" -msgstr "" +msgstr "Не вдалося опублікувати запит на вхід" msgid "Get ticket from device timeout" -msgstr "" +msgstr "Перевищено час очікування при отриманні квитка від пристрою" msgid "Get ticket from server timeout" -msgstr "" +msgstr "Перевищено час очікування при отриманні квитка від сервера" msgid "Failed to post ticket to server" -msgstr "" +msgstr "Не вдалося відправити квиток на сервер" msgid "Failed to parse login report reason" -msgstr "" +msgstr "Не вдалося розібрати причину звіту про вхід" msgid "Receive login report timeout" -msgstr "" +msgstr "Отримано звіт про вхід з перевищеним часом очікування" msgid "Unknown Failure" msgstr "Невідомий збій" @@ -7123,21 +7305,24 @@ msgid "" "Please Find the Pin Code in Account page on printer screen,\n" " and type in the Pin Code below." msgstr "" +"Будь ласка, знайдіть Пін-код на сторінці облікового запису на екрані " +"принтера, \n" +" і введіть Пін-код нижче." msgid "Can't find Pin Code?" -msgstr "" +msgstr "Не можу знайти Пін-код?" msgid "Pin Code" -msgstr "" +msgstr "Пін-код" msgid "Binding..." -msgstr "" +msgstr "Прив’язка…" msgid "Please confirm on the printer screen" -msgstr "" +msgstr "Будь ласка, підтвердьте на екрані принтера" msgid "Log in failed. Please check the Pin Code." -msgstr "" +msgstr "Вхід не вдається. Будь ласка, перевірте Пін-код." msgid "Log in printer" msgstr "Вхід до принтера" @@ -7149,10 +7334,10 @@ msgid "Check the reason" msgstr "Перевірте причину" msgid "Read and accept" -msgstr "" +msgstr "Прочитайте і згодьтеся" msgid "Terms and Conditions" -msgstr "" +msgstr "Умови використання" msgid "" "Thank you for purchasing a Bambu Lab device.Before using your Bambu Lab " @@ -7161,18 +7346,24 @@ msgid "" "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 "" +msgstr "і" msgid "Privacy Policy" -msgstr "" +msgstr "Політика конфіденційності" msgid "We ask for your help to improve everyone's printer" -msgstr "" +msgstr "Ми просимо вашої допомоги для покращення роботи всіх принтерів" msgid "Statement about User Experience Improvement Program" -msgstr "" +msgstr "Заява про Програму покращення користувацького досвіду" #, c-format, boost-format msgid "" @@ -7188,9 +7379,21 @@ msgid "" "payment information, or phone numbers. By enabling this service, you agree " "to these terms and the statement about Privacy Policy." msgstr "" +"У спільноті 3D-друку ми навчаємося на прикладі успіхів і невдач інших, щоб " +"налаштувати параметри і налаштування свого власного зрізування. %s " +"дотримується того ж принципу і використовує машинне навчання для покращення " +"своєї ефективності на основі успіхів і невдач великої кількості друків наших " +"користувачів. Ми навчаємо %s бути розумнішими, подаючи їм дані з реального " +"світу. Якщо ви готові, ця послуга буде мати доступ до інформації з вашого " +"журналу помилок і журналу використання, включаючи інформацію, описану в " +"Політиці конфіденційності. Ми не будемо збирати жодних Особистих даних, за " +"якими можна ідентифікувати особу безпосередньо чи опосередковано, включаючи, " +"але не обмежуючись, імена, адреси, інформацію про платежі або номери " +"телефонів. Увімкнувши цю службу, ви погоджуєтеся з цими умовами та заявою " +"про Політику конфіденційності." msgid "Statement on User Experience Improvement Plan" -msgstr "" +msgstr "Заява щодо Плану покращення користувацького досвіду" msgid "Log in successful." msgstr "Авторизація успішна." @@ -7242,7 +7445,7 @@ msgstr "" "моделіБез головної вежі. Ви хочете включити головну вежу?" msgid "Still print by object?" -msgstr "" +msgstr "Ви все ще друкуєте за об’єктом?" msgid "" "We have added an experimental style \"Tree Slim\" that features smaller " @@ -7301,15 +7504,17 @@ 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 "" +msgstr "Автоматично налаштувати на встановлений діапазон? \n" msgid "Adjust" -msgstr "" +msgstr "Налаштувати" msgid "Ignore" -msgstr "" +msgstr "Ігнорувати" msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7317,6 +7522,10 @@ msgid "" "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 " @@ -7324,6 +7533,11 @@ msgid "" "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 " @@ -7499,13 +7713,16 @@ msgstr "" "Філамент не підтримує друк на інженерній пластині" msgid "Smooth PEI Plate / High Temp Plate" -msgstr "" +msgstr "Smooth PEI Plate / High Temp Plate" msgid "" "Bed temperature when Smooth PEI Plate/High temperature plate is installed. " "Value 0 means the filament does not support to print on the Smooth PEI Plate/" "High Temp Plate" msgstr "" +"Температура столу, коли встановлена Smooth PEI Plate/High Temp Plate. " +"Значення 0 означає, що філамент не підтримує друк на Smooth PEI Plate/High " +"Temp Plate" msgid "Textured PEI Plate" msgstr "Текстурована пластина PEI" @@ -7558,13 +7775,13 @@ msgid "Auxiliary part cooling fan" msgstr "Вентилятор охолодження допоміжних деталей" msgid "Exhaust fan" -msgstr "" +msgstr "Витяжний вентилятор" msgid "During print" -msgstr "" +msgstr "Під час друку" msgid "Complete print" -msgstr "" +msgstr "Завершити друк" msgid "Filament start G-code" msgstr "G-код початку філаменту" @@ -7615,7 +7832,7 @@ msgid "Machine end G-code" msgstr "Кінцевий G-code" msgid "Printing by object G-code" -msgstr "" +msgstr "Друк за об’єктом за допомогою G-коду" msgid "Before layer change G-code" msgstr "G-code перед зміною шару" @@ -7624,7 +7841,7 @@ msgid "Layer change G-code" msgstr "G-code Зміни шару" msgid "Time lapse G-code" -msgstr "" +msgstr "G-код для часової зйомки" msgid "Change filament G-code" msgstr "G-code Зміни філаменту" @@ -7691,9 +7908,13 @@ 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 налаштувань філаменту та %d налаштувань " +"процесу. Ці налаштування будуть видалені, якщо принтер буде видалено." msgid "Presets inherited by other presets can not be deleted!" msgstr "" +"Налаштування, які успадковуються іншими налаштуваннями, не можуть бути " +"видалені!" msgid "The following presets inherit this preset." msgid_plural "The following preset inherits this preset." @@ -7717,6 +7938,9 @@ msgid "" "If the preset corresponds to a filament currently in use on your printer, " "please reset the filament information for that slot." msgstr "" +"Ви впевнені, що хочете видалити вибраний пресет?\n" +"Якщо пресет відповідає філаменту, який в даний момент використовується на " +"вашому принтері, будь ласка, скиньте інформацію про філамент для цього слоту." #, boost-format msgid "Are you sure to %1% the selected preset?" @@ -7820,12 +8044,14 @@ msgstr "" #, boost-format msgid "You have changed some settings of preset \"%1%\". " -msgstr "" +msgstr "Ви змінили деякі налаштування пресету “%1%”. " msgid "" "\n" "You can save or discard the preset values you have modified." msgstr "" +"\n" +"Ви можете зберегти або відхилити змінені значення пресету." msgid "" "\n" @@ -7834,7 +8060,7 @@ msgid "" msgstr "" msgid "You have previously modified your settings." -msgstr "" +msgstr "Ви раніше змінювали свої налаштування." msgid "" "\n" @@ -7986,7 +8212,7 @@ msgid "Auto-Calc" msgstr "Автокалькулятор" msgid "Re-calculate" -msgstr "" +msgstr "Перерахувати" msgid "Flushing volumes for filament change" msgstr "Обсяги промивання для зміни Філаменту" @@ -8026,10 +8252,10 @@ msgid "To" msgstr "В" msgid "Bambu Network plug-in not detected." -msgstr "" +msgstr "Плагін мережі Bambu не виявлено." msgid "Click here to download it." -msgstr "" +msgstr "Натисніть тут, щоб завантажити його." msgid "Login" msgstr "Логін" @@ -8062,7 +8288,7 @@ msgid "Show/Hide 3Dconnexion devices settings dialog" msgstr "Показати/приховати діалог налаштувань пристроїв 3Dconnexion" msgid "Switch table page" -msgstr "" +msgstr "Перемкнути сторінку таблиці" msgid "Show keyboard shortcuts list" msgstr "Показати список клавіш" @@ -8323,49 +8549,49 @@ msgid "New version of Orca Slicer" msgstr "" msgid "Skip this Version" -msgstr "" +msgstr "Пропустити цю версію" msgid "Done" msgstr "Виконано" msgid "resume" -msgstr "" +msgstr "продовжити" msgid "Resume Printing" -msgstr "" +msgstr "Відновити друк" msgid "Resume Printing(defects acceptable)" -msgstr "" +msgstr "Відновлення друку (прийнятно дефекти)" msgid "Resume Printing(problem solved)" -msgstr "" +msgstr "Відновлення друку (проблема вирішена)" msgid "Stop Printing" -msgstr "" +msgstr "Зупинити друк" msgid "Check Assistant" -msgstr "" +msgstr "Перевірка помічника" msgid "Filament Extruded, Continue" -msgstr "" +msgstr "Філамент витиснутий, Продовжити" msgid "Not Extruded Yet, Retry" -msgstr "" +msgstr "Ще не витиснуто філамент, Повторити" msgid "Finished, Continue" -msgstr "" +msgstr "Завершено, Продовжити" msgid "Load Filament" msgstr "Завантажте філамент" msgid "Filament Loaded, Resume" -msgstr "" +msgstr "Філамент завантажений, Відновити" msgid "View Liveview" -msgstr "" +msgstr "Перегляд в реальному часі" msgid "Confirm and Update Nozzle" -msgstr "" +msgstr "Підтвердити і оновити сопло" msgid "LAN Connection Failed (Sending print file)" msgstr "Помилка з’єднання LAN (Надсилання файлу друку)" @@ -8393,20 +8619,23 @@ msgstr "Де знайти IP-адресу та код доступу вашог msgid "Step 3: Ping the IP address to check for packet loss and latency." msgstr "" +"Крок 3: Виконайте пінг до IP-адреси для перевірки втрат пакетів та затримки." msgid "Test" msgstr "Тест" msgid "IP and Access Code Verified! You may close the window" -msgstr "" +msgstr "IP-адреса та доступний код перевірено! Ви можете закрити вікно" msgid "Connection failed, please double check IP and Access Code" -msgstr "" +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 "Model:" msgstr "Модель:" @@ -8421,7 +8650,7 @@ msgid "Update firmware" msgstr "Оновити прошивку" msgid "Beta version" -msgstr "" +msgstr "Бета-версія" msgid "Latest version" msgstr "Остання версія" @@ -8788,26 +9017,34 @@ msgid "" msgstr "" msgid "Variable layer height is not supported with Organic supports." -msgstr "" +msgstr "Змінна висота шару не підтримується з органічними підтримками." msgid "" "Different nozzle diameters and different filament diameters is not allowed " "when prime tower is enabled." msgstr "" +"Використання різних діаметрів насадок та різних діаметрів філаментів не " +"допускається, коли увімкнено вежу підготовки." msgid "" "The Wipe Tower is currently only supported with the relative extruder " "addressing (use_relative_e_distances=1)." msgstr "" +"Вежа протирання в даний момент підтримується лише з використанням відносної " +"адресації екструдера (use_relative_e_distances=1)." msgid "" "Ooze prevention is currently not supported with the prime tower enabled." msgstr "" +"Запобігання витокам в даний момент не підтримується з увімкненою вежею " +"підготовки." 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 "Під час друку \"По об'єкту\" праймер не підтримується." @@ -9199,16 +9436,16 @@ msgid "Engineering Plate" msgstr "Інженерна пластина" msgid "First layer print sequence" -msgstr "" +msgstr "Послідовність друку першого шару" msgid "Other layers print sequence" -msgstr "" +msgstr "Послідовність друку інших шарів" msgid "The number of other layers print sequence" -msgstr "" +msgstr "Кількість шарів для друку в іншій послідовності" msgid "Other layers filament sequence" -msgstr "" +msgstr "Послідовність філаменту для інших шарів" msgid "This G-code is inserted at every layer change before lifting z" msgstr "Типи ліжок, які підтримує принтер" @@ -9640,7 +9877,7 @@ msgid "Default process profile when switch to this machine profile" msgstr "Профіль за промовчанням при перемиканні на цей профіль машини" msgid "Activate air filtration" -msgstr "" +msgstr "Активувати повітряну фільтрацію" msgid "Activate for better air filtration. G-code command: M106 P3 S(0-255)" msgstr "" @@ -9652,6 +9889,8 @@ msgid "" "Speed of exhaust fan during printing.This speed will overwrite the speed in " "filament custom gcode" msgstr "" +"Швидкість вентилятора відсмоктування під час друку. Ця швидкість перезапише " +"швидкість у користувацькому G-коді філаменту" msgid "Speed of exhaust fan after printing completes" msgstr "" @@ -9758,12 +9997,14 @@ msgid "End G-code when finish the whole printing" msgstr "Завершальний G-code, коли закінчити весь друк" msgid "Between Object Gcode" -msgstr "" +msgstr "Між G-кодами об’єктів" msgid "" "Insert Gcode between objects. This parameter will only come into effect when " "you print your models object by object" msgstr "" +"Вставити G-код між об’єктами. Цей параметр буде врахований лише тоді, коли " +"ви друкуєте свої моделі по об’єктах" msgid "End G-code when finish the printing of this filament" msgstr "Завершальний G-code, коли закінчите друк цієї нитки" @@ -9825,7 +10066,7 @@ msgid "Line pattern of bottom surface infill, not bridge infill" msgstr "Малюнок заповнення нижньої поверхні, а не заповнення мосту" msgid "Internal solid infill pattern" -msgstr "" +msgstr "Внутрішній малюнок заповнення суцільними шарами" msgid "" "Line pattern of internal solid infill. if the detect narrow internal solid " @@ -9907,7 +10148,7 @@ msgid "Inner/Outer/Inner" msgstr "" msgid "Print infill first" -msgstr "" +msgstr "Друкувати заповнення спочатку" msgid "" "Order of wall/infill. When the tickbox is unchecked the walls are printed " @@ -9968,10 +10209,10 @@ msgstr "" "зіткнення під час друку за об’єктами." msgid "Nozzle height" -msgstr "" +msgstr "Висота насадки" msgid "The height of nozzle tip." -msgstr "" +msgstr "Висота кінчика насадки." msgid "Bed mesh min" msgstr "" @@ -10092,10 +10333,10 @@ msgid "Default filament color" msgstr "Колір філаменту за замовчуванням" msgid "Filament notes" -msgstr "" +msgstr "Примітки щодо філаменту" msgid "You can put your notes regarding the filament here." -msgstr "" +msgstr "Ви можете залишити свої примітки щодо філаменту тут." msgid "Required nozzle HRC" msgstr "Потрібний HRC сопла" @@ -10297,13 +10538,16 @@ msgid "" msgstr "Допоміжний матеріал зазвичай використовується для друку підтримки" msgid "Softening temperature" -msgstr "" +msgstr "Температура м’якості" msgid "" "The material softens at this temperature, so when the bed temperature is " "equal to or greater than it, it's highly recommended to open the front door " "and/or remove the upper glass to avoid cloggings." msgstr "" +"Матеріал м’якшує при цій температурі, тому, коли температура столу рівна або " +"вища за цей показник, настійно рекомендується відкрити передні двері та/або " +"видалити верхнє скло, щоб уникнути засмічення (clogging)." msgid "Price" msgstr "Ціна" @@ -10315,10 +10559,10 @@ msgid "money/kg" msgstr "р/кг" msgid "Vendor" -msgstr "" +msgstr "Виробник" msgid "Vendor of filament. For show only" -msgstr "" +msgstr "Виробник філаменту. Для показу, тільки для відображення" msgid "(Undefined)" msgstr "(Невизначений)" @@ -10393,7 +10637,7 @@ msgid "Lightning" msgstr "Блискавка" msgid "Cross Hatch" -msgstr "" +msgstr "Перехресний штрих" msgid "Sparse infill anchor length" msgstr "Довжина прив'язки заповнення" @@ -10681,13 +10925,16 @@ msgstr "" "має друкуватися повільніше" msgid "Precise Z height" -msgstr "" +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 "Дуговий фітинг" @@ -10757,28 +11004,30 @@ msgid "HRC" msgstr "HRC" msgid "Printer structure" -msgstr "" +msgstr "Структура принтера" msgid "The physical arrangement and components of a printing device" -msgstr "" +msgstr "Фізична структура та компоненти пристрою для друку" msgid "CoreXY" -msgstr "" +msgstr "CoreXY" msgid "I3" -msgstr "" +msgstr "I3" msgid "Hbot" -msgstr "" +msgstr "Hbot" msgid "Delta" -msgstr "" +msgstr "Delta" msgid "Best object position" -msgstr "" +msgstr "Найкраще положення об’єкта" msgid "Best auto arranging position in range [0,1] w.r.t. bed shape." msgstr "" +"Найкраще автоматичне розташування об’єкта в діапазоні [0,1] відносно форми " +"ліжка." msgid "" "Enable this option if machine has auxiliary part cooling fan. G-code " @@ -10840,7 +11089,7 @@ msgid "money/h" msgstr "" msgid "Support control chamber temperature" -msgstr "" +msgstr "Керування температурою камери для підтримки" msgid "" "This option is enabled if machine support controlling chamber temperature\n" @@ -10848,7 +11097,7 @@ msgid "" msgstr "" msgid "Support air filtration" -msgstr "" +msgstr "Підтримка повітряної фільтрації" msgid "" "Enable this if printer support air filtration\n" @@ -10910,6 +11159,9 @@ msgid "" "Automatically Combine sparse infill of several layers to print together to " "reduce time. Wall is still printed with original layer height." msgstr "" +"Автоматично комбінуйте розріджене заповнення кількох шарів, щоб друкувати їх " +"разом і зменшити час друку. Стіни все ще друкуються з оригінальною висотою " +"шару." msgid "Filament to print internal sparse infill." msgstr "Філамент для друку внутрішнього заповнення." @@ -10958,16 +11210,17 @@ msgstr "" "або розчинним у ручному режимі матеріалом підкладки" msgid "Maximum width of a segmented region" -msgstr "" +msgstr "Максимальна ширина сегментованої області" msgid "Maximum width of a segmented region. Zero disables this feature." -msgstr "" +msgstr "Максимальна ширина сегментованої області. Нуль вимикає цю функцію." msgid "Interlocking depth of a segmented region" -msgstr "" +msgstr "Глибина взаємного взаємодії сегментованої області" msgid "Interlocking depth of a segmented region. Zero disables this feature." msgstr "" +"Глибина взаємного взаємодії сегментованої області. Нуль вимикає цю функцію." msgid "Ironing Type" msgstr "Тип Розглажування" @@ -10993,7 +11246,7 @@ msgid "All solid layer" msgstr "Весь суцільний шар" msgid "Ironing Pattern" -msgstr "" +msgstr "Зразок гладіння" msgid "The pattern that will be used when ironing" msgstr "" @@ -11451,7 +11704,7 @@ msgid "Printer notes" msgstr "Нотатки для принтера" msgid "You can put your notes regarding the printer here." -msgstr "" +msgstr "Ви можете залишити свої примітки щодо принтера тут." msgid "Raft contact Z distance" msgstr "Відстань контакту плоту Z" @@ -11494,6 +11747,9 @@ msgid "" "much points and gcode lines in gcode file. Smaller value means higher " "resolution and more time to slice" msgstr "" +"Контур G-коду генерується після спрощення контуру моделей, щоб уникнути " +"надмірної кількості точок і ліній G-коду. Менші значення означають вищу " +"роздільну здатність і більше часу, необхідного для нарізки" msgid "Travel distance threshold" msgstr "Поріг відстані в дорозі" @@ -11511,6 +11767,8 @@ msgstr "Ретракт при розгладжуванні" msgid "" "The length of fast retraction before wipe, relative to retraction length" msgstr "" +"This is the length of fast retraction before a wipe, relative to retraction " +"length." msgid "Retract when change layer" msgstr "Ретракт при зміні шару" @@ -11530,7 +11788,7 @@ msgstr "" "ретракт" msgid "Long retraction when cut(experimental)" -msgstr "" +msgstr "Довге відведення при вирізанні (експериментально)" msgid "" "Experimental feature.Retracting and cutting off the filament at a longer " @@ -11538,14 +11796,20 @@ msgid "" "significantly, it may also raise the risk of nozzle clogs or other printing " "problems." msgstr "" +"Експериментальна функція. Відведення та відрізання філаменту на більшій " +"відстані під час змін для мінімізації вимивання. Хоча це значно зменшує " +"кількість витоку, це також може збільшити ризик засмічення насадки або інших " +"проблем з друку." msgid "Retraction distance when cut" -msgstr "" +msgstr "Відстань відведення при вирізанні" msgid "" "Experimental feature.Retraction length before cutting off during filament " "change" msgstr "" +"Експериментальна функція. Відстань відведення перед відрізанням під час " +"зміни філаменту" msgid "Z hop when retract" msgstr "Z-стрибок при відкаті" @@ -11561,20 +11825,24 @@ msgstr "" "перешкоджати появі висячих ниток" msgid "Z hop lower boundary" -msgstr "" +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”." msgid "Z hop upper boundary" -msgstr "" +msgstr "Верхня межа зниження Z" 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” і знаходиться нижче цього значення" msgid "Z hop type" msgstr "Тип Z-стрибка" @@ -11725,17 +11993,21 @@ msgstr "" msgid "Use scarf joint to minimize seam visibility and increase seam strength." msgstr "" +"Використовуйте з’єднання з шарфом, щоб мінімізувати видимість шва та " +"збільшити міцність шва." msgid "Conditional scarf joint" -msgstr "" +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 "" +msgstr "Умовний поріг кута" msgid "" "This option sets the threshold angle for applying a conditional scarf joint " @@ -11744,6 +12016,11 @@ msgid "" "(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 "" @@ -11778,39 +12055,43 @@ msgid "This factor affects the amount of material for scarf joints." msgstr "" msgid "Scarf start height" -msgstr "" +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 "" +msgstr "Шарф навколо всієї стіни" msgid "The scarf extends to the entire length of the wall." -msgstr "" +msgstr "Шарф простягається на всю довжину стіни." msgid "Scarf length" -msgstr "" +msgstr "Довжина шарфа" msgid "" "Length of the scarf. Setting this parameter to zero effectively disables the " "scarf." msgstr "" +"Довжина шарфа. Встановлення цього параметра на нуль ефективно вимикає шарф." msgid "Scarf steps" -msgstr "" +msgstr "Кроки шарфа" msgid "Minimum number of segments of each scarf." -msgstr "" +msgstr "Мінімальна кількість сегментів кожного шарфу." msgid "Scarf joint for inner walls" -msgstr "" +msgstr "З’єднання з шарфом для внутрішніх стін" msgid "Use scarf joint for inner walls as well." -msgstr "" +msgstr "Використовувати з’єднання з шарфом також для внутрішніх стін." msgid "Role base wipe speed" msgstr "Базова швидкість очищення ролей" @@ -11961,20 +12242,25 @@ msgstr "" "згенерована модель не має шва" msgid "Smooth Spiral" -msgstr "" +msgstr "Плавна спіраль" msgid "" "Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " "at all, even in the XY directions on walls that are not vertical" msgstr "" +"Плавна спіраль згладжує переміщення по X та Y, що призводить до відсутності " +"видимого шва, навіть у напрямках XY на стінах, які не є вертикальними" msgid "Max XY Smoothing" -msgstr "" +msgstr "Максимальне згладжування XY" msgid "" "Maximum distance to move points in XY to try to achieve a smooth spiralIf " "expressed as a %, it will be computed over nozzle diameter" msgstr "" +"Максимальна відстань переміщення точок по XY для спроби досягнення плавної " +"спіралі. Якщо виражено у відсотках, вона буде обчислена відносно діаметра " +"сопла" msgid "" "If smooth or traditional mode is selected, a timelapse video will be " @@ -12074,6 +12360,8 @@ msgid "" "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " "close all holes in the model." msgstr "" +"Використовуйте «парний-непарний» для моделей літаків 3DLabPrint. " +"Використовуйте «Закрити отвори», щоб закрити всі отвори в моделі." msgid "Regular" msgstr "Звичайний" @@ -12125,7 +12413,7 @@ msgid "Support/object xy distance" msgstr "Підтримка/об'єкт XY відстань" msgid "XY separation between an object and its support" -msgstr "" +msgstr "Контролює відстань по XY між об’єктом та його опорою" msgid "Pattern angle" msgstr "Кут шаблону" @@ -12152,10 +12440,10 @@ msgstr "" "консоль і т.д." msgid "Remove small overhangs" -msgstr "" +msgstr "Видалити невеликі виступи" msgid "Remove small overhangs that possibly need no supports." -msgstr "" +msgstr "Видалити невеликі виступи, які, можливо, не потребують підтримки." msgid "Top Z distance" msgstr "Верхня відстань Z" @@ -12181,11 +12469,13 @@ msgstr "" "філаменту" msgid "Avoid interface filament for base" -msgstr "" +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 " @@ -12221,10 +12511,10 @@ msgid "Bottom interface layers" msgstr "Нижні шари підтримки" msgid "Number of bottom interface layers" -msgstr "" +msgstr "Кількість шарів інтерфейсу на дні" msgid "Same as top" -msgstr "" +msgstr "Так само, як вище" msgid "Top interface spacing" msgstr "Відстань між верхніми інтерфейсами" @@ -12432,10 +12722,10 @@ msgid "" msgstr "" msgid "Support wall loops" -msgstr "" +msgstr "Опорні стінові петлі" msgid "This setting specify the count of walls around support" -msgstr "" +msgstr "Цей параметр визначає кількість стінок навколо підтримки" msgid "Tree support with infill" msgstr "Підтримка дерева із заповненням" @@ -12468,6 +12758,13 @@ msgid "" "high to avoid cloggings, so 0 which stands for turning off is highly " "recommended" msgstr "" +"Вища температура камери може допомогти стримувати або зменшувати деформацію " +"та, можливо, підвищити міцність зв’язку між шарами для матеріалів високої " +"температури, таких як ABS, ASA, PC, PA тощо. У той же час, повітряна " +"фільтрація для ABS та ASA може стати гіршею. Однак для PLA, PETG, TPU, PVA " +"та інших матеріалів низької температури фактична температура камери не " +"повинна бути високою, щоб уникнути засмічення, тому рекомендується вимкнути " +"температуру камери (0)" msgid "Nozzle temperature for layers after the initial one" msgstr "Температура сопла для шарів після початкового" @@ -12612,17 +12909,29 @@ msgstr "" msgid "Spacing of purge lines on the wipe tower." msgstr "" -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -12648,12 +12957,20 @@ msgid "" "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 " @@ -12759,6 +13076,9 @@ msgid "" "very thin areas is used gap-fill. Arachne engine produces walls with " "variable extrusion width" msgstr "" +"Класичний генератор стін виробляє стіни з постійною шириною екструзії, а для " +"дуже тонких ділянок використовується заповнення прогалин. Двигун Arachne " +"виробляє стіни зі змінною шириною екструзії." msgid "Classic" msgstr "Класичний" @@ -12834,6 +13154,10 @@ msgid "" "feature size will be widened to the Minimum wall width. It's expressed as a " "percentage over nozzle diameter" msgstr "" +"Minimum thickness of thin features. Model features that are thinner than " +"this value will not be printed, while features thicker than the minimum " +"feature size will be widened to the minimum wall width. It's expressed as a " +"percentage over nozzle diameter" msgid "Minimum wall length" msgstr "" @@ -13279,99 +13603,108 @@ msgstr "Підтримка: розповсюдження гілок на шар msgid "" "Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension." msgstr "" +"Невідомий формат файлу: вхідний файл повинен мати розширення .stl, .obj або ." +"amf (.xml)." msgid "Loading of a model file failed." -msgstr "" +msgstr "Не вдалося завантажити файл моделі." msgid "The supplied file couldn't be read because it's empty" -msgstr "" +msgstr "Наданий файл не вдалося прочитати, оскільки він порожній" msgid "Unknown file format. Input file must have .3mf or .zip.amf extension." msgstr "" +"Невідомий формат файлу: вхідний файл повинен мати розширення .3mf або .zip." +"amf." msgid "Canceled" -msgstr "" +msgstr "Скасовано" msgid "load_obj: failed to parse" -msgstr "" +msgstr "помилка завантаження файлу OBJ: не вдалося розпізнати формат" msgid "load mtl in obj: failed to parse" -msgstr "" +msgstr "не вдалося розпізнати mtl у файлі obj: помилка парсингу" msgid "The file contains polygons with more than 4 vertices." -msgstr "" +msgstr "Цей файл містить полігони з більше ніж 4 вершинами." msgid "The file contains polygons with less than 2 vertices." -msgstr "" +msgstr "У файлі містяться полігони з менш ніж 2 вершинами." msgid "The file contains invalid vertex index." -msgstr "" +msgstr "У файлі містяться недійсний індекс вершини." msgid "This OBJ file couldn't be read because it's empty." msgstr "" +"Цей файл формату OBJ не може бути прочитаний через те, що він порожній." msgid "Flow Rate Calibration" -msgstr "" +msgstr "Калібрування витрати матеріалу" msgid "Max Volumetric Speed Calibration" -msgstr "" +msgstr "Максимальна калібрування об’ємної швидкості" msgid "Manage Result" -msgstr "" +msgstr "Керування результатом" msgid "Manual Calibration" -msgstr "" +msgstr "Ручне калібрування" msgid "Result can be read by human eyes." -msgstr "" +msgstr "Результат може бути прочитаний людським оком." msgid "Auto-Calibration" -msgstr "" +msgstr "Автокалібрування" msgid "We would use Lidar to read the calibration result" -msgstr "" +msgstr "Ми використовуватимемо Лідар для зчитування результату калібрування" msgid "Prev" -msgstr "" +msgstr "Попередній" msgid "Recalibration" -msgstr "" +msgstr "Перекалібрування" msgid "Calibrate" -msgstr "" +msgstr "Калібрувати" msgid "Finish" -msgstr "" +msgstr "Завершити" msgid "How to use calibration result?" -msgstr "" +msgstr "Як використовувати результат калібрування?" msgid "" "You could change the Flow Dynamics Calibration Factor in material editing" msgstr "" +"Ви можете змінити Фактор калібрування динаміки потоку в редагуванні матеріалу" msgid "" "The current firmware version of the printer does not support calibration.\n" "Please upgrade the printer firmware." msgstr "" +"Поточна версія вбудованого програмного забезпечення принтера не \n" +"підтримує калібрування. Будь ласка, оновіть вбудоване програмне \n" +"забезпечення принтера." msgid "Calibration not supported" -msgstr "" +msgstr "Калібрування не підтримується" msgid "Error desc" -msgstr "" +msgstr "Опис помилки" msgid "Extra info" -msgstr "" +msgstr "Додаткова інформація" msgid "Flow Dynamics" -msgstr "" +msgstr "Динаміка потоку" msgid "Flow Rate" -msgstr "" +msgstr "Швидкість потоку" msgid "Max Volumetric Speed" -msgstr "" +msgstr "Максимальна об’ємна швидкість" #, c-format, boost-format msgid "" @@ -13381,38 +13714,45 @@ msgid "" "End value: > Start value\n" "Value step: >= %.3f)" msgstr "" +"Будь ласка, введіть дійсні значення:\n" +"Початкове значення: >= %.1f\n" +"Кінцеве значення: <= %.1f\n" +"Кінцеве значення: > Початкового значення\n" +"Крок значення: >= %.3f)" msgid "The name cannot be empty." -msgstr "" +msgstr "Ім’я не може бути порожнім." #, c-format, boost-format msgid "The selected preset: %s is not found." -msgstr "" +msgstr "Обраний пресет: %s не знайдено." msgid "The name cannot be the same as the system preset name." -msgstr "" +msgstr "Назва не може бути такою самою, як системна назва." msgid "The name is the same as another existing preset name" -msgstr "" +msgstr "Назва така сама, як інша існуюча назва налаштування" msgid "create new preset failed." -msgstr "" +msgstr "не вдалося створити новий передвстановлений параметр." msgid "" "Are you sure to cancel the current calibration and return to the home page?" msgstr "" +"Ви впевнені, що хочете скасувати поточну калібрування і повернутися на " +"домашню сторінку?" msgid "No Printer Connected!" -msgstr "" +msgstr "Принтер не підключений!" msgid "Printer is not connected yet." -msgstr "" +msgstr "Принтер ще не підключено." msgid "Please select filament to calibrate." -msgstr "" +msgstr "Будь ласка, виберіть філамент для калібрування." msgid "The input value size must be 3." -msgstr "" +msgstr "Розмір введеного значення повинен бути 3." msgid "" "This machine type can only hold 16 history results per nozzle. You can " @@ -13421,15 +13761,20 @@ msgid "" "historical results. \n" "Do you still want to continue the calibration?" msgstr "" +"Цей тип машини може зберігати лише 16 результатів історії на сопло. Ви " +"можете видалити існуючі історичні результати та потім розпочати " +"калібрування. Або ви можете продовжити калібрування, але ви не зможете " +"створювати нові історичні результати калібрування. \n" +"Ви все ще хочете продовжити калібрування?" msgid "Connecting to printer..." -msgstr "" +msgstr "Підключення до принтера…" msgid "The failed test result has been dropped." -msgstr "" +msgstr "Неуспішний результат тесту було відхилено." msgid "Flow Dynamics Calibration result has been saved to the printer" -msgstr "" +msgstr "Результат калібрування динаміки потоку було збережено в принтері" #, c-format, boost-format msgid "" @@ -13437,27 +13782,36 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to override the historical result?" msgstr "" +"Вже існує історичний результат калібрування з такою самою назвою: %s. " +"Зберігається лише один з результатів з такою самою назвою. Ви впевнені, що " +"хочете перезаписати історичний результат?" #, c-format, boost-format msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." msgstr "" +"Цей тип машини може зберігати лише %d результатів історії на сопло. Цей " +"результат не буде збережений." msgid "Internal Error" -msgstr "" +msgstr "Внутрішня помилка" msgid "Please select at least one filament for calibration" -msgstr "" +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 "" +msgstr "Коли потрібна калібрування динаміки потоку" msgid "" "We now have added the auto-calibration for different filaments, which is " @@ -13469,9 +13823,19 @@ msgid "" "3. If the max volumetric speed or print temperature is changed in the " "filament setting." msgstr "" +"Зараз у нас є можливість автоматичної калібрації для різних філаментів, яка " +"є повністю автоматизованою, і результат буде збережено в принтері для " +"подальшого використання. Вам потрібно робити калібрування лише в таких " +"обмежених випадках:\n" +"\n" +"1. Якщо ви вводите новий філамент різних брендів/моделей або філамент " +"зволожений;\n" +"2. Якщо сопло зношене або замінене новим;\n" +"3. Якщо максимальна об’ємна швидкість або температура друку змінена в " +"налаштуваннях філаменту." msgid "About this calibration" -msgstr "" +msgstr "Про це калібрування" msgid "" "Please find the details of Flow Dynamics Calibration from our wiki.\n" @@ -13492,9 +13856,28 @@ msgid "" "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" +"Зазвичай калібрування не є необхідним. Коли ви розпочинаєте друк з одним " +"кольором/матеріалом, з опцією “калібрування динаміки потоку” включеною у " +"меню початку друку, принтер буде використовувати старий спосіб калібрування " +"філаменту перед початком друку; Коли ви розпочинаєте друк з декількома " +"кольорами/матеріалами, принтер використовуватиме стандартні параметри " +"компенсації для філаменту під час кожного перемикання філаменту, що в " +"більшості випадків дає гарний результат.\n" +"\n" +"Зверніть увагу, що є деякі випадки, коли результат калібрування може бути " +"ненадійним: використання текстурної підкладки для калібрування; слабка " +"адгезія підкладки (будь ласка, вимийте підкладку або нанесіть клей!) … " +"Більше інформації можна знайти у нашому вікі.\n" +"\n" +"Результати калібрування мають приблизно 10-відсотковий шум у наших тестах, " +"що може призвести до незначних відмінностей у кожному калібруванні. Ми все " +"ще вивчаємо кореневу причину, щоб внести поліпшення в майбутніх оновленнях." msgid "When to use Flow Rate Calibration" -msgstr "" +msgstr "Коли використовувати калібрування рівня потоку" msgid "" "After using Flow Dynamics Calibration, there might still be some extrusion " @@ -13507,12 +13890,28 @@ msgid "" "4. Weak Structural Integrity: Prints break easily or don't seem as sturdy as " "they should be." msgstr "" +"Після використання калібрування Flow Dynamics можуть все ще виникати деякі " +"проблеми з екструзією, такі як:\n" +"\n" +"Перекістювання: Зайвий матеріал на надрукованому об’єкті, утворення комочків " +"або прищепок, або шари виглядають товщими, ніж очікувалося, і " +"неоднорідними.\n" +"Недостача матеріалу: Дуже тонкі шари, слабка міцність заповнення або " +"прогалини в верхньому шарі моделі, навіть при повільному друку.\n" +"Погана якість поверхні: Поверхня ваших друків виглядає шершавою або " +"нерівною.\n" +"Слабка міцність конструкції: Друки ламаються легко або не виглядають " +"настільки міцними, як повинні бути." 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, які утворюють піну і використовуються в моделях літаків " +"для радіокерованої авіації. Ці матеріали значно розширюються при нагріванні, " +"і калібрування надає корисну посилання на рівень потоку." msgid "" "Flow Rate Calibration measures the ratio of expected to actual extrusion " @@ -13522,6 +13921,13 @@ msgid "" "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, " @@ -13541,48 +13947,73 @@ msgid "" "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 "" +msgstr "Коли вам потрібна калібрування максимальної об'ємної швидкості" msgid "Over-extrusion or under extrusion" -msgstr "" +msgstr "Перевитрати або недостатній видавання" msgid "Max Volumetric Speed calibration is recommended when you print with:" msgstr "" +"Калібрування максимальної об'ємної швидкості рекомендується при друку з " +"такими матеріалами:" msgid "material with significant thermal shrinkage/expansion, such as..." -msgstr "" +msgstr "матеріалами зі значним термічним звуженням/розширенням, такими як..." msgid "materials with inaccurate filament diameter" -msgstr "" +msgstr "матеріалами з неточним діаметром нитки" msgid "We found the best Flow Dynamics Calibration Factor" -msgstr "" +msgstr "Ми знайшли найкращий коефіцієнт калібрування динаміки потоку" 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 "Failed" -msgstr "" +msgstr "Помилка" msgid "Please enter the name you want to save to printer." -msgstr "" +msgstr "Будь ласка, введіть ім’я, яке ви хочете зберегти на принтері." msgid "The name cannot exceed 40 characters." -msgstr "" +msgstr "Ім’я не може перевищувати 40 символів." msgid "" "Only one of the results with the same name will be saved. Are you sure you " "want to overrides the other results?" msgstr "" +"Збережено буде лише один із результатів з однаковою назвою. Ви впевнені,що " +"хочете перезаписати інші результати?" #, c-format, boost-format msgid "" @@ -13590,191 +14021,202 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to overrides the historical result?" msgstr "" +"Вже існує історичний результат калібрування з такою самою назвою: %s. " +"Зберігається лише один результат з такою самою назвою. Ви впевнені, що " +"хочете замінити історичний результат?" msgid "Please find the best line on your plate" -msgstr "" +msgstr "Будь ласка, знайдіть найкращу лінію на вашій пластині" msgid "Please find the cornor with perfect degree of extrusion" -msgstr "" +msgstr "Будь ласка, знайдіть кут із ідеальним ступенем екструзії" msgid "Input Value" -msgstr "" +msgstr "Введіть значення" msgid "Save to Filament Preset" -msgstr "" +msgstr "Зберегти в попередньому матеріалі" msgid "Preset" -msgstr "" +msgstr "Попередній" msgid "Record Factor" -msgstr "" +msgstr "Фактор запису" msgid "We found the best flow ratio for you" -msgstr "" +msgstr "Ми знайшли найкраще співвідношення потоку для вас" msgid "Flow Ratio" -msgstr "" +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 "" +msgstr "Будь ласка, введіть назву попереднього, який ви хочете зберегти." msgid "Calibration1" -msgstr "" +msgstr "Калібрування1" msgid "Calibration2" -msgstr "" +msgstr "Калібрування2" msgid "Please find the best object on your plate" -msgstr "" +msgstr "Будь ласка, знайдіть найкращий об'єкт на вашій пластині" msgid "Fill in the value above the block with smoothest top surface" -msgstr "" +msgstr "Заповніть значення над блоком з найгладшою верхньою поверхнею" msgid "Skip Calibration2" -msgstr "" +msgstr "Пропустити калібрування2" #, c-format, boost-format msgid "flow ratio : %s " -msgstr "" +msgstr "співвідношення потоку : %s " msgid "Please choose a block with smoothest top surface" -msgstr "" +msgstr "Будь ласка, виберіть блок з найгладшою верхньою поверхнею" msgid "Please choose a block with smoothest top surface." -msgstr "" +msgstr "Будь ласка, виберіть блок з найгладшою верхньою поверхнею." msgid "Please input a valid value (0 <= Max Volumetric Speed <= 60)" msgstr "" +"Будь ласка, введіть дійсне значення (0 <= Максимальна об'ємна швидкість <= " +"60)" msgid "Calibration Type" -msgstr "" +msgstr "Тип калібрування" msgid "Complete Calibration" -msgstr "" +msgstr "Повне калібрування" msgid "Fine Calibration based on flow ratio" -msgstr "" +msgstr "Точне калібрування на основі співвідношення потоку" msgid "Title" -msgstr "" +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 "" +msgstr "Параметри друку" msgid "Plate Type" -msgstr "" +msgstr "Тип стільця" msgid "filament position" -msgstr "" +msgstr "положення нитки" msgid "External Spool" -msgstr "" +msgstr "Зовнішній барабан" msgid "Filament For Calibration" -msgstr "" +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, Сімейство = Basic, Matte)" msgid "Pattern" -msgstr "" +msgstr "Зразок" msgid "Method" msgstr "Метод" #, c-format, boost-format msgid "%s is not compatible with %s" -msgstr "" +msgstr "%s несумісний з %s" msgid "TPU is not supported for Flow Dynamics Auto-Calibration." -msgstr "" +msgstr "TPU не підтримується для автокалібрування Flow Dynamics." msgid "Connecting to printer" -msgstr "" +msgstr "Підключення до принтера" msgid "From k Value" -msgstr "" +msgstr "Зі значення k" msgid "To k Value" -msgstr "" +msgstr "Для значення k" msgid "Step value" msgstr "" msgid "The nozzle diameter has been synchronized from the printer Settings" -msgstr "" +msgstr "Діаметр сопла було синхронізовано з налаштувань принтера" msgid "From Volumetric Speed" -msgstr "" +msgstr "З об'ємною швидкістю" msgid "To Volumetric Speed" -msgstr "" +msgstr "До об'ємної швидкості" msgid "Flow Dynamics Calibration Result" -msgstr "" +msgstr "Результат калібрування динаміки потоку" msgid "New" -msgstr "" +msgstr "Новий" msgid "No History Result" -msgstr "" +msgstr "Немає історії результатів" msgid "Success to get history result" -msgstr "" +msgstr "Успішно отримано історичний результат" msgid "Refreshing the historical Flow Dynamics Calibration records" -msgstr "" +msgstr "Оновлення історичних записів калібрування динаміки потоку" msgid "Action" -msgstr "" +msgstr "Дія" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "" +msgstr "Цей тип машини може зберігати лише %d результатів історії на сопло." msgid "Edit Flow Dynamics Calibration" -msgstr "" +msgstr "Редагувати калібрування динаміки потоку" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "Нове калібрування динамічного потоку" msgid "Ok" -msgstr "" +msgstr "Добре" msgid "The filament must be selected." -msgstr "" +msgstr "Філамент повинен бути обраний." msgid "Network lookup" -msgstr "" +msgstr "Мережевий пошук" msgid "Address" -msgstr "" +msgstr "Адреса" msgid "Hostname" -msgstr "" +msgstr "Ім'я хоста" msgid "Service name" -msgstr "" +msgstr "Назва служби" msgid "OctoPrint version" -msgstr "" +msgstr "Версія OctoPrint" msgid "Searching for devices" -msgstr "" +msgstr "Пошук пристроїв" msgid "Finished" -msgstr "" +msgstr "Завершено" msgid "Multiple resolved IP addresses" msgstr "" @@ -13804,7 +14246,7 @@ msgid "PA Line" msgstr "РА лінія" msgid "PA Pattern" -msgstr "" +msgstr "PA Патерн" msgid "Start PA: " msgstr "Стартовий PA: " @@ -13917,10 +14359,11 @@ msgid "Send G-Code to printer host" msgstr "" msgid "Upload to Printer Host with the following filename:" -msgstr "" +msgstr "Завантажити на хост принтера з наступним іменем файлу:" msgid "Use forward slashes ( / ) as a directory separator if needed." msgstr "" +"Використовуйте косі нахилу ( / ) як роздільник каталогів, якщо потрібно." msgid "Upload to storage" msgstr "" @@ -13928,106 +14371,107 @@ msgstr "" #, c-format, boost-format msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?" msgstr "" +"Назва файлу для завантаження не закінчується на \"%s\". Бажаєте продовжити?" msgid "Upload" -msgstr "" +msgstr "Завантаження" msgid "Print host upload queue" -msgstr "" +msgstr "Черга завантаження на хост друку" msgid "ID" -msgstr "" +msgstr "Ідентифікатор" msgid "Progress" -msgstr "" +msgstr "Прогрес" msgid "Host" -msgstr "" +msgstr "Хост" msgctxt "OfFile" msgid "Size" -msgstr "" +msgstr "Розмір" msgid "Filename" -msgstr "" +msgstr "Ім'я файлу" msgid "Cancel selected" -msgstr "" +msgstr "Скасувати вибране" msgid "Show error message" -msgstr "" +msgstr "Показати повідомлення про помилку" msgid "Enqueued" -msgstr "" +msgstr "У черзі" msgid "Uploading" -msgstr "" +msgstr "Завантаження" msgid "Cancelling" -msgstr "" +msgstr "Скасування" msgid "Error uploading to print host" msgstr "" msgid "Unable to perform boolean operation on selected parts" -msgstr "" +msgstr "Не вдається виконати булеву операцію на вибраних частинах" msgid "Mesh Boolean" -msgstr "" +msgstr "Булева операція меша" msgid "Union" -msgstr "" +msgstr "Об'єднання" msgid "Difference" -msgstr "" +msgstr "Різниця" msgid "Intersection" -msgstr "" +msgstr "Перетин" msgid "Source Volume" -msgstr "" +msgstr "Об'єм джерела" msgid "Tool Volume" -msgstr "" +msgstr "Об'єм інструмента" msgid "Subtract from" -msgstr "" +msgstr "Відняти від" msgid "Subtract with" -msgstr "" +msgstr "Відняти з" msgid "selected" -msgstr "" +msgstr "вибрані" msgid "Part 1" -msgstr "" +msgstr "Частина 1" msgid "Part 2" -msgstr "" +msgstr "Частина 2" msgid "Delete input" -msgstr "" +msgstr "Видалити вхід" msgid "Network Test" -msgstr "" +msgstr "Тест мережі" msgid "Start Test Multi-Thread" -msgstr "" +msgstr "Розпочати тестування багатопотоково" msgid "Start Test Single-Thread" -msgstr "" +msgstr "Розпочати тестування однопотоково" msgid "Export Log" -msgstr "" +msgstr "Експортувати журнал (лог)" msgid "OrcaSlicer Version:" msgstr "" msgid "System Version:" -msgstr "" +msgstr "Версія системи:" msgid "DNS Server:" -msgstr "" +msgstr "DNS-сервер:" msgid "Test OrcaSlicer(GitHub)" msgstr "" @@ -14036,92 +14480,104 @@ msgid "Test OrcaSlicer(GitHub):" msgstr "" msgid "Test Bing.com" -msgstr "" +msgstr "Tест Bing.com" msgid "Test bing.com:" -msgstr "" +msgstr "Tест bing.com:" msgid "Log Info" -msgstr "" +msgstr "Інформація журналу" msgid "Select filament preset" -msgstr "" +msgstr "Вибрати налаштування філаменту" msgid "Create Filament" -msgstr "" +msgstr "Створити Філамент" msgid "Create Based on Current Filament" -msgstr "" +msgstr "Створити на основі поточного філаменту" msgid "Copy Current Filament Preset " -msgstr "" +msgstr "Копіювати поточний набір параметрів філаменту " msgid "Basic Information" -msgstr "" +msgstr "Основна інформація" msgid "Add Filament Preset under this filament" -msgstr "" +msgstr "Додати налаштування філаменту під цим філаментом" msgid "We could create the filament presets for your following printer:" msgstr "" +"Ми можемо створити налаштування філаменту для вашого наступного принтера:" msgid "Select Vendor" -msgstr "" +msgstr "Вибрати виробника" msgid "Input Custom Vendor" -msgstr "" +msgstr "Введіть власного виробника" msgid "Can't find vendor I want" -msgstr "" +msgstr "Не можу знайти виробника, якого я хочу" msgid "Select Type" -msgstr "" +msgstr "Виберіть Тип" msgid "Select Filament Preset" -msgstr "" +msgstr "Виберіть налаштування філаменту" msgid "Serial" -msgstr "" +msgstr "Серійний номер" msgid "e.g. Basic, Matte, Silk, Marble" -msgstr "" +msgstr "наприклад, Basic, Matte, Silk, Marble" msgid "Filament Preset" -msgstr "" +msgstr "Набір параметрів філаменту" msgid "Create" -msgstr "" +msgstr "Створити" msgid "Vendor is not selected, please reselect vendor." -msgstr "" +msgstr "Виробник не вибраний. Будь ласка, перевиберіть виробника." msgid "Custom vendor is not input, please input custom vendor." msgstr "" +"Власного виробника не введено. Будь ласка, введіть інформацію про власного " +"виробника." msgid "" "\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." msgstr "" +"“Bambu” або “Generic” не може бути використано як виробник для власних " +"налаштувань філаменту." msgid "Filament type is not selected, please reselect type." -msgstr "" +msgstr "Тип філаменту не вибраний. Будь ласка, перевиберіть тип." msgid "Filament serial is not inputed, please input 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 can not be a number. Please re-enter." -msgstr "" +msgstr "Виробник не може бути числом. Будь ласка, введіть ще раз." msgid "" "You have not selected a printer or preset yet. Please select at least one." msgstr "" +"Ви ще не вибрали принтер або налаштування. Будь ласка, виберіть принаймні " +"одне з них." #, c-format, boost-format msgid "" @@ -14129,14 +14585,19 @@ msgid "" "If you continue creating, 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 "" +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" @@ -14145,114 +14606,120 @@ msgid "" msgstr "" msgid "Create Printer/Nozzle" -msgstr "" +msgstr "Створити Принтер/Сопло" msgid "Create Printer" -msgstr "" +msgstr "Принтер" msgid "Create Nozzle for Existing Printer" -msgstr "" +msgstr "Створити сопло для існуючого принтера" msgid "Create from Template" -msgstr "" +msgstr "Створити з шаблону" msgid "Create Based on Current Printer" -msgstr "" +msgstr "Створити на основі поточного принтера" msgid "Import Preset" -msgstr "" +msgstr "Імпорт набору параметрів" msgid "Create Type" -msgstr "" +msgstr "Тип" msgid "The model is not fond, place reselect vendor." -msgstr "" +msgstr "Модель не знайдено. Будь ласка, перевиберіть виробника." msgid "Select Model" -msgstr "" +msgstr "Виберіть модель" msgid "Select Printer" -msgstr "" +msgstr "Виберіть принтер" msgid "Input Custom Model" -msgstr "" +msgstr "Введіть власну модель" msgid "Can't find my printer model" -msgstr "" +msgstr "Не можу знайти свою модель принтера" msgid "Rectangle" -msgstr "" +msgstr "Прямокутник" msgid "Printable Space" -msgstr "" +msgstr "Простір для друку" msgid "X" -msgstr "" +msgstr "X" msgid "Y" -msgstr "" +msgstr "Y" msgid "Hot Bed STL" -msgstr "" +msgstr "STL файл для гарячого столу" msgid "Load stl" -msgstr "" +msgstr "Завантажити STL" msgid "Hot Bed SVG" -msgstr "" +msgstr "SVG для гарячого ліжка" msgid "Load svg" -msgstr "" +msgstr "Завантажити SVG" msgid "Max Print Height" -msgstr "" +msgstr "Максимальна висота друку" #, c-format, boost-format msgid "The file exceeds %d MB, please import again." -msgstr "" +msgstr "Файл перевищує %d МБ, будь ласка, імпортуйте знову." msgid "Exception in obtaining file size, please import again." msgstr "" +"Виникла помилка під час визначення розміру файлу, будь ласка, імпортуйте " +"знову." msgid "Preset path is not find, please reselect vendor." -msgstr "" +msgstr "Шлях до налаштувань не знайдено. Будь ласка, перевиберіть виробника." msgid "The printer model was not found, please reselect." -msgstr "" +msgstr "Модель принтера не було знайдено. Будь ласка, перевиберіть її." msgid "The nozzle diameter is not fond, place reselect." -msgstr "" +msgstr "Діаметр сопла не знайдено. Будь ласка, перевиберіть його." msgid "The printer preset is not fond, place reselect." -msgstr "" +msgstr "Налаштування принтера не знайдено. Будь ласка, перевиберіть його." msgid "Printer Preset" -msgstr "" +msgstr "Набір параметрів принтера" msgid "Filament Preset Template" -msgstr "" +msgstr "Шаблон набору параметрів філаменту" msgid "Deselect All" -msgstr "" +msgstr "Скасувати вибір всіх" msgid "Process Preset Template" -msgstr "" +msgstr "Шаблон набору параметрів процесу" msgid "Back Page 1" -msgstr "" +msgstr "Повернутися на 1 сторінку" 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 custom printer or model is not inputed, place input." -msgstr "" +msgstr "Власна модель або принтер не введені. Будь ласка, введіть дані." msgid "" "The printer preset you created already has a preset with the same name. Do " @@ -14263,60 +14730,77 @@ msgid "" "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 "" +msgstr "Вам потрібно вибрати принаймні одне налаштування філаменту." msgid "You need to select at least one process preset." -msgstr "" +msgstr "Вам потрібно вибрати принаймні одне налаштування процесу." msgid "Create filament presets failed. As follows:\n" -msgstr "" +msgstr "Створення налаштувань філаменту не вдалося. Ось докладніше:\n" msgid "Create process presets failed. As follows:\n" -msgstr "" +msgstr "Створення налаштувань процесу не вдалося. Ось докладніше:\n" msgid "Vendor is not find, please reselect." -msgstr "" +msgstr "Виробника не знайдено, будь ласка, перевиберіть." msgid "Current vendor has no models, please reselect." -msgstr "" +msgstr "Поточний виробник не має моделей, будь ласка, перевиберіть." msgid "" "You have not selected the vendor and model or inputed 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 "Create Printer Successful" -msgstr "" +msgstr "Створення принтера успішно завершено" msgid "Create Filament Successful" -msgstr "" +msgstr "Створення філаменту успішно завершено" msgid "Printer Created" -msgstr "" +msgstr "Принтер створено" msgid "Please go to printer settings to edit your presets" msgstr "" +"Будь ласка, перейдіть до налаштувань принтера, щоб редагувати свої " +"налаштування" msgid "Filament Created" -msgstr "" +msgstr "Філамент створено" msgid "" "Please go to filament setting to edit your presets if you need.\n" @@ -14324,6 +14808,11 @@ msgid "" "volumetric speed has a significant impact on printing quality. Please set " "them carefully." msgstr "" +"Будь ласка, перейдіть до налаштувань філаменту, щоб відредагувати свої " +"налаштування, якщо потрібно. \n" +"Зверніть увагу, що температура насадки, температура гарячого ліжка і " +"максимальна об’ємна швидкість мають значний вплив на якість друку. Будь " +"ласка, встановіть їх обережно." msgid "" "\n" @@ -14335,7 +14824,7 @@ msgid "" msgstr "" msgid "Printer Setting" -msgstr "" +msgstr "Налаштування принтера" msgid "Printer config bundle(.orca_printer)" msgstr "" @@ -14344,31 +14833,31 @@ msgid "Filament bundle(.orca_filament)" msgstr "" msgid "Printer presets(.zip)" -msgstr "" +msgstr "Налаштування принтера (.zip)" msgid "Filament presets(.zip)" -msgstr "" +msgstr "Налаштування філаменту (.zip)" msgid "Process presets(.zip)" -msgstr "" +msgstr "Налаштування процесу (.zip)" msgid "initialize fail" -msgstr "" +msgstr "помилка ініціалізації" msgid "add file fail" -msgstr "" +msgstr "помилка додавання файлу" msgid "add bundle structure file fail" -msgstr "" +msgstr "помилка додавання файлу структури пакунка" msgid "finalize fail" -msgstr "" +msgstr "помилка завершення" msgid "open zip written fail" -msgstr "" +msgstr "помилка відкриття записаного файлу ZIP" msgid "Export successful" -msgstr "" +msgstr "Експорт успішний" #, c-format, boost-format msgid "" @@ -14377,6 +14866,10 @@ msgid "" "If not, a time suffix will be added, and you can modify the name after " "creation." msgstr "" +"Папка ‘%s’ вже існує в поточному каталозі. Бажаєте очистити її і побудувати " +"заново?\n" +"Якщо ні, буде додано суфікс з часом, і ви зможете змінити ім’я після " +"створення." msgid "" "Printer and all the filament&&process presets that belongs to the printer. \n" @@ -14387,54 +14880,76 @@ msgid "" "User's fillment 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 "" +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" +"і всі налаштування філаменту користувача для кожної вибраної назви " +"філаменту \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" +"і всі налаштування процесу користувача для кожної вибраної назви принтера " +"будуть \n" +"експортовані у форматі ZIP." msgid "Please select at least one printer or filament." -msgstr "" +msgstr "Будь ласка, виберіть принаймні один принтер або філамент." msgid "Please select a type you want to export" -msgstr "" +msgstr "Будь ласка, виберіть тип, який ви хочете експортувати" msgid "Failed to create temporary folder, please try Export Configs again." msgstr "" +"Не вдалося створити тимчасову теку. Будь ласка, спробуйте експортувати " +"налаштування знову." msgid "Edit Filament" -msgstr "" +msgstr "Редагувати філамент" msgid "Filament presets under this filament" -msgstr "" +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 can not be deleted" msgstr "" +"Налаштування, що успадковуються іншими налаштуваннями, не можуть бути " +"видалені" msgid "The following presets inherits this preset." msgid_plural "The following preset inherits this preset." @@ -14443,75 +14958,87 @@ msgstr[1] "" msgstr[2] "" msgid "Delete Preset" -msgstr "" +msgstr "Видалити пресет" msgid "Are you sure to delete the selected preset?" -msgstr "" +msgstr "Ви впевнені, що хочете видалити вибраний пресет?" msgid "Delete preset" -msgstr "" +msgstr "Видалити пресет" msgid "+ Add Preset" -msgstr "" +msgstr "+ Додати пресет" msgid "Delete Filament" -msgstr "" +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 "" +msgstr "Видалити філамент" msgid "Add Preset" -msgstr "" +msgstr "Додати пресет" msgid "Add preset for new printer" -msgstr "" +msgstr "Додати налаштування для нового принтера" msgid "Copy preset from filament" -msgstr "" +msgstr "Скопіювати налаштування з філаменту" msgid "The filament choice not find filament preset, please reselect it" msgstr "" +"Вибір філаменту не знайдено в налаштуваннях філаменту. Будь ласка, " +"перевиберіть його" msgid "[Delete Required]" -msgstr "" +msgstr "[Потрібно видалення]" msgid "Edit Preset" -msgstr "" +msgstr "Редагувати налаштування" msgid "For more information, please check out Wiki" -msgstr "" +msgstr "Для отримання додаткової інформації, будь ласка, перевірте Вікі" msgid "Collapse" -msgstr "" +msgstr "Згорнути" msgid "Daily Tips" -msgstr "" +msgstr "Щоденні поради" msgid "" "Your nozzle diameter in preset is not consistent with memorized nozzle " "diameter. Did you change your nozzle lately?" msgstr "" +"Діаметр вашого сопла в налаштуваннях не відповідає запам’ятованому діаметру " +"сопла. Чи змінювали ви своє сопло останнім часом?" #, c-format, boost-format msgid "*Printing %s material with %s may cause nozzle damage" msgstr "" +"*Друк матеріалу %s з використанням сопла %s може призвести до пошкодження " +"сопла" msgid "Need select printer" -msgstr "" +msgstr "Потрібно вибрати принтер" msgid "The start, end or step is not valid value." -msgstr "" +msgstr "Початок, кінець або крок не є дійсним значенням." 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 "Фізичний принтер" @@ -14567,72 +15094,74 @@ msgstr "Не вдалося підключитися до принтерів, п #, c-format, boost-format msgid "Mismatched type of print host: %s" -msgstr "" +msgstr "Невідповідність типу принт-сервера: %s" msgid "Connection to AstroBox works correctly." -msgstr "" +msgstr "З’єднання з AstroBox працює коректно." msgid "Could not connect to AstroBox" -msgstr "" +msgstr "Не вдалося з’єднатися з AstroBox" msgid "Note: AstroBox version at least 1.1.0 is required." -msgstr "" +msgstr "Примітка: Для AstroBox потрібна версія щонайменше 1.1.0." msgid "Connection to Duet works correctly." -msgstr "" +msgstr "З’єднання з Duet працює коректно." msgid "Could not connect to Duet" -msgstr "" +msgstr "Не вдалося з’єднатися з Duet" msgid "Unknown error occured" -msgstr "" +msgstr "Сталася невідома помилка" msgid "Wrong password" -msgstr "" +msgstr "Неправильний пароль" msgid "Could not get resources to create a new connection" -msgstr "" +msgstr "Не вдалося отримати ресурси для створення нового з’єднання" msgid "Upload not enabled on FlashAir card." -msgstr "" +msgstr "Завантаження не активовано на картці FlashAir." msgid "Connection to FlashAir works correctly and upload is enabled." -msgstr "" +msgstr "З’єднання з FlashAir працює коректно, і завантаження активовано." msgid "Could not connect to FlashAir" -msgstr "" +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 works correctly." -msgstr "" +msgstr "З’єднання з MKS працює коректно." msgid "Could not connect to MKS" -msgstr "" +msgstr "Не вдалося підключитися до MKS" msgid "Connection to OctoPrint works correctly." -msgstr "" +msgstr "Підключення до OctoPrint працює правильно." msgid "Could not connect to OctoPrint" -msgstr "" +msgstr "Не вдалося підключитися до OctoPrint" msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "" +msgstr "Примітка. Потрібна версія OctoPrint не нижче 1.1.0." msgid "Connection to Prusa SL1 / SL1S works correctly." -msgstr "" +msgstr "Підключення до Prusa SL1 / SL1S працює правильно." msgid "Could not connect to Prusa SLA" -msgstr "" +msgstr "Не вдалося підключитися до Prusa SLA" msgid "Connection to PrusaLink works correctly." -msgstr "" +msgstr "Підключення до PrusaLink працює коректно." msgid "Could not connect to PrusaLink" -msgstr "" +msgstr "Не вдалося підключитися до PrusaLink" msgid "Storages found" msgstr "" @@ -14659,19 +15188,21 @@ msgid "Could not connect to Prusa Connect" msgstr "" msgid "Connection to Repetier works correctly." -msgstr "" +msgstr "Підключення до Repetier працює правильно." msgid "Could not connect to Repetier" -msgstr "" +msgstr "Не вдалося підключитися до Repetier" msgid "Note: Repetier version at least 0.90.0 is required." -msgstr "" +msgstr "Примітка: потрібна версія Repetier принаймні 0.90.0." #, boost-format msgid "" "HTTP status: %1%\n" "Message body: \"%2%\"" msgstr "" +"Статус HTTP: %1%\n" +"Тіло повідомлення: “%2%" #, boost-format msgid "" @@ -14679,6 +15210,9 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"Помилка аналізу відповіді хоста.\n" +"Тіло повідомлення: “%1%”\n" +"Помилка: “%2%”" #, boost-format msgid "" @@ -14686,35 +15220,54 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"Помилка переліку хост-принтерів.\n" +"Тіло повідомлення: “%1%”\n" +"Помилка: “%2%”" msgid "" "It has a small layer height, and results in almost negligible layer lines " "and high printing quality. It is suitable for most general 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. So, it results in " "much higher printing quality, but a much longer printing time." msgstr "" +"Порівняно з типовим профілем для насадки 0,2 мм, він має менші швидкості і " +"прискорення, а також розріджену структуру наповнення у вигляді гіроїда. " +"Таким чином, він забезпечує значно вищу якість друку, але при цьому " +"друкується значно довше." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" +"Порівняно з типовим профілем для насадки 0,2 мм, він має трохи більшу висоту " +"шару, що призводить до майже непомітних ліній шаруватості та трохи коротший " +"час друку." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " "height, and results in slightly visible layer lines, but shorter printing " "time." msgstr "" +"Порівняно з типовим профілем для насадки 0,2 мм, він має більшу висоту шару, " +"що призводить до слабко видимих ліній шаруватості, але при цьому друкується " +"трохи швидше." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " "height, and results in almost invisible layer lines and higher printing " "quality, but shorter printing time." msgstr "" +"Порівняно з типовим профілем для насадки 0,2 мм, це має меншу висоту шару, і " +"результатом є майже невидимі лінії шару та вища якість друку, але коротший " +"час друку." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14722,12 +15275,20 @@ msgid "" "Gyroid. So, it results in almost invisible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"Порівняно з типовим профілем для насадки 0,2 мм, цей профіль має меншу " +"кількість ліній шарування, менші швидкості і прискорення, і розріджене " +"наповнення виконане у вигляді геометрії “Gyroid”. Таким чином, він " +"забезпечує майже невидимі лінії шарування та значно вищу якість друку, але " +"довший час друку." msgid "" "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " "height, and results in minimal layer lines and higher printing quality, but " "shorter printing time." msgstr "" +"Порівняно з типовим профілем для насадки діаметром 0,2 мм, цей профіль має " +"меншу висоту шару, що призводить до мінімальних ліній шарування та вищої " +"якості друку, але скорочує час друку." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14735,35 +15296,55 @@ msgid "" "Gyroid. So, it results in minimal layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"Порівняно з типовим профілем для насадки 0,2 мм, цей профіль має меншу " +"кількість ліній шарування, менші швидкості та прискорення, а також " +"розріджене наповнення виконане у вигляді геометрії “Gyroid”. Таким чином, " +"він забезпечує мінімальні лінії шарування та значно вищу якість друку, але " +"збільшує час друку." msgid "" "It has a general layer height, and results in general layer lines and " "printing quality. It is suitable for most general 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. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"Порівняно з типовим профілем для насадки діаметром 0,4 мм, цей профіль має " +"більше кількість обводок стін та вищу щільність розрідженого наповнювача. " +"Таким чином, він забезпечує більшу міцність друків, але вимагає більше " +"витрати філаменту та більшого часу друку." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but slightly shorter printing time." msgstr "" +"Порівняно з типовим профілем для насадки діаметром 0,4 мм, цей профіль має " +"більшу висоту шару, що призводить до більш помітних ліній шарування та " +"меншої якості друку, але трохи скорочує час друку." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time." msgstr "" +"Порівняно з типовим профілем для насадки діаметром 0,4 мм, цей профіль має " +"більшу висоту шару, що призводить до більш помітних ліній шарування та " +"меншої якості друку, але скорочує час друку." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"Порівняно з типовим профілем для насадки діаметром 0,4 мм, цей профіль має " +"меншу висоту шару, що призводить до менш помітних ліній шарування та вищої " +"якості друку, але збільшує час друку." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14771,12 +15352,20 @@ msgid "" "Gyroid. So, it results in less apparent layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"Порівняно з типовим профілем для насадки діаметром 0,4 мм, цей профіль має " +"меншу висоту шару, менші швидкості і прискорення, а також розріджений " +"внутрішній наповнювач у вигляді геоіда. Таким чином, це призводить до менш " +"помітних ліній шарування та значно вищої якості друку, але збільшує час " +"друку." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and higher printing " "quality, but longer printing time." msgstr "" +"Порівняно з типовим профілем для насадки діаметром 0,4 мм, цей профіль має " +"меншу висоту шару, що призводить до майже непомітних ліній шарування та " +"вищої якості друку, але збільшує час друку." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14784,64 +15373,97 @@ msgid "" "Gyroid. So, it results in almost negligible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"Порівняно з типовим профілем для насадки діаметром 0,4 мм, цей профіль має " +"меншу висоту шару, менші швидкості та прискорення, а також розріджений " +"малюнок наповнення у вигляді геоїда. Тому він має майже непомітні лінії " +"шарування і набагато вищу якість друку, але значно довший час друку." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and longer printing " "time." msgstr "" +"Порівняно з типовим профілем для насадки діаметром 0,4 мм, цей профіль має " +"меншу висоту шару, що призводить до майже непомітних ліній шарування, але " +"також збільшує час друку." msgid "" "It has a big layer height, and results in apparent layer lines and ordinary " "printing quality and printing 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. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"Порівняно з типовим профілем з 0,6 мм сопла, він має більше стінних петель і " +"вищу щільність розрідженого наповнювача. Таким чином, він забезпечує більшу " +"міцність друків, але споживає більше філаменту і має довший час друку." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time in some printing cases." msgstr "" +"Порівняно з типовим профілем з 0,6 мм сопла, він має більшу висоту шару, що " +"призводить до більш помітних ліній шару та нижчої якості друку, але " +"коротшого часу друку у деяких випадках друку." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in much more apparent layer lines and much lower " "printing quality, but shorter printing time in some printing cases." msgstr "" +"Порівняно з типовим профілем з 0,6 мм сопла, він має більшу висоту шару, що " +"призводить до набагато більш помітних ліній шару та значно нижчої якості " +"друку, але коротшого часу друку у деяких випадках друку." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and slight higher printing " "quality, but longer printing time." msgstr "" +"Порівняно з типовим профілем з 0,6 мм сопла, він має меншу висоту шару, що " +"призводить до менш помітних ліній шару і трохи вищої якості друку, але " +"довшого часу друку." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"Порівняно з типовим профілем з 0,6 мм сопла, він має меншу висоту шару, що " +"призводить до менш помітних ліній шару та вищої якості друку, але більш " +"тривалого часу друку." msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" +"Він має дуже велику висоту шару, що призводить до дуже помітних ліній шару, " +"низької якості друку і загального часу друку." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " "height, and results in very apparent layer lines and much lower printing " "quality, but shorter printing time in some printing cases." msgstr "" +"Порівняно з типовим профілем для сопла 0,8 мм, цей профіль має більшу висоту " +"шару, що призводить до дуже помітних ліній шару і значно нижчої якості " +"друку, але коротшого часу друку у деяких випадках друку." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " "layer height, and results in extremely apparent layer lines and much lower " "printing quality, but much shorter printing time in some printing cases." msgstr "" +"Порівняно з типовим профілем для сопла 0,8 мм, цей профіль має набагато " +"більшу висоту шару, що призводить до надзвичайно помітних ліній шару і " +"значно нижчої якості друку, але набагато коротшого часу друку у деяких " +"випадках друку." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -14849,12 +15471,18 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" +"Порівняно з типовим профілем для сопла 0,8 мм, цей профіль має трохи меншу " +"висоту шару, що призводить до трохи менше, але все ще помітних ліній шару і " +"трохи вищої якості друку, але довшого часу друку у деяких випадках друку." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " "height, and results in less but still apparent layer lines and slightly " "higher printing quality, but longer printing time in some printing cases." msgstr "" +"Порівняно з типовим профілем для сопла 0,8 мм, цей профіль має меншу висоту " +"шару, що призводить до менше, але все ще помітних ліній шару і трохи вищої " +"якості друку, але довшого часу друку у деяких випадках друку." msgid "Connected to Obico successfully!" msgstr "" @@ -14980,6 +15608,9 @@ msgid "" "Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " "problems on the Windows system?" msgstr "" +"Виправлення моделі\n" +"Чи знаєте ви, що ви можете виправити пошкоджену 3D-модель, щоб уникнути " +"багатьох проблем з нарізанням (slicing) на операційній системі Windows?" #: resources/data/hints.ini: [hint:Timelapse] msgid "" @@ -15092,6 +15723,10 @@ msgid "" "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 "" @@ -15219,6 +15854,11 @@ msgid "" "extruder/hotend clogging when printing lower temperature filament with a " "higher enclosure temperature. More info about this in the Wiki." msgstr "" +"Коли потрібно друкувати з відкритими дверцятами принтера\n" +"Чи знаєте ви, що відкриття дверцят принтера може знизити ймовірність " +"засмічення екструдера/гарячого блока при друку низькотемпературного " +"філаменту при вищій температурі усередині корпусу? Більше інформації " +"знаходиться в Вікі." #: resources/data/hints.ini: [hint:Avoid warping] msgid "" @@ -15227,6 +15867,13 @@ msgid "" "ABS, appropriately increasing the heatbed temperature can reduce the " "probability of warping." msgstr "" +"Уникнення деформації\n" +"Чи знаєте ви, що при друку матеріалами, схильними до деформації, такими як " +"ABS, відповідне підвищення температури гарячого ліжка може зменшити " +"ймовірність деформації." + +#~ msgid "V" +#~ msgstr "V" #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po index 998cfc8a0c6..f125af2b387 100644 --- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po +++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Slic3rPE\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: 2023-04-01 13:21+0800\n" "Last-Translator: SoftFever \n" "Language-Team: \n" @@ -106,7 +106,7 @@ msgid "Support Generated" msgstr "已生成支撑" msgid "Gizmo-Place on Face" -msgstr "" +msgstr "选择底面" msgid "Lay on face" msgstr "选择底面" @@ -186,13 +186,13 @@ msgid "Move" msgstr "移动" msgid "Gizmo-Move" -msgstr "" +msgstr "Gizmo-移动" msgid "Rotate" msgstr "旋转" msgid "Gizmo-Rotate" -msgstr "" +msgstr "Gizmo-旋转" msgid "Optimize orientation" msgstr "优化朝向" @@ -204,7 +204,7 @@ msgid "Scale" msgstr "缩放" msgid "Gizmo-Scale" -msgstr "" +msgstr "缩放工具" msgid "Error: Please close all toolbar menus first" msgstr "错误:请先关闭所有工具栏菜单" @@ -283,7 +283,7 @@ msgid "Auto" msgstr "自动" msgid "Manual" -msgstr "" +msgstr "手动" msgid "Plug" msgstr "插销" @@ -616,13 +616,13 @@ msgid "Remove selection" msgstr "移除绘制" msgid "Entering Seam painting" -msgstr "" +msgstr "进入Z缝绘制" msgid "Leaving Seam painting" -msgstr "" +msgstr "退出Z缝绘制" msgid "Paint-on seam editing" -msgstr "" +msgstr "编辑手绘填缝" #. TRN - Input label. Be short as possible #. Select look of letter shape @@ -670,7 +670,7 @@ msgid "Text move" msgstr "" msgid "Set Mirror" -msgstr "" +msgstr "设置镜像" msgid "Embossed text" msgstr "" @@ -757,7 +757,7 @@ 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 "" +msgstr "不能更改对象的最后一个实体部分的类型。" msgctxt "EmbossOperation" msgid "Cut" @@ -903,19 +903,19 @@ msgstr "" msgctxt "Alignment" msgid "Left" -msgstr "" +msgstr "左面" msgctxt "Alignment" msgid "Center" -msgstr "" +msgstr "居中" msgctxt "Alignment" msgid "Right" -msgstr "" +msgstr "右面" msgctxt "Alignment" msgid "Top" -msgstr "" +msgstr "顶部" msgctxt "Alignment" msgid "Middle" @@ -923,7 +923,7 @@ msgstr "" msgctxt "Alignment" msgid "Bottom" -msgstr "" +msgstr "底部" msgid "Revert alignment." msgstr "" @@ -1187,7 +1187,7 @@ msgid "Lock/unlock the aspect ratio of the SVG." msgstr "" msgid "Reset scale" -msgstr "" +msgstr "重置缩放" msgid "Distance of the center of the SVG to the model surface." msgstr "" @@ -1196,7 +1196,7 @@ msgid "Reset distance" msgstr "" msgid "Reset rotation" -msgstr "" +msgstr "重置旋转" msgid "Lock/unlock rotation angle when dragging above the surface." msgstr "" @@ -1274,7 +1274,7 @@ msgid "Restart selection" msgstr "重新选择" msgid "Esc" -msgstr "" +msgstr "Esc" msgid "Unselect" msgstr "取消选择" @@ -1352,9 +1352,6 @@ msgid "" "Configuration file \"%1%\" was loaded, but some values were not recognized." msgstr "配置文件“%1%”已被加载,但部分数值未被识别。" -msgid "V" -msgstr "V" - 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." @@ -1454,6 +1451,9 @@ 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 "" + msgid "Choose one file (gcode/3mf):" msgstr "选择一个文件(gcode/3mf):" @@ -1517,6 +1517,11 @@ 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 "" + msgid "Import File" msgstr "导入文件" @@ -2337,7 +2342,7 @@ msgid "AMS not connected" msgstr "AMS 未连接" msgid "Load" -msgstr "" +msgstr "进料" msgid "Unload" msgstr "退料" @@ -2399,7 +2404,7 @@ msgstr "咬入耗材丝" msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." -msgstr "" +msgstr "选择1个AMS槽位,然后点击进料/退料按钮以自动进料/退料。" msgid "Edit" msgstr "编辑" @@ -2481,13 +2486,13 @@ msgid "Bed filling done." msgstr "填充热床已完成。" msgid "Searching for optimal orientation" -msgstr "" +msgstr "搜索最佳方向" msgid "Orientation search canceled." -msgstr "" +msgstr "方向搜索已取消。" msgid "Orientation found." -msgstr "" +msgstr "找到方向。" msgid "Logging in" msgstr "登录中" @@ -2849,6 +2854,8 @@ msgid "" "desiccant pack is changed. it take hours to absorb the moisture, low " "temperatures also slow down the process." msgstr "" +"当干燥剂过于潮湿时,请及时更换。以下几种情况下,指示器可能无法准确反映情况:盖子" +"打开或干燥剂包被替换时。干燥剂需要数小时吸收潮气,低温也会延缓该过程。" msgid "" "Config which AMS slot should be used for a filament used in the print job" @@ -2922,6 +2929,8 @@ 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 " @@ -2967,12 +2976,12 @@ msgid "" msgstr "AMS料材丝耗尽后将自动切换到属性完全相同的耗材丝" msgid "Air Printing Detection" -msgstr "" +msgstr "空打检测" msgid "" "Detects clogging and filament grinding, halting printing immediately to " "conserve time and filament." -msgstr "" +msgstr "检测到堵塞和耗材丝碾磨,立即停止打印以节约时间和耗材丝" msgid "File" msgstr "文件" @@ -3043,7 +3052,7 @@ msgid "Running post-processing scripts" msgstr "运行后处理脚本" msgid "Successfully executed post-processing script" -msgstr "" +msgstr "成功执行后处理脚本" msgid "Unknown error occured during exporting G-code." msgstr "" @@ -3082,7 +3091,7 @@ msgstr "" #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr "G 代码文件导出到 %1%" msgid "Unknown error when export G-code." msgstr "导出G-code文件发生未知错误。" @@ -3108,30 +3117,30 @@ msgid "Device" msgstr "设备" msgid "Task Sending" -msgstr "" +msgstr "正在发送的任务" msgid "Task Sent" -msgstr "" +msgstr "已发送的任务" msgid "Edit multiple printers" -msgstr "" +msgstr "编辑多个打印机" msgid "Select connected printetrs (0/6)" -msgstr "" +msgstr "选择已连接的打印机 (0/6)" #, c-format, boost-format msgid "Select Connected Printetrs (%d/6)" -msgstr "" +msgstr "选择已连接的打印机 (%d/6)" #, c-format, boost-format msgid "The maximum number of printers that can be selected is %d" -msgstr "" +msgstr "可以选择的打印机数量最多为 %d。" msgid "Offline" msgstr "离线" msgid "No task" -msgstr "" +msgstr "没有任务" msgid "View" msgstr "视图" @@ -3140,23 +3149,23 @@ msgid "N/A" msgstr "N/A" msgid "Edit Printers" -msgstr "" +msgstr "编辑打印机" msgid "Device Name" -msgstr "" +msgstr "设备名" msgid "Task Name" -msgstr "" +msgstr "任务名" msgid "Device Status" -msgstr "" +msgstr "设备状态" msgid "Actions" -msgstr "" +msgstr "动作" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" -msgstr "" +msgstr "请在此处选择您想管理的设备(最多6个设备)。" msgid "Add" msgstr "添加" @@ -3168,7 +3177,7 @@ msgid "Printing" msgstr "打印中" msgid "Upgrading" -msgstr "" +msgstr "升级中" msgid "Incompatible" msgstr "不兼容的预设" @@ -3195,7 +3204,7 @@ msgid "Pending" msgstr "" msgid "Sending" -msgstr "" +msgstr "发送中" msgid "Sending Finish" msgstr "" @@ -3222,25 +3231,25 @@ msgid "Stop" msgstr "停止" msgid "Task Status" -msgstr "" +msgstr "任务状态" msgid "Sent Time" -msgstr "" +msgstr "发送时间" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "没有任务正在发送!" msgid "No historical tasks!" -msgstr "" +msgstr "没有历史任务!" msgid "Loading..." msgstr "正在加载视频……" msgid "No AMS" -msgstr "" +msgstr "没有AMS" msgid "Send to Multi-device" -msgstr "" +msgstr "发送到多设备" msgid "Preparing print job" msgstr "正在准备打印任务" @@ -3249,28 +3258,37 @@ msgid "Abnormal print file data. Please slice again" msgstr "打印文件数据异常,请重新切片" msgid "There is no device available to send printing." -msgstr "" +msgstr "没有可用于发送打印的设备。" msgid "The number of printers in use simultaneously cannot be equal to 0." -msgstr "" +msgstr "同时使用的打印机数量不能等于0。" msgid "Use External Spool" -msgstr "" +msgstr "使用外挂料卷" msgid "Use AMS" -msgstr "" +msgstr "使用AMS" msgid "Select Printers" -msgstr "" +msgstr "选择打印机" msgid "Ams Status" -msgstr "" +msgstr "AMS状态" msgid "Printing Options" +msgstr "打印选项" + +msgid "Bed Leveling" +msgstr "热床调平" + +msgid "Timelapse" +msgstr "延时摄影" + +msgid "Flow Dynamic Calibration" msgstr "" msgid "Send Options" -msgstr "" +msgstr "发送选项" msgid "Send" msgstr "发送" @@ -3278,14 +3296,14 @@ msgstr "发送" msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" -msgstr "" +msgstr "打印机在同一时间。(这取决于有多少设备可以接受同时加热。)" msgid "Wait" -msgstr "" +msgstr "等待" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" -msgstr "" +msgstr "分钟发送一次。(这取决于完成加热需要多长时间。)" msgid "Name is invalid;" msgstr "无效名称;" @@ -3376,15 +3394,15 @@ msgstr "热床形状" msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" -msgstr "" +msgstr "建议最低温度低于 190 度或建议最高温度高于 300 度。\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " "maximum temperature.\n" -msgstr "" +msgstr "推荐最低温度不能大于推荐最高温度。\n" msgid "Please check.\n" -msgstr "" +msgstr "请检查。\n" msgid "" "Nozzle may be blocked when the temperature is out of recommended range.\n" @@ -3770,7 +3788,7 @@ msgid "Dimensions" msgstr "" msgid "Temperatures" -msgstr "" +msgstr "温度" msgid "Timestamps" msgstr "" @@ -3810,7 +3828,7 @@ msgstr "参数验证" #, c-format, boost-format msgid "Value %s is out of range. The valid range is from %d to %d." -msgstr "" +msgstr "值 %s 超出了范围,有效的范围是从 %d 到 %d 。" msgid "Value is out of range." msgstr "值越界。" @@ -4001,10 +4019,10 @@ msgid "Normal mode" msgstr "普通模式" msgid "Total Filament" -msgstr "" +msgstr "总耗材丝" msgid "Model Filament" -msgstr "" +msgstr "模型耗材丝" msgid "Prepare time" msgstr "准备时间" @@ -4101,7 +4119,7 @@ msgid "Spacing" msgstr "间距" msgid "0 means auto spacing." -msgstr "" +msgstr "0 表示自动间距。" msgid "Auto rotate for arrangement" msgstr "自动旋转以优化自动摆放效果" @@ -4245,7 +4263,7 @@ msgid "Go Live" msgstr "开启直播" msgid "Liveview Retry" -msgstr "" +msgstr "实时预览重试" msgid "Resolution" msgstr "分辨率" @@ -4303,7 +4321,7 @@ msgid "Preview" msgstr "预览" msgid "Multi-device" -msgstr "" +msgstr "多设备" msgid "Project" msgstr "项目" @@ -4449,6 +4467,12 @@ msgstr "导入 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "加载模型" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + msgid "Import Configs" msgstr "导入预设" @@ -4483,7 +4507,7 @@ msgid "Export current plate as G-code" msgstr "导出当前盘的G-code" msgid "Export Preset Bundle" -msgstr "" +msgstr "导出预设包" msgid "Export current configuration to files" msgstr "导出当前选择的预设" @@ -4748,45 +4772,45 @@ msgid "The device cannot handle more conversations. Please retry later." msgstr "设备无法处理更多的对话。请稍后重试。" msgid "Player is malfunctioning. Please reinstall the system player." -msgstr "" +msgstr "播放器异常,请重新安装系统播放器。" msgid "The player is not loaded, please click \"play\" button to retry." -msgstr "" +msgstr "未能加载播放器,请重新点击“播放”按钮。" msgid "Please confirm if the printer is connected." -msgstr "" +msgstr "请确认打印机是否连接成功。" msgid "" "The printer is currently busy downloading. Please try again after it " "finishes." -msgstr "" +msgstr "打印机正在忙于下载,请等下载完成后再尝试。" msgid "Printer camera is malfunctioning." -msgstr "" +msgstr "打印机摄像头异常。" msgid "Problem occured. Please update the printer firmware and try again." -msgstr "" +msgstr "出现了一些问题。请更新打印机固件后重试。" msgid "" "LAN Only Liveview is off. Please turn on the liveview on printer screen." -msgstr "" +msgstr "局域网模式直播未开启,请前往打印机屏幕开启。" msgid "Please enter the IP of printer to connect." -msgstr "" +msgstr "请输入打印机IP后尝试连接。" msgid "Initializing..." msgstr "正在初始化……" msgid "Connection Failed. Please check the network and try again" -msgstr "" +msgstr "链接失败。请检查网络后重试" msgid "" "Please check the network and try again, You can restart or update the " "printer if the issue persists." -msgstr "" +msgstr "检查网络后重试。如仍未恢复,可重启或更新打印机。" msgid "The printer has been logged out and cannot connect." -msgstr "" +msgstr "打印机已注销,无法连接。" msgid "Stopped." msgstr "已经停止。" @@ -4842,9 +4866,6 @@ msgstr "按月份分组,从最近的开始展示" msgid "Show all files, recent first." msgstr "显示所有文件,从最近的开始展示" -msgid "Timelapse" -msgstr "延时摄影" - msgid "Switch to timelapse files." msgstr "切换到延时摄影文件列表" @@ -4876,7 +4897,7 @@ msgid "Refresh" msgstr "刷新" msgid "Reload file list from printer." -msgstr "" +msgstr "从打印机重新加载文件列表。" msgid "No printers." msgstr "未选择打印机" @@ -4889,10 +4910,10 @@ msgid "Loading file list..." msgstr "加载文件列表..." msgid "No files" -msgstr "" +msgstr "文件列表为空" msgid "Load failed" -msgstr "" +msgstr "加载失败" msgid "Initialize failed (Device connection not ready)!" msgstr "初始化失败(设备未连接)" @@ -4900,16 +4921,16 @@ msgstr "初始化失败(设备未连接)" msgid "" "Browsing file in SD card is not supported in current firmware. Please update " "the printer firmware." -msgstr "" +msgstr "当前固件暂不支持查看SD卡中文件。请更新打印机固件后重试。" msgid "Initialize failed (Storage unavailable, insert SD card.)!" -msgstr "" +msgstr "初始化失败(存储不可用,请插入 SD 卡)!" msgid "LAN Connection Failed (Failed to view sdcard)" -msgstr "" +msgstr "局域网连接失败(无法查看SD卡)" msgid "Browsing file in SD card is not supported in LAN Only Mode." -msgstr "" +msgstr "局域网模式下暂不支持查看SD卡内文件。" #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -4935,10 +4956,10 @@ msgid "Fetching model infomations ..." msgstr "正在获取模型信息..." msgid "Failed to fetch model information from printer." -msgstr "" +msgstr "无法从打印机获取模型信息。" msgid "Failed to parse model information." -msgstr "" +msgstr "解析模型信息失败。" msgid "" "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " @@ -4976,10 +4997,10 @@ msgstr "下载中 %d%%..." msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." -msgstr "" +msgstr "重新连接打印机,该操作无法立即完成,请稍后再试。" msgid "File does not exist." -msgstr "" +msgstr "文件不存在。" msgid "File checksum error. Please retry." msgstr "文件校验和错误。请重试。" @@ -5077,7 +5098,7 @@ msgid "Control" msgstr "控制" msgid "Printer Parts" -msgstr "" +msgstr "打印机零件" msgid "Print Options" msgstr "打印选项" @@ -5314,7 +5335,7 @@ msgid "If you would like to try Orca Slicer Beta, you may click to" msgstr "" msgid "Download Beta Version" -msgstr "" +msgstr "下载Beta版本" msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "" @@ -5323,10 +5344,10 @@ msgid "Update your Orca Slicer could enable all functionality in the 3mf file." msgstr "" msgid "Current Version: " -msgstr "" +msgstr "当前版本:" msgid "Latest Version: " -msgstr "" +msgstr "最新版本:" msgid "Not for now" msgstr "" @@ -5397,12 +5418,12 @@ msgstr[0] "%1$d对象加载为一个切割对象的子部件" msgid "ERROR" msgstr "错误" -msgid "CANCELED" -msgstr "已取消" - msgid "COMPLETED" msgstr "已完成" +msgid "CANCELED" +msgstr "已取消" + msgid "Cancel upload" msgstr "取消上传" @@ -5509,13 +5530,13 @@ msgid "Filament Tangle Detect" msgstr "缠料检测" msgid "Nozzle Clumping Detection" -msgstr "" +msgstr "裹头检测" msgid "Check if the nozzle is clumping by filament or other foreign objects." -msgstr "" +msgstr "检查喷嘴是否被耗材丝或其他异物裹住" msgid "Nozzle Type" -msgstr "" +msgstr "喷嘴类型" msgid "Stainless Steel" msgstr "不锈钢" @@ -5938,13 +5959,13 @@ msgid "prepare 3mf file..." msgstr "正在准备3mf文件..." msgid "Download failed, unknown file format." -msgstr "" +msgstr "下载失败,未知文件格式。" msgid "downloading project ..." msgstr "项目下载中..." msgid "Download failed, File size exception." -msgstr "" +msgstr "下载失败,文件大小异常。" #, c-format, boost-format msgid "Project downloaded %d%%" @@ -5967,6 +5988,20 @@ msgstr "不包含有效的G-code文件。" msgid "Error occurs while loading G-code file" msgstr "加载G-code文件时遇到错误" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + msgid "Drop project file" msgstr "项目文件操作" @@ -6028,22 +6063,23 @@ msgid "" "Unable to perform boolean operation on model meshes. Only positive parts " "will be kept. You may fix the meshes and try agian." msgstr "" +"无法对模型网格执行布尔运算。只保留正体积部分。您可以修复网格后再试一次。" #, boost-format msgid "Reason: part \"%1%\" is empty." -msgstr "" +msgstr "原因:零件\"%1%\"为空。" #, boost-format msgid "Reason: part \"%1%\" does not bound a volume." -msgstr "" +msgstr "原因:零件\"%1%\"没有封闭一个体积。" #, boost-format msgid "Reason: part \"%1%\" has self intersection." -msgstr "" +msgstr "原因:零件\"%1%\"有自相交。" #, boost-format msgid "Reason: \"%1%\" and another part have no intersection." -msgstr "" +msgstr "原因:零件\"%1%\"与另一个零件没有交集。" msgid "" "Are you sure you want to store original SVGs with their local paths into the " @@ -6221,6 +6257,8 @@ msgid "" "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 " @@ -6229,7 +6267,7 @@ msgid "" msgstr "" msgid "Home" -msgstr "" +msgstr "首页" msgid "Default Page" msgstr "" @@ -6289,10 +6327,10 @@ msgstr "如果启用,会在每一次更换颜色时自动计算。" msgid "" "Flushing volumes: Auto-calculate every time when the filament is changed." -msgstr "" +msgstr "冲刷体积:每一次更换材料时自动计算。" msgid "If enabled, auto-calculate every time when filament is changed" -msgstr "" +msgstr "如果启用,会在每一次更换材料时自动计算。" msgid "Remember printer configuration" msgstr "" @@ -6308,7 +6346,7 @@ msgstr "" msgid "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." -msgstr "" +msgstr "启用此选项后,您可以同时向多个设备发送任务并管理多个设备。" msgid "Network" msgstr "网络" @@ -6349,6 +6387,20 @@ msgstr "使用逆戟鲸打开.step/.stp文件" msgid "If enabled, sets OrcaSlicer as default application to open .step files" msgstr "开启后,将缺省使用逆戟鲸打开.step文件" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "近期项目的最大数量" @@ -6528,10 +6580,10 @@ msgid "Customize" msgstr "自定义" msgid "Other layer filament sequence" -msgstr "" +msgstr "其它层耗材打印顺序" msgid "Please input layer value (>= 2)." -msgstr "" +msgstr "请输入层号(>=2)。" msgid "Plate name" msgstr "盘名称" @@ -6543,10 +6595,10 @@ msgid "Print sequence" msgstr "打印顺序" msgid "Same as Global" -msgstr "" +msgstr "跟随全局" msgid "Disable" -msgstr "" +msgstr "禁用" msgid "Spiral vase" msgstr "旋转花瓶" @@ -6710,9 +6762,6 @@ msgstr "" msgid "Send print job to" msgstr "发送打印任务至" -msgid "Bed Leveling" -msgstr "热床调平" - msgid "Flow Dynamics Calibration" msgstr "动态流量校准" @@ -6801,7 +6850,7 @@ msgstr "请在发起打印前插入SD卡" msgid "" "The selected printer (%s) is incompatible with the chosen printer profile in " "the slicer (%s)." -msgstr "" +msgstr "所选打印机(%s)与切片软件中选择的打印机配置文件(%s)不兼容。" msgid "An SD card needs to be inserted to record timelapse." msgstr "开启延迟摄影功能需要插入SD卡" @@ -6861,15 +6910,17 @@ msgid "" "If you changed your nozzle lately, please go to Device > Printer Parts to " "change settings." msgstr "" +"切片文件中的喷嘴直径与记忆的喷嘴不一致。如果您最近更换了喷嘴,请前往设备 > 打" +"印机零件进行更改设置。" #, c-format, boost-format msgid "" "Printing high temperature material(%s material) with %s may cause nozzle " "damage" -msgstr "" +msgstr "用%s打印高温材料(%s材料)可能会导致喷嘴损坏" msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "" +msgstr "请修复上述错误,否则打印无法继续。" msgid "" "Please click the confirm button if you still want to proceed with printing." @@ -6891,7 +6942,7 @@ msgid "Modifying the device name" msgstr "修改打印机名称" msgid "Bind with Pin Code" -msgstr "" +msgstr "通过Pin码绑定" msgid "Send to Printer SD card" msgstr "发送到打印机的SD卡" @@ -6947,22 +6998,22 @@ msgstr "发生错误" msgid "" "Please Find the Pin Code in Account page on printer screen,\n" " and type in the Pin Code below." -msgstr "" +msgstr "请在打印机屏幕上的“帐户”页面中找到Pin码,然后在下面输入Pin码。" msgid "Can't find Pin Code?" -msgstr "" +msgstr "无法找到Pin码?" msgid "Pin Code" -msgstr "" +msgstr "Pin码" msgid "Binding..." -msgstr "" +msgstr "绑定..." msgid "Please confirm on the printer screen" -msgstr "" +msgstr "请在打印机屏幕上确认。" msgid "Log in failed. Please check the Pin Code." -msgstr "" +msgstr "登录失败,请检查Pin码。" msgid "Log in printer" msgstr "登录打印机" @@ -7143,6 +7194,8 @@ msgid "" "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 " @@ -7150,6 +7203,9 @@ msgid "" "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 " @@ -7617,12 +7673,14 @@ msgstr "预设“%1%”和新的工艺预设不兼容,并且它包含以下未 #, boost-format msgid "You have changed some settings of preset \"%1%\". " -msgstr "" +msgstr "您已更改了预设 “%1%” 的一些设置。" msgid "" "\n" "You can save or discard the preset values you have modified." msgstr "" +"\n" +"您可以保存或丢弃已经修改的预设值。" msgid "" "\n" @@ -7631,7 +7689,7 @@ msgid "" msgstr "" msgid "You have previously modified your settings." -msgstr "" +msgstr "您已经修改了预设参数。" msgid "" "\n" @@ -8133,40 +8191,40 @@ msgid "Done" msgstr "完成" msgid "resume" -msgstr "" +msgstr "继续" msgid "Resume Printing" -msgstr "" +msgstr "继续打印" msgid "Resume Printing(defects acceptable)" -msgstr "" +msgstr "继续打印(缺陷可接受)" msgid "Resume Printing(problem solved)" -msgstr "" +msgstr "继续打印(问题已解决)" msgid "Stop Printing" -msgstr "" +msgstr "停止打印" msgid "Check Assistant" -msgstr "" +msgstr "前往机器助手" msgid "Filament Extruded, Continue" -msgstr "" +msgstr "耗材已挤出,继续" msgid "Not Extruded Yet, Retry" -msgstr "" +msgstr "耗材未挤出,重试" msgid "Finished, Continue" -msgstr "" +msgstr "已完成,继续" msgid "Load Filament" msgstr "进料" msgid "Filament Loaded, Resume" -msgstr "" +msgstr "耗材已加载,继续" msgid "View Liveview" -msgstr "" +msgstr "查看LiveView" msgid "Confirm and Update Nozzle" msgstr "确认并更新喷嘴" @@ -8224,7 +8282,7 @@ msgid "Update firmware" msgstr "更新固件" msgid "Beta version" -msgstr "" +msgstr "Beta版本" msgid "Latest version" msgstr "最新版本" @@ -8956,13 +9014,13 @@ msgid "First layer print sequence" msgstr "第一层打印顺序" msgid "Other layers print sequence" -msgstr "" +msgstr "其他层打印顺序" msgid "The number of other layers print sequence" -msgstr "" +msgstr "其他层的打印顺序数量" msgid "Other layers filament sequence" -msgstr "" +msgstr "其他层的耗材打印顺序" msgid "This G-code is inserted at every layer change before lifting z" msgstr "在每次换层抬升z高度之前插入这段G-code" @@ -9758,10 +9816,10 @@ msgid "" msgstr "挤出机四周的避让半径。用于在逐件打印中避免碰撞。" msgid "Nozzle height" -msgstr "" +msgstr "喷嘴高度" msgid "The height of nozzle tip." -msgstr "" +msgstr "喷嘴尖端的高度。" msgid "Bed mesh min" msgstr "网床最小点" @@ -10186,7 +10244,7 @@ msgid "Lightning" msgstr "闪电" msgid "Cross Hatch" -msgstr "" +msgstr "交叉层叠" msgid "Sparse infill anchor length" msgstr "稀疏填充锚线长度" @@ -10433,13 +10491,15 @@ msgid "" msgstr "填缝的速度。缝隙通常有不一致的线宽,应改用较慢速度打印。" msgid "Precise Z height" -msgstr "" +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高度。它将通过微调对象最后几层的层高来" +"确保对象Z高度精准。注意这是一个实验性参数。" msgid "Arc fitting" msgstr "圆弧拟合" @@ -11274,7 +11334,7 @@ msgstr "" "抽。" msgid "Long retraction when cut(experimental)" -msgstr "" +msgstr "切料时回抽(实验)" msgid "" "Experimental feature.Retracting and cutting off the filament at a longer " @@ -11282,14 +11342,16 @@ msgid "" "significantly, it may also raise the risk of nozzle clogs or other printing " "problems." msgstr "" +"实验性选项。在更换耗材丝时,将耗材丝回抽一段距离后再切断以最小化冲刷。虽然这" +"大大减少了冲刷,但也可能增加喷嘴堵塞或其他打印问题的风险。" msgid "Retraction distance when cut" -msgstr "" +msgstr "切料回抽距离" msgid "" "Experimental feature.Retraction length before cutting off during filament " "change" -msgstr "" +msgstr "实验性选项。在更换耗材丝时,切断前的回抽长度" msgid "Z hop when retract" msgstr "回抽时抬升Z" @@ -11633,10 +11695,10 @@ msgid "" msgstr "" msgid "Limited" -msgstr "" +msgstr "限制" msgid "Enabled" -msgstr "" +msgstr "打开" msgid "Skirt loops" msgstr "Skirt圈数" @@ -12325,17 +12387,29 @@ msgstr "擦拭塔冲刷线间距" msgid "Spacing of purge lines on the wipe tower." msgstr "擦拭塔上冲刷线的间距" -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -12620,7 +12694,7 @@ msgid " not in range " msgstr " 不在合理的区间" msgid "Minimum save" -msgstr "" +msgstr "最小保存" msgid "export 3mf with minimum size." msgstr "以最小尺寸导出3mf。" @@ -12639,10 +12713,10 @@ msgid "" msgstr "当物体部分位于热床的下方时,将其提升到热床的上方。默认情况下禁用" msgid "Orient Options" -msgstr "" +msgstr "方向选项" msgid "Orient options: 0-disable, 1-enable, others-auto" -msgstr "" +msgstr "方向选项:0-禁用,1-启用,其他-自动" msgid "Rotation angle around the Z axis in degrees." msgstr "绕Z轴的旋转角度(以度为单位)。" @@ -13143,6 +13217,8 @@ msgid "" "historical results. \n" "Do you still want to continue the calibration?" msgstr "" +"该机型每个喷嘴最多只能保存16个历史结果。您可以删除先已有历史结果再开始校准。" +"或者您可以直接开始校准,但是无法创建新的校准历史结果。您仍继续校准吗?" msgid "Connecting to printer..." msgstr "正在连接打印机..." @@ -13159,12 +13235,14 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to override the historical result?" msgstr "" +"已经存在一个具有相同名称的历史校准结果:%s。相同名称的结果只会保存一个。您确" +"定要覆盖历史结果吗?" #, c-format, boost-format msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." -msgstr "" +msgstr "该机型每个喷嘴最多只能保存%d个历史结果, 该结果将不会被保存" msgid "Internal Error" msgstr "内部错误" @@ -13492,7 +13570,7 @@ msgid "Flow Dynamics Calibration Result" msgstr "动态流量校准结果" msgid "New" -msgstr "" +msgstr "新建" msgid "No History Result" msgstr "无历史结果" @@ -13508,19 +13586,19 @@ msgstr "操作" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "" +msgstr "该机型每个喷嘴最多只能保存%d个历史结果" msgid "Edit Flow Dynamics Calibration" msgstr "编辑动态流量校准" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "新建动态流量校准" msgid "Ok" -msgstr "" +msgstr "确认" msgid "The filament must be selected." -msgstr "" +msgstr "请选择材料" msgid "Network lookup" msgstr "搜索网络" @@ -13908,6 +13986,8 @@ msgid "" "If you continue creating, 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" @@ -14109,6 +14189,8 @@ msgid "" "volumetric speed has a significant impact on printing quality. Please set " "them carefully." msgstr "" +"如果需要,请转到灯丝设置以编辑您的预设。\n" +"请注意喷嘴温度、热床温度和最大体积流量对打印质量有重大影响。请小心设置它们。" msgid "" "\n" @@ -14277,7 +14359,7 @@ msgid "The filament choice not find filament preset, please reselect it" msgstr "您选择的材料未找到材料预设,请重新选择。" msgid "[Delete Required]" -msgstr "" +msgstr "[删除请求]" msgid "Edit Preset" msgstr "编辑预设" @@ -14487,30 +14569,36 @@ msgid "" "It has a small layer height, and results in almost negligible layer lines " "and high printing quality. It is suitable for most general printing cases." msgstr "" +"0.2 mm 喷嘴的默认参数,层高小,层纹不明显,打印质量高,适合大部分常规打印场" +"景。" 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. So, it results in " "much higher printing quality, but a much longer printing time." msgstr "" +"此为高质量参数,相比于此喷嘴的默认参数,打印速度、加速度较低,稀疏填充图案为" +"螺旋体,打印质量更高,但耗时更长。" msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." -msgstr "" +msgstr "相比于此喷嘴的默认参数,层高较大,层纹不明显,打印耗时稍短。" msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " "height, and results in slightly visible layer lines, but shorter printing " "time." -msgstr "" +msgstr "相比于此喷嘴的默认参数,层高较大,层纹稍显现,打印耗时较短。" msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " "height, and results in almost invisible layer lines and higher printing " "quality, but shorter printing time." msgstr "" +"相比于此喷嘴的默认参数,层高较小,几乎不显层纹,打印质量较高,但打印耗时较" +"长。" msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14518,12 +14606,16 @@ msgid "" "Gyroid. So, it results in almost invisible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"此为高质量参数,相比于此喷嘴的默认参数,层高较小,打印速度、加速度较低,稀疏" +"填充图案为螺旋体,几乎不显层纹,打印质量非常高,但打印耗时很长。" msgid "" "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " "height, and results in minimal layer lines and higher printing quality, but " "shorter printing time." msgstr "" +"相比于此喷嘴的默认参数,层高较小,几乎不显层纹,打印质量较高,但打印耗时较" +"长。" msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -14531,35 +14623,47 @@ msgid "" "Gyroid. So, it results in minimal layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"此为高质量参数,相比于此喷嘴的默认参数,层高较小,打印速度、加速度较低,稀疏" +"填充图案为螺旋体,几乎不显层纹,打印质量非常高,但打印耗时很长。" msgid "" "It has a general layer height, and results in general layer lines and " "printing quality. It is suitable for most general printing cases." msgstr "" +"0.4 mm 喷嘴的默认参数,层高常规,层纹一般,打印质量常规,适合大部分常规打印场" +"景。" msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"此为强度参数,相比于此喷嘴的默认参数,墙层数较大,稀疏填充密度较高,打印件的" +"强度更高,但耗材用量更大,耗时更长。" msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but slightly shorter printing time." msgstr "" +"相比于此喷嘴的默认参数,层高较大,层纹较明显,打印质量较低,部分模型的打印耗" +"时稍短。" msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time." msgstr "" +"相比于此喷嘴的默认参数,层高较大,层纹较明显,打印质量较低,部分模型的打印耗" +"时较短。" msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"相比于此喷嘴的默认参数,层高较小,层纹较不明显,打印质量较高,但打印耗时较" +"长。" msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14567,12 +14671,16 @@ msgid "" "Gyroid. So, it results in less apparent layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"此为高质量参数,相比于此喷嘴的默认参数,层高较小,打印速度、加速度较低,稀疏" +"填充图案为螺旋体,层纹较不明显,打印质量较高,但打印耗时很长。" msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and higher printing " "quality, but longer printing time." msgstr "" +"相比于此喷嘴的默认参数,层高较小,层纹更不明显,打印质量较高,但打印耗时较" +"长。" msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -14580,64 +14688,84 @@ msgid "" "Gyroid. So, it results in almost negligible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"此为高质量参数,相比于此喷嘴的默认参数,层高较小,打印速度、加速度较低,稀疏" +"填充图案为螺旋体,层纹更不明显,打印质量很高,但打印耗时很长。" msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and longer printing " "time." msgstr "" +"相比于此喷嘴的默认参数,层高较小,层纹更不明显,打印质量较高,但打印耗时较" +"长。" msgid "" "It has a big layer height, and results in apparent layer lines and ordinary " "printing quality and printing time." msgstr "" +"0.6 mm 喷嘴的默认参数,层高较大,层纹明显,打印质量一般,打印耗时一般。" msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"此为强度参数,相比于此喷嘴的默认参数,墙层数较大,稀疏填充密度较高,打印件的" +"强度更高,但耗材用量更大,耗时更长。" msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time in some printing cases." msgstr "" +"相比于此喷嘴的默认参数,层高较大,层纹较明显,打印质量较低,部分模型的打印耗" +"时较短。" msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in much more apparent layer lines and much lower " "printing quality, but shorter printing time in some printing cases." msgstr "" +"相比于此喷嘴的默认参数,层高较大,层纹很明显,打印质量较低,部分模型的打印耗" +"时较短。" msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and slight higher printing " "quality, but longer printing time." msgstr "" +"相比于此喷嘴的默认参数,层高较小,层纹较不明显,打印质量稍微较高,部分模型的" +"打印耗时较长。" msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"相比于此喷嘴的默认参数,层高较小,层纹较不明显,打印质量较高,部分模型的打印" +"耗时较长。" msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" +"0.8 mm 喷嘴的默认参数,层高较大,层纹很明显,打印质量低,打印耗时一般。" msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " "height, and results in very apparent layer lines and much lower printing " "quality, but shorter printing time in some printing cases." msgstr "" +"相比于此喷嘴的默认参数,层高更大,层纹非常明显,打印质量较低,部分模型的打印" +"耗时较短。" msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " "layer height, and results in extremely apparent layer lines and much lower " "printing quality, but much shorter printing time in some printing cases." msgstr "" +"相比于此喷嘴的默认参数,层高较大,层纹非常明显,打印质量较低,部分模型的打印" +"耗时较短。" msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -14645,12 +14773,16 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" +"相比于此喷嘴的默认参数,层高较小,层纹较不明显,打印质量稍微较高,部分模型的" +"打印耗时较长。" msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " "height, and results in less but still apparent layer lines and slightly " "higher printing quality, but longer printing time in some printing cases." msgstr "" +"相比于此喷嘴的默认参数,层高较小,层纹较不明显,打印质量较高,部分模型的打印" +"耗时较长。" msgid "Connected to Obico successfully!" msgstr "" @@ -15046,6 +15178,9 @@ msgstr "" "避免翘曲\n" "您知道吗?打印ABS这类易翘曲材料时,适当提高热床温度可以降低翘曲的概率。" +#~ msgid "V" +#~ msgstr "V" + #~ msgid "Export &Configs" #~ msgstr "导出预设" diff --git a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po index a9260d96303..cadffd7e033 100644 --- a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po +++ b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-20 22:45+0200\n" +"POT-Creation-Date: 2024-05-23 23:36+0800\n" "PO-Revision-Date: 2023-11-06 14:37+0800\n" "Last-Translator: ablegods \n" "Language-Team: \n" @@ -1382,9 +1382,6 @@ msgid "" "Configuration file \"%1%\" was loaded, but some values were not recognized." msgstr "設定檔 “%1%” 已被載入,但部分數值未被識別。" -msgid "V" -msgstr "版本:" - #, fuzzy msgid "" "OrcaSlicer will terminate because of running out of memory.It may be a bug. " @@ -1495,6 +1492,9 @@ 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 "" + #, fuzzy msgid "Choose one file (gcode/3mf):" msgstr "選擇一個檔案(gcode/3mf):" @@ -1560,6 +1560,11 @@ 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 "" + msgid "Import File" msgstr "匯入檔案" @@ -3389,6 +3394,15 @@ msgstr "" msgid "Printing Options" msgstr "" +msgid "Bed Leveling" +msgstr "熱床調平" + +msgid "Timelapse" +msgstr "縮時攝影" + +msgid "Flow Dynamic Calibration" +msgstr "" + msgid "Send Options" msgstr "" @@ -4622,6 +4636,12 @@ msgstr "匯入 3MF/STL/STEP/SVG/OBJ/AMF" msgid "Load a model" msgstr "載入模型" +msgid "Import Zip Archive" +msgstr "" + +msgid "Load models contained within a zip archive" +msgstr "" + #, fuzzy msgid "Import Configs" msgstr "匯入設定檔" @@ -5028,9 +5048,6 @@ msgstr "按月份分組,從最近的開始展示" msgid "Show all files, recent first." msgstr "顯示所有檔案,從最近的開始展示" -msgid "Timelapse" -msgstr "縮時攝影" - msgid "Switch to timelapse files." msgstr "切換到縮時攝影檔案清單" @@ -5601,12 +5618,12 @@ msgstr[0] "%1$d 物件載入為一個切割物件的子零件" msgid "ERROR" msgstr "錯誤" -msgid "CANCELED" -msgstr "已取消" - msgid "COMPLETED" msgstr "已完成" +msgid "CANCELED" +msgstr "已取消" + msgid "Cancel upload" msgstr "取消上傳" @@ -6198,6 +6215,20 @@ msgstr "不包含有效的 G-code 檔案。" msgid "Error occurs while loading G-code file" msgstr "載入 G-code 檔案時遇到錯誤" +#. TRN %1% is archive path +#, boost-format +msgid "Loading of a ZIP archive on path %1% has failed." +msgstr "" + +#. TRN: First argument = path to file, second argument = error description +#, boost-format +msgid "Failed to unzip file to %1%: %2%" +msgstr "" + +#, boost-format +msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." +msgstr "" + #, fuzzy msgid "Drop project file" msgstr "刪除專案項目" @@ -6600,6 +6631,20 @@ msgstr "使用 Orca Slicer 打開 .step/.stp 檔案" msgid "If enabled, sets OrcaSlicer as default application to open .step files" msgstr "開啟後,將預設使用 Orca Slicer 打開 .step 檔案" +msgid "Current association: " +msgstr "" + +msgid "Associate prusaslicer://" +msgstr "" + +msgid "Not associated to any application" +msgstr "" + +msgid "" +"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " +"PrusaSlicer links from Printable.com" +msgstr "" + msgid "Maximum recent projects" msgstr "最近專案項目的最大數量" @@ -6980,9 +7025,6 @@ msgstr "" msgid "Send print job to" msgstr "傳送列印作業至" -msgid "Bed Leveling" -msgstr "熱床調平" - msgid "Flow Dynamics Calibration" msgstr "動態流量校準" @@ -12761,17 +12803,29 @@ msgstr "擦拭塔線距" msgid "Spacing of purge lines on the wipe tower." msgstr "擦拭塔上的線距。" -msgid "Maximum print speed when purging" +msgid "Maximum wipe tower print speed" msgstr "" msgid "" -"The maximum print speed when purging in the wipe tower. If the sparse infill " -"speed or calculated speed from the filament max volumetric speed is lower, " -"the lowest speed will be used instead.\n" -"Increasing this speed may affect the tower's stability, as purging can be " -"performed over sparse layers. Before increasing this parameter beyond the " -"default of 90mm/sec, make sure your printer can reliably bridge at the " -"increased speeds." +"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 90mm/sec, 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 "" msgid "Wipe tower extruder" @@ -15489,6 +15543,9 @@ msgid "" "probability of warping." msgstr "" +#~ msgid "V" +#~ msgstr "版本:" + #, fuzzy #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " From 8a38610b42bb018a72ce18a7721efeb8f00b28d8 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Fri, 24 May 2024 19:42:32 +0800 Subject: [PATCH 057/178] fix an issue that orcaslicer:// didn't work on Mac --- cmake/modules/MacOSXBundleInfo.plist.in | 21 ++++++++++----------- src/slic3r/GUI/GUI_App.cpp | 2 +- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/cmake/modules/MacOSXBundleInfo.plist.in b/cmake/modules/MacOSXBundleInfo.plist.in index 66c30a6ffee..2f010c8a822 100644 --- a/cmake/modules/MacOSXBundleInfo.plist.in +++ b/cmake/modules/MacOSXBundleInfo.plist.in @@ -29,17 +29,16 @@ ATSApplicationFontsPath fonts/ CFBundleURLTypes - - - CFBundleURLName - orcasliceropen url - CFBundleURLSchemes - - orcasliceropen - orcaslicer - - - + + + CFBundleURLName + OrcaSlicer Downloads + CFBundleURLSchemes + + orcaslicer + + + CFBundleDocumentTypes diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index e06433883fc..03a85e9f34e 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -5903,7 +5903,7 @@ void GUI_App::MacOpenURL(const wxString& url) m_download_file_url = download_file_url; } } - } else if (boost::starts_with(url, "prusasliceropen://")) + } else if (boost::starts_with(url, "orcaslicer://")) start_download(boost::nowide::narrow(url)); } From 89c25078de0b3b53bd55ede7e494f1b4746170d6 Mon Sep 17 00:00:00 2001 From: davidjuanesb Date: Fri, 24 May 2024 13:43:46 +0200 Subject: [PATCH 058/178] Catalan language updated (#5440) Catalan language updated --- localization/i18n/ca/OrcaSlicer_ca.po | 927 +++++++++++++++++--------- 1 file changed, 629 insertions(+), 298 deletions(-) diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po index 90664fe1a1f..7f6cc3f5f3e 100644 --- a/localization/i18n/ca/OrcaSlicer_ca.po +++ b/localization/i18n/ca/OrcaSlicer_ca.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-05-23 23:36+0800\n" -"PO-Revision-Date: 2024-03-17 22:08+0100\n" +"PO-Revision-Date: 2024-05-23 23:00+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: ca\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.4.2\n" +"X-Generator: Poedit 3.4.4\n" msgid "Supports Painting" msgstr "Pintar suports" @@ -261,7 +261,7 @@ msgid "World coordinates" msgstr "Coordenades cartesianes" msgid "Object coordinates" -msgstr "" +msgstr "Coordenades de l'objecte" msgid "°" msgstr "°" @@ -1511,7 +1511,7 @@ msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Trieu un o més fitxers ( 3mf/step/stl/svg/obj/amf ):" msgid "Choose ZIP file" -msgstr "" +msgstr "Trieu el fitxer ZIP" msgid "Choose one file (gcode/3mf):" msgstr "Trieu un fitxer ( gcode/3mf ):" @@ -1589,6 +1589,8 @@ msgid "" "Could not start URL download. Destination folder is not set. Please choose " "destination folder in Configuration Wizard." msgstr "" +"No s'ha pogut iniciar la descàrrega d'URL. La carpeta de destinació no està " +"definida. Trieu la carpeta de destinació a l'Auxiliar de configuració." msgid "Import File" msgstr "Importar arxiu" @@ -1973,10 +1975,10 @@ msgid "arrange current plate" msgstr "organitza la placa actual" msgid "Reload All" -msgstr "" +msgstr "Torna-ho a carregar Tot" msgid "reload all from disk" -msgstr "" +msgstr "torna a carregar-ho tot des del disc" msgid "Auto Rotate" msgstr "Rota automàticament" @@ -2417,7 +2419,7 @@ msgid "Connection to printer failed" msgstr "S'ha produït un error de connexió amb la impressora" msgid "Please check the network connection of the printer and Orca." -msgstr "Comproveu la connexió de xarxa de la impressora i l'Studio." +msgstr "Comproveu la connexió de xarxa de la impressora i l'Orca." msgid "Connecting..." msgstr "Connectant..." @@ -2441,7 +2443,7 @@ msgid "AMS not connected" msgstr "AMS no connectat" msgid "Load" -msgstr "" +msgstr "Carregar" msgid "Unload" msgstr "Descarregar" @@ -2505,6 +2507,8 @@ msgid "" "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " "load or unload filaments." msgstr "" +"Trieu una ranura AMS i premeu el botó \"Carregar\" o \"Descarregar\" per " +"carregar o descarregar els filaments automàticament." msgid "Edit" msgstr "Editar" @@ -2773,7 +2777,7 @@ msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, versió 3" msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" -msgstr "" +msgstr "Orca Slicer està basat en PrusaSlicer i BambuStudio" msgid "Libraries" msgstr "Llibreries" @@ -2981,7 +2985,7 @@ msgid "Print with the filament mounted on the back of chassis" msgstr "Imprimeix amb el filament muntat a la part posterior del xassís" msgid "Current Cabin humidity" -msgstr "" +msgstr "Humitat de la cabina" msgid "" "Please change the desiccant when it is too wet. The indicator may not " @@ -2989,6 +2993,10 @@ msgid "" "desiccant pack is changed. it take hours to absorb the moisture, low " "temperatures also slow down the process." msgstr "" +"Si us plau, canvieu el dessecant quan estigui massa humit. És possible que " +"l'indicador no representi amb precisió en els casos següents: quan la tapa " +"està oberta o es canvia el paquet dessecant. Es necessiten hores per " +"absorbir la humitat, les baixes temperatures també alenteixen el procés." msgid "" "Config which AMS slot should be used for a filament used in the print job" @@ -3048,10 +3056,10 @@ msgstr "" "mateixa marca, tipus de material i color )" msgid "DRY" -msgstr "" +msgstr "SEC" msgid "WET" -msgstr "" +msgstr "HUMIT" msgid "AMS Settings" msgstr "Configuració AMS" @@ -3070,6 +3078,8 @@ msgid "" "Note: if a new filament is inserted during printing, the AMS will not " "automatically read any information until printing is completed." msgstr "" +"Nota: si s'insereix un filament nou durant la impressió, l'AMS no llegirà " +"automàticament cap informació fins que es completi la impressió." msgid "" "When inserting a new filament, the AMS will not automatically read its " @@ -3122,12 +3132,14 @@ msgstr "" "automàticament quan s'esgoti el filament actual" msgid "Air Printing Detection" -msgstr "" +msgstr "Detecció d'Impressió Aèria" msgid "" "Detects clogging and filament grinding, halting printing immediately to " "conserve time and filament." msgstr "" +"Detecta obstrucció i abrasió de filaments, aturant la impressió " +"immediatament per estalviar temps i filament." msgid "File" msgstr "Fitxer" @@ -3206,10 +3218,10 @@ msgid "Running post-processing scripts" msgstr "Executant scripts de postprocessament" msgid "Successfully executed post-processing script" -msgstr "" +msgstr "Executats scripts de post-processament satisfactòriament" msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "S'ha produït un error desconegut durant l'exportació del codi-G." #, boost-format msgid "" @@ -3217,6 +3229,9 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"Error en copiar el codi-G temporal al codi-G de sortida. Potser la targeta " +"SD està bloquejada contra escriptura?\n" +"Missatge d'error: %1%" #, boost-format msgid "" @@ -3224,28 +3239,39 @@ msgid "" "problem with target device, please try exporting again or using different " "device. The corrupted output G-code is at %1%.tmp." msgstr "" +"Error en copiar el codi-G temporal al codi-G de sortida. Hi pot haver un " +"problema amb el dispositiu de destinació, intenteu exportar novament o " +"utilitzeu un dispositiu diferent. El codi-G de sortida malmès és a %1%.tmp." #, 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 "" +"El canvi de nom del codi-G després de copiar a la carpeta de destinació " +"seleccionada ha fallat. La ruta actual és %1%.tmp. Intenta exportar de nou." #, 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 "" +"La còpia del codi-G temporal ha finalitzat, però el codi original en %1% no " +"s'ha pogut obrir durant la verificació de còpia. El codi-G de sortida és a " +"%2%.tmp." #, 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 "" +"La còpia del codi-G temporal ha finalitzat, però el codi exportat no s'ha " +"pogut obrir durant la verificació de la còpia. El codi-G de sortida és a %1%." +"tmp." #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr "Fitxer de codi-G exportat a %1%" msgid "Unknown error when export G-code." msgstr "Error desconegut en exportar el Codi-G." @@ -3273,30 +3299,30 @@ msgid "Device" msgstr "Dispositiu" msgid "Task Sending" -msgstr "" +msgstr "Enviant Tasca" msgid "Task Sent" -msgstr "" +msgstr "Tasca enviada" msgid "Edit multiple printers" -msgstr "" +msgstr "Editar diverses impressores" msgid "Select connected printetrs (0/6)" -msgstr "" +msgstr "Seleccionar impressores connectades (0/6)" #, c-format, boost-format msgid "Select Connected Printetrs (%d/6)" -msgstr "" +msgstr "Seleccionar Impressores Connectades (%d/6)" #, c-format, boost-format msgid "The maximum number of printers that can be selected is %d" -msgstr "" +msgstr "El nombre màxim d'impressores que es poden seleccionar és de %d" msgid "Offline" msgstr "Offline" msgid "No task" -msgstr "" +msgstr "Sense tasca" msgid "View" msgstr "Vista" @@ -3305,23 +3331,24 @@ msgid "N/A" msgstr "N/D" msgid "Edit Printers" -msgstr "" +msgstr "Editar Impressores" msgid "Device Name" -msgstr "" +msgstr "Nom del dispositiu" msgid "Task Name" -msgstr "" +msgstr "Nom de la tasca" msgid "Device Status" -msgstr "" +msgstr "Estat del dispositiu" msgid "Actions" -msgstr "" +msgstr "Accions" msgid "" "Please select the devices you would like to manage here (up to 6 devices)" msgstr "" +"Seleccioneu aquí els dispositius que voleu gestionar (fins a 6 dispositius)" msgid "Add" msgstr "Afegir" @@ -3333,22 +3360,22 @@ msgid "Printing" msgstr "Imprimint" msgid "Upgrading" -msgstr "" +msgstr "Actualitzant" msgid "Incompatible" msgstr "Incompatible" msgid "syncing" -msgstr "" +msgstr "sincronitzant" msgid "Printing Finish" -msgstr "" +msgstr "Finalitzar Impressió" msgid "Printing Failed" -msgstr "" +msgstr "Impressió Fallida" msgid "PrintingPause" -msgstr "" +msgstr "Pausar Impressió" msgid "Prepare" msgstr "Preparació" @@ -3357,28 +3384,28 @@ msgid "Slicing" msgstr "Laminant" msgid "Pending" -msgstr "" +msgstr "Pendent" msgid "Sending" -msgstr "" +msgstr "Enviant" msgid "Sending Finish" -msgstr "" +msgstr "Finalitzar Enviament" msgid "Sending Cancel" -msgstr "" +msgstr "Cancel·lar Enviament" msgid "Sending Failed" -msgstr "" +msgstr "Enviament Fallit" msgid "Print Success" -msgstr "" +msgstr "Impressió Exitosa" msgid "Print Failed" -msgstr "" +msgstr "Impressió Fallida" msgid "Removed" -msgstr "" +msgstr "Eliminat" msgid "Resume" msgstr "Reprendre" @@ -3387,25 +3414,25 @@ msgid "Stop" msgstr "Aturar" msgid "Task Status" -msgstr "" +msgstr "Estat de la tasca" msgid "Sent Time" -msgstr "" +msgstr "Temps d'Enviament" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "No hi ha tasques per enviar!" msgid "No historical tasks!" -msgstr "" +msgstr "Sense tasques històriques!" msgid "Loading..." msgstr "Carregant…" msgid "No AMS" -msgstr "" +msgstr "Sense AMS" msgid "Send to Multi-device" -msgstr "" +msgstr "Enviar a multidispositiu" msgid "Preparing print job" msgstr "Preparant el treball d'impressió" @@ -3414,25 +3441,25 @@ msgid "Abnormal print file data. Please slice again" msgstr "Dades anormals del fitxer d'impressió. Si us plau, torneu a laminar" msgid "There is no device available to send printing." -msgstr "" +msgstr "No hi ha cap dispositiu disponible per enviar la impressió." msgid "The number of printers in use simultaneously cannot be equal to 0." -msgstr "" +msgstr "El nombre d'impressores en ús simultàniament no pot ser igual a 0." msgid "Use External Spool" -msgstr "" +msgstr "Utilitzar la Bobina Externa" msgid "Use AMS" -msgstr "" +msgstr "Utilitzar AMS" msgid "Select Printers" -msgstr "" +msgstr "Seleccionar Impressores" msgid "Ams Status" -msgstr "" +msgstr "Estat AMS" msgid "Printing Options" -msgstr "" +msgstr "Opcions d'Impressió" msgid "Bed Leveling" msgstr "Anivellament del llit" @@ -3441,10 +3468,10 @@ msgid "Timelapse" msgstr "Timelapse" msgid "Flow Dynamic Calibration" -msgstr "" +msgstr "Calibratge de Dinàmiques de Flux" msgid "Send Options" -msgstr "" +msgstr "Opcions d'Enviament" msgid "Send" msgstr "Enviar" @@ -3453,13 +3480,16 @@ msgid "" "printers at the same time.(It depends on how many devices can undergo " "heating at the same time.)" msgstr "" +"impressores al mateix temps. (Depèn de quants dispositius es puguin escalfar " +"alhora.)" msgid "Wait" -msgstr "" +msgstr "Espereu" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" msgstr "" +"minut cada lot. (Depèn del temps que es trigui a completar la calefacció.)" msgid "Name is invalid;" msgstr "El nom no és vàlid;" @@ -3558,14 +3588,18 @@ msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" msgstr "" +"La temperatura mínima recomanada és inferior a 190 graus o la màxima " +"recomanada és superior a 300 graus.\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " "maximum temperature.\n" msgstr "" +"La temperatura mínima recomanada no pot ser superior a la temperatura màxima " +"recomanada.\n" msgid "Please check.\n" -msgstr "" +msgstr "Comproveu-ho.\n" msgid "" "Nozzle may be blocked when the temperature is out of recommended range.\n" @@ -3659,6 +3693,8 @@ msgid "" "Alternate extra wall does't work well when ensure vertical shell thickness " "is set to All. " msgstr "" +"El perímetre addicional alternat no funciona correctament amb 'Assegurar el " +"gruix de la carcassa vertical' establert a Tots. " msgid "" "Change these settings automatically? \n" @@ -3666,6 +3702,10 @@ msgid "" "alternate extra wall\n" "No - Dont use alternate extra wall" msgstr "" +"Canviar aquesta configuració automàticament? \n" +"Sí - Cambiar 'Assegurar el gruix de la carcassa vertical' a 'Moderat' " +"activar 'perímetre addicional alternat'\n" +"No - No utilitzar perímetre addicional alternat" msgid "" "Prime tower does not work when Adaptive Layer Height or Independent Support " @@ -3716,6 +3756,8 @@ msgid "" "seam_slope_start_height need to be smaller than layer_height.\n" "Reset to 0." msgstr "" +"seam_slope_start_height ha de ser més petit que layer_height.\n" +"Restablert a 0." msgid "" "Spiral mode only works when wall loops is 1, support is disabled, top shell " @@ -4018,7 +4060,7 @@ msgstr "Validació de paràmetres" #, c-format, boost-format msgid "Value %s is out of range. The valid range is from %d to %d." -msgstr "" +msgstr "El valor %s està fora de rang. El rang vàlid és de %d a %d." msgid "Value is out of range." msgstr "El valor introduït és fora de rang." @@ -4209,10 +4251,10 @@ msgid "Normal mode" msgstr "Mode Normal" msgid "Total Filament" -msgstr "" +msgstr "Filament Total" msgid "Model Filament" -msgstr "" +msgstr "Filament del Model" msgid "Prepare time" msgstr "Planificar el temps" @@ -4308,7 +4350,7 @@ msgid "Spacing" msgstr "Espaiat" msgid "0 means auto spacing." -msgstr "" +msgstr "0 significa espaiat automàtic." msgid "Auto rotate for arrangement" msgstr "Gir automàtic per a l'arranjament" @@ -4455,7 +4497,7 @@ msgid "Go Live" msgstr "Entra en directe" msgid "Liveview Retry" -msgstr "" +msgstr "Reintentar Lifeview" msgid "Resolution" msgstr "Resolució" @@ -4513,7 +4555,7 @@ msgid "Preview" msgstr "Previsualització" msgid "Multi-device" -msgstr "" +msgstr "Multidispositiu" msgid "Project" msgstr "Projecte" @@ -4660,10 +4702,10 @@ msgid "Load a model" msgstr "Carregar un model" msgid "Import Zip Archive" -msgstr "" +msgstr "Importar fitxer ZIP" msgid "Load models contained within a zip archive" -msgstr "" +msgstr "Carregar models continguts dins d'un arxiu zip" msgid "Import Configs" msgstr "Importar Configuracions" @@ -4699,7 +4741,7 @@ msgid "Export current plate as G-code" msgstr "Exportar placa actual com a Codi-G" msgid "Export Preset Bundle" -msgstr "" +msgstr "Exportar el Paquet de Perfil" msgid "Export current configuration to files" msgstr "Exportar la configuració actual a fitxers" @@ -4867,10 +4909,10 @@ msgid "Export toolpaths as OBJ" msgstr "Exportar trajectòries d'eines com a OBJ" msgid "Open &Slicer" -msgstr "Obrir &Studio" +msgstr "Obrir &Slicer" msgid "Open Slicer" -msgstr "Obrir Studio" +msgstr "Obrir Slicer" msgid "&Quit" msgstr "&Sortir" @@ -4977,44 +5019,56 @@ msgstr "El dispositiu no pot gestionar més dades. Torneu-ho a provar més tard. msgid "Player is malfunctioning. Please reinstall the system player." msgstr "" +"El reproductor funciona malament. Torneu a instal·lar el reproductor del " +"sistema." msgid "The player is not loaded, please click \"play\" button to retry." msgstr "" +"El reproductor no està carregat, feu clic al botó \"reproduir\" per tornar-" +"ho a provar." msgid "Please confirm if the printer is connected." -msgstr "" +msgstr "Confirmeu si la impressora està connectada." msgid "" "The printer is currently busy downloading. Please try again after it " "finishes." msgstr "" +"La impressora està ocupada descarregant, espereu que finalitzi la descàrrega." msgid "Printer camera is malfunctioning." -msgstr "" +msgstr "La càmera de la impressora funciona malament." msgid "Problem occured. Please update the printer firmware and try again." msgstr "" +"Ha ocorregut un problema. Actualitzeu el firmware de la impressora i torneu-" +"ho a provar." msgid "" "LAN Only Liveview is off. Please turn on the liveview on printer screen." msgstr "" +"Liveview Només per LAN està desactivat. Activeu la pantalla de Lifeview a la " +"impressora." msgid "Please enter the IP of printer to connect." -msgstr "" +msgstr "Introduïu la IP de la impressora amb la que connectar." msgid "Initializing..." msgstr "Inicialitzant..." msgid "Connection Failed. Please check the network and try again" msgstr "" +"S'ha produït un error de connexió. Comproveu la xarxa i torneu-ho a provar" msgid "" "Please check the network and try again, You can restart or update the " "printer if the issue persists." msgstr "" +"Comproveu la xarxa i torneu-ho a provar. Podeu reiniciar o actualitzar la " +"impressora si el problema persisteix." msgid "The printer has been logged out and cannot connect." -msgstr "" +msgstr "La impressora ha tancat la sessió i no es pot connectar." msgid "Stopped." msgstr "Aturat." @@ -5105,7 +5159,7 @@ msgid "Refresh" msgstr "Actualitzar" msgid "Reload file list from printer." -msgstr "" +msgstr "Tornar a carregar la llista de fitxers des de la impressora." msgid "No printers." msgstr "No hi ha cap Impressora." @@ -5118,10 +5172,10 @@ msgid "Loading file list..." msgstr "Carregant llista de fitxers..." msgid "No files" -msgstr "" +msgstr "No hi ha fitxers" msgid "Load failed" -msgstr "" +msgstr "Càrrega fallida" msgid "Initialize failed (Device connection not ready)!" msgstr "" @@ -5131,15 +5185,21 @@ msgid "" "Browsing file in SD card is not supported in current firmware. Please update " "the printer firmware." msgstr "" +"L'exploració de fitxers a la targeta SD no és compatible amb el firmware " +"actual. Actualitzeu el firmware de la impressora." msgid "Initialize failed (Storage unavailable, insert SD card.)!" msgstr "" +"Inicialització fallida (emmagatzematge no disponible, inseriu la targeta " +"SD.)!" msgid "LAN Connection Failed (Failed to view sdcard)" -msgstr "" +msgstr "Ha fallat la connexió LAN (no s'ha pogut visualitzar sdcard)" msgid "Browsing file in SD card is not supported in LAN Only Mode." msgstr "" +"L'exploració de fitxers a la targeta SD no és compatible amb el mode només " +"LAN." #, c-format, boost-format msgid "Initialize failed (%s)!" @@ -5170,10 +5230,10 @@ msgid "Fetching model infomations ..." msgstr "Obtenint infomacions del model ..." msgid "Failed to fetch model information from printer." -msgstr "" +msgstr "No s'ha pogut obtenir la informació del model de la impressora." msgid "Failed to parse model information." -msgstr "" +msgstr "No s'ha pogut analitzar la informació del model." msgid "" "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " @@ -5191,6 +5251,8 @@ msgid "" "File: %s\n" "Title: %s\n" msgstr "" +"Arxiu: %s\n" +"Títol: %s\n" msgid "Download waiting..." msgstr "Descàrrega en espera..." @@ -5212,9 +5274,11 @@ msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." msgstr "" +"Tornant a connectar la impressora. L'operació no es pot completar " +"immediatament. Torneu-ho a provar més tard." msgid "File does not exist." -msgstr "" +msgstr "El fitxer no existeix." msgid "File checksum error. Please retry." msgstr "Error de checksum de fitxer. Si us plau, torna-ho a intentar." @@ -5316,7 +5380,7 @@ msgid "Control" msgstr "Control" msgid "Printer Parts" -msgstr "" +msgstr "Peces d'Impressora" msgid "Print Options" msgstr "Opcions d'impressió" @@ -5559,27 +5623,32 @@ msgid "" "The 3mf file version is in Beta and it is newer than the current OrcaSlicer " "version." msgstr "" +"La versió d'arxiu 3mf està en Beta i és més recent que la versió actual " +"d'OrcaSlicer." msgid "If you would like to try Orca Slicer Beta, you may click to" -msgstr "" +msgstr "Si voleu provar Orca Slicer Beta, podeu fer clic a" msgid "Download Beta Version" -msgstr "" +msgstr "Descarregar Versió Beta" msgid "The 3mf file version is newer than the current Orca Slicer version." msgstr "" +"La versió del fitxer 3mf és més nova que la versió actual de l'Orca Slicer." msgid "Update your Orca Slicer could enable all functionality in the 3mf file." msgstr "" +"Actualitzar el vostre Orca Slicer podria habilitar totes les funcionalitats " +"al fitxer 3mf." msgid "Current Version: " -msgstr "" +msgstr "Versió actual: " msgid "Latest Version: " -msgstr "" +msgstr "Última Versió: " msgid "Not for now" -msgstr "" +msgstr "No per ara" msgid "3D Mouse disconnected." msgstr "S'ha desconnectat el ratolí 3D." @@ -5769,13 +5838,15 @@ msgid "Filament Tangle Detect" msgstr "Detecció de filament enredat" msgid "Nozzle Clumping Detection" -msgstr "" +msgstr "Detecció d'Obstrucció de Broquet" msgid "Check if the nozzle is clumping by filament or other foreign objects." msgstr "" +"Comproveu si el broquet està obstruit per filament o altres objectes " +"estranys." msgid "Nozzle Type" -msgstr "" +msgstr "Tipus de broquet" msgid "Stainless Steel" msgstr "Acer Inoxidable" @@ -5785,7 +5856,7 @@ msgstr "Acer Endurit" #, c-format, boost-format msgid "%.1f" -msgstr "" +msgstr "%.1f" msgid "Global" msgstr "Global" @@ -6235,13 +6306,13 @@ msgid "prepare 3mf file..." msgstr "preparar el fitxer 3MF..." msgid "Download failed, unknown file format." -msgstr "" +msgstr "S'ha produït un error en la baixada, format de fitxer desconegut." msgid "downloading project ..." msgstr "descarregant projecte ..." msgid "Download failed, File size exception." -msgstr "" +msgstr "S'ha produït un error en la baixada, excepció mida del Fitxer." #, c-format, boost-format msgid "Project downloaded %d%%" @@ -6269,16 +6340,18 @@ msgstr "Es produeix un error en carregar el fitxer de Codi-G" #. TRN %1% is archive path #, boost-format msgid "Loading of a ZIP archive on path %1% has failed." -msgstr "" +msgstr "La càrrega d'un arxiu ZIP a la ruta %1% ha fallat." #. TRN: First argument = path to file, second argument = error description #, boost-format msgid "Failed to unzip file to %1%: %2%" -msgstr "" +msgstr "No s'ha pogut descomprimir el fitxer al %1%: %2%" #, boost-format msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." msgstr "" +"No s'ha pogut trobar el fitxer descomprimit a %1%. La descompressió de " +"l'arxiu ha fallat." msgid "Drop project file" msgstr "Deixar anar el fitxer del projecte" @@ -6344,22 +6417,25 @@ msgid "" "Unable to perform boolean operation on model meshes. Only positive parts " "will be kept. You may fix the meshes and try agian." msgstr "" +"No s'ha pogut realitzar l'operació booleana a les malles del model. Només " +"s'exportaran les parts positives. Proveu d'arreglar les malles i tornar-ho a " +"provar." #, boost-format msgid "Reason: part \"%1%\" is empty." -msgstr "" +msgstr "Motiu: la part \"%1%\" està buida." #, boost-format msgid "Reason: part \"%1%\" does not bound a volume." -msgstr "" +msgstr "Motiu: la part \"%1%\" no conté cap volum." #, boost-format msgid "Reason: part \"%1%\" has self intersection." -msgstr "" +msgstr "Motiu: la part \"%1%\" té autointersecció." #, boost-format msgid "Reason: \"%1%\" and another part have no intersection." -msgstr "" +msgstr "Motiu: \"%1%\" i una altra peça no tenen intersecció." msgid "" "Are you sure you want to store original SVGs with their local paths into the " @@ -6522,9 +6598,12 @@ msgid "" "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." msgstr "" +"Això atura la transmissió de dades als serveis en el núvol de Bambu. Els " +"usuaris que no utilitzen màquines BBL o només utilitzen el mode LAN poden " +"activar aquesta funció de manera segura." msgid "Enable network plugin" -msgstr "" +msgstr "Habilita el plugin de xarxa" msgid "Check for stable updates only" msgstr "Comprovar només si hi ha actualitzacions estables" @@ -6539,19 +6618,26 @@ msgid "Units" msgstr "Unitats" msgid "Allow only one OrcaSlicer instance" -msgstr "" +msgstr "Permet només una instància 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 "" +"A OSX, sempre hi ha una sola instància d'aplicació que s'executa per " +"defecte. Tanmateix, es permet executar diverses instàncies de la mateixa " +"aplicació des de la línia de comandes. En aquest cas, aquesta configuració " +"permetrà només una instància." 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 "" +"Si això està habilitat, i en iniciar OrcaSlicer i una altra instància del " +"mateix OrcaSlicer que ja s'està executant, aquesta instància es tornarà a " +"activar." msgid "Home" msgstr "Inici" @@ -6563,16 +6649,20 @@ msgid "Set the page opened on startup." msgstr "Definiu la pàgina a obrir a l'inici." msgid "Touchpad" -msgstr "" +msgstr "Ratolí tàctil" msgid "Camera style" -msgstr "" +msgstr "Estil de càmera" 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 "" +"Seleccioneu l'estil de navegació de la càmera.\n" +"Per defecte: Botó Esquerre del Ratolí + moure per rotar, Botó Dret del " +"Ratolí/Botó Mig del Ratolí + moure per a panoràmica.\n" +"Ratolí tàctil: Alt+moure per rotar, Majúscules+moure per a panoràmica." msgid "Zoom to mouse position" msgstr "Fer zoom a la posició del ratolí" @@ -6593,10 +6683,11 @@ msgstr "" "la càmera restringida." msgid "Reverse mouse zoom" -msgstr "" +msgstr "Zoom invers del ratolí" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "" +"Si està habilitat, inverteix la direcció del zoom amb la roda del ratolí." msgid "Show splash screen" msgstr "Mostrar pantalla de presentació" @@ -6622,28 +6713,35 @@ msgstr "" msgid "" "Flushing volumes: Auto-calculate every time when the filament is changed." msgstr "" +"Volums de purga: calcular automàticament cada vegada que canvia el filament." msgid "If enabled, auto-calculate every time when filament is changed" msgstr "" +"Si està activat, fa els càlculs automàticament cada vegada que canvia el " +"filament" msgid "Remember printer configuration" -msgstr "" +msgstr "Recordar la configuració de la impressora" msgid "" "If enabled, Orca will remember and switch filament/process configuration for " "each printer automatically." msgstr "" +"Si està habilitada, l'Orca recordarà i canviarà automàticament la " +"configuració del filament/procés per a cada impressora." msgid "Multi-device Management(Take effect after restarting Orca)." -msgstr "" +msgstr "Gestió multidispositiu(Entra en vigor després de reiniciar Studio)." msgid "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." msgstr "" +"Amb aquesta opció habilitada, podeu enviar una tasca a diversos dispositius " +"alhora i gestionar múltiples dispositius." msgid "Network" -msgstr "" +msgstr "Xarxa" msgid "Auto sync user presets(Printer/Filament/Process)" msgstr "" @@ -6690,18 +6788,20 @@ msgstr "" "obrir fitxers .step" msgid "Current association: " -msgstr "" +msgstr "Associació actual: " msgid "Associate prusaslicer://" -msgstr "" +msgstr "Associar prusaslicer://" msgid "Not associated to any application" -msgstr "" +msgstr "No associar a cap aplicació" msgid "" "Associate OrcaSlicer with prusaslicer:// links so that Orca can open " "PrusaSlicer links from Printable.com" msgstr "" +"Associar OrcaSlicer amb els enllaços prusaslicer:// perquè Orca pugui obrir " +"enllaços PrusaSlicer des de Printable.com" msgid "Maximum recent projects" msgstr "Màxim projectes recents" @@ -6878,16 +6978,16 @@ msgid "The selected preset is null!" msgstr "El perfil seleccionat és nul!" msgid "End" -msgstr "" +msgstr "Final" msgid "Customize" msgstr "Personalitzar" msgid "Other layer filament sequence" -msgstr "" +msgstr "Seqüència d'impressió de l'altra capa" msgid "Please input layer value (>= 2)." -msgstr "" +msgstr "Introduïu el valor de capa (>= 2)." msgid "Plate name" msgstr "Nom de la placa" @@ -6899,10 +6999,10 @@ msgid "Print sequence" msgstr "Seqüència d'impressió" msgid "Same as Global" -msgstr "" +msgstr "El mateix que Global" msgid "Disable" -msgstr "" +msgstr "Deshabilitar" msgid "Spiral vase" msgstr "Gerro en Espiral" @@ -7171,6 +7271,8 @@ msgid "" "The selected printer (%s) is incompatible with the chosen printer profile in " "the slicer (%s)." msgstr "" +"La impressora seleccionada (%s) és incompatible amb el perfil d'impressora " +"escollit al laminador (%s)." msgid "An SD card needs to be inserted to record timelapse." msgstr "Cal inserir una targeta SD per gravar el timelapse." @@ -7238,15 +7340,21 @@ msgid "" "If you changed your nozzle lately, please go to Device > Printer Parts to " "change settings." msgstr "" +"El diàmetre del broquet del perfil no és coherent amb el diàmetre del " +"broquet memoritzat. Si heu canviat el broquet darrerament, aneu a Dispositiu " +"> Parts de la impressora per canviar la configuració." #, c-format, boost-format msgid "" "Printing high temperature material(%s material) with %s may cause nozzle " "damage" msgstr "" +"La impressió de material a alta temperatura (material %s) amb %s pot causar " +"danys al broquet" msgid "Please fix the error above, otherwise printing cannot continue." msgstr "" +"Corregiu l'error de dalt, en cas contrari, la impressió no pot continuar." msgid "" "Please click the confirm button if you still want to proceed with printing." @@ -7273,7 +7381,7 @@ msgid "Modifying the device name" msgstr "Modificant el nom del dispositiu" msgid "Bind with Pin Code" -msgstr "" +msgstr "Enllaçar amb codi PIN" msgid "Send to Printer SD card" msgstr "Enviar a la targeta SD de la impressora" @@ -7334,21 +7442,23 @@ msgid "" "Please Find the Pin Code in Account page on printer screen,\n" " and type in the Pin Code below." msgstr "" +"Trobeu el codi PIN a la pàgina del compte a la pantalla de la impressora,\n" +" i escriviu el codi PIN de sota." msgid "Can't find Pin Code?" -msgstr "" +msgstr "No trobes el codi PIN?" msgid "Pin Code" -msgstr "" +msgstr "Codi PIN" msgid "Binding..." -msgstr "" +msgstr "Enllaçant..." msgid "Please confirm on the printer screen" -msgstr "" +msgstr "Si us plau, confirmeu-ho a la pantalla de la impressora" msgid "Log in failed. Please check the Pin Code." -msgstr "" +msgstr "S'ha produït un error en l'inici de sessió. Comproveu el codi PIN." msgid "Log in printer" msgstr "Iniciar sessió a la impressora" @@ -7555,6 +7665,10 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other " "printing complications." msgstr "" +"Característica experimental: Retreure i tallar el filament a major distància " +"durant els canvis de filaments per minimitzar el flux. Tot i que pot reduir " +"notablement el flux, també pot elevar el risc d'esclops de broquets o altres " +"complicacions d'impressió." msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7562,12 +7676,17 @@ msgid "" "reduce flush, it may also elevate the risk of nozzle clogs or other printing " "complications.Please use with the latest printer firmware." msgstr "" +"Característica experimental: Retreure i tallar el filament a major distància " +"durant els canvis de filaments per minimitzar el rentat. Tot i que pot " +"reduir notablement el rentat, també pot elevar el risc d'obstruccions del " +"broquet o altres complicacions d'impressió. Utilitzeu amb el firmware de la " +"impressora més recent." 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\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Quan graveu timelapse sense capçal d'impressió, es recomana afegir una " "\"Torre de Purga Timelapse\" \n" @@ -8060,26 +8179,36 @@ msgstr "" #, boost-format msgid "You have changed some settings of preset \"%1%\". " msgstr "" +"Heu canviat alguns paràmetres de la configuració predeterminada \"%1%\". " msgid "" "\n" "You can save or discard the preset values you have modified." msgstr "" +"\n" +"Podeu desar o descartar els valors predefinits que heu modificat." 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" +"Podeu desar o descartar els valors predefinits que heu modificat o bé " +"transferir els valors que heu modificat a la nova configuració " +"predeterminada." msgid "You have previously modified your settings." -msgstr "" +msgstr "Has modificat prèviament la configuració." msgid "" "\n" "You can discard the preset values you have modified, or choose to transfer " "the modified values to the new project" msgstr "" +"\n" +"Podeu descartar els valors predefinits que heu modificat o transferir els " +"valors modificats al nou projecte" msgid "Extruders count" msgstr "Nombre d'extrusors" @@ -8117,6 +8246,8 @@ msgid "" "If enabled, this dialog can be used for transfer selected values from left " "to right preset." msgstr "" +"Si està habilitat, aquest diàleg es pot utilitzar per transferir els valors " +"seleccionats del perfil esquerra cap a la dreta." msgid "Add File" msgstr "Afegir arxiu" @@ -8563,10 +8694,10 @@ msgid "Shift+Mouse wheel" msgstr "Maj+Roda del ratolí" msgid "Horizontal slider - Move to start position" -msgstr "" +msgstr "Control lliscant horitzontal - Mou fins a la posició inicial" msgid "Horizontal slider - Move to last position" -msgstr "" +msgstr "Control lliscant horitzontal - Mou a l'última posició" msgid "Release Note" msgstr "Notes de la versió" @@ -8598,40 +8729,40 @@ msgid "Done" msgstr "Fet" msgid "resume" -msgstr "" +msgstr "reprendre" msgid "Resume Printing" -msgstr "" +msgstr "Reprendre Impressió" msgid "Resume Printing(defects acceptable)" -msgstr "" +msgstr "Reprendre la impressió (defectes acceptables)" msgid "Resume Printing(problem solved)" -msgstr "" +msgstr "Reprendre la impressió (problema resolt)" msgid "Stop Printing" -msgstr "" +msgstr "Deixar d'imprimir" msgid "Check Assistant" -msgstr "" +msgstr "Assistent de comprovació" msgid "Filament Extruded, Continue" -msgstr "" +msgstr "Filament Extruït, Continuar" msgid "Not Extruded Yet, Retry" -msgstr "" +msgstr "Encara no s'ha Extruït, Tornar a Intentar-ho" msgid "Finished, Continue" -msgstr "" +msgstr "Finalitzat, Continuar" msgid "Load Filament" msgstr "Carregar Filament" msgid "Filament Loaded, Resume" -msgstr "" +msgstr "Filament carregat, reprendre" msgid "View Liveview" -msgstr "" +msgstr "Veure Liveview" msgid "Confirm and Update Nozzle" msgstr "Confirmar i Actualitzar el broquet" @@ -8731,9 +8862,9 @@ msgid "" "printing. Do you want to update now? You can also update later on printer or " "update next time starting Orca." msgstr "" -"La versió del firmware és anormal. Cal reparar i actualitzar abans " -"d'imprimir. Vols actualitzar ara? També pots actualitzar més endavant a la " -"impressora o actualitzar la propera vegada que iniciïs." +"La versió del firmware és anormal. Cal reparar i actualitzar-lo abans " +"d'imprimir. Vols actualitzar-lo ara? També podeu actualitzar-lo més endavant " +"a la impressora o actualitzar-lo la propera vegada que s'iniciï l'Orca." msgid "Extension Board" msgstr "Targeta d'Ampliació" @@ -8845,7 +8976,7 @@ msgstr "" #, boost-format msgid "Generating G-code: layer %1%" -msgstr "Generan Codi-G: capa %1%" +msgstr "Generant Codi-G: capa %1%" msgid "Inner wall" msgstr "Perímetre interior" @@ -9257,6 +9388,12 @@ msgid "" "You can adjust the machine_max_acceleration_travel value in your printer's " "configuration to get higher speeds." msgstr "" +"La configuració de l'acceleració de deplaçament supera l'acceleració màxima " +"de desplaçament (machine_max_acceleration_travel) de la impressora.\n" +"L'Orca limitarà automàticament la velocitat d'acceleració de viatge per " +"assegurar-se que no superi les capacitats de la impressora.\n" +"Podeu ajustar el valor machine_max_acceleration_travel a la configuració de " +"la impressora per obtenir velocitats més altes." msgid "Generating skirt & brim" msgstr "Generant Faldilla i Vora d'Adherència" @@ -9343,10 +9480,12 @@ msgid "Printer preset names" msgstr "Noms de perfils de la impressora" msgid "Use 3rd-party print host" -msgstr "" +msgstr "Utilitzeu l'amfitrió d'impressió de 3a part" msgid "Allow controlling BambuLab's printer through 3rd party print hosts" msgstr "" +"Permetre controlar la impressora de BambuLab a través d'amfitrions " +"d'impressió de 3 ª part" msgid "Hostname, IP or URL" msgstr "Nom d'equip, IP o URL" @@ -9535,13 +9674,13 @@ msgid "First layer print sequence" msgstr "Seqüència d'impressió de primera capa" msgid "Other layers print sequence" -msgstr "" +msgstr "Seqüència d'impressió d'altres capes" msgid "The number of other layers print sequence" -msgstr "" +msgstr "El nombre d'altres capes de la seqüència d'impressió" msgid "Other layers filament sequence" -msgstr "" +msgstr "Seqüència de filaments d'altres capes" msgid "This G-code is inserted at every layer change before lifting z" msgstr "Aquest Codi-G s'insereix en cada canvi de capa abans d'aixecar z" @@ -9830,7 +9969,7 @@ msgstr "" "direccions alternes en capes senars, independentment del seu grau de voladís." msgid "Bridge counterbore holes" -msgstr "" +msgstr "Pont pels forats esbocats( contraforats )" msgid "" "This option creates bridges for counterbore holes, allowing them to be " @@ -10473,10 +10612,10 @@ msgstr "" "col·lisions en impressió per objecte." msgid "Nozzle height" -msgstr "" +msgstr "Alçada del broquet" msgid "The height of nozzle tip." -msgstr "" +msgstr "L'alçada de la punta del broquet." msgid "Bed mesh min" msgstr "Malla de llit mínim" @@ -10898,7 +11037,7 @@ msgid "(Undefined)" msgstr "( Indefinit )" msgid "Sparse infill direction" -msgstr "" +msgstr "Direcció de farciment poc dens" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10908,18 +11047,20 @@ msgstr "" "direcció principal de la línia" msgid "Solid infill direction" -msgstr "" +msgstr "Direcció de farciment sòlid" msgid "" "Angle for solid infill pattern, which controls the start or main direction " "of line" msgstr "" +"Angle per al patró de farciment sòlid, que controla l'inici o la direcció " +"principal de la línia" msgid "Rotate solid infill direction" -msgstr "" +msgstr "Rotar la direcció de farciment sòlid" msgid "Rotate the solid infill direction by 90° for each layer." -msgstr "" +msgstr "Rotar la direcció de farciment sòlid 90° per a cada capa." msgid "Sparse infill density" msgstr "Densitat de farciment poc dens" @@ -10969,7 +11110,7 @@ msgid "Lightning" msgstr "Llampec" msgid "Cross Hatch" -msgstr "" +msgstr "Quadrícula" msgid "Sparse infill anchor length" msgstr "Longitud d'ancoratge de farciment poc dens" @@ -11133,7 +11274,7 @@ msgid "" "can improve build plate adhension" msgstr "" "Alçada de la capa inicial. Fer que l'alçada inicial de la capa sigui " -"gruixuda lleugerament pot millorar l'adherència de la placa d'impressió" +"lleugerament més gruixuda pot millorar l'adherència de la placa d'impressió" msgid "Speed of initial layer except the solid infill part" msgstr "Velocitat de la capa inicial excepte la part de farciment sòlid" @@ -11173,15 +11314,15 @@ msgstr "Velocitat màxima del ventilador a la capa" 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." +"\"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 "" "La velocitat del ventilador augmentarà linealment de zero a la capa " -"\"close_fan_the_first_x_layers\" al màxim a la capa \"full_fan_speed_layer" -"\". S'ignorarà \"full_fan_speed_layer\" si és inferior a " -"\"close_fan_the_first_x_layers\", en aquest cas el ventilador funcionarà a " +"\"close_fan_the_first_x_layers\" al màxim a la capa " +"\"full_fan_speed_layer\". S'ignorarà \"full_fan_speed_layer\" si és inferior " +"a \"close_fan_the_first_x_layers\", en aquest cas el ventilador funcionarà a " "la velocitat màxima permesa a la capa \"close_fan_the_first_x_layers\" + 1." msgid "Support interface fan speed" @@ -11259,13 +11400,17 @@ msgstr "" "irregular i s'ha d'imprimir més lentament" msgid "Precise Z height" -msgstr "" +msgstr "Alçada Z precisa" 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 "" +"Habiliteu-lo per obtenir una alçada z precisa de l'objecte després de " +"laminar-lo. Obtindrà l'alçada precisa de l'objecte ajustant finament les " +"altures de capa de les últimes capes. Tingueu en compte que es tracta d'un " +"paràmetre experimental." msgid "Arc fitting" msgstr "Ajustament en Arc( Arc fitting )" @@ -11280,6 +11425,15 @@ msgid "" "quality as line segments are converted to arcs by the slicer and then back " "to line segments by the firmware." msgstr "" +"Habiliteu-lo per obtenir un fitxer de codi-G que tingui moviments G2 i G3. " +"La tolerància d'ajust és la mateixa que la resolució. \n" +"\n" +"Nota: Per a les màquines de sabatilles, es recomana desactivar aquesta " +"opció. Klipper no es beneficia de les ordres arc, ja que aquestes es " +"divideixen de nou en segments de línia pel firmware. Això resulta en una " +"reducció de la qualitat de la superfície, ja que els segments de línia es " +"converteixen en arcs per la talladora i després tornen als segments de línia " +"pel firmware." msgid "Add line number" msgstr "Afegir número de línia" @@ -11522,9 +11676,14 @@ msgid "" "value to ~10-15% to minimize potential over extrusion and accumulation of " "material resulting in rough top surfaces." msgstr "" +"L'àrea de farciment s'amplia lleugerament per superposar-se amb la paret per " +"a una millor unió. El valor percentual és relatiu a l'amplada de línia de " +"farciment poc dens. Establiu aquest valor a ~ 10-15% per minimitzar la " +"potencial sobreextrusió i acumulació de material que resulti en superfícies " +"superiors rugoses." msgid "Top/Bottom solid infill/wall overlap" -msgstr "" +msgstr "Farciment superposat a paret superior/inferior\"" #, no-c-format, no-boost-format msgid "" @@ -11534,6 +11693,11 @@ msgid "" "appearance of pinholes. The percentage value is relative to line width of " "sparse infill" msgstr "" +"L'àrea superior de farciment sòlid s'amplia lleugerament per superposar-se " +"amb la paret per a una millor unió i minimitzar l'aparició de forats on el " +"farciment superior es troba amb les parets. Un valor de 25-30% és un bon " +"punt de partida, minimitzant l'aparició de forats. El valor percentual és " +"relatiu a l'amplada de línia del farciment poc dens" msgid "Speed of internal sparse infill" msgstr "Velocitat de farciment poc dens intern" @@ -12226,7 +12390,7 @@ msgstr "" "la retracció" msgid "Long retraction when cut(experimental)" -msgstr "" +msgstr "Retracció llarga en tallar(experimental)" msgid "" "Experimental feature.Retracting and cutting off the filament at a longer " @@ -12234,14 +12398,20 @@ msgid "" "significantly, it may also raise the risk of nozzle clogs or other printing " "problems." msgstr "" +"Característica experimental. Retreure i tallar el filament a més distància " +"durant els canvis per minimitzar la purga. Tot i que això redueix " +"significativament el flux, també pot augmentar el risc d'obstruccions del " +"broquet o altres problemes d'impressió." msgid "Retraction distance when cut" -msgstr "" +msgstr "Distància de retracció quan es talla" msgid "" "Experimental feature.Retraction length before cutting off during filament " "change" msgstr "" +"Característica experimental. Longitud de retracció abans de tallar durant el " +"canvi de filament" msgid "Z hop when retract" msgstr "Salt en Z quan hi ha retracció" @@ -12382,12 +12552,14 @@ msgstr "Desactivar el temps d'impressió restant" msgid "" "Disable generating of the M73: Set remaining print time in the final gcode" msgstr "" +"Desactivar la generació del M73: establir el temps d'impressió restant al " +"gcode final" msgid "Seam position" msgstr "Posició de la costura" msgid "The start position to print each part of outer wall" -msgstr "La posició inicial per imprimir cada part del perímetre exterior" +msgstr "La posició inicial per imprimir cada capa del perímetre exterior" msgid "Nearest" msgstr "Més proper" @@ -12461,7 +12633,7 @@ msgstr "" "valor per defecte és de 155°." msgid "Conditional overhang threshold" -msgstr "" +msgstr "Llindar d'angle condicional" #, no-c-format, no-boost-format msgid "" @@ -12471,6 +12643,11 @@ msgid "" "at 40% of the external wall's width. Due to performance considerations, the " "degree of overhang is estimated." msgstr "" +"Aquesta opció determina el llindar de voladís per a l'aplicació de costures " +"d'Unió en Bisell. Si la porció no suportada del perímetre és inferior a " +"aquest llindar, s'aplicaran costures de juntes d'Unió en Bisell. El llindar " +"per defecte s'estableix en 40% de l'amplada del perímetre extern. A causa de " +"consideracions de rendiment, s'estima el grau de voladís." msgid "Scarf joint speed" msgstr "Velocitat d'Unió en Bisell" @@ -12585,7 +12762,7 @@ msgstr "" "perímetre extern en imprimir amb ordre d'impressió de perímetre Exterior/" "Interior o Interior/Exterior/Interior, la deretracció es realitza " "lleugerament a l'interior des de l'inici del perímetre exterior. D'aquesta " -"manera, qualsevol potencial sobreextrusió queda amagat de la superfície " +"manera, qualsevol potencial sobreextrusió queda amagada de la superfície " "exterior. \n" "\n" "Això és útil quan s'imprimeix amb ordre d'impressió de perfil Exterior/" @@ -12621,7 +12798,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Quantes capes de faldilla. Normalment només una capa" msgid "Draft shield" -msgstr "" +msgstr "Escut contra corrents d'aire" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12636,18 +12813,32 @@ msgid "" "distance from the object. Therefore, if brims are active it may intersect " "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +"Un escut contra corrents d'aire és útil per protegir una impressió ABS o ASA " +"de la deformació i el despreniment del llit d'impressió a causa del corrent " +"d'aire. Normalment només es necessita amb impressores de marc obert, és a " +"dir, sense tancament. \n" +"\n" +"Opcions:\n" +"Habilitat = la faldilla és tan alta com l'objecte imprès més alt.\n" +"Limitat = la faldilla és tan alta com especifica l'alçada de la faldilla.\n" +"\n" +"Nota: Amb l'escut contra corrents d'aire actiu, la faldilla s'imprimirà a " +"distància de faldilla de l'objecte. Per tant, si les vores d'adherència " +"estan actives pot creuar-se amb elles. Per evitar-ho, augmenteu el valor de " +"distància de la faldilla.\n" msgid "Limited" -msgstr "" +msgstr "Limitat" msgid "Enabled" -msgstr "" +msgstr "Habilitat" msgid "Skirt loops" msgstr "Voltes de la faldilla" msgid "Number of loops for the skirt. Zero means disabling skirt" -msgstr "Nombre devoltes per a la faldilla. Zero significa faldilla desactivada" +msgstr "" +"Nombre de voltes per a la faldilla. Zero significa faldilla desactivada" msgid "Skirt speed" msgstr "Velocitat de la faldilla" @@ -12658,7 +12849,7 @@ msgstr "" "predeterminada d'extrusió de capa." msgid "Skirt minimum extrusion length" -msgstr "" +msgstr "Longitud mínima d'extrusió de la faldilla" msgid "" "Minimum filament extrusion length in mm when printing the skirt. Zero means " @@ -12667,6 +12858,11 @@ msgid "" "Using a non zero value is useful if the printer is set up to print without a " "prime line." msgstr "" +"Longitud mínima d'extrusió del filament en mm en imprimir la faldilla. Zero " +"significa que aquesta funció està desactivada.\n" +"\n" +"L'ús d'un valor diferent de zero és útil si la impressora està configurada " +"per imprimir sense una línia principal." msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " @@ -12817,7 +13013,7 @@ msgstr "" "frontal del llit d'impressió al començament de la impressió." msgid "Slice gap closing radius" -msgstr "Radi de tancament des buits en laminar" +msgstr "Radi de tancament dels buits en laminar" msgid "" "Cracks smaller than 2x gap closing radius are being filled during the " @@ -13448,7 +13644,7 @@ msgid "Spacing of purge lines on the wipe tower." msgstr "Espaiat de les línies de purga de la Torre de Purga." msgid "Maximum wipe tower print speed" -msgstr "" +msgstr "Velocitat màxima d'impressió de la torre de purga" msgid "" "The maximum print speed when purging in the wipe tower and printing the wipe " @@ -13471,6 +13667,26 @@ msgid "" "For the wipe tower external perimeters the internal perimeter speed is used " "regardless of this setting." msgstr "" +"La velocitat màxima d'impressió en purgar a la torre de purga i imprimir a " +"la torre de purga capes poc denses. En la purga, si la velocitat de " +"farciment poc dens o la velocitat calculada de la màxima velocitat " +"volumètrica del filament és menor, s'utilitzarà la més baixa.\n" +"\n" +"En imprimir les capes poc denses, si la velocitat perimetral interna o la " +"velocitat calculada de la màxima velocitat volumètrica del filament és " +"menor, s'utilitzarà la més baixa.\n" +"\n" +"L'augment d'aquesta velocitat pot afectar l'estabilitat de la torre, així " +"com augmentar la força amb què el broquet xoca amb els grumolls que s'hagin " +"pogut formar a la torre de purga.\n" +"\n" +"Abans d'augmentar aquest paràmetre més enllà del valor per defecte de 90 mm/" +"segon, assegureu-vos que la impressora pugui fer un pont de manera fiable a " +"les velocitats augmentades i que el degoteig quan es produeixi el canvi " +"d'eina estigui ben controlat.\n" +"\n" +"Per als perímetres externs de la torre de purga, s'utilitza la velocitat " +"perimetral interna independentment d'aquesta configuració." msgid "Wipe tower extruder" msgstr "Extrusor de la Torre de Purga" @@ -14244,7 +14460,7 @@ msgid "load_obj: failed to parse" msgstr "load_obj: no s'ha pogut analitzar" msgid "load mtl in obj: failed to parse" -msgstr "" +msgstr "carrega mtl a obj: no s'ha pogut analitzar" msgid "The file contains polygons with more than 4 vertices." msgstr "El fitxer conté polígons amb més de 4 vèrtexs." @@ -14379,6 +14595,11 @@ msgid "" "historical results. \n" "Do you still want to continue the calibration?" msgstr "" +"Aquest tipus de màquina només pot contenir 16 resultats històrics per " +"broquet. Podeu suprimir els resultats de l'historial existents i, a " +"continuació, iniciar el calibratge. O podeu continuar el calibratge, però no " +"podeu crear nous resultats històrics de calibratge. \n" +"Encara vols continuar amb el calibratge?" msgid "Connecting to printer..." msgstr "Connectant amb la impressora..." @@ -14397,12 +14618,17 @@ msgid "" "Only one of the results with the same name is saved. Are you sure you want " "to override the historical result?" msgstr "" +"Ja hi ha un resultat històric de calibratge amb el mateix nom: %s. Només es " +"guarda un dels resultats amb el mateix nom. Estàs segur que vols " +"sobreescriure el resultat històric?" #, c-format, boost-format msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." msgstr "" +"Aquest tipus de màquina només pot contenir %d resultats de l'historial per " +"broquet. Aquest resultat no es guardarà." msgid "Internal Error" msgstr "Error intern" @@ -14774,7 +15000,7 @@ msgid "Flow Dynamics Calibration Result" msgstr "Resultat del Calibratge de Dinàmiques de Flux" msgid "New" -msgstr "" +msgstr "Nou" msgid "No History Result" msgstr "Sense Resultats Històrics" @@ -14792,18 +15018,20 @@ msgstr "Acció" #, c-format, boost-format msgid "This machine type can only hold %d history results per nozzle." msgstr "" +"Aquest tipus de màquina només pot contenir %d resultats de l'historial per " +"broquet." msgid "Edit Flow Dynamics Calibration" msgstr "Editeu el Calibratge de Dinàmiques de Flux" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "Calibratge de Dinàmiques de Flux" msgid "Ok" -msgstr "" +msgstr "D’acord" msgid "The filament must be selected." -msgstr "" +msgstr "S'ha de seleccionar el filament." msgid "Network lookup" msgstr "Cerca de xarxa" @@ -15086,7 +15314,7 @@ msgid "Export Log" msgstr "Exportar Registre( Log )" msgid "OrcaSlicer Version:" -msgstr "" +msgstr "Versió d'Orca Slicer:" msgid "System Version:" msgstr "Versió del Sistema:" @@ -15095,10 +15323,10 @@ msgid "DNS Server:" msgstr "Servidor DNS:" msgid "Test OrcaSlicer(GitHub)" -msgstr "" +msgstr "Prova OrcaSlicer (GitHub)" msgid "Test OrcaSlicer(GitHub):" -msgstr "" +msgstr "Prova OrcaSlicer (GitHub):" msgid "Test Bing.com" msgstr "Prova Bing.com" @@ -15208,6 +15436,9 @@ msgid "" "If you continue creating, the preset created will be displayed with its full " "name. Do you want to continue?" msgstr "" +"El nom de Filament %s que heu creat ja existeix. \n" +"Si continueu creant-lo, el perfil creat es mostrarà amb el seu nom complet. " +"Vols continuar?" msgid "Some existing presets have failed to be created, as follows:\n" msgstr "" @@ -15221,8 +15452,8 @@ msgstr "" "Vols reescriure'l?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"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 "" "Canviaríem el nom dels perfils seleccionats com a \"Proveïdor Tipus " @@ -15435,6 +15666,11 @@ msgid "" "volumetric speed has a significant impact on printing quality. Please set " "them carefully." msgstr "" +"Aneu a la configuració del filament per editar els perfils si ho " +"necessiteu.\n" +"Tingueu en compte que la temperatura del broquet, la temperatura del llit i " +"la velocitat volumètrica màxima tenen un impacte significatiu en la qualitat " +"d'impressió. Si us plau, configureu-los amb cura." msgid "" "\n" @@ -15444,6 +15680,13 @@ msgid "" "page. \n" "Click \"Sync user presets\" to enable the synchronization function." msgstr "" +"\n" +"\n" +"L'Orca ha detectat que la funció de sincronització de perfils no està " +"habilitada, cosa que pot provocar una configuració de filament incorrecta a " +"la pàgina Dispositiu. \n" +"Feu clic a \"Sincronitzar els perfils d'usuari\" per habilitar la funció de " +"sincronització." msgid "Printer Setting" msgstr "Configuració de la Impressora" @@ -15554,6 +15797,8 @@ msgstr "Seleccioneu el tipus que voleu exportar" msgid "Failed to create temporary folder, please try Export Configs again." msgstr "" +"No s'ha pogut crear una carpeta temporal, torneu a provar Exportar " +"Configuracions." msgid "Edit Filament" msgstr "Edita el Filament" @@ -15670,7 +15915,7 @@ msgid "Success!" msgstr "Èxit!" msgid "Are you sure to log out?" -msgstr "" +msgstr "Estàs segur de tancar sessió?" msgid "Refresh Printers" msgstr "Refrescar Impressores" @@ -15705,7 +15950,7 @@ msgstr "" "Magatzem de Certificats / Clauer." msgid "Login/Test" -msgstr "" +msgstr "Iniciar Sessió/Provar" msgid "Connection to printers connected via the print host failed." msgstr "" @@ -15849,30 +16094,46 @@ msgid "" "It has a small layer height, and results in almost negligible layer lines " "and high printing quality. It is suitable for most general printing cases." msgstr "" +"Té una alçada de capa petita i produeix línies de capa gairebé " +"insignificants i una alta qualitat d'impressió. És adequat per a la majoria " +"dels casos d'impressió generals." 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. So, it results in " "much higher printing quality, but a much longer printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,2 mm, té " +"velocitats i acceleracions més baixes, i el patró de farciment poc dens és " +"Giroide. Això es tradueix en una qualitat d'impressió molt més alta, però un " +"temps d'impressió molt més llarg." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,2 mm, té una " +"alçada de capa lleugerament més gran i resulta en línies de capa gairebé " +"insignificants i un temps d'impressió lleugerament més curt." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " "height, and results in slightly visible layer lines, but shorter printing " "time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,2 mm, té una " +"alçada de capa més gran i resulta en línies de capa lleugerament visibles, " +"però un temps d'impressió més curt." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " "height, and results in almost invisible layer lines and higher printing " "quality, but shorter printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,2 mm, té una " +"alçada de capa més petita i resulta en línies de capes gairebé invisibles i " +"una qualitat d'impressió més alta, però un temps d'impressió més curt." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -15880,12 +16141,20 @@ msgid "" "Gyroid. So, it results in almost invisible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,2 mm, té línies " +"de capa més petites, velocitats i acceleracions més baixes, i el patró de " +"farciment poc dens és Giroide. Això es tradueix en línies de capa gairebé " +"invisibles i una qualitat d'impressió molt més gran, però un temps " +"d'impressió molt més llarg." msgid "" "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " "height, and results in minimal layer lines and higher printing quality, but " "shorter printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,2 mm, té una " +"alçada de capa més petita i produeix línies de capa mínimes i una qualitat " +"d'impressió més alta, però un temps d'impressió més curt." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -15893,35 +16162,57 @@ msgid "" "Gyroid. So, it results in minimal layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,2 mm, té línies " +"de capa més petites, velocitats i acceleracions més baixes, i el patró de " +"farciment poc dens és Giroide. Això es tradueix en línies de capa mínimes i " +"una qualitat d'impressió molt més alta, però un temps d'impressió molt més " +"llarg." msgid "" "It has a general layer height, and results in general layer lines and " "printing quality. It is suitable for most general printing cases." msgstr "" +"Té una alçada general de capa, i produeix línies de capa i qualitat " +"d'impressió generals. És adequat per a la majoria dels casos d'impressió " +"generals." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,4 mm, té més " +"bucles de paret i una densitat de farciment més gran. Això es tradueix en " +"una major resistència de les impressions, però més consum de filaments i un " +"temps d'impressió més llarg." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but slightly shorter printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,4 mm, té una " +"alçada de capa més gran i produeix línies de capa més aparents i una " +"qualitat d'impressió més baixa, però un temps d'impressió lleugerament més " +"curt." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,4 mm, té una " +"alçada de capa més gran i produeix línies de capa més aparents i una " +"qualitat d'impressió més baixa, però un temps d'impressió més curt." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,4 mm, té una " +"alçada de capa més petita i produeix línies de capa menys aparents i una " +"qualitat d'impressió més alta, però un temps d'impressió més llarg." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -15929,12 +16220,20 @@ msgid "" "Gyroid. So, it results in less apparent layer lines and much higher printing " "quality, but much longer printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,4 mm, té una " +"alçada de capa més petita, velocitats i acceleració més baixes, i el patró " +"de farciment poc dens és Giroide. Això es tradueix en línies de capa menys " +"aparents i una qualitat d'impressió molt més gran, però un temps d'impressió " +"molt més llarg." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and higher printing " "quality, but longer printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,4 mm, té una " +"alçada de capa més petita i produeix línies de capa gairebé insignificants i " +"una qualitat d'impressió més alta, però un temps d'impressió més llarg." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -15942,64 +16241,102 @@ msgid "" "Gyroid. So, it results in almost negligible layer lines and much higher " "printing quality, but much longer printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,4 mm, té una " +"alçada de capa més petita, velocitats i acceleració més baixes, i el patró " +"de farciment poc dens és Giroide. Això produeix línies de capa gairebé " +"insignificants i una qualitat d'impressió molt més gran, però un temps " +"d'impressió molt més llarg." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " "height, and results in almost negligible layer lines and longer printing " "time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,4 mm, té una " +"alçada de capa més petita i produeix línies de capa gairebé insignificants i " +"un temps d'impressió més llarg." msgid "" "It has a big layer height, and results in apparent layer lines and ordinary " "printing quality and printing time." msgstr "" +"Té una gran alçada de capa i produeix línies de capa aparents i qualitat " +"d'impressió i temps d'impressió ordinaris." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " "and a higher sparse infill density. So, it results in higher strength of the " "prints, but more filament consumption and longer printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,6 mm, té més " +"bucles de paret i una densitat de farciment més gran. Per tant, es tradueix " +"en una major resistència de les impressions, però més consum de filaments i " +"un temps d'impressió més llarg." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in more apparent layer lines and lower printing quality, " "but shorter printing time in some printing cases." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,6 mm, té una " +"alçada de capa més gran i produeix línies de capa més aparents i una " +"qualitat d'impressió més baixa, però un temps d'impressió més curt en alguns " +"casos d'impressió." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " "height, and results in much more apparent layer lines and much lower " "printing quality, but shorter printing time in some printing cases." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,6 mm, té una " +"alçada de capa més gran i produeix línies de capa molt més aparents i una " +"qualitat d'impressió molt menor, però un temps d'impressió més curt en " +"alguns casos d'impressió." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and slight higher printing " "quality, but longer printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,6 mm, té una " +"alçada de capa més petita i produeix línies de capa menys aparents i una " +"lleugera qualitat d'impressió més alta, però un temps d'impressió més llarg." msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " "height, and results in less apparent layer lines and higher printing " "quality, but longer printing time." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,6 mm, té una " +"alçada de capa més petita i produeix línies de capa menys aparents i una " +"qualitat d'impressió més alta, però un temps d'impressió més llarg." msgid "" "It has a very big layer height, and results in very apparent layer lines, " "low printing quality and general printing time." msgstr "" +"Té una alçada de capa molt gran i produeix línies de capa molt aparents, " +"baixa qualitat d'impressió i temps d'impressió general." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " "height, and results in very apparent layer lines and much lower printing " "quality, but shorter printing time in some printing cases." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,8 mm, té una " +"alçada de capa més gran i produeix línies de capa molt aparents i una " +"qualitat d'impressió molt menor, però un temps d'impressió més curt en " +"alguns casos d'impressió." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " "layer height, and results in extremely apparent layer lines and much lower " "printing quality, but much shorter printing time in some printing cases." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,8 mm, té una " +"alçada de capa molt més gran, i produeix línies de capa extremadament " +"aparents i una qualitat d'impressió molt menor, però un temps d'impressió " +"molt més curt en alguns casos d'impressió." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -16007,53 +16344,68 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,8 mm, té una " +"alçada de capa lleugerament més petita i produeix línies de capa " +"lleugerament inferiors però encara aparents i una qualitat d'impressió " +"lleugerament superior, però un temps d'impressió més llarg en alguns casos " +"d'impressió." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " "height, and results in less but still apparent layer lines and slightly " "higher printing quality, but longer printing time in some printing cases." msgstr "" +"En comparació amb el perfil predeterminat del broquet de 0,8 mm, té una " +"alçada de capa més petita i produeix línies de capa menys però encara " +"aparents i una qualitat d'impressió lleugerament superior, però un temps " +"d'impressió més llarg en alguns casos d'impressió." msgid "Connected to Obico successfully!" -msgstr "" +msgstr "Connectat amb Obico amb èxit!" msgid "Could not connect to Obico" -msgstr "" +msgstr "No s'ha pogut connectar a Obico" msgid "Connected to SimplyPrint successfully!" -msgstr "" +msgstr "Connectat a SimplyPrint amb èxit!" msgid "Could not connect to SimplyPrint" -msgstr "" +msgstr "No s'ha pogut connectar a SimplyPrint" msgid "SimplyPrint account not linked. Go to Connect options to set it up." msgstr "" +"No s'ha enllaçat el compte de SimplyPrint. Aneu a Opcions de Connexió per " +"configurar-lo." msgid "" "File size exceeds the 100MB upload limit. Please upload your file through " "the panel." msgstr "" +"La mida del fitxer supera el límit de pujada de 100 MB. Si us plau, " +"carregueu el vostre fitxer a través del panell." msgid "Unknown error" -msgstr "" +msgstr "Error desconegut" msgid "Connection to Flashforge works correctly." -msgstr "" +msgstr "La connexió amb Flashforge funciona correctament." msgid "Could not connect to Flashforge" -msgstr "" +msgstr "No s'ha pogut connectar a Flashforge" msgid "The provided state is not correct." -msgstr "" +msgstr "L'estat proporcionat no és correcte." msgid "Please give the required permissions when authorizing this application." -msgstr "" +msgstr "Doneu els permisos necessaris quan autoritzeu aquesta aplicació." msgid "Something unexpected happened when trying to log in, please try again." msgstr "" +"Alguna cosa inesperada ha passat en intentar iniciar sessió, torneu-ho a " +"provar." msgid "User cancelled." -msgstr "" +msgstr "Usuari cancel·lat." #: resources/data/hints.ini: [hint:Precise wall] msgid "" @@ -16447,6 +16799,10 @@ msgstr "" #~ msgid "V" #~ msgstr "V" +#, fuzzy +#~ msgid "Maximum print speed when purging" +#~ msgstr "Màxima velocitat d'impressió en purgar" + #~ msgid "" #~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " #~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " @@ -16459,6 +16815,20 @@ msgstr "" #~ msgid "Export &Configs" #~ msgstr "Exportar &Configuracions" +#~ msgid "Open &Studio" +#~ msgstr "Obrir &Studio" + +#~ msgid "Open Studio" +#~ msgstr "Obrir Studio" + +#, fuzzy +#~ msgid "" +#~ "Over 4 systems/handy are using remote access, you can close some and try " +#~ "again." +#~ msgstr "" +#~ "Hi ha més de 4 sistemes / pràctics que utilitzen accés remot, podeu " +#~ "tancar-ne alguns i tornar-ho a provar." + #~ msgid "Infill direction" #~ msgstr "Angle de farciment" @@ -16469,27 +16839,12 @@ msgstr "" #~ "Habiliteu-lo per obtenir un fitxer de Codi-G que tingui moviments G2 i " #~ "G3. I la tolerància de curvatura és la mateixa que la resolució" -#~ msgid "" -#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " -#~ "The percentage value is relative to line width of sparse infill" -#~ msgstr "" -#~ "L'àrea de farciment s'amplia lleugerament per superposar-se amb el " -#~ "perímetre per a una millor unió. El valor percentual és relatiu a " -#~ "l'amplada de línia del farciment poc dens" - #~ msgid "Export Configs" #~ msgstr "Exportar Configuracions" #~ msgid "Unload Filament" #~ msgstr "Descarregar Filament" -#~ msgid "" -#~ "Choose an AMS slot then press \"Load\" or \"Unload\" button to " -#~ "automatically load or unload filiament." -#~ msgstr "" -#~ "Trieu una ranura AMS i premeu el botó \"Carregar\" o \"Descarregar\" per " -#~ "carregar o descarregar el filament automàticament." - #~ msgid "MC" #~ msgstr "MC" @@ -16505,6 +16860,70 @@ msgstr "" #~ msgid "HMS" #~ msgstr "HMS" +#, fuzzy +#~| msgid "Unsaved Changes" +#~ msgid "Actions For Unsaved Changes" +#~ msgstr "Canvis no desats" + +#, fuzzy +#~| msgid "Reset scale" +#~ msgid "Preset Value" +#~ msgstr "Valor predefinit esquerre" + +#, fuzzy +#~| msgid "Modified G-codes" +#~ msgid "Modified Value" +#~ msgstr "Valor modificat" + +#, fuzzy +#~| msgid "User Preset" +#~ msgid "Use Preset Value" +#~ msgstr "Perfil d'usuari" + +#, fuzzy +#~| msgid "Save file as:" +#~ msgid "Save Modified Value" +#~ msgstr "Desa el fitxer com a:" + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ "Would you like to save these changed settings(modified value)?" +#~ msgstr "" +#~ "\n" +#~ "Voleu desar aquests paràmetres canviats (valor modificat)?" + +#, fuzzy +#~| msgid "" +#~| "You have changed some preset settings. \n" +#~| "Would you like to keep these changed settings (new value) after " +#~| "switching preset?" +#~ msgid "" +#~ "\n" +#~ "Would you like to keep these changed settings(modified value) after " +#~ "switching preset?" +#~ msgstr "" +#~ "Heu canviat algunes opcions de configuració del perfil. \n" +#~ "Voleu mantenir aquests paràmetres modificats després de canviar el perfil?" + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ "Do you want to keep your current modified settings, or use preset " +#~ "settings?" +#~ msgstr "" +#~ "\n" +#~ "Voleu mantenir la configuració modificada actual o utilitzar la " +#~ "configuració predeterminada?" + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ "Do you want to save your current modified settings?" +#~ msgstr "" +#~ "\n" +#~ "Voleu desar la configuració modificada actual?" + #~ msgid "- ℃" #~ msgstr "- °C" @@ -16520,9 +16939,6 @@ msgstr "" #~ msgid "Jump to layer" #~ msgstr "Saltar a la capa" -#~ msgid "Cabin humidity" -#~ msgstr "Humitat de la cabina" - #~ msgid "" #~ "Green means that AMS humidity is normal, orange represent humidity is " #~ "high, red represent humidity is too high.(Hygrometer: lower the better.)" @@ -16531,9 +16947,6 @@ msgstr "" #~ "la humitat és alta, el vermell representa que la humitat és excessiva. " #~ "( Higròmetre: com més baix millor. )" -#~ msgid "Desiccant status" -#~ msgstr "Estat del dessecant" - #~ msgid "" #~ "A desiccant status lower than two bars indicates that desiccant may be " #~ "inactive. Please change the desiccant.(The bars: higher the better.)" @@ -16553,29 +16966,12 @@ msgstr "" #~ "també alenteixen el procés. Durant aquest temps, és possible que " #~ "l'indicador no representi la cambra amb precisió." -#~ msgid "" -#~ "Note: if new filament is inserted during printing, the AMS will not " -#~ "automatically read any information until printing is completed." -#~ msgstr "" -#~ "Nota: si s'insereix un filament nou durant la impressió, l'AMS no llegirà " -#~ "automàticament cap informació fins que es completi la impressió." - -#, boost-format -#~ msgid "Succeed to export G-code to %1%" -#~ msgstr "Aconseguida l'exportació del Codi-G a %1%" - #~ msgid "Initialize failed (No Device)!" #~ msgstr "Inicialització fallida ( No hi ha dispositiu )!" #~ msgid "Initialize failed (No Camera Device)!" #~ msgstr "Inicialització fallida ( Sense Dispositiu de Càmera )!" -#~ msgid "" -#~ "Printer is busy downloading, Please wait for the downloading to finish." -#~ msgstr "" -#~ "La impressora està ocupada descarregant, espereu que finalitzi la " -#~ "descàrrega." - #~ msgid "Initialize failed (Not supported on the current printer version)!" #~ msgstr "" #~ "Inicialització fallida ( No és compatible amb la versió actual de la " @@ -16595,33 +16991,9 @@ msgstr "" #~ msgid "Load failed [%d]!" #~ msgstr "La càrrega ha fallat [%d]!" -#, c-format, boost-format -#~ msgid "No files [%d]" -#~ msgstr "Sense fitxers [%d]" - -#, c-format, boost-format -#~ msgid "Load failed [%d]" -#~ msgstr "Càrrega fallida [%d]" - -#~ msgid "Failed to fetching model infomations from printer." -#~ msgstr "No s'ha pogut obtenir la informació del model de la impressora." - -#~ msgid "Failed to parse model infomations." -#~ msgstr "No s'han pogut analitzar les informacions del model." - #~ msgid "Connection lost. Please retry." #~ msgstr "S'ha perdut la connexió. Si us plau, torna-ho a intentar." -#~ msgid "File not exists." -#~ msgstr "El fitxer no existeix." - -#~ msgid "" -#~ "Unable to perform boolean operation on model meshes. Only positive parts " -#~ "will be exported." -#~ msgstr "" -#~ "No s'ha pogut realitzar l'operació booleana a les malles del model. Només " -#~ "s'exportaran les parts positives." - #, boost-format #~ msgid "" #~ "You have changed some settings of preset \"%1%\". \n" @@ -16631,47 +17003,9 @@ msgstr "" #~ "Heu canviat alguns paràmetres del perfil \"%1%\". \n" #~ "Voleu mantenir aquests paràmetres modificats després de canviar el perfil?" -#~ msgid "" -#~ "You have changed some preset settings. \n" -#~ "Would you like to keep these changed settings (new value) after switching " -#~ "preset?" -#~ msgstr "" -#~ "Heu canviat algunes opcions de configuració del perfil. \n" -#~ "Voleu mantenir aquests paràmetres modificats després de canviar el perfil?" - #~ msgid " ℃" #~ msgstr " °C" -#~ 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 have a significant impact on printing quality. Please " -#~ "set them carefully." -#~ msgstr "" -#~ "Aneu a la configuració del filament per editar els perfils si ho " -#~ "necessiteu.\n" -#~ "Tingueu en compte que la temperatura del broquet, la temperatura del llit " -#~ "i la velocitat volumètrica màxima tenen un impacte significatiu en la " -#~ "qualitat d'impressió. Si us plau, configureu-los amb cura." - -#~ msgid "" -#~ "Alternate extra wall only works with ensure vertical shell thickness " -#~ "disabled. " -#~ msgstr "" -#~ "El perímetre addicional alternat només funciona amb el gruix vertical de " -#~ "la carcassa desactivat. " - -#~ msgid "" -#~ "Change these settings automatically? \n" -#~ "Yes - Disable ensure vertical shell thickness and enable alternate extra " -#~ "wall\n" -#~ "No - Dont use alternate extra wall" -#~ msgstr "" -#~ "Canviar aquesta configuració automàticament? \n" -#~ "Sí - Desactivar assegurar el gruix vertical de la carcassa i activar un " -#~ "perímetre addicional alternat\n" -#~ "No - No utilitzar perímetre addicional alternat" - #~ msgid "" #~ "The speed setting exceeds the printer's maximum speed " #~ "(machine_max_speed_x/machine_max_speed_y).\n" @@ -16687,9 +17021,6 @@ msgstr "" #~ "Podeu ajustar la configuració de velocitat màxima a la configuració de la " #~ "impressora per obtenir velocitats més altes." -#~ msgid "Bridge counterbole holes" -#~ msgstr "Pont pels forats esbocats( contraforats )" - #~ msgid "Studio Version:" #~ msgstr "Versió d'Studio:" From f9928cb32f92a6a75d24d3c4515ad2bb882204af Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 24 May 2024 13:44:46 +0200 Subject: [PATCH 059/178] Updated FR translations (#5439) * Changed "chambre" to "caisson" * Added new locales --- localization/i18n/fr/OrcaSlicer_fr.po | 194 +++++++++++++++++--------- 1 file changed, 126 insertions(+), 68 deletions(-) diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po index f320e04bba8..6ee40b50fb4 100644 --- a/localization/i18n/fr/OrcaSlicer_fr.po +++ b/localization/i18n/fr/OrcaSlicer_fr.po @@ -704,7 +704,7 @@ msgid "Emboss" msgstr "Embosser" msgid "NORMAL" -msgstr "" +msgstr "NORMAL" msgid "SMALL" msgstr "PETIT" @@ -1312,7 +1312,7 @@ msgid "Center of circle" msgstr "Centrer du cercle" msgid "ShiftLeft mouse button" -msgstr "" +msgstr "ShiftLeft mouse button" msgid "Select feature" msgstr "Sélectionner une fonctionnalité" @@ -1525,7 +1525,7 @@ msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Choisissez un ou plusieurs fichiers (3mf/step/stl/svg/obj/amf) :" msgid "Choose ZIP file" -msgstr "" +msgstr "Choisissez un fichier ZIP" msgid "Choose one file (gcode/3mf):" msgstr "Choisissez un fichier (gcode/3mf):" @@ -1603,6 +1603,9 @@ msgid "" "Could not start URL download. Destination folder is not set. Please choose " "destination folder in Configuration Wizard." msgstr "" +"Impossible de lancer le téléchargement de l’URL. Le dossier de destination " +"n’est pas défini. Veuillez choisir le dossier de destination dans " +"l’assistant de configuration." msgid "Import File" msgstr "Importer un Fichier" @@ -1759,7 +1762,7 @@ msgid "Stanford Bunny" msgstr "Lapin de Stanford" msgid "Orca String Hell" -msgstr "" +msgstr "Orca String Hell" msgid "" "This model features text embossment on the top surface. For optimal results, " @@ -2797,7 +2800,7 @@ msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero Licence Publique Générale, version 3" msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" -msgstr "" +msgstr "Orca Slicer est basé sur PrusaSlicer et BambuStudio" msgid "Libraries" msgstr "Bibliothèques" @@ -3472,10 +3475,10 @@ msgstr "" "Données de fichier d'impression anormales. Veuillez redécouvre le fichier." msgid "There is no device available to send printing." -msgstr "" +msgstr "Il n’y a pas de périphérique disponible pour envoyer l’impression." msgid "The number of printers in use simultaneously cannot be equal to 0." -msgstr "" +msgstr "Le nombre d’imprimantes utilisées simultanément ne peut être égal à 0." msgid "Use External Spool" msgstr "Utiliser la bobine externe" @@ -3499,7 +3502,7 @@ msgid "Timelapse" msgstr "Timelapse" msgid "Flow Dynamic Calibration" -msgstr "" +msgstr "Calibration dynamique du débit" msgid "Send Options" msgstr "Options d’envoi" @@ -3664,7 +3667,7 @@ msgid "" "it may result in material softening and clogging.The maximum safe " "temperature for the material is %d" msgstr "" -"La température actuelle de la chambre est supérieure à la température de " +"La température actuelle du caisson est supérieure à la température de " "sécurité du matériau, ce qui peut entraîner un ramollissement et un bouchage " "du filament. La température de sécurité maximale pour le matériau est %d" @@ -3891,11 +3894,10 @@ msgstr "" msgid "Paused due to chamber temperature control error" msgstr "" -"Mise en pause en raison d’une erreur de contrôle de la température de la " -"chambre" +"Mise en pause en raison d’une erreur de contrôle de la température du caisson" msgid "Cooling chamber" -msgstr "Refroidissement de la chambre" +msgstr "Refroidissement du caisson" msgid "Paused by the Gcode inserted by user" msgstr "Mise en pause par le G-code inséré par l’utilisateur" @@ -3944,7 +3946,7 @@ msgid "" "45℃.In order to avoid extruder clogging,low temperature filament(PLA/PETG/" "TPU) is not allowed to be loaded." msgstr "" -"La température actuelle de la chambre ou la température cible de la chambre " +"La température actuelle du caisson ou la température cible du caisson " "dépasse 45℃. Afin d’éviter le bouchage de l’extrudeur, un filament basse " "température (PLA/PETG/TPU) ne doit pas être chargé." @@ -3955,16 +3957,16 @@ msgid "" msgstr "" "Un filament basse température (PLA/PETG/TPU) est chargé dans l’extrudeur. " "Afin d’éviter le bouchage de l’extrudeur, il n’est pas autorisé de régler la " -"température de la chambre au-dessus de 45℃." +"température du caisson au-dessus de 45℃." 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 "" -"Lorsque vous réglez la température de la chambre en dessous de 40℃, le " -"contrôle de la température de la chambre ne sera pas activé. Et la " -"température cible de la chambre sera automatiquement réglée sur 0℃." +"Lorsque vous réglez la température du caisson en dessous de 40℃, le contrôle " +"de la température du caisson ne sera pas activé. Et la température cible du " +"caisson sera automatiquement réglée sur 0℃." msgid "Failed to start printing job" msgstr "Échec du lancement de la tâche d'impression" @@ -4047,7 +4049,7 @@ msgid "Objects Info" msgstr "Informations sur les objets" msgid "Dimensions" -msgstr "" +msgstr "Dimensions" msgid "Temperatures" msgstr "Températures" @@ -4732,10 +4734,10 @@ msgid "Load a model" msgstr "Charger un modèle" msgid "Import Zip Archive" -msgstr "" +msgstr "Importer une archive Zip" msgid "Load models contained within a zip archive" -msgstr "" +msgstr "Charger les modèles contenus dans une archive zip" msgid "Import Configs" msgstr "Importer des Configs" @@ -4771,7 +4773,7 @@ msgid "Export current plate as G-code" msgstr "Exporter le plateau actuel en G-code" msgid "Export Preset Bundle" -msgstr "" +msgstr "Exporter l’ensemble des préréglages" msgid "Export current configuration to files" msgstr "Exporter la configuration actuelle vers des fichiers" @@ -6385,16 +6387,18 @@ msgstr "Une erreur se produit lors du chargement du fichier G-code" #. TRN %1% is archive path #, boost-format msgid "Loading of a ZIP archive on path %1% has failed." -msgstr "" +msgstr "Le chargement d’une archive ZIP se trouvant dans %1% a échoué." #. TRN: First argument = path to file, second argument = error description #, boost-format msgid "Failed to unzip file to %1%: %2%" -msgstr "" +msgstr "Échec de la décompression du fichier vers %1% : %2%" #, boost-format msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." msgstr "" +"Impossible de trouver le fichier décompressé dans %1%. La décompression du " +"fichier a échoué." msgid "Drop project file" msgstr "Déposer le fichier de projet" @@ -6843,18 +6847,20 @@ msgstr "" "fichiers .step/.stp" msgid "Current association: " -msgstr "" +msgstr "Association actuelle : " msgid "Associate prusaslicer://" -msgstr "" +msgstr "Associer prusaslicer://" msgid "Not associated to any application" -msgstr "" +msgstr "N’est associé à aucune application" msgid "" "Associate OrcaSlicer with prusaslicer:// links so that Orca can open " "PrusaSlicer links from Printable.com" msgstr "" +"Associer OrcaSlicer aux liens prusaslicer:// pour qu’Orca puisse ouvrir les " +"liens PrusaSlicer de Printable.com" msgid "Maximum recent projects" msgstr "Projets récents maximum" @@ -7766,8 +7772,8 @@ 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\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Lorsque vous enregistrez un timelapse sans tête d’outil, il est recommandé " "d’ajouter une \"Tour d’essuyage timelapse\".\n" @@ -7904,7 +7910,7 @@ msgstr "" "d'ensemble" msgid "Print chamber temperature" -msgstr "Température de la chambre d’impression" +msgstr "Température du caisson d’impression" msgid "Print temperature" msgstr "Température d'impression" @@ -7922,9 +7928,9 @@ msgid "" "Bed temperature when cool plate is installed. Value 0 means the filament " "does not support to print on the Cool Plate" msgstr "" -"Il s'agit de la température du plateau lorsque le plateau froid (\"Cool plate" -"\") est installé. Une valeur à 0 signifie que ce filament ne peut pas être " -"imprimé sur le plateau froid." +"Il s'agit de la température du plateau lorsque le plateau froid (\"Cool " +"plate\") est installé. Une valeur à 0 signifie que ce filament ne peut pas " +"être imprimé sur le plateau froid." msgid "Engineering plate" msgstr "Plaque Engineering" @@ -8797,10 +8803,10 @@ msgid "Shift+Mouse wheel" msgstr "Maj+Molette de la souris" msgid "Horizontal slider - Move to start position" -msgstr "" +msgstr "Curseur horizontal - Déplacement vers la position de départ" msgid "Horizontal slider - Move to last position" -msgstr "" +msgstr "Curseur horizontal - Déplacer vers la dernière position" msgid "Release Note" msgstr "Note de version" @@ -11455,10 +11461,10 @@ msgstr "Ventilateur à pleine vitesse à la couche" 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." +"\"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 "" "La vitesse du ventilateur augmentera de manière linéaire à partir de zéro à " "la couche \"close_fan_the_first_x_layers\" jusqu’au maximum à la couche " @@ -11717,14 +11723,14 @@ msgid "money/h" msgstr "€/heure" msgid "Support control chamber temperature" -msgstr "Contrôle de température de la chambre" +msgstr "Contrôle de température du caisson" msgid "" "This option is enabled if machine support controlling chamber temperature\n" "G-code command: M141 S(0-255)" msgstr "" "Activez cette option si la machine prend en charge le contrôle de la " -"température de la chambre\n" +"température du caisson\n" "Commande de G-code : M141 S(0-255)" msgid "Support air filtration" @@ -11818,6 +11824,11 @@ msgid "" "value to ~10-15% to minimize potential over extrusion and accumulation of " "material resulting in rough top surfaces." msgstr "" +"La zone de remplissage est légèrement élargie pour chevaucher la paroi afin " +"d’améliorer l’adhérence. La valeur du pourcentage est relative à la largeur " +"de la ligne de remplissage. Réglez cette valeur à ~10-15% pour minimiser le " +"risque de sur-extrusion et d’accumulation de matériau, ce qui rendrait les " +"surfaces supérieures rugueuses." msgid "Top/Bottom solid infill/wall overlap" msgstr "Chevauchement du remplissage ou de la paroi supérieur(e)/inférieur(e)" @@ -11830,6 +11841,12 @@ msgid "" "appearance of pinholes. The percentage value is relative to line width of " "sparse infill" msgstr "" +"La zone de remplissage solide supérieure est légèrement élargie pour " +"chevaucher la paroi afin d’améliorer l’adhérence et de minimiser " +"l’apparition de trous d’épingle à l’endroit où le remplissage supérieur " +"rencontre les parois. Une valeur de 25-30% est un bon point de départ, " +"minimisant l’apparition de trous d’épingle. La valeur en pourcentage est " +"relative à la largeur de ligne du remplissage." msgid "Speed of internal sparse infill" msgstr "Vitesse de remplissage interne" @@ -12943,7 +12960,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Nombre de couches de jupe, généralement une seule." msgid "Draft shield" -msgstr "" +msgstr "Paravent" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12958,12 +12975,27 @@ msgid "" "distance from the object. Therefore, if brims are active it may intersect " "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +"Un paravent est utile pour protéger une impression ABS ou ASA contre les " +"risques de déformation et de détachement du plateau d’impression en raison " +"des courants d’air. Il n’est généralement nécessaire que pour les " +"imprimantes à cadre ouvert, c’est-à-dire sans caisson. \n" +"\n" +"Options :\n" +"Activé = la hauteur de la jupe est égale à celle de l’objet imprimé le plus " +"haut.\n" +"Limité = la hauteur de la jupe est celle spécifiée par la hauteur de la " +"jupe.\n" +"\n" +"Remarque : lorsque le paravent est actif, la jupe est imprimée à la distance " +"de la jupe par rapport à l’objet. Par conséquent, si des bordures sont " +"actives, elle risque de les croiser. Pour éviter cela, augmentez la valeur " +"de la distance de la jupe.\n" msgid "Limited" -msgstr "" +msgstr "Limité" msgid "Enabled" -msgstr "" +msgstr "Activé" msgid "Skirt loops" msgstr "Boucles de la jupe" @@ -12980,7 +13012,7 @@ msgstr "" "d’extrusion par défaut est utilisée." msgid "Skirt minimum extrusion length" -msgstr "" +msgstr "Longueur minimale d’extrusion de la jupe" msgid "" "Minimum filament extrusion length in mm when printing the skirt. Zero means " @@ -12989,6 +13021,11 @@ msgid "" "Using a non zero value is useful if the printer is set up to print without a " "prime line." msgstr "" +"Longueur minimale d’extrusion du filament en mm lors de l’impression de la " +"jupe. Zéro signifie que cette fonction est désactivée.\n" +"\n" +"L’utilisation d’une valeur non nulle est utile si l’imprimante est " +"configurée pour imprimer sans ligne d’amorce." msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " @@ -13161,8 +13198,8 @@ msgid "" "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " "close all holes in the model." msgstr "" -"Utilisez « Pair-impair » pour les modèles d'avion 3DLabPrint. Utilisez « " -"Fermer les trous » pour fermer tous les trous du modèle." +"Utilisez « Pair-impair » pour les modèles d'avion 3DLabPrint. Utilisez " +"« Fermer les trous » pour fermer tous les trous du modèle." msgid "Regular" msgstr "Standard" @@ -13588,12 +13625,12 @@ msgid "" "added before \"machine_start_gcode\"\n" "G-code commands: M141/M191 S(0-255)" msgstr "" -"Activez cette option pour le contrôle de la température de la chambre. Une " +"Activez cette option pour le contrôle de la température du caisson. Une " "commande M191 sera ajoutée avant \"machine_start_gcode\"\n" "Commandes G-code : M141/M191 S(0-255)" msgid "Chamber temperature" -msgstr "Température de la chambre" +msgstr "Température du caisson" msgid "" "Higher chamber temperature can help suppress or reduce warping and " @@ -13604,13 +13641,13 @@ msgid "" "high to avoid cloggings, so 0 which stands for turning off is highly " "recommended" msgstr "" -"Une température de chambre plus élevée peut aider à supprimer ou à réduire " +"Une température de caisson plus élevée peut aider à supprimer ou à réduire " "la déformation et potentiellement conduire à une force de liaison " "intercouche plus élevée pour les matériaux à haute température comme l’ABS, " "l’ASA, le PC, le PA, etc. Dans le même temps, la filtration de l’air de " "l’ABS et de l’ASA s’aggravera. Pour le PLA, le PETG, le TPU, le PVA et " -"d’autres matériaux à basse température, la température réelle de la chambre " -"ne doit pas être élevée pour éviter les bouchages, donc la valeur 0 qui " +"d’autres matériaux à basse température, la température réelle du caisson ne " +"doit pas être élevée pour éviter les bouchages, donc la valeur 0 qui " "signifie éteindre est fortement recommandé." msgid "Nozzle temperature for layers after the initial one" @@ -13725,8 +13762,8 @@ msgid "" "appearance defects when printing objects." msgstr "" "La tour de purge peut être utilisée pour nettoyer les résidus sur la buse et " -"stabiliser la pression de la chambre à l'intérieur de la buse afin d'éviter " -"les défauts d'apparence lors de l'impression d'objets." +"stabiliser la pression du caisson à l'intérieur de la buse afin d'éviter les " +"défauts d'apparence lors de l'impression d'objets." msgid "Purging volumes" msgstr "Volumes de purge" @@ -13773,7 +13810,7 @@ msgid "Spacing of purge lines on the wipe tower." msgstr "Espacement des lignes de purge sur la tour d’essuyage." msgid "Maximum wipe tower print speed" -msgstr "" +msgstr "Vitesse maximale d’impression de la tour d’essuyage" msgid "" "The maximum print speed when purging in the wipe tower and printing the wipe " @@ -13796,6 +13833,27 @@ msgid "" "For the wipe tower external perimeters the internal perimeter speed is used " "regardless of this setting." msgstr "" +"Vitesse d'impression maximale lors de la purge dans la tour de raclage et de " +"l'impression des couches éparses de la tour d'essuyage. Lors de la purge, si " +"la vitesse de remplissage ou la vitesse calculée à partir de la vitesse " +"volumétrique maximale du filament est inférieure, c'est la vitesse la plus " +"faible qui sera utilisée.\n" +"\n" +"Lors de l’impression des couches éparses, si la vitesse du périmètre interne " +"ou la vitesse calculée à partir de la vitesse volumétrique maximale du " +"filament est inférieure, c’est la vitesse la plus faible qui sera utilisée.\n" +"\n" +"L’augmentation de cette vitesse peut affecter la stabilité de la tour et " +"augmenter la force avec laquelle la buse entre en collision avec les blobs " +"qui peuvent s’être formés sur la tour d’essuyage.\n" +"\n" +"Avant d’augmenter ce paramètre au-delà de la valeur par défaut de 90 mm/sec, " +"assurez-vous que votre imprimante peut effectuer un pontage fiable à des " +"vitesses élevées et que le suintement lors du changement d’outil est bien " +"contrôlé.\n" +"\n" +"Pour les périmètres externes de la tour d’essuyage, la vitesse du périmètre " +"interne est utilisée indépendamment de ce paramètre." msgid "Wipe tower extruder" msgstr "Extrudeur de tour d’essuyage" @@ -13950,8 +14008,8 @@ msgid "" "Wipe tower is only compatible with relative mode. It is recommended on most " "printers. Default is checked" msgstr "" -"L’extrusion relative est recommandée lors de l’utilisation de l’option « " -"label_objects ». Certains extrudeurs fonctionnent mieux avec cette option " +"L’extrusion relative est recommandée lors de l’utilisation de l’option " +"« label_objects ». Certains extrudeurs fonctionnent mieux avec cette option " "non verrouillée (mode d’extrusion absolu). La tour d’essuyage n’est " "compatible qu’avec le mode relatif. Il est recommandé sur la plupart des " "imprimantes. L’option par défaut est cochée" @@ -14402,7 +14460,7 @@ msgid "Hour" msgstr "Heure" msgid "Minute" -msgstr "" +msgstr "Minute" msgid "Print preset name" msgstr "Imprimer le nom de la présélection" @@ -14814,9 +14872,9 @@ msgstr "" "Wiki.\n" "\n" "Habituellement, la calibration est inutile. Lorsque vous démarrez une " -"impression d'une seule couleur/matériau, avec l'option \"Calibration du débit" -"\" cochée dans le menu de démarrage de l'impression, l'imprimante suivra " -"l'ancienne méthode de calibration du filament avant l'impression.\n" +"impression d'une seule couleur/matériau, avec l'option \"Calibration du " +"débit\" cochée dans le menu de démarrage de l'impression, l'imprimante " +"suivra l'ancienne méthode de calibration du filament avant l'impression.\n" "Lorsque vous démarrez une impression multi-couleurs/matériaux, l'imprimante " "utilise le paramètre de compensation par défaut pour le filament lors de " "chaque changement de filament, ce qui donne un bon résultat dans la plupart " @@ -15595,8 +15653,8 @@ msgstr "" "Voulez-vous le réécrire ?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"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 "" "Nous renommerions les préréglages en « Vendor Type Serial @printer you " @@ -15647,10 +15705,10 @@ msgid "Printable Space" msgstr "Espace imprimable" msgid "X" -msgstr "" +msgstr "X" msgid "Y" -msgstr "" +msgstr "Y" msgid "Hot Bed STL" msgstr "STL du plateau" @@ -16598,8 +16656,8 @@ msgid "" "Chamber temperature\n" "Did you know that OrcaSlicer supports chamber temperature?" msgstr "" -"Température de la chambre\n" -"Saviez-vous qu’OrcaSlicer prend en charge la température de la chambre ?" +"Température du caisson\n" +"Saviez-vous qu’OrcaSlicer prend en charge la température du caisson ?" #: resources/data/hints.ini: [hint:Calibration] msgid "" @@ -17382,8 +17440,8 @@ msgstr "" #~ "thickness (top+bottom solid layers)" #~ msgstr "" #~ "Ajoutez du remplissage solide à proximité des surfaces inclinées pour " -#~ "garantir l'épaisseur verticale de la coque (couches solides supérieure" -#~ "+inférieure)." +#~ "garantir l'épaisseur verticale de la coque (couches solides " +#~ "supérieure+inférieure)." #~ msgid "Further reduce solid infill on walls (beta)" #~ msgstr "Réduire davantage le remplissage solide des parois (expérimental)" From 2ace48e9ef19af87e94116544611523b7d1bc296 Mon Sep 17 00:00:00 2001 From: Dima Buzdyk <46728448+buzzhuzz@users.noreply.github.com> Date: Fri, 24 May 2024 17:00:09 +0500 Subject: [PATCH 060/178] fix slow_down_layers (#5396) Setting slow_down_layers to 2 or more results in wrong number of slowed down layers. Do not increment layer_id since bottom layer (#0) handled separately. --- src/libslic3r/GCode.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 71614cda043..f0ca33cfe13 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -5195,7 +5195,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, speed = m_config.get_abs_value("initial_layer_speed"); } else if(m_config.slow_down_layers > 1){ - const auto _layer = layer_id() + 1; + const auto _layer = layer_id(); if (_layer > 0 && _layer < m_config.slow_down_layers) { const auto first_layer_speed = is_perimeter(path.role()) From 4026f2e060875b48f82c2cfe35f3936df82a7ea5 Mon Sep 17 00:00:00 2001 From: William Date: Sat, 25 May 2024 00:52:35 +1200 Subject: [PATCH 061/178] feat: add model_name and plate_number placeholders (#5401) This uses the BBS project name from the `Project` tab which could be susceptible to upstream changes removing this feature. The project_name template only works when you open a 3MF file. If you create a new project and set the project name `Model.model_info` is always null whether you save the project or not. If you save the current project, switch to a new project/different project, then re-load it then the template works as expected. The plate number is assumed to always be <100 which matches the formatting of the plate number in the UI. Relates-To: https://github.com/SoftFever/OrcaSlicer/issues/3816 --- src/libslic3r/GCode.cpp | 2 ++ src/libslic3r/Print.cpp | 20 ++++++++++++++++++++ src/libslic3r/Print.hpp | 3 +++ 3 files changed, 25 insertions(+) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index f0ca33cfe13..bac3ea7323f 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2399,6 +2399,8 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato this->placeholder_parser().set("first_layer_temperature", new ConfigOptionInts(m_config.nozzle_temperature_initial_layer)); this->placeholder_parser().set("max_print_height",new ConfigOptionInt(m_config.printable_height)); this->placeholder_parser().set("z_offset", new ConfigOptionFloat(m_config.z_offset)); + this->placeholder_parser().set("model_name", new ConfigOptionString(print.get_model_name())); + this->placeholder_parser().set("plate_number", new ConfigOptionString(print.get_plate_number_formatted())); this->placeholder_parser().set("plate_name", new ConfigOptionString(print.get_plate_name())); this->placeholder_parser().set("first_layer_height", new ConfigOptionFloat(m_config.initial_layer_print_height.value)); diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 46918088eda..2b1492a2f55 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -2841,10 +2841,30 @@ std::string Print::output_filename(const std::string &filename_base) const DynamicConfig config = this->finished() ? this->print_statistics().config() : this->print_statistics().placeholders(); config.set_key_value("num_filaments", new ConfigOptionInt((int)m_config.nozzle_diameter.size())); config.set_key_value("plate_name", new ConfigOptionString(get_plate_name())); + config.set_key_value("plate_number", new ConfigOptionString(get_plate_number_formatted())); + config.set_key_value("model_name", new ConfigOptionString(get_model_name())); return this->PrintBase::output_filename(m_config.filename_format.value, ".gcode", filename_base, &config); } +std::string Print::get_model_name() const +{ + if (model().model_info != nullptr) + { + return model().model_info->model_name; + } else { + return ""; + } +} + +std::string Print::get_plate_number_formatted() const +{ + std::string plate_number = std::to_string(get_plate_index() + 1); + static const size_t n_zero = 2; + + return std::string(n_zero - std::min(n_zero, plate_number.length()), '0') + plate_number; +} + //BBS: add gcode file preload logic void Print::set_gcode_file_ready() { diff --git a/src/libslic3r/Print.hpp b/src/libslic3r/Print.hpp index 23a3a001591..bd7b867b99e 100644 --- a/src/libslic3r/Print.hpp +++ b/src/libslic3r/Print.hpp @@ -903,6 +903,9 @@ public: std::string output_filename(const std::string &filename_base = std::string()) const override; + std::string get_model_name() const; + std::string get_plate_number_formatted() const; + size_t num_print_regions() const throw() { return m_print_regions.size(); } const PrintRegion& get_print_region(size_t idx) const { return *m_print_regions[idx]; } const ToolOrdering& get_tool_ordering() const { return m_wipe_tower_data.tool_ordering; } From 74709955f3b627c9814a7002b2984cf411859c0c Mon Sep 17 00:00:00 2001 From: SoftFever Date: Fri, 24 May 2024 23:27:23 +0800 Subject: [PATCH 062/178] Merge some translations from PrusaSlicer --- localization/i18n/OrcaSlicer.pot | 2 +- localization/i18n/ca/OrcaSlicer_ca.po | 33 +- localization/i18n/cs/OrcaSlicer_cs.po | 751 +++++++++-------- localization/i18n/de/OrcaSlicer_de.po | 12 +- localization/i18n/en/OrcaSlicer_en.po | 17 +- localization/i18n/es/OrcaSlicer_es.po | 40 +- localization/i18n/fr/OrcaSlicer_fr.po | 42 +- localization/i18n/hu/OrcaSlicer_hu.po | 251 ++++-- localization/i18n/it/OrcaSlicer_it.po | 50 +- localization/i18n/ja/OrcaSlicer_ja.po | 864 ++++++++++++-------- localization/i18n/ko/OrcaSlicer_ko.po | 2 +- localization/i18n/nl/OrcaSlicer_nl.po | 260 ++++-- localization/i18n/pl/OrcaSlicer_pl.po | 3 +- localization/i18n/pt_BR/OrcaSlicer_pt_BR.po | 42 +- localization/i18n/ru/OrcaSlicer_ru.po | 42 +- localization/i18n/sv/OrcaSlicer_sv.po | 2 +- localization/i18n/tr/OrcaSlicer_tr.po | 12 +- localization/i18n/uk/OrcaSlicer_uk.po | 212 +++-- localization/i18n/zh_CN/OrcaSlicer_zh_CN.po | 264 +++--- localization/i18n/zh_TW/OrcaSlicer_zh_TW.po | 214 ++--- 20 files changed, 1863 insertions(+), 1252 deletions(-) diff --git a/localization/i18n/OrcaSlicer.pot b/localization/i18n/OrcaSlicer.pot index 8125385e8c1..6809ea77765 100644 --- a/localization/i18n/OrcaSlicer.pot +++ b/localization/i18n/OrcaSlicer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po index 7f6cc3f5f3e..2bd9428e68a 100644 --- a/localization/i18n/ca/OrcaSlicer_ca.po +++ b/localization/i18n/ca/OrcaSlicer_ca.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: 2024-05-23 23:00+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -7685,8 +7685,8 @@ 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\"." +"by right-click the empty position of build plate and choose \"Add Primitive" +"\"->\"Timelapse Wipe Tower\"." msgstr "" "Quan graveu timelapse sense capçal d'impressió, es recomana afegir una " "\"Torre de Purga Timelapse\" \n" @@ -11314,15 +11314,15 @@ msgstr "Velocitat màxima del ventilador a la capa" 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." +"\"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 "" "La velocitat del ventilador augmentarà linealment de zero a la capa " -"\"close_fan_the_first_x_layers\" al màxim a la capa " -"\"full_fan_speed_layer\". S'ignorarà \"full_fan_speed_layer\" si és inferior " -"a \"close_fan_the_first_x_layers\", en aquest cas el ventilador funcionarà a " +"\"close_fan_the_first_x_layers\" al màxim a la capa \"full_fan_speed_layer" +"\". S'ignorarà \"full_fan_speed_layer\" si és inferior a " +"\"close_fan_the_first_x_layers\", en aquest cas el ventilador funcionarà a " "la velocitat màxima permesa a la capa \"close_fan_the_first_x_layers\" + 1." msgid "Support interface fan speed" @@ -15452,8 +15452,8 @@ msgstr "" "Vols reescriure'l?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you " -"selected\". \n" +"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 "" "Canviaríem el nom dels perfils seleccionats com a \"Proveïdor Tipus " @@ -16861,27 +16861,22 @@ msgstr "" #~ msgstr "HMS" #, fuzzy -#~| msgid "Unsaved Changes" #~ msgid "Actions For Unsaved Changes" #~ msgstr "Canvis no desats" #, fuzzy -#~| msgid "Reset scale" #~ msgid "Preset Value" #~ msgstr "Valor predefinit esquerre" #, fuzzy -#~| msgid "Modified G-codes" #~ msgid "Modified Value" #~ msgstr "Valor modificat" #, fuzzy -#~| msgid "User Preset" #~ msgid "Use Preset Value" #~ msgstr "Perfil d'usuari" #, fuzzy -#~| msgid "Save file as:" #~ msgid "Save Modified Value" #~ msgstr "Desa el fitxer com a:" @@ -16894,10 +16889,6 @@ msgstr "" #~ "Voleu desar aquests paràmetres canviats (valor modificat)?" #, fuzzy -#~| msgid "" -#~| "You have changed some preset settings. \n" -#~| "Would you like to keep these changed settings (new value) after " -#~| "switching preset?" #~ msgid "" #~ "\n" #~ "Would you like to keep these changed settings(modified value) after " diff --git a/localization/i18n/cs/OrcaSlicer_cs.po b/localization/i18n/cs/OrcaSlicer_cs.po index ac91c2fe8ed..4d2cec41201 100644 --- a/localization/i18n/cs/OrcaSlicer_cs.po +++ b/localization/i18n/cs/OrcaSlicer_cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: 2023-09-30 15:15+0200\n" "Last-Translator: René Mošner \n" "Language-Team: \n" @@ -107,7 +107,7 @@ msgid "Support Generated" msgstr "Vygenerovat podpěry" msgid "Gizmo-Place on Face" -msgstr "" +msgstr "Gizmo-Umístit plochou na podložku" msgid "Lay on face" msgstr "Plochou na podložku" @@ -189,13 +189,13 @@ msgid "Move" msgstr "Přesunout" msgid "Gizmo-Move" -msgstr "" +msgstr "Gizmo-Posuv" msgid "Rotate" msgstr "Otočit" msgid "Gizmo-Rotate" -msgstr "" +msgstr "Gizmo-Otáčení" msgid "Optimize orientation" msgstr "Optimalizovat orientaci" @@ -207,7 +207,7 @@ msgid "Scale" msgstr "Měřítko" msgid "Gizmo-Scale" -msgstr "" +msgstr "Gizmo-Měřítko" msgid "Error: Please close all toolbar menus first" msgstr "Chyba: Nejprve prosím zavřete všechny nabídky panelu nástrojů" @@ -261,7 +261,7 @@ msgid "World coordinates" msgstr "Světové souřadnice" msgid "Object coordinates" -msgstr "" +msgstr "Souřadnice objektu" msgid "°" msgstr "°" @@ -277,16 +277,16 @@ msgid "uniform scale" msgstr "jednotné měřítko" msgid "Planar" -msgstr "" +msgstr "Rovinný" msgid "Dovetail" -msgstr "" +msgstr "Rybinový spoj" msgid "Auto" msgstr "Automaticky" msgid "Manual" -msgstr "" +msgstr "Ručně" msgid "Plug" msgstr "Čep" @@ -295,10 +295,10 @@ msgid "Dowel" msgstr "Kolík" msgid "Snap" -msgstr "" +msgstr "Zaklapávací" msgid "Prism" -msgstr "" +msgstr "Hranol" msgid "Frustum" msgstr "Středový jehlan" @@ -310,13 +310,13 @@ msgid "Hexagon" msgstr "Šestiúhelník" msgid "Keep orientation" -msgstr "" +msgstr "Zachovat orientaci" msgid "Place on cut" msgstr "Umístit řezem na podložku" msgid "Flip upside down" -msgstr "" +msgstr "Obrácení vzhůru nohama" msgid "Connectors" msgstr "Spojky" @@ -334,19 +334,19 @@ msgstr "Tvar" #. Size in emboss direction #. TRN - Input label. Be short as possible msgid "Depth" -msgstr "" +msgstr "Hloubka" msgid "Groove" -msgstr "" +msgstr "Drážka" msgid "Width" msgstr "Šířka" msgid "Flap Angle" -msgstr "" +msgstr "Úhel patky" msgid "Groove Angle" -msgstr "" +msgstr "Úhel drážky" msgid "Part" msgstr "Dílů" @@ -358,21 +358,26 @@ msgid "" "Click to flip the cut plane\n" "Drag to move the cut plane" msgstr "" +"Kliknutím překlopíte rovinu řezu\n" +"Tažením myši posunete rovinu řezu" 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 "" +"Kliknutím otočíte rovinu řezu\n" +"Přesunete rovinu řezu tažením myši\n" +"Kliknutím pravým tlačítkem myši na díl jej přiřadíte na druhou stranu" msgid "Move cut plane" -msgstr "" +msgstr "Přesun roviny řezu" msgid "Mode" -msgstr "" +msgstr "Režim" msgid "Change cut mode" -msgstr "" +msgstr "Změna režimu řezání" msgid "Tolerance" msgstr "Tolerance" @@ -411,22 +416,22 @@ msgid "Cut" msgstr "Řezat" msgid "Rotate cut plane" -msgstr "" +msgstr "Otáčení roviny řezu" msgid "Remove connectors" msgstr "Odstranit spojky" msgid "Bulge" -msgstr "" +msgstr "Vyboulení" msgid "Bulge proportion related to radius" -msgstr "" +msgstr "Poměr vyboulení v závislosti na poloměru" msgid "Space" msgstr "Mezerník" msgid "Space proportion related to radius" -msgstr "" +msgstr "Velikost mezery vůči poloměru" msgid "Confirm connectors" msgstr "Potvrzení spojek" @@ -435,26 +440,26 @@ msgid "Cancel" msgstr "Zrušit" msgid "Build Volume" -msgstr "" +msgstr "Maximální rozměry tisku" msgid "Flip cut plane" -msgstr "" +msgstr "Otočit řezovou rovinu" msgid "Groove change" -msgstr "" +msgstr "Změna drážky" msgid "Reset" msgstr "Výchozí" #. TRN: This is an entry in the Undo/Redo stack. The whole line will be 'Edited: (name of whatever was edited)'. msgid "Edited" -msgstr "" +msgstr "Upraveno" msgid "Cut position" -msgstr "" +msgstr "Pozice řezu" msgid "Reset cutting plane" -msgstr "" +msgstr "Obnovit řezovou rovinu" msgid "Edit connectors" msgstr "Upravit spojky" @@ -463,10 +468,10 @@ msgid "Add connectors" msgstr "Přidat spojky" msgid "Reset cut" -msgstr "" +msgstr "Resetovat řez" msgid "Reset cutting plane and remove connectors" -msgstr "" +msgstr "Reset řezné roviny a odstranění konektorů" msgid "Upper part" msgstr "Horní část" @@ -513,19 +518,19 @@ msgid "Some connectors are overlapped" msgstr "Některé spojky se překrývají" msgid "Select at least one object to keep after cutting." -msgstr "" +msgstr "Vyberte alespoň jeden objekt, který bude po řezu zachován." msgid "Cut plane is placed out of object" -msgstr "" +msgstr "Rovina řezu je umístěna mimo objekt" msgid "Cut plane with groove is invalid" -msgstr "" +msgstr "Řezová rovina s drážkou je neplatná" msgid "Connector" msgstr "Spojka" msgid "Cut by Plane" -msgstr "" +msgstr "Řez Rovinou" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" msgstr "" @@ -534,10 +539,10 @@ msgid "Repairing model object" msgstr "Oprava objektu modelu" msgid "Cut by line" -msgstr "" +msgstr "Řez podle přímky" msgid "Delete connector" -msgstr "" +msgstr "Smazat konektor" msgid "Mesh name" msgstr "Název sítě" @@ -626,13 +631,13 @@ msgid "Remove selection" msgstr "Odebrat výběr" msgid "Entering Seam painting" -msgstr "" +msgstr "Vstup do módu Malování pozice švu" msgid "Leaving Seam painting" -msgstr "" +msgstr "Opuštění módu Malování pozice švu" msgid "Paint-on seam editing" -msgstr "" +msgstr "Editace pozice švu" #. TRN - Input label. Be short as possible #. Select look of letter shape @@ -675,50 +680,50 @@ msgstr "Tvar textu" #. TRN - Title in Undo/Redo stack after rotate with text around emboss axe msgid "Text rotate" -msgstr "" +msgstr "Otáčení textu" #. TRN - Title in Undo/Redo stack after move with text along emboss axe - From surface msgid "Text move" -msgstr "" +msgstr "Přesun textu" msgid "Set Mirror" -msgstr "" +msgstr "Zrcadlení" msgid "Embossed text" -msgstr "" +msgstr "Embossovaný text" msgid "Enter emboss gizmo" -msgstr "" +msgstr "Vstup do Ebosování textu" msgid "Leave emboss gizmo" -msgstr "" +msgstr "Opuštění Ebosování textu" msgid "Embossing actions" -msgstr "" +msgstr "Emobosovací akce" msgid "Emboss" -msgstr "" +msgstr "Embosování" msgid "NORMAL" -msgstr "" +msgstr "NORMÁLNÍ" msgid "SMALL" -msgstr "" +msgstr "MALÝ" msgid "ITALIC" -msgstr "" +msgstr "KURZIVA" msgid "SWISS" -msgstr "" +msgstr "SWISS" msgid "MODERN" -msgstr "" +msgstr "MODERNÍ" msgid "First font" -msgstr "" +msgstr "První písmo" msgid "Default font" -msgstr "" +msgstr "Výchozí písmo" msgid "Advanced" msgstr "Pokročilé" @@ -726,143 +731,144 @@ msgstr "Pokročilé" msgid "" "The text cannot be written using the selected font. Please try choosing a " "different font." -msgstr "" +msgstr "Text nelze napsat zvoleným typem písma. Zkuste vybrat jiné písmo." msgid "Embossed text cannot contain only white spaces." -msgstr "" +msgstr "Reliéfní text nesmí obsahovat pouze bílé znaky." msgid "Text contains character glyph (represented by '?') unknown by font." msgstr "" +"Text obsahuje znakový glyf (reprezentovaný znakem \"?\"), který písmo nezná." msgid "Text input doesn't show font skew." -msgstr "" +msgstr "Při zadávání textu se nezobrazuje zkosení písma." msgid "Text input doesn't show font boldness." -msgstr "" +msgstr "Při zadávání textu se nezobrazuje tučné formátování písma." msgid "Text input doesn't show gap between lines." -msgstr "" +msgstr "Při zadávání textu se nezobrazuje mezera mezi řádky." msgid "Too tall, diminished font height inside text input." -msgstr "" +msgstr "Příliš vysoká, zmenšená výška písma uvnitř textového vstupu." msgid "Too small, enlarged font height inside text input." -msgstr "" +msgstr "Příliš malé, zvěte výšku písma uvnitř textového vstupu." msgid "Text doesn't show current horizontal alignment." -msgstr "" +msgstr "Text nezobrazuje aktuální vodorovné zarovnání." msgid "Revert font changes." -msgstr "" +msgstr "Vrátit změny písma." #, boost-format msgid "Font \"%1%\" can't be selected." -msgstr "" +msgstr "Písmo \"%1%\" nelze vybrat." msgid "Operation" -msgstr "" +msgstr "Operace" msgid "Join" -msgstr "" +msgstr "Přidat" msgid "Click to change text into object part." -msgstr "" +msgstr "Kliknutím změníte text na část objektu." msgid "You can't change a type of the last solid part of the object." -msgstr "" +msgstr "Nelze změnit typ poslední plné části objektu." msgctxt "EmbossOperation" msgid "Cut" msgstr "Řezat" msgid "Click to change part type into negative volume." -msgstr "" +msgstr "Kliknutím změníte typ části modelu na negativní objem." msgid "Modifier" msgstr "Modifikátor" msgid "Click to change part type into modifier." -msgstr "" +msgstr "Kliknutím změníte typ části modelu na modifikátor." msgid "Change Text Type" -msgstr "" +msgstr "Změnit typ operace s textem" #, boost-format msgid "Rename style(%1%) for embossing text" -msgstr "" +msgstr "Přejmenování stylu(%1%) pro reliéfní text" msgid "Name can't be empty." -msgstr "" +msgstr "Název nesmí být prázdný." msgid "Name has to be unique." -msgstr "" +msgstr "Jméno musí být unikátní." msgid "OK" msgstr "OK" msgid "Rename style" -msgstr "" +msgstr "Přejmenovat styl" msgid "Rename current style." -msgstr "" +msgstr "Přejmenování aktuálního stylu." msgid "Can't rename temporary style." -msgstr "" +msgstr "Nelze přejmenovat dočasný styl." msgid "First Add style to list." -msgstr "" +msgstr "Nejprve do seznamu přidejte styl." #, boost-format msgid "Save %1% style" -msgstr "" +msgstr "Uložit styl %1%" msgid "No changes to save." -msgstr "" +msgstr "Žádné změny k uložení." msgid "New name of style" -msgstr "" +msgstr "Nový název stylu" msgid "Save as new style" -msgstr "" +msgstr "Uložit jako nový styl" msgid "Only valid font can be added to style." -msgstr "" +msgstr "Do stylu lze přidat pouze platné písmo." msgid "Add style to my list." -msgstr "" +msgstr "Přidat styl na můj seznam." msgid "Save as new style." -msgstr "" +msgstr "Uložit jako nový styl" msgid "Remove style" -msgstr "" +msgstr "Odstranit styl" msgid "Can't remove the last existing style." -msgstr "" +msgstr "Nelze odstranit poslední existující styl." #, boost-format msgid "Are you sure you want to permanently remove the \"%1%\" style?" -msgstr "" +msgstr "Opravdu chcete trvale odstranit styl \"%1%\"?" #, boost-format msgid "Delete \"%1%\" style." -msgstr "" +msgstr "Odstranění stylu \"%1%\"." #, boost-format msgid "Can't delete \"%1%\". It is last style." -msgstr "" +msgstr "Styl \"%1%\" nelze odstranit, protože je to poslední styl." #, boost-format msgid "Can't delete temporary style \"%1%\"." -msgstr "" +msgstr "Nelze odstranit dočasný styl \"%1%\"." #, boost-format msgid "Modified style \"%1%\"" -msgstr "" +msgstr "Upravený styl \"%1%\"" #, boost-format msgid "Current style is \"%1%\"" -msgstr "" +msgstr "Aktuální styl je \"%1%\"" #, boost-format msgid "" @@ -870,48 +876,53 @@ msgid "" "\n" "Would you like to continue anyway?" msgstr "" +"Změna stylu na \"%1%\" zruší aktuální úpravy stylu.\n" +"\n" +"Chcete přesto pokračovat?" msgid "Not valid style." -msgstr "" +msgstr "Neplatný styl." #, boost-format msgid "Style \"%1%\" can't be used and will be removed from a list." -msgstr "" +msgstr "Styl \"%1%\" nelze použít a bude ze seznamu odstraněn." msgid "Unset italic" -msgstr "" +msgstr "Odnastavení kurzívy" msgid "Set italic" -msgstr "" +msgstr "Nastavení kurzívy" msgid "Unset bold" -msgstr "" +msgstr "Odstranění tučného písma" msgid "Set bold" -msgstr "" +msgstr "Nastavení tučného písma" msgid "Revert text size." -msgstr "" +msgstr "Vrátit velikost textu." msgid "Revert embossed depth." -msgstr "" +msgstr "Obnovit původní hloubku." msgid "" "Advanced options cannot be changed for the selected font.\n" "Select another font." msgstr "" +"Pro vybrané písmo nelze měnit pokročilé možnosti nastavení.\n" +"Vyberte jiné písmo." msgid "Revert using of model surface." -msgstr "" +msgstr "Vrátit použití povrchu modelu." msgid "Revert Transformation per glyph." -msgstr "" +msgstr "Vrátit transformaci po znacích." msgid "Set global orientation for whole text." -msgstr "" +msgstr "Nastavení globální orientace pro celý text." msgid "Set position and orientation per glyph." -msgstr "" +msgstr "Nastavení polohy a orientace pro každý znak zvlášť." msgctxt "Alignment" msgid "Left" @@ -931,84 +942,86 @@ msgstr "Horní" msgctxt "Alignment" msgid "Middle" -msgstr "" +msgstr "Doprostřed" msgctxt "Alignment" msgid "Bottom" msgstr "Spodní" msgid "Revert alignment." -msgstr "" +msgstr "Vrátit zarovnání." #. TRN EmbossGizmo: font units msgid "points" -msgstr "" +msgstr "body" msgid "Revert gap between characters" -msgstr "" +msgstr "Vrátit mezeru mezi znaky" msgid "Distance between characters" -msgstr "" +msgstr "Vzdálenost mezi znaky" msgid "Revert gap between lines" -msgstr "" +msgstr "Vrátit mezeru mezi extruzemi" msgid "Distance between lines" -msgstr "" +msgstr "Vzdálenost mezi extruzemi" msgid "Undo boldness" -msgstr "" +msgstr "Akce zpět Tučné písmo" msgid "Tiny / Wide glyphs" -msgstr "" +msgstr "Drobné / široké glyfy" msgid "Undo letter's skew" -msgstr "" +msgstr "Akce zpět Zkosení písma" msgid "Italic strength ratio" -msgstr "" +msgstr "Míra zkosení kurzívy" msgid "Undo translation" -msgstr "" +msgstr "Akce zpět Posun" msgid "Distance of the center of the text to the model surface." -msgstr "" +msgstr "Vzdálenost středu textu od povrchu modelu." msgid "Undo rotation" -msgstr "" +msgstr "Akce zpět Rotace" msgid "Rotate text Clock-wise." -msgstr "" +msgstr "Otáčení textu ve směru hodinových ručiček." msgid "Unlock the text's rotation when moving text along the object's surface." -msgstr "" +msgstr "Odemknout natočení textu při pohybu textu po povrchu objektu." msgid "Lock the text's rotation when moving text along the object's surface." -msgstr "" +msgstr "Uzamknout natočení textu při pohybu textu po povrchu objektu." msgid "Select from True Type Collection." -msgstr "" +msgstr "Vyberte z kolekce True Type." msgid "Set text to face camera" -msgstr "" +msgstr "Natočit text kolmo ke kameře" msgid "Orient the text towards the camera." -msgstr "" +msgstr "Orientovat text směrem ke kameře." #, boost-format msgid "" "Can't load exactly same font(\"%1%\"). Aplication selected a similar " "one(\"%2%\"). You have to specify font for enable edit text." msgstr "" +"Nelze načíst přesně stejné písmo(\"%1%\"). Aplikace vybrala podobné " +"písmo(\"%2%\"). Musíte zadat písmo pro povolení editace textu." msgid "No symbol" -msgstr "" +msgstr "Žádný symbol" msgid "Loading" msgstr "Načítání" msgid "In queue" -msgstr "" +msgstr "Ve frontě" #. TRN - Input label. Be short as possible #. Height of one text line - Font Ascent @@ -1019,35 +1032,35 @@ msgstr "Výška" #. Copy surface of model on surface of the embossed text #. TRN - Input label. Be short as possible msgid "Use surface" -msgstr "" +msgstr "Použít povrch" #. 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 "" +msgstr "Na znak" #. TRN - Input label. Be short as possible #. Align Top|Middle|Bottom and Left|Center|Right msgid "Alignment" -msgstr "" +msgstr "Zarovnání" #. TRN - Input label. Be short as possible msgid "Char gap" -msgstr "" +msgstr "Mezera mezi znaky" #. TRN - Input label. Be short as possible msgid "Line gap" -msgstr "" +msgstr "Řádkování" #. TRN - Input label. Be short as possible msgid "Boldness" -msgstr "" +msgstr "Tučnost" #. TRN - Input label. Be short as possible #. Like Font italic msgid "Skew ratio" -msgstr "" +msgstr "Míra zkosení" #. TRN - Input label. Be short as possible #. Distance from model surface to be able @@ -1055,247 +1068,250 @@ msgstr "" #. move text as modifier fully out of not flat surface #. TRN - Input label. Be short as possible msgid "From surface" -msgstr "" +msgstr "Z povrchu" #. TRN - Input label. Be short as possible #. Keep vector from bottom to top of text aligned with printer Y axis msgid "Keep up" -msgstr "" +msgstr "Držet směr" #. 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 "" +msgstr "Kolekce" #. TRN - Title in Undo/Redo stack after rotate with SVG around emboss axe msgid "SVG rotate" -msgstr "" +msgstr "Otáčení SVG" #. TRN - Title in Undo/Redo stack after move with SVG along emboss axe - From surface msgid "SVG move" -msgstr "" +msgstr "Přesun SVG" msgid "Enter SVG gizmo" -msgstr "" +msgstr "Vstup do SVG nástroje" msgid "Leave SVG gizmo" -msgstr "" +msgstr "Opuštění SVG nástroje" msgid "SVG actions" -msgstr "" +msgstr "SVG akce" msgid "SVG" -msgstr "" +msgstr "SVG" #, boost-format msgid "Opacity (%1%)" -msgstr "" +msgstr "Průhlednost (%1%)" #, boost-format msgid "Color gradient (%1%)" -msgstr "" +msgstr "Barevný gradient (%1%)" msgid "Undefined fill type" -msgstr "" +msgstr "Nedefinovaný typ výplně" msgid "Linear gradient" -msgstr "" +msgstr "Lineární gradient" msgid "Radial gradient" -msgstr "" +msgstr "Radiální gradient" msgid "Open filled path" -msgstr "" +msgstr "Otevřená vyplněná cesta" msgid "Undefined stroke type" -msgstr "" +msgstr "Nedefinovaný typ obrysu" msgid "Path can't be healed from selfintersection and multiple points." -msgstr "" +msgstr "Cestu nelze opravit z křížení sama sebe a více bodů." msgid "" "Final shape constains selfintersection or multiple points with same " "coordinate." msgstr "" +"Konečný tvar obsahuje vlastní průsečík nebo více bodů se stejnou souřadnicí." #, boost-format msgid "Shape is marked as invisible (%1%)." -msgstr "" +msgstr "Tvar je označen jako neviditelný (%1%)." #. TRN: The first placeholder is shape identifier, the second one is text describing the problem. #, boost-format msgid "Fill of shape (%1%) contains unsupported: %2%." -msgstr "" +msgstr "Výplň tvaru (%1%) obsahuje nepodporované: %2%." #, boost-format msgid "Stroke of shape (%1%) is too thin (minimal width is %2% mm)." -msgstr "" +msgstr "Obrys tvaru (%1%) je příliš tenký (minimální šířka je %2% mm)." #, boost-format msgid "Stroke of shape (%1%) contains unsupported: %2%." -msgstr "" +msgstr "Obrys tvaru (%1%) obsahuje nepodporované: %2%." msgid "Face the camera" -msgstr "" +msgstr "Kolmo ke kameře" #. TRN - Preview of filename after clear local filepath. msgid "Unknown filename" -msgstr "" +msgstr "Neznámý název souboru" #, boost-format msgid "SVG file path is \"%1%\"" -msgstr "" +msgstr "Cesta k SVG souboru je \"%1%\"." msgid "Reload SVG file from disk." -msgstr "" +msgstr "Znovu načíst SVG z disku." msgid "Change file" -msgstr "" +msgstr "Změnit soubor" msgid "Change to another .svg file" -msgstr "" +msgstr "Změnit na jiný .svg soubor" msgid "Forget the file path" -msgstr "" +msgstr "Zapomenout cestu k souboru" msgid "" "Do NOT save local path to 3MF file.\n" "Also disables 'reload from disk' option." msgstr "" +"Neukládat místní cestu k 3MF souboru.\n" +"Také znemožní funkci \"Znovu načíst z disku\"." #. TRN: An menu option to convert the SVG into an unmodifiable model part. msgid "Bake" -msgstr "" +msgstr "Zapéct" #. TRN: Tooltip for the menu item. msgid "Bake into model as uneditable part" -msgstr "" +msgstr "Zapéct do modelu jako neupravitelnou část" msgid "Save as" -msgstr "" +msgstr "Uložit jako" msgid "Save SVG file" -msgstr "" +msgstr "Uložit SVG soubor" msgid "Save as '.svg' file" -msgstr "" +msgstr "Uložit jako soubor '.svg'" msgid "Size in emboss direction." -msgstr "" +msgstr "Velikost ve směru embosování." #. TRN: The placeholder contains a number. #, boost-format msgid "Scale also changes amount of curve samples (%1%)" -msgstr "" +msgstr "Změna velikosti současně mění jemnost diskretizace oblouků (%1%)" msgid "Width of SVG." -msgstr "" +msgstr "Šířka SVG." msgid "Height of SVG." -msgstr "" +msgstr "Výška SVG." msgid "Lock/unlock the aspect ratio of the SVG." -msgstr "" +msgstr "Zamknout/odemknout poměr stran SVG." msgid "Reset scale" -msgstr "" +msgstr "Výchozí měřítko" msgid "Distance of the center of the SVG to the model surface." -msgstr "" +msgstr "Vzdálenost mezi středem SVG a povrchem modelu." msgid "Reset distance" -msgstr "" +msgstr "Obnovit vzdálenost" msgid "Reset rotation" -msgstr "" +msgstr "Výchozí natočení" msgid "Lock/unlock rotation angle when dragging above the surface." -msgstr "" +msgstr "Zamknutí/odemknutí úhlu natočení při přetahování nad povrchem." msgid "Mirror vertically" -msgstr "" +msgstr "Zrcadlit vertikálně" msgid "Mirror horizontally" -msgstr "" +msgstr "Zrcadlit horizontálně" #. 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 "" +msgstr "Změna typu SVG" #. TRN - Input label. Be short as possible msgid "Mirror" msgstr "Zrcadlit" msgid "Choose SVG file for emboss:" -msgstr "" +msgstr "Vyberte SVG soubor pro embosování:" #, boost-format msgid "File does NOT exist (%1%)." -msgstr "" +msgstr "Soubor neexistuje (%1%)." #, boost-format msgid "Filename has to end with \".svg\" but you selected %1%" -msgstr "" +msgstr "Název souboru musí končit \".svg\", ale vy jste vybrali %1%." #, boost-format msgid "Nano SVG parser can't load from file (%1%)." -msgstr "" +msgstr "Nano SVG parser nemůže číst ze souboru (%1%)." #, boost-format msgid "SVG file does NOT contain a single path to be embossed (%1%)." -msgstr "" +msgstr "SVG soubor neobsahuje jedinou cestu, kterou lze embosovat (%1%)." msgid "Vertex" -msgstr "" +msgstr "Vertex" msgid "Edge" -msgstr "" +msgstr "Hrana" msgid "Plane" -msgstr "" +msgstr "Rovina" msgid "Point on edge" -msgstr "" +msgstr "Bod na hraně" msgid "Point on circle" -msgstr "" +msgstr "Bod na kružnici" msgid "Point on plane" -msgstr "" +msgstr "Bod v rovině" msgid "Center of edge" -msgstr "" +msgstr "Střed hrany" msgid "Center of circle" -msgstr "" +msgstr "Střed kruhu" msgid "ShiftLeft mouse button" msgstr "" msgid "Select feature" -msgstr "" +msgstr "Vyberat objekt" msgid "Select point" -msgstr "" +msgstr "Zvolte bod" msgid "Delete" msgstr "Smazat" msgid "Restart selection" -msgstr "" +msgstr "Zrušit výběr" msgid "Esc" msgstr "Esc" msgid "Unselect" -msgstr "" +msgstr "Zrušení výběru" msgid "Measure" -msgstr "" +msgstr "Měření" msgid "Edit to scale" -msgstr "" +msgstr "Změna rozměru" msgctxt "Verb" msgid "Scale" @@ -1311,22 +1327,22 @@ msgid "Length" msgstr "Vzdálenost" msgid "Selection" -msgstr "" +msgstr "Výběr" msgid "Copy to clipboard" msgstr "Kopírovat do schránky" msgid "Perpendicular distance" -msgstr "" +msgstr "Kolmá vzdálenost" msgid "Distance" -msgstr "" +msgstr "Vzdálenost" msgid "Direct distance" -msgstr "" +msgstr "Přímá vzdálenost" msgid "Distance XYZ" -msgstr "" +msgstr "Vzdálenost XYZ" msgid "Ctrl+" msgstr "Ctrl+" @@ -1478,7 +1494,7 @@ msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Vyberte jeden nebo více souborů (3mf/step/stl/svg/obj/amf):" msgid "Choose ZIP file" -msgstr "" +msgstr "Vyberte ZIP soubor" msgid "Choose one file (gcode/3mf):" msgstr "Vyberte jeden soubor (gcode/3mf):" @@ -1552,6 +1568,8 @@ msgid "" "Could not start URL download. Destination folder is not set. Please choose " "destination folder in Configuration Wizard." msgstr "" +"Nelze spustit stahování z URL. Cílová složka není nastavena. Zvolte cílovou " +"složku v průvodci nastavení." msgid "Import File" msgstr "Importovat soubor" @@ -1642,22 +1660,22 @@ msgid "Add support enforcer" msgstr "Přidat vynucení podpěr" msgid "Add text" -msgstr "" +msgstr "Přidat text" msgid "Add negative text" -msgstr "" +msgstr "Přidat text jako negativní objem" msgid "Add text modifier" -msgstr "" +msgstr "Přidat textový modifikátor" msgid "Add SVG part" -msgstr "" +msgstr "Přidat SVG část" msgid "Add negative SVG" -msgstr "" +msgstr "Přidat negativní SVG" msgid "Add SVG modifier" -msgstr "" +msgstr "Přidání SVG modifikátoru" msgid "Select settings" msgstr "Vybrat nastavení" @@ -1719,7 +1737,7 @@ msgid "" msgstr "" msgid "Text" -msgstr "" +msgstr "Text" msgid "Height range Modifier" msgstr "Modifikátor výškového rozsahu" @@ -1852,16 +1870,16 @@ msgid "Mirror object" msgstr "Zrcadlit objekt" msgid "Edit text" -msgstr "" +msgstr "Upravit text" msgid "Ability to change text, font, size, ..." -msgstr "" +msgstr "Možnost měnit text, písmo, velikost, ..." msgid "Edit SVG" -msgstr "" +msgstr "Upravit SVG" msgid "Change SVG source file, projection, size, ..." -msgstr "" +msgstr "Změna zdrojového souboru SVG, projekce, velikosti, ..." msgid "Invalidate cut info" msgstr "Zneplatnění informací o řezu" @@ -2395,7 +2413,7 @@ msgid "AMS not connected" msgstr "AMS není připojen" msgid "Load" -msgstr "" +msgstr "Načíst" msgid "Unload" msgstr "Vysunout" @@ -2546,13 +2564,13 @@ msgid "Bed filling done." msgstr "Vyplnění podložky je dokončené." msgid "Searching for optimal orientation" -msgstr "" +msgstr "Hledání optimální orientace" msgid "Orientation search canceled." -msgstr "" +msgstr "Hledání optimální orientace zrušeno." msgid "Orientation found." -msgstr "" +msgstr "Orientace nalezena." msgid "Logging in" msgstr "Přihlášení" @@ -3149,7 +3167,7 @@ msgid "Successfully executed post-processing script" msgstr "" msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "Během exportu G-codu došlo k neznámé chybě." #, boost-format msgid "" @@ -3157,6 +3175,9 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"Kopírování dočasného G-codu do výstupního G-codu se nezdařilo. Není SD karta " +"chráněná proti zápisu?\n" +"Chybová hláška: %1%" #, boost-format msgid "" @@ -3164,28 +3185,37 @@ msgid "" "problem with target device, please try exporting again or using different " "device. The corrupted output G-code is at %1%.tmp." msgstr "" +"Kopírování dočasného G-codu do výstupního G-codu se nezdařilo. Může to být " +"problém s cílovým zařízením. Zkuste exportovat znovu nebo použijte jiné " +"zařízení. Poškozený výstupní G-code je v %1%.tmp." #, 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 "" +"Přejmenování G-codu po zkopírování do vybrané cílové složky se nezdařilo. " +"Aktuální cesta je %1%.tmp. Zkuste to prosím znovu." #, 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 "" +"Kopírování dočasného G-codu bylo dokončeno, ale původní G-code na %1% nemohl " +"být během kontroly kopírování otevřen. Výstupní G-code je v %2%.tmp." #, 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 "" +"Kopírování dočasného G-codu bylo dokončeno, ale exportovaný G-code nemohl " +"být během kontroly kopírování otevřen. Výstupní G-cod je v %1%.tmp." #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr "G-code byl exportován do %1%" msgid "Unknown error when export G-code." msgstr "Neznámá chyba při exportu G-kódu." @@ -3395,7 +3425,7 @@ msgid "" msgstr "" msgid "Wait" -msgstr "" +msgstr "Zaneprázdněn" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" @@ -3869,19 +3899,19 @@ msgstr "výchozí" #, boost-format msgid "Edit Custom G-code (%1%)" -msgstr "" +msgstr "Upravit Vlastní G-code (%1%)" msgid "Built-in placeholders (Double click item to add to G-code)" -msgstr "" +msgstr "Vestavěné zástupné symboly (dvojklikem na položku přidáte do G-code)" msgid "Search gcode placeholders" msgstr "" msgid "Add selected placeholder to G-code" -msgstr "" +msgstr "Přidat vybraný zástupný symbol do G-code" msgid "Select placeholder" -msgstr "" +msgstr "Vyberte zástupný symbol" msgid "[Global] Slicing State" msgstr "" @@ -3902,17 +3932,17 @@ msgid "Objects Info" msgstr "" msgid "Dimensions" -msgstr "" +msgstr "Rozměry" msgid "Temperatures" -msgstr "" +msgstr "Teploty" msgid "Timestamps" -msgstr "" +msgstr "Časová razítka" #, boost-format msgid "Specific for %1%" -msgstr "" +msgstr "Specifické pro %1%" msgid "Presets" msgstr "Předvolby" @@ -3924,7 +3954,7 @@ msgid "Filament settings" msgstr "Nastavení filamentu" msgid "SLA Materials settings" -msgstr "" +msgstr "Nastavení SLA materiálů" msgid "Printer settings" msgstr "Nastavení tiskárny" @@ -5883,10 +5913,10 @@ msgstr "" "nedokonalosti. Doporučuje se přepnout na hladký režim." msgid "Expand sidebar" -msgstr "" +msgstr "Rozbalit postranní panel" msgid "Collapse sidebar" -msgstr "" +msgstr "Sbalit postranní panel" #, c-format, boost-format msgid "Loading file: %s" @@ -6160,7 +6190,7 @@ msgstr "" "Import do Orca Sliceru selhal. Stáhněte soubor a proveďte jeho ruční import." msgid "Import SLA archive" -msgstr "" +msgstr "Importovat SLA archiv" msgid "The selected file" msgstr "Vybraný soubor" @@ -6174,16 +6204,18 @@ msgstr "Při načítání souboru G-kód došlo k chybě" #. TRN %1% is archive path #, boost-format msgid "Loading of a ZIP archive on path %1% has failed." -msgstr "" +msgstr "Načítání ZIP archivu z %1% se nezdařilo." #. TRN: First argument = path to file, second argument = error description #, boost-format msgid "Failed to unzip file to %1%: %2%" -msgstr "" +msgstr "Nepodařilo se rozbalit soubor do %1%: %2%" #, boost-format msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." msgstr "" +"Nepodařilo se najít rozbalený soubor na cestě %1%. Rozbalení souboru se " +"nezdařilo." msgid "Drop project file" msgstr "Zrušit soubor projektu" @@ -6270,9 +6302,12 @@ msgid "" "3MF file?\n" "If you hit 'NO', all SVGs in the project will not be editable any more." msgstr "" +"Jste si jisti, že chcete do souboru 3MF uložit původní SVG s lokální cestou " +"k souboru?\n" +"Pokud stisknete \"NE\", všechny SVG v projektu již nebude možné upravovat." msgid "Private protection" -msgstr "" +msgstr "Ochrana soukromí" msgid "Is the printer ready? Is the print sheet in place, empty and clean?" msgstr "Je tiskárna připravená k tisku? Je podložka prázdná a čistá?" @@ -6444,6 +6479,9 @@ msgid "" "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 "" +"Na OSX je ve výchozím nastavení vždy spuštěna pouze jedna instance aplikace. " +"Je však povoleno spouštět více instancí stejné aplikace z příkazového řádku. " +"V takovém případě toto nastavení povolí pouze jednu instanci." msgid "" "If this is enabled, when starting OrcaSlicer and another instance of the " @@ -6452,7 +6490,7 @@ msgid "" msgstr "" msgid "Home" -msgstr "" +msgstr "Home" msgid "Default Page" msgstr "" @@ -6495,7 +6533,7 @@ msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "" msgid "Show splash screen" -msgstr "" +msgstr "Zobrazovat úvodní obrazovku" msgid "Show the splash screen during startup." msgstr "" @@ -6536,7 +6574,7 @@ msgid "" msgstr "" msgid "Network" -msgstr "" +msgstr "Síť" msgid "Auto sync user presets(Printer/Filament/Process)" msgstr "" @@ -6769,7 +6807,7 @@ msgid "The selected preset is null!" msgstr "Vybrané přednastavení je nula!" msgid "End" -msgstr "" +msgstr "Konec" msgid "Customize" msgstr "Přizpůsobit" @@ -6914,7 +6952,7 @@ msgid "(LAN)" msgstr "(LAN)" msgid "Search" -msgstr "" +msgstr "Vyhledávání" msgid "My Device" msgstr "Moje zařízení" @@ -7408,7 +7446,7 @@ msgid "Adjust" msgstr "" msgid "Ignore" -msgstr "" +msgstr "Ignorovat" msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7966,9 +8004,12 @@ msgid "" "Note: New modified presets will be selected in settings tabs after close " "this dialog." msgstr "" +"Přeneste vybrané možnosti z levého přednastavení do pravého.\n" +"Poznámka: Po zavření tohoto dialogu budou na kartách nastavení vybrány nové " +"upravené předvolby." msgid "Transfer values from left to right" -msgstr "" +msgstr "Přenést hodnoty zleva doprava" msgid "" "If enabled, this dialog can be used for transfer selected values from left " @@ -8326,13 +8367,13 @@ msgid "Gizmo FDM paint-on seam" msgstr "Gizmo FDM malování pozice švu" msgid "Gizmo Text emboss / engrave" -msgstr "" +msgstr "Gizmo Text emboss / gravírování" msgid "Zoom in" -msgstr "" +msgstr "Přiblížit" msgid "Zoom out" -msgstr "" +msgstr "Oddálit" msgid "Switch between Prepare/Preview" msgstr "Přepnout mezi Přípravou/Náhledem" @@ -8912,6 +8953,8 @@ msgid "" "The Wipe Tower is currently only supported with the relative extruder " "addressing (use_relative_e_distances=1)." msgstr "" +"Čistící věž je v současné době možná pouze v případě relativního adresování " +"exruderu (use_relative_e_distances=1)." msgid "" "Ooze prevention is currently not supported with the prime tower enabled." @@ -9383,7 +9426,7 @@ msgid "" msgstr "" msgid "Everywhere" -msgstr "" +msgstr "Všude" msgid "Top and bottom surfaces" msgstr "" @@ -9875,7 +9918,7 @@ msgid "" msgstr "" msgid "Disabled" -msgstr "" +msgstr "Zakázáno" msgid "Limited filtering" msgstr "" @@ -11132,13 +11175,13 @@ msgstr "" "rozpustným podpůrným materiálem" msgid "Maximum width of a segmented region" -msgstr "" +msgstr "Maximální šířka segmentované oblasti" msgid "Maximum width of a segmented region. Zero disables this feature." -msgstr "" +msgstr "Maximální šířka segmentované oblasti. Nula tuto funkci vypne." msgid "Interlocking depth of a segmented region" -msgstr "" +msgstr "Hloubka propojení segmentované oblasti" msgid "Interlocking depth of a segmented region. Zero disables this feature." msgstr "" @@ -12113,7 +12156,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Kolik vrstev Obrysu. Obvykle pouze jedna vrstva" msgid "Draft shield" -msgstr "" +msgstr "Ochranný štít" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12130,10 +12173,10 @@ msgid "" msgstr "" msgid "Limited" -msgstr "" +msgstr "Omezeno" msgid "Enabled" -msgstr "" +msgstr "Povoleno" msgid "Skirt loops" msgstr "Obrysové smyčky" @@ -12474,7 +12517,7 @@ msgid "Number of bottom interface layers" msgstr "" msgid "Same as top" -msgstr "" +msgstr "Stejné jako vrchní" msgid "Top interface spacing" msgstr "Horní rozestup" @@ -13274,91 +13317,104 @@ msgid "Load custom gcode from json" msgstr "Načíst vlastní G-kód z JSON" msgid "Current z-hop" -msgstr "" +msgstr "Aktuální z-hop" msgid "Contains z-hop present at the beginning of the custom G-code block." -msgstr "" +msgstr "Obsahuje z-hop na začátku vlastního bloku 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 " "PrusaSlicer knows where it travels from when it gets control back." msgstr "" +"Poloha extruderu na začátku vlastního bloku G-code. Pokud vlastní G-code " +"vytváří pohyb, měl by pohyb zapsat do této proměnné, aby PrusaSlicer věděl, " +"odkud se pohybuje, až získá zpět kontrolu." 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 " "PrusaSlicer deretracts correctly when it gets control back." msgstr "" +"Stav retrakce na začátku vlastního G-code. Pokud vlastní G-code pohybuje " +"osou extruderu, měl by do této proměnné zapisovat, aby PrusaSlicer správně " +"zrušil deretrakce, když mu bude znovu předáno řízení." msgid "Extra deretraction" -msgstr "" +msgstr "Extra deretrakce" msgid "Currently planned extra extruder priming after deretraction." -msgstr "" +msgstr "Současně naplánované extra čištění extruderu po deretrakci." msgid "Current extruder" -msgstr "" +msgstr "Aktuální extruder" msgid "Zero-based index of currently used extruder." -msgstr "" +msgstr "Index aktuálně používaného extrudéru (počítáno do nuly)." msgid "Current object index" -msgstr "" +msgstr "Aktuální index objektu" msgid "" "Specific for sequential printing. Zero-based index of currently printed " "object." msgstr "" +"Specifické pro sekvenční tisk. Index aktuálně tištěného objektu (počítáno do " +"nuly)." msgid "Has wipe tower" -msgstr "" +msgstr "Má čistící věž" msgid "Whether or not wipe tower is being generated in the print." -msgstr "" +msgstr "Zda se v tisku generuje čistící věž." msgid "Initial extruder" -msgstr "" +msgstr "Počáteční extruder" msgid "" "Zero-based index of the first extruder used in the print. Same as " "initial_tool." msgstr "" +"Index prvního extruderu použitého při tisku (počítáno do nuly). Stejně jako " +"initial_tool." msgid "Initial tool" -msgstr "" +msgstr "Počáteční nástroj" msgid "" "Zero-based index of the first extruder used in the print. Same as " "initial_extruder." msgstr "" +"Index prvního extruderu použitého při tisku (počítáno do nuly). Stejně jako " +"initial_extruder." msgid "Is extruder used?" -msgstr "" +msgstr "Je extruder použitý?" msgid "Vector of bools stating whether a given extruder is used in the print." msgstr "" msgid "Volume per extruder" -msgstr "" +msgstr "Objem pro každý extruder" msgid "Total filament volume extruded per extruder during the entire print." msgstr "" +"Celkový objem filamentu vytlačeného daným extruderem během celého tisku." msgid "Total toolchanges" msgstr "" msgid "Number of toolchanges during the print." -msgstr "" +msgstr "Počet výměn nástrojů během tisku." msgid "Total volume" -msgstr "" +msgstr "Celkový objem" msgid "Total volume of filament used during the entire print." -msgstr "" +msgstr "Celkový objem filamentu použitý během celého tisku." msgid "Weight per extruder" -msgstr "" +msgstr "Hmotnost pro každý extruder" msgid "" "Weight per extruder extruded during the entire print. Calculated from " @@ -13366,7 +13422,7 @@ msgid "" msgstr "" msgid "Total weight" -msgstr "" +msgstr "Celková hmotnost" msgid "" "Total weight of the print. Calculated from filament_density value in " @@ -13374,25 +13430,25 @@ msgid "" msgstr "" msgid "Total layer count" -msgstr "" +msgstr "Celkový počet vrstev" msgid "Number of layers in the entire print." -msgstr "" +msgstr "Počet vrstev v celém tisku." msgid "Number of objects" -msgstr "" +msgstr "Počet objektů" msgid "Total number of objects in the print." -msgstr "" +msgstr "Celkový počet objektů v tisku." msgid "Number of instances" -msgstr "" +msgstr "Počet instancí" msgid "Total number of object instances in the print, summed over all objects." -msgstr "" +msgstr "Celkový počet instancí objektu v tisku, sečtený pro všechny objekty." msgid "Scale per object" -msgstr "" +msgstr "Měřítko pro každý objekt" msgid "" "Contains a string with the information about what scaling was applied to the " @@ -13402,22 +13458,23 @@ msgid "" msgstr "" msgid "Input filename without extension" -msgstr "" +msgstr "Název vstupního souboru bez přípony" msgid "Source filename of the first object, without extension." -msgstr "" +msgstr "Název zdrojového souboru prvního objektu bez přípony." msgid "" "The vector has two elements: x and y coordinate of the point. Values in mm." -msgstr "" +msgstr "Vektor má dva prvky: souřadnice x a y bodu. Hodnoty v mm." msgid "" "The vector has two elements: x and y dimension of the bounding box. Values " "in mm." msgstr "" +"Vektor má dva prvky: rozměr x a y ohraničujícího rámečku. Hodnoty v mm." msgid "First layer convex hull" -msgstr "" +msgstr "Konvexní obal první vrstvy" msgid "" "Vector of points of the first layer convex hull. Each element has the " @@ -13425,66 +13482,68 @@ msgid "" msgstr "" msgid "Bottom-left corner of first layer bounding box" -msgstr "" +msgstr "Levý dolní roh ohraničujícího rámečku v první vrstvě" msgid "Top-right corner of first layer bounding box" -msgstr "" +msgstr "Pravý horní roh ohraničujícího rámečku v první vrstvě" msgid "Size of the first layer bounding box" -msgstr "" +msgstr "Velikost ohraničujícího rámečku v první vrstvě" msgid "Bottom-left corner of print bed bounding box" -msgstr "" +msgstr "Levý dolní roh ohraničujícího rámečku tiskové podložky" msgid "Top-right corner of print bed bounding box" -msgstr "" +msgstr "Pravý horní roh ohraničujícího rámečku tiskové podložky" msgid "Size of the print bed bounding box" -msgstr "" +msgstr "Velikost ohraničujícího rámečku tiskové podložky" msgid "Timestamp" -msgstr "" +msgstr "Časové razítko" msgid "String containing current time in yyyyMMdd-hhmmss format." -msgstr "" +msgstr "Řetězec obsahující aktuální čas ve formátu rrrrMMdd-hhmmss." msgid "Day" -msgstr "" +msgstr "Den" msgid "Hour" -msgstr "" +msgstr "Hodina" msgid "Minute" -msgstr "" +msgstr "Minuta" msgid "Print preset name" -msgstr "" +msgstr "Název přednastavení tisku" msgid "Name of the print preset used for slicing." -msgstr "" +msgstr "Název přednastavení tisku použitého pro slicování." msgid "Filament preset name" -msgstr "" +msgstr "Název přednastavení filamentu" msgid "" "Names of the filament presets used for slicing. The variable is a vector " "containing one name for each extruder." msgstr "" +"Názvy přednastavení filamentu používaných pro slicování. Proměnná je vektor " +"obsahující jeden název pro každý extruder." msgid "Printer preset name" -msgstr "" +msgstr "Název přednastavení tiskárny" msgid "Name of the printer preset used for slicing." -msgstr "" +msgstr "Název přednastavení tiskárny použité pro slicování." msgid "Physical printer name" -msgstr "" +msgstr "Fyzický název tiskárny" msgid "Name of the physical printer used for slicing." -msgstr "" +msgstr "Název fyzické tiskárny použité pro slicování." msgid "Layer number" -msgstr "" +msgstr "Číslo vrstvy" msgid "Index of the current layer. One-based (i.e. first layer is number 1)." msgstr "" @@ -13496,12 +13555,13 @@ msgid "" "Height of the current layer above the print bed, measured to the top of the " "layer." msgstr "" +"Výška aktuální vrstvy nad tiskovou podložkou, měřeno k hornímu okraji vrstvy." msgid "Maximal layer z" msgstr "" msgid "Height of the last layer above the print bed." -msgstr "" +msgstr "Výška poslední vrstvy nad tiskovou podložkou." msgid "Filament extruder ID" msgstr "" @@ -14136,7 +14196,7 @@ msgid "Flow Dynamics Calibration Result" msgstr "Výsledek kalibrace dynamiky průtoku" msgid "New" -msgstr "" +msgstr "Nový" msgid "No History Result" msgstr "Žádný historický výsledek" @@ -14874,7 +14934,7 @@ msgid "Are you sure to delete the selected preset?" msgstr "" msgid "Delete preset" -msgstr "" +msgstr "Smazat přednastavení" msgid "+ Add Preset" msgstr "" @@ -14913,7 +14973,7 @@ msgid "For more information, please check out Wiki" msgstr "" msgid "Collapse" -msgstr "" +msgstr "Sbalit" msgid "Daily Tips" msgstr "" @@ -14996,111 +15056,116 @@ msgstr "" #, c-format, boost-format msgid "Mismatched type of print host: %s" -msgstr "" +msgstr "Nesprávný typ tiskového serveru: %s" msgid "Connection to AstroBox works correctly." -msgstr "" +msgstr "Připojení k AstroBoxu funguje správně." msgid "Could not connect to AstroBox" -msgstr "" +msgstr "Nelze se připojit k AstroBoxu" msgid "Note: AstroBox version at least 1.1.0 is required." -msgstr "" +msgstr "Poznámka: Je vyžadována verze AstroBoxu nejméně 1.1.0." msgid "Connection to Duet works correctly." -msgstr "" +msgstr "Připojení k Duet funguje správně." msgid "Could not connect to Duet" -msgstr "" +msgstr "Nelze se připojit k Duet" msgid "Unknown error occured" -msgstr "" +msgstr "Došlo k neznámé chybě" msgid "Wrong password" -msgstr "" +msgstr "Chybné heslo" msgid "Could not get resources to create a new connection" -msgstr "" +msgstr "Nelze získat prostředky pro vytvoření nového spojení" msgid "Upload not enabled on FlashAir card." -msgstr "" +msgstr "Na kartě FlashAir není nahrávání povoleno." msgid "Connection to FlashAir works correctly and upload is enabled." -msgstr "" +msgstr "Připojení k FlashAir funguje správně a nahrávání je povoleno." msgid "Could not connect to FlashAir" -msgstr "" +msgstr "Nelze se spojit s FlashAir" msgid "" "Note: FlashAir with firmware 2.00.02 or newer and activated upload function " "is required." msgstr "" +"Poznámka: Vyžaduje se FlashAir s firmwarem 2.00.02 nebo novějším a " +"aktivovanou funkcí nahrávání." msgid "Connection to MKS works correctly." -msgstr "" +msgstr "Připojení k MKS funguje správně." msgid "Could not connect to MKS" -msgstr "" +msgstr "Nelze se připojit k MKS" msgid "Connection to OctoPrint works correctly." -msgstr "" +msgstr "Připojení k OctoPrint pracuje správně." msgid "Could not connect to OctoPrint" -msgstr "" +msgstr "Nelze se spojit s OctoPrintem" msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "" +msgstr "Poznámka: Je vyžadován OctoPrint ve verzi alespoň 1.1.0." msgid "Connection to Prusa SL1 / SL1S works correctly." -msgstr "" +msgstr "Připojení k tiskárně Prusa SL1 /SL1S funguje správně." msgid "Could not connect to Prusa SLA" -msgstr "" +msgstr "Nelze se připojit k Prusa SLA" msgid "Connection to PrusaLink works correctly." -msgstr "" +msgstr "Připojení k PrusaLinku funguje správně." msgid "Could not connect to PrusaLink" -msgstr "" +msgstr "Nelze se připojit k PrusaLinku" msgid "Storages found" -msgstr "" +msgstr "Úložiště nalezeno" #. TRN %1% = storage path #, boost-format msgid "%1% : read only" -msgstr "" +msgstr "%1% : pouze pro čtení" #. TRN %1% = storage path #, boost-format msgid "%1% : no free space" -msgstr "" +msgstr "%1% : nedostatek volného místa" #. TRN %1% = host #, boost-format msgid "Upload has failed. There is no suitable storage found at %1%." msgstr "" +"Nahrání se nezdařilo. Na adrese %1% nebylo nalezeno žádné vhodné úložiště." msgid "Connection to Prusa Connect works correctly." -msgstr "" +msgstr "Připojení k Prusa Connectu funguje správně." msgid "Could not connect to Prusa Connect" -msgstr "" +msgstr "Nelze se připojit k Prusa Connectu" msgid "Connection to Repetier works correctly." -msgstr "" +msgstr "Připojení k Repetieru funguje správně." msgid "Could not connect to Repetier" -msgstr "" +msgstr "Nelze se připojit k Repetieru" msgid "Note: Repetier version at least 0.90.0 is required." -msgstr "" +msgstr "Poznámka: Je vyžadována verze Repetier alespoň 0.90.0." #, boost-format msgid "" "HTTP status: %1%\n" "Message body: \"%2%\"" msgstr "" +"HTTP stavový kód: %1%\n" +"Tělo zprávy: \"%2%\"" #, boost-format msgid "" @@ -15108,6 +15173,9 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"Parsování odpovědi od hostitele se nezdařilo.\n" +"Tělo zprávy: \"%1%\"\n" +"Chyba: \"%2%\"" #, boost-format msgid "" @@ -15115,6 +15183,9 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"Výčet tiskových serverů se nezdařil.\n" +"Tělo zprávy: \"%1%\"\n" +"Chyba: \"%2%\"" msgid "" "It has a small layer height, and results in almost negligible layer lines " diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index 3d917675b26..26d59d44ab7 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: \n" "Last-Translator: Heiko Liebscher \n" "Language-Team: \n" @@ -1511,7 +1511,7 @@ msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Wählen sie eine oder mehrere Dateien (3mf/step/stl/svg/obj/amf):" msgid "Choose ZIP file" -msgstr "" +msgstr "ZIP Datei wählen" msgid "Choose one file (gcode/3mf):" msgstr "Wählen sie eine Datei (3mf):" @@ -1589,6 +1589,8 @@ msgid "" "Could not start URL download. Destination folder is not set. Please choose " "destination folder in Configuration Wizard." msgstr "" +"Der URL-Download konnte nicht gestartet werden. Der Zielordner ist nicht " +"festgelegt. Bitte wählen Sie den Zielordner im Konfigurationsassistenten." msgid "Import File" msgstr "Datei importieren" @@ -6403,16 +6405,18 @@ msgstr "Beim Laden der G-Code-Datei ist ein Fehler aufgetreten." #. TRN %1% is archive path #, boost-format msgid "Loading of a ZIP archive on path %1% has failed." -msgstr "" +msgstr "Das Laden eines ZIP-Archivs auf dem Pfad %1% ist fehlgeschlagen." #. TRN: First argument = path to file, second argument = error description #, boost-format msgid "Failed to unzip file to %1%: %2%" -msgstr "" +msgstr "Entpacken der Datei nach %1%: %2% fehlgeschlagen" #, boost-format msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." msgstr "" +"Die entpackte Datei bei %1% konnte nicht gefunden werden. Das Entpacken der " +"Datei ist fehlgeschlagen." msgid "Drop project file" msgstr "Projektdatei ablegen" diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po index 60397cbc9e3..41e70242017 100644 --- a/localization/i18n/en/OrcaSlicer_en.po +++ b/localization/i18n/en/OrcaSlicer_en.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -7686,7 +7686,7 @@ msgid "Wipe tower parameters" msgstr "" msgid "Toolchange parameters with single extruder MM printers" -msgstr "" +msgstr "Toolchange parameters with single extruder MM printers" msgid "Ramming settings" msgstr "" @@ -10281,6 +10281,8 @@ msgid "" "Speed used for unloading the filament on the wipe tower (does not affect " "initial part of unloading just after ramming)." msgstr "" +"Speed used for unloading the filament on the wipe tower (does not affect " +"initial part of unloading just after ramming)." msgid "Unloading speed at the start" msgstr "" @@ -10297,6 +10299,9 @@ msgid "" "toolchanges with flexible materials that may need more time to shrink to " "original dimensions." msgstr "" +"Time to wait after the filament is unloaded. May help to get reliable tool " +"changes with flexible materials that may need more time to shrink to " +"original dimensions." msgid "Number of cooling moves" msgstr "" @@ -11392,6 +11397,10 @@ msgid "" "positive, it is loaded further, if negative, the loading move is shorter " "than unloading." msgstr "" +"When set to zero, the distance the filament is moved from parking position " +"during load is exactly the same as it was moved back during unload. When " +"positive, it is loaded further, if negative, the loading move is shorter " +"than unloading." msgid "Start end points" msgstr "Start end points" @@ -12090,6 +12099,10 @@ msgid "" "print the wipe tower. User is responsible for ensuring there is no collision " "with the print." msgstr "" +"If enabled, the wipe tower will not be printed on layers with no tool " +"changes. On layers with a tool change, extruder will travel downward to " +"print the wipe tower. User is responsible for ensuring there is no collision " +"with the print." msgid "Prime all printing extruders" msgstr "" diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po index fd619cbdd06..0dee8e7c7f9 100644 --- a/localization/i18n/es/OrcaSlicer_es.po +++ b/localization/i18n/es/OrcaSlicer_es.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: \n" "Last-Translator: Carlos Fco. Caruncho Serrano \n" "Language-Team: \n" @@ -258,7 +258,7 @@ msgid "World coordinates" msgstr "Coordenadas cartesianas" msgid "Object coordinates" -msgstr "" +msgstr "Coordenadas del objeto" msgid "°" msgstr "°" @@ -1524,7 +1524,7 @@ msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Elige uno o más archivos (3mf/step/stl/svg/obj/amf):" msgid "Choose ZIP file" -msgstr "" +msgstr "Escoger archivo ZIP" msgid "Choose one file (gcode/3mf):" msgstr "Elegir un archivo (gcode/3mf):" @@ -1602,6 +1602,9 @@ msgid "" "Could not start URL download. Destination folder is not set. Please choose " "destination folder in Configuration Wizard." msgstr "" +"No se pudo iniciar la descarga del URL. La carpeta de destino no se " +"seleccionó. Por favor escoge una carpeta de destino en el Asistente de " +"Configuración." msgid "Import File" msgstr "Importar Archivo" @@ -3237,7 +3240,7 @@ msgid "Successfully executed post-processing script" msgstr "Successfully executed post-processing script" msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "Se produjo un error desconocido durante la exportación del código G." #, boost-format msgid "" @@ -3245,6 +3248,9 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"Error al copiar el código G temporal en el código G de salida. ¿Quizás la " +"tarjeta SD está bloqueada contra escritura?\n" +"Mensaje de error: %1%" #, boost-format msgid "" @@ -3252,28 +3258,40 @@ msgid "" "problem with target device, please try exporting again or using different " "device. The corrupted output G-code is at %1%.tmp." msgstr "" +"La copia del código G temporal al código G de salida ha fallado. Puede haber " +"un problema con el dispositivo de destino, intenta exportar nuevamente o usa " +"un dispositivo diferente. El código G de salida dañado está en %1%.tmp." #, 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 "" +"El cambio de nombre del código G después de copiar en la carpeta de destino " +"seleccionada ha fallado. La ruta actual es %1%.tmp. Intenta exportar de " +"nuevo." #, 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 "" +"La copia del código G temporal ha finalizado, pero el código original en %1% " +"no se pudo abrir durante la verificación de copia. El código G de salida " +"está en %2%.tmp." #, 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 "" +"La copia del código G temporal ha finalizado, pero el código exportado no se " +"pudo abrir durante la verificación de la copia. El código G de salida está " +"en %1%.tmp." #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr "Archivo de código G exportado a %1%" msgid "Unknown error when export G-code." msgstr "Error desconocido al exportar el G-Code." @@ -6335,16 +6353,18 @@ msgstr "Se produce un error al cargar el archivo de G-Code" #. TRN %1% is archive path #, boost-format msgid "Loading of a ZIP archive on path %1% has failed." -msgstr "" +msgstr "La carga del archivo ZIP en la ruta %1% ha fallado." #. TRN: First argument = path to file, second argument = error description #, boost-format msgid "Failed to unzip file to %1%: %2%" -msgstr "" +msgstr "Fallo al descomprimir el archivo en %1%: %2%" #, boost-format msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." msgstr "" +"No se ha encontrado el archivo descomprimido en %1%. No se ha podido " +"descomprimir el archivo." msgid "Drop project file" msgstr "Soltar el archivo del proyecto" @@ -12755,7 +12775,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "C capas de falda. Normalmente sólo una capa" msgid "Draft shield" -msgstr "" +msgstr "Escudo de protección" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12772,10 +12792,10 @@ msgid "" msgstr "" msgid "Limited" -msgstr "" +msgstr "Limitado" msgid "Enabled" -msgstr "" +msgstr "Activado" msgid "Skirt loops" msgstr "Contorno de la falda" diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po index 6ee40b50fb4..534ca37bdcf 100644 --- a/localization/i18n/fr/OrcaSlicer_fr.po +++ b/localization/i18n/fr/OrcaSlicer_fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Guislain Cyril, Thomas Lété\n" @@ -7772,8 +7772,8 @@ 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\"." +"by right-click the empty position of build plate and choose \"Add Primitive" +"\"->\"Timelapse Wipe Tower\"." msgstr "" "Lorsque vous enregistrez un timelapse sans tête d’outil, il est recommandé " "d’ajouter une \"Tour d’essuyage timelapse\".\n" @@ -7928,9 +7928,9 @@ msgid "" "Bed temperature when cool plate is installed. Value 0 means the filament " "does not support to print on the Cool Plate" msgstr "" -"Il s'agit de la température du plateau lorsque le plateau froid (\"Cool " -"plate\") est installé. Une valeur à 0 signifie que ce filament ne peut pas " -"être imprimé sur le plateau froid." +"Il s'agit de la température du plateau lorsque le plateau froid (\"Cool plate" +"\") est installé. Une valeur à 0 signifie que ce filament ne peut pas être " +"imprimé sur le plateau froid." msgid "Engineering plate" msgstr "Plaque Engineering" @@ -11461,10 +11461,10 @@ msgstr "Ventilateur à pleine vitesse à la couche" 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." +"\"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 "" "La vitesse du ventilateur augmentera de manière linéaire à partir de zéro à " "la couche \"close_fan_the_first_x_layers\" jusqu’au maximum à la couche " @@ -13198,8 +13198,8 @@ msgid "" "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " "close all holes in the model." msgstr "" -"Utilisez « Pair-impair » pour les modèles d'avion 3DLabPrint. Utilisez " -"« Fermer les trous » pour fermer tous les trous du modèle." +"Utilisez « Pair-impair » pour les modèles d'avion 3DLabPrint. Utilisez « " +"Fermer les trous » pour fermer tous les trous du modèle." msgid "Regular" msgstr "Standard" @@ -14008,8 +14008,8 @@ msgid "" "Wipe tower is only compatible with relative mode. It is recommended on most " "printers. Default is checked" msgstr "" -"L’extrusion relative est recommandée lors de l’utilisation de l’option " -"« label_objects ». Certains extrudeurs fonctionnent mieux avec cette option " +"L’extrusion relative est recommandée lors de l’utilisation de l’option « " +"label_objects ». Certains extrudeurs fonctionnent mieux avec cette option " "non verrouillée (mode d’extrusion absolu). La tour d’essuyage n’est " "compatible qu’avec le mode relatif. Il est recommandé sur la plupart des " "imprimantes. L’option par défaut est cochée" @@ -14872,9 +14872,9 @@ msgstr "" "Wiki.\n" "\n" "Habituellement, la calibration est inutile. Lorsque vous démarrez une " -"impression d'une seule couleur/matériau, avec l'option \"Calibration du " -"débit\" cochée dans le menu de démarrage de l'impression, l'imprimante " -"suivra l'ancienne méthode de calibration du filament avant l'impression.\n" +"impression d'une seule couleur/matériau, avec l'option \"Calibration du débit" +"\" cochée dans le menu de démarrage de l'impression, l'imprimante suivra " +"l'ancienne méthode de calibration du filament avant l'impression.\n" "Lorsque vous démarrez une impression multi-couleurs/matériaux, l'imprimante " "utilise le paramètre de compensation par défaut pour le filament lors de " "chaque changement de filament, ce qui donne un bon résultat dans la plupart " @@ -15653,8 +15653,8 @@ msgstr "" "Voulez-vous le réécrire ?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you " -"selected\". \n" +"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 "" "Nous renommerions les préréglages en « Vendor Type Serial @printer you " @@ -17440,8 +17440,8 @@ msgstr "" #~ "thickness (top+bottom solid layers)" #~ msgstr "" #~ "Ajoutez du remplissage solide à proximité des surfaces inclinées pour " -#~ "garantir l'épaisseur verticale de la coque (couches solides " -#~ "supérieure+inférieure)." +#~ "garantir l'épaisseur verticale de la coque (couches solides supérieure" +#~ "+inférieure)." #~ msgid "Further reduce solid infill on walls (beta)" #~ msgstr "Réduire davantage le remplissage solide des parois (expérimental)" diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po index 52d00696837..4294c404163 100644 --- a/localization/i18n/hu/OrcaSlicer_hu.po +++ b/localization/i18n/hu/OrcaSlicer_hu.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -100,7 +100,7 @@ msgid "Support Generated" msgstr "Támasz legenerálva" msgid "Gizmo-Place on Face" -msgstr "" +msgstr "Gizmo- Felület Tárgyasztalra Illesztése" msgid "Lay on face" msgstr "Felületre fektetés" @@ -181,13 +181,13 @@ msgid "Move" msgstr "Mozgatás" msgid "Gizmo-Move" -msgstr "" +msgstr "Gizmo-Mozgatása" msgid "Rotate" msgstr "Forgatás" msgid "Gizmo-Rotate" -msgstr "" +msgstr "Gizmo-Forgatása" msgid "Optimize orientation" msgstr "Orientáció optimalizálása" @@ -199,7 +199,7 @@ msgid "Scale" msgstr "Átméretezés" msgid "Gizmo-Scale" -msgstr "" +msgstr "Gizmo-Skála" msgid "Error: Please close all toolbar menus first" msgstr "Hiba: Kérjük, először zárd be az összes eszköztár menüt" @@ -515,7 +515,7 @@ msgid "Connector" msgstr "Connector" msgid "Cut by Plane" -msgstr "" +msgstr "Vágás Síkkal" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" msgstr "A vágás után hibás élek keletkeztek, szeretnéd most javítani őket?" @@ -672,7 +672,7 @@ msgid "Text move" msgstr "" msgid "Set Mirror" -msgstr "" +msgstr "Tükrözés beállítása" msgid "Embossed text" msgstr "" @@ -708,7 +708,7 @@ msgid "First font" msgstr "" msgid "Default font" -msgstr "" +msgstr "Az alapértelmezett nyomtató" msgid "Advanced" msgstr "Haladó" @@ -759,7 +759,7 @@ 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 "" +msgstr "Az objektum utolsó tömör részének típusát nem lehet megváltoztatni." msgctxt "EmbossOperation" msgid "Cut" @@ -1020,7 +1020,7 @@ msgstr "" #. TRN - Input label. Be short as possible #. Align Top|Middle|Bottom and Left|Center|Right msgid "Alignment" -msgstr "" +msgstr "Balra igazítsd" #. TRN - Input label. Be short as possible msgid "Char gap" @@ -1076,7 +1076,7 @@ msgid "SVG actions" msgstr "" msgid "SVG" -msgstr "" +msgstr "SVG" #, boost-format msgid "Opacity (%1%)" @@ -1163,7 +1163,7 @@ msgid "Bake into model as uneditable part" msgstr "" msgid "Save as" -msgstr "" +msgstr "Mentés Másként" msgid "Save SVG file" msgstr "" @@ -1189,7 +1189,7 @@ msgid "Lock/unlock the aspect ratio of the SVG." msgstr "" msgid "Reset scale" -msgstr "" +msgstr "Skála visszaállítása" msgid "Distance of the center of the SVG to the model surface." msgstr "" @@ -1198,16 +1198,16 @@ msgid "Reset distance" msgstr "" msgid "Reset rotation" -msgstr "" +msgstr "Forgatás visszaállítása" msgid "Lock/unlock rotation angle when dragging above the surface." msgstr "" msgid "Mirror vertically" -msgstr "" +msgstr "Tükrözés függőlegesen" msgid "Mirror horizontally" -msgstr "" +msgstr "Tükrözés vízszintesen" #. 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" @@ -2537,13 +2537,13 @@ msgid "Bed filling done." msgstr "Bed filling done." msgid "Searching for optimal orientation" -msgstr "" +msgstr "Az optimális tájolás keresése" msgid "Orientation search canceled." -msgstr "" +msgstr "Tájolás keresés visszavonva." msgid "Orientation found." -msgstr "" +msgstr "Tájolás megtalálva." msgid "Logging in" msgstr "Bejelentkezés" @@ -3158,7 +3158,7 @@ msgid "Successfully executed post-processing script" msgstr "Successfully executed post-processing script" msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "Ismeretlen hiba történt a G-kód exportálása közben." #, boost-format msgid "" @@ -3166,6 +3166,9 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"Az ideiglenes G-kód másolása a kimeneti G-kódba nem sikerült. Lehet, hogy az " +"SD kártya írásvédett?\n" +"Hibaüzenet: %1%" #, boost-format msgid "" @@ -3173,28 +3176,37 @@ msgid "" "problem with target device, please try exporting again or using different " "device. The corrupted output G-code is at %1%.tmp." msgstr "" +"Az ideiglenes G-kód másolása a kimeneti G-kódba nem sikerült. Probléma lehet " +"a céleszközzel. Kérjük, próbálkozzon újra az exportálással, vagy használjon " +"másik eszközt. A sérült kimeneti G-kód %1%.tmp." #, 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 "" +"A G-kód átnevezése a kiválasztott célmappába másolás után nem sikerült. A " +"jelenlegi elérési út %1%.tmp. Kérjük, próbálja meg újra az exportálást." #, 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 "" +"Az ideiglenes G-kód másolása befejeződött, de az eredeti, %1% kódot nem " +"lehetett megnyitni a másolásellenőrzés során. A kimeneti G-kód %2%.tmp." #, 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 "" +"Az ideiglenes G-kód másolása befejeződött, de az exportált kódot nem " +"lehetett megnyitni a másolásellenőrzés során. A kimeneti G-kód %1%.tmp." #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr "G-kód fájl exportálva ide: %1%" msgid "Unknown error when export G-code." msgstr "Ismeretlen hiba a G-kód exportálásakor." @@ -3920,7 +3932,7 @@ msgid "Dimensions" msgstr "" msgid "Temperatures" -msgstr "" +msgstr "Hőmérséklet(ek)" msgid "Timestamps" msgstr "" @@ -5896,10 +5908,10 @@ msgstr "" "hogy válts a sima módra." msgid "Expand sidebar" -msgstr "" +msgstr "Az oldalsáv kibontása" msgid "Collapse sidebar" -msgstr "" +msgstr "&Az oldalsáv összecsukása" #, c-format, boost-format msgid "Loading file: %s" @@ -6178,7 +6190,7 @@ msgid "" msgstr "" msgid "Import SLA archive" -msgstr "" +msgstr "SLA archívum importálása" msgid "The selected file" msgstr "A kiválasztott fájl" @@ -6299,7 +6311,7 @@ msgid "Is the printer ready? Is the print sheet in place, empty and clean?" msgstr "" msgid "Upload and Print" -msgstr "" +msgstr "Feltöltés és Nyomtatás" msgid "" "Print By Object: \n" @@ -6476,7 +6488,7 @@ msgid "" msgstr "" msgid "Home" -msgstr "" +msgstr "Haza" msgid "Default Page" msgstr "" @@ -6507,10 +6519,12 @@ msgstr "" "2D window center." msgid "Use free camera" -msgstr "" +msgstr "Szabad kamera használata" msgid "If enabled, use free camera. If not enabled, use constrained camera." msgstr "" +"Ha engedélyezve van, szabad kamerát használ. Ha nincs engedélyezve, akkor " +"kötött kamerát használ." msgid "Reverse mouse zoom" msgstr "" @@ -6519,7 +6533,7 @@ msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "" msgid "Show splash screen" -msgstr "" +msgstr "Splash screen meglenítése" msgid "Show the splash screen during startup." msgstr "" @@ -7570,7 +7584,7 @@ msgid "Tree supports" msgstr "" msgid "Skirt" -msgstr "" +msgstr "Szoknya" msgid "Prime tower" msgstr "Törlő torony" @@ -7742,13 +7756,14 @@ msgid "Multimaterial" msgstr "" msgid "Wipe tower parameters" -msgstr "" +msgstr "Törlőtorony paraméterek" msgid "Toolchange parameters with single extruder MM printers" msgstr "" +"Szerszámváltási paraméterek egy extruderes Több Anyagos (MM) nyomtatónál" msgid "Ramming settings" -msgstr "" +msgstr "Tömörítési beállítások" msgid "Toolchange parameters with multi extruder MM printers" msgstr "" @@ -7823,10 +7838,10 @@ msgid "Single extruder multimaterial setup" msgstr "" msgid "Wipe tower" -msgstr "" +msgstr "Törlőtorony" msgid "Single extruder multimaterial parameters" -msgstr "" +msgstr "Egyetlen extruder többanyagú paraméterei" msgid "Layer height limits" msgstr "Rétegmagasság limitek" @@ -8126,7 +8141,7 @@ msgid "The configuration is up to date." msgstr "A konfiguráció naprakész." msgid "Ramming customization" -msgstr "" +msgstr "Tömörítés testreszabása" msgid "" "Ramming denotes the rapid extrusion just before a tool change in a single-" @@ -8139,21 +8154,31 @@ msgid "" "This is an expert-level setting, incorrect adjustment will likely lead to " "jams, extruder wheel grinding into filament etc." msgstr "" +"A tömörítés az egy extruderes Többféle Anyaggal (MM) dolgozó nyomtatókban a " +"szerszámcsere előtti gyors extrudálást jelenti. Célja, hogy megfelelően " +"alakítsa a visszahúzott filament végét, hogy az ne akadályozza az új " +"filament betöltését, és később újra betölthető legyen. Ez a fázis fontos, és " +"a különböző anyagok különböző extrudálási sebességet igényelhetnek a " +"megfelelő forma eléréséhez. Ezért a tömörítés során alkalmazott extrudálási " +"sebességek állíthatóak.\n" +"\n" +"Ez egy szakértői szintű beállítás, a helytelen beállítás elakadásokhoz, az " +"extruder kerék filamentbe marásához stb. vezethet." msgid "Total ramming time" -msgstr "" +msgstr "Teljes tömörítési idő" msgid "s" msgstr "mp" msgid "Total rammed volume" -msgstr "" +msgstr "Teljes tömörített térfogat" msgid "Ramming line width" -msgstr "" +msgstr "Tömörítési vonal szélessége" msgid "Ramming line spacing" -msgstr "" +msgstr "Tömörítési vonal térköze" msgid "Auto-Calc" msgstr "Automatikus számítás" @@ -8391,10 +8416,10 @@ msgid "Gizmo Text emboss / engrave" msgstr "" msgid "Zoom in" -msgstr "" +msgstr "Zoom közelítés" msgid "Zoom out" -msgstr "" +msgstr "Zoom távolítás" msgid "Switch between Prepare/Preview" msgstr "" @@ -9460,7 +9485,7 @@ msgid "" msgstr "" msgid "Everywhere" -msgstr "" +msgstr "Mindenhol" msgid "Top and bottom surfaces" msgstr "" @@ -9934,7 +9959,7 @@ msgid "" msgstr "" msgid "Disabled" -msgstr "" +msgstr "Letiltva" msgid "Limited filtering" msgstr "" @@ -10353,54 +10378,61 @@ msgid "" msgstr "" msgid "Loading speed" -msgstr "" +msgstr "Betöltési sebesség" msgid "Speed used for loading the filament on the wipe tower." -msgstr "" +msgstr "A filament törlőtoronyra való betöltéséhez használt sebesség." msgid "Loading speed at the start" -msgstr "" +msgstr "Betöltési sebesség kezdéskor" msgid "Speed used at the very beginning of loading phase." -msgstr "" +msgstr "A betöltési fázis legelején használt sebesség." msgid "Unloading speed" -msgstr "" +msgstr "Kiürítési sebesség" msgid "" "Speed used for unloading the filament on the wipe tower (does not affect " "initial part of unloading just after ramming)." msgstr "" +"A filament törlőtoronynál való kiürítéséhez használt sebesség (nem " +"befolyásolja a kiürítés kezdeti részét közvetlenül a tömörítés után)." msgid "Unloading speed at the start" -msgstr "" +msgstr "Kiürítési sebesség kezdéskor" msgid "" "Speed used for unloading the tip of the filament immediately after ramming." -msgstr "" +msgstr "A filament kiürítésének sebessége közvetlenül a tömörítés után." msgid "Delay after unloading" -msgstr "" +msgstr "Várakozás a kiürítés után" msgid "" "Time to wait after the filament is unloaded. May help to get reliable " "toolchanges with flexible materials that may need more time to shrink to " "original dimensions." msgstr "" +"A várakozási idő az filament kiürítése után. Segíthet megbízható " +"szerszámcserét elérni rugalmas anyagok esetén, amelyeknek több időre lehet " +"szükségük ahhoz, hogy az eredeti méretükre zsugorodjanak." msgid "Number of cooling moves" -msgstr "" +msgstr "Hűtési lépések száma" msgid "" "Filament is cooled by being moved back and forth in the cooling tubes. " "Specify desired number of these moves." msgstr "" +"A filament hűtése úgy történik, hogy oda-vissza mozgatják a hűtőcsőben. Adja " +"meg a kívánt lépések számát." msgid "Speed of the first cooling move" -msgstr "" +msgstr "Az első hűtési lépés sebessége" msgid "Cooling moves are gradually accelerating beginning at this speed." -msgstr "" +msgstr "A hűtési lépések fokozatosan felgyorsulnak ettől a sebességtől kezdve." msgid "Minimal purge on wipe tower" msgstr "Minimális tisztítás a törlőtoronyban" @@ -10414,30 +10446,39 @@ msgid "" msgstr "" msgid "Speed of the last cooling move" -msgstr "" +msgstr "Az utolsó hűtési lépés sebessége" msgid "Cooling moves are gradually accelerating towards this speed." -msgstr "" +msgstr "A hűtési lépések fokozatosan felgyorsulnak erre a sebességre." msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " "filament during a tool change (when executing the T code). This time is " "added to the total print time by the G-code time estimator." msgstr "" +"Az az idő, amíg a nyomtató vezérlő szoftvere (vagy a Multi Material Unit " +"2.0) új filamentet tölt be a szerszámcsere során (a T kód végrehajtásakor). " +"Ezt az időt a G-kód időbecslő hozzáadja a teljes nyomtatási időhöz." msgid "Ramming parameters" -msgstr "" +msgstr "Tömörítési paraméterek" msgid "" "This string is edited by RammingDialog and contains ramming specific " "parameters." msgstr "" +"Ez a karakterlánc a TömörítésPárbeszéd ablakban szerkeszthető, és a " +"tömörítéssel kapcsolatos paramétereket tartalmaz." msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " "filament during a tool change (when executing the T code). This time is " "added to the total print time by the G-code time estimator." msgstr "" +"Az az idő, amíg a nyomtató vezérlő szoftvere (vagy a Multi Material Unit " +"2.0) az előző Filamenet kiüríti a szerszámcsere során (a T kód " +"végrehajtásakor). Ezt az időt a G-kód időbecslő hozzáadja a teljes " +"nyomtatási időhöz." msgid "Enable ramming for multitool setups" msgstr "" @@ -10616,7 +10657,7 @@ msgid "1000 (unlimited)" msgstr "1000 (unlimited)" msgid "Maximum length of the infill anchor" -msgstr "" +msgstr "A kitöltőhorgony maximális hossza" msgid "" "Connect an infill line to an internal perimeter with a short segment of an " @@ -11018,7 +11059,7 @@ msgid "Enable this option if you want to use multiple bed types" msgstr "" msgid "Label objects" -msgstr "" +msgstr "Objektumok címkézése" msgid "" "Enable this to add comments into the G-Code labeling print moves with what " @@ -11034,13 +11075,17 @@ msgid "Enable this option to add EXCLUDE OBJECT command in g-code" msgstr "" msgid "Verbose G-code" -msgstr "" +msgstr "Bővebb G-kód" 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 "" +"Ha engedélyezi ezt a funkciót, akkor egy kommentezett G-kód fájlt kap, " +"amelynek minden egyes sorát egy leíró szöveg magyarázza. Ha SD-kártyáról " +"nyomtat, a fájl nagyobb mérete miatt a nyomtató vezérlő szoftvere " +"lelassulhat." msgid "Infill combination" msgstr "Kitöltés összevonása" @@ -11377,7 +11422,7 @@ msgid "" msgstr "" msgid "mm³/s²" -msgstr "" +msgstr "mm³/s²" msgid "Smoothing segment length" msgstr "" @@ -11431,12 +11476,14 @@ msgid "Diameter of nozzle" msgstr "Fúvóka átmérője" msgid "Configuration notes" -msgstr "" +msgstr "Konfiguráció megjegyzések" msgid "" "You can put here your personal notes. This text will be added to the G-code " "header comments." msgstr "" +"Itt elhelyezheti személyes jegyzeteit. Ez a szöveg hozzá lesz fűzve a G-kód " +"fejlécének megjegyzéseihez." msgid "Host Type" msgstr "Host típusa" @@ -11455,36 +11502,43 @@ msgid "Volume of nozzle between the cutter and the end of nozzle" msgstr "A fúvóka térfogata a filamentvágó és a fúvóka vége között" msgid "Cooling tube position" -msgstr "" +msgstr "Hűtőcső helyzete" msgid "Distance of the center-point of the cooling tube from the extruder tip." -msgstr "" +msgstr "A hűtőcső középpontjának távolsága az extruder csúcsától." msgid "Cooling tube length" -msgstr "" +msgstr "Hűtőcső hossza" msgid "Length of the cooling tube to limit space for cooling moves inside it." msgstr "" +"A hűtőcső hossza, ami limitálja a hűtéshez használható helyet annak a " +"belsejében." msgid "High extruder current on filament swap" -msgstr "" +msgstr "Magas extruderáram a szálcserénél" 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 "" +"Előnyös lehet az extrudermotor áramának növelése a filamentcsere során, hogy " +"elérhetővé tegye a tömörítéshez szükséges magas előtolási sebességet és az " +"ellenállás leküzdését deformált hegyű filament betöltésekor." msgid "Filament parking position" -msgstr "" +msgstr "Filament parkolási pozíció" 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 "" +"Az extruder hegyének távolsága attól a helyzettől, ahol a szál betöltetlenül " +"parkol. Ennek meg kell egyeznie a nyomtató firmware-ében megadott értékkel." msgid "Extra loading distance" -msgstr "" +msgstr "Extra betöltési hossz" msgid "" "When set to zero, the distance the filament is moved from parking position " @@ -11492,6 +11546,10 @@ msgid "" "positive, it is loaded further, if negative, the loading move is shorter " "than unloading." msgstr "" +"Ha nullára van állítva, akkor a filamentet a betöltés során a " +"parkolóhelyzetből pontosan ugyanannyira kerül előtolásra, mint amennyire a " +"kiürítéskor vissza lett húzva. Ha pozitív, akkor tovább töltődik, ha " +"negatív, akkor a betöltési mozgás rövidebb, mint a kiürítési." msgid "Start end points" msgstr "Kezdő- és végpontok" @@ -11744,7 +11802,7 @@ msgid "Spiral" msgstr "Spirál" msgid "Only lift Z above" -msgstr "" +msgstr "Z emelés csak efelett" msgid "" "If you set this to a positive value, Z lift will only take place above the " @@ -11752,7 +11810,7 @@ msgid "" msgstr "" msgid "Only lift Z below" -msgstr "" +msgstr "Z emelés csak ezalatt" msgid "" "If you set this to a positive value, Z lift will only take place below the " @@ -11786,11 +11844,16 @@ 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 "" +"Amikor a visszahúzás kompenzálásra kerül utazási mozgás után, az extruder " +"ezt a további szálmennyiséget nyomja előre. Erre a beállításra ritkán van " +"szükség." msgid "" "When the retraction is compensated after changing tool, the extruder will " "push this additional amount of filament." msgstr "" +"Amikor a visszahúzás kompenzálásra kerül szerszámváltás után, az extruder " +"ezt a további szálmennyiséget nyomja előre." msgid "Retraction Speed" msgstr "Visszahúzás sebessége" @@ -12021,7 +12084,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Number of skirt layers: usually only one" msgid "Draft shield" -msgstr "" +msgstr "Huzatvédő" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12038,10 +12101,10 @@ msgid "" msgstr "" msgid "Limited" -msgstr "" +msgstr "Korlátozott" msgid "Enabled" -msgstr "" +msgstr "Engedélyezve" msgid "Skirt loops" msgstr "Szoknya hurkok száma" @@ -12164,7 +12227,7 @@ msgid "Start G-code when start the printing of this filament" msgstr "Kezdő G-kód a filament nyomtatásának megkezdésekor" msgid "Single Extruder Multi Material" -msgstr "" +msgstr "Egyetlen Extruder Többféle Anyag" msgid "Use single nozzle to print multi filament" msgstr "" @@ -12198,14 +12261,20 @@ msgid "" "print the wipe tower. User is responsible for ensuring there is no collision " "with the print." msgstr "" +"Ha engedélyezve van, akkor törlőtorony nem kerül kinyomtatásra " +"szerszámváltás nélküli rétegeken. A szerszámcserével rendelkező rétegeken az " +"extruder az aktuális magasság alá süllyed a törlőtorony nyomtatásához. A " +"felhasználó felelős azért, hogy ez ne okozzon ütközést a nyomtatás során." msgid "Prime all printing extruders" -msgstr "" +msgstr "Az összes nyomtató extruder előkészítése" msgid "" "If enabled, all printing extruders will be primed at the front edge of the " "print bed at the start of the print." msgstr "" +"Ha engedélyezve van, akkor a nyomtatás kezdetén az összes nyomtató extruder " +"előkészítésre kerül a tárgyasztal elülső szélénél." msgid "Slice gap closing radius" msgstr "Szeletelési hézag lezárási sugara" @@ -12240,7 +12309,7 @@ msgid "Close holes" msgstr "Hézagok lezárása" msgid "Z offset" -msgstr "" +msgstr "Z ofszet" msgid "" "This value will be added (or subtracted) from all the Z coordinates in the " @@ -12248,6 +12317,11 @@ msgid "" "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 "" +"Ez az érték hozzáadódik (vagy kivonásra kerül) az összes Z koordinátához a " +"kimeneti G-kódban. A Z tengely végállás pozíciójának kompenzálására szolgál: " +"például ha a végállás nullája valójában 0,3 mm-re hagyja a fúvókát a " +"tárgyasztal felett, akkor állítsa ezt az értéke -0,3-ra (vagy javítsa meg a " +"végállást)." msgid "Enable support" msgstr "Támasz engedélyezése" @@ -12760,10 +12834,10 @@ msgid "Width of prime tower" msgstr "Ez a törlő torony szélessége." msgid "Wipe tower rotation angle" -msgstr "" +msgstr "Törlőtorony forgatási szöge" msgid "Wipe tower rotation angle with respect to x-axis." -msgstr "" +msgstr "Törlőtorony forgatási szöge az x-tengelyhez képest." msgid "Stabilization cone apex angle" msgstr "" @@ -12852,10 +12926,10 @@ msgstr "" "akkor működik, ha a törlőtorony engedélyezve van." msgid "Maximal bridging distance" -msgstr "" +msgstr "Maximális áthidalási távolság" msgid "Maximal distance between supports on sparse infill sections." -msgstr "" +msgstr "A támaszok közötti maximális távolság a ritkás kitöltésű részeken." msgid "X-Y hole compensation" msgstr "X-Y furatkompenzáció" @@ -12914,7 +12988,7 @@ msgid "Rotate the polyhole every layer." msgstr "" msgid "G-code thumbnails" -msgstr "" +msgstr "G-kód miniatűrök" msgid "" "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the " @@ -13101,7 +13175,7 @@ msgid "Do not run any validity checks, such as gcode path conflicts check." msgstr "Do not run any validity checks, such as G-code path conflicts check." msgid "Ensure on bed" -msgstr "" +msgstr "Ágyra igazítás" msgid "" "Lift the object above the bed when it is partially below. Disabled by default" @@ -13114,22 +13188,25 @@ msgid "Orient options: 0-disable, 1-enable, others-auto" msgstr "" msgid "Rotation angle around the Z axis in degrees." -msgstr "" +msgstr "Az Z tengely körüli forgatási szög fokban." msgid "Rotate around Y" -msgstr "" +msgstr "Forgatás Y körül" msgid "Rotation angle around the Y axis in degrees." -msgstr "" +msgstr "Az Y tengely körüli forgatási szög fokban." msgid "Data directory" -msgstr "" +msgstr "Adatkönyvtár" msgid "" "Load and store settings at the given directory. This is useful for " "maintaining different profiles or including configurations from a network " "storage." msgstr "" +"A beállítások betöltése és tárolása a megadott könyvtárban. Ez hasznos a " +"különböző profilok karbantartásához vagy a hálózaton tárolt konfigurációk " +"beviteléhez." msgid "Load custom gcode" msgstr "" @@ -14205,7 +14282,7 @@ msgid "mm/mm" msgstr "mm/mm" msgid "Send G-Code to printer host" -msgstr "" +msgstr "G-kód küldése a nyomtató gazdagépének" msgid "Upload to Printer Host with the following filename:" msgstr "Feltöltés a nyomtatóra a következő fájlnévvel:" diff --git a/localization/i18n/it/OrcaSlicer_it.po b/localization/i18n/it/OrcaSlicer_it.po index f12461a1698..d47812bcd11 100644 --- a/localization/i18n/it/OrcaSlicer_it.po +++ b/localization/i18n/it/OrcaSlicer_it.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -257,7 +257,7 @@ msgid "World coordinates" msgstr "Coordinate reali" msgid "Object coordinates" -msgstr "" +msgstr "Coordinate oggetto" msgid "°" msgstr "°" @@ -1515,7 +1515,7 @@ msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Scegli uno o più file (3mf/step/stl/svg/obj/amf):" msgid "Choose ZIP file" -msgstr "" +msgstr "Seleziona il file ZIP" msgid "Choose one file (gcode/3mf):" msgstr "Scegli file (gcode/3mf):" @@ -1591,6 +1591,9 @@ msgid "" "Could not start URL download. Destination folder is not set. Please choose " "destination folder in Configuration Wizard." msgstr "" +"Impossibile avviare il download dell'URL. La cartella di destinazione non è " +"impostata. Scegliere la cartella di destinazione nella Configurazione " +"guidata." msgid "Import File" msgstr "Importa File" @@ -3233,6 +3236,7 @@ msgstr "Successfully executed post-processing script" msgid "Unknown error occured during exporting G-code." msgstr "" +"Si è verificato un errore sconosciuto durante l'esportazione del G-code." #, boost-format msgid "" @@ -3240,6 +3244,9 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"Copia del G-code temporaneo sul G-code di uscita non riuscita. Forse la " +"scheda SD è bloccata in scrittura?\n" +"Messaggio di errore: %1%" #, boost-format msgid "" @@ -3247,28 +3254,41 @@ msgid "" "problem with target device, please try exporting again or using different " "device. The corrupted output G-code is at %1%.tmp." msgstr "" +"Copia del G-code temporaneo nel G-code di output non riuscita. Potrebbe " +"esserci un problema nel dispositivo di destinazione, prova una nuova " +"esportazione con un dispositivo diverso. Il file G-code corrotto è su %1%." +"tmp." #, 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 "" +"Non è stato possibile rinominare il G-code dopo la copia nella cartella di " +"destinazione selezionata. Il percorso corrente è %1%.tmp. Prova a esportare " +"di nuovo." #, 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 "" +"Copia del G-code temporaneo completata ma non è stato possibile aprire il " +"codice originale su %1% durante il controllo copia. Il G-code di output è su " +"%2%.tmp." #, 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 "" +"Copia del G-code temporaneo completata ma non è stato possibile aprire il " +"codice esportato durante il controllo copia. Il G-code di output è su %1%." +"tmp." #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr "G-code esportato in %1%" msgid "Unknown error when export G-code." msgstr "Errore sconosciuto nell'esportazione del G-code." @@ -3977,15 +3997,17 @@ msgstr "Modifica G-code personalizzato (%1%)" msgid "Built-in placeholders (Double click item to add to G-code)" msgstr "" +"Placeholder incorporati (fai doppio clic sull'elemento per aggiungerlo al G-" +"code)" msgid "Search gcode placeholders" msgstr "" msgid "Add selected placeholder to G-code" -msgstr "" +msgstr "Aggiungi il placeholder selezionato al G-code" msgid "Select placeholder" -msgstr "" +msgstr "Seleziona placeholder" msgid "[Global] Slicing State" msgstr "" @@ -4012,11 +4034,11 @@ msgid "Temperatures" msgstr "Temperature" msgid "Timestamps" -msgstr "" +msgstr "Timestamp" #, boost-format msgid "Specific for %1%" -msgstr "" +msgstr "Specifico per %1%" msgid "Presets" msgstr "Preset" @@ -6312,16 +6334,18 @@ msgstr "Si è verificato un errore durante il caricamento del file G-code." #. TRN %1% is archive path #, boost-format msgid "Loading of a ZIP archive on path %1% has failed." -msgstr "" +msgstr "Il caricamento di un archivio zip sul percorso %1% non è riuscito." #. TRN: First argument = path to file, second argument = error description #, boost-format msgid "Failed to unzip file to %1%: %2%" -msgstr "" +msgstr "Impossibile decomprimere il file su %1%: %2%" #, boost-format msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." msgstr "" +"Impossibile trovare il file decompresso su %1%. La decompressione del file " +"non è riuscita." msgid "Drop project file" msgstr "Elimina il file di progetto" @@ -12747,7 +12771,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Numero di layer skirt: solitamente uno" msgid "Draft shield" -msgstr "" +msgstr "Scudo di protezione" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12764,10 +12788,10 @@ msgid "" msgstr "" msgid "Limited" -msgstr "" +msgstr "Limitato" msgid "Enabled" -msgstr "" +msgstr "Abilitato" msgid "Skirt loops" msgstr "Anelli skirt" diff --git a/localization/i18n/ja/OrcaSlicer_ja.po b/localization/i18n/ja/OrcaSlicer_ja.po index 9c4151ba8c6..09bf7d8df3b 100644 --- a/localization/i18n/ja/OrcaSlicer_ja.po +++ b/localization/i18n/ja/OrcaSlicer_ja.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -103,7 +103,7 @@ msgid "Support Generated" msgstr "生成されたサポート" msgid "Gizmo-Place on Face" -msgstr "" +msgstr "ギズモ-面に配置" msgid "Lay on face" msgstr "底面選択" @@ -183,13 +183,13 @@ msgid "Move" msgstr "移動" msgid "Gizmo-Move" -msgstr "" +msgstr "ギズモ-移動" msgid "Rotate" msgstr "回転" msgid "Gizmo-Rotate" -msgstr "" +msgstr "ギズモ-回転" msgid "Optimize orientation" msgstr "向きを最適化" @@ -201,7 +201,7 @@ msgid "Scale" msgstr "スケール" msgid "Gizmo-Scale" -msgstr "" +msgstr "ギズモ-縮尺" msgid "Error: Please close all toolbar menus first" msgstr "エラー: ツールバーを閉じてください" @@ -255,7 +255,7 @@ msgid "World coordinates" msgstr "空間座標" msgid "Object coordinates" -msgstr "" +msgstr "オブジェクト座標" msgid "°" msgstr "°" @@ -292,7 +292,7 @@ msgid "Snap" msgstr "Snap" msgid "Prism" -msgstr "" +msgstr "プリズム" msgid "Frustum" msgstr "Frustum" @@ -310,7 +310,7 @@ msgid "Place on cut" msgstr "Place on cut" msgid "Flip upside down" -msgstr "" +msgstr "上下反転" msgid "Connectors" msgstr "Connectors" @@ -352,21 +352,26 @@ 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 "" +msgstr "カット面の移動" msgid "Mode" msgstr "Mode" msgid "Change cut mode" -msgstr "" +msgstr "カットモード変更" msgid "Tolerance" msgstr "Tolerance" @@ -405,7 +410,7 @@ msgid "Cut" msgstr "カット" msgid "Rotate cut plane" -msgstr "" +msgstr "カット面の回転" msgid "Remove connectors" msgstr "Remove connectors" @@ -414,13 +419,13 @@ msgid "Bulge" msgstr "Bulge" msgid "Bulge proportion related to radius" -msgstr "" +msgstr "バルジの比率と半径の関係" msgid "Space" msgstr "スペース" msgid "Space proportion related to radius" -msgstr "" +msgstr "半径に関係する空間の割合" msgid "Confirm connectors" msgstr "Confirm connectors" @@ -429,26 +434,26 @@ msgid "Cancel" msgstr "取消し" msgid "Build Volume" -msgstr "" +msgstr "ビルドボリューム" msgid "Flip cut plane" -msgstr "" +msgstr "カット面の反転" msgid "Groove change" -msgstr "" +msgstr "溝変更" msgid "Reset" 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 "" +msgstr "編集済み" msgid "Cut position" -msgstr "" +msgstr "カットポジション" msgid "Reset cutting plane" -msgstr "" +msgstr "カット面をリセット" msgid "Edit connectors" msgstr "Edit connectors" @@ -457,10 +462,10 @@ msgid "Add connectors" msgstr "Add connectors" msgid "Reset cut" -msgstr "" +msgstr "カットをリセット" msgid "Reset cutting plane and remove connectors" -msgstr "" +msgstr "カット面をリセットし、コネクターを削除" msgid "Upper part" msgstr "Upper part" @@ -503,19 +508,19 @@ msgid "Some connectors are overlapped" msgstr "Some connectors are overlapped" msgid "Select at least one object to keep after cutting." -msgstr "" +msgstr "カットした後に残すものを1つ以上選んでください。" msgid "Cut plane is placed out of object" -msgstr "" +msgstr "カット面はオブジェクトの外に配置される" msgid "Cut plane with groove is invalid" -msgstr "" +msgstr "溝のあるカット面は無効" msgid "Connector" msgstr "Connector" msgid "Cut by Plane" -msgstr "" +msgstr "面でカット" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" msgstr "Non-manifold edges be caused by cut tool: do you want to fix now?" @@ -524,10 +529,10 @@ msgid "Repairing model object" msgstr "モデルオブジェクトを修復" msgid "Cut by line" -msgstr "" +msgstr "ラインでカット" msgid "Delete connector" -msgstr "" +msgstr "コネクター削除" msgid "Mesh name" msgstr "メッシュ名" @@ -662,50 +667,50 @@ msgstr "文字形状" #. TRN - Title in Undo/Redo stack after rotate with text around emboss axe msgid "Text rotate" -msgstr "" +msgstr "テキストの回転" #. TRN - Title in Undo/Redo stack after move with text along emboss axe - From surface msgid "Text move" -msgstr "" +msgstr "テキストの移動" msgid "Set Mirror" -msgstr "" +msgstr "ミラーリング設定" msgid "Embossed text" -msgstr "" +msgstr "エンボステキスト" msgid "Enter emboss gizmo" -msgstr "" +msgstr "エンボスギズモに入る" msgid "Leave emboss gizmo" -msgstr "" +msgstr "エンボスギズモを退出" msgid "Embossing actions" -msgstr "" +msgstr "エンボス加工" msgid "Emboss" -msgstr "" +msgstr "エンボス" msgid "NORMAL" -msgstr "" +msgstr "ノーマル" msgid "SMALL" -msgstr "" +msgstr "スモール" msgid "ITALIC" -msgstr "" +msgstr "イタリック" msgid "SWISS" -msgstr "" +msgstr "スイス" msgid "MODERN" -msgstr "" +msgstr "モダン" msgid "First font" -msgstr "" +msgstr "最初のフォント" msgid "Default font" -msgstr "" +msgstr "デフォルトフォント" msgid "Advanced" msgstr "高度な設定" @@ -714,142 +719,144 @@ 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 "" +msgstr "エンボス加工されたテキストは、空白部分のみを含むことはできません。" msgid "Text contains character glyph (represented by '?') unknown by font." -msgstr "" +msgstr "テキストにフォントで不明な文字記号( '?'で表される)が含まれている。" msgid "Text input doesn't show font skew." -msgstr "" +msgstr "テキスト入力でイタリック体が表示されない。" msgid "Text input doesn't show font boldness." -msgstr "" +msgstr "文字入力でボールドフォントが表示されない。" msgid "Text input doesn't show gap between lines." -msgstr "" +msgstr "テキスト入力で、行間が表示されない。" msgid "Too tall, diminished font height inside text input." -msgstr "" +msgstr "高すぎます、テキスト入力の文字高を小さくしました。" msgid "Too small, enlarged font height inside text input." -msgstr "" +msgstr "小さすぎます、テキスト入力時のフォント高さを大きくしました。" msgid "Text doesn't show current horizontal alignment." -msgstr "" +msgstr "テキストが現在の水平アライメントを示さない。" msgid "Revert font changes." -msgstr "" +msgstr "フォント変更を元に戻す" #, boost-format msgid "Font \"%1%\" can't be selected." -msgstr "" +msgstr "フォント\"%1%\"は選択できません。" msgid "Operation" -msgstr "" +msgstr "オペレーション" msgid "Join" -msgstr "" +msgstr "結合" msgid "Click to change text into object part." -msgstr "" +msgstr "クリックすると、テキストをオブジェクトパーツに変更します。" msgid "You can't change a type of the last solid part of the object." -msgstr "" +msgstr "オブジェクトの最後のソリッドパーツのタイプを変更することはできません。" msgctxt "EmbossOperation" msgid "Cut" msgstr "カット" msgid "Click to change part type into negative volume." -msgstr "" +msgstr "クリックすると、パーツタイプをマイナスボリュームに変更します。" msgid "Modifier" msgstr "モディファイア" msgid "Click to change part type into modifier." -msgstr "" +msgstr "クリックすると、パーツタイプをモディファイアに変更します。" msgid "Change Text Type" -msgstr "" +msgstr "テキストタイプ変更" #, boost-format msgid "Rename style(%1%) for embossing text" -msgstr "" +msgstr "エンボステキスト用のスタイル(%1%) をリネームする" msgid "Name can't be empty." -msgstr "" +msgstr "名前を空にすることはできません。" msgid "Name has to be unique." -msgstr "" +msgstr "名前は一意でなければなりません。" msgid "OK" msgstr "OK" msgid "Rename style" -msgstr "" +msgstr "スタイルの名前を変更" msgid "Rename current style." -msgstr "" +msgstr "源左のスタイルの名前を変更" msgid "Can't rename temporary style." -msgstr "" +msgstr "テンポラリスタイルの名前を変更できません。" msgid "First Add style to list." -msgstr "" +msgstr "まず、スタイルをリストに追加" #, boost-format msgid "Save %1% style" -msgstr "" +msgstr "%1% スタイル保存" msgid "No changes to save." -msgstr "" +msgstr "保存する変更点はありません。" msgid "New name of style" -msgstr "" +msgstr "スタイルの新しい名前" msgid "Save as new style" -msgstr "" +msgstr "新しいスタイルとして保存します。" msgid "Only valid font can be added to style." -msgstr "" +msgstr "スタイルに追加できるのは、有効なフォントだけです。" msgid "Add style to my list." -msgstr "" +msgstr "マイリストにスタイルを追加。" msgid "Save as new style." -msgstr "" +msgstr "新しいスタイルとして保存します。" msgid "Remove style" -msgstr "" +msgstr "スタイル削除" msgid "Can't remove the last existing style." -msgstr "" +msgstr "最後に存在したスタイルを削除できません。" #, boost-format msgid "Are you sure you want to permanently remove the \"%1%\" style?" -msgstr "" +msgstr "本当に\"%1%\"スタイルを永久に削除しますか?" #, boost-format msgid "Delete \"%1%\" style." -msgstr "" +msgstr "\"%1%\"スタイル削除" #, boost-format msgid "Can't delete \"%1%\". It is last style." -msgstr "" +msgstr "\"%1%\"を削除できません。直前に使用していたスタイルです。" #, boost-format msgid "Can't delete temporary style \"%1%\"." -msgstr "" +msgstr "テンポラリスタイル\"%1%\"を削除できません。" #, boost-format msgid "Modified style \"%1%\"" -msgstr "" +msgstr "変更したスタイル\"%1%\"" #, boost-format msgid "Current style is \"%1%\"" -msgstr "" +msgstr "現在のスタイルは\"%1%\"" #, boost-format msgid "" @@ -857,48 +864,53 @@ msgid "" "\n" "Would you like to continue anyway?" msgstr "" +"スタイルを\"%1%\"に変更すると、現在のスタイル変更は破棄されます。\n" +"\n" +"それでもこのまま続けますか?" msgid "Not valid style." -msgstr "" +msgstr "有効なスタイルではありません。" #, boost-format msgid "Style \"%1%\" can't be used and will be removed from a list." -msgstr "" +msgstr "スタイル\"%1%\"は使用できないので、リストから削除されます。" msgid "Unset italic" -msgstr "" +msgstr "イタリック設定を解除" msgid "Set italic" -msgstr "" +msgstr "イタリック設定" msgid "Unset bold" -msgstr "" +msgstr "ボールド設定解除" msgid "Set bold" -msgstr "" +msgstr "ボールド設定" msgid "Revert text size." -msgstr "" +msgstr "テキストサイズを元に戻す" msgid "Revert embossed depth." -msgstr "" +msgstr "エンボス深さを元に戻す" msgid "" "Advanced options cannot be changed for the selected font.\n" "Select another font." msgstr "" +"選択されているフォントでは、高度なオプションを変更することはできません。\n" +"他のフォントを選択してください。" msgid "Revert using of model surface." -msgstr "" +msgstr "モデル面の使用を元に戻す。" msgid "Revert Transformation per glyph." -msgstr "" +msgstr "文字ごとに変換を戻す。" msgid "Set global orientation for whole text." -msgstr "" +msgstr "テキスト全体のグローバルな方向を設定する。" msgid "Set position and orientation per glyph." -msgstr "" +msgstr "文字ごとに位置と方向を設定する。" msgctxt "Alignment" msgid "Left" @@ -918,84 +930,91 @@ msgstr "トップ" msgctxt "Alignment" msgid "Middle" -msgstr "" +msgstr "ミドル" msgctxt "Alignment" msgid "Bottom" msgstr "底面" msgid "Revert alignment." -msgstr "" +msgstr "アライメントを戻す。" #. TRN EmbossGizmo: font units msgid "points" -msgstr "" +msgstr "ポイント" msgid "Revert gap between characters" -msgstr "" +msgstr "文字間のズレを戻す" msgid "Distance between characters" -msgstr "" +msgstr "文字の間隔" msgid "Revert gap between lines" -msgstr "" +msgstr "ライン間のズレを戻す" msgid "Distance between lines" -msgstr "" +msgstr "ライン間距離" msgid "Undo boldness" -msgstr "" +msgstr "ボールドネス取り消し" msgid "Tiny / Wide glyphs" -msgstr "" +msgstr "小さい/広いグリフ" msgid "Undo letter's skew" -msgstr "" +msgstr "文字の傾きを取り消す" msgid "Italic strength ratio" -msgstr "" +msgstr "イタリック体の強度比" msgid "Undo translation" -msgstr "" +msgstr "移動を取り消す" msgid "Distance of the center of the text to the model surface." -msgstr "" +msgstr "テキストの中心からモデル表面までの距離。" msgid "Undo rotation" -msgstr "" +msgstr "回転を取り消す" msgid "Rotate text Clock-wise." -msgstr "" +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 "" +msgstr "True Type コレクションから選択。" msgid "Set text to face camera" -msgstr "" +msgstr "テキストをカメラに向ける" msgid "Orient the text towards the camera." -msgstr "" +msgstr "テキストの向きをカメラ側にする。" #, boost-format msgid "" "Can't load exactly same font(\"%1%\"). Aplication selected a similar " "one(\"%2%\"). You have to specify font for enable edit text." msgstr "" +"全く同じフォント(\"%1%\")を読み込むことができません。アプリケーションは似たよ" +"うなもの(\"%2%\")を選択しました。編集テキストを有効にするには、フォントを指定" +"する必要があります。" msgid "No symbol" -msgstr "" +msgstr "シンボルなし" msgid "Loading" msgstr "ロード中" msgid "In queue" -msgstr "" +msgstr "キュー内" #. TRN - Input label. Be short as possible #. Height of one text line - Font Ascent @@ -1006,35 +1025,35 @@ msgstr "高度" #. Copy surface of model on surface of the embossed text #. TRN - Input label. Be short as possible msgid "Use surface" -msgstr "" +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 "" +msgstr "文字あたり" #. TRN - Input label. Be short as possible #. Align Top|Middle|Bottom and Left|Center|Right msgid "Alignment" -msgstr "" +msgstr "アライメント" #. TRN - Input label. Be short as possible msgid "Char gap" -msgstr "" +msgstr "文字間ギャップ" #. TRN - Input label. Be short as possible msgid "Line gap" -msgstr "" +msgstr "ラインギャップ" #. TRN - Input label. Be short as possible msgid "Boldness" -msgstr "" +msgstr "ボールドネス" #. TRN - Input label. Be short as possible #. Like Font italic msgid "Skew ratio" -msgstr "" +msgstr "傾斜比" #. TRN - Input label. Be short as possible #. Distance from model surface to be able @@ -1042,196 +1061,200 @@ msgstr "" #. move text as modifier fully out of not flat surface #. TRN - Input label. Be short as possible msgid "From surface" -msgstr "" +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 "" +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 "" +msgstr "コレクション" #. TRN - Title in Undo/Redo stack after rotate with SVG around emboss axe msgid "SVG rotate" -msgstr "" +msgstr "SVGの回転" #. TRN - Title in Undo/Redo stack after move with SVG along emboss axe - From surface msgid "SVG move" -msgstr "" +msgstr "SVGの移動" msgid "Enter SVG gizmo" -msgstr "" +msgstr "SVGギズモに入る" msgid "Leave SVG gizmo" -msgstr "" +msgstr "SVGギズモから出る" msgid "SVG actions" -msgstr "" +msgstr "SVGアクション" msgid "SVG" -msgstr "" +msgstr "SVG" #, boost-format msgid "Opacity (%1%)" -msgstr "" +msgstr "不透明度 (%1%)" #, boost-format msgid "Color gradient (%1%)" -msgstr "" +msgstr "カラーグラデーション (%1%)" msgid "Undefined fill type" -msgstr "" +msgstr "未定義のフィルタイプ" msgid "Linear gradient" -msgstr "" +msgstr "線形グラデーション" msgid "Radial gradient" -msgstr "" +msgstr "放射状グラデーション" msgid "Open filled path" -msgstr "" +msgstr "塗りつぶしパスを開く" msgid "Undefined stroke type" -msgstr "" +msgstr "未定義のストロークタイプ" msgid "Path can't be healed from selfintersection and multiple points." -msgstr "" +msgstr "自己交差および複数のポイントからパスを修復できません。" msgid "" "Final shape constains selfintersection or multiple points with same " "coordinate." -msgstr "" +msgstr "最終的な形状には、同じ座標を持つ複数の点の自己交差が含まれています。" #, boost-format msgid "Shape is marked as invisible (%1%)." -msgstr "" +msgstr "図形は非表示としてマークされています (%1%)" #. TRN: The first placeholder is shape identifier, the second one is text describing the problem. #, boost-format msgid "Fill of shape (%1%) contains unsupported: %2%." msgstr "" +"形状の塗りつぶし(%1%) にはサポートされていないものが含まれています: %2%" #, boost-format msgid "Stroke of shape (%1%) is too thin (minimal width is %2% mm)." -msgstr "" +msgstr "形状のストローク (%1%) が細すぎます (最小幅は %2% mm)。" #, boost-format msgid "Stroke of shape (%1%) contains unsupported: %2%." msgstr "" +"形状 (%1%) のストロークにサポートされていないものが含まれています: %2%." msgid "Face the camera" -msgstr "" +msgstr "カメラに向ける" #. TRN - Preview of filename after clear local filepath. msgid "Unknown filename" -msgstr "" +msgstr "不明なファイル名" #, boost-format msgid "SVG file path is \"%1%\"" -msgstr "" +msgstr "SVGファイルパス: \"%1%\"" msgid "Reload SVG file from disk." -msgstr "" +msgstr "ディスクからSVGファイルを再読込みします。" msgid "Change file" -msgstr "" +msgstr "ファイル変更" msgid "Change to another .svg file" -msgstr "" +msgstr "別の .svg ファイルに変更します" msgid "Forget the file path" -msgstr "" +msgstr "ファイルパスを忘れる" msgid "" "Do NOT save local path to 3MF file.\n" "Also disables 'reload from disk' option." msgstr "" +"ローカルパスを3MFファイルに保存しない。\n" +"また、'reload from disk' オプションも無効にする。" #. TRN: An menu option to convert the SVG into an unmodifiable model part. msgid "Bake" -msgstr "" +msgstr "焼付け" #. TRN: Tooltip for the menu item. msgid "Bake into model as uneditable part" -msgstr "" +msgstr "編集不可パーツとしてモデルに焼付けする" msgid "Save as" -msgstr "" +msgstr "別名で保存" msgid "Save SVG file" -msgstr "" +msgstr "SVGファイルの保存" msgid "Save as '.svg' file" -msgstr "" +msgstr "'.svg' ファイルとして保存" msgid "Size in emboss direction." -msgstr "" +msgstr "エンボス方向のサイズです。" #. TRN: The placeholder contains a number. #, boost-format msgid "Scale also changes amount of curve samples (%1%)" -msgstr "" +msgstr "スケールによりカーブ サンプル量も変更されます(%1%)" msgid "Width of SVG." -msgstr "" +msgstr "SVGの幅" msgid "Height of SVG." -msgstr "" +msgstr "SVGの高さ" msgid "Lock/unlock the aspect ratio of the SVG." -msgstr "" +msgstr "SVG のアスペクト比をロック/アンロックします。" msgid "Reset scale" -msgstr "" +msgstr "縮尺をリセット" msgid "Distance of the center of the SVG to the model surface." -msgstr "" +msgstr "SVG の中心からモデル表面までの距離。" msgid "Reset distance" -msgstr "" +msgstr "距離をリセット" msgid "Reset rotation" -msgstr "" +msgstr "回転をリセット" msgid "Lock/unlock rotation angle when dragging above the surface." -msgstr "" +msgstr "表面上をドラッグするときの回転角度のロック/アンロック。" msgid "Mirror vertically" -msgstr "" +msgstr "垂直にミラーリング" msgid "Mirror horizontally" -msgstr "" +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 "" +msgstr "SVGタイプ変更" #. TRN - Input label. Be short as possible msgid "Mirror" msgstr "反転" msgid "Choose SVG file for emboss:" -msgstr "" +msgstr "エンボス用の SVG ファイルを選択します:" #, boost-format msgid "File does NOT exist (%1%)." -msgstr "" +msgstr "ファイルが存在しません (%1%)。" #, boost-format msgid "Filename has to end with \".svg\" but you selected %1%" -msgstr "" +msgstr "ファイル名は\".svg\" で終わる必要がありますが、%1%を選択しました" #, boost-format msgid "Nano SVG parser can't load from file (%1%)." -msgstr "" +msgstr "Nano SVG パーサーはファイル(%1%)からロードできません。" #, boost-format msgid "SVG file does NOT contain a single path to be embossed (%1%)." -msgstr "" +msgstr "SVG ファイルには、エンボスされる単一のパス(%1%)が含まれていません。" msgid "Vertex" msgstr "Vertex" @@ -1276,7 +1299,7 @@ msgid "Esc" msgstr "Esc" msgid "Unselect" -msgstr "" +msgstr "選択解除" msgid "Measure" msgstr "Measure" @@ -1449,7 +1472,7 @@ msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "ファイルを選択 (3mf/step/stl/svg/obj/amf)" msgid "Choose ZIP file" -msgstr "" +msgstr "ZIPファイルの選択" msgid "Choose one file (gcode/3mf):" msgstr "" @@ -1522,6 +1545,8 @@ msgid "" "Could not start URL download. Destination folder is not set. Please choose " "destination folder in Configuration Wizard." msgstr "" +"URLのダウンロードを開始できませんでした。保存先フォルダが設定されていません。" +"設定ウィザードで保存先フォルダーを選択してください。" msgid "Import File" msgstr "Import File" @@ -1612,22 +1637,22 @@ msgid "Add support enforcer" msgstr "サポート補強を追加" msgid "Add text" -msgstr "" +msgstr "テキストの追加" msgid "Add negative text" -msgstr "" +msgstr "切取りテキストの追加" msgid "Add text modifier" -msgstr "" +msgstr "テキストモディファイアの追加" msgid "Add SVG part" -msgstr "" +msgstr "SVGパーツ追加" msgid "Add negative SVG" -msgstr "" +msgstr "切取りSVGの追加" msgid "Add SVG modifier" -msgstr "" +msgstr "SVGモディファイアの追加" msgid "Select settings" msgstr "設定を選択" @@ -1689,7 +1714,7 @@ msgid "" msgstr "" msgid "Text" -msgstr "" +msgstr "テキスト" msgid "Height range Modifier" msgstr "Height Range Modifier" @@ -1822,16 +1847,16 @@ msgid "Mirror object" msgstr "オブジェクトを反転" msgid "Edit text" -msgstr "" +msgstr "テキスト編集" msgid "Ability to change text, font, size, ..." -msgstr "" +msgstr "テキスト、フォント、サイズ、...を変更することが可能" msgid "Edit SVG" -msgstr "" +msgstr "SVG編集" msgid "Change SVG source file, projection, size, ..." -msgstr "" +msgstr "SVG ソース ファイル、プロジェクション、サイズなどを変更します。" msgid "Invalidate cut info" msgstr "Invalidate cut info" @@ -2501,13 +2526,13 @@ msgid "Bed filling done." msgstr "Bed filling done." msgid "Searching for optimal orientation" -msgstr "" +msgstr "最適方向を探す" msgid "Orientation search canceled." -msgstr "" +msgstr "オリエンテーション検索がキャンセルされました。" msgid "Orientation found." -msgstr "" +msgstr "オリエンテーションが見つかりました。" msgid "Logging in" msgstr "サインイン中" @@ -3095,7 +3120,7 @@ msgid "Successfully executed post-processing script" msgstr "Successfully executed post-processing script" msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "Gコードのエクスポート中に不明なエラーが発生しました。" #, boost-format msgid "" @@ -3103,6 +3128,9 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"一時的なGコードの出力Gコードへのコピーに失敗しました。 もしかしたらSDカードが" +"書き込みロックされていませんか?\n" +"エラーメッセージ:%1%" #, boost-format msgid "" @@ -3110,28 +3138,37 @@ msgid "" "problem with target device, please try exporting again or using different " "device. The corrupted output G-code is at %1%.tmp." msgstr "" +"一時Gコードの出力Gコードへのコピーに失敗しました。 ターゲットデバイスに問題が" +"ある可能性があります。もう一度エクスポートするか、別のデバイスを使用してみて" +"ください。 破損した出力Gコードは%1%.tmpにあります。" #, 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コードの名前を変更できませんでした。 " +"現在のパスは%1%.tmpです。 もう一度やり直してください。" #, 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コードのコピーは完了しましたが、コピーチェック中に元のGコードの%1%を" +"開くことができませんでした。 出力Gコードは、%2%.tmpです。" #, 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コードのコピーは完了しましたが、コピーチェック中にエクスポートされた" +"Gコードを開くことができませんでした。 出力Gコードは、%1%.tmpです。" #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr "Gコードファイルを%1%にエクスポートしました" msgid "Unknown error when export G-code." msgstr "不明なエラー: G-codeエクスポート" @@ -3803,19 +3840,19 @@ msgstr "デフォルト" #, boost-format msgid "Edit Custom G-code (%1%)" -msgstr "" +msgstr "カスタムG-コードの編集(%1%)" msgid "Built-in placeholders (Double click item to add to G-code)" -msgstr "" +msgstr "組込みプレースホルダー (アイテムをダブルクリックして G コードに追加)" msgid "Search gcode placeholders" msgstr "" msgid "Add selected placeholder to G-code" -msgstr "" +msgstr "選択したプレースホルダーをGコードに追加する" msgid "Select placeholder" -msgstr "" +msgstr "プレースホルダーを選択" msgid "[Global] Slicing State" msgstr "" @@ -3836,17 +3873,17 @@ msgid "Objects Info" msgstr "" msgid "Dimensions" -msgstr "" +msgstr "寸法" msgid "Temperatures" -msgstr "" +msgstr "温度" msgid "Timestamps" -msgstr "" +msgstr "タイムスタンプ" #, boost-format msgid "Specific for %1%" -msgstr "" +msgstr "%1%に固有" msgid "Presets" msgstr "Presets" @@ -3858,7 +3895,7 @@ msgid "Filament settings" msgstr "フィラメント設定" msgid "SLA Materials settings" -msgstr "" +msgstr "SLAマテリアル設定" msgid "Printer settings" msgstr "プリンター設定" @@ -5789,10 +5826,10 @@ msgstr "" "It is recommended to change to smooth mode." msgid "Expand sidebar" -msgstr "" +msgstr "サイドバーを展開" msgid "Collapse sidebar" -msgstr "" +msgstr "サイドバーを折りたたむ" #, c-format, boost-format msgid "Loading file: %s" @@ -6065,7 +6102,7 @@ msgid "" msgstr "" msgid "Import SLA archive" -msgstr "" +msgstr "SLAアーカイブをインポート" msgid "The selected file" msgstr "選択したファイル" @@ -6079,16 +6116,17 @@ msgstr "G-codeファイルの読込みにエラーが発生しました" #. TRN %1% is archive path #, boost-format msgid "Loading of a ZIP archive on path %1% has failed." -msgstr "" +msgstr "パス %1% の ZIP ファイルの読み込みに失敗しました。" #. TRN: First argument = path to file, second argument = error description #, boost-format msgid "Failed to unzip file to %1%: %2%" -msgstr "" +msgstr "ファイルを %1%に解凍できませんでした: %2%" #, boost-format msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." msgstr "" +"%1%で解凍されたファイルが見つかりません。ファイルの解凍に失敗しました。" msgid "Drop project file" msgstr "プロジェクトをドロップ" @@ -6176,15 +6214,20 @@ msgid "" "3MF file?\n" "If you hit 'NO', all SVGs in the project will not be editable any more." msgstr "" +"オリジナルの SVG をローカル パスとともに 3MF ファイルに保存してもよろしいです" +"か?\n" +"「いいえ」を押すと、プロジェクト内のすべての SVG は編集できなくなります。" msgid "Private protection" -msgstr "" +msgstr "プライベートプロテクション" msgid "Is the printer ready? Is the print sheet in place, empty and clean?" msgstr "" +"プリンター準備はできていますか?プリントシートの上は空で、きれいな状態で装着" +"されていますか?" msgid "Upload and Print" -msgstr "" +msgstr "アップロードとプリント" msgid "" "Print By Object: \n" @@ -6361,7 +6404,7 @@ msgid "" msgstr "" msgid "Home" -msgstr "" +msgstr "ホーム" msgid "Default Page" msgstr "" @@ -6392,10 +6435,12 @@ msgstr "" "2D window center." msgid "Use free camera" -msgstr "" +msgstr "フリーカメラを使用" msgid "If enabled, use free camera. If not enabled, use constrained camera." msgstr "" +"チェックすると、フリーカメラが使用されます。 そうでない場合は、拘束カメラを使" +"用します。" msgid "Reverse mouse zoom" msgstr "" @@ -6404,7 +6449,7 @@ msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "" msgid "Show splash screen" -msgstr "" +msgstr "スプラッシュ画面を表示する" msgid "Show the splash screen during startup." msgstr "" @@ -6447,7 +6492,7 @@ msgstr "" "same time and manage multiple devices." msgid "Network" -msgstr "" +msgstr "ネットワーク (&N)" msgid "Auto sync user presets(Printer/Filament/Process)" msgstr "ユーザープリセットの自動同期 (プリンター/フィラメント/プロセス)" @@ -7409,7 +7454,7 @@ msgid "Tree supports" msgstr "" msgid "Skirt" -msgstr "" +msgstr "スカート" msgid "Prime tower" msgstr "プライムタワー" @@ -7570,16 +7615,16 @@ msgid "Multimaterial" msgstr "" msgid "Wipe tower parameters" -msgstr "" +msgstr "ワイプタワーのパラメータ" msgid "Toolchange parameters with single extruder MM printers" -msgstr "" +msgstr "単一エクストルーダーMMプリンターのツールチェンジパラメーター" msgid "Ramming settings" -msgstr "" +msgstr "ラミング設定" msgid "Toolchange parameters with multi extruder MM printers" -msgstr "" +msgstr "マルチエクストルーダーMMプリンターのツールチェンジパラメータ" msgid "Printable space" msgstr "造形可能領域" @@ -7651,10 +7696,10 @@ msgid "Single extruder multimaterial setup" msgstr "" msgid "Wipe tower" -msgstr "" +msgstr "ワイプタワー" msgid "Single extruder multimaterial parameters" -msgstr "" +msgstr "単一エクストルーダーのマルチマテリアルパラメーター" msgid "Layer height limits" msgstr "積層ピッチの制限" @@ -7856,9 +7901,11 @@ msgid "" "Note: New modified presets will be selected in settings tabs after close " "this dialog." msgstr "" +"選択したオプションを左のプリセットから右に転送します。\n" +"注意:このダイアログを閉じた後、新しいプリセットが設定タブで選択されます。" msgid "Transfer values from left to right" -msgstr "" +msgstr "左から右へ値を移す" msgid "" "If enabled, this dialog can be used for transfer selected values from left " @@ -7943,7 +7990,7 @@ msgid "The configuration is up to date." msgstr "構成データが最新です" msgid "Ramming customization" -msgstr "" +msgstr "ラミングのカスタマイズ" msgid "" "Ramming denotes the rapid extrusion just before a tool change in a single-" @@ -7956,21 +8003,30 @@ msgid "" "This is an expert-level setting, incorrect adjustment will likely lead to " "jams, extruder wheel grinding into filament etc." msgstr "" +"ラミングとは、単一エクストルーダーMMプリンターでツールを交換する直前の急速吐" +"出動作を指します。 その目的は、フィラメントを抜く時に新しいフィラメントの挿入" +"を妨げないようにすることと、再挿入のときにエラーにならないよう、フィラメント" +"の先端部を適切なシェイプにすることです。 この処理は重要であり、材料が変わる" +"と、良好な先端形状が得られるラミング条件の変更が必要となったりします。 このた" +"め、ラミング中の吐出速度は調整できるようになっています。\n" +"\n" +"これはエキスパートレベルの設定です。不適切な調整は、ジャムや、ドライブギアが" +"フィラメントを削ったりする可能性があります。" msgid "Total ramming time" -msgstr "" +msgstr "トータルラミング時間" msgid "s" msgstr "s" msgid "Total rammed volume" -msgstr "" +msgstr "合計ラミング容積" msgid "Ramming line width" -msgstr "" +msgstr "ラミング線幅" msgid "Ramming line spacing" -msgstr "" +msgstr "ラミング線間距離" msgid "Auto-Calc" msgstr "自動計算" @@ -8202,13 +8258,13 @@ msgid "Gizmo FDM paint-on seam" msgstr "継ぎ目ペイント" msgid "Gizmo Text emboss / engrave" -msgstr "" +msgstr "ギズモ・テキストのエンボス/エングレーブ" msgid "Zoom in" -msgstr "" +msgstr "ズームイン" msgid "Zoom out" -msgstr "" +msgstr "縮小" msgid "Switch between Prepare/Preview" msgstr "" @@ -8744,18 +8800,22 @@ msgstr "複数の素材の場合、スパイラルモードを使用できませ #, boost-format msgid "The object %1% exceeds the maximum build volume height." -msgstr "" +msgstr "オブジェクト %1% がビルドボリュームの最大高さを超えています。" #, 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 "Variable layer height is not supported with Organic supports." @@ -8841,16 +8901,22 @@ 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 "" +"有機サポート枝の直径は、サポート材の押し出し幅の2倍よりも小さくする必要があり" +"ます。" msgid "" "Organic support branch diameter must not be smaller than support tree tip " "diameter." msgstr "" +"有機サポートの枝の直径は、サポートの幹の先端直径よりも小さい値である必要があ" +"ります。" msgid "" "Support enforcers are used but support is not enabled. Please enable support." @@ -8866,16 +8932,23 @@ msgid "" "each layer to prevent loss of floating point accuracy. Add \"G92 E0\" to " "layer_gcode." msgstr "" +"相対的なエクストルーダーアドレッシングは、浮動小数点精度による損失を防ぐため" +"に、各レイヤーでエクストルーダー位置をリセットする必要があります。layer_gcode" +"に \"G92 E0 \"を追加する。" msgid "" "\"G92 E0\" was found in before_layer_gcode, which is incompatible with " "absolute extruder addressing." msgstr "" +"before_layer_gcode に \"G92 E0\" が見つかりましたが、これはエクストルーダーの" +"絶対アドレッシングと互換性がありません。" msgid "" "\"G92 E0\" was found in layer_gcode, which is incompatible with absolute " "extruder addressing." msgstr "" +"layer_gcode に \"G92 E0\" が見つかりましたが、これはエクストルーダーの絶対ア" +"ドレッシングと互換性がありません。" #, c-format, boost-format msgid "Plate %d: %s does not support filament %s" @@ -9211,7 +9284,7 @@ msgid "" msgstr "" msgid "Everywhere" -msgstr "" +msgstr "どこでも" msgid "Top and bottom surfaces" msgstr "" @@ -9670,7 +9743,7 @@ msgid "" msgstr "" msgid "Disabled" -msgstr "" +msgstr "無効" msgid "Limited filtering" msgstr "" @@ -10075,54 +10148,61 @@ msgid "" msgstr "" msgid "Loading speed" -msgstr "" +msgstr "ローディング速度" msgid "Speed used for loading the filament on the wipe tower." -msgstr "" +msgstr "フィラメントをワイプタワー上でロードする際のスピード。" msgid "Loading speed at the start" -msgstr "" +msgstr "ローディング開始時の速度" msgid "Speed used at the very beginning of loading phase." -msgstr "" +msgstr "ロードし始めの最初のスピード。" msgid "Unloading speed" -msgstr "" +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 "" +msgstr "最初のアンロードスピード" msgid "" "Speed used for unloading the tip of the filament immediately after ramming." -msgstr "" +msgstr "ラミング直後にフィラメントの先端を引き抜く速度。" msgid "Delay after unloading" -msgstr "" +msgstr "アンロードした後の待ち時間" msgid "" "Time to wait after the filament is unloaded. May help to get reliable " "toolchanges with flexible materials that may need more time to shrink to " "original dimensions." msgstr "" +"フィラメントがアンロードされた後に停止する時間。 軟らかい材料などで元の寸法に" +"縮小するのに時間を必要とすると考えられる場合で、信頼性の高いツール交換を行う" +"のに役立ちます。" msgid "Number of cooling moves" -msgstr "" +msgstr "冷却移動回数" msgid "" "Filament is cooled by being moved back and forth in the cooling tubes. " "Specify desired number of these moves." msgstr "" +"フィラメントは、冷却チューブ内で上下に移動することにより冷却されます。 これら" +"の上下移動の必要な回数を指定します。" msgid "Speed of the first cooling move" -msgstr "" +msgstr "冷却移動の最初の速度" msgid "Cooling moves are gradually accelerating beginning at this speed." -msgstr "" +msgstr "クーリング動作はこのスピードから徐々に加速します。" msgid "Minimal purge on wipe tower" msgstr "プライムタワー上最小フラッシュ量" @@ -10136,33 +10216,41 @@ msgid "" msgstr "" msgid "Speed of the last cooling move" -msgstr "" +msgstr "最後の冷却移動の速度" msgid "Cooling moves are gradually accelerating towards this speed." -msgstr "" +msgstr "冷却動作は、この速度に向かって徐々に加速しています。" msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " "filament during a tool change (when executing the T code). This time is " "added to the total print time by the G-code time estimator." msgstr "" +"ツールの変更中(Tコードの実行時)にプリンターファームウェア(またはMulti " +"Material Unit 2.0)が新しいフィラメントをロードする時間。 この時間は、Gコード" +"時間推定プログラムによって合計プリント時間に追加されます。" msgid "Ramming parameters" -msgstr "" +msgstr "ラミングパラメーター" msgid "" "This string is edited by RammingDialog and contains ramming specific " "parameters." msgstr "" +"この文字列はラミングダイアログで編集され、ラミング固有のパラメーターが含まれ" +"ています。" msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " "filament during a tool change (when executing the T code). This time is " "added to the total print time by the G-code time estimator." msgstr "" +"ツールチェンジ中(Tコードの実行時)にプリンターファームウェア(またはMulti " +"Material Unit 2.0)がフィラメントをアンロードする時間。 この時間は、Gコード時" +"間予測プログラムによって合計プリント予測時間に追加されます。" msgid "Enable ramming for multitool setups" -msgstr "" +msgstr "マルチツールのセットアップでラミングを有効にする" msgid "" "Perform ramming when using multitool printer (i.e. when the 'Single Extruder " @@ -10170,18 +10258,23 @@ msgid "" "amount of filament is rapidly extruded on the wipe tower just before the " "toolchange. This option is only used when the wipe tower is enabled." msgstr "" +"マルチツールプリンターを使用しているとき(つまり、プリンター設定の「シングル" +"エクストルーダーマルチマテリアル」のチェックが外れているとき)に、ラミングを" +"実行します。チェックすると、ツール交換の直前に少量のフィラメントがワイプタ" +"ワー上で急速に押し出されます。このオプションは、ワイプタワーが有効な場合にの" +"み使用されます。" msgid "Multitool ramming volume" -msgstr "" +msgstr "マルチツールラミング量" msgid "The volume to be rammed before the toolchange." -msgstr "" +msgstr "ツールチェンジ前にラミングで使用する量" msgid "Multitool ramming flow" -msgstr "" +msgstr "マルチツールラミングフロー" msgid "Flow used for ramming the filament before the toolchange." -msgstr "" +msgstr "ツールチェンジ前のフィラメントのラミングに使うフロー。" msgid "Density" msgstr "密度" @@ -10332,7 +10425,7 @@ msgid "1000 (unlimited)" msgstr "1000 (unlimited)" msgid "Maximum length of the infill anchor" -msgstr "" +msgstr "最長インフィルアンカー" msgid "" "Connect an infill line to an internal perimeter with a short segment of an " @@ -10717,7 +10810,7 @@ msgid "Enable this option if you want to use multiple bed types" msgstr "" msgid "Label objects" -msgstr "" +msgstr "オブジェクトにラベルを付ける" msgid "" "Enable this to add comments into the G-Code labeling print moves with what " @@ -10733,13 +10826,16 @@ msgid "Enable this option to add EXCLUDE OBJECT command in g-code" msgstr "" msgid "Verbose G-code" -msgstr "" +msgstr "コメント付きGコード" 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コードファイルが生成され、各行に説明テキ" +"ストが追加されます。 ただし、SDカードからプリントする場合、ファイルサイズ増大" +"が原因で処理が間に合わずプリント速度が低下する可能性があります。" msgid "Infill combination" msgstr "インフィル マージ" @@ -11064,7 +11160,7 @@ msgid "" msgstr "" msgid "mm³/s²" -msgstr "" +msgstr "mm³/s²" msgid "Smoothing segment length" msgstr "" @@ -11117,12 +11213,14 @@ msgid "Diameter of nozzle" msgstr "ノズル直径" msgid "Configuration notes" -msgstr "" +msgstr "設定上の注意" msgid "" "You can put here your personal notes. This text will be added to the G-code " "header comments." msgstr "" +"ここにメモを書いておくことができます。 このテキストは、Gコードヘッダーのコメ" +"ントに追加されます。" msgid "Host Type" msgstr "ホストタイプ" @@ -11139,36 +11237,43 @@ msgid "Volume of nozzle between the cutter and the end of nozzle" msgstr "ノズル先端とフィラメントカッターの間の体積" msgid "Cooling tube position" -msgstr "" +msgstr "冷却チューブ位置" msgid "Distance of the center-point of the cooling tube from the extruder tip." -msgstr "" +msgstr "ノズル先端から冷却チューブの中心までの距離。" msgid "Cooling tube length" -msgstr "" +msgstr "冷却チューブの長さ" msgid "Length of the cooling tube to limit space for cooling moves inside it." msgstr "" +"ノズルからの溶融樹脂を引抜いた後にフィラメントを凝固させるための冷却用チュー" +"ブの長さ。" msgid "High extruder current on filament swap" -msgstr "" +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 "" +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 "" +msgstr "追加ローディング長さ" msgid "" "When set to zero, the distance the filament is moved from parking position " @@ -11176,6 +11281,9 @@ msgid "" "positive, it is loaded further, if negative, the loading move is shorter " "than unloading." msgstr "" +"ゼロに設定すると、ロード中にフィラメントがパーキング位置から押し出される距離" +"は、アンロード中に戻った距離と同一になります。 正の場合、その分多くロードさ" +"れ、逆に負の場合は、ロード距離はアンロードよりも短くなります。" msgid "Start end points" msgstr "終始点" @@ -11418,7 +11526,7 @@ msgid "Spiral" msgstr "スパイラル" msgid "Only lift Z above" -msgstr "" +msgstr "これ以上でリフトZ" msgid "" "If you set this to a positive value, Z lift will only take place above the " @@ -11426,7 +11534,7 @@ msgid "" msgstr "" msgid "Only lift Z below" -msgstr "" +msgstr "Zリフト以下" msgid "" "If you set this to a positive value, Z lift will only take place below the " @@ -11460,11 +11568,15 @@ 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 "リトラクション速度" @@ -11519,12 +11631,14 @@ msgid "Random" msgstr "ランダム" msgid "Staggered inner seams" -msgstr "" +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 "Seam gap" @@ -11695,7 +11809,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Number of skirt layers: usually only one" msgid "Draft shield" -msgstr "" +msgstr "保護シールド" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -11712,10 +11826,10 @@ msgid "" msgstr "" msgid "Limited" -msgstr "" +msgstr "限定" msgid "Enabled" -msgstr "" +msgstr "有効" msgid "Skirt loops" msgstr "スカートのループ数" @@ -11823,7 +11937,7 @@ msgid "Start G-code when start the printing of this filament" msgstr "このフィラメントを使用開始時のG-code" msgid "Single Extruder Multi Material" -msgstr "" +msgstr "シングルエクストルーダー・マルチマテリアル" msgid "Use single nozzle to print multi filament" msgstr "" @@ -11857,14 +11971,21 @@ msgid "" "print the wipe tower. User is responsible for ensuring there is no collision " "with the print." msgstr "" +"有効にすると、ツール変更がない場合にワイプタワーをプリントしなくなります。 ワ" +"イプタワーの高さが同期しなくなりますので、ツールチェンジのあるレイヤーでは、" +"エクストルーダーがプリント面より下方に移動してワイプタワーをプリントするケー" +"スもあります。 この場合、プリントした部分との衝突がないことをご自身で確認して" +"おく必要があります。" msgid "Prime all printing extruders" -msgstr "" +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 "隙間充填半径" @@ -11898,7 +12019,7 @@ msgid "Close holes" msgstr "穴を閉じる" msgid "Z offset" -msgstr "" +msgstr "Zオフセット" msgid "" "This value will be added (or subtracted) from all the Z coordinates in the " @@ -11906,6 +12027,10 @@ msgid "" "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 "" +"この値は、出力Gコードの全てのZ座標に対して加算/減算されます。これによって Zエ" +"ンドストップの位置を補正できます。例えば、エンドストップで0のとき、実際にはノ" +"ズルがベッド面から0.3mm離れる場合、これを-0.3に設定します(もしくはエンドス" +"トップ位置を修正します)。" msgid "Enable support" msgstr "有効化" @@ -12111,7 +12236,7 @@ msgid "Tree Hybrid" msgstr "ツリーハイブリッド" msgid "Organic" -msgstr "" +msgstr "オーガニック" msgid "Independent support layer height" msgstr "独立サポート層ピッチ" @@ -12145,7 +12270,7 @@ msgstr "" "大きくなると、枝部分が繋がりやすくなります。" msgid "Preferred Branch Angle" -msgstr "" +msgstr "優先の枝アングル" #. TRN PrintSettings: "Organic supports" > "Preferred Branch Angle" msgid "" @@ -12153,6 +12278,8 @@ msgid "" "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 "ツリーサポート枝間隔" @@ -12162,7 +12289,7 @@ msgid "" msgstr "サポートタイプがツリーの時、隣接するノードの距離です。" msgid "Branch Density" -msgstr "" +msgstr "枝の密度" #. TRN PrintSettings: "Organic supports" > "Branch Density" msgid "" @@ -12172,6 +12299,10 @@ msgid "" "interfaces instead of a high branch density value if dense interfaces are " "needed." msgstr "" +"枝の先端を生成するために使用されるサポート構造の密度を調整します。高い値を設" +"定するとオーバーハングが良くなりますが、サポートの除去が困難になるため、密度" +"の高いインターフェースが必要な場合は、枝密度を高めるのではなく、トップサポー" +"トのインターフェースを有効にすることをお勧めします。" msgid "Adaptive layer height" msgstr "アダプティブ積層ピッチ" @@ -12196,11 +12327,11 @@ msgid "Distance from tree branch to the outermost brim line" msgstr "" msgid "Tip Diameter" -msgstr "" +msgstr "先端径" #. TRN PrintSettings: "Organic supports" > "Tip Diameter" msgid "Branch tip diameter for organic supports." -msgstr "" +msgstr "オーガニックサポート時の枝先径。" msgid "Tree support branch diameter" msgstr "ツリーサポート枝直径" @@ -12210,7 +12341,7 @@ msgstr "サポートノードの初期直径です。" #. TRN PrintSettings: #lmFIXME msgid "Branch Diameter Angle" -msgstr "" +msgstr "枝径アングル" #. TRN PrintSettings: "Organic supports" > "Branch Diameter Angle" msgid "" @@ -12219,9 +12350,12 @@ msgid "" "over their length. A bit of an angle can increase stability of the organic " "support." msgstr "" +"枝の直径が、下に向かって徐々に太くなっていくときの角度です。角度が0だと、枝の" +"太さが一定になります。少し角度をつけると、オーガニックサポートの安定性が増し" +"ます。" msgid "Branch Diameter with double walls" -msgstr "" +msgstr "二重ウォール枝径" #. TRN PrintSettings: "Organic supports" > "Branch Diameter" msgid "" @@ -12229,6 +12363,9 @@ msgid "" "printed with double walls for stability. Set this value to zero for no " "double walls." msgstr "" +"この直径の円の面積よりも大きな面積を持つ枝は、安定性向上のためために二重" +"ウォールでプリントされます。 二重ウォールにしないときは、この値をゼロに設定し" +"ます。" msgid "Support wall loops" msgstr "Support wall loops" @@ -12388,24 +12525,26 @@ msgid "Width of prime tower" msgstr "プライムタワーの幅です。" msgid "Wipe tower rotation angle" -msgstr "" +msgstr "ワイプタワーの回転角" msgid "Wipe tower rotation angle with respect to x-axis." -msgstr "" +msgstr "x軸に対するワイプタワーの回転角度。" msgid "Stabilization cone apex angle" -msgstr "" +msgstr "スタビライザーコーンの頂角" msgid "" "Angle at the apex of the cone that is used to stabilize the wipe tower. " "Larger angle means wider base." msgstr "" +"ワイプタワーを安定させるために使用される円錐の頂点の角度。角度が大きいと底面" +"が広くなります。" msgid "Wipe tower purge lines spacing" -msgstr "" +msgstr "ワイプタワーのパージラインの間隔" msgid "Spacing of purge lines on the wipe tower." -msgstr "" +msgstr "ワイプタワーのパージラインの間隔。" msgid "Maximum wipe tower print speed" msgstr "" @@ -12433,21 +12572,26 @@ msgid "" msgstr "" msgid "Wipe tower extruder" -msgstr "" +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 "" +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 "" "Purging after filament change will be done inside objects' infills. This may " @@ -12477,10 +12621,10 @@ msgstr "" "無効になります。" msgid "Maximal bridging distance" -msgstr "" +msgstr "ブリッジ最大距離" msgid "Maximal distance between supports on sparse infill sections." -msgstr "" +msgstr "中抜きインフィルレイヤーの間隔の最大値。" msgid "X-Y hole compensation" msgstr "ホール補正 X-Y" @@ -12534,7 +12678,7 @@ msgid "Rotate the polyhole every layer." msgstr "" msgid "G-code thumbnails" -msgstr "" +msgstr "Gコードのサムネイル" msgid "" "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the " @@ -12542,12 +12686,14 @@ msgid "" msgstr "" msgid "Format of G-code thumbnails" -msgstr "" +msgstr "Gコードサムネイルのフォーマット" msgid "" "Format of G-code thumbnails: PNG for best quality, JPG for smallest size, " "QOI for low memory firmware" msgstr "" +"Gコードサムネイルのフォーマット。PNGは最高の品質、JPGは最小のサイズ、QOIは低" +"メモリのファームウェアのため" msgid "Use relative E distances" msgstr "Use relative E distances" @@ -12713,7 +12859,7 @@ msgid "Do not run any validity checks, such as gcode path conflicts check." msgstr "Do not run any validity checks, such as G-code path conflicts check." msgid "Ensure on bed" -msgstr "" +msgstr "ベッド上で確認" msgid "" "Lift the object above the bed when it is partially below. Disabled by default" @@ -12726,22 +12872,24 @@ msgid "Orient options: 0-disable, 1-enable, others-auto" msgstr "" msgid "Rotation angle around the Z axis in degrees." -msgstr "" +msgstr "Z軸周りの回転角度(度)。" msgid "Rotate around Y" -msgstr "" +msgstr "Y軸周りの回転" msgid "Rotation angle around the Y axis in degrees." -msgstr "" +msgstr "Y軸を中心とした回転角(度単位)。" msgid "Data directory" -msgstr "" +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 "Load custom gcode" msgstr "" @@ -12750,91 +12898,105 @@ msgid "Load custom gcode from json" msgstr "" msgid "Current z-hop" -msgstr "" +msgstr "現在のz-hop" msgid "Contains z-hop present at the beginning of the custom G-code block." -msgstr "" +msgstr "カスタムGコードブロックの先頭に存在するz-hopを含む。" 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 " "PrusaSlicer knows where it travels from when it gets control back." msgstr "" +"カスタム G コード ブロックの先頭のエクストルーダーのモーターの位置。 カスタ" +"ム G コードで動かしたとき、PrusaSlicer が制御を取り戻したときにどこから移動し" +"たかを認識できるように、この変数に書き込む必要があります。" 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 " "PrusaSlicer deretracts correctly when it gets control back." msgstr "" +"カスタム G コード ブロックの先頭のリトラクション状態。 カスタム G コードがエ" +"クストルーダー軸を動かすとき、PrusaSlicer が制御を取り戻したときに正しく撤回" +"できるように、この変数に書き込む必要があります。" msgid "Extra deretraction" -msgstr "" +msgstr "追加リトラクションからの復帰" msgid "Currently planned extra extruder priming after deretraction." msgstr "" +"現在、リトラクションからの復帰時のエクストルーダーの追加プライミングが計画さ" +"れています。" msgid "Current extruder" -msgstr "" +msgstr "現在のエクストルーダー" msgid "Zero-based index of currently used extruder." -msgstr "" +msgstr "現在使用されているエクストルーダーの 0 から始まるインデックス。" msgid "Current object index" -msgstr "" +msgstr "現在のオブジェクトインデックス" msgid "" "Specific for sequential printing. Zero-based index of currently printed " "object." msgstr "" +"順次プリントに特化したものです。 現在プリントされているオブジェクトの 0 から" +"始まるインデックス。" msgid "Has wipe tower" -msgstr "" +msgstr "ワイプタワーあり" msgid "Whether or not wipe tower is being generated in the print." -msgstr "" +msgstr "プリント時にワイプタワーが生成されているかどうか。" msgid "Initial extruder" -msgstr "" +msgstr "イニシャルエクストルーダー" msgid "" "Zero-based index of the first extruder used in the print. Same as " "initial_tool." msgstr "" +"プリントで使用される最初のエクストルーダーの 0 から始まるインデックス。 " +"initial_toolと同じ。" msgid "Initial tool" -msgstr "" +msgstr "イニシャルツール" msgid "" "Zero-based index of the first extruder used in the print. Same as " "initial_extruder." msgstr "" +"プリントで使用される最初のエクストルーダーの 0 から始まるインデックス。 " +"Initial_extruder と同じです。" msgid "Is extruder used?" -msgstr "" +msgstr "エクストルーダーは使用されましたか?" msgid "Vector of bools stating whether a given extruder is used in the print." msgstr "" msgid "Volume per extruder" -msgstr "" +msgstr "エクストルーダーあたりの体積" msgid "Total filament volume extruded per extruder during the entire print." -msgstr "" +msgstr "プリント全体でエクストルーダーごとに押し出されたフィラメントの総量。" msgid "Total toolchanges" msgstr "" msgid "Number of toolchanges during the print." -msgstr "" +msgstr "プリント中のツール交換の数。" msgid "Total volume" -msgstr "" +msgstr "トータル体積" msgid "Total volume of filament used during the entire print." -msgstr "" +msgstr "プリント全体で使用されるフィラメントの総量。" msgid "Weight per extruder" -msgstr "" +msgstr "エクストルーダーあたりの重量" msgid "" "Weight per extruder extruded during the entire print. Calculated from " @@ -12842,7 +13004,7 @@ msgid "" msgstr "" msgid "Total weight" -msgstr "" +msgstr "トータル重量" msgid "" "Total weight of the print. Calculated from filament_density value in " @@ -12850,25 +13012,26 @@ msgid "" msgstr "" msgid "Total layer count" -msgstr "" +msgstr "トータルレイヤー数" msgid "Number of layers in the entire print." -msgstr "" +msgstr "全てのプリントのレイヤー数" msgid "Number of objects" -msgstr "" +msgstr "オブジェクト数" msgid "Total number of objects in the print." -msgstr "" +msgstr "プリント中のオブジェクトの総数" msgid "Number of instances" -msgstr "" +msgstr "インスタンス数" msgid "Total number of object instances in the print, summed over all objects." msgstr "" +"すべてのオブジェクトを合計した、プリント内のオブジェクト インスタンスの総数。" msgid "Scale per object" -msgstr "" +msgstr "オブジェクトごとのスケール" msgid "" "Contains a string with the information about what scaling was applied to the " @@ -12878,22 +13041,26 @@ msgid "" msgstr "" msgid "Input filename without extension" -msgstr "" +msgstr "拡張子を除いたファイル名を入力。" msgid "Source filename of the first object, without extension." -msgstr "" +msgstr "最初のオブジェクトのソース ファイル名(拡張子を除く)。" msgid "" "The vector has two elements: x and y coordinate of the point. Values in mm." msgstr "" +"ベクトルには、点の x 座標と y 座標という 2 つの要素があります。 値は mm 単位" +"です。" msgid "" "The vector has two elements: x and y dimension of the bounding box. Values " "in mm." msgstr "" +"ベクトルには、境界ボックスの x 次元と y 次元という 2 つの要素があります。 値" +"は mm 単位です。" msgid "First layer convex hull" -msgstr "" +msgstr "第 1 層の凸包(convex hull)" msgid "" "Vector of points of the first layer convex hull. Each element has the " @@ -12901,66 +13068,68 @@ msgid "" msgstr "" msgid "Bottom-left corner of first layer bounding box" -msgstr "" +msgstr "最初のレイヤーの境界ボックスの左下隅" msgid "Top-right corner of first layer bounding box" -msgstr "" +msgstr "最初のレイヤーの境界ボックスの右上隅" msgid "Size of the first layer bounding box" -msgstr "" +msgstr "最初のレイヤーの境界ボックスのサイズ" msgid "Bottom-left corner of print bed bounding box" -msgstr "" +msgstr "プリント ベッド境界ボックスの左下隅" msgid "Top-right corner of print bed bounding box" -msgstr "" +msgstr "プリント ベッド境界ボックスの右上隅" msgid "Size of the print bed bounding box" -msgstr "" +msgstr "プリントベッド境界ボックスのサイズ" msgid "Timestamp" -msgstr "" +msgstr "タイムスタンプ" msgid "String containing current time in yyyyMMdd-hhmmss format." -msgstr "" +msgstr "yyyyMMdd-hhmmss形式の現在時刻を表す文字列。" msgid "Day" -msgstr "" +msgstr "日" msgid "Hour" -msgstr "" +msgstr "時" msgid "Minute" -msgstr "" +msgstr "分" msgid "Print preset name" -msgstr "" +msgstr "プリセット名をプリント" msgid "Name of the print preset used for slicing." -msgstr "" +msgstr "スライスに使用されるプリントプリセットの名前。" msgid "Filament preset name" -msgstr "" +msgstr "フィラメントのプリセット名" msgid "" "Names of the filament presets used for slicing. The variable is a vector " "containing one name for each extruder." msgstr "" +"スライスに使用されるフィラメント プリセットの名前。 変数は、各エクストルー" +"ダーの 1 つの名前を含むベクトルです。" msgid "Printer preset name" -msgstr "" +msgstr "プリンタのプリセット名" msgid "Name of the printer preset used for slicing." -msgstr "" +msgstr "スライスに使用されるプリンタ プリセットの名前。" msgid "Physical printer name" -msgstr "" +msgstr "物理プリンター名" msgid "Name of the physical printer used for slicing." -msgstr "" +msgstr "スライスに使用される物理プリンターの名前。" msgid "Layer number" -msgstr "" +msgstr "レイヤーナンバー" msgid "Index of the current layer. One-based (i.e. first layer is number 1)." msgstr "" @@ -12971,13 +13140,13 @@ msgstr "" msgid "" "Height of the current layer above the print bed, measured to the top of the " "layer." -msgstr "" +msgstr "プリント ベッド上の現在のレイヤーの高さ (レイヤーの最上部までの計測)。" msgid "Maximal layer z" msgstr "" msgid "Height of the last layer above the print bed." -msgstr "" +msgstr "プリントベッド上の最後のレイヤーの高さ。" msgid "Filament extruder ID" msgstr "" @@ -13674,13 +13843,15 @@ msgid "Finished" msgstr "完了" msgid "Multiple resolved IP addresses" -msgstr "" +msgstr "IPアドレスの複数割当て" #, boost-format msgid "" "There are several IP addresses resolving to hostname %1%.\n" "Please select one that should be used." msgstr "" +"ホスト名%1%には、いくつかのIPアドレスがあります。\n" +"使用するIPアドレスを1つ選んでください。" msgid "PA Calibration" msgstr "PA Calibration" @@ -13811,7 +13982,7 @@ msgid "mm/mm" msgstr "mm/mm" msgid "Send G-Code to printer host" -msgstr "" +msgstr "プリンターサーバーにGコードを送信" msgid "Upload to Printer Host with the following filename:" msgstr "Upload to Printer Host with the following filename:" @@ -13820,7 +13991,7 @@ msgid "Use forward slashes ( / ) as a directory separator if needed." msgstr "Use forward slashes ( / ) as a directory separator if needed." msgid "Upload to storage" -msgstr "" +msgstr "ストレージへのアップロード" #, c-format, boost-format msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?" @@ -13864,7 +14035,7 @@ msgid "Cancelling" msgstr "Canceling" msgid "Error uploading to print host" -msgstr "" +msgstr "プリントホストへのアップロードに失敗" msgid "Unable to perform boolean operation on selected parts" msgstr "Unable to perform boolean operation on selected parts" @@ -14588,28 +14759,29 @@ msgid "Could not connect to PrusaLink" msgstr "Could not connect to PrusaLink" msgid "Storages found" -msgstr "" +msgstr "ストレージが見つかりました" #. TRN %1% = storage path #, boost-format msgid "%1% : read only" -msgstr "" +msgstr "%1% : 読込のみ" #. TRN %1% = storage path #, boost-format msgid "%1% : no free space" -msgstr "" +msgstr "%1% : 十分な空きがありません" #. TRN %1% = host #, boost-format msgid "Upload has failed. There is no suitable storage found at %1%." msgstr "" +"アップロードに失敗しました。%1%に適切なストレージが見つかりませんでした。" msgid "Connection to Prusa Connect works correctly." -msgstr "" +msgstr "Prusa コネクトに接続しました。" msgid "Could not connect to Prusa Connect" -msgstr "" +msgstr "Prusaコネクトに接続できませんでした" msgid "Connection to Repetier works correctly." msgstr "Connection to Repetier is working correctly." diff --git a/localization/i18n/ko/OrcaSlicer_ko.po b/localization/i18n/ko/OrcaSlicer_ko.po index 715f5f53b34..0f3476e6e3a 100644 --- a/localization/i18n/ko/OrcaSlicer_ko.po +++ b/localization/i18n/ko/OrcaSlicer_ko.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: 2024-05-01 04:51+0900\n" "Last-Translator: Hotsolidinfill <138652683+Hotsolidinfill@users.noreply." "github.com>, crwusiz \n" diff --git a/localization/i18n/nl/OrcaSlicer_nl.po b/localization/i18n/nl/OrcaSlicer_nl.po index 40d3fd558d3..36b6496dc49 100644 --- a/localization/i18n/nl/OrcaSlicer_nl.po +++ b/localization/i18n/nl/OrcaSlicer_nl.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -100,7 +100,7 @@ msgid "Support Generated" msgstr "Ondersteuning gegenereerd" msgid "Gizmo-Place on Face" -msgstr "" +msgstr "Plaats op vlak" msgid "Lay on face" msgstr "Op deze zijde neerleggen." @@ -182,13 +182,13 @@ msgid "Move" msgstr "Verplaats" msgid "Gizmo-Move" -msgstr "" +msgstr "Verplaatsen" msgid "Rotate" msgstr "Draai" msgid "Gizmo-Rotate" -msgstr "" +msgstr "Roteren" msgid "Optimize orientation" msgstr "Oriëntatie optimaliseren" @@ -200,7 +200,7 @@ msgid "Scale" msgstr "Schalen" msgid "Gizmo-Scale" -msgstr "" +msgstr "Verschalen" msgid "Error: Please close all toolbar menus first" msgstr "Fout: sluit eerst alle openstaande hulpmiddelmenu's" @@ -516,7 +516,7 @@ msgid "Connector" msgstr "Verbinding" msgid "Cut by Plane" -msgstr "" +msgstr "Snij met behulp van vlak" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" msgstr "" @@ -675,7 +675,7 @@ msgid "Text move" msgstr "" msgid "Set Mirror" -msgstr "" +msgstr "Stel spiegeling in" msgid "Embossed text" msgstr "" @@ -711,7 +711,7 @@ msgid "First font" msgstr "" msgid "Default font" -msgstr "" +msgstr "Standaard lettertype" msgid "Advanced" msgstr "Geavanceerd" @@ -763,6 +763,7 @@ msgstr "" msgid "You can't change a type of the last solid part of the object." msgstr "" +"U kunt het type van het laatste onderdeel van een object niet wijzigen." msgctxt "EmbossOperation" msgid "Cut" @@ -1023,7 +1024,7 @@ msgstr "" #. TRN - Input label. Be short as possible #. Align Top|Middle|Bottom and Left|Center|Right msgid "Alignment" -msgstr "" +msgstr "Uitlijning" #. TRN - Input label. Be short as possible msgid "Char gap" @@ -1079,7 +1080,7 @@ msgid "SVG actions" msgstr "" msgid "SVG" -msgstr "" +msgstr "SVG" #, boost-format msgid "Opacity (%1%)" @@ -1166,7 +1167,7 @@ msgid "Bake into model as uneditable part" msgstr "" msgid "Save as" -msgstr "" +msgstr "Opslaan Als" msgid "Save SVG file" msgstr "" @@ -1192,7 +1193,7 @@ msgid "Lock/unlock the aspect ratio of the SVG." msgstr "" msgid "Reset scale" -msgstr "" +msgstr "Reset verschaling" msgid "Distance of the center of the SVG to the model surface." msgstr "" @@ -1201,16 +1202,16 @@ msgid "Reset distance" msgstr "" msgid "Reset rotation" -msgstr "" +msgstr "Reset rotatie" msgid "Lock/unlock rotation angle when dragging above the surface." msgstr "" msgid "Mirror vertically" -msgstr "" +msgstr "Verticaal spiegelen" msgid "Mirror horizontally" -msgstr "" +msgstr "Spiegel horizontaal" #. 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" @@ -2554,13 +2555,13 @@ msgid "Bed filling done." msgstr "Bed filling done." msgid "Searching for optimal orientation" -msgstr "" +msgstr "Zoeken naar optimale oriëntatie" msgid "Orientation search canceled." -msgstr "" +msgstr "Oriëntatie zoeken geannuleerd." msgid "Orientation found." -msgstr "" +msgstr "Oriëntatie gevonden." msgid "Logging in" msgstr "Bezig met inloggen" @@ -3180,7 +3181,7 @@ msgid "Successfully executed post-processing script" msgstr "Successfully executed post-processing script" msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "Onbekende fout opgetreden tijdens exporteren van de G-code." #, boost-format msgid "" @@ -3188,6 +3189,9 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"Fout bij het exporteren naar output-G-code. Is de SD-kaart geblokkeerd tegen " +"schrijven?\n" +"Foutbericht: %1%" #, boost-format msgid "" @@ -3195,28 +3199,37 @@ msgid "" "problem with target device, please try exporting again or using different " "device. The corrupted output G-code is at %1%.tmp." msgstr "" +"Fout bij het exporteren naar output-G-code. Het probleem ligt mogelijk bij " +"het doelapparaat. Probeer het opnieuw te exporteren of gebruik een ander " +"apparat. De beschadigde G-code is opgeslagen als %1%.tmp." #, 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 "" +"Fout bij het exporteren naar output-G-code. Hernoemen van het bestand " +"mislukt. Huidige locatie is %1%.tmp. Probeer opnieuw te exporteren." #, 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 "" +"Fout bij het exporteren naar output-G-code. Exporteren gelukt, maar kan het " +"bestand %1% niet openen om te controleren. De output is %2%.tmp." #, 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 "" +"Fout bij het exporteren naar output-G-code. Exporteren gelukt, maar kan het " +"bestand niet openen om te controleren. De output is %1%.tmp." #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr ".gcode-bestand geëxporteerd naar %1%" msgid "Unknown error when export G-code." msgstr "Onbekende fout tijdens het exporteren van de G-code" @@ -3950,7 +3963,7 @@ msgid "Dimensions" msgstr "" msgid "Temperatures" -msgstr "" +msgstr "Temperaturen" msgid "Timestamps" msgstr "" @@ -5941,10 +5954,10 @@ msgstr "" "vloeiende modus." msgid "Expand sidebar" -msgstr "" +msgstr "Zijbalk uitklappen" msgid "Collapse sidebar" -msgstr "" +msgstr "Zijbalk inklappen" #, c-format, boost-format msgid "Loading file: %s" @@ -6232,7 +6245,7 @@ msgid "" msgstr "" msgid "Import SLA archive" -msgstr "" +msgstr "Importeer SLA-archief" msgid "The selected file" msgstr "Het geselecteerde bestand" @@ -6354,7 +6367,7 @@ msgid "Is the printer ready? Is the print sheet in place, empty and clean?" msgstr "" msgid "Upload and Print" -msgstr "" +msgstr "Upload en print" msgid "" "Print By Object: \n" @@ -6534,7 +6547,7 @@ msgid "" msgstr "" msgid "Home" -msgstr "" +msgstr "Thuis" msgid "Default Page" msgstr "" @@ -6565,10 +6578,12 @@ msgstr "" "2D window center." msgid "Use free camera" -msgstr "" +msgstr "Gebruik vrij beweegbare camera" msgid "If enabled, use free camera. If not enabled, use constrained camera." msgstr "" +"Als dit is ingeschakeld wordt de vrij beweegbare camera gebruikt, anders een " +"vaste camera." msgid "Reverse mouse zoom" msgstr "" @@ -6577,7 +6592,7 @@ msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "" msgid "Show splash screen" -msgstr "" +msgstr "Toon startscherm" msgid "Show the splash screen during startup." msgstr "" @@ -6624,7 +6639,7 @@ msgstr "" "same time and manage multiple devices." msgid "Network" -msgstr "" +msgstr "Netwerk" msgid "Auto sync user presets(Printer/Filament/Process)" msgstr "" @@ -7642,7 +7657,7 @@ msgid "Tree supports" msgstr "" msgid "Skirt" -msgstr "" +msgstr "Skirt" msgid "Prime tower" msgstr "Prime toren" @@ -7815,13 +7830,13 @@ msgid "Multimaterial" msgstr "" msgid "Wipe tower parameters" -msgstr "" +msgstr "Afveegblokparameters" msgid "Toolchange parameters with single extruder MM printers" -msgstr "" +msgstr "Toolwisselparameter voor multi-materialprinters met één extruder" msgid "Ramming settings" -msgstr "" +msgstr "Ramming-instellingen" msgid "Toolchange parameters with multi extruder MM printers" msgstr "" @@ -7896,10 +7911,10 @@ msgid "Single extruder multimaterial setup" msgstr "" msgid "Wipe tower" -msgstr "" +msgstr "Afveegblok" msgid "Single extruder multimaterial parameters" -msgstr "" +msgstr "Parameter voor multi-material met één extruder" msgid "Layer height limits" msgstr "Limieten voor laaghoogte" @@ -8206,7 +8221,7 @@ msgid "The configuration is up to date." msgstr "De configuratie is up to date." msgid "Ramming customization" -msgstr "" +msgstr "Ramming aanpassen" msgid "" "Ramming denotes the rapid extrusion just before a tool change in a single-" @@ -8219,21 +8234,31 @@ msgid "" "This is an expert-level setting, incorrect adjustment will likely lead to " "jams, extruder wheel grinding into filament etc." msgstr "" +"Ramming wordt gebruikt voor het snel extruderen vlak voor een toolwisseling " +"bij multi-materialprinters met één extruder. Het doel daarvan is om het " +"einde van het ongeladen filament goed te vormen (zodat het later weer " +"geladen kan worden) en nieuw filament niet verhinderd wordt. Deze fase is " +"belangrijk. Verschillende materialen vereisen verschillende " +"extrusiesnelheden voor de juiste vorm. Daarom zijn de waarden tijdens de " +"ramming aan te passen.\n" +"\n" +"Dit is een expert-level instelling. Onjuiste aanpassingen kunnen zorgen voor " +"verstoppingen en andere problemen." msgid "Total ramming time" -msgstr "" +msgstr "Totale ramming-tijd" msgid "s" msgstr "s" msgid "Total rammed volume" -msgstr "" +msgstr "Totaal ramming-volume" msgid "Ramming line width" -msgstr "" +msgstr "Lijnbreedte voor ramming" msgid "Ramming line spacing" -msgstr "" +msgstr "Lijnafstand voor ramming" msgid "Auto-Calc" msgstr "Automatisch berekenen" @@ -8474,10 +8499,10 @@ msgid "Gizmo Text emboss / engrave" msgstr "" msgid "Zoom in" -msgstr "" +msgstr "Zoom in" msgid "Zoom out" -msgstr "" +msgstr "Zoom uit" msgid "Switch between Prepare/Preview" msgstr "" @@ -9171,16 +9196,23 @@ msgid "" "each layer to prevent loss of floating point accuracy. Add \"G92 E0\" to " "layer_gcode." msgstr "" +"Relatieve extruderwaarden vereist het resetten van de extruderpositie op " +"elke laag om decimale onnauwkeurigheid te voorkomen. Voeg \"G92 E0\" toe aan " +"layer_gcode." msgid "" "\"G92 E0\" was found in before_layer_gcode, which is incompatible with " "absolute extruder addressing." msgstr "" +"\"G92 E0\" gevonden in before_layer_gcode, wat niet compatibel is met " +"absolute positionering." msgid "" "\"G92 E0\" was found in layer_gcode, which is incompatible with absolute " "extruder addressing." msgstr "" +"\"G92 E0\" gevonden in layer_gcode, wat niet compatibel is met absolute " +"positionering." #, c-format, boost-format msgid "Plate %d: %s does not support filament %s" @@ -9548,7 +9580,7 @@ msgid "" msgstr "" msgid "Everywhere" -msgstr "" +msgstr "Overal" msgid "Top and bottom surfaces" msgstr "" @@ -10025,7 +10057,7 @@ msgid "" msgstr "" msgid "Disabled" -msgstr "" +msgstr "Uit" msgid "Limited filtering" msgstr "" @@ -10447,54 +10479,64 @@ msgid "" msgstr "" msgid "Loading speed" -msgstr "" +msgstr "Laadsnelheid" msgid "Speed used for loading the filament on the wipe tower." -msgstr "" +msgstr "Snelheid die gebruikt wordt voor het afveegblok." msgid "Loading speed at the start" -msgstr "" +msgstr "Laadsnelheid aan het begin" msgid "Speed used at the very beginning of loading phase." -msgstr "" +msgstr "Snelheid die gebruikt wordt aan het begin van de laadfase." msgid "Unloading speed" -msgstr "" +msgstr "Ontlaadsnelheid" msgid "" "Speed used for unloading the filament on the wipe tower (does not affect " "initial part of unloading just after ramming)." msgstr "" +"Snelheid die gebruikt wordt voor het ontladen van het afveegblok (heeft geen " +"effect op het initiële onderdeel van het ontladen direct na de ramming)." msgid "Unloading speed at the start" -msgstr "" +msgstr "Ontlaadsnelheid in het begin" msgid "" "Speed used for unloading the tip of the filament immediately after ramming." msgstr "" +"Snelheid die gebruikt wordt voor het ontladen van het filament direct na de " +"ramming." msgid "Delay after unloading" -msgstr "" +msgstr "Vertraging na het ontladen" msgid "" "Time to wait after the filament is unloaded. May help to get reliable " "toolchanges with flexible materials that may need more time to shrink to " "original dimensions." msgstr "" +"Wachttijd voor het ontladen van het filament. Dit kan helpen om betrouwbare " +"toolwisselingen te krijgen met flexibele materialen die meer tijd nodig " +"hebben om te krimpen naar de originele afmetingen." msgid "Number of cooling moves" -msgstr "" +msgstr "Aantal koelbewegingen" msgid "" "Filament is cooled by being moved back and forth in the cooling tubes. " "Specify desired number of these moves." msgstr "" +"Het filament wordt gekoeld tijdens het terug en voorwaarts bewegen in de " +"koelbuis. Specificeer het benodigd aantal bewegingen." msgid "Speed of the first cooling move" -msgstr "" +msgstr "Snelheid voor de eerste koelbeweging" msgid "Cooling moves are gradually accelerating beginning at this speed." msgstr "" +"Koelbewegingen worden gelijkmatig versneld, beginnend vanaf deze snelheid." msgid "Minimal purge on wipe tower" msgstr "Minimale filament reiniging op de wipe tower" @@ -10508,30 +10550,38 @@ msgid "" msgstr "" msgid "Speed of the last cooling move" -msgstr "" +msgstr "Snelheid voor de laatste koelbeweging" msgid "Cooling moves are gradually accelerating towards this speed." -msgstr "" +msgstr "Koelbewegingen versnellen gelijkmatig tot aan deze snelheid." msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " "filament during a tool change (when executing the T code). This time is " "added to the total print time by the G-code time estimator." msgstr "" +"Tijd voor de printerfirmware (of de MMU 2.0) om nieuw filament te laden " +"tijdens een toolwissel (tijdens het uitvoeren van de T-code). Deze tijd " +"wordt toegevoegd aan de totale printtijd in de tijdsschatting." msgid "Ramming parameters" -msgstr "" +msgstr "Rammingparameters" msgid "" "This string is edited by RammingDialog and contains ramming specific " "parameters." msgstr "" +"Deze frase is bewerkt door het Rammingdialoog en bevat parameters voor de " +"ramming." msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " "filament during a tool change (when executing the T code). This time is " "added to the total print time by the G-code time estimator." msgstr "" +"Tijd voor de printerfirmware (of de MMU 2.0) om filament te ontladen tijdens " +"een toolwissel (tijdens het uitvoeren van de T-code). Deze tijd wordt " +"toegevoegd aan de totale printtijd in de tijdsschatting." msgid "Enable ramming for multitool setups" msgstr "" @@ -10710,7 +10760,7 @@ msgid "1000 (unlimited)" msgstr "1000 (unlimited)" msgid "Maximum length of the infill anchor" -msgstr "" +msgstr "Maximale lengte van de vullingsbevestiging" msgid "" "Connect an infill line to an internal perimeter with a short segment of an " @@ -11117,7 +11167,7 @@ msgid "Enable this option if you want to use multiple bed types" msgstr "" msgid "Label objects" -msgstr "" +msgstr "Label objecten" msgid "" "Enable this to add comments into the G-Code labeling print moves with what " @@ -11133,13 +11183,16 @@ msgid "Enable this option to add EXCLUDE OBJECT command in g-code" msgstr "" msgid "Verbose G-code" -msgstr "" +msgstr "Opmerkingen in 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 "" +"Sta dit toe om een G-code met opmerkingen te genereren. Bij elk blok " +"commando's wordt een opmerking geplaatst. Als u print vanaf een SD-kaart, " +"kan de extra grootte van het bestand de firmware vertragen." msgid "Infill combination" msgstr "Vulling (infill) combinatie" @@ -11477,7 +11530,7 @@ msgid "" msgstr "" msgid "mm³/s²" -msgstr "" +msgstr "mm³/s²" msgid "Smoothing segment length" msgstr "" @@ -11530,12 +11583,14 @@ msgid "Diameter of nozzle" msgstr "Diameter van de nozzle" msgid "Configuration notes" -msgstr "" +msgstr "Configuratie-opmerkingen" msgid "" "You can put here your personal notes. This text will be added to the G-code " "header comments." msgstr "" +"Hier kunt u eigen opmerkingen plaatsen. Deze tekst wordt bovenin de G-code " +"toegevoegd." msgid "Host Type" msgstr "Hosttype" @@ -11555,36 +11610,44 @@ msgstr "" "Volume van de nozzle tussen de filamentsnijder en het uiteinde van de nozzle" msgid "Cooling tube position" -msgstr "" +msgstr "Koelbuispositie" msgid "Distance of the center-point of the cooling tube from the extruder tip." -msgstr "" +msgstr "Afstand vanaf de nozzle tot het middelpunt van de koelbuis." msgid "Cooling tube length" -msgstr "" +msgstr "Koelbuislengte" msgid "Length of the cooling tube to limit space for cooling moves inside it." msgstr "" +"Lengte van de koelbuis om de ruimte voor koelbewegingen daarin te beperken." msgid "High extruder current on filament swap" -msgstr "" +msgstr "Hoge stroomsterkte bij extruder voor filamentwissel" 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 "" +"Het kan nuttig zijn om de stroomsterkte van de extrudermotor te verhogen " +"tijdens het uitvoeren van de filamentwisseling om snelle ramming mogelijk te " +"maken en om weerstand te overwinnen tijdens het laden van filament met een " +"misvormde kop." msgid "Filament parking position" -msgstr "" +msgstr "Filament parkeerpositie" 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 "" +"Afstand van de nozzlepunt tot de positie waar het filament wordt geparkeerd " +"wanneer dat niet geladen is. Deze moet overeenkomen met de waarde in de " +"firmware." msgid "Extra loading distance" -msgstr "" +msgstr "Extra laadafstand" msgid "" "When set to zero, the distance the filament is moved from parking position " @@ -11592,6 +11655,10 @@ msgid "" "positive, it is loaded further, if negative, the loading move is shorter " "than unloading." msgstr "" +"Als dit ingesteld is op 0, zal de afstand die het filament tijdens het laden " +"uit de parkeerpositie even groot zijn als wanneer het filament " +"teruggetrokken wordt. Als de waarde positief is, zal het verder geladen " +"worden. Als het negatief is, is de laadafstand dus korter." msgid "Start end points" msgstr "Start end points" @@ -11851,7 +11918,7 @@ msgid "Spiral" msgstr "Spiraal" msgid "Only lift Z above" -msgstr "" +msgstr "Beweeg Z alleen omhoog boven" msgid "" "If you set this to a positive value, Z lift will only take place above the " @@ -11859,7 +11926,7 @@ msgid "" msgstr "" msgid "Only lift Z below" -msgstr "" +msgstr "Beweeg Z alleen omhoog onder" msgid "" "If you set this to a positive value, Z lift will only take place below the " @@ -11893,11 +11960,15 @@ 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 "" +"Als retracten wordt gecompenseerd na een beweging, wordt deze extra " +"hoeveelheid filament geëxtrudeerd. Deze instelling is zelden van toepassing." msgid "" "When the retraction is compensated after changing tool, the extruder will " "push this additional amount of filament." msgstr "" +"Als retracten wordt gecompenseerd na een toolwisseling, wordt deze extra " +"hoeveelheid filament geëxtrudeerd." msgid "Retraction Speed" msgstr "Terugtrek (retraction) snelheid" @@ -12129,7 +12200,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Number of skirt layers: usually only one" msgid "Draft shield" -msgstr "" +msgstr "Tochtscherm" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12146,10 +12217,10 @@ msgid "" msgstr "" msgid "Limited" -msgstr "" +msgstr "Gelimiteerd" msgid "Enabled" -msgstr "" +msgstr "Aan" msgid "Skirt loops" msgstr "Rand (skirt) lussen" @@ -12269,7 +12340,7 @@ msgid "Start G-code when start the printing of this filament" msgstr "Start G-code wanneer het printen van dit filament begint" msgid "Single Extruder Multi Material" -msgstr "" +msgstr "Multi-material met één extruder" msgid "Use single nozzle to print multi filament" msgstr "" @@ -12303,14 +12374,20 @@ msgid "" "print the wipe tower. User is responsible for ensuring there is no collision " "with the print." msgstr "" +"Het afveegblok wordt niet geprint bij lagen zonder toolwisselingen als dit " +"is ingeschakeld. Op lagen met een toolwissel zal de extruder neerwaarts " +"bewegen naar het afveegblok. De gebruiker is verantwoordelijk voor eventuele " +"botsingen met de print." msgid "Prime all printing extruders" -msgstr "" +msgstr "Veeg alle printextruders af" msgid "" "If enabled, all printing extruders will be primed at the front edge of the " "print bed at the start of the print." msgstr "" +"Alle extruders worden afgeveegd aan de voorzijde van het printbed aan het " +"begin van de print als dit is ingeschakeld." msgid "Slice gap closing radius" msgstr "Sluitingsradius van de gap" @@ -12345,7 +12422,7 @@ msgid "Close holes" msgstr "Gaten sluiten" msgid "Z offset" -msgstr "" +msgstr "Z-hoogte" msgid "" "This value will be added (or subtracted) from all the Z coordinates in the " @@ -12353,6 +12430,10 @@ msgid "" "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 "" +"Deze waarde wordt toegevoegd (of afgetrokken) van alle Z-coördinaten in de G-" +"code. Het wordt gebruikt voor een slechte Z-eindstop positie. Als de Z-" +"eindstop bijvoorbeeld een waarde gebruikt die 0.3mm van het printbed is, kan " +"dit ingesteld worden op -0.3mm." msgid "Enable support" msgstr "Support inschakelen" @@ -12871,10 +12952,10 @@ msgid "Width of prime tower" msgstr "Dit is de breedte van de prime toren." msgid "Wipe tower rotation angle" -msgstr "" +msgstr "Rotatie van het afveegblok" msgid "Wipe tower rotation angle with respect to x-axis." -msgstr "" +msgstr "Rotatie van het afveegblok ten opzichte van de X-as." msgid "Stabilization cone apex angle" msgstr "" @@ -12965,10 +13046,10 @@ msgstr "" "kracht tenzij de prime tower is ingeschakeld." msgid "Maximal bridging distance" -msgstr "" +msgstr "Maximale brugafstand" msgid "Maximal distance between supports on sparse infill sections." -msgstr "" +msgstr "Maximale afstand tussen support op dunne vullingsdelen." msgid "X-Y hole compensation" msgstr "X-Y-gaten compensatie" @@ -13026,7 +13107,7 @@ msgid "Rotate the polyhole every layer." msgstr "" msgid "G-code thumbnails" -msgstr "" +msgstr "G-code miniaturen" msgid "" "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the " @@ -13034,12 +13115,14 @@ msgid "" msgstr "" msgid "Format of G-code thumbnails" -msgstr "" +msgstr "Bestandstype van G-code-voorbeelden" msgid "" "Format of G-code thumbnails: PNG for best quality, JPG for smallest size, " "QOI for low memory firmware" msgstr "" +"Bestandstype van G-code-voorbeelden: PNG voor de beste kwaliteit, JPG voor " +"kleinste bestand, QOI voor firmware met weinig geheugen" msgid "Use relative E distances" msgstr "Relatieve E-afstanden gebruiken" @@ -13216,7 +13299,7 @@ msgid "Do not run any validity checks, such as gcode path conflicts check." msgstr "Do not run any validity checks, such as G-code path conflicts check." msgid "Ensure on bed" -msgstr "" +msgstr "Plaats op bed" msgid "" "Lift the object above the bed when it is partially below. Disabled by default" @@ -13229,22 +13312,25 @@ msgid "Orient options: 0-disable, 1-enable, others-auto" msgstr "" msgid "Rotation angle around the Z axis in degrees." -msgstr "" +msgstr "Rotatiehoek rond de Z-as in graden." msgid "Rotate around Y" -msgstr "" +msgstr "Draai over de Y-as" msgid "Rotation angle around the Y axis in degrees." -msgstr "" +msgstr "Rotatiehoek rond de Y-as in graden." msgid "Data directory" -msgstr "" +msgstr "Bestandslocatie voor de data" msgid "" "Load and store settings at the given directory. This is useful for " "maintaining different profiles or including configurations from a network " "storage." msgstr "" +"Laad fabrieksinstellingen en sla op. Dit is handig voor het onderhouden van " +"verschillende profielen of het opnemen van configuraties van een " +"netwerkopslag." msgid "Load custom gcode" msgstr "" @@ -14327,7 +14413,7 @@ msgid "mm/mm" msgstr "mm/mm" msgid "Send G-Code to printer host" -msgstr "" +msgstr "Stuur G-code naar printerhost" msgid "Upload to Printer Host with the following filename:" msgstr "Uploaden naar Printer Host met de volgende bestandsnaam:" diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po index 0418f87c6be..4382de12e7d 100644 --- a/localization/i18n/pl/OrcaSlicer_pl.po +++ b/localization/i18n/pl/OrcaSlicer_pl.po @@ -1,8 +1,9 @@ +# msgid "" msgstr "" "Project-Id-Version: OrcaSlicer 2.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: \n" "Last-Translator: Krzysztof Morga \n" "Language-Team: \n" diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po index 976a749dccc..4002c20b366 100644 --- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po +++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po @@ -1,8 +1,9 @@ +# msgid "" msgstr "" "Project-Id-Version: OrcaSlicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: 2024-04-16 11:17-0300\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" @@ -11,11 +12,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Crowdin-Project: orcaslicer-pt-br\n" -"X-Crowdin-Project-ID: 664934\n" -"X-Crowdin-Language: pt-BR\n" "X-Crowdin-File: OrcaSlicer.pot\n" "X-Crowdin-File-ID: 10\n" +"X-Crowdin-Language: pt-BR\n" +"X-Crowdin-Project: orcaslicer-pt-br\n" +"X-Crowdin-Project-ID: 664934\n" "X-Generator: Poedit 3.4.2\n" msgid "Supports Painting" @@ -2433,7 +2434,7 @@ msgid "AMS not connected" msgstr "AMS não conectado" msgid "Load" -msgstr "" +msgstr "Carregar" msgid "Unload" msgstr "Descarregar" @@ -3214,7 +3215,7 @@ msgid "Successfully executed post-processing script" msgstr "Script de pós-processamento executado com êxito" msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "Ocorreu um erro desconhecido durante a exportação do G-code." #, boost-format msgid "" @@ -3222,6 +3223,9 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"Falha na cópia do G-code temporário para o G-code de saída. Talvez o cartão " +"SD está bloqueado para escrita?\n" +"Mensagem de erro: %1%" #, boost-format msgid "" @@ -3229,28 +3233,38 @@ msgid "" "problem with target device, please try exporting again or using different " "device. The corrupted output G-code is at %1%.tmp." msgstr "" +"A cópia do G-code temporário para o G-code de saída falhou. Pode haver " +"problemas com o dispositivo de destino, por favor tente exportar novamente " +"ou usar dispositivo diferente. O G-code de saída corrompido está em %1%.tmp." #, 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 "" +"A renomeação do G-code após a cópia na pasta de destino selecionada falhou. " +"O caminho atual é %1%.tmp. Por favor, tente exportar de novo." #, 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 "" +"A cópia do G-code temporário foi concluída, mas o código original em %1% não " +"pôde ser aberto durante a verificação de cópia. O G-code de saída está em " +"%2%.tmp." #, 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 "" +"A cópia do G-code temporário foi concluída, mas o código exportado não pôde " +"ser aberto durante a verificação de cópia. O G-code de saída está em %1%.tmp." #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr "Arquivo G-code exportado para %1%" msgid "Unknown error when export G-code." msgstr "Erro desconhecido ao exportar G-Code." @@ -3460,7 +3474,7 @@ msgid "" msgstr "" msgid "Wait" -msgstr "" +msgstr "Aguardar" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" @@ -6579,6 +6593,10 @@ msgid "" "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 "" +"No OSX, sempre há apenas uma instância do aplicativo em execução por padrão. " +"No entanto, é permitido executar várias instâncias do mesmo aplicativo a " +"partir da linha de comando. Nesse caso, essas configurações permitirão " +"apenas uma instância." msgid "" "If this is enabled, when starting OrcaSlicer and another instance of the " @@ -8056,7 +8074,7 @@ msgid "Don't save" msgstr "Não salvar" msgid "Discard" -msgstr "" +msgstr "Descartar" msgid "Click the right mouse button to display the full text." msgstr "Clique com o botão direito do mouse para exibir o texto completo." @@ -12666,7 +12684,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Quantas camadas de saia. Geralmente apenas uma camada" msgid "Draft shield" -msgstr "" +msgstr "Escudo de proteção" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12683,10 +12701,10 @@ msgid "" msgstr "" msgid "Limited" -msgstr "" +msgstr "Limitado" msgid "Enabled" -msgstr "" +msgstr "Habilitado" msgid "Skirt loops" msgstr "Voltas da saia" diff --git a/localization/i18n/ru/OrcaSlicer_ru.po b/localization/i18n/ru/OrcaSlicer_ru.po index b5159939f27..945b8d9505b 100644 --- a/localization/i18n/ru/OrcaSlicer_ru.po +++ b/localization/i18n/ru/OrcaSlicer_ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer V2.0.0 Official Release\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: 2024-04-12 13:49+0700\n" "Last-Translator: \n" "Language-Team: andylg@yandex.ru\n" @@ -264,7 +264,7 @@ msgid "World coordinates" msgstr "Мировая СК" msgid "Object coordinates" -msgstr "" +msgstr "СК модели" msgid "°" msgstr "°" @@ -1508,7 +1508,7 @@ msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Выберите один или несколько файлов (3mf/step/stl/svg/obj/amf):" msgid "Choose ZIP file" -msgstr "" +msgstr "Выберите ZIP файл" msgid "Choose one file (gcode/3mf):" msgstr "Выберите один файл (gcode/3mf):" @@ -1584,6 +1584,8 @@ msgid "" "Could not start URL download. Destination folder is not set. Please choose " "destination folder in Configuration Wizard." msgstr "" +"Не удалось запустить загрузку по URL-адресу. Не задана папка назначения. " +"Пожалуйста, задайте папку назначения в мастере настройки." msgid "Import File" msgstr "Импорт файла" @@ -2441,7 +2443,7 @@ msgid "AMS not connected" msgstr "АСПП не подключена" msgid "Load" -msgstr "" +msgstr "Загрузить" msgid "Unload" msgstr "Выгруз." @@ -3226,7 +3228,7 @@ msgid "Successfully executed post-processing script" msgstr "Скрипт постобработки успешно выполнен." msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "При экспорте G-кода произошла неизвестная ошибка." #, boost-format msgid "" @@ -3234,6 +3236,9 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"Не удалось скопировать временный G-код в местонахождение выходного файла G-" +"кода. Может ваша SD карта защищена от записи?\n" +"Сообщение об ошибке: %1%" #, boost-format msgid "" @@ -3241,28 +3246,39 @@ msgid "" "problem with target device, please try exporting again or using different " "device. The corrupted output G-code is at %1%.tmp." msgstr "" +"Не удалось скопировать временный G-код в местонахождение выходного файла G-" +"кода. Возможно, проблема с устройством назначения, попробуйте снова " +"выполнить экспорт или использовать другое устройство. Повреждённый выходной " +"файл G-кода находится в %1%.tmp." #, 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-код после копирования в выбранную папку " +"назначения. Текущий путь %1%.tmp. Пожалуйста, попробуйте экспортировать ещё " +"раз." #, 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-кода завершено, но исходный код в %1% не удалось " +"открыть во время проверки копии. Выходной G-код находится в %2%.tmp." #, 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-кода завершено, но экспортированный код не удалось " +"открыть во время проверки копии. Выходной G-код находится в %1%.tmp." #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr "Файл G-кода экспортирован в %1%" msgid "Unknown error when export G-code." msgstr "Неизвестная ошибка при экспорте G-кода." @@ -3476,7 +3492,7 @@ msgid "" msgstr "" msgid "Wait" -msgstr "" +msgstr "Подождите" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" @@ -6332,16 +6348,16 @@ msgstr "Ошибка при загрузке файла G-кода" #. TRN %1% is archive path #, boost-format msgid "Loading of a ZIP archive on path %1% has failed." -msgstr "" +msgstr "Не удалось загрузить ZIP-архив расположенный по пути %1%." #. TRN: First argument = path to file, second argument = error description #, boost-format msgid "Failed to unzip file to %1%: %2%" -msgstr "" +msgstr "Не удалось разархивировать файл в %1%: %2%" #, boost-format msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." -msgstr "" +msgstr "Ошибка поиска распакованного файла в %1%. Не удалось распаковать файл." msgid "Drop project file" msgstr "Операции с файлами проекта" @@ -12746,7 +12762,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Количество слоёв юбки. Обычно только один слой." msgid "Draft shield" -msgstr "" +msgstr "Защитный кожух" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12763,10 +12779,10 @@ msgid "" msgstr "" msgid "Limited" -msgstr "" +msgstr "Ограничено" msgid "Enabled" -msgstr "" +msgstr "Включено" msgid "Skirt loops" msgstr "Юбок вокруг модели" diff --git a/localization/i18n/sv/OrcaSlicer_sv.po b/localization/i18n/sv/OrcaSlicer_sv.po index be06e1fb9fb..c590d533e59 100644 --- a/localization/i18n/sv/OrcaSlicer_sv.po +++ b/localization/i18n/sv/OrcaSlicer_sv.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po index 18376547c87..a84aeae888f 100644 --- a/localization/i18n/tr/OrcaSlicer_tr.po +++ b/localization/i18n/tr/OrcaSlicer_tr.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: 2024-05-02 19:55+0300\n" "Last-Translator: Olcay ÖREN\n" "Language-Team: \n" @@ -1495,7 +1495,7 @@ msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Bir veya daha fazla dosya seçin (3mf/step/stl/svg/obj/amf):" msgid "Choose ZIP file" -msgstr "" +msgstr "ZIP dosyasını seçin:" msgid "Choose one file (gcode/3mf):" msgstr "Bir dosya seçin (gcode/3mf):" @@ -6279,6 +6279,8 @@ msgstr "" #, boost-format msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." msgstr "" +"%1%'de sıkıştırılmamış dosya bulunamadı. Dosyanın sıkıştırmadan çıkartılması " +"başarısız oldu." msgid "Drop project file" msgstr "Proje dosyasını sürükle" @@ -12563,7 +12565,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Etek katman sayısı. Genellikle tek katman" msgid "Draft shield" -msgstr "" +msgstr "Rüzgarlık" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12580,10 +12582,10 @@ msgid "" msgstr "" msgid "Limited" -msgstr "" +msgstr "Sınırlı" msgid "Enabled" -msgstr "" +msgstr "Etkinleştirildi" msgid "Skirt loops" msgstr "Etek sayısı" diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po index c62c2a26f22..f62b9708fa8 100644 --- a/localization/i18n/uk/OrcaSlicer_uk.po +++ b/localization/i18n/uk/OrcaSlicer_uk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: 2023-08-10 20:25-0400\n" "Last-Translator: \n" "Language-Team: \n" @@ -108,7 +108,7 @@ msgid "Support Generated" msgstr "Генерація підтримки" msgid "Gizmo-Place on Face" -msgstr "" +msgstr "Gizmo \"Поверхнею на стіл\"" msgid "Lay on face" msgstr "Покласти в обличчя" @@ -190,13 +190,13 @@ msgid "Move" msgstr "Перемістити" msgid "Gizmo-Move" -msgstr "" +msgstr "Gizmo переміщення" msgid "Rotate" msgstr "Повернути" msgid "Gizmo-Rotate" -msgstr "" +msgstr "Gizmo обертання" msgid "Optimize orientation" msgstr "Оптимізувати орієнтацію" @@ -208,7 +208,7 @@ msgid "Scale" msgstr "Масштаб" msgid "Gizmo-Scale" -msgstr "" +msgstr "Gizmo масштабування" msgid "Error: Please close all toolbar menus first" msgstr "Помилка: будь ласка, спочатку закрийте все меню панелі інструментів" @@ -526,7 +526,7 @@ msgid "Connector" msgstr "З'єднувач" msgid "Cut by Plane" -msgstr "" +msgstr "Вирізати площиною" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" msgstr "" @@ -682,7 +682,7 @@ msgid "Text move" msgstr "" msgid "Set Mirror" -msgstr "" +msgstr "Встановити віддзеркалення" msgid "Embossed text" msgstr "" @@ -718,7 +718,7 @@ msgid "First font" msgstr "" msgid "Default font" -msgstr "" +msgstr "Типовий шрифт" msgid "Advanced" msgstr "Додатково" @@ -769,7 +769,7 @@ 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 "" +msgstr "Ви не можете змінити тип останньої твердої частини об’єкта." msgctxt "EmbossOperation" msgid "Cut" @@ -1030,7 +1030,7 @@ msgstr "" #. TRN - Input label. Be short as possible #. Align Top|Middle|Bottom and Left|Center|Right msgid "Alignment" -msgstr "" +msgstr "Вирівнювання" #. TRN - Input label. Be short as possible msgid "Char gap" @@ -1086,7 +1086,7 @@ msgid "SVG actions" msgstr "" msgid "SVG" -msgstr "" +msgstr "SVG" #, boost-format msgid "Opacity (%1%)" @@ -1173,7 +1173,7 @@ msgid "Bake into model as uneditable part" msgstr "" msgid "Save as" -msgstr "" +msgstr "Зберегти як" msgid "Save SVG file" msgstr "" @@ -1199,7 +1199,7 @@ msgid "Lock/unlock the aspect ratio of the SVG." msgstr "" msgid "Reset scale" -msgstr "" +msgstr "Скинути масштаб" msgid "Distance of the center of the SVG to the model surface." msgstr "" @@ -1208,16 +1208,16 @@ msgid "Reset distance" msgstr "" msgid "Reset rotation" -msgstr "" +msgstr "Скинути обертання" msgid "Lock/unlock rotation angle when dragging above the surface." msgstr "" msgid "Mirror vertically" -msgstr "" +msgstr "Віддзеркалити вертикально" msgid "Mirror horizontally" -msgstr "" +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" @@ -2547,13 +2547,13 @@ msgid "Bed filling done." msgstr "Заповнення ліжка виконане." msgid "Searching for optimal orientation" -msgstr "" +msgstr "Пошук оптимальної орієнтації" msgid "Orientation search canceled." -msgstr "" +msgstr "Пошук орієнтації скасовано." msgid "Orientation found." -msgstr "" +msgstr "Орієнтація знайдена." msgid "Logging in" msgstr "Вхід до системи" @@ -3178,7 +3178,7 @@ msgid "Successfully executed post-processing script" msgstr "Скрипт післяобробки успішно виконаний" msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "Під час експорту G-коду сталася невідома помилка." #, boost-format msgid "" @@ -3186,6 +3186,9 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"Не вдалося скопіювати тимчасовий G-код у вихідний G-код. Можливо, SD-карта " +"заблокована?\n" +"Повідомлення про помилку: %1%" #, boost-format msgid "" @@ -3193,28 +3196,37 @@ msgid "" "problem with target device, please try exporting again or using different " "device. The corrupted output G-code is at %1%.tmp." msgstr "" +"Не вдалося скопіювати тимчасовий G-код у вихідний G-код. Можливо, проблема з " +"цільовим пристроєм, спробуйте експортувати ще раз або використати інший " +"пристрій. Пошкоджений вихідний G-код - %1% .tmp." #, 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-код після копіювання у вибрану папку призначення. " +"Поточний шлях - %1%.tmp. Спробуйте експортувати ще раз." #, 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-коду закінчено, але оригінальний код на рівні %1% " +"не вдалося відкрити під час перевірки копії. Вихідний G-код - %2% .tmp." #, 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-коду завершено, але експортований код не вдалося " +"відкрити під час перевірки копії. Вихідний G-код - %1% .tmp." #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr "Файл G-коду експортується до %1%" msgid "Unknown error when export G-code." msgstr "Невідома помилка під час експорту G-коду." @@ -3942,7 +3954,7 @@ msgid "Dimensions" msgstr "" msgid "Temperatures" -msgstr "" +msgstr "Температури" msgid "Timestamps" msgstr "" @@ -5946,10 +5958,10 @@ msgstr "" "поверхні. Рекомендується перейти в режим згладжування." msgid "Expand sidebar" -msgstr "" +msgstr "Розгорнути бічну панель" msgid "Collapse sidebar" -msgstr "" +msgstr "Згорнути бічну панель" #, c-format, boost-format msgid "Loading file: %s" @@ -6229,7 +6241,7 @@ msgid "" msgstr "" msgid "Import SLA archive" -msgstr "" +msgstr "Імпорт SLА-архіву" msgid "The selected file" msgstr "Вибраний файл" @@ -6529,7 +6541,7 @@ msgid "" msgstr "" msgid "Home" -msgstr "" +msgstr "Домівка" msgid "Default Page" msgstr "" @@ -6559,10 +6571,12 @@ msgstr "" "Наблизьтеся до положення покажчика миші у 3D-виді, а не до центру 2D вікна." msgid "Use free camera" -msgstr "" +msgstr "Використовувати вільну камеру" msgid "If enabled, use free camera. If not enabled, use constrained camera." msgstr "" +"Якщо увімкнено, використовуватиметься вільна камера. Якщо вимкнено, " +"використовуватиметься камера з обмеженими можливостями." msgid "Reverse mouse zoom" msgstr "" @@ -6571,7 +6585,7 @@ msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "" msgid "Show splash screen" -msgstr "" +msgstr "Показувати заставку" msgid "Show the splash screen during startup." msgstr "" @@ -6619,7 +6633,7 @@ msgstr "" "одночасно та керувати декількома пристроями." msgid "Network" -msgstr "" +msgstr "Мережа" msgid "Auto sync user presets(Printer/Filament/Process)" msgstr "" @@ -7620,7 +7634,7 @@ msgid "Tree supports" msgstr "" msgid "Skirt" -msgstr "" +msgstr "Плінтус" msgid "Prime tower" msgstr "Вежа Очищення" @@ -7793,13 +7807,13 @@ msgid "Multimaterial" msgstr "" msgid "Wipe tower parameters" -msgstr "" +msgstr "Параметри вежі витирання" msgid "Toolchange parameters with single extruder MM printers" -msgstr "" +msgstr "Параметри зміни інструменту в одно-екструдерному ММ-принтері" msgid "Ramming settings" -msgstr "" +msgstr "Налаштування раммінгу" msgid "Toolchange parameters with multi extruder MM printers" msgstr "" @@ -7874,10 +7888,10 @@ msgid "Single extruder multimaterial setup" msgstr "" msgid "Wipe tower" -msgstr "" +msgstr "Вежа витирання" msgid "Single extruder multimaterial parameters" -msgstr "" +msgstr "Параметри екструдеру в багато-екструдерному принтері" msgid "Layer height limits" msgstr "Обмеження висоти шару" @@ -8179,7 +8193,7 @@ msgid "The configuration is up to date." msgstr "Конфігурація є актуальною." msgid "Ramming customization" -msgstr "" +msgstr "Налаштування раммінгу" msgid "" "Ramming denotes the rapid extrusion just before a tool change in a single-" @@ -8192,21 +8206,30 @@ msgid "" "This is an expert-level setting, incorrect adjustment will likely lead to " "jams, extruder wheel grinding into filament etc." msgstr "" +"Раммінг означає швидке екструдування безпосередньо перед заміною інструменту " +"в одно-екструдерному принтері ММ. Його мета полягає у правильній формі кінця " +"виведеного філаменту, щоб вона не заважала вставці нового філаменту і може " +"бути знову встановлений пізніше. Ця фаза є важливою, і різні матеріали " +"можуть вимагати різної швидкості екструзії для отримання гарної форми. З " +"цієї причини швидкість екструдування під час раммінгу регулюється.\n" +"\n" +"Це налаштування на рівні експерта, неправильне регулювання, ймовірно, " +"призведе до заклинювання, подрібнення екструдерного колеса до філаменту тощо." msgid "Total ramming time" -msgstr "" +msgstr "Загальний час швидкої екструзії" msgid "s" msgstr "c" msgid "Total rammed volume" -msgstr "" +msgstr "Загальний обсяг швидкої екструзії" msgid "Ramming line width" -msgstr "" +msgstr "Ширина ліній раммінгу" msgid "Ramming line spacing" -msgstr "" +msgstr "Проміжки між лініями раммінгу" msgid "Auto-Calc" msgstr "Автокалькулятор" @@ -8444,10 +8467,10 @@ msgid "Gizmo Text emboss / engrave" msgstr "" msgid "Zoom in" -msgstr "" +msgstr "Приблизити" msgid "Zoom out" -msgstr "" +msgstr "Віддалити" msgid "Switch between Prepare/Preview" msgstr "Переключення між Підготовка/Попередній перегляд" @@ -9493,7 +9516,7 @@ msgid "" msgstr "" msgid "Everywhere" -msgstr "" +msgstr "Всюди" msgid "Top and bottom surfaces" msgstr "" @@ -10397,54 +10420,65 @@ msgid "" msgstr "" msgid "Loading speed" -msgstr "" +msgstr "Швидкість заведення" msgid "Speed used for loading the filament on the wipe tower." msgstr "" +"Швидкість, що використовується для заведення філаменту на вежі витирання." msgid "Loading speed at the start" -msgstr "" +msgstr "Швидкість заведення на старті" msgid "Speed used at the very beginning of loading phase." -msgstr "" +msgstr "Швидкість, що використовується на самому початку фази заведення." msgid "Unloading speed" -msgstr "" +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 "" +msgstr "Швидкість виведення на старті" msgid "" "Speed used for unloading the tip of the filament immediately after ramming." msgstr "" +"Швидкість, яка використовується для виведення кінчику філаменту " +"безпосередньо після раммінгу." msgid "Delay after unloading" -msgstr "" +msgstr "Затримка після виведення" msgid "" "Time to wait after the filament is unloaded. May help to get reliable " "toolchanges with flexible materials that may need more time to shrink to " "original dimensions." msgstr "" +"Час очікування після виведення філаменту. Може допомогти отримати надійну " +"заміну інструменту для гнучких матеріалів, яким може знадобитися більше " +"часу, щоб зменшитись до початкових розмірів." msgid "Number of cooling moves" -msgstr "" +msgstr "Кількість охолоджуючих рухів" msgid "" "Filament is cooled by being moved back and forth in the cooling tubes. " "Specify desired number of these moves." msgstr "" +"Філамент охолоджується шляхом переміщення вперед-назад у охолоджувальних " +"трубках. Вкажіть бажану кількість цих рухів." msgid "Speed of the first cooling move" -msgstr "" +msgstr "Швидкість першого охолоджуючого руху" msgid "Cooling moves are gradually accelerating beginning at this speed." msgstr "" +"Охолоджувальні рухи поступово прискорюються, починаючи з цієї швидкості." msgid "Minimal purge on wipe tower" msgstr "Мінімальне продування на очисній вежі" @@ -10464,30 +10498,38 @@ msgstr "" "послідовне заповненняабо видавлювання об'єкта, що витрачається." msgid "Speed of the last cooling move" -msgstr "" +msgstr "Швидкість останнього охолоджуючого руху" msgid "Cooling moves are gradually accelerating towards this speed." -msgstr "" +msgstr "Охолоджувальні рухи поступово прискорюються до цієї швидкості." msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " "filament during a tool change (when executing the T code). This time is " "added to the total print time by the G-code time estimator." msgstr "" +"Час для прошивки принтера (або Multi Material Unit 2.0), щоб завести новий " +"філамент під час заміни інструменту (під час виконання коду Т). Цей час " +"додається до загального часу друку за допомогою оцінювача часу G-коду." msgid "Ramming parameters" -msgstr "" +msgstr "Параметри раммінгу" msgid "" "This string is edited by RammingDialog and contains ramming specific " "parameters." msgstr "" +"Цей рядок відредаговано у діалогу налаштувань раммінгу та містить певні " +"параметри раммінгу." msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " "filament during a tool change (when executing the T code). This time is " "added to the total print time by the G-code time estimator." msgstr "" +"Час для прошивки принтера (або Multi Material Unit 2.0), щоб вивести " +"філамент під час заміни інструменту (під час виконання коду Т). Цей час " +"додається до загального часу друку за допомогою оцінювача часу G-коду." msgid "Enable ramming for multitool setups" msgstr "" @@ -11485,7 +11527,7 @@ msgid "" msgstr "" msgid "mm³/s²" -msgstr "" +msgstr "мм³/с²" msgid "Smoothing segment length" msgstr "" @@ -11538,12 +11580,14 @@ msgid "Diameter of nozzle" msgstr "Діаметр сопла" msgid "Configuration notes" -msgstr "" +msgstr "Примітки до конфігурації" msgid "" "You can put here your personal notes. This text will be added to the G-code " "header comments." msgstr "" +"Ви можете додати тут свої особисті примітки. Цей текст буде додано до " +"коментарів заголовка G-коду." msgid "Host Type" msgstr "Тип хоста" @@ -11562,36 +11606,44 @@ msgid "Volume of nozzle between the cutter and the end of nozzle" msgstr "Об'єм сопла між різцем та кінцем сопла" msgid "Cooling tube position" -msgstr "" +msgstr "Позиція охолоджувальної трубки" msgid "Distance of the center-point of the cooling tube from the extruder tip." msgstr "" +"Відстань центральної точки охолоджувальної трубки від наконечника екструдера." msgid "Cooling tube length" -msgstr "" +msgstr "Довжина охолоджувальної трубки" msgid "Length of the cooling tube to limit space for cooling moves inside it." msgstr "" +"Довжина охолоджувальної трубки для обмеження простору для охолоджуючих рухів " +"всередині неї." msgid "High extruder current on filament swap" -msgstr "" +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 "" +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 "" +msgstr "Додаткова відстань заведення" msgid "" "When set to zero, the distance the filament is moved from parking position " @@ -11599,6 +11651,10 @@ msgid "" "positive, it is loaded further, if negative, the loading move is shorter " "than unloading." msgstr "" +"Якщо встановлено на нуль, відстань, на яку філамент переміщується з " +"положення стоянки під час заведення, є точно такою ж, як і при переміщенні " +"назад під час виведення. Якщо позитивне, воно заводеться далі, якщо " +"негативне, рух заведення коротший, ніж виведення." msgid "Start end points" msgstr "Початкові кінцеві точки" @@ -12158,7 +12214,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Скільки шарів спідниці. Зазвичай лише один шар" msgid "Draft shield" -msgstr "" +msgstr "Чорновий щит" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12297,7 +12353,7 @@ msgid "Start G-code when start the printing of this filament" msgstr "Стартовий G-code при запуску друку цим філаментом" msgid "Single Extruder Multi Material" -msgstr "" +msgstr "Мульти-матеріальний (ММ) друк з одним екструдером" msgid "Use single nozzle to print multi filament" msgstr "" @@ -12331,14 +12387,20 @@ msgid "" "print the wipe tower. User is responsible for ensuring there is no collision " "with the print." msgstr "" +"Якщо увімкнено, вежа витирання не друкується на шарах без змін інструментів. " +"На шарах із зміною інструменту екструдер рухатиметься вниз, щоб надрукувати " +"вежу витирання. Користувач несе відповідальність за те, щоб не було " +"зіткнення з друком." msgid "Prime all printing extruders" -msgstr "" +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 "Радіус закриття пробілів під час нарізування" @@ -12373,7 +12435,7 @@ msgid "Close holes" msgstr "Закрити отвори" msgid "Z offset" -msgstr "" +msgstr "Зміщення Z" msgid "" "This value will be added (or subtracted) from all the Z coordinates in the " @@ -12381,6 +12443,10 @@ msgid "" "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-коді. " +"Воно використовується для зрівноваження поганої кінцевої позиції Z: " +"наприклад, якщо ваш кінцевий нуль фактично залишає сопло на 0,3 мм від " +"полотна друку, встановіть його на значення -0,3 (або виправте ваш endstop)." msgid "Enable support" msgstr "Увімкнути підтримку" @@ -12890,10 +12956,10 @@ msgid "Width of prime tower" msgstr "Ширина основної вежі" msgid "Wipe tower rotation angle" -msgstr "" +msgstr "Кут повороту вежі витирання" msgid "Wipe tower rotation angle with respect to x-axis." -msgstr "" +msgstr "Кут повороту вежі витирання за віссю Х." msgid "Stabilization cone apex angle" msgstr "" @@ -12983,10 +13049,10 @@ msgstr "" "включена первиннавежа." msgid "Maximal bridging distance" -msgstr "" +msgstr "Максимальна мостова відстань" msgid "Maximal distance between supports on sparse infill sections." -msgstr "" +msgstr "Максимальна відстань між підтримками на рідкісних ділянках заповнення." msgid "X-Y hole compensation" msgstr "Компенсація отвору XY" @@ -13248,13 +13314,13 @@ msgid "Orient options: 0-disable, 1-enable, others-auto" msgstr "" msgid "Rotation angle around the Z axis in degrees." -msgstr "" +msgstr "Кут обертання навколо осі Z у градусах." msgid "Rotate around Y" -msgstr "" +msgstr "Обертати навколо осі Y" msgid "Rotation angle around the Y axis in degrees." -msgstr "" +msgstr "Кут обертання навколо осі Y у градусах." msgid "Data directory" msgstr "Каталог даних" @@ -14356,7 +14422,7 @@ msgid "mm/mm" msgstr "мм/мм" msgid "Send G-Code to printer host" -msgstr "" +msgstr "Надіслання G-коду на хост друку" msgid "Upload to Printer Host with the following filename:" msgstr "Завантажити на хост принтера з наступним іменем файлу:" diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po index f125af2b387..6a1e682d959 100644 --- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po +++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Slic3rPE\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: 2023-04-01 13:21+0800\n" "Last-Translator: SoftFever \n" "Language-Team: \n" @@ -295,7 +295,7 @@ msgid "Snap" msgstr "按扣" msgid "Prism" -msgstr "" +msgstr "棱角" msgid "Frustum" msgstr "锥体" @@ -313,7 +313,7 @@ msgid "Place on cut" msgstr "切割面放置到热床" msgid "Flip upside down" -msgstr "" +msgstr "倒置" msgid "Connectors" msgstr "连接件" @@ -361,9 +361,12 @@ msgid "" "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 "" +msgstr "移动剖切面" msgid "Mode" msgstr "模式" @@ -408,7 +411,7 @@ msgid "Cut" msgstr "剪切" msgid "Rotate cut plane" -msgstr "" +msgstr "旋转剖切面" msgid "Remove connectors" msgstr "删除所有连接件" @@ -435,7 +438,7 @@ msgid "Build Volume" msgstr "零件体积" msgid "Flip cut plane" -msgstr "" +msgstr "翻转剖切面" msgid "Groove change" msgstr "" @@ -451,7 +454,7 @@ msgid "Cut position" msgstr "切割位置" msgid "Reset cutting plane" -msgstr "" +msgstr "重置切割平面" msgid "Edit connectors" msgstr "编辑连接件" @@ -463,7 +466,7 @@ msgid "Reset cut" msgstr "重置" msgid "Reset cutting plane and remove connectors" -msgstr "" +msgstr "重置切割平面并移除连接器" msgid "Upper part" msgstr "上半部分" @@ -506,10 +509,10 @@ msgid "Some connectors are overlapped" msgstr "存在连接件相互重叠" msgid "Select at least one object to keep after cutting." -msgstr "" +msgstr "切割后至少选择一个要保留的对象。" msgid "Cut plane is placed out of object" -msgstr "" +msgstr "剖切面放置在对象之外" msgid "Cut plane with groove is invalid" msgstr "" @@ -518,7 +521,7 @@ msgid "Connector" msgstr "连接件" msgid "Cut by Plane" -msgstr "" +msgstr "按平面切割" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" msgstr "因切割产生了非流形边,您是否想现在修复?" @@ -527,10 +530,10 @@ msgid "Repairing model object" msgstr "修复模型对象" msgid "Cut by line" -msgstr "" +msgstr "按线切割" msgid "Delete connector" -msgstr "" +msgstr "删除连接器" msgid "Mesh name" msgstr "Mesh名" @@ -673,16 +676,16 @@ msgid "Set Mirror" msgstr "设置镜像" msgid "Embossed text" -msgstr "" +msgstr "浮雕文字" msgid "Enter emboss gizmo" -msgstr "" +msgstr "进入浮雕小工具" msgid "Leave emboss gizmo" -msgstr "" +msgstr "离开浮雕小工具" msgid "Embossing actions" -msgstr "" +msgstr "浮雕动作" msgid "Emboss" msgstr "浮雕" @@ -700,13 +703,13 @@ msgid "SWISS" msgstr "" msgid "MODERN" -msgstr "" +msgstr "现代" msgid "First font" -msgstr "" +msgstr "第一个字体" msgid "Default font" -msgstr "" +msgstr "缺省字体" msgid "Advanced" msgstr "高级" @@ -714,38 +717,38 @@ msgstr "高级" msgid "" "The text cannot be written using the selected font. Please try choosing a " "different font." -msgstr "" +msgstr "无法使用所选字体书写文本。请尝试选择其他字体。" msgid "Embossed text cannot contain only white spaces." -msgstr "" +msgstr "浮雕文本不能只包含空格。" msgid "Text contains character glyph (represented by '?') unknown by font." -msgstr "" +msgstr "文本包含字体未知的字符字形(用“?”表示)。" msgid "Text input doesn't show font skew." -msgstr "" +msgstr "文本输入不显示字体倾斜。" msgid "Text input doesn't show font boldness." -msgstr "" +msgstr "文本输入不显示字体加粗。" msgid "Text input doesn't show gap between lines." -msgstr "" +msgstr "文本输入不显示行之间的间隙。" msgid "Too tall, diminished font height inside text input." -msgstr "" +msgstr "太高,文本输入中的字体高度减小。" msgid "Too small, enlarged font height inside text input." -msgstr "" +msgstr "文字输入里面的字体高度太小,放大了。" msgid "Text doesn't show current horizontal alignment." msgstr "" msgid "Revert font changes." -msgstr "" +msgstr "还原字体更改。" #, boost-format msgid "Font \"%1%\" can't be selected." -msgstr "" +msgstr "无法选择字体“%1%”。" msgid "Operation" msgstr "操作" @@ -754,7 +757,7 @@ msgid "Join" msgstr "合并" msgid "Click to change text into object part." -msgstr "" +msgstr "单击可将文本更改为对象部分。" msgid "You can't change a type of the last solid part of the object." msgstr "不能更改对象的最后一个实体部分的类型。" @@ -764,93 +767,93 @@ msgid "Cut" msgstr "切割" msgid "Click to change part type into negative volume." -msgstr "" +msgstr "单击可将零件类型更改为负体积。" msgid "Modifier" msgstr "修改器" msgid "Click to change part type into modifier." -msgstr "" +msgstr "单击可将零件类型更改为修改器。" msgid "Change Text Type" -msgstr "" +msgstr "更改文本类型" #, boost-format msgid "Rename style(%1%) for embossing text" -msgstr "" +msgstr "重命名浮雕文本的样式(%1%)" msgid "Name can't be empty." -msgstr "" +msgstr "名称不能为空。" msgid "Name has to be unique." -msgstr "" +msgstr "名称必须是唯一的。" msgid "OK" msgstr "确认" msgid "Rename style" -msgstr "" +msgstr "重命名样式" msgid "Rename current style." -msgstr "" +msgstr "重命名当前样式。" msgid "Can't rename temporary style." -msgstr "" +msgstr "无法重命名临时样式。" msgid "First Add style to list." -msgstr "" +msgstr "首先将样式添加到列表中。" #, boost-format msgid "Save %1% style" -msgstr "" +msgstr "保存%1%样式" msgid "No changes to save." -msgstr "" +msgstr "没有要保存的更改。" msgid "New name of style" -msgstr "" +msgstr "样式的新名称" msgid "Save as new style" -msgstr "" +msgstr "另存为新样式" msgid "Only valid font can be added to style." -msgstr "" +msgstr "只有有效的字体才能添加到样式中。" msgid "Add style to my list." -msgstr "" +msgstr "将样式添加到我的列表中。" msgid "Save as new style." -msgstr "" +msgstr "另存为新样式。" msgid "Remove style" -msgstr "" +msgstr "删除样式" msgid "Can't remove the last existing style." -msgstr "" +msgstr "无法删除最后一个现有样式。" #, boost-format msgid "Are you sure you want to permanently remove the \"%1%\" style?" -msgstr "" +msgstr "您确定要永久删除“%1%”样式吗?" #, boost-format msgid "Delete \"%1%\" style." -msgstr "" +msgstr "删除“%1%”样式。" #, boost-format msgid "Can't delete \"%1%\". It is last style." -msgstr "" +msgstr "无法删除“%1%”。这是最后一种风格。" #, boost-format msgid "Can't delete temporary style \"%1%\"." -msgstr "" +msgstr "无法删除临时样式“%1%”。" #, boost-format msgid "Modified style \"%1%\"" -msgstr "" +msgstr "已修改样式“%1%”" #, boost-format msgid "Current style is \"%1%\"" -msgstr "" +msgstr "当前样式为“%1%”" #, boost-format msgid "" @@ -858,39 +861,43 @@ msgid "" "\n" "Would you like to continue anyway?" msgstr "" +"将样式更改为“%1%”将放弃当前的样式修改。\n" +"是否仍要继续?" msgid "Not valid style." -msgstr "" +msgstr "无效的样式。" #, boost-format msgid "Style \"%1%\" can't be used and will be removed from a list." -msgstr "" +msgstr "样式“%1%”无法使用,将从列表中删除。" msgid "Unset italic" -msgstr "" +msgstr "取消斜体" msgid "Set italic" -msgstr "" +msgstr "斜体" msgid "Unset bold" -msgstr "" +msgstr "取消加粗" msgid "Set bold" -msgstr "" +msgstr "加粗" msgid "Revert text size." -msgstr "" +msgstr "恢复文本大小。" msgid "Revert embossed depth." -msgstr "" +msgstr "还原浮雕深度。" msgid "" "Advanced options cannot be changed for the selected font.\n" "Select another font." msgstr "" +"无法更改所选字体的高级选项。\n" +"选择其他字体。" msgid "Revert using of model surface." -msgstr "" +msgstr "恢复使用模型曲面。" msgid "Revert Transformation per glyph." msgstr "" @@ -933,49 +940,49 @@ msgid "points" msgstr "" msgid "Revert gap between characters" -msgstr "" +msgstr "恢复字间距" msgid "Distance between characters" -msgstr "" +msgstr "字间距" msgid "Revert gap between lines" -msgstr "" +msgstr "恢复行间距" msgid "Distance between lines" -msgstr "" +msgstr "行间距" msgid "Undo boldness" msgstr "" msgid "Tiny / Wide glyphs" -msgstr "" +msgstr "细小/宽大的字形" msgid "Undo letter's skew" -msgstr "" +msgstr "撤消字母的歪斜" msgid "Italic strength ratio" -msgstr "" +msgstr "倾斜强度比" msgid "Undo translation" -msgstr "" +msgstr "撤消翻译" msgid "Distance of the center of the text to the model surface." -msgstr "" +msgstr "文字中心到模型曲面的距离。" msgid "Undo rotation" -msgstr "" +msgstr "撤消旋转" msgid "Rotate text Clock-wise." -msgstr "" +msgstr "顺时针旋转文本。" msgid "Unlock the text's rotation when moving text along the object's surface." -msgstr "" +msgstr "沿对象曲面移动文本时,解除锁定文本的旋转。" msgid "Lock the text's rotation when moving text along the object's surface." -msgstr "" +msgstr "沿对象曲面移动文本时,锁定文本的旋转。" msgid "Select from True Type Collection." -msgstr "" +msgstr "从True Type集合中选择。" msgid "Set text to face camera" msgstr "文字面向摄像头" @@ -988,9 +995,11 @@ msgid "" "Can't load exactly same font(\"%1%\"). Aplication selected a similar " "one(\"%2%\"). You have to specify font for enable edit text." msgstr "" +"不能加载完全相同的字体(\"%1%\")。应用程序选择了一种类似的字体(\"%2%\")。你" +"必须为启用编辑文本指定字体。" msgid "No symbol" -msgstr "" +msgstr "无符号" msgid "Loading" msgstr "载入中" @@ -1054,7 +1063,7 @@ msgstr "保持向上" #. Some Font file contain multiple fonts inside and #. this is numerical selector of font inside font collections msgid "Collection" -msgstr "" +msgstr "收集" #. TRN - Title in Undo/Redo stack after rotate with SVG around emboss axe msgid "SVG rotate" @@ -1161,7 +1170,7 @@ msgid "Bake into model as uneditable part" msgstr "" msgid "Save as" -msgstr "" +msgstr "另存为" msgid "Save SVG file" msgstr "" @@ -1202,10 +1211,10 @@ msgid "Lock/unlock rotation angle when dragging above the surface." msgstr "" msgid "Mirror vertically" -msgstr "" +msgstr "垂直镜像" msgid "Mirror horizontally" -msgstr "" +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" @@ -1317,7 +1326,7 @@ msgid "Distance XYZ" msgstr "距离 XYZ" msgid "Ctrl+" -msgstr "" +msgstr "Ctrl+" msgid "Notice" msgstr "通知" @@ -1452,7 +1461,7 @@ msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "选择一个或多个文件(3mf/step/stl/svg/obj/amf):" msgid "Choose ZIP file" -msgstr "" +msgstr "选择ZIP文件" msgid "Choose one file (gcode/3mf):" msgstr "选择一个文件(gcode/3mf):" @@ -1520,7 +1529,7 @@ msgstr "选择一个G-code文件:" msgid "" "Could not start URL download. Destination folder is not set. Please choose " "destination folder in Configuration Wizard." -msgstr "" +msgstr "无法启动URL下载。目标文件夹没有设置。请在配置向导中选择目标文件夹。" msgid "Import File" msgstr "导入文件" @@ -1611,13 +1620,13 @@ msgid "Add support enforcer" msgstr "添加支撑生成器" msgid "Add text" -msgstr "" +msgstr "添加文本" msgid "Add negative text" -msgstr "" +msgstr "添加负文本" msgid "Add text modifier" -msgstr "" +msgstr "添加文本修改器" msgid "Add SVG part" msgstr "" @@ -1824,7 +1833,7 @@ msgid "Edit text" msgstr "编辑文字" msgid "Ability to change text, font, size, ..." -msgstr "" +msgstr "能够更改文本、字体、大小。。。" msgid "Edit SVG" msgstr "编辑SVG" @@ -2294,7 +2303,7 @@ msgid "No printer" msgstr "无打印机" msgid "..." -msgstr "" +msgstr "..." msgid "Failed to connect to the server" msgstr "无法连接服务器" @@ -3055,7 +3064,7 @@ msgid "Successfully executed post-processing script" msgstr "成功执行后处理脚本" msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "导出 G-Code 时出现未知错误。" #, boost-format msgid "" @@ -3063,6 +3072,8 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"将临时 G-Code 复制到输出 G-Code 失败。也许 SD 卡被写锁定了?\n" +"错误消息:%1%" #, boost-format msgid "" @@ -3070,24 +3081,32 @@ msgid "" "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。" #, 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。请再次尝试导" +"出。" #, 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。" #, 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。" #, boost-format msgid "G-code file exported to %1%" @@ -4456,7 +4475,7 @@ msgid "Save Project as" msgstr "项目另存为" msgid "Shift+" -msgstr "" +msgstr "Shift+" msgid "Save current project as" msgstr "项目另存为" @@ -5715,10 +5734,10 @@ msgid "" msgstr "启用传统的延时摄影可能会导致表面瑕疵。建议更改为平滑模式。" msgid "Expand sidebar" -msgstr "" +msgstr "展开侧边栏" msgid "Collapse sidebar" -msgstr "" +msgstr "折叠边栏" #, c-format, boost-format msgid "Loading file: %s" @@ -5977,7 +5996,7 @@ msgid "" msgstr "" msgid "Import SLA archive" -msgstr "" +msgstr "导入 SLA 存档" msgid "The selected file" msgstr "已选择的文件" @@ -5991,7 +6010,7 @@ msgstr "加载G-code文件时遇到错误" #. TRN %1% is archive path #, boost-format msgid "Loading of a ZIP archive on path %1% has failed." -msgstr "" +msgstr "加载路径为%1%的ZIP档案失败。" #. TRN: First argument = path to file, second argument = error description #, boost-format @@ -6000,7 +6019,7 @@ msgstr "" #, boost-format msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." -msgstr "" +msgstr "未能找到位于 %1% 的解压文件。解压缩文件失败。" msgid "Drop project file" msgstr "项目文件操作" @@ -7721,9 +7740,11 @@ msgid "" "Note: New modified presets will be selected in settings tabs after close " "this dialog." msgstr "" +"将选定的选项从左边的预设转移到右边。\n" +"注意:关闭此对话框后,新修改的预置将在设置标签中被选中。" msgid "Transfer values from left to right" -msgstr "" +msgstr "从左到右的转移值" msgid "" "If enabled, this dialog can be used for transfer selected values from left " @@ -8077,13 +8098,13 @@ msgid "Gizmo FDM paint-on seam" msgstr "FDM涂装接缝" msgid "Gizmo Text emboss / engrave" -msgstr "" +msgstr "Gizmo文本浮雕/雕刻" msgid "Zoom in" -msgstr "" +msgstr "放大" msgid "Zoom out" -msgstr "" +msgstr "缩小" msgid "Switch between Prepare/Preview" msgstr "准备/预览之间的切换" @@ -8717,16 +8738,18 @@ msgid "" "each layer to prevent loss of floating point accuracy. Add \"G92 E0\" to " "layer_gcode." msgstr "" +"相对挤出机寻址要求在每层重置挤出机位置,以防止浮点精度损失。将 \"G92E0\" 添加" +"到图层代码中。" msgid "" "\"G92 E0\" was found in before_layer_gcode, which is incompatible with " "absolute extruder addressing." -msgstr "" +msgstr "\"G92E0\" 出现在 before_layer_gcode 中,与绝对挤出机寻址不兼容。" msgid "" "\"G92 E0\" was found in layer_gcode, which is incompatible with absolute " "extruder addressing." -msgstr "" +msgstr "\"G92E0\" 出现在 layer_gcode 中,这与绝对挤出机寻址不兼容。" #, c-format, boost-format msgid "Plate %d: %s does not support filament %s" @@ -11033,7 +11056,7 @@ msgstr "" "注意:此参数禁用圆弧拟合。" msgid "mm³/s²" -msgstr "" +msgstr "mm³/s²" msgid "Smoothing segment length" msgstr "平滑段长度" @@ -11678,7 +11701,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "skirt有多少层。通常只有一层" msgid "Draft shield" -msgstr "" +msgstr "风挡" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -11887,6 +11910,9 @@ msgid "" "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 "" +"此值将从输出 G-Code 中的所有 Z 坐标中添加(或减去)。它用于补偿损坏的 Z 端限位" +"器置:例如,如果限位器零实际离开喷嘴 0.3mm 远离构建板(打印床),将其设置为 " +"-0.3(或调整限位器)。" msgid "Enable support" msgstr "开启支撑" @@ -12538,7 +12564,7 @@ msgstr "G-code缩略图的格式" msgid "" "Format of G-code thumbnails: PNG for best quality, JPG for smallest size, " "QOI for low memory firmware" -msgstr "" +msgstr "G-Code 缩略图格式: PNG 质量最佳,JPG 尺寸最小,QOI 用于低内存固件" msgid "Use relative E distances" msgstr "使用相对E距离" @@ -12735,6 +12761,8 @@ msgid "" "maintaining different profiles or including configurations from a network " "storage." msgstr "" +"在给定目录加载和存储设置。这对于维护不同的配置文件或包括网络存储中的配置非常" +"有用。" msgid "Load custom gcode" msgstr "加载自定义G-code" @@ -13622,13 +13650,15 @@ msgid "Finished" msgstr "完成" msgid "Multiple resolved IP addresses" -msgstr "" +msgstr "多个解析的IP地址" #, 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校准" @@ -13793,7 +13823,7 @@ msgid "Print host upload queue" msgstr "打印主机上传队列" msgid "ID" -msgstr "" +msgstr "ID" msgid "Progress" msgstr "进程" @@ -14417,7 +14447,7 @@ msgid "" msgstr "HTTPS CA文件是可选的。只有在使用自签名证书进行HTTPS连接时才需要。" msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "" +msgstr "证书文件 (*.crt,*.pem)|*.crt;*.pem|所有文件|*.*" msgid "Open CA certificate file" msgstr "打开CA证书文件" @@ -14509,28 +14539,28 @@ msgid "Could not connect to PrusaLink" msgstr "无法连接到 PrusaLink。" msgid "Storages found" -msgstr "" +msgstr "已找到存储" #. TRN %1% = storage path #, boost-format msgid "%1% : read only" -msgstr "" +msgstr "%1%:只读" #. TRN %1% = storage path #, boost-format msgid "%1% : no free space" -msgstr "" +msgstr "%1%:没有可用空间" #. TRN %1% = host #, boost-format msgid "Upload has failed. There is no suitable storage found at %1%." -msgstr "" +msgstr "上载失败。在%1%找不到合适的存储。" msgid "Connection to Prusa Connect works correctly." -msgstr "" +msgstr "与Prusa Connect的连接工作正常。" msgid "Could not connect to Prusa Connect" -msgstr "" +msgstr "无法连接到Prusa connect" msgid "Connection to Repetier works correctly." msgstr "与 Repetier 的连接正常。" diff --git a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po index cadffd7e033..7507c05d144 100644 --- a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po +++ b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-23 23:36+0800\n" +"POT-Creation-Date: 2024-05-24 23:26+0800\n" "PO-Revision-Date: 2023-11-06 14:37+0800\n" "Last-Translator: ablegods \n" "Language-Team: \n" @@ -117,7 +117,7 @@ msgid "Support Generated" msgstr "已產生支撐" msgid "Gizmo-Place on Face" -msgstr "" +msgstr "Gizmo-放置在臉上" msgid "Lay on face" msgstr "選擇底面" @@ -201,13 +201,13 @@ msgid "Move" msgstr "移動" msgid "Gizmo-Move" -msgstr "" +msgstr "Gizmo-移動" msgid "Rotate" msgstr "旋轉" msgid "Gizmo-Rotate" -msgstr "" +msgstr "Gizmo-旋轉" msgid "Optimize orientation" msgstr "最佳化方向" @@ -219,13 +219,13 @@ msgid "Scale" msgstr "縮放" msgid "Gizmo-Scale" -msgstr "" +msgstr "Gizmo 比例" msgid "Error: Please close all toolbar menus first" msgstr "錯誤:請先關閉所有工具欄選單" msgid "in" -msgstr "" +msgstr "在" msgid "mm" msgstr "mm" @@ -279,14 +279,14 @@ msgid "Object coordinates" msgstr "" msgid "°" -msgstr "" +msgstr "°" #. TRN - Input label. Be short as possible msgid "Size" msgstr "尺寸" msgid "%" -msgstr "" +msgstr "%" msgid "uniform scale" msgstr "等比例縮放" @@ -353,7 +353,7 @@ msgid "Depth" msgstr "" msgid "Groove" -msgstr "" +msgstr "溝槽" msgid "Width" msgstr "寬度" @@ -385,7 +385,7 @@ msgid "Move cut plane" msgstr "" msgid "Mode" -msgstr "" +msgstr "模式" msgid "Change cut mode" msgstr "" @@ -539,7 +539,7 @@ msgid "Connector" msgstr "連接件" msgid "Cut by Plane" -msgstr "" +msgstr "用平面分割" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" msgstr "" @@ -697,7 +697,7 @@ msgid "Text move" msgstr "" msgid "Set Mirror" -msgstr "" +msgstr "設定鏡像" msgid "Embossed text" msgstr "" @@ -733,7 +733,7 @@ msgid "First font" msgstr "" msgid "Default font" -msgstr "" +msgstr "預設字型" msgid "Advanced" msgstr "高級" @@ -784,11 +784,11 @@ 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 "" +msgstr "您無法變更模型最後一個實體部分的類型。" msgctxt "EmbossOperation" msgid "Cut" -msgstr "" +msgstr "切割" msgid "Click to change part type into negative volume." msgstr "" @@ -930,19 +930,19 @@ msgstr "" msgctxt "Alignment" msgid "Left" -msgstr "" +msgstr "左" msgctxt "Alignment" msgid "Center" -msgstr "" +msgstr "置中" msgctxt "Alignment" msgid "Right" -msgstr "" +msgstr "右" msgctxt "Alignment" msgid "Top" -msgstr "" +msgstr "頂部" msgctxt "Alignment" msgid "Middle" @@ -950,7 +950,7 @@ msgstr "" msgctxt "Alignment" msgid "Bottom" -msgstr "" +msgstr "底部" msgid "Revert alignment." msgstr "" @@ -1045,7 +1045,7 @@ msgstr "" #. TRN - Input label. Be short as possible #. Align Top|Middle|Bottom and Left|Center|Right msgid "Alignment" -msgstr "" +msgstr "對齊" #. TRN - Input label. Be short as possible msgid "Char gap" @@ -1101,7 +1101,7 @@ msgid "SVG actions" msgstr "" msgid "SVG" -msgstr "" +msgstr "SVG" #, boost-format msgid "Opacity (%1%)" @@ -1214,7 +1214,7 @@ msgid "Lock/unlock the aspect ratio of the SVG." msgstr "" msgid "Reset scale" -msgstr "" +msgstr "重置比例" msgid "Distance of the center of the SVG to the model surface." msgstr "" @@ -1223,16 +1223,16 @@ msgid "Reset distance" msgstr "" msgid "Reset rotation" -msgstr "" +msgstr "重置旋轉" msgid "Lock/unlock rotation angle when dragging above the surface." msgstr "" msgid "Mirror vertically" -msgstr "" +msgstr "垂直鏡像" msgid "Mirror horizontally" -msgstr "" +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" @@ -1301,7 +1301,7 @@ msgid "Restart selection" msgstr "" msgid "Esc" -msgstr "" +msgstr "Esc" msgid "Unselect" msgstr "" @@ -1314,7 +1314,7 @@ msgstr "" msgctxt "Verb" msgid "Scale" -msgstr "" +msgstr "縮放" msgid "None" msgstr "無" @@ -1326,7 +1326,7 @@ msgid "Length" msgstr "長度" msgid "Selection" -msgstr "" +msgstr "所選項目" msgid "Copy to clipboard" msgstr "複製到剪貼簿" @@ -1344,7 +1344,7 @@ msgid "Distance XYZ" msgstr "" msgid "Ctrl+" -msgstr "" +msgstr "Ctrl+" msgid "Notice" msgstr "通知" @@ -1546,7 +1546,7 @@ msgid "Language" msgstr "語言" msgid "*" -msgstr "" +msgstr "*" msgid "The uploads are still ongoing" msgstr "正在上傳任務中" @@ -2213,7 +2213,7 @@ msgid "Remove parameter" msgstr "刪除參數" msgid "to" -msgstr "" +msgstr "到" msgid "Remove height range" msgstr "移除高度範圍" @@ -2377,7 +2377,7 @@ msgid "No printer" msgstr "無列印設備" msgid "..." -msgstr "" +msgstr "..." msgid "Failed to connect to the server" msgstr "無法連接伺服器" @@ -2429,7 +2429,7 @@ msgid "AMS not connected" msgstr "AMS 尚未連接" msgid "Load" -msgstr "" +msgstr "匯入" msgid "Unload" msgstr "退料" @@ -2578,13 +2578,13 @@ msgid "Bed filling done." msgstr "填充列印板已完成。" msgid "Searching for optimal orientation" -msgstr "" +msgstr "查詢最佳方向" msgid "Orientation search canceled." -msgstr "" +msgstr "定向搜尋已取消." msgid "Orientation found." -msgstr "" +msgstr "找到方向。" msgid "Logging in" msgstr "登入中" @@ -3169,7 +3169,7 @@ msgid "Successfully executed post-processing script" msgstr "" msgid "Unknown error occured during exporting G-code." -msgstr "" +msgstr "匯出 G-code 期間發生未知錯誤。" #, boost-format msgid "" @@ -3177,6 +3177,8 @@ msgid "" "card is write locked?\n" "Error message: %1%" msgstr "" +"將臨時的 G-code 複製到輸出的 G-code 失敗 ,也許 SD 卡寫入被鎖定?\n" +"錯誤訊息:%1%" #, boost-format msgid "" @@ -3184,28 +3186,36 @@ msgid "" "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。" #, 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。請再試看看匯" +"出。" #, 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 的 複製已完成,但原始 G-code 因%1%在複製檢查期間無法打開。輸出 G-" +"code 為%2%.tmp。" #, 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 無法在復製檢查過程中打開。輸出 G-" +"code 為%1%.tmp。" #, boost-format msgid "G-code file exported to %1%" -msgstr "" +msgstr "G-code 檔案已匯出為 %1%" msgid "Unknown error when export G-code." msgstr "匯出 G-code 檔案發生未知錯誤。" @@ -3415,7 +3425,7 @@ msgid "" msgstr "" msgid "Wait" -msgstr "" +msgstr "等待" msgid "" "minute each batch.(It depends on how long it takes to complete the heating.)" @@ -3924,7 +3934,7 @@ msgid "Dimensions" msgstr "" msgid "Temperatures" -msgstr "" +msgstr "溫度" msgid "Timestamps" msgstr "" @@ -4491,7 +4501,7 @@ msgid "Yes" msgstr "是" msgid "No" -msgstr "" +msgstr "否" msgid "will be closed before creating a new model. Do you want to continue?" msgstr "將會被關閉以建立新模型,是否繼續?" @@ -5937,10 +5947,10 @@ msgid "" msgstr "使用傳統模式的縮時攝影可能會導致表面缺陷。建議改為平滑模式。" msgid "Expand sidebar" -msgstr "" +msgstr "展開側邊欄" msgid "Collapse sidebar" -msgstr "" +msgstr "折疊側邊欄" #, c-format, boost-format msgid "Loading file: %s" @@ -6095,7 +6105,7 @@ msgid "Another export job is running." msgstr "有其他匯出任務正在進行中。" msgid "Unable to replace with more than one volume" -msgstr "" +msgstr "無法取代超過一個體積" msgid "Error during replace" msgstr "替換時發生錯誤" @@ -6204,7 +6214,7 @@ msgid "" msgstr "匯入 Orca Slicer 失敗。 請下載該檔案並手動匯入。" msgid "Import SLA archive" -msgstr "" +msgstr "匯入 SLA 存檔" msgid "The selected file" msgstr "已選擇的檔案" @@ -6494,6 +6504,8 @@ msgid "" "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 " @@ -6585,7 +6597,7 @@ msgid "" msgstr "" msgid "Network" -msgstr "" +msgstr "網路" #, fuzzy msgid "Auto sync user presets(Printer/Filament/Process)" @@ -6828,7 +6840,7 @@ msgid "The selected preset is null!" msgstr "選擇的預設為空!" msgid "End" -msgstr "" +msgstr "End" msgid "Customize" msgstr "自訂" @@ -6979,7 +6991,7 @@ msgid "(LAN)" msgstr "(區域網路)" msgid "Search" -msgstr "" +msgstr "搜尋" msgid "My Device" msgstr "我的設備" @@ -7487,7 +7499,7 @@ msgid "Adjust" msgstr "" msgid "Ignore" -msgstr "" +msgstr "忽略" msgid "" "Experimental feature: Retracting and cutting off the filament at a greater " @@ -7586,7 +7598,7 @@ msgid "Tree supports" msgstr "樹狀支撐" msgid "Skirt" -msgstr "" +msgstr "側裙" msgid "Prime tower" msgstr "擦拭塔" @@ -8437,10 +8449,10 @@ msgid "Gizmo Text emboss / engrave" msgstr "" msgid "Zoom in" -msgstr "" +msgstr "放大" msgid "Zoom out" -msgstr "" +msgstr "縮小" msgid "Switch between Prepare/Preview" msgstr "在準備/預覽模式之中切換" @@ -9008,7 +9020,7 @@ msgstr "" msgid "" "The Wipe Tower is currently only supported with the relative extruder " "addressing (use_relative_e_distances=1)." -msgstr "" +msgstr "擦拭塔目前僅支援相對擠出機定址 (use_relative_e_distances=1)。" msgid "" "Ooze prevention is currently not supported with the prime tower enabled." @@ -9305,10 +9317,10 @@ msgid "Authorization Type" msgstr "授權類型" msgid "API key" -msgstr "" +msgstr "API 金鑰" msgid "HTTP digest" -msgstr "" +msgstr "HTTP摘要" msgid "Avoid crossing wall" msgstr "避免跨越外牆" @@ -9460,7 +9472,7 @@ msgid "" msgstr "" msgid "Everywhere" -msgstr "" +msgstr "全部" msgid "Top and bottom surfaces" msgstr "" @@ -9959,7 +9971,7 @@ msgid "" msgstr "" msgid "Disabled" -msgstr "" +msgstr "停用" msgid "Limited filtering" msgstr "" @@ -11156,10 +11168,10 @@ msgstr "" "多擠出機列印" msgid "Maximum width of a segmented region" -msgstr "" +msgstr "分隔區域的最大寬度" msgid "Maximum width of a segmented region. Zero disables this feature." -msgstr "" +msgstr "分隔區域的最大寬度。零表示禁用此功能。" msgid "Interlocking depth of a segmented region" msgstr "" @@ -11443,7 +11455,7 @@ msgstr "" "注意:此參數會停用圓弧擬合。" msgid "mm³/s²" -msgstr "" +msgstr "mm³/s²" msgid "Smoothing segment length" msgstr "平滑段長度" @@ -12073,7 +12085,7 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "skirt 有多少層。通常只有一層" msgid "Draft shield" -msgstr "" +msgstr "防風罩" msgid "" "A draft shield is useful to protect an ABS or ASA print from warping and " @@ -12090,10 +12102,10 @@ msgid "" msgstr "" msgid "Limited" -msgstr "" +msgstr "有限" msgid "Enabled" -msgstr "" +msgstr "啟用" msgid "Skirt loops" msgstr "Skirt 圈數" @@ -12409,7 +12421,7 @@ msgid "Number of bottom interface layers" msgstr "" msgid "Same as top" -msgstr "" +msgstr "與頂部相同" msgid "Top interface spacing" msgstr "頂部接觸面線距" @@ -12959,7 +12971,7 @@ msgstr "G-code 縮圖的格式" msgid "" "Format of G-code thumbnails: PNG for best quality, JPG for smallest size, " "QOI for low memory firmware" -msgstr "" +msgstr "G-code 縮圖的格式:PNG 品質最佳,JPG 檔案最小,QOI 最低記憶體韌體" msgid "Use relative E distances" msgstr "使用相對 E 距離" @@ -13985,7 +13997,7 @@ msgstr "" "-不同的線材品牌和系列(Brand = Bambu, Family = Basic, Matte)" msgid "Pattern" -msgstr "" +msgstr "花紋" msgid "Method" msgstr "方法" @@ -14024,7 +14036,7 @@ msgid "Flow Dynamics Calibration Result" msgstr "動態流量校準結果" msgid "New" -msgstr "" +msgstr "新增" msgid "No History Result" msgstr "無歷史結果" @@ -14251,10 +14263,10 @@ msgid "Print host upload queue" msgstr "列印主機上傳隊列" msgid "ID" -msgstr "" +msgstr "ID" msgid "Progress" -msgstr "" +msgstr "進度" msgid "Host" msgstr "主機" @@ -14804,7 +14816,7 @@ msgid "For more information, please check out Wiki" msgstr "" msgid "Collapse" -msgstr "" +msgstr "摺疊" msgid "Daily Tips" msgstr "" @@ -14835,10 +14847,10 @@ msgid "Physical Printer" msgstr "實體列印設備" msgid "Print Host upload" -msgstr "" +msgstr "打印主機上傳" msgid "Could not get a valid Printer Host reference" -msgstr "" +msgstr "無法獲得有效的打印機主機參考資料" msgid "Success!" msgstr "成功!" @@ -14879,49 +14891,49 @@ msgid "Login/Test" msgstr "" msgid "Connection to printers connected via the print host failed." -msgstr "" +msgstr "經由打印主機連接的打印機連接失敗。" #, c-format, boost-format msgid "Mismatched type of print host: %s" -msgstr "" +msgstr "打印主機類型不符:%s" msgid "Connection to AstroBox works correctly." -msgstr "" +msgstr "與 AstroBox 的連接工作正常。" msgid "Could not connect to AstroBox" -msgstr "" +msgstr "無法連接到 AstroBox" msgid "Note: AstroBox version at least 1.1.0 is required." -msgstr "" +msgstr "注意:AstroBox 版本至少需要 1.1.0。" msgid "Connection to Duet works correctly." -msgstr "" +msgstr "與 Duet 的連接工作正常。" msgid "Could not connect to Duet" -msgstr "" +msgstr "無法連接到 Duet" msgid "Unknown error occured" -msgstr "" +msgstr "發生未知的錯誤" msgid "Wrong password" -msgstr "" +msgstr "密碼錯誤" msgid "Could not get resources to create a new connection" -msgstr "" +msgstr "無法取得建立新連結的資源" msgid "Upload not enabled on FlashAir card." -msgstr "" +msgstr "FlashAir 卡上未啟用上傳。" msgid "Connection to FlashAir works correctly and upload is enabled." -msgstr "" +msgstr "與 FlashAir 的連接工作正常並啟用上傳。" msgid "Could not connect to FlashAir" -msgstr "" +msgstr "無法連接到 FlashAir" msgid "" "Note: FlashAir with firmware 2.00.02 or newer and activated upload function " "is required." -msgstr "" +msgstr "注意:FlashAir 需要韌體為 2.00.02 或更新版本並啟動上傳功能。" msgid "Connection to MKS works correctly." msgstr "" @@ -14930,25 +14942,25 @@ msgid "Could not connect to MKS" msgstr "" msgid "Connection to OctoPrint works correctly." -msgstr "" +msgstr "與 OctoPrint 的連接工作正常。" msgid "Could not connect to OctoPrint" -msgstr "" +msgstr "無法連接到 OctoPrint" msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "" +msgstr "注意:OctoPrint 版本至少需要 1.1.0。" msgid "Connection to Prusa SL1 / SL1S works correctly." -msgstr "" +msgstr "與 Prusa SL1 / SL1S 的連接工作正常。" msgid "Could not connect to Prusa SLA" -msgstr "" +msgstr "無法連接到 Prusa SLA" msgid "Connection to PrusaLink works correctly." -msgstr "" +msgstr "與 PrusaLink 的連接工作正常。" msgid "Could not connect to PrusaLink" -msgstr "" +msgstr "無法連接到 PrusaLink" msgid "Storages found" msgstr "" @@ -14975,19 +14987,21 @@ msgid "Could not connect to Prusa Connect" msgstr "" msgid "Connection to Repetier works correctly." -msgstr "" +msgstr "與 Repetier 的連接工作正常。" msgid "Could not connect to Repetier" -msgstr "" +msgstr "無法連接到 Repetier" msgid "Note: Repetier version at least 0.90.0 is required." -msgstr "" +msgstr "注意:Repetier 版本至少需要 0.90.0。" #, boost-format msgid "" "HTTP status: %1%\n" "Message body: \"%2%\"" msgstr "" +"HTTP 狀態:%1%\n" +"訊息內容:“%2%”" #, boost-format msgid "" @@ -14995,6 +15009,9 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"主機溝通解析失敗。\n" +"訊息內容:“%1%”\n" +"錯誤碼:“%2%”" #, boost-format msgid "" @@ -15002,6 +15019,9 @@ msgid "" "Message body: \"%1%\"\n" "Error: \"%2%\"" msgstr "" +"主機打印機例舉失敗。\n" +"訊息內容:“%1%”\n" +"錯誤碼:“%2%”" msgid "" "It has a small layer height, and results in almost negligible layer lines " From 7e2a2257a210306fd831d3b38942efd12fdd91ac Mon Sep 17 00:00:00 2001 From: SoftFever Date: Fri, 24 May 2024 23:37:03 +0800 Subject: [PATCH 063/178] Add Simplified Chinese translations --- localization/i18n/zh_CN/OrcaSlicer_zh_CN.po | 36 +++++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po index 6a1e682d959..6067c6116cf 100644 --- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po +++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po @@ -10200,7 +10200,7 @@ msgid "(Undefined)" msgstr "(未定义)" msgid "Sparse infill direction" -msgstr "" +msgstr "稀疏填充方向" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10208,18 +10208,19 @@ msgid "" msgstr "稀疏填充图案的角度,决定走线的开始或整体方向。" msgid "Solid infill direction" -msgstr "" +msgstr "实心填充方向" msgid "" "Angle for solid infill pattern, which controls the start or main direction " "of line" msgstr "" +"实心填充图案的角度,决定走线的开始或整体方向。" msgid "Rotate solid infill direction" -msgstr "" +msgstr "旋转实心填充方向" msgid "Rotate the solid infill direction by 90° for each layer." -msgstr "" +msgstr "每层都旋转实心填充方向90°。" msgid "Sparse infill density" msgstr "稀疏填充密度" @@ -10746,7 +10747,7 @@ msgid "" msgstr "" msgid "Top/Bottom solid infill/wall overlap" -msgstr "" +msgstr "顶/底部实心填充/墙重叠率" #, no-c-format, no-boost-format msgid "" @@ -10756,6 +10757,10 @@ msgid "" "appearance of pinholes. The percentage value is relative to line width of " "sparse infill" msgstr "" +"顶部实心填充区域略微扩大,以便与墙壁重叠,以获得更好的粘合,并减少顶部填充与墙" +"壁相接处的小孔出现。25-30%的值是一个很好的起点,可以减少小孔的出现。百分比值相对" +"于稀疏填充的线宽" + msgid "Speed of internal sparse infill" msgstr "内部稀疏填充的打印速度" @@ -11736,7 +11741,7 @@ msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." msgstr "skirt速度,单位为mm/s。0表示使用默认的层挤出速度。" msgid "Skirt minimum extrusion length" -msgstr "" +msgstr "Skirt最小挤出长度" msgid "" "Minimum filament extrusion length in mm when printing the skirt. Zero means " @@ -11745,6 +11750,9 @@ msgid "" "Using a non zero value is useful if the printer is set up to print without a " "prime line." msgstr "" +"打印skirt时的最小挤出长度,单位为mm。0表示关闭此功能。\n" +"\n" +"如果打印机设置为不使用擦拭塔,使用非零值是有用的。" msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " @@ -12414,7 +12422,7 @@ msgid "Spacing of purge lines on the wipe tower." msgstr "擦拭塔上冲刷线的间距" msgid "Maximum wipe tower print speed" -msgstr "" +msgstr "擦拭塔最大打印速度" msgid "" "The maximum print speed when purging in the wipe tower and printing the wipe " @@ -12437,6 +12445,20 @@ msgid "" "For the wipe tower external perimeters the internal perimeter speed is used " "regardless of this setting." msgstr "" +"擦拭塔冲刷和稀疏层的最大打印速度。当冲刷时,如果稀疏填充速度或从耗材最" +"大体积速度计算出的速度较低,则使用最低速度。\n" +"\n" +"当打印稀疏层时,如果内墙速度或从耗材最大体积速度计算出的速度较低,则使用" +"最低速度。\n" +"\n" +"增加此速度可能会影响塔的稳定性,同时增加喷嘴与擦拭塔上可能形成的任何斑点碰撞" +"的力。\n" +"\n" +"在将此参数增加到默认值90mm/sec之外之前,请确保您的打印机可以可靠地在增加的速" +"度下桥接,并且换料时的滴漏得到了很好的控制。\n" +"\n" +"对于擦拭塔外墙,无论此设置如何,都使用内墙速度。" + msgid "Wipe tower extruder" msgstr "擦拭塔挤出机" From 8cc4a88d630260e0bc01f151cb47b81001a8bce9 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 25 May 2024 02:32:23 +0200 Subject: [PATCH 064/178] Ender 3 V3 Plus profile (#5447) --- resources/profiles/Creality.json | 40 ++++++ .../Creality Ender-3 V3 Plus_cover.png | Bin 0 -> 25241 bytes ...creality_ender3v3plus_buildplate_model.stl | Bin 0 -> 289684 bytes ...ty_ender3v3plus_buildplate_texture.png.png | Bin 0 -> 13629 bytes .../Creality Generic ABS @Ender-3V3-all.json | 4 +- .../Creality Generic ASA @Ender-3V3-all.json | 4 +- ...Creality Generic PA-CF @Ender-3V3-all.json | 4 +- .../Creality Generic PETG @Ender-3V3-all.json | 4 +- .../Creality Generic PLA @Ender-3V3-all.json | 4 +- ...Generic PLA High Speed @Ender-3V3-all.json | 4 +- ...lity Generic PLA Matte @Ender-3V3-all.json | 4 +- ...ality Generic PLA Silk @Ender-3V3-all.json | 4 +- .../Creality Generic TPU @Ender-3V3-all.json | 4 +- .../Creality Ender-3 V3 Plus 0.4 nozzle.json | 134 ++++++++++++++++++ .../Creality Ender-3 V3 Plus 0.6 nozzle.json | 134 ++++++++++++++++++ .../machine/Creality Ender-3 V3 Plus.json | 12 ++ ...ine @Creality Ender3V3Plus 0.4 nozzle.json | 118 +++++++++++++++ ...mal @Creality Ender3V3Plus 0.4 nozzle.json | 118 +++++++++++++++ ...ard @Creality Ender3V3Plus 0.4 nozzle.json | 118 +++++++++++++++ ...aft @Creality Ender3V3Plus 0.4 nozzle.json | 118 +++++++++++++++ ...mal @Creality Ender3V3Plus 0.6 nozzle.json | 118 +++++++++++++++ ...ard @Creality Ender3V3Plus 0.6 nozzle.json | 117 +++++++++++++++ ...aft @Creality Ender3V3Plus 0.6 nozzle.json | 117 +++++++++++++++ 23 files changed, 1171 insertions(+), 9 deletions(-) create mode 100644 resources/profiles/Creality/Creality Ender-3 V3 Plus_cover.png create mode 100644 resources/profiles/Creality/creality_ender3v3plus_buildplate_model.stl create mode 100644 resources/profiles/Creality/creality_ender3v3plus_buildplate_texture.png.png create mode 100644 resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.4 nozzle.json create mode 100644 resources/profiles/Creality/machine/Creality Ender-3 V3 Plus 0.6 nozzle.json create mode 100644 resources/profiles/Creality/machine/Creality Ender-3 V3 Plus.json create mode 100644 resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V3Plus 0.4 nozzle.json create mode 100644 resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3V3Plus 0.4 nozzle.json create mode 100644 resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V3Plus 0.4 nozzle.json create mode 100644 resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V3Plus 0.4 nozzle.json create mode 100644 resources/profiles/Creality/process/0.24mm Optimal @Creality Ender3V3Plus 0.6 nozzle.json create mode 100644 resources/profiles/Creality/process/0.30mm Standard @Creality Ender3V3Plus 0.6 nozzle.json create mode 100644 resources/profiles/Creality/process/0.36mm Draft @Creality Ender3V3Plus 0.6 nozzle.json diff --git a/resources/profiles/Creality.json b/resources/profiles/Creality.json index a72b06b076b..a175399367c 100644 --- a/resources/profiles/Creality.json +++ b/resources/profiles/Creality.json @@ -64,6 +64,10 @@ "name": "Creality Ender-3 V3", "sub_path": "machine/Creality Ender-3 V3.json" }, + { + "name": "Creality Ender-3 V3 Plus", + "sub_path": "machine/Creality Ender-3 V3 Plus.json" + }, { "name": "Creality Ender-5", "sub_path": "machine/Creality Ender-5.json" @@ -334,6 +338,10 @@ "name": "0.12mm Fine @Creality Ender3V3", "sub_path": "process/0.12mm Fine @Creality Ender3V3 0.4 nozzle.json" }, + { + "name": "0.12mm Fine @Creality Ender3V3Plus", + "sub_path": "process/0.12mm Fine @Creality Ender3V3Plus 0.4 nozzle.json" + }, { "name": "0.12mm Detail @Creality Ender5Pro (2019) 0.2", "sub_path": "process/0.12mm Detail @Creality Ender5Pro (2019) 0.2.json" @@ -462,6 +470,10 @@ "name": "0.16mm Optimal @Creality Ender3V3", "sub_path": "process/0.16mm Optimal @Creality Ender3V3 0.4 nozzle.json" }, + { + "name": "0.16mm Optimal @Creality Ender3V3Plus", + "sub_path": "process/0.16mm Optimal @Creality Ender3V3Plus 0.4 nozzle.json" + }, { "name": "0.16mm Optimal @Creality Ender5", "sub_path": "process/0.16mm Optimal @Creality Ender5.json" @@ -626,6 +638,10 @@ "name": "0.20mm Standard @Creality Ender3V3", "sub_path": "process/0.20mm Standard @Creality Ender3V3 0.4 nozzle.json" }, + { + "name": "0.20mm Standard @Creality Ender3V3Plus", + "sub_path": "process/0.20mm Standard @Creality Ender3V3Plus 0.4 nozzle.json" + }, { "name": "0.20mm Standard @Creality Ender5", "sub_path": "process/0.20mm Standard @Creality Ender5.json" @@ -766,6 +782,14 @@ "name": "0.24mm Draft @Creality Ender3V3", "sub_path": "process/0.24mm Optimal @Creality Ender3V3 0.6 nozzle.json" }, + { + "name": "0.24mm Draft @Creality Ender3V3Plus", + "sub_path": "process/0.24mm Draft @Creality Ender3V3Plus 0.4 nozzle.json" + }, + { + "name": "0.24mm Optimal @Creality Ender3V3Plus", + "sub_path": "process/0.24mm Optimal @Creality Ender3V3Plus 0.6 nozzle.json" + }, { "name": "0.24mm Draft @Creality Ender3S1Plus 0.2", "sub_path": "process/0.24mm Draft @Creality Ender3S1Plus 0.2.json" @@ -826,6 +850,14 @@ "name": "0.36mm Draft @Creality Ender3V3", "sub_path": "process/0.36mm Draft @Creality Ender3V3 0.6 nozzle.json" }, + { + "name": "0.30mm Standard @Creality Ender3V3Plus", + "sub_path": "process/0.30mm Standard @Creality Ender3V3Plus 0.6 nozzle.json" + }, + { + "name": "0.36mm Draft @Creality Ender3V3Plus", + "sub_path": "process/0.36mm Draft @Creality Ender3V3Plus 0.6 nozzle.json" + }, { "name": "0.28mm SuperDraft @Creality CR-6 0.4", "sub_path": "process/0.28mm SuperDraft @Creality CR-6 0.4.json" @@ -1310,6 +1342,14 @@ "name": "Creality Ender-3 V3 0.6 nozzle", "sub_path": "machine/Creality Ender-3 V3 0.6 nozzle.json" }, + { + "name": "Creality Ender-3 V3 Plus 0.4 nozzle", + "sub_path": "machine/Creality Ender-3 V3 Plus 0.4 nozzle.json" + }, + { + "name": "Creality Ender-3 V3 Plus 0.6 nozzle", + "sub_path": "machine/Creality Ender-3 V3 Plus 0.6 nozzle.json" + }, { "name": "Creality Ender-5 0.4 nozzle", "sub_path": "machine/Creality Ender-5 0.4 nozzle.json" diff --git a/resources/profiles/Creality/Creality Ender-3 V3 Plus_cover.png b/resources/profiles/Creality/Creality Ender-3 V3 Plus_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..1c33bec2f2488680ab346b2d10b4583bb59a2e72 GIT binary patch literal 25241 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 WiwOmW==Wa}03|tf*(Pa=|NaL({4WUr literal 0 HcmV?d00001 diff --git a/resources/profiles/Creality/creality_ender3v3plus_buildplate_model.stl b/resources/profiles/Creality/creality_ender3v3plus_buildplate_model.stl new file mode 100644 index 0000000000000000000000000000000000000000..c742406e33e5cb74d8ce56774d6dfb81c9582c0a GIT binary patch literal 289684 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%0D4gk>eeLo+EZhR<5!ND-%>m zjJqfeciAqZy=eKip~;4uY+`+opcSjIGC_sJvCF67HhZd%TX(!7>A&B))&~h%u?q7d z5>!aMcD`97e4P3?c=>0Oi!WHk`XE6oR$*R5f(nV<)=0upSF4Xh{f1QjNqdl>6{|2W zB0+`39?fyM!$S2T=ODjKe2}0Ot1$Dt1OycluO1PH%PrN*MvRFP(-v}t#Rmymu?i~_ zR7i{*6o)Twt3D*AB(}r{30koV^CA*dNF26896oZU`jEe^eS`$9ScRFjA0ViZ*nRP= z9+ckYh>DOTXvHe5Oi&>q{$5RhY|(mY_mH^5b5i`p9#84M8hbVJ^2@ zf(i-A^CNdtA9??)A!sF|kJfE&jIsok&cyf$@FD%Lh7ek&IEiT7`7L0p;G^-VvtK1k4t zRhW%kM^GVgXdmAv2MJoS3bQ%U5mZP_U8W6rS7J(HOMH-^6{|3t+Z{oL#I6I)o8E5x zFn>ER{m_n4BxuDd%#Klxph9BuR#`ph#z7%sIS&%FVio3mSb_=(@mGxJ`L#;K2MJoS z3Uk-W5>!aYbt~>m@;0v_XvHebwYepzkdXE-?yvILts!W|D$K>MC8&^)I45s+zZk|hO2wJfUbGgJ4R7gl(Del|zoLEE9idC4)iI$*3Lh@r# zf8@EnhM*OzFqhjcL4}0m`J#@}{wM80f>tv6XbtDaDC>htXF@AIFZyDKG4XA4d!#2% z8E@-BRfO)hWzP|9>-MO!3M&&-NUU>#sRxH;v=_~o>?PlAwu1FRf>x};$^;b>n=ftV z2X|H0#=@OVr1JO`lEVpZFj_D^_7<{u~6A5^+}?9{Q;IkaLi85g#P>fEBASFCsyO zM3;%??d8RK<=0BuLawm*AVDiuVO~Un3W?rp#o>e7s1J!Li7oL#f>x};%=!`#R7%9J z&EY0zs1NBI(nrJxiNj#UD$I*WP$99x*V#MnSzP5rMSPH;6{|4k!xB_Vg!zSkS-E%K z9{HL3dLBB`%db)^R$=a1S%L})xo+?6sXp=+tRZN{D$KRHC8&^)_FwCA^^r$n4M8hb zVJ>zpL8U~P$RG5)`pA1!4I$C4R;XFWIM@OKJ#Ou?lm!#1d3UNM8BL ze91G5t31O6(&i*+#VX9@L`zU1A^GvE(dr}5?KK3gScSRVZV4(RB+rkWs6O&Bs)nGI zj6PboxiQKTR5}w=BlxJ8epo{YtyZkUtPe*}A#ufRrXFL`l0nff>x};?6q

    eTpcShy+Xo#%g~a69t*!^#%;3wphz}C9Vii^J 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 literal 0 HcmV?d00001 diff --git a/resources/profiles/Creality/creality_ender3v3plus_buildplate_texture.png.png b/resources/profiles/Creality/creality_ender3v3plus_buildplate_texture.png.png new file mode 100644 index 0000000000000000000000000000000000000000..4dcf16e604f5f83890d32f4f75d7805c9d969459 GIT binary patch literal 13629 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 gR>{D4T+BZ Date: Fri, 24 May 2024 20:11:19 -0500 Subject: [PATCH 065/178] Flatpak build (#4175) * Initial commit for the builder * fix wx, use hack to install into /app * add some workarounds for /usr/local * fix up rest of paths * attempt to fix wxwebview undef * figure out why wxwidgets isnt getting its patches applied * do "proper" patching of wxwidgets * Flip the flag * actually append the /usr/local * restrict package finding to flatpak only * Update the destdir stuff for mpfr, gmp * Transfer over all the _destdir, again * update patch command for all other plats * initial ci check * what even happened * clear ci image * I doubt this will do anything * do cleanup after running each step * remove build objects for flatpak ci * compress debug info * Fix MacOS build * Try saving space after building deps * No debug info for now * Do debug info, use thin static archives * use BSD flag, not --thin * try building with lto * Use release, no debug info * remove lto * Revert the last 5 commits * It might require write perms * Revert "It might require write perms" This reverts commit 44cec58a5713cb5ebbc44e64e314b88b553b8f75. * Import fixes for merge * remove some patch stuff * the worst hack! * remove uneeded patches * Initial commit for the builder * note to self, go back to regular wx * attempt to fix wxwebview undef * do "proper" patching of wxwidgets * update patch command for all other plats * what even happened * -ldep_name-NOTFOUND is still here * concat patches * Build wx with flatpak * more wx shenatigans * fix a missing import * build wx with proper flags * fix imports and libs * trigger ci * try fixing mac and windows ci * remove duplicate definition of freetype * curl may not have openssl for a dep * has openssl been found? * force building * build images on apple * cleanup for review * cleanup cmake files --------- Co-authored-by: SoftFever --- .github/workflows/build_all.yml | 19 +- .gitignore | 3 +- CMakeLists.txt | 37 +- deps/CMakeLists.txt | 121 +++++- deps/CURL/CURL.cmake | 7 +- deps/GMP/GMP.cmake | 17 +- deps/MPFR/MPFR.cmake | 19 +- deps/OCCT/OCCT.cmake | 4 +- deps/OpenEXR/OpenEXR.cmake | 6 +- deps/OpenSSL/OpenSSL.cmake | 6 +- deps/TBB/GNU.cmake | 79 ++++ deps/TBB/TBB.cmake | 8 +- deps/wxWidgets/wxWidgets.cmake | 11 +- flatpak/.gitignore | 2 + flatpak/README.md | 3 + flatpak/entrypoint | 15 + flatpak/images/1.png | Bin 0 -> 286580 bytes flatpak/images/2.png | Bin 0 -> 999522 bytes ...o.github.softfever.OrcaSlicer.metainfo.xml | 48 +++ flatpak/io.github.softfever.OrcaSlicer.yml | 344 ++++++++++++++++++ flatpak/set-dark-theme-variant.py | 85 +++++ flatpak/umount | 10 + src/libslic3r/ParameterUtils.cpp | 1 + src/slic3r/CMakeLists.txt | 12 +- src/slic3r/GUI/Field.hpp | 1 + src/slic3r/GUI/Gizmos/GLGizmosManager.hpp | 1 + src/slic3r/GUI/HttpServer.hpp | 1 + src/slic3r/GUI/Jobs/OAuthJob.cpp | 3 +- src/slic3r/GUI/Jobs/OAuthJob.hpp | 3 + src/slic3r/GUI/PrinterWebView.hpp | 2 +- src/slic3r/GUI/WebViewDialog.hpp | 2 +- src/slic3r/Utils/SimplyPrint.cpp | 2 + src/slic3r/Utils/SimplyPrint.hpp | 2 +- 33 files changed, 790 insertions(+), 84 deletions(-) create mode 100644 deps/TBB/GNU.cmake create mode 100644 flatpak/.gitignore create mode 100644 flatpak/README.md create mode 100644 flatpak/entrypoint create mode 100644 flatpak/images/1.png create mode 100644 flatpak/images/2.png create mode 100755 flatpak/io.github.softfever.OrcaSlicer.metainfo.xml create mode 100755 flatpak/io.github.softfever.OrcaSlicer.yml create mode 100644 flatpak/set-dark-theme-variant.py create mode 100755 flatpak/umount diff --git a/.github/workflows/build_all.yml b/.github/workflows/build_all.yml index e5997c2e707..9c308de2164 100644 --- a/.github/workflows/build_all.yml +++ b/.github/workflows/build_all.yml @@ -58,4 +58,21 @@ jobs: os: ${{ matrix.os }} arch: ${{ matrix.arch }} build-deps-only: ${{ inputs.build-deps-only || false }} - secrets: inherit \ No newline at end of file + secrets: inherit + flatpak: + name: "Flatpak" + runs-on: ubuntu-latest + container: + image: bilelmoussaoui/flatpak-github-actions:gnome-45 + options: --privileged + steps: + # maybe i'm too dumb and fucked up to do CI. OH WELL :D -ppd + - name: "Remove unneeded stuff to free disk space" + run: + sudo rm -rf /usr/share/dotnet /opt/ghc "/usr/local/share/boost" "$AGENT_TOOLSDIRECTORY" + - uses: actions/checkout@v4 + - uses: flatpak/flatpak-github-actions/flatpak-builder@v6 + with: + bundle: orcaslicer.flatpak + manifest-path: flatpak/io.github.softfever.OrcaSlicer.yml + cache-key: flatpak-builder-${{ github.sha }} diff --git a/.gitignore b/.gitignore index 4ec8a2075e4..df5239095e7 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,5 @@ src/OrcaSlicer-doc/ **/filament_full/ /deps/DL_CACHE/ /deps/DL_CACHE -resources/profiles/user/default \ No newline at end of file +**/.flatpak-builder/ +resources/profiles/user/default diff --git a/CMakeLists.txt b/CMakeLists.txt index d0cec2845e9..8854ab903de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -271,9 +271,18 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431 # We will turn the warning of for GCC for now: if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + # GCC generates loads of -Wunknown-pragmas when compiling igl. The fix is not easy due to a bug in gcc, see + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66943 or + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431 + # We will turn the warning of for GCC for now: add_compile_options(-Wno-unknown-pragmas) endif() + # Bit of a hack for flatpak building: compress the debug info with zstd to save space in CI + if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 13.0) + add_compile_options(-gz=zstd) + endif() + endif() if (SLIC3R_ASAN) @@ -382,9 +391,7 @@ endif() # set(Boost_COMPILER "-mgw81") # boost::process was introduced first in version 1.64.0, # boost::beast::detail::base64 was introduced first in version 1.66.0 -set(MINIMUM_BOOST_VERSION "1.66.0") -set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams;program_options") -find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components}) +find_package(Boost 1.66 REQUIRED COMPONENTS system filesystem thread log locale regex chrono atomic date_time iostreams program_options) add_library(boost_libs INTERFACE) add_library(boost_headeronly INTERFACE) @@ -410,28 +417,8 @@ function(slic3r_remap_configs targets from_Cfg to_Cfg) endif() endfunction() -if(TARGET Boost::system) - message(STATUS "Boost::boost exists") - target_link_libraries(boost_headeronly INTERFACE Boost::boost) - - # Only from cmake 3.12 - # list(TRANSFORM _boost_components PREPEND Boost:: OUTPUT_VARIABLE _boost_targets) - set(_boost_targets "") - foreach(comp ${_boost_components}) - list(APPEND _boost_targets "Boost::${comp}") - endforeach() - - target_link_libraries(boost_libs INTERFACE - boost_headeronly # includes the custom compile definitions as well - ${_boost_targets} - ) - slic3r_remap_configs("${_boost_targets}" RelWithDebInfo Release) -else() - target_include_directories(boost_headeronly INTERFACE ${Boost_INCLUDE_DIRS}) - target_link_libraries(boost_libs INTERFACE boost_headeronly ${Boost_LIBRARIES}) -endif() - - +target_include_directories(boost_headeronly INTERFACE ${Boost_INCLUDE_DIRS}) +target_link_libraries(boost_libs INTERFACE boost_headeronly ${Boost_LIBRARIES}) # Find and configure intel-tbb if(SLIC3R_STATIC) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index a21cc1bb5cc..4bd3470d441 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -42,6 +42,10 @@ endif () set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir" CACHE PATH "Destination directory") set(DEP_DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/../DL_CACHE CACHE PATH "Path for downloaded source packages.") +set(FLATPAK FALSE CACHE BOOL "Toggles various build settings for flatpak, like /usr/local in DESTDIR or not building wxwidgets") +if (NOT FLATPAK) + set(DESTDIR "${DESTDIR}/usr/local/") +endif() get_property(_is_multi GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) @@ -120,13 +124,13 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE) ExternalProject_Add( dep_${projectname} EXCLUDE_FROM_ALL ON - INSTALL_DIR ${DESTDIR}/usr/local + INSTALL_DIR ${DESTDIR} DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname} ${_gen} CMAKE_ARGS - -DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local + -DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR} -DCMAKE_MODULE_PATH:STRING=${PROJECT_SOURCE_DIR}/../cmake/modules - -DCMAKE_PREFIX_PATH:STRING=${DESTDIR}/usr/local + -DCMAKE_PREFIX_PATH:STRING=${DESTDIR} -DCMAKE_DEBUG_POSTFIX:STRING=d -DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER} @@ -140,16 +144,26 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE) BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j} INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release ) -else() +elseif(FLATPAK) + # the only reason this is here is because of the HACK at the bottom for ci + # + # note for future devs: shared libs may actually create a size reduction + # but orcaslicer_deps tends to get really funny regarding linking after that (notably boost) + # so, as much as I would like to use that, it's not happening ExternalProject_Add( dep_${projectname} EXCLUDE_FROM_ALL ON - INSTALL_DIR ${DESTDIR}/usr/local + INSTALL_DIR ${DESTDIR} DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname} ${_gen} CMAKE_ARGS - -DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local - -DCMAKE_PREFIX_PATH:STRING=${DESTDIR}/usr/local + -DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR} + -DCMAKE_MODULE_PATH:STRING=${PROJECT_SOURCE_DIR}/../cmake/modules + -DCMAKE_PREFIX_PATH:STRING=${DESTDIR} + -DCMAKE_DEBUG_POSTFIX:STRING=d + -DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER} + -DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER} + -DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE} -DBUILD_SHARED_LIBS:BOOL=OFF ${_cmake_osx_arch} "${_configs_line}" @@ -158,6 +172,29 @@ else() ${P_ARGS_UNPARSED_ARGUMENTS} BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j} INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release + # HACK: save space after each compile job, because CI + # reasoning: cmake changes directory after this command, so just keep only the folders + # so that it can navigate out + COMMAND find "${CMAKE_BINARY_DIR}/dep_${projectname}-prefix/" -type f -delete + ) +else() + ExternalProject_Add( + dep_${projectname} + EXCLUDE_FROM_ALL ON + INSTALL_DIR ${DESTDIR} + DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname} + ${_gen} + CMAKE_ARGS + -DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR} + -DCMAKE_PREFIX_PATH:STRING=${DESTDIR} + -DBUILD_SHARED_LIBS:BOOL=OFF + ${_cmake_osx_arch} + "${_configs_line}" + ${DEP_CMAKE_OPTS} + ${P_ARGS_CMAKE_ARGS} + ${P_ARGS_UNPARSED_ARGUMENTS} + BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j} + INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release ) endif() @@ -203,6 +240,20 @@ else() include("deps-linux.cmake") endif() +if(FLATPAK) + # flatpak bundles some deps with the layer, so attempt to find them first + # also, yes, this reduces CI by not needing to vendor certain deps + find_package(ZLIB) + find_package(PNG) + find_package(EXPAT) + find_package(CURL) + find_package(JPEG) + find_package(TIFF) + find_package(Freetype) + find_package(OpenSSL 1.1...<3.2) + find_package(CURL) +endif() + set(ZLIB_PKG "") if (NOT ZLIB_FOUND) include(ZLIB/ZLIB.cmake) @@ -214,6 +265,7 @@ if (NOT PNG_FOUND) set(PNG_PKG dep_PNG) endif () set(EXPAT_PKG "") +find_package(EXPAT) if (NOT EXPAT_FOUND) include(EXPAT/EXPAT.cmake) set(EXPAT_PKG dep_EXPAT) @@ -226,6 +278,7 @@ include(Boost/Boost.cmake) include(Cereal/Cereal.cmake) include(Qhull/Qhull.cmake) include(GLEW/GLEW.cmake) + include(GLFW/GLFW.cmake) include(OpenCSG/OpenCSG.cmake) @@ -241,34 +294,69 @@ include(CGAL/CGAL.cmake) include(NLopt/NLopt.cmake) -include(OpenSSL/OpenSSL.cmake) +# I *think* 1.1 is used for *just* md5 hashing? +# 3.1 has everything in the right place, but the md5 funcs used are deprecated +# a grep across the repo shows it is used for other things +# TODO: update openssl and everything that uses +set(OPENSSL_PKG "") +if(NOT OPENSSL_FOUND) + include(OpenSSL/OpenSSL.cmake) + set(OPENSSL_PKG dep_OpenSSL) +endif() + +# we don't want to load a "wrong" openssl when loading curl +# so, just don't even bother +# ...i think this is how it works? change if wrong set(CURL_PKG "") -if (NOT CURL_FOUND) +if (NOT OPENSSL_FOUND OR NOT CURL_FOUND) include(CURL/CURL.cmake) set(CURL_PKG dep_CURL) endif () -include(JPEG/JPEG.cmake) -include(TIFF/TIFF.cmake) -include(wxWidgets/wxWidgets.cmake) +set(JPEG_PKG "") +if (NOT JPEG_FOUND) + include(JPEG/JPEG.cmake) + set(JPEG_PKG dep_JPEG) +endif() + +set(TIFF_PKG "") +if (NOT TIFF_FOUND) + include(TIFF/TIFF.cmake) + set(TIFF_PKG "dep_TIFF") +endif() + +# flatpak builds wxwidgets separately +set(WXWIDGETS_PKG "") +if (NOT FLATPAK) + include(wxWidgets/wxWidgets.cmake) + set(WXWIDGETS_PKG "dep_wxWidgets") +endif() + +set(FREETYPE_PKG "") +if(NOT FREETYPE_FOUND) + include(FREETYPE/FREETYPE.cmake) + set(FREETYPE_PKG "dep_FREETYPE") +endif() + include(OCCT/OCCT.cmake) include(OpenCV/OpenCV.cmake) -include(FREETYPE/FREETYPE.cmake) set(_dep_list dep_Boost dep_TBB + ${OPENSSL_PKG} ${CURL_PKG} - dep_wxWidgets + ${WXWIDGETS_PKG} dep_Cereal dep_NLopt dep_OpenVDB dep_OpenCSG dep_OpenCV dep_CGAL - dep_OpenSSL dep_GLFW + dep_OCCT + ${FREETYPE_PKG} ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} @@ -283,9 +371,6 @@ else() #list(APPEND _dep_list "dep_libigl") endif() -list(APPEND _dep_list "dep_OCCT") -list(APPEND _dep_list "dep_FREETYPE") - add_custom_target(deps ALL DEPENDS ${_dep_list}) # Note: I'm not using any of the LOG_xxx options in ExternalProject_Add() commands diff --git a/deps/CURL/CURL.cmake b/deps/CURL/CURL.cmake index 9846c7c9c6f..a5ae1b9d00c 100644 --- a/deps/CURL/CURL.cmake +++ b/deps/CURL/CURL.cmake @@ -72,9 +72,10 @@ orcaslicer_add_cmake_project(CURL ${_curl_platform_flags} ) -# if (APPLE OR (CMAKE_SYSTEM_NAME STREQUAL "Linux")) - add_dependencies(dep_CURL dep_OpenSSL) -# endif () +if(NOT OPENSSL_FOUND) + # (openssl may or may not be built) + add_dependencies(dep_CURL ${OPENSSL_PKG}) +endif() if (MSVC) add_debug_dep(dep_CURL) diff --git a/deps/GMP/GMP.cmake b/deps/GMP/GMP.cmake index 8629f834fae..4f79a657316 100644 --- a/deps/GMP/GMP.cmake +++ b/deps/GMP/GMP.cmake @@ -1,17 +1,16 @@ set(_srcdir ${CMAKE_CURRENT_LIST_DIR}/gmp) -set(_dstdir ${DESTDIR}/usr/local) if (MSVC) - set(_output ${_dstdir}/include/gmp.h - ${_dstdir}/lib/libgmp-10.lib - ${_dstdir}/bin/libgmp-10.dll) + set(_output ${DESTDIR}/include/gmp.h + ${DESTDIR}/lib/libgmp-10.lib + ${DESTDIR}/bin/libgmp-10.dll) add_custom_command( OUTPUT ${_output} - COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/gmp.h ${_dstdir}/include/ - COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.lib ${_dstdir}/lib/ - COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.dll ${_dstdir}/bin/ + COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/gmp.h ${DESTDIR}/include/ + COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.lib ${DESTDIR}/lib/ + COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.dll ${DESTDIR}/bin/ ) add_custom_target(dep_GMP SOURCES ${_output}) @@ -61,8 +60,8 @@ else () URL_HASH SHA256=eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/GMP BUILD_IN_SOURCE ON - CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}/usr/local" ${_gmp_build_tgt} + CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}" ${_gmp_build_tgt} BUILD_COMMAND make -j INSTALL_COMMAND make install ) -endif () \ No newline at end of file +endif () diff --git a/deps/MPFR/MPFR.cmake b/deps/MPFR/MPFR.cmake index 30ceca90b39..1161a1ca6e9 100644 --- a/deps/MPFR/MPFR.cmake +++ b/deps/MPFR/MPFR.cmake @@ -1,18 +1,17 @@ set(_srcdir ${CMAKE_CURRENT_LIST_DIR}/mpfr) -set(_dstdir ${DESTDIR}/usr/local) if (MSVC) - set(_output ${_dstdir}/include/mpfr.h - ${_dstdir}/include/mpf2mpfr.h - ${_dstdir}/lib/libmpfr-4.lib - ${_dstdir}/bin/libmpfr-4.dll) + set(_output ${DESTDIR}/include/mpfr.h + ${DESTDIR}/include/mpf2mpfr.h + ${DESTDIR}/lib/libmpfr-4.lib + ${DESTDIR}/bin/libmpfr-4.dll) add_custom_command( OUTPUT ${_output} - COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/mpfr.h ${_dstdir}/include/ - COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/mpf2mpfr.h ${_dstdir}/include/ - COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libmpfr-4.lib ${_dstdir}/lib/ - COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libmpfr-4.dll ${_dstdir}/bin/ + COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/mpfr.h ${DESTDIR}/include/ + COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/mpf2mpfr.h ${DESTDIR}/include/ + COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libmpfr-4.lib ${DESTDIR}/lib/ + COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libmpfr-4.dll ${DESTDIR}/bin/ ) add_custom_target(dep_MPFR SOURCES ${_output}) @@ -31,7 +30,7 @@ else () DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/MPFR BUILD_IN_SOURCE ON CONFIGURE_COMMAND autoreconf -f -i && - env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --prefix=${DESTDIR}/usr/local --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR}/usr/local ${_gmp_build_tgt} + env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --prefix=${DESTDIR} --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR} ${_gmp_build_tgt} BUILD_COMMAND make -j INSTALL_COMMAND make install DEPENDS dep_GMP diff --git a/deps/OCCT/OCCT.cmake b/deps/OCCT/OCCT.cmake index 541412b1cab..651e40ec83c 100644 --- a/deps/OCCT/OCCT.cmake +++ b/deps/OCCT/OCCT.cmake @@ -14,7 +14,7 @@ orcaslicer_add_cmake_project(OCCT #PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch PATCH_COMMAND git apply --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch #DEPENDS dep_Boost - #DEPENDS dep_FREETYPE + DEPENDS ${FREETYPE_PKG} CMAKE_ARGS -DBUILD_LIBRARY_TYPE=${library_build_type} -DUSE_TK=OFF @@ -31,4 +31,4 @@ orcaslicer_add_cmake_project(OCCT -DBUILD_MODULE_Visualization=OFF ) -add_dependencies(dep_OCCT dep_FREETYPE) +# add_dependencies(dep_OCCT ${FREETYPE_PKG}) diff --git a/deps/OpenEXR/OpenEXR.cmake b/deps/OpenEXR/OpenEXR.cmake index 6aea12b1f27..dd754d3a383 100644 --- a/deps/OpenEXR/OpenEXR.cmake +++ b/deps/OpenEXR/OpenEXR.cmake @@ -15,11 +15,11 @@ if (APPLE AND IS_CROSS_COMPILE) EXCLUDE_FROM_ALL ON URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip URL_HASH SHA256=0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de - INSTALL_DIR ${DESTDIR}/usr/local + INSTALL_DIR ${DESTDIR} DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenEXR ${_openxr_list_sep} CMAKE_ARGS - -DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local + -DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_TESTING=OFF @@ -54,4 +54,4 @@ endif() if (MSVC) add_debug_dep(dep_OpenEXR) -endif () \ No newline at end of file +endif () diff --git a/deps/OpenSSL/OpenSSL.cmake b/deps/OpenSSL/OpenSSL.cmake index 0adbaab43e6..45f82ec5890 100644 --- a/deps/OpenSSL/OpenSSL.cmake +++ b/deps/OpenSSL/OpenSSL.cmake @@ -46,8 +46,8 @@ ExternalProject_Add(dep_OpenSSL # URL_HASH SHA256=8c776993154652d0bb393f506d850b811517c8bd8d24b1008aef57fbe55d3f31 DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenSSL CONFIGURE_COMMAND ${_conf_cmd} ${_cross_arch} - "--openssldir=${DESTDIR}/usr/local" - "--prefix=${DESTDIR}/usr/local" + "--openssldir=${DESTDIR}" + "--prefix=${DESTDIR}" ${_cross_comp_prefix_line} no-shared no-asm @@ -61,6 +61,6 @@ ExternalProject_Add(dep_OpenSSL ExternalProject_Add_Step(dep_OpenSSL install_cmake_files DEPENDEES install - COMMAND ${CMAKE_COMMAND} -E copy_directory openssl "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/openssl" + COMMAND ${CMAKE_COMMAND} -E copy_directory openssl "${DESTDIR}${CMAKE_INSTALL_LIBDIR}/cmake/openssl" WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}" ) diff --git a/deps/TBB/GNU.cmake b/deps/TBB/GNU.cmake new file mode 100644 index 00000000000..a0ba4e5df7c --- /dev/null +++ b/deps/TBB/GNU.cmake @@ -0,0 +1,79 @@ +# Copyright (c) 2020-2021 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +if (MINGW) + set(TBB_LINK_DEF_FILE_FLAG "") + set(TBB_DEF_FILE_PREFIX "") +elseif (APPLE) + set(TBB_LINK_DEF_FILE_FLAG -Wl,-exported_symbols_list,) + set(TBB_DEF_FILE_PREFIX mac${TBB_ARCH}) + + # For correct ucontext.h structures layout + set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -D_XOPEN_SOURCE) +else() + set(TBB_LINK_DEF_FILE_FLAG -Wl,--version-script=) + set(TBB_DEF_FILE_PREFIX lin${TBB_ARCH}) +endif() + +# Add -Wno-error=stringop-overflow to fix GCC 12+ build as suggested on https://github.com/oneapi-src/oneTBB/issues/843#issuecomment-1152646035 +set(TBB_WARNING_LEVEL -Wall -Wextra $<$:-Werror> -Wfatal-errors -Wno-error=stringop-overflow) +set(TBB_TEST_WARNING_FLAGS -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor) + +# Depfile options (e.g. -MD) are inserted automatically in some cases. +# Don't add -MMD to avoid conflicts in such cases. +if (NOT CMAKE_GENERATOR MATCHES "Ninja" AND NOT CMAKE_CXX_DEPENDS_USE_COMPILER) + set(TBB_MMD_FLAG -MMD) +endif() + +# Enable Intel(R) Transactional Synchronization Extensions (-mrtm) and WAITPKG instructions support (-mwaitpkg) on relevant processors +if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64)") + set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -mrtm $<$>,$>>:-mwaitpkg>) +endif() + +if (NOT MINGW) + set(TBB_COMMON_LINK_LIBS dl) +endif() + +# Ignore -Werror set through add_compile_options() or added to CMAKE_CXX_FLAGS if TBB_STRICT is disabled. +if (NOT TBB_STRICT AND COMMAND tbb_remove_compile_flag) + tbb_remove_compile_flag(-Werror) +endif() + +if (NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL Intel) + # gcc 6.0 and later have -flifetime-dse option that controls elimination of stores done outside the object lifetime + set(TBB_DSE_FLAG $<$>:-flifetime-dse=1>) +endif() + +# Workaround for heavy tests and too many symbols in debug (rellocation truncated to fit: R_MIPS_CALL16) +if ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "mips") + set(TBB_TEST_COMPILE_FLAGS ${TBB_TEST_COMPILE_FLAGS} -DTBB_TEST_LOW_WORKLOAD $<$:-mxgot>) +endif() + +if (MINGW) + list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__) +endif() + +# For some reason GCC does not instrument code with Thread Sanitizer when lto is enabled and C linker is used. +if (NOT TBB_SANITIZE MATCHES "thread") + set(TBB_IPO_COMPILE_FLAGS $<$>:-flto>) + set(TBB_IPO_LINK_FLAGS $<$>:-flto>) +endif() + +# Disable lto flag +set(TBB_IPO_COMPILE_FLAGS "") +set(TBB_IPO_LINK_FLAGS "") + +# TBB malloc settings +set(TBBMALLOC_LIB_COMPILE_FLAGS -fno-rtti -fno-exceptions) +set(TBB_OPENMP_FLAG -fopenmp) diff --git a/deps/TBB/TBB.cmake b/deps/TBB/TBB.cmake index 6bf28ca2ec6..13d40c05738 100644 --- a/deps/TBB/TBB.cmake +++ b/deps/TBB/TBB.cmake @@ -1,8 +1,14 @@ +if (FLATPAK) + set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/GNU.cmake ./cmake/compilers/GNU.cmake) +else() + set(_patch_command "") +endif() + orcaslicer_add_cmake_project( TBB URL "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.5.0.zip" URL_HASH SHA256=83ea786c964a384dd72534f9854b419716f412f9d43c0be88d41874763e7bb47 - #PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-TBB-GCC13.patch + PATCH_COMMAND ${_patch_command} CMAKE_ARGS -DTBB_BUILD_SHARED=OFF -DTBB_BUILD_TESTS=OFF diff --git a/deps/wxWidgets/wxWidgets.cmake b/deps/wxWidgets/wxWidgets.cmake index b7f852d2443..1097e6cfc0f 100644 --- a/deps/wxWidgets/wxWidgets.cmake +++ b/deps/wxWidgets/wxWidgets.cmake @@ -17,11 +17,16 @@ else () set(_wx_edge "-DwxUSE_WEBVIEW_EDGE=OFF") endif () +# Note: The flatpak build builds wxwidgets separately due to CI size constraints. +# ANY CHANGES MADE IN HERE MUST ALSO BE REFLECTED IN `flatpak/io.github.SoftFever.OrcaSlicer.yml`. +# ** THIS INCLUDES BUILD ARGS. ** +# ...if you can find a way around this size limitation, be my guest. + orcaslicer_add_cmake_project( wxWidgets GIT_REPOSITORY "https://github.com/SoftFever/Orca-deps-wxWidgets" GIT_SHALLOW ON - DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} dep_TIFF dep_JPEG + DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} ${TIFF_PKG} ${JPEG_PKG} CMAKE_ARGS -DwxBUILD_PRECOMP=ON ${_wx_toolkit} @@ -34,6 +39,7 @@ orcaslicer_add_cmake_project( -DwxUSE_UNICODE=ON ${_wx_private_font} -DwxUSE_OPENGL=ON + -DwxUSE_WEBREQUEST=ON -DwxUSE_WEBVIEW=ON ${_wx_edge} -DwxUSE_WEBVIEW_IE=OFF @@ -47,9 +53,10 @@ orcaslicer_add_cmake_project( -DwxUSE_ZLIB=sys -DwxUSE_LIBJPEG=sys -DwxUSE_LIBTIFF=sys + -DwxUSE_NANOSVG=OFF -DwxUSE_EXPAT=sys ) if (MSVC) add_debug_dep(dep_wxWidgets) -endif () \ No newline at end of file +endif () diff --git a/flatpak/.gitignore b/flatpak/.gitignore new file mode 100644 index 00000000000..49269ac6b0d --- /dev/null +++ b/flatpak/.gitignore @@ -0,0 +1,2 @@ +builddir +.flatpak-builder diff --git a/flatpak/README.md b/flatpak/README.md new file mode 100644 index 00000000000..4445f1e869f --- /dev/null +++ b/flatpak/README.md @@ -0,0 +1,3 @@ +# OrcaSlicer + +This is basically a copy of [com.bambulab.BambuStudio](https://github.com/flathub/com.bambulab.BambuStudio). As such, same rules apply here as does over there. diff --git a/flatpak/entrypoint b/flatpak/entrypoint new file mode 100644 index 00000000000..958d1cd1300 --- /dev/null +++ b/flatpak/entrypoint @@ -0,0 +1,15 @@ +#!/usr/bin/env sh + +# Work-around https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/754 +grep -q org.freedesktop.Platform.GL.nvidia /.flatpak-info && export WEBKIT_DISABLE_DMABUF_RENDERER=1 + +# Work-around https://github.com/bambulab/BambuStudio/issues/3440 +export LC_ALL=C.UTF-8 + +if [ $BAMBU_STUDIO_DARK_THEME == true ]; then + export GTK_THEME='Adwaita:dark' + # echo "Message: $(date +%T): INFO: using dark theme variant" +fi + +exec /app/bin/orca-slicer "$@" & +$(/app/bin/set-dark-theme-variant.py) & diff --git a/flatpak/images/1.png b/flatpak/images/1.png new file mode 100644 index 0000000000000000000000000000000000000000..bf69169a022e465e3739e88a7dde994312f3263c GIT binary patch literal 286580 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

    M}bS-gO}u;euEPum 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

    a8gCu%`>9&uU){8_nROt~ zBoQg?n+xB|a3VMey{4;O(|Pl)Hw&;SvP-oFWmAr)DV**EX+CcB&G)M)zc-6}R{Rj6 zlfL@*y$xa8t|uF5P>~aOn|B?FsVH-ntq{$i;o{r(yWFrNk#_3 zt+u@1P%1kfAz{#@2CAo+jUSc6^1qaYDk7}RDW$JuN3V}O=fbA4S_}=`GSwU{ zdW_z;JLRigZ9uk`m336&9dNwID!g(dyEsBy#k+aaj0dU?rni%cFAa$gZj1@%p3>{t zM*&X4Skx%^K4OF$7rU+AhzM{g?us5gx1Z3EUp5+v{{~oU=##g>E8}v)U5vRY{#;gb zxijSYD6W9t;t8nv0BQi^*23bq)9#espRG}+$i-qU{zA>VN1#}E3mr-= zvzUIdH&ccH^hRC-Shmc3lBrOufoQSbsRJk&;b9_==E_k$rK1xYv$Fx#58N&BD^py3 z0|W41PN@TaA{o}ch@)FS1sqYOgtdZU5j;2L)%PKfnnf>Gp(J4{un1EOI&d_1YGM82 zibD1f8?x&?Sah2Dr}7ny@}JmZi^pZX^m(_qnG{m$G|#m+)ZbCSDi8%w!#9VUEG_(e zDljuP9!wJZn919=?eYhnkCbV7e=$PIjlZm<9R96FP1nej)hHt)iD2@N^#m^@*A?jD zJ4aZI4m9YQd_I3`vibMb`^6n4#8|awd@L+QviWM-oEB#*Y5LQmg>f4hDnmVHEowiU zmB;qpf3rX~E1W$4Xmx8MI)y-lta|Mq5i&7|j~j!i^_aWU5~{$aH+JStz}4&=%ZJ zWwu=ZjH;IHH~>-B46EeqQu{OWj&sPhQ;6D^#Kh2-APd?|*Z6>Rsy@{3Y}rAAVPat3 zf`1H*_5%sJ-YAs@+iFamlaLAs!5l*hU-wDOsq89w6s2Ma1IpPtlmFbcT31D%tzNbxWiz!Clqho9S(j{Qxp~EMR)#@wY?Z zqKSn(Yl{m6aZxiQW9Z*N;h!WZ6|{(KWWI$R^iJLGvlIs|}@IC#Xdx z(RbhHptZlGd2>s%sW5_(aggS;UM89A0_e>|r>EP@Z)mEjh6131pKm!kN=SXD$?-^+ zI4myPyuPlMSdG-U)4TWvL;5&XwEZf?qw-I$aqKr&iU5w6*5naA zSwwc{ee1L}oBcN`4ir|6$3qPlwnGvO3=AUY)>?McMKxIt#?J!ZJZbzpHJ`}gLiv|y zuj?g6WOr=AGreCcuOYrQOI|pK(BITP!`hCf%aq)*bwtl753*-HXwZ-YfF4(m*s^DE zN%)EUqHoYAP=y7IYpiV;puFVY1Z!Q7hWHO*xaB~kS;)+cYNh!kdgh0BrVW7t*7ax3 z-*a+Sbj}yF4x7H-Uca>8o2@n+wR&0zs6WUC}0 z2C)3SuK%=wQ^Ml~`egD?a8Y%8A}L^i1pN)y=PXIe}qzeR=XWa9QdZ zmM}uNP*TMAPEpGXE85M0!j}&7 z)S+w&xiaH2=~xql_vjd5U*gl$d$1VZe_2)PP;Po+t!Pm31eJa6Fj!~tlTW#36tGaI zdGnr}c_CgioxolB5;=5sg%FP-IC7!1Th2GZ2jh*&1^GCEAJ#o=GUa-Z5~w6yCc zkZJfCpNr+!kPQenTpm2`8y+-!isKK7D*%o*ZoE0^=UM;EAw3SSqO7bxTW-X2y;os( zbKEn}$JLhhfgzBy#io0Pli9Yk{{7$WTKbnvqz>2VVa{lurl_hja&nM?C}!7CDu0>T zIQ?S%U?VCbyy;>+Cm@lOa-qE;0zKl3gNDNo>gr*j5s)PoPE?=H%)rnJP}#$GmY}Q9 z4e%ZYI>B4Xj^S4S6r3*$l|R=HgWo(!VYhb_Y$JgbUvF|ankRjZO?36Fzm{v{GbLVA zI$L5cC^$Y#TOV$t_)j2{jwv2NYQ(=-q5?AFBrdBk5E<;b@g*?dd!6d|+!6wtdnYF+@%}wJ7;Xy- zYrh|_HR!>X=&_tFr;7yIf*=%0)+Nv{|8aq#JNU!NzCgZbez^eLlRYr1zWSBU)nT*$ zY)MDsOVqH-eb8E;eacjhpscx5EYyLn?HlmErEjgRUl>Dw&)9R$6Rs3?(mjI@usoK- zTOoL&#SDM)NGi744PAat1g_`;`dFm`|MQh0RF$2g+PAEKQYyW%dJrStA~3Z^;)Cx$XBcq30V3{}V%A%Vz_hB#YLGb@gcNJy$+MtWt{V8n>bKZA9ZNLsOU85hDG zvFH<${pjLh)gKjFSo2e}Woygy_r}KRxE3HU$XUP&Y4Z!=CTB%zU(g{++v$?Ej28n( z4A#=CSD6QagNMtQE0A~;VaLMp=G*j+5D)w`Y&RigS5QO-qu>?*L3i0uYkv zXcm%sjdcXqy$lXV&peb?tE?!|!^`Mf*yevAHJk16G?KSxLPO(-U~BKrFJ9~2b>bxxdDm&v?4&%2O#2+%Y0 zyM1Kmw?uGXg8KeP&idVp9(KuWmKad|1B3eh<3}cF-+DhRKIjAUf z*|wN|c!IXbn@n8r1r}a8%@ZJnAHS-XwT?1CL>mG{b0D5_v2oX@F7+FP9h*Srye?wl zu>Z%^TR=s*y>FmHBPgMSbSX#+64Ho(iZs$K-93~HNH-!SF@T`d&<#T?h&0kMgdjtQ zbm`r2&hOrP{w`gMrEB?p-`@Mp=Xu_J+p@fflWXQQpPasV+`l%;r)7^~;ovMWIg=oJ zF~Wb{EZ7*1Bh}qBnAlM2nMH+D2${pNruvx`*cU*AGtQ&Uw(TpG?=}vjFkzAA+@}pV zFiGAW{Q2WxpU9HwpHD7kYELx@g%)3ZuC8tbP--!H8k4Th3=tM55TBzh|ZX0bdt!p$A6o;ro~$LurR{$q1@)wys^p62fj$vr!)H%tPD5h5KET zw_w)KiS%FAarSh7ZW2C=2mY;xa$jQyUD)c~A1j-mD z9v&i~qW#g_x@yEo{pjA~bZ`uSr)R=SEwvPTkiHZduzc@QD5};wPebTV^2Lg6ZPY|# zN0YksjGRjJB2y7f4L65hosq4fnxkv88|dum-x%^)`en7Ja+$izIU{h%KhnuLNRAW# zR<Gzz^hi9LpukF?49+R9iJ-7qbp?yk;yi5~96@r0O zOM?>Hec!JED7H7e*SInE@I%IHr}q%d_Y0AdYEUeZWPlxJ!u0btRJdi>e+ECmP)+Q1 zTpmx{vOVHoG5X5iDmvvIzOE-5rK+_N9G z+PJ?@2C<0PTtCGPr~CtvR92Cw=z9RK+9a!je#`ibrJ1){sQj@cC68f&6Z<#4Tl1^6 zbqIwN_Q>PrQm(6)Kv~|$l&x=+n@}8g^T2Y=EG!Ooygq#4UHI2_jQ!-{+beGt&T@yX z)Dkjl5F@{P`*raTCq&4H(0i3tt`H8H=;Be7Et7mOLhDIl)#P)?D|MY-_e*aox4L~5 zE$1N39%!yKc>tW`!I!ndgO~8UEGv|+gic(;9gJz-_FK?k$8pSR228y~$#7+`S4LI0 zv)}H1h`)}RCsgc#`(GpOcprpZA(Z$LP5T34*Jpy(wBAE7%GD%-3_JSAI!AgZv)m1> zz<`nJ#vV`e&#nXXL%hr_X*c+qRkQ45h^PZb+}@z=feSM zV2^38c1UDzR|q(Y>K(O~-0S0DL_o_L#RG*(>cbnHRz4jEqH1!O#uP2trK6M?O7Hth zOT9Vo_xuMTy@mOYM+!8-yxyy4xK|k_dD`2?Qp>vZDy^KnG0#iZ3wE?c5^QEezBW3s zL+_(Za{5d`av@FhO4jh*?-YMF2RyY3e~fjzQef3g7y{Gj8SB?L(TH_om8PVi7%#1m zbW7FqnWvF|*02Fb7W?DERW>-B@R#+?Qi!I{odRaRfK$q16yiLjXxd=~ux^-|;rShxl5 z3-%8pf|rc-jj211>Ywdecf#6;wmi^V>qqOKJcHs3?iE>o@w#Xy)Tq^n}67FLC<3+IBv9A}5nzsowllgA#lr^WYm;We z`tNSV5bKs&A|Jfwg_yE?uxz8`5~G~Bw477=+y-9d)3QsFZGo$fQFEMb z)CilS!tuh@{->249&nwQ1TucO_AatZOv1vHRc@|ahW-4sc>xtm%84i6I>ziNS)RO* zZ#GX}L&6(X=Z);?ly_#u@&}5I6b@y1vu%{9}p4Gq!=(B`5h^{U5$V zt2o=q!L`aVBZpY8*Ar-N4DnBhwCPjZm0?zIidea~dV3&do>V8yuR9TDL;J`UQ~x@ znhv4e=SnI8S}V)%$DT3zn;`&2JLl zt-Sf8D8!WVyzYcs(v+u1Ku~1^w~Ut>36o@M|C3?n)}yA`NENQHQd5{WRi)q+_0Vd&nHMtyzC=AFCe@{m!yQqWb{JhR zEZ>ISYb#gg+)inuaA<@7(9vl~BhSy8%KH?r+WQ(y(~`h$sz$&YKNC9Q)LU%2 z&gvl6tA~OWr4&b##`(S^R`V0S{k;Rd;1pI!YBUmgF6be;5q-m_dlgx0+~XC|gw{2G8#Leq4K+XGqJPIzzc0DfD z^Jx~j)L}i)vo(j{C|8dtGK}c2_oUx6n~MQcuP+(f(jHdvgDq+wvBND64bw}Fs}VC? zA+-}r)3*YxpBIkk5)Q$fCpgeV;V-9lSm6~KeSwStq1yTS?Fh&g><<3lFCAl>*!eOgirQ7E7;B?a$EiRo=wDd8Xqv5T1TRD%JpN)A(Xuf} zj2WEn^Su~=yo_h;ew1+Kl+RyAi@38}KHTH{Tt?Z=px z#|Tm`y^?{%IG@I3hYNap_G3zi{ypVjD2U(1-uc<+b*<~{MRw^rWdQN|A3qc9zqkgn z%v9BlXWCT>R~?RqrHcnGlS-{ycW7JHH!g)gjW_nh(wDR|8+BezJiPjni4sOJ%Pw&=lsmutK`f!0A|Nn zBK;;Dp`7*PJzn)|@Em*<9}fZVEMljg^>7a^$# z-7TN^8mhv%V6BWi<`5~;ob=TFSG9<#sNSKM+}iPl(T5N3WO|Li(5hq7+Z-d@e#dvL zlV9z@JbLCmXCw8kLk%Hk`3?gTO)JQ(F7?4`99zPRAX7`GB;2Q83yogUU1GHhq_3pg z(red{EiuQ5mqE@|yi9TP1;7I{nXv!7KQzhGp}V?O!e4Crdu!P5jIzZ0pp+ zoUtcFm4C(;7T2$1c#f&F?2UnY_*Xea@kjJa?(602W&`m{BVT30Z_ugKl8q+5I9N*R z(`{VU{7}o2rV~Q{oLMdTwK{Th`?e|)-{!}E%p-{dPMfTLnG47y50x72K=_pPB#Hy= zGJcvjnd6B(CY^3JS9&Ox$JMT3m}SK4&>9XQ&K!7+v^l4FkDzfj=G67Qsq1g`V9Aku zq5Wk*a(pdAxsmYm0FdI4;QeEYix@sFqcT?!B-miHF%2MdhmAMv?$zsjE<8l;{>(Fm znsWP0$r&PFMLqaN&b!!I`fxFf5sz&@Gh`tLs72iyr^%)xA2M+`v=#_{vu^6x`L1NK zX))&ua+=a(t;00kIb->565qJs>dSz`iv;#+nuvb+tXr*>cd{+;wAlU8WE5oA$ukq_ zKL@@8>)=gc$aUlwdF&#{N#nwdf;G|cYHeFd;ll#<-D{QCN78C|dmKK=@piX&$A7hx zj8wc|ENo=6R@g%1TJD>%i+E((LA&WS||F?_b_y5U4 z3>wnB8*RqIq2udgVmQmAJQnPtHp0sA(ZNKfYQ)I*G(+Fqv}hxAuHx{Gf}QHy@PX9) zA+QllGloUjlaHHss5Pcxhc#BD^*=xPksiZ!QC?yjM8u=7t5RxFu_>Ee^jd)|JBb68 zm)LhEN~&Pnxs~kubIe9R)x?paoeHxYPI9 zu|x@CY5-Y&Mt^i`eXUlBm#r6%e*s zF+sR%!u@8lGX^<|-we~eF$5#M=qr^NY~15FM6D~{)&tpOHXd<1@k4sv?Ct4AO3%WC z^H>YUU`4BnqZUebY2O>=E|F@j9cU)DgpjkQSp(y1Cvx&{jp&vAQNlP9OkL^d)79DE z^3?e|;{;$b&NHjyFExPo4bUBxZ>-l9tQ6F+-$;(K&Qa>Hs})?iWUJF~w|_civ3LxT z#eQ~HMRoyM>Nm-CvBM9{!X#FcsU0dM`c0zAru#N!A>V}jA>)kN4s$6zVA-&Oz>y*~D`S(!B4K_^-Tr!Wi(td&gc7y41eZfz{Th#xs z(KW;85UeZ473b^|~y(x^}9Fi*#(@LM$I=Jk8ZC$+BLla1)q<~Rqy;^TViRXNt_PBuN z!ru4azdnfhGu7Ioz&tV(9y;d9j~_hy2?A^&U|w4|H3wnd%#cVxG7VGTOQ4;8$Bxic#PVbjH@% z$^4shI>&~6o@go$T=}@WZ;Q84?~pJo3Le8qoG6N=iocTK7*m%93|ZHws|93p`>vo# z^&AE&BGem;Em3l~q(O|HyP83sk=(s}hkXjez8_AUtqI(X^>n^vZ%LT#H0}8AoOvTJ zWkoMWS4H+LKDppd#y0D&U`tRdybIG@!4|g56-^H+_IO6+3#o;l6wjdfj-c4qt$h*{ zh36Pnb~$?XM^RNe?zS$ZZ*l)Q>_OO8aZUSw@Vr(lzPTK4)qPZw$IbMz#06cYy+7$? zEF=ZKsg8j2e6hQva`G)kI9s>M91Q=tnV3x9#)6 z0myyH@t?GvmTy2J5ppWR&`eS2=9Lo0 zLLs3zkWYD^7Mh}X+JSr|`cACW+);(>?~z82$yz@#ioVpC0eFZ1gM*z3Vu0i30-aiq z$oK4~9Ly^y%}~^{3&GnQa8h4CEsS(;&&I%V9>zhN{qPW8`1mcet=V%fRzsOO@Zdn8 z58et%D9e0>_S&c9>F6E_i=R{^3FbLhI9h5c9DzX6g`BzyNLk)x%#xLf|D`ScAdUl} zjT#tiKH=|*r7GbR!jk?A^Sfd~iXZ>%tw+bsGl zKO%{;;y$>UrpoJ}cn{@wyVY23%C&|gRb5d(?nfn4!+7{9(mQy2uK&e=@OI@&W?Dx_ zNBF|$KB;VIP`dWCI}RX35E2q)AuOBt#XM!E7yod4`kb%esVzz>aj?zj(7G8-zC$*x zbvL5K#||$}_brD!0a{85%ra#{2&Jz_KZ8z0Cv>@9_uS z^PCO2XJ_OhVWZD2qvGMGvu5(;iVS7jDO1xQn|OVfGocItMP ze@P3I7#s#UqXpGQFW+DV2$10s5h4$I=|QQPtMW>t>>CV92*@8253Fx z;TxA)q<~&@he7QG;M!0m|r(8(keCxNy&tho}$Ed`~xQDdClq@6%&!(B#?%uN2; z>(5s;0+`|?&Whfb%ztb424pogDTFUrrQNkQh~a%wFccql9N+32eDN{`VN%gIV|d*QSx zcYEqUyQZwpB`Z18=fq%x;JFd{6LW3ajmzR8+?x+xb3!z;!|EA{wTK=eI~vE^*~Nz1 z6*dKL$LmDEeB6x56yC-EXp4(r`O}{X=YJY_|G%gEKQB5}3X*VwwbXr2d9`gf-opzu1F*(`>tue>23f-ZyD2W;g-(0_Or`R&J`IXUdx_4L~-_EFW{EPL>bJgT5HCN2NZG6jrQj!%^uI+eI zjcH>aBH%`yipZ@hfVj$WpRr$^yO49}Nvqs=KlWsJvwUFiFl#w8v_}DLqwUOpN3Wy) z917khw2Yc;b%%A9=4|c%G4!6*mZvxOBhyH@H?% zIzzOXKj7r#abgmFiHl!e?0fB{=6jqkF8f+eq%wwwzHoKb_%<(+=Z9y1zC?U5 zR9I15z7;3stmx~ecBLy^2ungV#7?4Fw5v#!uMW%k6KAz)G<)$z&7i(>#WXf9qmum* zGnD%9CGTbJnVZkn%lU)a#qytgl&DWbM}a~ft(8Y1=XhlDwxhop2$MaYqQYS?eD`vN z#eR*0J4rGI#P@>&#;>yemDHB3ut_`Z1C6g9QWH0|%!IqY4Cs6>rn-4Ig_tC%#W-=& zj?K?sPcLove7?8&*;Nlb_z`u|!cE9GTDO~53O>MKGXdO()rm5O-@kwF0;zR?+D#f$|&Bz=vZqVIPf5@NXrMOsdH>IVR zNNL)Igzvkwv_RlB!2bYt|7m_~jpHidfDaezR&@`q+1Q-yIZ9X8EsX}pshv*An2*fFRxY1pQ?4_rB6)1wWNvEqWR2^gZJ5wr6QrG z+;O~R^$%hsg3}D3>w5X6f;&nlqHl?!v56(vT2cd+>!k5my!zx)1EbXB@#u-l_QLXG8P#)HCIGU6||6-U+gYVEirp^q%@Oe(N<2W_T6b z3i2E%(+cx5BZ1i5Y!6Ja2NXzUiNjZ4&RU+;*kD0G@S&Wh_jt8@3^-pMKuFU#&(6-? zu9;BwG+l_wYxV6Kpb*8zf>8-9f9ddXNj{%ZK?2`00*UDQpMg$KvZAL|NlJX{ z0hYT3p7aXqjv>KW&qBAKfuAE*n=qbCBCy z8g8MRtuJcE-{6|I3Nbx{#&$H$iR{kp3X^xe!c>18;*+Pk*ltH)SLUWBf9B&cBk!@U z3q})&;SIl~U+2^4vH^^z?iHQ%as1@h`6Gu8v|zfy}2=DU>$ zcS$e3MD4clhd?9f2c|?~i&(#$pC>ebI_AgsJ)yZduQMec_*QY85Sz4yh7i~4P=CXxMLqRb8t$Ykv8ZvtM^&(~%f zpDyPrJvgD;(=nb#zT}{o!GgftPKI`-KR*JxiQRqPR@onKvD#ENV0)vn@Fm;t*6_Cl zCL|3sLfOxbx9|FOJ#RYeO20cPMf3gp_YZ&O!+__B%Yqq&y}dj)+XG>{UsGGYC5wb1 zj?XINEl|futGSSNW%)sun?ZF?N=X@(l;uzVBIXu^Q@bqo)57?dtz&?8-c@Yav)mjQ zobW62=uP(8USp$UcqDiqCr;vo@sG2tKFm+K#CeKS;E`vrgLZE~6&sUNI z=SN*by$O0H$SrRlwHdh?Vp)UGZC(VV3?9aDR1Oay)tIG@>6 zOW(oex(^EGGB(p$2r2P=BQ;t)CVAff1FMQC;LcX@SSdr#G$Era!{{mPv-R+P`U(0v z0MxI0=+_Kt1PCE02WUE{N{S`qH=Y3j80_Mdjf{fgHB_1Cs=*^bKwYv>Y_e=S?)u9j z=6osuD1F9>#;_tH$IW?^w4xVNjcUIbEFiI<$u2~Nzfp4DSjo}0F3OnI5E zaLr0Nh>rg~qG|Npiu@Di-}>u#{>pp7RU=lI42lLQud@k`@Tkrp- zYaNT62+|g{l6q|Sw()gtf%||D`>gKkX8~I8*oBZbS)jN2Mx|@IY@$UM@)CZN>#F1( z#X$mhc~!pTUd)&hB&VjJlg#=VZ2o9 zyDg_sW$E>|e`0S|L*-}tGlnl3gOX9X)79;r{^vA*4%_@`Yy9Tno(mQEnO#W<`3tIJ zOc}8C!mDBF4?WvuAdA@$;Vm6H?Kqlz#jbi#j_U6;heh$!Lk6V|?-39Xl9ES*239?6 zUz;=eqt|>(_>7)X8NI~2sX`WhF{tdwr%$3ghW=ZE&y`-Z7f;Mf!(fs=N2_n^j8bj% ztj2nQ>)4e7il0>*)pR!2t{Ilcz-NF_4N=>^S1Doj`Sur0jnXfD=xgc6!dn0tP1$2F zC~TTAot%Eus{B|L8Sgu6b1ps{t80l?ju&AR4XN_^XdBr;wi$?fs7d_ zzP!Wn#@nST$2%}x%Oa~p*1(=?fI)@WG4SyZlhZd1%S8yl>5iNia*&xA zfO|;gHl+Yzg|MY)FTH6BIj8m_=t6;h(@xVqQR4=7v$?r>xwr(NGU0yT%%JTX_&)46 z7=f7LURPq5V3OIgOhm~I*8TY)Z3#9dD0sV}c>YE2NJQT|&W*!TIkB{XfD)hSAU zo~`kI(TRa?`jiBmTGkDJsJP8+-WW+9|8gy>`=Eh9ylejZhf}{lHfr0CEM}WxQ&B$s z;%aBa*#mE|8D&qFxNE6mQiVcVH#c_f<5bPK5>{4mK+Z0;@nlzHsCJILbNsY8w;grc ziHgsh4ur#@x31fOnc(d&ZZ7CS&WZnu;b+sfF+nsTG7wv$zfk}MaFKoAYDH|>awJN@ zr56oM06XXjnEAno&=;QdLYZgqn}=^|+{2f77;|{~Q{Md=3&@eY5>UVszVwf6;z}?v zb947=ms;|EBWRtbw7Fbe7dkUINrEp}z2Y>uXKTeoxYy0zwEo#vc!Rv!j4j8gbj(}S zVg7lzGtDZK#^%V;Ji=?a#?Q$5o1z3U&Gf~{Poc-(;`UWyv_5HChqGVQtlog}V_S`1 z3KJYa4$!$-fpnXB>6YBm=S-6j)yke-;@uIuEbYH90G1|$3(&pbmkLKa-vA*TWZ98` zp+A-XlqC2b_5Qv^XOHI9GzR*UiOX6^l`Eu8)-arp_VP75LOr9Q5U1``ay(OQo zp)E$(uEKrLqhMMx;ZNVuNXo3CL*sCP`K}hXe7!YAnmBcTu;?#y2C7oM0Fm`1fYwU5 z%!EPg3D&v^O)DNvp%epbY%qJl-RL(#t;4TiVmUiJ;L3Eo7ngK^{mN;ru zmgZte@@o|E{y(s8Fy88^I^i`SXbN8KvVNFbW;bDxW85vHhwNOpkpLc@YHZ*K6-x8| ze2~~YToT>-b6tx?!FqAZ9|4|VR7$Q;9+Xb@hifG_{YW>bB!!bdq}AxWY3R-c#F^XF z6px}E*HPo7%66Vm%O7huGp>?9-5N_G;0uO!;QBqpU{KBEwrs%B)AFDME5^7!N`5$M zU0{1L>uPxe{~d?(|9i<>y<_(Iep-cYsMJ29{-K0EwUb;J(loNe8i znsr4wEFC9D`0P+!q}K>b7st0gH4cUkEgz8_9R0~3LgCTu<6!Hewt>N0fhvV?D{KmP zD4lbmb2s}i70ToJdE^VXy&FsA#IgFYt)~DicLdK6^qYj+&VkN_5Vci^UD@ zb(64;K<3ipv@wxgy`U0VzNy2XsK~8i^{C!b?NV*t6m1HeDmRjfKepc#V~VY$PYjx( zP)68NsjrcG_CmJv#p6CtRhG&w^=0L${pnvL6HXt@Ol=+PIA5V|&i@i({y&`e83zE> zY-Js*_gu+m$Zf{9&I`55sftIud*+rk@x*qEU)XsNG22?K_dlDGNztxAU2!>{C1nnE zjJ!a|yO+Ps#AkXGBhf3^9rK)1!`@T9ELHC61>cGMS@$kz+s_>7cxhipL$Vk~)}{PN zto&y9Zd8?_ZjfyL9_9U`G{CaLiq*mPvz>T`)9kBEnhEweoF$G$;fi?2h)@4+fj0CC zaf%fHaP-(()L}47W=>YO5{zZBy9}V_1?MZ~U$kq7@|777b>F!9R8_sm_ zXdWxIa*wF}sy2Ge$yPEaa>5kiabg8PbHS#aC!F!)#2CVkz4+xMofoV2l<+R&Wr+gx zZLN1qwUvF_KR+o~9{IvZ()&RJLb{j8OARkG^5$>Vq2BE_Owgq)*kS>RqRX=LSNto& zIQEm>Ym7Sf9(c`uAQhj+hRF5d{)e+uv3^`4qHF<%opOc=@^ zEyMjPij)iAlBa0_Xu%UbAKT?tnzSK2FXHgs+@XBQx?L-3E9$?yhzk>9VQ`YoLXEdd z;$g*9V2VInrrYq1N)3F(hz=GB{boBdF&yq8dm0^$F8|R&Q<0to;nugGn8Px%lNJj} znJmV;%4;G2<89zyf$NWNJ1^PR5^^3_G00KGzs|Cbmn(CM9AeYoJZ5&a7M6qC|2Q`^ zU)QGthKa0x@*6MgygZ;SkYKB5r*D#@;C$AynYL#X zEQApF1I@yMeF&O9LNx}%nblV{h6s-!)GM^3Vp=C-Es!nYimBB{fGlA_)T6xQz?LKh z-f!6JAEq)RKI;|EE^8JRf|%lQoE-!nF`!xRyLhMM6mx=TNR73X@Peu^9HRMh3F|EO^PyxKL^4r-KQT;t4 z1zDZTSEuv8R7e5P!tb|@kDtJ8O*+?|YD>BQ(96ZW(plP%?Glto z8$aZQp@MWRLThVtB~{3fxTO0FbqQmhJiMp%W8ahJoiJl~RQ0+?cif;%rpNoS-OL~# z>#P}m9RK9kbu<{$aj&cBLB1-x6nu@_{*TlY6JI!zM@7)@xUuXLVzp%@Jb6WIjX7bQ z0rUOs(TkhOYbzR$Tu1Ry)TzuP;lI6q zYe6w*T~%7ebUNXRjyQa+eNU9+L6{C#nQ66iN2=upfV?PlrIVvSQQ z*RPg>3R$-PD*$JlkyNp&NrIqMzgkLwKos7E@gHIs^__pkl8fie2K`zO()D^+qbH^Z zl}Rfa9BPL*@SYV?0>5;U9ZnM9OJ)|JxLCCv&kTxh zWA3@^`vF*O5)~?1XGY_gQ3(PA>j8MJj}=NJX18t(mCnQI9pv$WC8T;ufiTz~t zA8EzEB>nKvf&b-|D$Rwfcvp2-iLI2_R#0&weEn#Q+4#is^@dsGG+?({~Y35Nwc#CAQR?u7er`Ko*NpJi-uAjR{{7nFyZWjxRAGnqdjMOsx4(w zw9CR`jw`=oWhYKsD&oU4YO5*cEYV$g7bs`A>+zmD6lbven2w2`&lQd-;CS!y-V95 zFg9^)YpGA_+9`LL0RwgUno0%Y!?g|~JTx4Pq^bPQ$)d?j?DD1be2Q0Dvh7cos9k=c zv8<%Up9tq++ePl*7%NLFc=2%|RW!~FWK6GbMyrY`lw_a?is|wz$C(`#q|FMZN+gX= z#xi#q#a5qk3+bcqnry$HGr|1>QR61b7wXd$>%R5X^d`tyBh zF?gn>07%VWiqk z1d5KRLD+5W=wK}Xspw+hHDR*|qpv(^W#)+uy{HEivBwXq#9=+W8|-hHl`~B+r!0!d z#-B1<&|20oiFc8%O&{(a<8&<{V}EFa{zR=ih*h?)8WYbsZ!57E)opd8xSTp*eDp|- z4xe4YV4~KE4AS*;5=V1DdG$FSfSl52r#RpU%DsMlgNdi3p+#!*iF*e@$jp!`{q~3jwvnk@AIfl; ze?0EJt$iSbw)nJf#YcP?yC$#{VEmO_Y$EHKsQ(l*gDR2&Qcf1F^QA}4HWYsNm3Mz= z&1X}~V1ijJNmO;-kmm=gWWbs6XR39z76)i(O^d%WyC;oxh^2RxTA%-i0Nk+ym~3LG z?$`GZPEDU`BMY}`j;b_d#cU6SRxHN54*0?I$zdKVKKo1Jqa9*P0gAxc2yfL#D53{@ zpIH2Q_#$p-1rx;v{uwn)=gbwqzhTih3x32j{DM)-cP1HJ0;8zLit5~i4 z!dQ!Zb-YbuEJRv~W9ALmol_t;{*;)yVEAZyT?CC+F}2m)Efa9`MI3wG7^@5rikT~m zF+lRLNc0~Ud_tNDNH97gd^9;xDsPj3t?@`^mrinXgj7v;vaM6E_P6BAN)%mFD>RsTAn8#TjeH`Q! zMCgug0o=$gxGx(I=h4R`&!Mndy7=Q9HRs%77Za+JMS;~XWmgUXG^IDbS&H;E_&s&v8|a;1FkX-`QfoSo&;pP19!*d zUg{Ga$CrHNp<%gW5sdnwWn z$IaP@tmV7_f%Wn2|Dn)K zlOGB$7&7R_+%%Qrq`;8Y)1yx2(&PB#$IVstHr;y-k1~tS<(mT6Z=bE|C&U&?cS!L8 z9ui{$5&TG!wkZ{!R>X0S_QC#WrqOwi9y`nGQxUuXzlAV(^)3wG2a-X^2~fc^?i0Dh zD6N$PVBizRS=8Q=@|V7yYnpAciP}ZK#U%C=Ht|=A=N7_h1MC}G zyu2dNn0WmDzaPc`KI~|NH7A^Gpz;T9dW2k#@UWKwmdD>>A<0XM1Cu%)*0O_e5a_Vp zsn?|+3zq9?kj0Ob+2xEKca$AI;(!bUNrBV4`w~VUDOxSU^$?G{l_teFfb|#o^Gmb* zt^M(*zPDyYgHg<94JKpZ%5h^6{llY3v%uI!<~daV0)N@9!6UwMqL$R=+CtbEMs ztWL|^!7$^gOE~jBwelc9WF zL6_TDO{R$>hyS$;GRDNnLC{`bzdI->7;c;PYDcWl|H4Aw{mAu}4vu^`k<1Ub$tb92 zR12<;89J;H#WilhYsNOCRCG~d?S4ykG*NpcG}EoWY^r3z0!yj3 zyAZl-BRnYUupW6^q#u*TYb>lLY9hv*BE7M4=UElmG_(2{=T>+Nt~}R=Z zS!J^|G)c(cq|tGNf1_e>a&iKsAq9mu2nQmRNXEDt<~$Q79HjSus`u`j*044xxpD2o z+;89Pnn8g|838^b6q$||EEj`Tc3R3UxK*;+oaZe-Z(0z(nQkSO9eWPiJkG-Uk1lWD zT=@k%5QSEvbEeY1iXs9@VJ@DWAQcw4_n+X*6!~wC<{@ZxOziZDlV(c%hlW0r`YXQM zkr$h`P}k^Pgxm3>-o$3dq4X#{+3+`!<@fZKN5{XuI%6AY?)**tm`ZF)7kAWcc)(J$ zOmKwv37!IKL6Z+-Q>I`Jy-qm5C;iIZuw8_mRPDRchMzF>8&5UrEM-w-7bbMo=xkW6 z`HI8oS!b^%$BX|w8L2;dS-=*|KE+}l)o)bxR#OY7iZ4-uatpg{mm=Gu5jlqO5ORJ~ z4651{@U3~leDmTVCA|0rNb9C1q%ZAN@#G7JOF2On0{d?=$_$#3SJJQ09Xt3ZsL+6p zQ`+~rKJBPtX1Z#5bek*7Oa$0m#8gZ{hu(661m)W^8`3YWOB>mmEbG)CV&GZo)<|-Z z=EygdBZ-)2GCKpAaJ9@#%wXGfzZO?*`l8544;-|K;?11&{IPQ)TU*r@2eC@%X5n#i z@%iur>t~^>gFWr}3tgzKI*;K^*z(%;QB*-r_&|=Flcz+uJz&tVN@b2R9O4$pYG zAPet_8J5ni+*ffiB#xIUi+_jNR!za8qBDN$_$TaW$zZf)P;4VW@uRkwutfv1AADSA zVKOaE6s{E)ch+7j$%3th2>yT)w%@ z{yT!=q%W9R%KXnRN4;2Kd~xR>X4cuGCVt}Z%qX7+c2$AV(wat76dA>ww@i6#rFLF{ ztFZRanY|}{H*$FX*CDxfK?^vXAU-E55wkIWFcx+`l)MA8$htjDyoMNKCk0t?Muqcx zYE$j(!!HKzEbHZ&>99Mqa%0c5>UQn{T~uxKN*;r{bvlaJzgkgFZvT~Ropr23)_Lf?79tIFr61BV zGY8`Lkjuz0wqv_Gn_KcHG@KQkU8-qFj7eysG{-a#M}yIqK2NL~5s1tppY_6Z^#0|W zR#S;8>{Mlxjp}>rw}Ts#_9@)JSGI4T+y1kwG`#I5+xLwP`DjhuhAmt@%vySH!f3iiUrS5EguI zZFgTyKPXvSZC|9?fL`F15>4hE4Kgx0_6z-9wCXutcgxI+QY4;Ie^3!Qww06|{9`gJ zF7?K9a9@kGhJ=Fn_NuR~vDCSvZ_0uG&MSlQ9kKyaT*<`T3?xk;B~{1W6b_No9QUl! zE|j6t{LL>G#y1fACfYpr3M8qa&E|*}8%B+#AsxVi1+@;2v-v9f2UaA9J!Qk15 zMB3Qez6Kl@TK@|d0U@E}OUKdkSXut@cY#&1%zFv0rIuColzG{&@86Ed6-TM zlR6|BW)&U26^(kYYXnCHg>zYd7I>2@sSUj%=gxZ8Ypyo(wBRym`TSh%9B-&n*Ih{u zOLOVzh$T6;av9pRpeEvN7w(Ux>AUuh4{UQe1!9(y9Tev)QHR{$RH{UiT3U`1$!6IJe{2PnMgGT1ChPI=xwrZ$K`fqeDSlhx~2xh ztZe7`Ju_1F$1m^QmI@CR#egXu3A?lESy2;4VO z9T#s+zJhu4U`*?LLQ>g(JMM?~ZX-SKHo8FM#nxHiJkhlJY$hIOJC)q<-$%JNjUysi zcuI1;h{khooq+M*4b1JQy$p{VcQx~m!#<9)ii)w4APP;(KfAco6iN45re0i#uH%g) zQP#G{NQ+V6Br&Q#ekP~N?g19NF#Su9sHx}t#`-!3HoN?y_=y^FrfsV#f0b+;Y7=y+ zptcp9-D!z*STF0O@|2YKHWgm2a7!yP*euRrd1a z*48G2VNTMuqyp)}PAhQFxnDnCwrY`Jtqf*8)7KX}ePiUjaddN;k0=>jG*RV-R&M#7 z^!EXNF9eUaJa`9o?0c~yT<6k`lSMfx6CukS|NNd~cn)H!i0*TO0FCjC&WCp&#GHt> zzGTs4ohs=h2&`N_V(pEUTC8W*j$9@4GK8ZtSvQLZ4A1LpJIqZ!lP#^hNP9rAt#yuf zcDj#riYyq`pBC<~c_>$3chSU(6b)nJGp5lMUPTiX%jGr2E=4uFE5U=`Kj)vECbRZUG=INMrBN`yOFX#o;6SNo{F$saq`TuNNFzu$DBWfua<)Ug8adRz zvEtafj)#Ybo4IjH)JX%dO|4a?-QgXU4F*xs{^vQ(Cp{!U16tsIpzR(F_P_?YMsjm< z0)Z|J!Dp}{w$gb+Zgy_YYxxTj>fXcSRoh6MvgmuZB(o*ItBqKBHrNKp9Ma)D2!-GI z==sIPtD3X#Z!xKo22Q|MK$k_Yt&@}y-xr@BAN^q)shk@~+a3-aQaDT`HG4amfuPAs z<6i5KrPv)2KC2%0?iq7Mb9mj7f77vtjSaK5p&KpC^Oov3aVv}75G;D{v9i@KpABY- zWra{YiYN=8AOO!Yn9La%?Yr&@w0T}^D~-h|3C3(?LB3#+@cx~jAAC=r@uwY$!a%33 zxOg7&bmX~PRPbj5>_TXaw;InsU5|sTEIl5`f1GofP?d##9I!C*wqhL`8Ui9meWaet zU*O3_EHwms;0TQGrA5zDMk+@{Y07^ymtQM`8@diSyChkvPX}j`LSXFs1uQ33*VgWZ zMUL=S%%~SR=`7EWuh$@((U5x@5fKrEEYXYvX6-jVm!%zBJttsoDE;=~p#@lPI`6fW zA#K;XosE{l=a4Ce)JJpUn_1z1VNYo}E3xzw=@iF!ufK>61EoK|MATD`^c8SsuZR|Q1whlS4+@|Ck>e0+p(>6O+)#O|q*4BZ)PYHD8D z(1f%L0U@Q|zu~~G|2{oKL_5FYb68Z4KfUE}Q$^Xzb0uVP6mS zZijt6UdINREp?0(Cg9IUsY}vOh?xr%d6a_RHNe}dQQfYnu*m8J_|PWdC6DQ#rb}JT z66~j|*$-zK8YANhS-R<@AQijK_;i2r(bm>(|LBk#$!bW4e!q`qG{2ydG2k!hAm+e* ztV(MpZ>^__dBJ$9S6aFR(Wy=n%}4#vl;pQFO3(KoWv`WvS5p6lTt zNNUDqW|E70FzTW3ul0O;4(pSTnj(tmuHQ_xfhlsK5wL+3o52;n8_dFB8zb!VYT*|U z*Yo=sd?qV;8Y78esi~Rr<|8W5P1ypy)}}Y78z3tRgac`jRn!~--d5I=)xUDTl(wgb zqx<`qQzEedekEfNt9n88Chpqh`Xtdse`)t@*B?5#UL+&Qw{R z)l?YvSB;3m+#1U7pCRP^5=dkSzhO=eyc_+&7!_|!IuLGeZ#_@@=x-(pM7v{Y@19pW zt}Gh(9JmG9X<3i-(PyD=?+hFJIw_hgWHWk10wuh)i~Y7IQ%tdYM>t^No#4B7ka^7i z=QpP$8b1D-VZjnP$ELWOmK9k4{uXrrmaR>eKzg@CuNpdPF@=xCF$K)K{1zv2(FR#r zS!0S;ggH3i#NWOR+}P?fk2Qbu9s#NUI0|TWNEwh{5T7?~9}70%}ZALWlf} zydbp;lTr%+yH4Ig8z{{+I8`m~Kh&i%lyJYdz}J<|+bDfq8boy*hBN=og)gZ=dKi%g zn|fa_Sq5@m#a=G}$(GXMvZqsQK}}9TZnCJEyeu=gG(q(>LHNv%5>@!GL0c@|#K00O zV@=<$Fr_pmbzTC}D|M?VvH7TJTAu0Yg6p7=@h8&m=(<)(s31NL+FkKTbUAI#^HR)X zF+FB0aoB!yIE}e$;h?wWSL*qyD!~nXNOm_*d|o4BmL6u>?9S$1R$3qHf4Ba2bvVc@Y#*J z;E_m|O|Sq$lcJt+x!Fw6o<$wXE4MIHqum#@lu#OuFZpJhX&x3^GE-EkWsftp_gW2` zx!i*+R(+nzDatblx?AP!3%kOfz|YMwizOiC6Y_& zthIM&PuPE~Yfyf?9<{hT1$be+*J zF!(#r8Pnw9K~eI#c<~OJ65^*O%cR0{*`_5fiGS~SX_&Bknjt;)*>&`uUs~eTpfh!) z+#2{lni?B{brglFw0o^|1ii*V0k8-p{L_WR!;tGv3OJo#<|yJ+e)e>6j4V@2#s*aY zizym7b-x15h>j~k1Y;8uT`>68=(hJ~BRx;}4FaPgvz*v4*zw*0G9j}}-_!U04|~Qr z#Z1iFisd<-aZe-vA`*IcYGMobJhSO1uC9-n9xayulF1K*b zCx%xzf32Grmg4*@{HA8spXm+HPH0tw-Sv@Tb+paewO6|#L%1>>a*Jj85>^|UIcO7q7*?Xc*H zhTufJ6~+%@M3!aX;c->m`{6&HmN~UjE0(CH^xKujS2|BDF>2JFG`Y2w>NRJ#_0yoP zl~it|8}a=zLPh)g>^-fw8Yjyh~)jf?PIKi2^O7OFw5QLLk%C?hL7Dov5I$w9e-1V7qwIR4EF0C>L4^DQ|*+KLK=+Zmq4=%0p{w zE46AlDL}8Z_z@?wHWjbbaBWh1Y${r`UTX+hDaSiHN2aBwZXc3^8VT@LV?AlQb@n2% zj(uzRXAxZI=cV_=3X^?4kJlO@gv?-H~{q*#6(DevBbDIf;cZ-s+nu z7&N`#I;^`B__b5w=UO2|#UjDje|VT3-~H0jLzc4zqIp-K`mP}3lMSLGjgfYA;!rjw z#!t-kzo*27UZLG8rcMuSjr@9SA&CP>b>r|cDZ(*d$d1&+IM#2Qdg|dGzl|zcCnsi# zjk*Oy%&M3~UjBk8ajNk}G%FL1piAs$;ojq=l`#;cn`2UjDjWw!w0`h#sKW_OPw!<2 z_c1AO#FVqG?NIu`gH%C$6tcknfc(2q>of0gP~jGS4u<=b6d|TV)ikL)rHhpXF^8NI zpd{W9uXMj_JI`Z>J*NLYlNJ6o+kjeY&r31_houfDa&ZVt>38yyuJA zM?LUabUtS@+#fhV)?nBG202qKGo2>${jL@WJ|mHPeugFF`T2DA4IB7)(kmd)Ed#Pp zN>ek6e-(KE@3)D|^~wN9#x1WGugbR`jv!)XWvnoBg+b7PBzB~8?rF&58E(+p$Ix~Q zViFQqDy~~&{c6WGb!WWb41D9$zi+Y5vYx!U87vE5ef#!}6lkfzSPo8pekmIpG|0_> zI&5!zkn5<@94>7-=~@sP!RfSFG$-Uyc=ZIq1HfnoKK|bz{0@T@sr?HQ`Jc-Jp?Y8} z0=L^(_<8Z{bqdrm%gJU@E0=Relo?7~ATonUEdZoydXrjR-_JaJa&VwekUIf{<=|@f z-T307)@#>@)h=9R^R*sD-@Cb`&Fvg*4!2!AK_MZp^HH(bKJ)8s*%2m|y}TpOojCxh zRzS+Mem*XyAlqwh1fUL17{Xd_MBCNc6e&ZXUATv>VkJ_LuBh+GzN?J@Kh{ zC#ms|DfvH(mMx6!1?S{;{R?)GetK2R%Hrw{gqjC*fEX0b|m$}NNv6E)W zo6%a7E=R6QNwcfqpS@1_KfM5Kgmw%qY#E1H6wk5*K5&-aeN7NISK4#P)yAR`{~Kv6 zSz&mrR3vWhMlL-iAKYJ4#f;)Rc{#!X+?vd+aKWDyvaSp5s2}r>_6T}weswkB4_yat zJ9Th&FGaU@_DcV@?b;me{BN1j0|s@^f))LzuzxqNmZ-w zfrjNUB5CA*^HKEtC)SNSX|V~=>bsw7^9w_w z@C^mnGa4}8diweTo5`<8T?RSfNPUmnOO2mU+wM15xw*M@^4VTo{|!+B|1Ab4b9{b& z4r5=%p3dmW!iHWHWIdW#+t@UKf7G|(OzQgg3oJDAEqdluMvh-fA=39=PpB)e@U=C3 z15Pulu~9Hezyk5@+nk(8Wx*Y(MPCgPT4@QyAn-R)lrK+q01d&XIt)#FMLUzgM6@?gJm4c@yETxDSi4-Y=@ z0s)+o47n{>i@432YF(>!paA!EetCJ?v{aT~P!JM^OYi)6la=4lFq7o>U-iViw9Dyx$T$+{5}tnA-SJVB)O`h z%9R?Gwhmc(P;YE{pr9F8=~^f=CNQgV_t<$<6!`=R?IyhaeK(y*K4HV#);hDAMx6Mu zwYuYpWsySY_3Yd>=~91vMiUczBtKQR?_=cN*mjac;#6g)!_O)C+dJs#{A53_C7v)FhEq>G#J zyC%^u{SA^Pk^lN5j%vv_;Gn5}PE3X}m6o7C5xgbHjT2{8!Q#ev@)!qJxz`P#RPQsZ z2_Qn!08VtK#fMKmk!7W6>46Oc1LKSB0HciFL5l%LSr{5e5hEeF#0UTs2u_gi;GfFJbDoy~7E6N)J2$g4gG%@d_ zoTrL4gD3*E5E%D$O&*;vBXKUJrrrnd(rphu%coNMa#uY>P2byJ^E36qrOHp0F-}%_ zarY~0Hlf|gobJKpy>#Egfw?VmHY8X?X4XUrQdnoBL>V`(G^;X1C@?YBC2mHxbFxNg zTa2XMz#MqKmv(U#V#C8Mr;xQENp#>iyfu32&1A=#CNWTSYnxoGT6ZP9I;5C6N6fqX zn=;PWK>015WmDuf=h!?ZbIhc0@C&jZud`(wb{^q>3VI*Ru4{kS+Y$NOM@SqzzKEiP zK+Ar&Rg2+YK7x@qGG)=>AACa1D+EN_8s|ksi%nf<_b*5G2#FH}H+x)isd(>dAojD^ zGS)X^mMUi=9J{7fX-7#>oLX1jjN-B(0EbqKKmt(sWRHh9U;j>!^j_K zBz6PjPjjoP;=p-2uYKb~b;EzWf;{m7tpqVZBd$9Ov|f}sI042I#YQ>4VI`OZNY!tI z(kv>!Nm<=UngYQCvMO)fn4A6FLs=Ge7$?k}g%S}|UT{ERomnPa51VFJqB1-6rq`?C zfyAaG^G4{_=3-S+(bt{tsJHy_LJB|syrN>{cxsqpQ!T2L`3CGx#}tIN-swSyeau(CT&RMD#QY>7eE=E0?{Odnx~tDd{c1S#^?25!6yQ6u?$_yQ;*^BKfva=8TDXEK+MnJCb6E^7 zug58y0-?R^G&)jP%_kQ6884kS_KG*bU?@10T5X!S%xrRU=2bCQe>sMPDZPJKIb`mg<867oRf|TUcmmjY5?Ke2h?CMznd@L z9kpH_wy^Nq%&-*vAWEXj_{d3wO|aR=d6S0n-$b^Gm4&YKv0fc2B^xZFlDOF)tDuu~~k? zb8lrwPkDI3)cqJ(4HD#!vB$8h)5Wf^5&Nny zGE&gA`m#-7nRcl5?%}^BG`fqzI9>!V()}L77K~BnS)YtgW$x$~dj{yde3fQ>qCdJE z)eO8ot?hZUZe9IYMprre*TgbAgImwPj^9>A?&*{ij$b`rP4(w|C_6fEW(NH$b*28x zbti@-@+segFi`@dITfZuB2O|iDGH>L$k+aY(;3*czpeOsLLdEbt2^i3FGT_iAc)5` z$HzY7l_Em|@6Yr9>TH-W(~@zMdzeu9%ATBG+`v^@okkPX209ec~oEWV@L@$2X132Rhdie z7}WQ{LFomXhwKovc^S=r*Ec-WxU7aqPC_95tRpP>q3Rrzy zPEgaAR>n-ddmZZHf#gOypIe6K$JSii?qDKu?!=(@(=hdtqg0f5)2R~88Q$07E#ysm z+Bn_!R9-|=6sCrBt~rk%A6*W~hEpQnJ8D@Ocz$9k*Ow?x%7%#z2bXLeeq(Ol>y!N7rlmXWWzqf8X5Z&hcu* zNiJ9$f(Jh7M%BMU_OC{Fc!gEaCYGY+pybt$Xt5RkpS|s$0u3RB>z{*TTA2_(9Yqqg z3p~ta#d@uZPA!oz=VFSbq^gUuHWK~E5qru2Ki20H=v=-z)>uzTw_!pUWlBFRPxGqq z4_<@O+;YL4?m2K?9XgYTytDajFQ#NW6^sq-CA$Y+7iC?$krwadWUGhiU%W5*cs{jE zXD3Y_!m;boCR~)D(fb<5uI!cJa1Np+qG=CzQa;+yE3#oTeMgz`&{PVFFZCx!4C_Z_1$a5=Xn@$WO5Q~6%WB%@v zY1^Q2yj`uO2)V4tfKDOQ_MsQl&-8}uJRL9IwpNg&gMMQ5c^|7lydQxkgUG{8ZN9~O zN0B_K`XmzOh(yxl$}P^K7n~Wf0w1Z^I#g|G(Z3;rB~)%+PDbIG$V_hE z6K&pp_tS6{R0BR7*WK_RWpv=UDATRMXFdYCo!l~t!$XeoxjB>a5fZ8JrzHBC>|C{p z;dIQfuZJ47R8@XRdUR+|9mIBBP>}uyw)W*Y%@E?J!?R{soT62zh{d~Kv{6P?639X1DQ-#CGHRDf?FgA!jYWYrUdF=B|@$Mm)pgx z?_Q_=|Cz!fgo%e9BInBW|347|zVb~u+&~GX;IQ&IbZ=tzm_vKyMb-Uv(kMhEtA?Z9 zib-YsFi}hylEJu1f8@85wN#(>Zwvpt*8>{n35EI5GA6OLY9#k^Cv6R7F^?Jn>s=_X z=jQt9CWme3%7xO&P=>ukGTh5`9HaQSRq7mDOL%2sCjOBr%$-|k?l}q#OLY?=4hL{F zhbAe7#%|jyl!qh`Pc{3AsdWm@U`|h2d>d;xK1E-d6tS6nF`C_!@JEkv;Mw(@b|8LQ zS>)5%ym^xik!29}~-R@Y>#0Gg-j!Amxyr@f!ac*KZ zrEG50c>}@n@5Fs*r$Ex28KUK>SE`Z0$k&DEt)=B-{8jY)IZR6x&;2uw7+(t?3|`r4887M7cm12LF6%&RQkdGxBx%dmeIIFja6~6Ii>)#1PA`F@ zO32(&+s+Ozh-z9jiphXE0e{5vO*k$ubKEyqqMnhB@F|7w<5+RLuA6Tk~qq$7aeMQpp4Ky>7q%)We4)a z>^Rw?KgwTKoU|O3PJMHgk{AipF0p~nkhZ0B?X8s8#TeI@X!N~QpWyY*`Dqb9+2k(& z&rNm_z^?X*O7-ia9E{u&4z^6BHAv#n-QyU{bSJoubL<`Q=!y?!vGXe}6_8(SP}YF$ z85pL|DerMEik-w{Y2mWR2w$3Ghh{NWm$cXOQr7#P?Pwk9U}a`RoU8y$v62}KkwPZp2MkiO&^M*a_Ji4kta@2;zINhIulNb zxV@&#uXKH3rCrM~Xqig6P_1NbAp73-(%J78H~{=Klk*Ek#7|`ZJC2)CfI?slu8EI+463Pq+K9U+um!RmzKTZg-GovK0R1|euk^+#Uy^}Un>b*j{)}1~x+5ZUwoPb}s!MHp)jh#_rSRC|7S;FbZ8_M`{1mBB;(S zezO_DzL1L0%_dvKwzr;kw!_x#oSP5kAYF7H;qGZ5V>YdNWdtCm6i<-b^iEo5t7sX* zr?n#}1MgfJ+I&{$k3&Oy$Fbn6VmMYOu~nw<8jhps!Wa4 zKasH|M9nA>{>VP6I2Uq35tTtLm1Ixu+1QllzSmxMo+2UCHs4d7aPV+l1(il6IAtK7 z=38^k4NU~JFX?&gh)){z=JbYdGL0sFQcbw#moAs)s=e-wrunBru`7D>4JSfEK_ZO) z9B(x>STLTh$_{CU%mG>`wzqdVk4hksyA&0`-0y1_FWB5E$4ZVE;(_-|{4<27xkMmD z6&%9UG4Cw)<%Mn|#6l|fmTz{w;K$|#smxDfLA$r#pH**vz;^j;XXR*#B* zJYp3f@kzO}X3#A)rQII_oy;id2O{IzBW;d%HP2k}y5i&l^awW?q=cHkL261#+&xHM&>0vAy z+P^1dH_po=kjQr8C^HGj=TPoyG8f)Z z?MoLKYoXfnAWJUeZY);g{Ght0)aUX?YcYEBGW0NMxp`mwdkS*)D%0Zlp63zcvucpv z{CC6G0kBL5`UQ~OcnHsr55J#v(!TDWw9QYiC;AFtAH&O{>VJ6>c)K2VJU850dmcg= zzNpl+^ z4_>fMN^(GKXbuCXp_H~}wE{j*hJ<3l=orz&Id&njo~W@&8L=L3h#>#h#GzkP;)yRN z?>JFiN}2fnN&Pgw-8sHw+7H9$%ZMjEE;%fXa}V9db?0gB#8VhV7^R;_^~om7-RQDl zW(t!u8u_RpC6c4OZHHPQ>da_z9wztT$`S@R9Vcj$l`P(Kv&(bAMKiEV?f=DS|C8n8 z_@y_dVn|K0qM1_vwVB;ysF!U|sVCAPRvKN+Z?I2k@b{R0Q2%#C{xen7gcj9nry{$1 z$hlp>B)5yzPBz)Eqd2QJ+U9vSNjjHG+&V=WMo^ngz7o~qJU6ewaQGVo8-e_SE-g4k zcv$mcXHnaDr{oEx9$R#N@el7RIvZV)?%KpY4O;$)%u>Eu_BWGa2tG%SG{fQe=*<&# zSRGLM+msjKLDFVVQs(6-CCc%81!e%2cCbx%D?+}dP8)cO-peT;AgKCLThm6OLuV?^ zM~x6ajb33oF46~-uaPCdA-H@mk=Ws31dP@HzH`HQaOWNPSr0Hm&ib^3J6oiR)A)U7(Z(c0&0m<=&tytzQkNu5nplJ~5Lb z!X-VfEzweTLG+8&3%A^S#VxHTs;`esP2>A3cFhJRR$d1Gvb zmw)uw=E(rnHEtga3#&g(Vxp=kKX`Ayrk&6E*HM-JPIg``-S%lP-gzt`Q_i6z)WE^- z^sasB_DwHgVfuQOjtbL34EFFv=Hd@+CIF8duv?J*96OR1)cu$dWWK6W%oJltOfiu& zyET{W;DTJC=LS2)1noS2b@Q$;<2i8`>fis}^PT;kR@+5D0_)y|MvK~d2Sd8iD-e5O zL6A*4;?PK~2}!d}|6EE0PuV}Lc!{isN6)I6Q#2yLan%jyFZ)&1whdk>;t?gHdlN7J z0q$OY)YP~lmJmdpEbd)(4XTp>bNDl8awet_IfXkXbEA+z66hihHtg}Xwq;E!>95&; z!I~tiSfGl8baNU*;mR{g9z=;;DE!`@?>)&^5+>9uRqU)9x=$f|@k_mcpfNhk@h>2Z z9&^D^LDo8@IjA5Bz)34Bd<}H1Zm=fNKot9{+9)F*B;E9x{1~FZV@Zmpz8q;y<{)pwG1@Y@N;uL(&VLLzp|JNx5ftg?dMQ9wwfV-G!aY`5Z_@n{mS(jt7>3hK6rpEKA zD`AIsNagDOJrnF(2`Qu({KyrbMTp5|SA{I=l!uoZS9PaKJ=)%eRt}avG z$z@^U%cn0jvv6On)gxtTDRa}! zMh{!Jx6TxkL8El7JlW!l>;OsdCLBnmf9puzkj0p@L5ef;Qh$^U)iEmh_&I65;XOP8<*}Ie7b^8oC|dL_fmLXJ6?F4 z@JQ{*-aXz6;ofHN{{}7_dURMumQBSL~{X;z}noOM3k~mOa|M>o+w?yu68A``H=hvoJ;2+;*QF8WDh9lHV zpSq`H?1YYq&7lS3@kOH+v2pRs|La6T>5%~>n9p5|0zJb;TwM;T?5NLTZ+vwonbFLg z|6u{ZY`0U9bH$0e^}Lv%`N7#!mg-|w!ty~K36#`iVzjEm`t(;zi=pS|sH`d3X-tQ= zjxSU~f>m%(;x)okchtl3)Y#N)m>HZ5zq2~C+H_{y8A+3oPN@eh*f@0tOxWwY{xuV1_3?`< zqHViR=t=2)o0+tS85EK{RIaejbo6#~vL08k2wJox|5qXrrqkb$Iur*nLH6EIb09ei z!&kgd#w)M2sC=hgCDHKymV?ex{w}|8B6zcv$(i~Ma{F9Krw~(iSlk{>sNR``z+sEZ z?lC^qZjfQ;-0+Iw(6k+Xy2uGTj z{V7@ZxcVYEk1rn9t7@&r(Dxc@jxC_6ycc3U-PZ6heCnU}N3c#J_)9^Q!-optn=QQgw7d2XBU2 zsfwA((>F)fZda_-(ietV@kNb6ce5{q9xQaM!ZWHnlaqO|!9f9#iWVQLwsbByvmSCM z5bifVe^{B}O+9}o!QVWkNK}BfZQy4lXj_6G$&c3H%P?F}*caKz9lD*Hn{#zC(xl3=+#Wgz8sX;NbwBtQ zbZVP;`-N&MMADT>%jH9OO6Ax}DvERLVpt&okHpA<-=N))ZowWdYie@uVP$_;JWk?g z4K_EI_*)B}E6yfMQob!Nrhv?a=>u7B>w-{sucQ}p;iwZR9UBMI>EFDUs`cnyW2#s;3^o*r(76w*1`-5Wq77hgp~u#|B7hVh;COve516Z%TOUQB1Paf(IYFern_7IwY9CWiRnL2kNX9=YK%*@cfGw7mIniS z{P&fe{2%%rGiT{x)VBx;3}~*L0S193O;kt$1k}Od`Y}9fY$d}M4t2vs+`#PE{CYiA zs9yU(h2ZKW_3VnBt*i#ImXPIf=K8Vwo_|#Mr_~>>9lGNx|kig-<`l5}t9J z^6+%&r~Uz)@n;=Bk&|0NoFPSqaLHCmmV%rWz2S{MEKErNGu0&+omi(Pws~^Q!pp90 zsu#7q|8f6X5aA}TC!~!*Hg#aiv6?vC1@0u9Dnoi;t7u_Te&O&@HA2S9bhbWPQ~zlO z%>)TmH_V$OR?V*z4fyubukr<3>~enNhrVBFcf*A7^WdpW3OZTs-~zU?VX?QT}?(rV*a=HTS6 z>0h!Lgl~Ua=PMi@+chN_yYbX5co7)4u1BO_g}I2-D8o>m4=*gLcbF|Sy7`_Jm)MF$ z2b2&oO@hk~8%oaFrJh|akRQDT|YRk>+_=FVYB z>>f8gE7O0%5_mzaI~zLjsI*2SX7TffD!v)s7%yhtv<5wW@}27C#~|eZMZd`^C&MYp7~8v zQ4rbJruK2z&k6nbeYeH_;rN2JgFc_R;YUC@A4Q^y3Z@I3ZgNeGJj$v6uEpR>R?{zS zAhAPHz$2?PKSx;;-Ap1}Ppm9gFPZ)GLPj@-;e5!tLS1Y)XM1mgg;!t1GH6B{#)eak zc<0?Q-10ep2cbTXL<;q&r{3^zakS0{RQ)`RXD+1V99vh5pR#Mq6DxdoVt;+(J)1{k zKi-gU8y4}HmoWotpxyMmv1tG#IRw>xUQS`b%^ zm?zpUBdw;Y4Wbe;D!2|aj_(SSI0ux_Pg4^pQQ_tD0y0kk(7SKxoR8vAFPS?q(?Adr zi<0Kq;za#|t>rgvP4vK1-^z5VGmUr|kUS^QoZ@{4dVhR^`@my_0y1NEn;732SAQN`)vit1SjUq&M# zAvIk3OjX_f4Ed|^E!y|`t@)UheZvLc{dpVYj|37+QT;+-Qd`!7pPzK^e&t8`o9<}H z`mXSMK);xez$z^7D)ngJRnEI-H7y z9_Qn@NywMPp_dNUx%L&hpKeIQ^J7NLCC2|)zF|mxQ5>8)ursiA)~Oyed%V`dd@dcqB(9basZvw;)dPtGW zM}mnc)s-e90)A|{?z4m#f2mM?nO4?QdS$&_vb_|tfw0xO(3HYuiOFXG@tbjzl5r#_ zCSKjOsaQL_J1i)x$+OKFI={N$f-D-8H{O#BW^na7r#J^x6&L$%mqtUu;&}YQtdM-` z=0+zPbvlpA+sr1fRd&dVaqBg$Af4jsD3UgAbhnP%h=}jO>C^f)7HK!c_(?<*GTJSC zJDrvMrXkP@v{de&vBMqjWi1Q_+???*S8jlwNN&ZoKb=?w`L)4&6%SgfLW8DG)GecXOUI}}9`0}4`tj%#)Bj{YTyEGrJvu~<#KAbMOJ5kRjnD~tfngk$Y`FzCF4P`7 zK6#7o!W|FDl#wp_EA-2(=p;Xe4jjXedzV?ZV6|v1sPClTr6HX6w-4#3GXO24x|9iWX6%z z(q(c*-n;h7NS;?H)iU;dI zhEUnOY}1;HtQMS2C_`OzHlkKrKwYs&v?^{|Sya#@7u@wzDb1};=%2<9Arv69x4+_) zGbOau^S0MI;NT22TY^iyFEZ~RFjP_%oi>P=O@a{iVYoD=iqExqrO=RT0f#nGITmK*JDc>#p_V1V&nnNtJt;x6&@*BcE(@bcl zwe^nl`@t&Q%KLJHPa%KIO!jj|wXdW?>gLV}gT#?t1mDu*{*ah7`PKo2+Y2k_crHl^ zhNnOJGB?!-&(tl#OH+-`Dm3S%1b5$!J>APQ6q$bvshX)t?~A1v>;6dlk^)~2mw|`T zv@h2POAv1AG_=R2#^~s#c(R=;v^SKGZ>DsPdG?QdH~P}1-gqY(Gb)(M#$g>oEU1=f zg?v7lTU=efwfHdNxFvCOKKHqjv(wk%YE4H&y?`6_P?%m)k8ngV8xgl@d8$%g9U+A= z_gpx!Nj4l`2V?#+f)Zi7kPNMJqpWQ!I&Oh+)B8#S2|dAOFM^!?cb5N32prjk*-NcT zsXXqZ;AwQne#U~z(+PFhG#eOvH*9kM$$$#_iJ zDznt~;DdOdzVBU9#|r{ow7Wt)Gq&Cj z6j62h+WLEi3vi&-scwq&6+G-3e0Tqeg%o&n5iCsqYZ?%j=6mt+XP zv$OgFTl=HsR`kuaPBc&cJ0D@bY(u{FoxBSd3|_Fe+`nm9Y2+?|Y;)V+XQg@WpNMh! z&2npKZbV{1LUmYz-`rESUIpCT?`?@{S0A3N^%6WR96CC;=1D6v8W|fKdn&7IYR`?e zao?+uyIkUS+Bb2W2Fi^0%MK9leTS8$Kos-r1Tx%Fl!z@1$Y~atUV09JE24j+Rrz-c z2Rrh|t3TK?zM3&P?+WESp>;OxC2cu!r*5~WxVW0n=qwEN3jSkrj`lLZXu3Ds;4j+O zBhNQ$+DvatTCMr0Y?6B3*us~@%bC@ui3eCCPYD!D2rHG+@vsy#eQF?`sav8Iu%ZUQ z<(H5UNQpoNui5}pI_zah1&x;a+fpbe$J8&L#$UzBkA~CH{aPmay0f(##WJO}`JU>C z3w7uEa-*oPsyG|WU*<^}@Fw`>>*!c`O6Sz!R+KO=qEIeXWU=D~DU$GwexLHC(9hwZ zvf~N%A@V40CoRNXhceK|60RxT)$^`AD;Z^P7CuYB#h!0u&7tJg|F*L64CQ>};h;bQ zbg1eq(8&5jA`yZ^nVb+NDVF5g-8T?Eoz=gh1L5^wleB3b%#O~?=w4r~_r=Y$`U!#Q5Eh-v&xmOF ze!HUSOVJU z(fe|aAes^sT^Dm_AD^c06QdiuD~);cSk}ES_g=m{Yvyl$z&V$qh=>X6t?lp%JSJPT zSO3)14tz)T9(gk&6+(2^wTyw0Iw zs`~1kpu>Io{C02s%**~Ui^6$1mR1^cc5qBN^0L=`czO=!`B+3>R8is4Qg$Zl0k154 zfmfsvUZkFX+>_>zUCfl4pI~Rad&C*Bvf6?+d^E41E9$>uB^ZAS zYd6g_$|s$7@H$IZ$Sj_?)f=NYOUh`qwB^g?3B)HQ zY&rvC6|!HiewrceGWFJTRE{Soc4_i{r+9JFu)sFrK2s;tW%*I(TuE_=K~vw*I?581D7$fg*KCIIh?*z z6kK%_!1cSrp)D|L{+=t5Vt0P!{&th^9i95T^I5cA5+{NsGkNP%U8(LFj#&MU?7run z-R5BpfjpLIa@NzXwlw%_*(Elc7YydE6sJV4$@U}&^E_GuU;x8-y$;V$n(~X+M$N} zJ1CpH+Qie*I&fru)*!9%#9|ld6)@m{)HGL%K&w`d@;X#)NSMz|2K!;M0&jNGG!t*? zi9F>y#`q4I2AKm_!ZQ@9{3b|UL#9U>iTI?7DKubDXPn#Ga)|QovI*=Xl28rJQ;R~d z)R!Y0?F_KWE=$nyV{I5VEDQ`>{6`iYm>=b?n)Fjm#8Pow1u5j6(*MKNTSrB~h25hd zASs}PA}J^xN|ypsf^;|19TJ0dN{2{E3@BYgcPkRo0>i-2(%p=t_sskIzI)g2{^44) zeAg>+&Us=#``NpW6|qjKDe7Dw7zAMH$Lf-yV2k=KWzEI@^P_dSKg!BIF_yJN<%>b7 zzl|4@ctw~CW1!nA)!UWoq*d2hvD^<`i#m~FIk|3}S>oe(fjwQW|ZF^I@899t*_5ym^4cRWA z^t5pj5GXD$_E^vv#nSQb<`itKt9x!Y{uFE@PJ89}>vi~v@Y#&yS5y$osz>&igJ+Lk zr`mxvZfERMclf&LJ&$r{OzBBP}*1`E@}otLH^e!rg4+yv**1dg)F zZErrDYWvyu>SA;V6h?5b%Ex3Q3vH#xMScH<#11+J(~ANh$*TXoavwc9QuWWULl%QFVDj0*rK>Mi+uk`c#4Uwj@cQM*#jYdZrtRs7( zX+~_>6+xZyEqGV#;F3u=?UStw7Hd;_yJj<__RNc2xc-EFdyMo~eAGv!nI5Yw3Vx!r zhV`zt^27jlY6H>kxwhA#3N(T4a=2J$^$m-BkwStGT(~JSquBBr9iLsDi*@gf)P7*l zg)C;7Q&xpM;DR;@LJgkrkb)67~9WTao*qipIwbB+`)Vi$!%Y788Uf zU?3>IG|1bHgNv}eOt>46P@9|ZvHFJf8bZvD0e1?d@K+(4i(Qcd96dY&!GCf!EhfX} z?(8Y!J!?nl9^Be$A%k(j1ze^Tp*zTen4Kfx7~GmX zN?-SNOJk3zA=CWLgV*d%nkVkY^F-|(&4*sn%%dh-+c-95@8?{8kK>yWWk1RGXUx}ZcPUQ1Ztq)}nvy9w60tiURX5oK`DTy>1F}3QA2D4^0^Y}l+e{kz; zzx}MBOOGTEmnw9Cun)}*X+ftmA_C$n%_I;SF|N-nJaPmR@YNm`nxwJT1M zY^;j0vi^BH93+#7?6 z@$Z@k>PC{j;Q1Da0K^Pmz^3#4^V0#={osvo0a+KK3*vlEGmFkWI2AxXDBa^ySKL& zOD`1v>}{%R|C0!?hA0J=&YCiZK@0^N4(;vjVCPTof9Khy|Lrurw3vbKuKR+`C3BPM zigmZW=SANDH0y^>)s|>70dK+pQpeO36hpq4vMrdY9x={ZLLLQ4 z2&t`pq0EGsm+mOSCC7P2xA7GzS12U#5IP7B{McNR%P``uT!)1C!6QIZTbR~s3y?M2 zq&Mu}+hyl0T02%6C{-HpewbC3j&WXQUDcnADsW<@m1v&|tO&1i@JB|a?yVqu=N=i@ z8DExNVdSt*ntE!~io}*<=Z2ca2__R5Gpt`@Kg(^V^6ibDc07YJj0?&y`v~NaSMg0oN-Qg47 zm#16*OV81GiT+gnKY|(0&q0$@Z2drxfJ{VAY#>T*jrsL;#&mRut)+@F-g3TrBNJ;P z0`{ER6H!bX5XDrmL+;<6S~x~5ZP~~Oq^dt(Q56fb(cgueR0cHX3@0sP2`DUl;SK&7 z_Wsd`wXsL|ZmXC=JiTf|8KI|ZG5dFsg*ohKb2dTM%{?1G)qnleR|nmNE#%u>7#9J? zeq0>F)LP`(P?5}g$5^3Hk%j;O);4K+ojK`|u{(PJ%2L30FKldhFR8-jCRX3r=#I*v z+Zfi@R5C?G!r_UJv>Qd_Abp1Ui*wGL_@&{6rP(+(ot3&^bx)mCkzM&U^>p0JfEGmV z5(XbV$^DXl!+Vh-gJO!Wqh_x%7WMIS4~H!3x;LqFjTT53&J0=-tYbgRqq%a1s`VSZ z1PG4g18Os?#upX3_t~ak`)Rp>($syk+aJF4tf#J9i!!SgR#zvsKjeHj0}dfmC;@0) z)tJ{xy~?oxOYi^p0Yn3Fg8$K_7$&)8XgIh3%#T6V^Hwd#>%^Tgd>W|(R#}FE*9qVUS(dW0O6AR zFPa^;pSBe3jQ*;?u_Sgzmv8GJ_FAxYcMpg5Z4osax2kp>8&H_y@(=4PM8yF*B2oiiZQuE6pS!tr+bxMjs-Tl=UM_k2Lktm7@RE#)5V#v7 zzO|V@?H2Ladp?lMFtJh|UlRqqm)0u@=77F!eQ&{#VtEoqX^+Y%=={ct^Ij7~c*Kly zc}1#`7fE%p*Y{>Mi)opXX`-sFv1cCxA7a}mOAl_u{Iq;V87h;dXFT68lau>taUM|G z4EnqGe_96_9XQ+Dj6S+BF#A|A5!h|W7c)k5#Y{PD8KHi9geaZ|F8by87KA|@K*jY~DO*1JYqu*l|oDMxD8n@37x?i`UA*TsEx z2OHtVf%EE8q1oN8ji)8Mkv_MP{>~|y^dv4h-BhGEztK%VRI=JJnm^$If!z6|$eb?d z^w{(4Oese&PMTOG42ZP>wF4D#x=PjyyqSgnEGxnfhSWvWOb>?M<4c9d%dpClG7`&s^>Z5)dQDJMM?~ zJ0s$&=HP40KDp1GlSL2O8}g9uR04@VOI@1KlPgA+)wg{)Zb_YhfXO1@IZ&14^~KD_ z{d^t@fRtYytrJPzA`8=!9hHHTS32hIs5;`7LeI@i)t|p0kZ)EsEnhPRDe9G@dQJli zKR-nx3Fu4Gi2x8R>TD|F*6LFN<#VuXs8mZzzu#B=gf}y-T58bph0);86(Ahr&d1)S zMH7qK&h^IlNlhIEpCYf6)>QasLD;;X{i7i|KCZC(1M9&D`n=}>-}~F|{fzRKl5hc* zV6?IiGcqB6xz=T+9K(Ny@!2}soBs*JM~f>0O#vyi z^qveO;Ewz>f5ETJ5jg@R{pJq&^f@Ulz$gPWM`+Fut;eVTC5dY#fKLZjXlV=MGM#1! zpb4uca1w+1Lcvv|^Y#b(LRBUmQ{ChieJQhdH+Mg; z^d-*Ei0ryfNqTbI_CDTLkC-s0jy>43d97NF=R}z)rTPuJvjxYQfAC#j;c4{T&tFk1 z>fs;tK?6G!-$)ozXTu){-e&zt1QuDcS;5S}Ub$TlUr3&eO_B!eUTdwz3s9a#FN`$6 zT+{){RMMZzn05sm*7ioXlG2lQD~=hj1zLSr={LKJWj4h)Ic!&|774m58#^T)wR+uYVR5|Fo+mKZ`qLxBe9@7dWwaA>WNJ@kKBSTLz*UVr?* zdp;#};L}3cU*Pr?4S$-DNk5k>i|L-x;kJi|RCtWDJTFYI^BZN>P@>TSvwuHflQ$;+ zy}ea5GAN4m^!GUAQCRxr;#_zY^Vh*R35)uK)Ib06>guuvTg%E~OxrF1z1*Z8x0H_e@;)~SiH3r#v_h-#OWCB zAe<^Er$^(*#Z5#fNN8DwU4v;MPS-{>{UGM>@6Z_rZk0c7CWpnNiRatK^Tt5qTi49}8zZsr z+@HYvPVZd_Eqt;n9USb3`#g41u+NXB#Fhe_;k}<0GR)+9Tx*2MBiZtif<@oIcqkQ(LGGRJm0x`8a=R>{88zh`$>YEzrGYH`CYC-wK9S6@R%rJ^IR%H!f&Jn zZzqzAY^cwmiK}w+)>b{dhyvUu?j)yK)b$@ojSoy1|Ku9uxNdK3(5bO;A{Y;v?E^E@dH)7S^& zUa$Voxn!~x?;?yAV|w_M6Wyan?<_6Df|UThpfh`=FQL|D@m20`Tc$WjfreQ?KsHeQ za=kpY<2LOW`tjq=$JfE2xD=-=(kNlTy94e}8>;=_UXc4&$>2LU1mwkDI9(!R^~^=a z!#equJPzkUYY$n+oCx|%7+Pm8uQ6i5k08NW=63l_Ka+SwIjyl{^iIcS9>kcV{Z1(C zll3I592-(Fwr_Pcu+v+=g^NgmA{2%8H(=Yxw^vPXig^?qN4eLOm0z}ur=Q?0KZmdR z+}jYPsb_pbC(WI@eQWZu*Tidipm43Qa#sFHlEy2|#Z)8Ml&0DQQI;$wc6DN**yJLv zq~9W))$iBAf70FYmhqrdj#G*i3jHYrQPP@0L63+LjXaED+g*ltU(jd-YGqBIA()#u z2m80FKgT{Ielqz~v8;@Mzk=1SyT|g*6LO?hEtPt{+XX=ZVcKJkc~`$dY7B#L=`GBP zQA_1M{m!|oQ#aVOzz9SWwZOKu90os~RcY+DOBXr08&Q*uQm^89o|pD&M|aw>A@+Ei zX6QteFVxV}8a9Cc$p)KKn+mGw#L%qnWYRb}>>fhqud`Eiu5oE&UwK(>_+1)?QFksf zTO4R>=FU&a1XW2=D41^b;%S_7Bb1M)F#}Ipk5i5{e-5S1PN7)v;N;{)NmaGBr9}~@ z!}K_A9D(TT@5cio-(dE}fCqH8?_s(Ule4O!PxGt-Lm0OubrSgT4l9tsEOh)2F~lRv zbim0XtZ-@??IRFmzI(`J%WXq{>Nbd|T_pw2-27#O@Ozkt=*4zgP^1cNoeKQuyd~i^ z-*b&M2(61%=KiF&%SM1s-#ZD(V3o=gve|IVH*_7Cwtt4nN3+Th?%a%%4siWDBj3gf z*N}zdlsK!3ACW$En3yHmQ&srF2$suZmRq63#3zhQinDpM%%n;9JiWG83J`noXvl_u^~NR8>|Fr%ce9j~6! zK7EK?`u1(|NLFQKZMJ!vhPFy_?|f`|{=|M|rxpK5%X?T|()@Snc?_)jdnQE{cO5W> z%Wq4eY;iYBtW((!EA73@+;|Ct;ICR!-qp@*B}Wh!mQL$<>d)R&KOs+*yM#gy^?eOW??y`V1r0`({Zn z?~nQHy4H^RP(&`tVJHc03l=mHWUX95$hI|Uy0?jRk4{B!qEiP5WE$|YKE9C&&J7av z60E5isk$r7<4A4sK4LvvFSP_#!Ol=m+#Iaj)!b6`#>y=5=j1}Ke7Cgz59v@XcS5c8 zho2nk!^>Kz71jt6m!;2$#ztGwDR}Xz3zPK$CpqivBm<{x$h&$8#^&SHn$dn2eW_ zHrn$T2Cb_&f;SG{(M2Py z3@r;7%?6s=+HVC0_|m9HtS!^4ONaEF+@<4spYs@bn_w{IMR`bIONO{_WoYZuhF%k7 z#;u;Vx6%(V+G@6kp4d$q{`%E52|NrM2pk2kVvp@z2G&gwzsq84UU-V#J!5a|t%AIp z;<2!+RB;j8Cus{v)q-<#XmO|I8I2a^{aA;mP_U;cTBLXQFjx!I6joLy+;+SQ509Xt zrCsY^?zXJe2N)I5djqnSGU|?Z#@PLc|KIf0Pl--n@KV^SeFLxe>fQd6?x(3!7eph7 z*Ukt^7UpWv_jH$R47s{#jmG{{E+u7Wo_%wWPd)-s1@o#BAa4ms{v_60im0yB7Mp`e z%)Ur1?Gl+>l=nN>FYKfk&5~v(Pa%gdSAFhjw#O89n0U$I;yV9v5QB3c+52bTNv-S& z;%V5YNF#2|!H0scI27KIhBWWu{}vm6n-Wu`gvrA z6Sl#YE!v8SvijtpjT7{ix8NbqIL0zB!`oQxXT2Upz3dF{ktrK2lDQv8bd#u6Q}i#L z@?IcFg7Rk%C|g6BukXH@gfvk&7N^bXe;VrItg}v>K*>P$kt1nE-!EK9g zVBI?$+1g99ad5R(a?z%4PMMh9xjKc+DAkqJX-^xmlC!R!a3L}k3qDz;gPH8Y>A@{6 zXb_CJ<$2SeCjH{a@L*2*R#{nz`PFNGjtXM~BpG8vQO|){ymCoHLjd8M2z_rP0Ebbg z4zf&u+aFIPajR7JY=t$G9rOdtKE8SFr{?T(-H?V0RtJ7$)$H2*a9DhfhAzlOhUxfi z;Te}pq?K1CWMrfBu~LTBL_zZ;4Bmfz)`l-VfQY!a{f^>e$0rZe?Z>st zA|Y@@Qq zFD}-RO=9C|ANbT%)WM7_Ytp{mOWL>OpQfhRvP4^#P2}FEL}=WE;qsD?b`;apo{5|D zs#n6e-Y0QGAv|QGkofw5pbWYCg;s?$WLcXEqCCZiXZ7smC*x0zXe^@g$CtA;u zEY>5h7zt~u47NOojzcF5ce)yV66WlQwylQFu>24W()X;7bF&*8Xq~b1f-dxS ziVpm`o)lclZpS!z`Sdu6dN(gf^=OR4^ z|G(>B!370`pP=yI7L7440}hOl;0k8XKlbOMxo{P|NkYH##|EC`#4K|)a57UHYWhq&+@dR+v)c8Cl+0%kb*>d=PyJSOD+nQt;_qZ5(0Z80 zX4<5uny1`7!-=r}iQ3I=Y096Rprp`k(&7vz@~?kwo{un^06j4=~Bl01z!CIJVHgYODI4r2i79BsFCP-EK~*Y#Cno7KeCLmrc-)` zau8UxPw6OW@Bggy-a2)2Gx9i~S;^BX1&I`0IrBg|ODc0PjFPxgly`&QsW;E+!{QPb z`PR!(mHEL|e{lm5h4xoG29XE{F(mwp6N|(T>pV!4cBqL{M56Tgy^^aEK(alGb$aM1 zXi#~MoE+FS=_gS+a7Hd`Z4pS&Caf<)2YIW7Td(7K`hG!*37L2+MPl@-y zCRL^`JI7VIJGyOL<8Y_0GBR!;&cwV#?V0UO>gTRlghkYXM3Taxwc)PiMmVQ+ewUIe zSo|wTQQ`bv4dI`XogGS7CyK}-?z}dn>7B1h5Mi$NiPY&;LO$QTHhz0v!T-ZU004m5J?lU@s%rl!OZ&ZI9`lW{} z)>iMR{rq}8TzlXwRusA^ws;GXA5>LR!tN3QZ3QCrj_spjLmdC2`a4TBwj4WH^w(eQ zE*+E~*Zr^+TppWO!6+9@;yyfiiEO7L|hXh{6U+KN}4CW%=RJEOjy;z+o7oqOO}mwv1)s7{JuFipcjO+#bpSXrTM954JV zCJUxF1vMHm`WU1cJAw#P94Se5%AKv;wcc}VDalB=` zTl!vN*yw+j{QQPSbnHwtR=4fq3j;xN5szki=Az!+Pi6496;A1YiPU;mzY~77tv=Ey z7!UfrBk|Yt6#jI7VI^Tlr~My>_=QREy~qtq$rSCw71U8(%1~BBd;a42&XFrwWU*Ub z&bC!Uj-v1Ndz0Ouw)Sk*&MxcvgfAlH^V^N>meHHqdo|C4yn-1aVvDd;%(2F9o|{Q~ zG0}O|GJAxodo#_N4}*oNDgCdGSN3prxZ+3qdPP>6LY>k0B$p(Us}h!+)y>}{HB0|< z3R(a6DGWrHHP0p+z%;HPOqKJw)_YaH5@L1{nQX4Z=My9)QG2Cq&ho?B;0!qSTnD&j z?ZmQD10=pnlq~FduzIW8C5X!uE;R=vO-^y6nE+0 zDY5IQVEQExrDpnh^ZZu@!tDLqWS$XL&-D6(RK+ts+BOzB4-T)G2?pktFQK;IEj*;D6PEY~C>jgmb?NC0A1Yga*I#ZlNr_jj&mJd8T4u@(-k$>zP7@h1Fo#`IjEZH}V z6X#tTs)!T$?ma%zEVYKs&h6tKsc5?R`kU14ZCc(LW_wsd&vM-6<~>V6ZsutSJD;fh zE;jGC5Pz~&v|>h%{mzRr9MaW%`bXAWtdS|K8}FMMQ;%m6L4hV-;`4hp?%iudcaV!X z_5j&%O?_%vPglzT&LS)Vw`2swCJwx6yyfqhrOmRdZu&3qPi*Rd=2Vk!kv}W{GwmzKu_!p;brf!D_B29_n5EB5Z@8 zk~gFn?QnZ300Mo)bETudn=exY;n7T?Sqs zWj+f*JPg^i&#U19kmK?_+-ah9wOV7rN3B-}FHsA7B@@)wWX}l|>8ttF>Zvhc{`*31 zPzN)2(G+tJ$5>0o?+fj|&1X}F=@}V}P!%jSn2x@Y(dt~Yd)7UPs-;Q};-orBMQUru{6B^t1oZ604DtEU}K0kdA zguhPKg*wx9+qbnVoP^ZA!U}c94*3F4y>E9r0}|`&1@_xkgy}yl`chHREz}t`8?Bc} z{N*?O=MvaGFhI~a=a-D?+;{=mo7?g@!SXJ~5N_1L$ii}>czFWcM8KcIz=IyRqbyYE z^(8*G#{_Zfj^R~LO0i4CL(jJF^S=@yNw9ztKI@3L6Y-OO12SC&GxFc(VF$H9O*Cy$ zE&glTcABI~2lc17Uny3qiFRuMEF>Z>y0f zP9fNgoAP&a#^0@G#2T>)iDYU&tC&??X5smC^D*rK@yAFR#>m|M9-ADCa%MiAosM)! z@hrZL*u?kCg8eomr7idD*S40likV_sl>yEh!Lh&b)nYe}MKwEg`Dvmp0Uw9u+{*ku zA{LwFFl$Xj+o5h1kjKKyX&7{yyJCg&wfa08aOWl@Y!ZTzjSb@JiddoXl1wXuJC`G% zTRAQ^#DNWp3gcE`$nGOFLiX-mkQ!?k172kA^k2t%11o=jC>rqGpA$g?p2x?$z@7w% z>I!CB0h5cc*H7MJh+>Sq`b@ioBFp)U&Eq>WC^`UhwrWNDTY;C}M<3X>(||*;`Y>Ip zyYuh3>GAJ`z!22+dTV;tmnGDzGk#El^W1C&&U|4g-hp;r1RjM3UOY+YSV8=<9KT*D z%C>fLf_C0qBJj5ITCj`-KvY0ig`XDTBk*$1C2wsDC9&_z4}pPa1>9sgHD|6ChFre; z(_NJH$H2Mo$5$$KzoM36VHu_9iabSQ!X@bg24S--!Yoo-sD`PGPZgcwF^Hi zc5|9lqgrN>OFnspDLPpthb8csTqvd0A(yts*YN-{bVlabaOdgV8@_#JN5Ri@e@c!C z)|=N(o!5G26{}`;`3B1TQ3NL4*4mflLIb}0xWlhqwxYz;%etZ<@#;cwj@5b&rdWi9 zeJi91`mL*M<@dI?;bN*=i41p|!*z#yAMvFon_PGV+I*l1Jb!=$Jfk6Y2^p3v)hPp< zmDJSKrVmGq6B83g9e(M6pNAfZcpX@~x{|7s-^281>=K##euTf8OXq*8UYSYCI+hCG zxIM`^j5+4? z3ZJ@O)bQm~; z>L%J6{re(p7}ab@C5Xj!K+)3NsonYS20N1)h5yc{@}0b~B_D0;3IwsAM!hFAt*VXm zW#Zwl4=mlN9@@Q}Tp(i$6rzv0CeAcFd08>z6=NJ+YhqPCzHifd5Xj|7M@`K%gOF#2 zu8)0_rV;f3G3q;r$n^$s033NwcP@v6f5`ugV1 zjs=J!V2`UFdrZeuTQm#!TX_TPufHQ+9iaeK2dU(`*X8;yh$LR^JI2X_R46kc~9}n%{-d&?qYPJ5$e1c_B$&xT?58A z;=oE{4!Gzj&vpV+fe$Oxi~VSymfPEdf7#!^OVRmkJ~6pHP7_K^d|I*xsdHX4fb{}5 z1%0%~Kq;KP@CLw8#frqO#oJl`Zt8_D;1fjc^oWXTx$@s-rSD7H;5**T zOljK%TXrVr(Sd_G0k`hTt{4BBt|;2h;i#h>l3Rm`;{uIzJfFlMotgIPfpw-^5>}tLGbD}UFS&E@rX)r=-&|r+91sdD*``KO1`AUiBLB+;Ku~?qb%)0}ARIX_mt%O2 zhkHck$1jb>qNR25KEetn1zj(~adAm=)$6+SZQX=5yujYK>1k3*Zln=R&FAQW#;eMUtXNQ) zmh`zzTv~ogxuJOdB+NGK?`=C?BHqWG?EIFht`GNahdXY9T2ZnlO%LLF8TZ;l5f+ig z2DR7%+o8iL zD1g^^=5ndHj1F;?Iil+Jy$<>&O)BP16frjueD#4jJlT5&FQsiY?QClG<>chv6lu_i zfA}=((h2<_K7vF(c5rY2`E_%XHJ6n!+MLM>0oMk(2SJ60)_&btmME&LPD|LU=5wxR9~Kvqm4t+a`fICVvE0kgWlu(+swsl zW?<4}(HDON`~;3*F8(nQ^Z{S0t6yaMpX;OD6mE}s{(W}TDX}?6oARN+D+RWBaYRH! zj~bTUbFOI6|KP>^;*D{~QJl*maH-6Zjv%fEUUwL8XMb<6(Ek%&yqs$M032x0w-LC+ ztf0T<%F0S=;}!6y3}5_rvuI;x7L0bRdGnBFvvd;NQ4D6!caCo6AzSI`%7YGOd|iS6 z=oi8Ak?UVzndxBp-*j^OO#nn-$BG~S>#HHLHG&ro5wp(bOf1k(A)oe^)$bTZ0q1`JZJQ0wsDq<+$T+Zy-6M?87*I@;4zGW5XCR`U-kW+R$NmF zaDGS+tX2_Z?j;)uU`!eGb5eI!Mhw3eMuRHj1^Um18|5^rV~xrlhg$Ewg%t{aefuoh zW<;t$(bF^TD5LAkYMY@BPi2L%e>M>WouGA<2WjA$wb{U-g^V8qJ z4AZG`9?Txe32-PWDM1=GM_l=8-`N0DW&f~lGZ1_+T>N(oy@6ew_ilBcaKN=Nx(atN zy?TtcoWlV2We9H&8HYi<4m{Hh?9o(x33uh9f93ZDcpRp6-pqEc-CiBwE^P$fZd^3y zTs5aUeV7?E=?x`$h1bQ^IQIi>oZA5m_t18Wpc3G8l829vKlm>^9!5wEy*0hmzyN;5 z!~tu%0R?$`z+LD;LLc~9V&mf>o{m^J$F0#l4ZxGGEL%V>R zZ@60rwSf;9K2-zTzQ2F_Bu4HD&2>rKu1N5TiVk3rhlDDa*5z6Z+q1$Mbu?VMrBmseNm z+1boFqrg+|OJ-)CPFdnGJMob%zha42t`__I^&u+ChY$7j_08VDPdqw$f4(={7f&k| z*|)MgT^%~#>gClws{72<#K7QB!tG|lUqs-I?o%)pe8cbdl`y0W+){&%!;d_N=Z&3E zuqGLBy+VJInBW(d#G+W(%c-UrHo5VV>=t(9U-Ja6_wi$zRqK( zsuo)9?c+wfaV+r9p}j##0uHeTXYY}38mNg^1g&e7Or8c*>zO<9J6|@ZgRiiMpkJ=Y zxuIIP9CU%y#RUsGI6KELFPptOuTD5>9`%oB$?^M)j@UpP2v|}kxB`b&FsHP%1Jq84 zce@w>No%Cgx9@GVHlNBu&HkOa7NHD7k1DS%pcR*s7~{S`no=@V4B zy8Yyx0p7=A3W8*lwlL6IR<>%$vL`DMH)1+g9Qd-rNorzai9Qc~xYwJ1zA>bNswI$Z zYh&RZq+G`NdBT_%`5RTd5VesqLA{G*W4$q9Kdg8K$KTtA8;+99z??vt9&^ZM2k23Uf#g( z@9#{`jedA|xUlazCx)uT&1qrXlz&Dh>cbq3LCJVg8S%&0aY*rPEQQv+&1akT_*;Q4 zjq_kgf#Z~!h5gRQIvju@D85?0LVsW zsW8(SyrF7~K4OgXgT+zseM?JAr=}93haQH8(58&_fO}#$@!NmER zPca|O#(&0p6`;OQ3sISWtV{h#BncVR)FN^Z6g^4rf6QQ(#=M=<;l!I4iPG+$yUYJ} zt>$|~rnaFe3;!p(CaBQlPL?tWgCTkG(6DAlc?P}UvD4cgMz;dw3rC&Bw8RvYWpkPI zA{*ZC0aapgjspCw4xwYwVg>k*AFq>uP+8>0>4zzW%f0X4c2l>@4C+06yk@*^un+4{ zQO?a)aUQ$Gs5^`0lHzCSy@VwjI6j%URe1-O1%j?+HW@nKpUVaRXg@a-x+*n6`fKO- zK6HywUgSZp&8f9^lnO+}CnO}jdHQI`x)~UNqYY&GEqOVCi|XhGurmI+a&*^nWa9+% zv5bj$Aq=E3J;0qwCQlt(ih+h$$X@gz0ZzbiQchJmJ|1NSa_Psg>JN&N%>k*|DqDy`N0wBj(d_uJnbT;VFVn1;>_`t%;n{%_O z`O~wc39C5|e8;TpCEK~bfptypmdn~Dc07CyP|oTE;DDjTIX(x&jWjVD)|qtvqwfFc zl(3xFO~5dbjIH+ugWpg&ylL+kLe^oZ(0;FX3lQLFB`4xLcG5bK-1Ao@NkvBQy?tM1 z+x5-&-r9|K*r&aJtI~ziN&01dwN*FK`bD9-$(I_3f_KpEL;~v<+`y)5CYoqNH;j3y z4KsuKU%H=jtvz8(SVRP=x%%qoxKXapGOQ`c(*`3LW7zBPJ+jwN>@UPq(g)wPjBC2p zM;mcc=Z~e{3)Bj58TdYro!R&7QIapocEh-r_Sdb4L5N`i3oppMP7Lw9uQEIXdQH&g zT>s0xdxyjeexuW8N)vzmVmfB)vZM^J$8=|Lo*@%ck)>_K*)L`*9;&#sg4v|OnX#uY za_w4!`jO~cYA61_uNBhj8*3PX$mRAcV<+4(a>*Ttvdc8ydBdH|+8IvJnR>AIe3Oo7 z+A7QhRrfbN&d-Bu!rsSE`S|$2Edk(lE~^HZ@23rxmzRTuekvLoOTaB__eIr!stNEZ z1_uX+Mn~Pjozc+SAa>-yQ}lPI8ZTRVYS_! zRc@dg6o9aR#sTfKeFE?#7T~&U3edc+)CR8>C}6lcn4CPO3%q_mg+Nfz(XFHV2mthg z{<$d6>0rJ!jR!dS`GLMhiZraDz8DJ!8GR|Sc+4Sw6vdMMh~CEBJgX@C7K?b%6|2v= z^`64#zr+8o+OLm!+M}oePtxmV%HsO(PyB!b3wkRbNb1&%KE~Zz{oW9R4KxpOHChw~ zFMlQeNLfSV2E(keY$iIExpWf$-l1xSwHQn3&{xN@Gv9ka6L|SN{oU z!18&>H}F%(i~;_aN{ykmlrm^WDfOFsWBTHD)y#9x2Fh2Nk~Vv-8YN1ecKA_jNd57*ln`bEyp>dQk zEY#ykW2A0L#va|MkAhiw&IgpD4$YK~q}Zw8d5d~?3sf*jyWtm`y}(Ta^q4V-GWH+= zP2kbsnR#UJ3-loatZTkPE9#YQ1cKBh&{FqzVQ&951LHlHa54m4wqq+;!R)e3dT}WQW`@b6!|DY8a=V$ED-^naFae;75bYAM9Ss9e%hL>BMu>G4u}s|=JM_+n08Bf~Yr1 z%Nk?Up^9KCD_72*Lahou!QX8iQ3#)$RjKQSAyf92x^z@>N>Yre2<8;OITg@aTeQ)# zmB0oDKVw|t>+Jp9URpBu_v3R;diHfLG~XQmMTZD=${x23bX5cYi8@c&)Q|bOFS_Bb{$de(&o58>%Fgg5b{hB)GVg01Wt^eCsa&( zg4*Lm_imr1lV`npqezP43x07WaY_r|`A#F^76ujb0-L|ZaC`8ZZ#H74j1j0|EYe^D z9juoQGflnl_gv2N)>V;jGFw&L6wb*5a0nK90x#-Q) z@!tUsR-bwBFiF*eJg_6N6d1Jsq0)i1qlCn9p-_9t&OKikXc>S8LPrWnzs{PpRuZLZ ztfX;rnfCk=04I!%jXeY&q~6mtlEG~gz?=6=M#gaqRj|(_K!pBnN!+kxfB1us5dd7) z4$%R#tn;!A!|y1@)Y9BM1b6|$$KC9=f_2ao6!ZwxiI@M}ifmJ>DCf?}U<|77iR+qb2G~s+zrcIa!&`6{dR~=RPVo zem9Tfhk- zueXws`PQT~4-(4+N_E$Zxw#w~Oan`_k{?fg4s%@RZN$g~NRUzGEaxv8So&^joW0l0 z_5pR)V_$7BIX-i++VyOGsS)|c zjlQ_NGM4zhZc<^Icl5>^4EbQA9_uNwBXKicu}Kz{597^mn#xji3vB8%LKAmwLub5{ zTHTQ&oZmhU0|*7oA=$=0^byC?N{lGW$A22OzK`x{!CNN z6j#G$m!$YK-ETKBCV-oTHV{Ymsh3+tGo69|QiJPBUj1bN)dB*9!=EefZVK$GW)dQM{oKyR!+8iJTN9Dea1NbK+LsHK2zYGxJ$t7x z&3!vU>E1i1abvOO%brL9HG3RZLv>5X$+0b?>~w)QIP*_jQ`eM7mRuo{m?O$|^*jHf z81Ilq%dx7O7S=QrO3os~SElbR(a=#bXDPVchB7cj-hr=Cu=DADI#b!qh}Gg|(&g}! zD|d*{PdatdM&%Jh6EPLu3nk2|wKk`;U@}4y+D+nNa!%@kRt#>6pO@#0y+Z$%DITgCMo*FBS`4aTkOC@pb+En z-EAGIMLQVS4RBL*ZpnZZr}%o5HD!ny%kz-5o2c||&YIngob&MZ()>5YO(i>iWpzBJ zvI$#M)z%4>z2^PyxYqI>8Ehj@;MAIbexJ`K!O+b|X=gRddF@@IX5)Nhabecf8}`&< zE*>wU_ zgM%_>#}ao^7wSQc5zqG<_D%rR-QA4GKY$b#C+>HZ{f_^ zsSaWdFczZo^sa~;DM?pO+dI;nUH%`oz5=QWuIZX?K@c$LZcw@;ltz&5Qfat=C@of{! zL4Qm}P9E21Uw`;Z*J?X1`8w3ak|hT6g485XUhlx7QOsm|XhoEbjScLr#4P&YGU{-T z{H1Ul2`WQ71Cjteo8O<$mrYGfm{VYhPA9oHgcE1HBDFFeLcz`wzz64=ZU~J3s0Um$ zu|>&7N}sh1n*lf7wpKe`vR!0AZfXc!5*f35|D*O6qZg@vtxNo+&0e>mRyQ%h#)8%r43a&ScOF0KZRjzj4#4ft?od)uO-+hL?|v1v zM+2jrSKb7#e{q6O>C5Wc29>0$it5GVxNdPJMW<+P*5n?8vR-|2^Wo~ov#h*p@Upv@nNjdN_Jqui6^4;e?H-|X}fzpXE;GK^BNXx?1@+2Fx>tXh84jq3;9Is(Jdc8T?3f?)do1|@CCrF(kI4_u!vSOn6 zAl@%yNY&;@XJy^GKONxH%<$zwxOgIF+Cm#0-)9RC@DErxZxMXDn=`zkA~gfz$mpQI zY-cMOXW_8v8B-lVbVBJ`QeG}1E8F|~w+F5QFc)D}ccu=JE;SuigHf?=p#e8-1hn?B zBDI55s7WDH#|D6(z~en2rig>%bLzvtgygK#ZLsDDlBVO_xWDt^CJ zjUkXs6gs>MOoETmzgru66!ko%kGxrG$3?^EQOErPZByjVhc`GL)^>ic5|z|ogH&<>56j(UuIAb@ z=}Hiuq9abPKd{`{q;I$ph2-83?_T6Xp^TI4KKV{J^wg_@UcK?>nxk`-TH$ulob(0JQiAh?Lh?X~PNmii zGp_)*(;s_om!E)?EL|g?hb98(ADo<=ZzpS`*;J!GxQqz`d@7))=dEapoxK8>?=EqHNg7vm2m7 zaz@#&3k&RnjtPm0GyptH1s;iR`F6?xRT4_~|Ld-Xp`I0+78}KTd535eZ&UqVwVZvQ z)3kfkJ{nG(>1H{rji%i)Fycx^dPg5|Fe}pW4>_$OxF&z(4Nti;oh~%3(Y}04I%!@y zKygYVPUz%I$&HhC>~bSMD`qACt(Lyp{&O4h3!(nabsq~wUWLD4!6G=e?B_kWKw(Qn zVJm(b7~fNG{9QIi*IBYQmZV{K>LHFK=^%G(?7hY07&U(MT_>lM?cA%j>N6;NYYufO z!Z?fa;X5;h&3~%$3}4EN&pKXryzqEz#H~e8M9+ffz|tnSvWb+YGc`k2J(V_PGm z)Pv})1Ju#3#vk4?Va4tNEVvb)u3hRjLR+gR#y2Ih*=kNHPS@3cwpM#a@)jIiis$^X zMf;wSoFpKz{N*?8Ij|GFYPULr$fB-0N6?Dnl96A~Ej2I!);YEEkBTcmmgKP8`+Z%; zXVdkBj-H;KHUb`2DA*y_R(<%OkgKPdWcP9Yddi)=*lPjMLPCjEgm%6ZVx;fU39y?l zEv5uB1@IqWg(le34e1vKR%>f(32P}Hv->Ukz})$NNUsIP2t(tl#IPW_xm_bTixg$3wn-<7WSr)}YOD zm7cm-d)W$~%i+kWw<`7z?`2Lj^Sd5pZobCH!#0geXlO%UOZ?2Spz&F>uVzNjp>$ZX zB_O|j@3EkRqQV=MSQo>XbnJc*GWpQ>;HKy9Z4B|q%D%XwA60WPoH;?0dL(ePM6)a* zwueSR=ezL8u;Um*w_e~e(c6X;iP2G7@t(L(YkLfM>vyf!lU+>AaeaQ?^ublGMm)rQ zSxpyTM(dk@`lS4H%>B1^u-jjrLPM#E=+n3&)6$yNuqtez}YrV4CNqFB- zpD8v?Hy+i`?Dohc#&_meYWa_!Ab;+k6@~SIQpbb+<1N8jC(ABds*v|h48s4-1yGX3 z_ys0vW6~!~W+qI_>t$tS?||q>uTT{0@6eDQu7YazAVEkHdm;AwrvxGW_Ei_K7{Zl6 zp8})^m>3$DS3y0K|9(czO3JQxHS936b@FEBR7Ca=1y6YUq}aNVhPr$X zB|4w^uL}S_BkJcfuf=}Vta_aYj4FEGV^+Qq&pMZ^Kon*ktafp=CXD74x3SCDMBb4i z5^HMli*{nQ<7zAjypVRQprP`sOAI97$>>8XL)!2agU|0ShcRoSrUn+#Jc=gLjTYC3v6V#H-|D$Ii>ruV!i zcZ^NG@|>;dvETEZ&QGgKhelc{h28xAvr*J9tYqxo=s7kraA&zknEx~@4p))iHI|7A zj}1^iEprN4yz}~gUh5wbn_nhwYN0*C%p_mY&ZpKF>Wyw+T>Y|iv}~8q#l73to#-6?GgKq@@kV{i{s==~exW;f8r-feofxEAPi1Zqeb$c+sGzDMrp=_4r#&(wr*CMb(|h>IO2=>g9#Cr`Ic7#TFaQFBJtzayrvh zZ*r7(Qgd-8k){N_$d(Yc6mWl*^O9=SE7{P5pX93{aXn;kn#)zv*6al~rZRRTc%>4q z{WZBXMJ_HE#;S(}9d3HSQMu)elzCb3nOe5ez(({w0UdMmIo}R@=ni{XIjOpfI#`N& z_<#T@K^w#FT)g(W*eq$aQ^T#K6+6w)#1(qRsy&Abu1R=b>_`K3^1Xk?F$t?WTHcwN zm6==#+UvN1y;CuZ$d~Z-x$}4b;_9O)YvlrHVp@TY2w!p)oM z65sooJ3$ZqiwC-97XAL;$q*L(&qA(*vue&@JKSL85|*0`Qe55qaf>q3%G&fzC%1LF zxM>}Ex|mp^xq60%xnMH4b;_KH!o?U;<%QI0>@>QztGO>9X^y)tIF_A{;E1!S(5@cxrGGtkTBI$39ol7F=%;%5>8B_-Ho6CWQRZYb%sQzJuQD0wAAW0t9@g_3zhLn`Lcv^0&byrYzLqqrUG(D6eQ2PVI9mgJf zhm$8!gI`b(quGCoOX%C@Vs+`CgaE@L)!D+R2fQmAjjCoN3HIa`j_{`sIpXN2r8xb+ zkuUM2wll?d+gQ(hu<9?ic41$8uAELrHQ3YlU`TKm#q{OU#tYSQ=A1GAzd`DJcvX@HDz7$gN=frjzpLjSjmWkt(&%aV~8WYBh<5&V0pbv+f}~{-h?guM9|cylpT!v!)v0H7=N0hPuQCAWxVk8nBO7#I$iSnS}D#de#fHf4_BFy+7h$L z{CKphyGZxo#-9Ui1RIy`YVPr#e%H`R9mj(QxNN@4$4!d=$Ds z_-4f0S8ShtcGGFSwCfY9-1OS{*hhtjr--Nfbn+QDuSerMK{KN8lJj3LDhny^!KqPc57{U;iPwT+oLBhx;Z3S|fGb~ICs zQ`~CsGB}!VQAk8TxbKr{p1s?6AuTc|u>W_%8!AcCUg?L?Zersl$)=$0=yzzmR_CUX zRx}Y=y=w0%6X?Z97+lNKyphDv`H4T~iuC!cu6(w2%l{VmK{4@Jk61UJqriZl6*u%& z=HlKv*pU#$c+=VIvia)AP}0cBevn))Kw5-yK3*gD8kTf?7nsCfRE{+}Z84x$CTEhP z|37aKGuy<5Gb+pKdsPNZlCjEZwEG8ppIC4& za=D6qD~mvol;}Qena=uVA!7D&m+7o{yGl8^s>teTWs1S&8Vg=sQQhWoOw6gyyidR!+QnirHkti z<}&d9KuM8uhd`IQYk6ln`26%=UH7dfS3ke0`37-y4QwD;^t$w<80v?ie`-M<$CrC6 zq3b$)VVSxJ!|{fTImu>U?e$n*F|{E_6Mq=Kwr>QB5?fk>_tl-&g~CX+!Rao)UGt-F zMq?Gj9N2$1z~$mvjiTR-n#`}=w?7PYZsiA#_sJc{-@Nq6+qF3VuG^Q;#2#a!Ts;zQ zaWA2<9cNOoK?q@nQ9hklhT%7USN<`bn*vp=4;Q11>{n|Vm*)u`zH0;@vOQly) zw{jX8%JD+YKwS*cuC!^;@gzpE?u3A7lTaV(x_UH8h%Nu z{NHP{QddQXhzkskODMRubP1iB&wK7Qi5bOvyw}H$?3!;uk?X7uBbN0GJ^` zv-{KmVHmFYIXu#!nb|A>V(AJk`+Qm$(kv!sKj^ ze42|VO2bq{4#+f)#LKy|)?dyx=LqaQm{b(f7j2w(Mgfu5|DF}9vrr*Yn@jKX;(U3L z{@WFURYa>6ck!h&s}Kr9H=J2-81KEg#^wEnih%)y2(cW*ie4xjz042`UN+84ySZz` zHHP_~4E*K~1teA#dxS@FA}8AjcrDZ2upIaVm%UesxNGD2K?V0tI{jW%&jg7_lv|qX z3IB@@(91%#J|f25nP;IJl$aCwcr4PZ$5p$f?8)da)!~LdXA&RvJnN(s*6E-yfo>tE z)Kl^PBNi=@1KjDt4IRZ0Cg+l8RXj6^W24x2%_|0+(fxMg8;84^8R$8>I^9e4hURU} z0isobXoA@zZ1Jf-GY>i;HZ#PE5?y`l3HT7$?l_{o@0Q;jy+*l#&+&a%*EhguJS8Oe z==}2&L)-x%UoJy6j-5A=1P%;hy1I`2nPS(z+ z+fAC$5ljZhAH7ne`m>|8{~!2^cjf_v8CquN#Uy`RS>k6>|Vy5U$QKe~O}-q=;f@KJ<;=y7>N`t2_E z`>fjB=(*~qt2(3SeYA&olDDgR>SNE$gys6R3agc|oo?Q>yI0ZWXJKxt+*MT?+Bft? z3Nd@5gDGuR)I&_7!~QMn$b@!n3|;)X(HBmd>BD>JHGEoC3_m~2F~9N;YAUH%700_V zHRc^9Be95AH(aFOS<7@>V&%4XuiWL&wHbzFfK(FH|=p_g=C zovt;S!bT1MH%P&Z88i<~UOdV+&C2c|3V-n|vW6$V2OwJd8;q(c=ak?fqVTj|FE>jP znY;PDG8T9t2A63iW(ykAKYN%I5(>O}HAv)H^U{F(Z*^%@E{=ogo@lPPXk)rL_A=+V zh4JA~wQyQ~YE%yget$7fHQK*#ml>~Kz-IJh@GIKl+|-GSS@TX8%Teg8zEgmqc>CAW z^<)Ln4?c0t$<^gSd@h6JWc7v*&=ePyNEH%Lz8QHF>K^&79oIrY47$mwAFUraP7!E? z2=gx46~3*_ce#9~GLA*{xG{NEEVtHDky<;F2U%qKzTuw(21-jiZhh^6>*E9vEIi!l zlZe;OPf1I|FoBwWeZ?W%Xr`pT)z?k1EaxQv3}M5Dx0U1-sH-uYp;kB{4ICHJBL_Cy=MZeI4!|ygia$tJL692Y3Y5w<1#M zL=8&vFwB^|&g1E$<^G3fCw@?XKpzap`vI)(0N({;CKN-&f1a;Y{r@pKDZlx@rMLT< zGvE-Fz1ro@~0YHLEP zpf!4Rn1DB+f`j=>gX{S7&fN&g?KjZ5@(HH^%(7P`&Sf}^`eIj+{+>ukm-(C z?kx0qsLESjPJV1PHDqWDau({cF?1eznu`{>V|*#yNnllnX<2KL*ZaB0oyc{1J!W5_ zzzL!FuE}HE-Q&)_5X$E1mno&`jzN<0Hcb3gKbwwd#Mc(>nf9*PPsRpKxk-t&cUa8OFoS6*1F_SDfar{&#ef0=rkd>W>R`lhF}0$ET^)K~U_pPw z`UXrccrZ_4iK0k#u?e!$rwPgj?CSC>{&7&m*^t) z$v1ubFInOt{wEVM7W!LB>VO_|s)cAfX zQY1Z^x@(HyMW9WmL9UbeoUs09lnl%_LFNEO1ty(-3cr*t_2{Jz_a~TMfsYeFOh83} z7tvQ%o1N;0t7eT^t`4`y-ueVV2=L2+)&_I5RIJCWu~;@BxCTP#Kf$$SgHmvC>yH-3 zYxn<&tuv#r{)*wJGx;r0qTJ{D8|O~lG(_53_wuq6s%Ta_9TyaxcZ;o#$+t-doBb~mS;(YJplxVn`;h&g1 zRw*ZG@4-##+E;->HZVlgjBTH%BkkSZx6XU25J0qC1Oql>o^;vU+$k^+pu9wUYl1BE zET~(gDnZEN)}2r4^waJ=XIKe>+H8wyYa*m9lq^(=L}8Gqli1Clddd)Iy}B5|!_!%e zE*qtsLTpvt!7(baam?zEaG*kDByRN7h|;$OU*dV^qCtIU4a z(4Ic_A&YHYs`eMIR_qwH zQi~*_|Fdl--t%M8>!N1)hY8o_Z+@jNtrk7Vx{{3-8!FpVH6`6WRF^k!hN?ecSaj0T z8p5$QTeHpd@3$#fricK~9h7CD>~Y7!pv|B{gItlAm`D)P;<-q2dU^_4wJM)2 zD-b-qQptw69DXn);2}Qyy!cKQwQ;oGrY@yGEU^&}c zvvwIVAi{vD#p*M4sfKkTCc$qB+|#|aWiJ*UKU`fXo5(&p5$nj9ME@&WFQOkIYv0l~%o!-6#pHBq7> zsj;GswH2N3B)_N=Rs89@aFN!5<*BA8?w*&`D?cF#@{2^~CRFz?dA4K6U+|5$A-w+d zBGpL+?tTlw)cQM@0Y}lH-U5z3$2tG4hT!TVL(8JgvdywZM~l`0hdlHQ+AzQ0Z*`<_ zdH>{{!?tWnZsL<}`-w>hqyqaLJypr<1;Yk>yNBZDCANDZ)8nt?r=L=jEgW;E-QGU_ z%Fj<5+o7S&Qd@!TeDoM0jS%5h6kWDXDBZ`eoG^}aC3rw5o|-YzMp=uT+_lZq-I7V4 zn7lmFl6Ub&O|kbA4J6-q@f9yKgz*()jq;4?mxi_?3D$h6SB(dWiu7FS^u~%A*0^fB z?8lv3Q>mnjC5ab z!k@dZlU&L1aFnEFhzXwm-P`kAAHRXo{SZ9w?eF)5a-{#=&7R&~vY^(C|Kf!J5nmFR zS76JE!55d7d_nvOX%^Zy;p^AizJ0rxsZ;PO#Hc=8fmtCSK&BH|z(6&DSsK7Cl8=_i z90uMkhRL6>wA;iuikj&t_;`6e{QFDSt!|zGE(plW0c`&Bcla)VV&hc~6c}Fh-@nvE zo_xQbF{fj1Ht$<$qWm&D*4QXyurrQ|TbI1bPrWvup!u*t>%J)8{3B6zw^t;+?(FEJ zHys_F>}l`*!N~cEWEeR;7W4FAyNlIv+R1lS`5y;0V+}(=6pXUIA4t&!U~}*)m;SDI z{D5}8wJ2+)G~0Y%So8_*tEql2K4M?CPJOX{V#;)Wn=(0*W^I(S4zr=9CwsB?bbSoh zDs%A73=b9?rBEa)D=xvtEr{wyX>kfFAtPf|e|w5yTpwZn7j=JM%$!6UKk98t26OqZ zK^ekEqtW_lf_h&Zo-0aS_Ue7Ttc1_MMqW60hF!^5Y&$0LwXFQMcm%s9ccqdW0=d4L zYUfn5_(f$QPX*a+nkiZFPArPwJd->0S~rT}zQ}HUYxafu3QEI5ejcjVcR3pyRJ;+* zza%CWX|`=2x$%X1YdJ4{3{JD=GtWrT0oQt$4x5rXedL)NUX+1Gtf|1Nss5`tN)?1A z2TsMvxbs$((VIe|oNq=(Z#@R5*JvL)a7>h_)-#igYfo=bS56QmF6H~{MMeCk$NQql zzqrKJxL%ha)GnBimQg*h?iNk4uz`B#5N-C=o2|g*Y%8eq)TMr;=|0zlRS|=k^)tpo z+e!s-TsYfr<0DFHYo{s%Czu+-+%HX9R{!D4AM%E9*IECJpq>bcZ>)F zoJ^q3f^wTQ=g;J%+0&4qlRurNR#ti7+l^t5N=lk2$%Wlwu{9;&j_Cou3b2!5^Q#HC z=^QR+EMq=a@-y;EOCxasy7=`i^Vv~-Zf+=KXpDjlg1wUe5*Yz;SO?zo_K#<4?KFy# zt?PC|KegQbFJVOI7_l1cXJ`Tn{sL;sjc-y#YwaX;tm$P}mpYbP(;ttmudpHoA6X%Yb=dxiLbDnq7)SUU;kr9xl;B$km#^o5J zcZQN%5Hr)*tR~9OYSk0jY36NPVi&MlNiE3@V%2;{^ml<@jF*2 zFnr+2l1N^ZxwEXSZvno3#g&Q`r=X*JZCW|H+1luqS*w`sspT zx#3OD5#Nr|emhiUxcQw~mgQRFy!mQQ`DzvI9ucJ-0?62i*` ziMLlk%BR@aQnSWr5P3AQ!B1s2qQRVGfErW8d8HtJd*wLuQu}L_4XD{B5?{&eUh||= zasKLjkNSER#dndamwLoXy6dA~jndgS(>c>3-!qsaQtgXzZHqz~9$DnNpb}1BCs=lr zbWieD&Jg)4x9GM)33B;tb8|DVzCI;t&l~0iy=Y@gWp=82|A7fWw{2o&we)K+8xuc! zdl(@UP^{DCgWv5e4~U3~eTIb=^{Yk2R~Q&_;pRYkhnN7g4&c7 z^~uEGg9GrnQkSG(g2G?+cN?zk-uQ#*M*}w@)%^a-7VQB))$i!@gXk9>ew|%ha({?t zcguV*Pmr{G&r<_$dG17Y*E> zfdycHeq~2*_qhkf!+wI{PB9rqM%lOR2K)pHt!1OG!PZO_D=Ua8moEE|^7EEEO|rP=O{F+4Yt z7AyJifO2E>7j{dMXiLq#6>F-v7xY9i=H_fth9|wLmeyRgE%y|}K>~2FJnEqFXDsyZMA|ums{eJ?byoCU z@np7*_bpf{W|P?c1f7Zc^2_o*!N~VfPYqK%SJlM?uT5BV8xhDFp1^PWuc;b1dU(K*nwgu&vJ+<`j|M(n%kv+qio0*wGItLprSw;sKEWw)v3{X5t~l&5$I*0$2QH^n}EirsRuDD((=N!;Iw4$`K2VW#G{}pUs5YY5SSpChaL>yo=&zlWvf>>pZo6?wu;+_904-i33%*=$n z=xN}dK3UPU{&Bh$EH8gtB~RK0(AB3ktNn(eC>L*d2d+O?VkOq8>o*V;eesHm$}Tuy zwSM_v=lqa3Xn(WO(a8-}8p-&&0y@|Xpb&ckX}<-o_qUmuK8(o##&-oH7>7xVFS^*u z&R+&Xf8kzk(F7SUC6@iLO!$ulq5K2B+)W+pwZgEHFrvcCh8(#X+5){ow7Ff6JLV0v zcz-zS2*h%v&KPBXDC6QNNI|`#RxIZ-oYC{2va2eU(Q>4QGd*% z>F4K3FWJ&26YY8b+*)s&8`So`7u(ytYJa*QJHey=Ud{6zR-&B_wdSz%bE`$y%9al^ z9(wl#)DK4%pJK(ezUk45iwTrtXKt=gbmmpj-ft@6){x_7&M&O6AWlt~`0SpzF?adv z5hEfz-rX@ux9el@2?)Fjh5z?9ErV;$Vy8~l~^gS(OnyFbfCao2|y>o zL;|h^F zN5dIQAo3uFA`iZ^hCNd^STOLX+qfm}UkT&`Y7m&<&QCaGEaEa9U;(k2C9Q9pF!(p2 z^5;gVu#SO?BP%#J>3dEKhBF@ zYk!{T==k+gUsqq+v)4+j>UVu^cg<-H^#0D93lyoH-5ze5mk90{755*Hf(go{NR>m3 z?@GShF3)D`dC+G4G9w7vnGV_r>p=Pr8jn2GRFy;YRQ}KQ=W8GI(XIq45oeyHL6qoB zw90EbDeX1g4M!$2r1pwgk${cG*Xm+h`8|CrSYKgf}lYP$_ zGDn1&M@fp=;GyCNoTsLXik-a_v~GIy$IYZ_Eth(|6ZfjA!sad%U7%)fo1@9hEKhdj z)UpqJ{DQhz$ zmzadAVB$*)?HNk*-9#E;Qce6^fAwEPOIhV8%D%K<$5nZAW$`i33x=#d&ZeqP&jY5( z3v{P&Keyl1&UZALXKy#>LD!MgcJUPBEUaD#qT*1yrCgt|<{h((xnEt1T%Gn zU;|-e7B>kfR{(;YoSK3rLGYvnHhN;x6em477#F;K_s$*$T(F2lJWU{G7NU3^^w-c| zKq-#Vjra9ETpi)b%g+b;3@mB8At|Zm<0ApA&lr^exC8J#fTm?-eccvZ)=((%qsONA z*FMwSmegz@ylk4Z!xQGL#GCkIvvF$)_a4-{-|M@W)V*GhCP>U}&|58?q z`-C>O)`G1|wgn)lXMv^W;YxQ9%ar|$R$o2LAZQbvaf@LMAk&u;9aM^zi}}jDA)a9s zN+9=DuQM*`DnhmW>H4kKUkv$XVTG%YJv+MYCx2{6dV`-;*xY9|;LX>JB#XO_=G0

    E;2mF-HmU-kYFe)^7ELy)jgw9tTrnAnz>Bk>jq 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�qfu9GIhS8kHBo`b3%Y5VERMuJ7G=WRR!QOx)8O-0 z4;1f{UVL*hdBy0Kdt<$DJuY`HRUk|(n`@+C!lI*Jx*lhf^r|456&In%uX+{dX1JuZ z7SDFB&qiZNQ+$n^xVGVPBh(qWjS|^o@10tRu?pVgjr;G2(`7J9M;J4?ek`M*7Q$V; zQcdc`s=qZ|BV$QD()pctEzu8T*|-z#l?N0SQ=85@-}v)V+b+d#FPnd5F%R@B&-oBa zh5r(pqQ5Lr(Ki#Q`!qJcLRow){-24ZKeasif0^OgKW6yoA2-MpHo$m8Xo1FV=c{TDv zh1;l;QG6TYeHHKK?2j62B|Fz@En_nEZ5Lm6DL7C`QQyq{s_YR>7#NYyi?7VONYpnZE>dnyVyh27^nu+L#0Zk!dD9DDlgmcAp55b- ze(SLNwPE0X!&!_lZ+Ss?yhu`Jm`+>$Ik^?jWck<)A{SKeg#3OE2ChC({~EQ}wNTja zo%R7uD~B0_MP5?-gLTbUddSaz7bD((&lkF1ivpn+1` zZrgKPmK!&c|35yw0`U`1kB>PyozPxKFeM?nG4ZUlXZ0h;wCFuF z6>?fPSh7#QeVzk!*BldO<0i&3y@$`0?5eBNadR=bspN5ArqH3(c2u)hLtO91IKYW9 zv9`{NxYFT4mHvGh$D;=9^Co< z@7V*M=+quWhQ8#mLL=FON8SqqQ6W#7qMAqSji(ZAzRXLyvb(+O{avTSw$Ll#yH|@R zDQ#|&xgT}0TyBhMeJ$4d?&PEh?bE zWMI2^ipRVt7m<39QWcICeZq?#@gPcxZS^7N8OI#HLYBXs9Ei5zdVSVn=2l2obX-XS zr4MTfzdb(rV6?{+7|T=bF=@Q&MGKH|6`#}sXmf%Cx%*`sxiGJb3z6gIl_pW z>17#QS5XM0l+agoDFV|5+pMT-SYbmzk}X60%%WM)j#zDLI z3vS60KM2GhU?BWvD3}d;%nLHKV5kEFFSCRF${f*{9vZdEJhBfc6F+yy{*f+KFp1kD z1Xe*3ADnF*{>j8PL=uIN0c9yNBLDX^Bluo;4YU0Ir6azclq!g~h-^PrRe{Ev>3CGT zGl!GIqMp}Xv&Kdz3t^`R84@;YoBa1ojo8^H?3Suwv>;zd1qMfiyTCRC@0GguGLP5|3={7XQBU{PLN5t8tndAc>48V!VE`vT=%0 zpE23p>Y7Qrm8KrzPE+KQ&v-9zw<#2_qE#P#J@h7@whbcv@gxcVI za2UHt&oo!0X4V<-wmT~g26yG~wjcqy(uQrh=5bi`)S{v{XYROyu%)}NA*EJPLJs^n znU&2yV$)Deqg_!lFV@VW@kh5~IeTx-j_C@#8L!fBapWf`v&bIrvyARtt@Ie@`f4UN_v_I3`mCJ?qbLYqy)d^(J83B`b=K%hqdjQkYXE)2 zU^cyybVM!2T;?86@LFrl??~RP7li8!@dXiFaf8-{XHIDz(RCJdHmooH(=x%eW z()_#7+e$f4zND=F_LjYe}wvP z|4axsSVj{r)2Bwy)Z~G3b1jMZmBC&<$L$fU=GOX3qpk?W*m*-S&-o(}=Z=`}>u;%|NKm5+?hZ9Af70FVa|oRXuE*7I4a= zF6o9Ab9Er9!<8CYC`5VYaKsN0`8g7NbM+(Q)YS~_TGHYDy5wF}61VgdA$Cn`O$}KY z$qP}FR0;JBeIa{)=(6VYFJ6YB%dSGaq8@9N?ks2~gw}r>U1vk32}Wq5Dv3I_@^o4B zTVc%qEpEEPM5c(YXn)___aDC?GTyv~>VU-@fr zhDdSoyjrHiYO}{FeSLY0O0ZVJW|r+e)3lM9XE69}L{Z|e2nXoRHQ<+SsKrR&Pu>Tj z#>5Cpy7D-I1F(iEAnhxeOMJ!w7xu9=Z;{&-x!WNc;>LFH5%`R8D0Pd(u7)J;o41iv zd*ygBOYX~>z89drT-2(*E9f-p2zrkI45&tqnv(q^l$HtJl(>V+j>z~vav&(3K;~lK z?zNSdBn>W%LEt@mNx`J8#baL* z-KC0D7$S<atn;vPa$2>$`%8zW($LDq~o}QvmYT2W*fHsn6FbrcVVO*(9 z5rVMuRTHsr5%nOB)X`Jc%>2AtX>{paR*ss(W z_mT-1K2=l_tam8{gJkv5WG_@Apmb*yJfg)z?`Reh*LJWq6&&k)8cFewt?p$4lY?jJ z2UiMGVpK7|L-rT%xb z`xp~Ug!S$-Xw}@77qUlyV|@zi$kd`?%W1a+@mBozT+;}AVN3pkpCC5^OH2OnMPN?> zsAz56EkB{cJ|fw&%e!-o#XT&-Hf-==B7=$?RMfD4sje1p5fwzuEVz-c(uf2af(>qI zfJh1{Au(9b>+i8z-UOiwRV)zp?o!yIkfeG=&3mgU6sJ?MGc=0|GwX>WkG-kjy|X+)bN8Y1d@voJSxQ1X7HqvjU(E4O3 z9v%R8Wp}^@=Bh?`BWoyBZsB}lUP=sBW%@DIMq_d{j~dNEA_!c&hi;Sw=h8S;gxsDj zN2r9Fnin_h%dr>LjWD&MalFgON+A8GsA*=~=*bpJ!2G*-K6rCiLV|2= zCMHzNR)ewrpsDy!m` zi2V#SyAr@*SjKq_!DbM;>MEgZ--?9xX6tk*)A(qfOelZ$;O0q1e-5HP)C^`r0|=zi zf#jRn(D5;#>983H|8b!a1OE=s9mjo>klRx${XEGzS$|t!Nqc7v@2+uKwy}`D2m`fB zbA=vumD6B#iF+vwiY~veuP{h4ZPvC&uO9OU>7O0SieMKRDX

    M%Ss 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 literal 0 HcmV?d00001 diff --git a/flatpak/images/2.png b/flatpak/images/2.png new file mode 100644 index 0000000000000000000000000000000000000000..510b7564fb6134be32ad8ebde069a4c574d8987e GIT binary patch literal 999522 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
    -6hhm4t6pHlU8I- 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

    iv$F}6O;j2~dEBwR{gzI@p` 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%0AV1K?#i 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

    y42#l9^;RieP3 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 U`1bl};)fciw7*Y1VRq-g019GolK=n! literal 0 HcmV?d00001 diff --git a/flatpak/io.github.softfever.OrcaSlicer.metainfo.xml b/flatpak/io.github.softfever.OrcaSlicer.metainfo.xml new file mode 100755 index 00000000000..1b2a60d7431 --- /dev/null +++ b/flatpak/io.github.softfever.OrcaSlicer.metainfo.xml @@ -0,0 +1,48 @@ + + + io.github.softfever.OrcaSlicer + io.github.softfever.OrcaSlicer.desktop + + io.github.softfever.OrcaSlicer.desktop + + OrcaSlicer + +

    Get even more perfect prints! + SoftFever + https://github.com/SoftFever/OrcaSlicer + https://github.com/SoftFever/OrcaSlicer/wiki + https://github.com/SoftFever/OrcaSlicer/issues/ + https://ko-fi.com/SoftFever + 0BSD + AGPL-3.0-only + + + 768 + + + keyboard + pointing + + + + https://raw.githubusercontent.com/powpingdone/com.github.softfever.orcaslicer/master/images/1.png + A model ready to be sliced on a buildplate. + + + https://raw.githubusercontent.com/powpingdone/com.github.softfever.orcaslicer/master/images/2.png + + A calibration test ready to be printed out. + + + +

    A 3D printer slicer forked from Bambu Studio, PrusaSlicer, and SuperSlicer with many more printer profiles, helpful calibration prints, and many more features to get your 3D printer printing perfectly!

    +
    + + #009688 + + + https://github.com/SoftFever/OrcaSlicer/commit/951fc8e98a0d5ca0ccb254315646ce7889a44836 + + + diff --git a/flatpak/io.github.softfever.OrcaSlicer.yml b/flatpak/io.github.softfever.OrcaSlicer.yml new file mode 100755 index 00000000000..f5a148cda0c --- /dev/null +++ b/flatpak/io.github.softfever.OrcaSlicer.yml @@ -0,0 +1,344 @@ +app-id: io.github.softfever.OrcaSlicer +runtime: org.gnome.Platform +runtime-version: "45" +sdk: org.gnome.Sdk +command: entrypoint +separate-locales: true +rename-icon: OrcaSlicer +finish-args: + - --share=ipc + - --socket=x11 + - --share=network + - --device=all + - --filesystem=home + - --filesystem=xdg-run/gvfs + - --filesystem=/run/media + - --filesystem=/media + # Allow OrcaSlicer to talk to other instances + - --talk-name=io.github.softfever.OrcaSlicer.InstanceCheck.* + - --system-talk-name=org.freedesktop.UDisks2 + # set dark theme + - --env=BAMBU_STUDIO_DARK_THEME=false + +modules: + + # JPEG codec for the liveview + - name: gst-plugins-good + buildsystem: meson + config-opts: + - -Dauto_features=disabled + - -Djpeg=enabled + - -Ddoc=disabled + - -Dexamples=disabled + - -Dtests=disabled + sources: + - type: archive + url: https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.22.8.tar.xz + sha256: e305b9f07f52743ca481da0a4e0c76c35efd60adaf1b0694eb3bb021e2137e39 + + # xprop, xlib is needed to manipulate the X11 window and set _GTK_THEME_VARIANT dark on X11 + # and paint the window dark when PRUSA_SLICER_DARK_THEME is true + # see: entrypoint & set-dark-theme-variant.py (originated from spotify client flatpak) + - name: xprop + sources: + - type: archive + url: http://mirrors.ircam.fr/pub/x.org/individual/app/xprop-1.2.5.tar.gz + sha256: b7bf6b6be6cf23e7966a153fc84d5901c14f01ee952fbd9d930aa48e2385d670 + - name: python-setuptools_scm + buildsystem: simple + build-commands: + - pip3 install --no-deps --no-build-isolation --verbose --prefix=${FLATPAK_DEST} . + sources: + - type: archive + url: https://files.pythonhosted.org/packages/57/38/930b1241372a9f266a7df2b184fb9d4f497c2cef2e016b014f82f541fe7c/setuptools_scm-6.0.1.tar.gz + sha256: d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92 + - name: python-xlib + buildsystem: simple + build-commands: + - pip3 install --no-deps --no-build-isolation --verbose --prefix=${FLATPAK_DEST} . + sources: + - type: archive + url: https://files.pythonhosted.org/packages/86/f5/8c0653e5bb54e0cbdfe27bf32d41f27bc4e12faa8742778c17f2a71be2c0/python-xlib-0.33.tar.gz + sha256: 55af7906a2c75ce6cb280a584776080602444f75815a7aff4d287bb2d7018b32 + + # For libOSMesa + - name: mesa + buildsystem: meson + config-opts: + - -Dosmesa=classic + - -Ddri-drivers=[] + - -Dgallium-drivers=[] + - -Dvulkan-drivers=[] + - -Dplatforms=[] + build-options: + arch: + aarch64: + config-opts: + - -Dlibunwind=disabled + cleanup: + - /share/drirc.d + - /include + - "*.a" + sources: + - type: archive + url: https://archive.mesa3d.org/mesa-20.2.6.tar.xz + sha256: f12ca3c6c622f11cd79ad66b4220f04514fa96f795062fe92a37339ab19885db + + - name: glu + config-opts: + - --disable-static + sources: + - type: archive + url: https://ftp.osuosl.org/pub/blfs/conglomeration/glu/glu-9.0.2.tar.xz + sha256: 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4 + cleanup: + - /include + - /lib/*.a + - /lib/*.la + - /lib/pkgconfig + + - name: kde-extra-cmake-modules + buildsystem: cmake-ninja + sources: + - type: git + url: https://github.com/KDE/extra-cmake-modules + tag: v5.249.0 + cleanup: + - / + + - name: orca_wxwidgets + buildsystem: simple + build-commands: + - | + mkdir builddir && cd builddir + cmake ../ -GNinja \ + -DwxBUILD_PRECOMP=ON \ + -DwxBUILD_TOOLKIT=gtk3 \ + -DwxBUILD_DEBUG_LEVEL=0 \ + -DwxBUILD_SAMPLES=OFF \ + -DwxBUILD_SHARED=ON \ + -DwxUSE_MEDIACTRL=ON \ + -DwxUSE_DETECT_SM=OFF \ + -DwxUSE_UNICODE=ON \ + -DwxUSE_PRIVATE_FONTS=ON \ + -DwxUSE_OPENGL=ON \ + -DwxUSE_WEBREQUEST=ON \ + -DwxUSE_WEBVIEW=ON \ + -DwxUSE_WEBVIEW_EDGE=OFF \ + -DwxUSE_WEBVIEW_IE=OFF \ + -DwxUSE_REGEX=builtin \ + -DwxUSE_LIBSDL=OFF \ + -DwxUSE_XTEST=OFF \ + -DwxUSE_STC=OFF \ + -DwxUSE_AUI=ON \ + -DwxUSE_LIBPNG=sys \ + -DwxUSE_ZLIB=sys \ + -DwxUSE_LIBJPEG=sys \ + -DwxUSE_LIBTIFF=sys \ + -DwxUSE_EXPAT=sys \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DCMAKE_INSTALL_PREFIX:STRING=/app \ + -DCMAKE_PREFIX_PATH=/app \ + -DCMAKE_BUILD_TYPE=Release + cmake --build . --target install -j$FLATPAK_BUILDER_N_JOBS + sources: + - type: git + url: https://github.com/SoftFever/Orca-deps-wxWidgets + branch: master + path: ../ + cleanup: + - "*.la" + - "*.a" + - "*.cmake" + - /include + - /app/bin/* + + - name: orca_deps + buildsystem: simple + build-commands: + # start build + - | + mkdir deps/build && cd deps/build + cmake ../ \ + -DDEP_WX_GTK3=ON \ + -DDEP_DOWNLOAD_DIR=/run/build/orca_deps/external-packages \ + -DCMAKE_PREFIX_PATH=/app \ + -DDESTDIR=/app \ + -DCMAKE_INSTALL_LIBDIR=/app/lib \ + -DFLATPAK=ON \ + -DCMAKE_INSTALL_PREFIX=/app + cmake --build . + rm -r /run/build/orca_deps/external-packages + + cleanup: + - /app/include + - "*.a" + - "*.la" + - /app/lib/cmake + + sources: + # - + # Section bellow fetches all OrcaSlicer dependencies before the build process and stores them in external-packages/*/* . + # -DDEP_DOWNLOAD_DIR is set in the build process which has to match with dest. + # + # NOTE: The url, dest folder name and sha256 must match from OrcaSlicer's cmake scripts and folder names in OrcaSlicer/deps/ + # - + + # OrcaSlicer Source Archive + - type: dir + path: ../ + + # Blosc + - type: file + url: https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip + dest: external-packages/Blosc + sha256: dcb48bf43a672fa3de6a4b1de2c4c238709dad5893d1e097b8374ad84b1fc3b3 + + # Cereal + - type: file + url: https://github.com/USCiLab/cereal/archive/refs/tags/v1.3.0.zip + dest: external-packages/Cereal + sha256: 71642cb54658e98c8f07a0f0d08bf9766f1c3771496936f6014169d3726d9657 + + # CGAL + - type: file + url: https://github.com/CGAL/cgal/archive/refs/tags/v5.4.zip + dest: external-packages/CGAL + sha256: d7605e0a5a5ca17da7547592f6f6e4a59430a0bc861948974254d0de43eab4c0 + + # GMP + - type: file + url: https://github.com/SoftFever/OrcaSlicer_deps/releases/download/gmp-6.2.1/gmp-6.2.1.tar.bz2 + dest: external-packages/GMP + sha256: eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c + + # MPFR + - type: file + url: https://www.mpfr.org/mpfr-current/mpfr-4.2.1.tar.bz2 + dest: external-packages/MPFR + sha256: b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0 + + # NLopt + - type: file + url: https://github.com/stevengj/nlopt/archive/v2.5.0.tar.gz + dest: external-packages/NLopt + sha256: c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae + + # OCCT + - type: file + url: https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip + dest: external-packages/OCCT + sha256: 28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc + + # OpenCSG + - type: file + url: https://github.com/floriankirsch/OpenCSG/archive/refs/tags/opencsg-1-4-2-release.zip + dest: external-packages/OpenCSG + sha256: 51afe0db79af8386e2027d56d685177135581e0ee82ade9d7f2caff8deab5ec5 + + # OpenCV + - type: file + url: https://github.com/opencv/opencv/archive/refs/tags/4.6.0.tar.gz + dest: external-packages/OpenCV + sha256: 1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277 + + # OpenEXR + - type: file + url: https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip + dest: external-packages/OpenEXR + sha256: 0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de + + # OpenVDB + - type: file + url: https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip + dest: external-packages/OpenVDB + sha256: f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81 + + # Qhull + - type: file + url: https://github.com/qhull/qhull/archive/v8.0.1.zip + dest: external-packages/Qhull + sha256: 5287f5edd6a0372588f5d6640799086a4033d89d19711023ef8229dd9301d69b + + # TBB + - type: file + url: https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.5.0.zip + dest: external-packages/TBB + sha256: 83ea786c964a384dd72534f9854b419716f412f9d43c0be88d41874763e7bb47 + + # Boost + - type: file + url: https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz + dest: external-packages/Boost + sha256: 4d27e9efed0f6f152dc28db6430b9d3dfb40c0345da7342eaa5a987dde57bd95 + + # GLFW + - type: file + url: https://github.com/glfw/glfw/archive/refs/tags/3.3.7.zip + dest: external-packages/GLFW + sha256: e02d956935e5b9fb4abf90e2c2e07c9a0526d7eacae8ee5353484c69a2a76cd0 + + - name: OrcaSlicer + buildsystem: simple + build-commands: + - | + mkdir -p build && cd build + CXXFLAGS=-std=gnu++20 cmake ../ \ + -DSLIC3R_PCH=OFF \ + -DSLIC3R_FHS=ON \ + -DSLIC3R_GTK=3 \ + -DSLIC3R_STATIC=ON \ + -DSLIC3R_BUILD_TESTS=OFF \ + -DSLIC3R_DESKTOP_INTEGRATION=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + -DFLATPAK=ON \ + -DBBL_RELEASE_TO_PUBLIC=1 \ + -DCMAKE_PREFIX_PATH=/app \ + -DCMAKE_INSTALL_PREFIX=/app + CXXFLAGS=-std=gnu++20 cmake --build . --target install -j$FLATPAK_BUILDER_N_JOBS + + cleanup: + - /include + + post-install: + + - | # Desktop Integration files + install -Dm644 -t /app/share/icons/hicolor/scalable/apps/ resources/images/OrcaSlicer.svg + install -Dm644 ${FLATPAK_ID}.metainfo.xml /app/share/metainfo/${FLATPAK_ID}.metainfo.xml + mv /app/share/applications/OrcaSlicer.desktop /app/share/applications/${FLATPAK_ID}.desktop + desktop-file-edit --set-key=Exec --set-value="entrypoint %U" /app/share/applications/${FLATPAK_ID}.desktop + install -Dm755 set-dark-theme-variant.py /app/bin + install -Dm755 entrypoint /app/bin + install -Dm755 umount /app/bin + + sources: + # - + # Section bellow fetches all OrcaSlicer dependencies before the build process and stores them in external-packages/*/* . + # -DDEP_DOWNLOAD_DIR is set in the build process which has to match with dest. + # + # NOTE: The url, dest folder name and sha256 must match from OrcaSlicer's cmake scripts and folder names in OrcaSlicer/deps/ + # - + + # OrcaSlicer Source Archive + - type: dir + path: ../ + + # AppData metainfo for Gnome Software & Co. + - type: file + path: io.github.softfever.OrcaSlicer.metainfo.xml + + # script to set dark theme variant + - type: file + path: set-dark-theme-variant.py + + # start-up script + # README: workaround for the following issues, also enables dark theme variant: + # SEE: https://github.com/flathub/com.bambulab.BambuStudio/issues/27 + # SEE: https://github.com/flathub/com.bambulab.BambuStudio/issues/3 + # SEE: https://github.com/prusa3d/PrusaSlicer/issues/2365 + - type: file + path: entrypoint + + # umount wrapper used to redirect umount calls to udisk2 + - type: file + path: umount diff --git a/flatpak/set-dark-theme-variant.py b/flatpak/set-dark-theme-variant.py new file mode 100644 index 00000000000..78bbf5d690a --- /dev/null +++ b/flatpak/set-dark-theme-variant.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 + +import Xlib +import Xlib.display +import time +import subprocess +import os +import sys + + +disp = Xlib.display.Display() +root = disp.screen().root + +NET_CLIENT_LIST = disp.intern_atom('_NET_CLIENT_LIST') + + +def set_theme_variant_by_window_id(id, variant): + # Use subprocess to call + # xprop and set the variant from id. + try: + s = subprocess.call(['xprop', '-f', '_GTK_THEME_VARIANT', '8u', '-set', '_GTK_THEME_VARIANT', variant, '-id', str(id)], + stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + if s == 0: + return True + return False + except Exception as ex: + return False + + +def set_theme_variant_from_win_id_collection(win_id_collection, variant): + # Loop though all of the collected + # window ids and set theme variant + for win_id in win_id_collection: + set_theme_variant_by_window_id(win_id, variant) + + +def collection_win_id_from_wm_class_name(win_class_name): + + collect = [] + + # Loop though all of the windows + # and collect id's those that match + # win_class: prusa-slicer + for win_id in root.get_full_property(NET_CLIENT_LIST, Xlib.X.AnyPropertyType).value: + try: + win = disp.create_resource_object('window', win_id) + if not win.get_wm_transient_for(): + win_class = win.get_wm_class() + if win_id and win_class_name in win_class: + collect.append( + win_id) if win_id not in collect else collect + except Xlib.error.BadWindow: + pass + + return collect + + +if __name__ == '__main__': + + if os.environ.get('PRUSA_SLICER_DARK_THEME', 'false') != 'true': + sys.exit(0) + + # Listen for X Property Change events. + root.change_attributes(event_mask=Xlib.X.PropertyChangeMask) + # the class name of the slicer window + win_class_name = 'prusa-slicer' + # the variant to set + variant = 'dark' + + start = time.time() + + while True: + # collect all of the window ids + collect = collection_win_id_from_wm_class_name(win_class_name) + # give PrusaSlicer window 2 secs to + # collect the wanted window ids + # set the theme variant and exit + if time.time() - start <= 2: + # disp.next_event() blocks if no events are + # queued. In combination with while True + # it creates a very simple event loop. + disp.next_event() + set_theme_variant_from_win_id_collection(collect, variant) + else: + break diff --git a/flatpak/umount b/flatpak/umount new file mode 100755 index 00000000000..5cbf32e6b8a --- /dev/null +++ b/flatpak/umount @@ -0,0 +1,10 @@ +#!/usr/bin/env sh +if [ $# -eq 0 ]; then + echo "No arguments supplied" + exit 1 +fi + +DEVICE=$(basename $(findmnt -oSOURCE -n "$@") ) + +exec /usr/bin/gdbus call -y -d org.freedesktop.UDisks2 -o /org/freedesktop/UDisks2/block_devices/$DEVICE -m org.freedesktop.UDisks2.Filesystem.Unmount "{'b': <'false'>}" 1> /dev/null + diff --git a/src/libslic3r/ParameterUtils.cpp b/src/libslic3r/ParameterUtils.cpp index 4e5fed7e6b2..adde84d5cd2 100644 --- a/src/libslic3r/ParameterUtils.cpp +++ b/src/libslic3r/ParameterUtils.cpp @@ -1,4 +1,5 @@ #include "ParameterUtils.hpp" +#include namespace Slic3r { diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt index d2242c9fff0..e254e3c067f 100644 --- a/src/slic3r/CMakeLists.txt +++ b/src/slic3r/CMakeLists.txt @@ -622,7 +622,6 @@ source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${SLIC3R_GUI_SOURCES}) encoding_check(libslic3r_gui) target_link_libraries(libslic3r_gui libslic3r cereal::cereal imgui imguizmo minilzo GLEW::GLEW OpenGL::GL hidapi ${wxWidgets_LIBRARIES} glfw libcurl OpenSSL::SSL OpenSSL::Crypto) -#target_link_libraries(libslic3r_gui libslic3r cereal imgui minilzo GLEW::GLEW OpenGL::GL hidapi libcurl OpenSSL::SSL OpenSSL::Crypto ${wxWidgets_LIBRARIES} glfw) if (MSVC) target_link_libraries(libslic3r_gui Setupapi.lib) @@ -666,9 +665,18 @@ endif () # link these libraries. if (UNIX AND NOT APPLE) find_package(GTK${SLIC3R_GTK} REQUIRED) + if (FLATPAK) + # I don't know why this is needed, but for whatever reason slic3r isn't + # linking to X11 and webkit2gtk. force it. + find_package(X11 REQUIRED) + find_package(PkgConfig REQUIRED) + pkg_check_modules(webkit2gtk REQUIRED webkit2gtk-4.1) + target_link_libraries (libslic3r_gui ${X11_LIBRARIES} ${webkit2gtk_LIBRARIES}) + endif() target_include_directories(libslic3r_gui PRIVATE ${GTK${SLIC3R_GTK}_INCLUDE_DIRS}) target_link_libraries(libslic3r_gui ${GTK${SLIC3R_GTK}_LIBRARIES} fontconfig) + # We add GStreamer for bambu:/// support. pkg_check_modules(GSTREAMER REQUIRED gstreamer-1.0) pkg_check_modules(GST_BASE REQUIRED gstreamer-base-1.0) @@ -677,4 +685,4 @@ if (UNIX AND NOT APPLE) endif () # Add a definition so that we can tell we are compiling slic3r. -target_compile_definitions(libslic3r_gui PRIVATE SLIC3R_CURRENTLY_COMPILING_GUI_MODULE) \ No newline at end of file +target_compile_definitions(libslic3r_gui PRIVATE SLIC3R_CURRENTLY_COMPILING_GUI_MODULE) diff --git a/src/slic3r/GUI/Field.hpp b/src/slic3r/GUI/Field.hpp index 8cf36eb54fb..79e09ba5058 100644 --- a/src/slic3r/GUI/Field.hpp +++ b/src/slic3r/GUI/Field.hpp @@ -11,6 +11,7 @@ #include #include +#include #include #include #include diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp index 1b8fcc3050c..fd444f46982 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.hpp @@ -14,6 +14,7 @@ #include "libslic3r/ObjectID.hpp" +#include #include //BBS: GUI refactor: to support top layout diff --git a/src/slic3r/GUI/HttpServer.hpp b/src/slic3r/GUI/HttpServer.hpp index 1f23fd9d306..5c1547f0137 100644 --- a/src/slic3r/GUI/HttpServer.hpp +++ b/src/slic3r/GUI/HttpServer.hpp @@ -11,6 +11,7 @@ #include #include #include +#include #include #define LOCALHOST_PORT 13618 diff --git a/src/slic3r/GUI/Jobs/OAuthJob.cpp b/src/slic3r/GUI/Jobs/OAuthJob.cpp index 0a38fa6e601..fa79c2c999e 100644 --- a/src/slic3r/GUI/Jobs/OAuthJob.cpp +++ b/src/slic3r/GUI/Jobs/OAuthJob.cpp @@ -4,7 +4,8 @@ #include "ThreadSafeQueue.hpp" #include "slic3r/GUI/I18N.hpp" #include "nlohmann/json.hpp" - +#include +#include namespace Slic3r { namespace GUI { diff --git a/src/slic3r/GUI/Jobs/OAuthJob.hpp b/src/slic3r/GUI/Jobs/OAuthJob.hpp index dd64e966be1..7b58c53b2e2 100644 --- a/src/slic3r/GUI/Jobs/OAuthJob.hpp +++ b/src/slic3r/GUI/Jobs/OAuthJob.hpp @@ -3,6 +3,9 @@ #include "Job.hpp" #include "slic3r/GUI/HttpServer.hpp" +#include +#include +#include namespace Slic3r { namespace GUI { diff --git a/src/slic3r/GUI/PrinterWebView.hpp b/src/slic3r/GUI/PrinterWebView.hpp index 5b1908c9ee5..070bd4ea978 100644 --- a/src/slic3r/GUI/PrinterWebView.hpp +++ b/src/slic3r/GUI/PrinterWebView.hpp @@ -6,7 +6,7 @@ #include "wx/cmdline.h" #include "wx/notifmsg.h" #include "wx/settings.h" -#include "wx/webview.h" +#include #include #if wxUSE_WEBVIEW_EDGE diff --git a/src/slic3r/GUI/WebViewDialog.hpp b/src/slic3r/GUI/WebViewDialog.hpp index b96b9051fca..feeace8fecb 100644 --- a/src/slic3r/GUI/WebViewDialog.hpp +++ b/src/slic3r/GUI/WebViewDialog.hpp @@ -6,7 +6,7 @@ #include "wx/cmdline.h" #include "wx/notifmsg.h" #include "wx/settings.h" -#include "wx/webview.h" +#include #if wxUSE_WEBVIEW_EDGE #include "wx/msw/webview_edge.h" diff --git a/src/slic3r/Utils/SimplyPrint.cpp b/src/slic3r/Utils/SimplyPrint.cpp index 9c5603c7d76..2fc72fb9efd 100644 --- a/src/slic3r/Utils/SimplyPrint.cpp +++ b/src/slic3r/Utils/SimplyPrint.cpp @@ -2,6 +2,8 @@ #include #include +#include +#include #include "nlohmann/json.hpp" #include "libslic3r/Utils.hpp" diff --git a/src/slic3r/Utils/SimplyPrint.hpp b/src/slic3r/Utils/SimplyPrint.hpp index b2c06a04e6d..2b56764d7c1 100644 --- a/src/slic3r/Utils/SimplyPrint.hpp +++ b/src/slic3r/Utils/SimplyPrint.hpp @@ -42,4 +42,4 @@ public: }; } // namespace Slic3r -#endif \ No newline at end of file +#endif From 2607a84248663378aa629f5eb8cb6cc2368b1ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olcay=20=C3=96REN?= <33813227+olcayoren@users.noreply.github.com> Date: Sat, 25 May 2024 16:24:48 +0300 Subject: [PATCH 066/178] Update OrcaSlicer_tr.po - TURKISH translation update (#5451) * Update OrcaSlicer_tr.po - TURKISH translation update * Update OrcaSlicer_tr.po Update OrcaSlicer_tr.po - TURKISH translation update * Update OrcaSlicer_tr.po - TURKISH translation update --- localization/i18n/tr/OrcaSlicer_tr.po | 1742 ++++++++++++------------- 1 file changed, 867 insertions(+), 875 deletions(-) diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po index a84aeae888f..cb68d5d5c38 100644 --- a/localization/i18n/tr/OrcaSlicer_tr.po +++ b/localization/i18n/tr/OrcaSlicer_tr.po @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-05-24 23:26+0800\n" -"PO-Revision-Date: 2024-05-02 19:55+0300\n" +"PO-Revision-Date: 2024-05-25 04:32+0300\n" "Last-Translator: Olcay ÖREN\n" "Language-Team: \n" "Language: tr\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n" -"X-Generator: Poedit 3.4.2\n" +"X-Generator: Poedit 3.4.4\n" msgid "Supports Painting" msgstr "Destek Boyama" @@ -728,8 +728,8 @@ msgid "" "The text cannot be written using the selected font. Please try choosing a " "different font." msgstr "" -"Metin seçilen yazı tipi kullanılarak yazılamıyor. Lütfen farklı bir yazı " -"tipi seçmeyi deneyin." +"Metin seçilen yazı tipi kullanılarak yazılamıyor. Lütfen farklı bir yazı tipi " +"seçmeyi deneyin." msgid "Embossed text cannot contain only white spaces." msgstr "Kabartmalı metin yalnızca beyaz boşluklardan oluşamaz." @@ -1010,12 +1010,12 @@ msgstr "Metni kameraya doğru yönlendirin." #, boost-format msgid "" -"Can't load exactly same font(\"%1%\"). Aplication selected a similar " -"one(\"%2%\"). You have to specify font for enable edit text." +"Can't load exactly same font(\"%1%\"). Aplication selected a similar one(\"%2%" +"\"). You have to specify font for enable edit text." msgstr "" -"Tam olarak aynı yazı tipi yüklenemiyor(\"%1%\"). Uygulama benzer bir " -"uygulama seçti(\"%2%\"). Metni düzenlemeyi etkinleştirmek için yazı tipini " -"belirtmeniz gerekir." +"Tam olarak aynı yazı tipi yüklenemiyor(\"%1%\"). Uygulama benzer bir uygulama " +"seçti(\"%2%\"). Metni düzenlemeyi etkinleştirmek için yazı tipini belirtmeniz " +"gerekir." msgid "No symbol" msgstr "Sembol yok" @@ -1467,8 +1467,8 @@ msgstr "Bilgi" 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." +"Please note, application settings will be lost, but printer profiles will not " +"be affected." msgstr "" "OrcaSlicer konfigürasyon dosyası bozulmuş olabilir ve ayrıştırılamayabilir.\n" "OrcaSlicer, konfigürasyon dosyasını yeniden oluşturmayı denedi.\n" @@ -1571,6 +1571,8 @@ msgid "" "Could not start URL download. Destination folder is not set. Please choose " "destination folder in Configuration Wizard." msgstr "" +"URL indirme işlemi başlatılamadı. Hedef klasör ayarlanmamış. Lütfen " +"Yapılandırma Sihirbazı’nda hedef klasörü seçin." msgid "Import File" msgstr "Dosya İçe Aktar" @@ -2095,8 +2097,8 @@ 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 infornation first." +"To manipulate with solid parts or negative volumes you have to invalidate cut " +"infornation first." msgstr "" "Bu eylem kesilmiş bir yazışmayı bozacaktır.\n" "Bundan sonra model tutarlılığı garanti edilemez.\n" @@ -2159,8 +2161,7 @@ msgstr "İlk seçilen öğe bir nesne ise ikincisi de nesne olmalıdır." msgid "" "If first selected item is a part, the second one should be part in the same " "object." -msgstr "" -"İlk seçilen öğe bir parça ise ikincisi aynı nesnenin parçası olmalıdır." +msgstr "İlk seçilen öğe bir parça ise ikincisi aynı nesnenin parçası olmalıdır." msgid "The type of the last solid object part is not to be changed." msgstr "Son katı nesne parçasının tipi değiştirilNozullidir." @@ -2517,16 +2518,14 @@ msgstr "" msgid "Arranging done." msgstr "Hizalama tamamlandı." -msgid "" -"Arrange failed. Found some exceptions when processing object geometries." +msgid "Arrange failed. Found some exceptions when processing object geometries." msgstr "" "Hizalama başarısız oldu. Nesne geometrilerini işlerken bazı istisnalar " "bulundu." #, c-format, boost-format msgid "" -"Arrangement ignored the following objects which can't fit into a single " -"bed:\n" +"Arrangement ignored the following objects which can't fit into a single bed:\n" "%s" msgstr "" "Hizalama tek tablaya sığmayan aşağıdaki nesneler göz ardı edildi:\n" @@ -2626,8 +2625,7 @@ msgstr "" "deneyin." msgid "Print file not found, Please slice it again and send it for printing." -msgstr "" -"Yazdırma dosyası bulunamadı. Lütfen tekrar dilimleyip baskıya gönderin." +msgstr "Yazdırma dosyası bulunamadı. Lütfen tekrar dilimleyip baskıya gönderin." msgid "" "Failed to upload print file to FTP. Please check the network status and try " @@ -2683,8 +2681,8 @@ msgid "Importing SLA archive" msgstr "SLA arşivi içe aktarılıyor" msgid "" -"The SLA archive doesn't contain any presets. Please activate some SLA " -"printer preset first before importing that SLA archive." +"The SLA archive doesn't contain any presets. Please activate some SLA printer " +"preset first before importing that SLA archive." msgstr "" "SLA arşivi herhangi bir ön ayar içermez. Lütfen SLA arşivini içe aktarmadan " "önce bazı SLA yazıcı ön ayarlarını etkinleştirin." @@ -2696,8 +2694,8 @@ msgid "Importing done." msgstr "İçe aktarma tamamlandı." msgid "" -"The imported SLA archive did not contain any presets. The current SLA " -"presets were used as fallback." +"The imported SLA archive did not contain any presets. The current SLA presets " +"were used as fallback." msgstr "" "İçe aktarılan SLA arşivi herhangi bir ön ayar içermiyordu. Geçerli SLA ön " "ayarları geri dönüş olarak kullanıldı." @@ -2745,7 +2743,7 @@ msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero Genel Kamu Lisansı, sürüm 3" msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" -msgstr "" +msgstr "Orca Slicer, PrusaSlicer ve BambuStudio’yu temel alır" msgid "Libraries" msgstr "Kütüphaneler" @@ -2754,8 +2752,8 @@ msgid "" "This software uses open source components whose copyright and other " "proprietary rights belong to their respective owners" msgstr "" -"Bu yazılım, telif hakkı ve diğer mülkiyet hakları ilgili sahiplerine ait " -"olan açık kaynaklı bileşenleri kullanır" +"Bu yazılım, telif hakkı ve diğer mülkiyet hakları ilgili sahiplerine ait olan " +"açık kaynaklı bileşenleri kullanır" #, c-format, boost-format msgid "About %s" @@ -2769,8 +2767,7 @@ msgstr "OrcaSlicer, BambuStudio, PrusaSlicer ve SuperSlicer'ı temel alır." msgid "BambuStudio is originally based on PrusaSlicer by PrusaResearch." msgstr "" -"BambuStudio orijinal olarak PrusaResearch'ün PrusaSlicer'ını temel " -"almaktadır." +"BambuStudio orijinal olarak PrusaResearch'ün PrusaSlicer'ını temel almaktadır." msgid "PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci." msgstr "" @@ -2859,9 +2856,9 @@ msgid "Dynamic flow calibration" msgstr "Dinamik akış kalibrasyonu" 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." +"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 "" "Nozul sıcaklığı ve maksimum hacimsel hız kalibrasyon sonuçlarını " "etkileyecektir. Lütfen gerçek yazdırmayla aynı değerleri girin. Bir filament " @@ -2996,8 +2993,7 @@ msgid "" "When the current material run out, the printer will continue to print in the " "following order." msgstr "" -"Mevcut malzeme bittiğinde yazıcı aşağıdaki sırayla yazdırmaya devam " -"edecektir." +"Mevcut malzeme bittiğinde yazıcı aşağıdaki sırayla yazdırmaya devam edecektir." msgid "Group" msgstr "Grup" @@ -3035,8 +3031,8 @@ msgid "Insertion update" msgstr "Ekleme güncellemesi" msgid "" -"The AMS will automatically read the filament information when inserting a " -"new Bambu Lab filament. This takes about 20 seconds." +"The AMS will automatically read the filament information when inserting a new " +"Bambu Lab filament. This takes about 20 seconds." msgstr "" "AMS, yeni bir Bambu Lab filamenti takıldığında filament bilgilerini otomatik " "olarak okuyacaktır. Bu yaklaşık 20 saniye sürer." @@ -3059,17 +3055,16 @@ msgid "Power on update" msgstr "Güncellemeyi aç" 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 filament " -"spools." +"The AMS will automatically read the information of inserted filament on start-" +"up. It will take about 1 minute.The reading process will roll filament spools." msgstr "" "AMS, başlangıçta takılan filamentin bilgilerini otomatik olarak okuyacaktır. " "Yaklaşık 1 dakika sürecektir. Okuma işlemi filament makaralarını saracaktır." 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." +"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, başlatma sırasında takılan filamentden bilgileri otomatik olarak okumaz " "ve son kapatmadan önce kaydedilen bilgileri kullanmaya devam eder." @@ -3083,8 +3078,8 @@ msgid "" "automatically." msgstr "" "AMS, filament bilgisi güncellendikten sonra Bambu filamentin kalan " -"kapasitesini tahmin edecek. Yazdırma sırasında kalan kapasite otomatik " -"olarak güncellenecektir." +"kapasitesini tahmin edecek. Yazdırma sırasında kalan kapasite otomatik olarak " +"güncellenecektir." msgid "AMS filament backup" msgstr "AMS filament yedeklemesi" @@ -3116,8 +3111,8 @@ msgid "" "Failed to download the plug-in. Please check your firewall settings and vpn " "software, check and retry." msgstr "" -"Eklenti indirilemedi. Lütfen güvenlik duvarı ayarlarınızı ve vpn " -"yazılımınızı kontrol edin, kontrol edip yeniden deneyin." +"Eklenti indirilemedi. Lütfen güvenlik duvarı ayarlarınızı ve vpn yazılımınızı " +"kontrol edin, kontrol edip yeniden deneyin." msgid "" "Failed to install the plug-in. Please check whether it is blocked or deleted " @@ -3205,8 +3200,8 @@ msgid "" "device. The corrupted output G-code is at %1%.tmp." msgstr "" "Geçici G kodunun çıkış G koduna kopyalanması başarısız oldu. Hedef cihazda " -"sorun olabilir, lütfen tekrar dışa aktarmayı veya farklı bir cihaz " -"kullanmayı deneyin. Bozuk çıktı G kodu %1%.tmp konumunda." +"sorun olabilir, lütfen tekrar dışa aktarmayı veya farklı bir cihaz kullanmayı " +"deneyin. Bozuk çıktı G kodu %1%.tmp konumunda." #, boost-format msgid "" @@ -3322,22 +3317,22 @@ msgid "Printing" msgstr "Baskı" msgid "Upgrading" -msgstr "" +msgstr "Yükseltiliyor" msgid "Incompatible" msgstr "Uyumsuz" msgid "syncing" -msgstr "" +msgstr "Senkronize ediliyor" msgid "Printing Finish" -msgstr "" +msgstr "Yazdırma Bitti" msgid "Printing Failed" -msgstr "" +msgstr "Yazdırma Başarısız" msgid "PrintingPause" -msgstr "" +msgstr "Yazdırma Duraklatıldı" msgid "Prepare" msgstr "Hazırlık" @@ -3346,28 +3341,28 @@ msgid "Slicing" msgstr "Dilimleniyor" msgid "Pending" -msgstr "" +msgstr "Askıda" msgid "Sending" -msgstr "" +msgstr "Gönderiliyor" msgid "Sending Finish" -msgstr "" +msgstr "Gönderme Bitti" msgid "Sending Cancel" -msgstr "" +msgstr "Gönderme İptal Oldu" msgid "Sending Failed" -msgstr "" +msgstr "Gönderim Başarısız" msgid "Print Success" -msgstr "" +msgstr "Yazdırma Başarılı" msgid "Print Failed" -msgstr "" +msgstr "Yazdırma Başarısız" msgid "Removed" -msgstr "" +msgstr "Kaldırıldı" msgid "Resume" msgstr "Sürdür" @@ -3430,7 +3425,7 @@ msgid "Timelapse" msgstr "Timelapse" msgid "Flow Dynamic Calibration" -msgstr "" +msgstr "Akış Dinamik Kalibrasyonu" msgid "Send Options" msgstr "Gönderme Seçenekleri" @@ -3439,8 +3434,8 @@ msgid "Send" msgstr "Gönder" msgid "" -"printers at the same time.(It depends on how many devices can undergo " -"heating at the same time.)" +"printers at the same time.(It depends on how many devices can undergo heating " +"at the same time.)" msgstr "" "aynı anda kaç yazıcının ısıtma işleminden geçebileceği, aynı anda " "ısıtılabilecek cihaz sayısına bağlıdır." @@ -3544,8 +3539,8 @@ msgid "" "The recommended minimum temperature is less than 190 degree or the " "recommended maximum temperature is greater than 300 degree.\n" msgstr "" -"Önerilen minimum sıcaklık 190 dereceden azdır veya önerilen maksimum " -"sıcaklık 300 dereceden yüksektir.\n" +"Önerilen minimum sıcaklık 190 dereceden azdır veya önerilen maksimum sıcaklık " +"300 dereceden yüksektir.\n" msgid "" "The recommended minimum temperature cannot be higher than the recommended " @@ -3582,13 +3577,13 @@ msgstr "" #, c-format, boost-format msgid "" -"Current chamber temperature is higher than the material's safe temperature," -"it may result in material softening and clogging.The maximum safe " -"temperature for the material is %d" +"Current chamber temperature is higher than the material's safe temperature,it " +"may result in material softening and clogging.The maximum safe temperature " +"for the material is %d" msgstr "" -"Mevcut hazne sıcaklığı malzemenin güvenli sıcaklığından yüksektir, " -"malzemenin yumuşamasına ve tıkanmasına neden olabilir Malzeme için maksimum " -"güvenli sıcaklık %d'dir" +"Mevcut hazne sıcaklığı malzemenin güvenli sıcaklığından yüksektir, malzemenin " +"yumuşamasına ve tıkanmasına neden olabilir Malzeme için maksimum güvenli " +"sıcaklık %d'dir" msgid "" "Too small layer height.\n" @@ -3642,16 +3637,16 @@ msgstr "" "Değer 0'a sıfırlanacaktır." msgid "" -"Alternate extra wall does't work well when ensure vertical shell thickness " -"is set to All. " +"Alternate extra wall does't work well when ensure vertical shell thickness is " +"set to All. " msgstr "" -"Alternatif ekstra duvar, dikey kabuk kalınlığının Tümü olarak " -"ayarlandığından emin olunduğunda iyi çalışmaz. " +"Alternatif ekstra duvar, dikey kabuk kalınlığının Tümü olarak ayarlandığından " +"emin olunduğunda iyi çalışmaz. " msgid "" "Change these settings automatically? \n" -"Yes - Change ensure vertical shell thickness to Moderate and enable " -"alternate extra wall\n" +"Yes - Change ensure vertical shell thickness to Moderate and enable alternate " +"extra wall\n" "No - Dont use alternate extra wall" msgstr "" "Bu ayarlar otomatik olarak değiştirilsin mi? \n" @@ -3728,8 +3723,7 @@ msgid "" "No - Give up using spiral mode this time" msgstr "" "Bu ayarlar otomatik olarak değiştirilsin mi?\n" -"Evet - Bu ayarları değiştirin ve spiral modunu otomatik olarak " -"etkinleştirin\n" +"Evet - Bu ayarları değiştirin ve spiral modunu otomatik olarak etkinleştirin\n" "Hayır - Bu sefer spiral modunu kullanmaktan vazgeçin" msgid "Auto bed leveling" @@ -3862,9 +3856,9 @@ msgid "Update failed." msgstr "Güncelleme başarısız." 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." +"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 "" "Mevcut hazne sıcaklığı veya hedef hazne sıcaklığı 45 ° C'yi aşıyor Ekstruder " "tıkanmasını önlemek için düşük sıcaklıkta filament (PLA / PETG / TPU) " @@ -3891,8 +3885,7 @@ msgstr "" msgid "Failed to start printing job" msgstr "Yazdırma işi başlatılamadı" -msgid "" -"This calibration does not support the currently selected nozzle diameter" +msgid "This calibration does not support the currently selected nozzle diameter" msgstr "Bu kalibrasyon, şu anda seçilen nozzle çapını desteklememektedir" msgid "Current flowrate cali param is invalid" @@ -3917,12 +3910,12 @@ msgid "" "Damp PVA will become flexible and get stuck inside AMS,please take care to " "dry it before use." msgstr "" -"Nemli PVA esnekleşecek ve AMS'nin içine sıkışacaktır, lütfen kullanmadan " -"önce kurutmaya dikkat edin." +"Nemli PVA esnekleşecek ve AMS'nin içine sıkışacaktır, lütfen kullanmadan önce " +"kurutmaya dikkat edin." msgid "" -"CF/GF filaments are hard and brittle, It's easy to break or get stuck in " -"AMS, please use with caution." +"CF/GF filaments are hard and brittle, It's easy to break or get stuck in AMS, " +"please use with caution." msgstr "" "CF/GF filamentleri sert ve kırılgandır. AMS'de kırılması veya sıkışması " "kolaydır, lütfen dikkatli kullanın." @@ -4650,10 +4643,10 @@ msgid "Load a model" msgstr "Model yükle" msgid "Import Zip Archive" -msgstr "" +msgstr "Zip Arşivini İçe Aktar" msgid "Load models contained within a zip archive" -msgstr "" +msgstr "Zip arşivindeki modelleri yükle" msgid "Import Configs" msgstr "Yapılandırmaları İçe Aktar" @@ -4925,8 +4918,8 @@ msgstr[1] "" msgid "" "\n" -"Hint: Make sure you have added the corresponding printer before importing " -"the configs." +"Hint: Make sure you have added the corresponding printer before importing the " +"configs." msgstr "" "\n" "İpucu: Yapılandırmaları içe aktarmadan önce ilgili yazıcıyı eklediğinizden " @@ -4975,8 +4968,7 @@ msgid "Please confirm if the printer is connected." msgstr "Lütfen yazıcının bağlı olup olmadığını onaylayın." msgid "" -"The printer is currently busy downloading. Please try again after it " -"finishes." +"The printer is currently busy downloading. Please try again after it finishes." msgstr "" "Yazıcı şu anda indirmeyle meşgul. Lütfen bittikten sonra tekrar deneyin." @@ -4987,8 +4979,7 @@ msgid "Problem occured. Please update the printer firmware and try again." msgstr "" "Sorun oluştu. Lütfen yazıcının ürün yazılımını güncelleyin ve tekrar deneyin." -msgid "" -"LAN Only Liveview is off. Please turn on the liveview on printer screen." +msgid "LAN Only Liveview is off. Please turn on the liveview on printer screen." msgstr "" "Yalnızca LAN Canlı İzleme kapalı. Lütfen yazıcı ekranındaki canlı " "görüntülemeyi açın." @@ -5003,8 +4994,8 @@ msgid "Connection Failed. Please check the network and try again" msgstr "Bağlantı Başarısız. Lütfen ağı kontrol edip tekrar deneyin" msgid "" -"Please check the network and try again, You can restart or update the " -"printer if the issue persists." +"Please check the network and try again, You can restart or update the printer " +"if the issue persists." msgstr "" "Lütfen ağı kontrol edip tekrar deneyin. Sorun devam ederse yazıcıyı yeniden " "başlatabilir veya güncelleyebilirsiniz." @@ -5147,8 +5138,7 @@ msgid_plural "" "You are going to delete %u files from printer. Are you sure to continue?" msgstr[0] "" "%u dosyasını yazıcıdan sileceksiniz. Devam edeceğinizden emin misiniz?" -msgstr[1] "" -"%u dosyayı yazıcıdan sileceksiniz. Devam edeceğinizden emin misiniz?" +msgstr[1] "%u dosyayı yazıcıdan sileceksiniz. Devam edeceğinizden emin misiniz?" msgid "Delete files" msgstr "Dosyaları sil" @@ -5208,8 +5198,8 @@ msgid "" "Reconnecting the printer, the operation cannot be completed immediately, " "please try again later." msgstr "" -"Yazıcıyı yeniden bağladığınızda işlem hemen tamamlanamıyor, lütfen daha " -"sonra tekrar deneyin." +"Yazıcıyı yeniden bağladığınızda işlem hemen tamamlanamıyor, lütfen daha sonra " +"tekrar deneyin." msgid "File does not exist." msgstr "Dosya bulunmuyor." @@ -5292,8 +5282,8 @@ msgid "" "(The model has already been rated. Your rating will overwrite the previous " "rating.)" msgstr "" -"(Model zaten derecelendirilmiştir. Derecelendirmeniz önceki " -"derecelendirmenin üzerine yazılacaktır)" +"(Model zaten derecelendirilmiştir. Derecelendirmeniz önceki derecelendirmenin " +"üzerine yazılacaktır)" msgid "Rate" msgstr "Derecelendir" @@ -5883,8 +5873,8 @@ msgstr "Arama plakası, nesne ve parça." msgid "" "No AMS filaments. Please select a printer in 'Device' page to load AMS info." msgstr "" -"AMS filamentleri yok. AMS bilgilerini yüklemek için lütfen 'Cihaz' " -"sayfasında bir yazıcı seçin." +"AMS filamentleri yok. AMS bilgilerini yüklemek için lütfen 'Cihaz' sayfasında " +"bir yazıcı seçin." msgid "Sync filaments with AMS" msgstr "Filamentleri AMS ile senkronize et" @@ -5897,8 +5887,7 @@ msgstr "" "ayarlarını ve renklerini kaldıracaktır. Devam etmek istiyor musun?" msgid "" -"Already did a synchronization, do you want to sync only changes or resync " -"all?" +"Already did a synchronization, do you want to sync only changes or resync all?" msgstr "" "Zaten bir senkronizasyon yaptınız. Yalnızca değişiklikleri senkronize etmek " "mi yoksa tümünü yeniden senkronize etmek mi istiyorsunuz?" @@ -5913,13 +5902,13 @@ msgid "There are no compatible filaments, and sync is not performed." msgstr "Uyumlu filament yok ve senkronizasyon gerçekleştirilmiyor." msgid "" -"There are some unknown filaments mapped to generic preset. Please update " -"Orca Slicer or restart Orca Slicer to check if there is an update to system " +"There are some unknown filaments mapped to generic preset. Please update Orca " +"Slicer or restart Orca Slicer to check if there is an update to system " "presets." msgstr "" -"Genel ön ayara eşlenen bazı bilinmeyen filamentler var. Sistem ön " -"ayarlarında bir güncelleme olup olmadığını kontrol etmek için lütfen Orca " -"Slicer'ı güncelleyin veya Orca Slicer'ı yeniden başlatın." +"Genel ön ayara eşlenen bazı bilinmeyen filamentler var. Sistem ön ayarlarında " +"bir güncelleme olup olmadığını kontrol etmek için lütfen Orca Slicer'ı " +"güncelleyin veya Orca Slicer'ı yeniden başlatın." #, boost-format msgid "Do you want to save changes to \"%1%\"?" @@ -5944,13 +5933,13 @@ msgid "Restore" msgstr "Geri Yükleme" 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." +"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 "" -"Mevcut sıcak yatak sıcaklığı oldukça yüksek. Bu filamenti kapalı bir " -"muhafaza içinde bastırırken nozzle tıkanabilir. Lütfen ön kapağı açın ve/" -"veya üst camı çıkarın." +"Mevcut sıcak yatak sıcaklığı oldukça yüksek. Bu filamenti kapalı bir muhafaza " +"içinde bastırırken nozzle tıkanabilir. Lütfen ön kapağı açın ve/veya üst camı " +"çıkarın." msgid "" "The nozzle hardness required by the filament is higher than the default " @@ -6013,8 +6002,8 @@ msgstr "Lütfen bunları parametre sekmelerinde düzeltin" msgid "The 3mf has following modified G-codes in filament or printer presets:" msgstr "" -"3mf dosyasında filament veya yazıcı ön ayarlarında şu değiştirilmiş G-" -"kodları bulunmaktadır:" +"3mf dosyasında filament veya yazıcı ön ayarlarında şu değiştirilmiş G-kodları " +"bulunmaktadır:" msgid "" "Please confirm that these modified G-codes are safe to prevent any damage to " @@ -6248,8 +6237,8 @@ msgstr "" "dosyayı indirin ve manuel olarak içe aktarın." msgid "" -"Importing to Orca Slicer failed. Please download the file and manually " -"import it." +"Importing to Orca Slicer failed. Please download the file and manually import " +"it." msgstr "" "Orca Slicer'ya aktarma başarısız oldu. Lütfen dosyayı indirin ve manuel " "olarak İçe aktarın." @@ -6269,12 +6258,12 @@ msgstr "G kodu dosyası yüklenirken hata oluşuyor" #. TRN %1% is archive path #, boost-format msgid "Loading of a ZIP archive on path %1% has failed." -msgstr "" +msgstr "ZIP arşivinin %1% yoluna yüklenmesi başarısız oldu." #. TRN: First argument = path to file, second argument = error description #, boost-format msgid "Failed to unzip file to %1%: %2%" -msgstr "" +msgstr "Dosya %1% konumuna açılamadı: %2%" #, boost-format msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." @@ -6337,15 +6326,15 @@ msgstr "Dilimlenmiş dosyayı şu şekilde kaydedin:" #, c-format, boost-format msgid "" -"The file %s has been sent to the printer's storage space and can be viewed " -"on the printer." +"The file %s has been sent to the printer's storage space and can be viewed on " +"the printer." msgstr "" "%s dosyası yazıcının depolama alanına gönderildi ve yazıcıda " "görüntülenebiliyor." msgid "" -"Unable to perform boolean operation on model meshes. Only positive parts " -"will be kept. You may fix the meshes and try agian." +"Unable to perform boolean operation on model meshes. Only positive parts will " +"be kept. You may fix the meshes and try agian." msgstr "" "Model ağlarında boole işlemi gerçekleştirilemiyor. Yalnızca olumlu kısımlar " "tutulacaktır. Kafesleri düzeltip tekrar deneyebilirsiniz." @@ -6459,8 +6448,8 @@ msgstr "" #, c-format, boost-format msgid "" "Plate% d: %s is not suggested to be used to print filament %s(%s). If you " -"still want to do this printing, please set this filament's bed temperature " -"to non zero." +"still want to do this printing, please set this filament's bed temperature to " +"non zero." msgstr "" "Plaka% d: %s'nin %s(%s) filamentinı yazdırmak için kullanılması önerilmez. " "Eğer yine de bu baskıyı yapmak istiyorsanız, lütfen bu filamentin yatak " @@ -6524,6 +6513,9 @@ msgid "" "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." msgstr "" +"Bu, Bambu’nun bulut hizmetlerine veri aktarımını durdurur. BBL makinelerini " +"kullanmayan veya yalnızca LAN modunu kullanan kullanıcılar bu işlevi güvenle " +"açabilir." msgid "Enable network plugin" msgstr "Ağ eklentisini etkinleştir" @@ -6545,8 +6537,8 @@ msgstr "Yalnızca bir OrcaSlicer örneğine izin ver" 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." +"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’te her zaman varsayılan olarak çalışan tek bir uygulama örneği vardır. " "Ancak aynı uygulamanın birden fazla örneğinin komut satırından " @@ -6554,9 +6546,8 @@ msgstr "" "örneğe izin verecektir." msgid "" -"If this is enabled, when starting OrcaSlicer and another instance of the " -"same OrcaSlicer is already running, that instance will be reactivated " -"instead." +"If this is enabled, when starting OrcaSlicer and another instance of the same " +"OrcaSlicer is already running, that instance will be reactivated instead." msgstr "" "Bu etkinleştirilirse, OrcaSlicer başlatıldığında ve aynı OrcaSlicer’ın başka " "bir örneği zaten çalışıyorken, bunun yerine bu örnek yeniden " @@ -6648,12 +6639,11 @@ msgstr "" "hatırlayacak ve otomatik olarak değiştirecektir." msgid "Multi-device Management(Take effect after restarting Orca)." -msgstr "" -"Çoklu Cihaz Yönetimi(Studio yeniden başlatıldıktan sonra geçerli olur)." +msgstr "Çoklu Cihaz Yönetimi(Studio yeniden başlatıldıktan sonra geçerli olur)." msgid "" -"With this option enabled, you can send a task to multiple devices at the " -"same time and manage multiple devices." +"With this option enabled, you can send a task to multiple devices at the same " +"time and manage multiple devices." msgstr "" "Bu seçenek etkinleştirildiğinde, aynı anda birden fazla cihaza bir görev " "gönderebilir ve birden fazla cihazı yönetebilirsiniz." @@ -6704,18 +6694,20 @@ msgstr "" "uygulama olarak ayarlar" msgid "Current association: " -msgstr "" +msgstr "Mevcut dernek:" msgid "Associate prusaslicer://" -msgstr "" +msgstr "Ortak prusaslicer://" msgid "Not associated to any application" -msgstr "" +msgstr "Herhangi bir uygulamayla ilişkili değil" msgid "" "Associate OrcaSlicer with prusaslicer:// links so that Orca can open " "PrusaSlicer links from Printable.com" msgstr "" +"Orca’nın Printable.com’daki PrusaSlicer bağlantılarını açabilmesi için " +"OrcaSlicer’ı prusaslicer:// bağlantılarıyla ilişkilendirin" msgid "Maximum recent projects" msgstr "Maksimum yeni proje" @@ -6735,8 +6727,8 @@ msgstr "Otomatik yedekleme" msgid "" "Backup your project periodically for restoring from the occasional crash." msgstr "" -"Ara sıra meydana gelen çökmelerden sonra geri yüklemek için projenizi " -"düzenli aralıklarla yedekleyin." +"Ara sıra meydana gelen çökmelerden sonra geri yüklemek için projenizi düzenli " +"aralıklarla yedekleyin." msgid "every" msgstr "her" @@ -7096,8 +7088,7 @@ msgid "Printer local connection failed, please try again." msgstr "Yazıcının yerel bağlantısı başarısız oldu, lütfen tekrar deneyin." msgid "No login account, only printers in LAN mode are displayed" -msgstr "" -"Oturum açma hesabı yok, yalnızca LAN modundaki yazıcılar görüntüleniyor" +msgstr "Oturum açma hesabı yok, yalnızca LAN modundaki yazıcılar görüntüleniyor" msgid "Connecting to server" msgstr "Sunucuya baglanıyor" @@ -7165,8 +7156,7 @@ msgstr "" "desteklemek için lütfen yazıcının ürün yazılımını güncelleyin." msgid "" -"The printer firmware only supports sequential mapping of filament => AMS " -"slot." +"The printer firmware only supports sequential mapping of filament => AMS slot." msgstr "" "Yazıcı ürün yazılımı yalnızca filament => AMS yuvasının sıralı eşlemesini " "destekler." @@ -7227,8 +7217,8 @@ msgstr "" 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." +"they are the required filaments. If they are okay, press \"Confirm\" to start " +"printing." msgstr "" "AMS eşlemelerinde bazı bilinmeyen filamentler var. Lütfen bunların gerekli " "filamentler olup olmadığını kontrol edin. Sorun yoksa, yazdırmayı başlatmak " @@ -7260,8 +7250,7 @@ msgstr "" "hasarına neden olabilir" msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "" -"Lütfen yukarıdaki hatayı düzeltin, aksi takdirde yazdırma devam edemez." +msgstr "Lütfen yukarıdaki hatayı düzeltin, aksi takdirde yazdırma devam edemez." msgid "" "Please click the confirm button if you still want to proceed with printing." @@ -7412,11 +7401,11 @@ msgid "" "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." +"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 "" "3D Baskı topluluğunda, kendi dilimleme parametrelerimizi ve ayarlarımızı " "düzenlerken birbirimizin başarılarından ve başarısızlıklarından öğreniyoruz. " @@ -7467,16 +7456,16 @@ msgid "Click to reset all settings to the last saved preset." msgstr "Tüm ayarları en son kaydedilen ön ayara sıfırlamak için tıklayın." msgid "" -"Prime tower is required for smooth timeplase. There may be flaws on the " -"model without prime tower. Are you sure you want to disable prime tower?" +"Prime tower is required for smooth timeplase. There may be flaws on the model " +"without prime tower. Are you sure you want to disable prime tower?" msgstr "" "Sorunsuz timeplace için Prime Tower gereklidir. Prime tower olmayan modelde " "kusurlar olabilir. Prime tower'ı devre dışı bırakmak istediğinizden emin " "misiniz?" msgid "" -"Prime tower is required for smooth timelapse. There may be flaws on the " -"model without prime tower. Do you want to enable prime tower?" +"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 "" "Sorunsuz hızlandırılmış çekim için Prime Tower gereklidir. Prime tower " "olmayan modelde kusurlar olabilir. Prime tower'ı etkinleştirmek istiyor " @@ -7505,11 +7494,11 @@ msgstr "" msgid "" "For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following " -"settings: at least 2 interface layers, at least 0.1mm top z distance or " -"using support materials on interface." +"settings: at least 2 interface layers, at least 0.1mm top z distance or using " +"support materials on interface." msgstr "" -"\"Güçlü Ağaç\" ve \"Ağaç Hibrit\" stilleri için şu ayarları öneriyoruz: en " -"az 2 arayüz katmanı, en az 0,1 mm üst z mesafesi veya arayüzde destek " +"\"Güçlü Ağaç\" ve \"Ağaç Hibrit\" stilleri için şu ayarları öneriyoruz: en az " +"2 arayüz katmanı, en az 0,1 mm üst z mesafesi veya arayüzde destek " "malzemeleri kullanılması." msgid "" @@ -7548,8 +7537,8 @@ msgid "" "height limits ,this may cause printing quality issues." msgstr "" "Katman yüksekliği, Yazıcı Ayarları -> Ekstruder -> Katman yüksekliği " -"sınırları bölümündeki sınırı aşıyor bu durum baskı kalitesi sorunlarına " -"neden olabilir." +"sınırları bölümündeki sınırı aşıyor bu durum baskı kalitesi sorunlarına neden " +"olabilir." msgid "Adjust to the set range automatically? \n" msgstr "Ayarlanan aralığa otomatik olarak ayarlansın mı? \n" @@ -7563,8 +7552,8 @@ msgstr "Atla" 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." +"reduce flush, it may also elevate the risk of nozzle clogs or other printing " +"complications." msgstr "" "Deneysel özellik: Filament değişiklikleri sırasında, floşu en aza indirmek " "için filamanı daha büyük bir mesafeden geri çekmek ve kesmek. Flush’u önemli " @@ -7586,8 +7575,8 @@ 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\"." +"by right-click the empty position of build plate and choose \"Add Primitive\"-" +">\"Timelapse Wipe Tower\"." msgstr "" "Araç başlığı olmadan timelapse kaydederken, bir \"Timelapse Wipe Tower\" " "eklenmesi önerilir.\n" @@ -7636,8 +7625,8 @@ msgid "" "the overhang degree range and wall speed is used" msgstr "" "Bu, çeşitli sarkma dereceleri için hızdır. Çıkıntı dereceleri çizgi " -"genişliğinin yüzdesi olarak ifade edilir. 0 hız, sarkma derecesi aralığı " -"için yavaşlamanın olmadığı anlamına gelir ve duvar hızı kullanılır" +"genişliğinin yüzdesi olarak ifade edilir. 0 hız, sarkma derecesi aralığı için " +"yavaşlamanın olmadığı anlamına gelir ve duvar hızı kullanılır" msgid "Bridge" msgstr "Köprü" @@ -7737,11 +7726,11 @@ msgid "Cool plate" msgstr "Soğuk plaka" msgid "" -"Bed temperature when cool plate is installed. Value 0 means the filament " -"does not support to print on the Cool Plate" +"Bed temperature when cool plate is installed. Value 0 means the filament does " +"not support to print on the Cool Plate" msgstr "" -"Soğutma plakası takıldığında yatak sıcaklığı. 0 değeri, filamentin Cool " -"Plate üzerine yazdırmayı desteklemediği anlamına gelir" +"Soğutma plakası takıldığında yatak sıcaklığı. 0 değeri, filamentin Cool Plate " +"üzerine yazdırmayı desteklemediği anlamına gelir" msgid "Engineering plate" msgstr "Mühendislik plakası" @@ -7812,7 +7801,7 @@ msgstr "" "maksimum olacaktır" msgid "Auxiliary part cooling fan" -msgstr "Yardımcı Parça Soğutma Fanı" +msgstr "Yardımcı parça soğutma fanı" msgid "Exhaust fan" msgstr "Egzos Fanı" @@ -8062,16 +8051,16 @@ msgstr "\"%1%\" ön ayarı aşağıdaki kaydedilmemiş değişiklikleri içeriyo #, boost-format msgid "" -"Preset \"%1%\" is not compatible with the new printer profile and it " -"contains the following unsaved changes:" +"Preset \"%1%\" is not compatible with the new printer profile and it contains " +"the following unsaved changes:" msgstr "" "Ön ayar \"%1%\", yeni yazıcı profiliyle uyumlu değil ve aşağıdaki " "kaydedilmemiş değişiklikleri içeriyor:" #, boost-format msgid "" -"Preset \"%1%\" is not compatible with the new process profile and it " -"contains the following unsaved changes:" +"Preset \"%1%\" is not compatible with the new process profile and it contains " +"the following unsaved changes:" msgstr "" "Ön ayar \"%1%\", yeni işlem profiliyle uyumlu değil ve aşağıdaki " "kaydedilmemiş değişiklikleri içeriyor:" @@ -8105,8 +8094,8 @@ msgid "" "the modified values to the new project" msgstr "" "\n" -"Değiştirdiğiniz ön ayar değerlerini atabilir veya değiştirilen değerleri " -"yeni projeye aktarmayı seçebilirsiniz." +"Değiştirdiğiniz ön ayar değerlerini atabilir veya değiştirilen değerleri yeni " +"projeye aktarmayı seçebilirsiniz." msgid "Extruders count" msgstr "Ekstruder sayısı" @@ -8130,19 +8119,19 @@ 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." +"Note: New modified presets will be selected in settings tabs after close this " +"dialog." msgstr "" "Seçilen seçenekleri sol ön ayardan sağa aktarın.\n" -"Not: Bu iletişim kutusunu kapattıktan sonra ayarlar sekmelerinde " -"değiştirilen yeni ön ayarlar seçilecektir." +"Not: Bu iletişim kutusunu kapattıktan sonra ayarlar sekmelerinde değiştirilen " +"yeni ön ayarlar seçilecektir." msgid "Transfer values from left to right" msgstr "Değerleri soldan sağa aktarın" msgid "" -"If enabled, this dialog can be used for transfer selected values from left " -"to right preset." +"If enabled, this dialog can be used for transfer selected values from left to " +"right preset." msgstr "" "Etkinleştirilirse, bu iletişim kutusu seçilen değerleri soldan sağa ön ayara " "aktarmak için kullanılabilir." @@ -8229,11 +8218,11 @@ msgstr "Sıkıştırma özelleştirme" 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" +"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." @@ -8581,10 +8570,10 @@ msgid "Shift+Mouse wheel" msgstr "Shift+Fare tekerleği" msgid "Horizontal slider - Move to start position" -msgstr "" +msgstr "Yatay kaydırıcı - Başlangıç ​​konumuna taşıyın" msgid "Horizontal slider - Move to last position" -msgstr "" +msgstr "Yatay kaydırıcı - Son konuma git" msgid "Release Note" msgstr "Sürüm notu" @@ -8599,8 +8588,8 @@ msgstr "Ağ eklentisi güncellemesi" msgid "" "Click OK to update the Network plug-in when Orca Slicer launches next time." msgstr "" -"Orca Slicer bir sonraki sefer başlatıldığında Ağ eklentisini güncellemek " -"için Tamam'a tıklayın." +"Orca Slicer bir sonraki sefer başlatıldığında Ağ eklentisini güncellemek için " +"Tamam'a tıklayın." #, c-format, boost-format msgid "A new Network plug-in(%s) available, Do you want to install it?" @@ -8657,8 +8646,7 @@ msgstr "Nozulu Onaylayın ve Güncelleyin" msgid "LAN Connection Failed (Sending print file)" msgstr "LAN Bağlantısı Başarısız (Yazdırma dosyası gönderiliyor)" -msgid "" -"Step 1, please confirm Orca Slicer and your printer are in the same LAN." +msgid "Step 1, please confirm Orca Slicer and your printer are in the same LAN." msgstr "" "Adım 1, lütfen Orca Slicer ile yazıcınızın aynı LAN'da olduğunu doğrulayın." @@ -8727,8 +8715,8 @@ msgid "Updating successful" msgstr "Güncelleme başarılı" 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." +"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 "" "Güncellemek istediğinizden emin misiniz? Bu yaklaşık 10 dakika sürecektir. " "Yazıcı güncellenirken gücü kapatmayın." @@ -8747,10 +8735,9 @@ msgid "" "printing. Do you want to update now? You can also update later on printer or " "update next time starting Orca." msgstr "" -"Ürün yazılımı sürümü anormal. Yazdırmadan önce onarım ve güncelleme " -"yapılması gerekir. Şimdi güncellemek istiyor musunuz? Ayrıca daha sonra " -"yazıcıda güncelleyebilir veya stüdyoyu bir sonraki başlatışınızda " -"güncelleyebilirsiniz." +"Ürün yazılımı sürümü anormal. Yazdırmadan önce onarım ve güncelleme yapılması " +"gerekir. Şimdi güncellemek istiyor musunuz? Ayrıca daha sonra yazıcıda " +"güncelleyebilir veya stüdyoyu bir sonraki başlatışınızda güncelleyebilirsiniz." msgid "Extension Board" msgstr "Uzatma Kartı" @@ -8902,8 +8889,8 @@ msgid "Failed to calculate line width of %1%. Can not get value of \"%2%\" " msgstr "%1% çizgi genişliği hesaplanamadı. \"%2%\" değeri alınamıyor " msgid "" -"Invalid spacing supplied to Flow::with_spacing(), check your layer height " -"and extrusion width" +"Invalid spacing supplied to Flow::with_spacing(), check your layer height and " +"extrusion width" msgstr "" "Flow::with_spacing()'e sağlanan geçersiz boşluk, kat yüksekliğinizi ve " "ekstrüzyon genişliğinizi kontrol edin" @@ -9036,8 +9023,8 @@ msgstr " dışlama alanına çok yakın ve çarpışmalara neden olacak.\n" msgid "" "Can not print multiple filaments which have large difference of temperature " -"together. Otherwise, the extruder and nozzle may be blocked or damaged " -"during printing" +"together. Otherwise, the extruder and nozzle may be blocked or damaged during " +"printing" msgstr "" "Birlikte büyük sıcaklık farkına sahip birden fazla filament basılamaz. Aksi " "takdirde baskı sırasında ekstruder ve nozul tıkanabilir veya hasar görebilir" @@ -9056,8 +9043,8 @@ msgid "" "Please select \"By object\" print sequence to print multiple objects in " "spiral vase mode." msgstr "" -"Birden fazla nesneyi spiral vazo modunda yazdırmak için lütfen \"Nesneye göre" -"\" yazdırma sırasını seçin." +"Birden fazla nesneyi spiral vazo modunda yazdırmak için lütfen \"Nesneye " +"göre\" yazdırma sırasını seçin." msgid "" "The spiral vase mode does not work when an object contains more than one " @@ -9070,8 +9057,8 @@ msgstr "%1% nesnesi maksimum yapı hacmi yüksekliğini aşıyor." #, boost-format msgid "" -"While the object %1% itself fits the build volume, its last layer exceeds " -"the maximum build volume height." +"While the object %1% itself fits the build volume, its last layer exceeds the " +"maximum build volume height." msgstr "" "%1% nesnesinin kendisi yapı hacmine uysa da, son katmanı maksimum yapı hacmi " "yüksekliğini aşıyor." @@ -9100,8 +9087,7 @@ msgstr "" "Temizleme Kulesi şu anda yalnızca ilgili ekstruder adreslemesiyle " "desteklenmektedir (use_relative_e_distances=1)." -msgid "" -"Ooze prevention is currently not supported with the prime tower enabled." +msgid "Ooze prevention is currently not supported with the prime tower enabled." msgstr "Sızıntı önleme şu anda ana kule etkinken desteklenmemektedir." msgid "" @@ -9118,8 +9104,8 @@ msgid "" "The prime tower is not supported when adaptive layer height is on. It " "requires that all objects have the same layer height." msgstr "" -"Uyarlanabilir katman yüksekliği açıkken ana kule desteklenmez. Tüm " -"nesnelerin aynı katman yüksekliğine sahip olmasını gerektirir." +"Uyarlanabilir katman yüksekliği açıkken ana kule desteklenmez. Tüm nesnelerin " +"aynı katman yüksekliğine sahip olmasını gerektirir." msgid "The prime tower requires \"support gap\" to be multiple of layer height" msgstr "" @@ -9127,12 +9113,11 @@ msgstr "" msgid "The prime tower requires that all objects have the same layer heights" msgstr "" -"Prime tower, tüm nesnelerin aynı katman yüksekliğine sahip olmasını " -"gerektirir" +"Prime tower, tüm nesnelerin aynı katman yüksekliğine sahip olmasını gerektirir" msgid "" -"The prime tower requires that all objects are printed over the same number " -"of raft layers" +"The prime tower requires that all objects are printed over the same number of " +"raft layers" msgstr "" "Ana kule, tüm nesnelerin aynı sayıda sal katmanı üzerine yazdırılmasını " "gerektirir" @@ -9145,8 +9130,8 @@ msgstr "" "gerektirir." msgid "" -"The prime tower is only supported if all objects have the same variable " -"layer height" +"The prime tower is only supported if all objects have the same variable layer " +"height" msgstr "" "Prime tower yalnızca tüm nesnelerin aynı değişken katman yüksekliğine sahip " "olması durumunda desteklenir" @@ -9160,8 +9145,7 @@ msgstr "Çok büyük çizgi genişliği" msgid "" "The prime tower requires that support has the same layer height with object." msgstr "" -"Prime kulesi için, destek, nesne ile aynı katman yüksekliğine sahip " -"olmalıdır." +"Prime kulesi için, destek, nesne ile aynı katman yüksekliğine sahip olmalıdır." msgid "" "Organic support tree tip diameter must not be smaller than support material " @@ -9174,8 +9158,8 @@ msgid "" "Organic support branch diameter must not be smaller than 2x support material " "extrusion width." msgstr "" -"Organik destek dalı çapı, destek malzemesi ekstrüzyon genişliğinin 2 " -"katından daha küçük olamaz." +"Organik destek dalı çapı, destek malzemesi ekstrüzyon genişliğinin 2 katından " +"daha küçük olamaz." msgid "" "Organic support branch diameter must not be smaller than support tree tip " @@ -9192,20 +9176,20 @@ msgid "Layer height cannot exceed nozzle diameter" msgstr "Katman yüksekliği nozul çapını aşamaz" msgid "" -"Relative extruder addressing requires resetting the extruder position at " -"each layer to prevent loss of floating point accuracy. Add \"G92 E0\" to " +"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 "" -"Göreceli ekstruder adreslemesi, kayan nokta doğruluğunun kaybını önlemek " -"için her katmandaki ekstruder konumunun sıfırlanmasını gerektirir. " -"Layer_gcode'a \"G92 E0\" ekleyin." +"Göreceli ekstruder adreslemesi, kayan nokta doğruluğunun kaybını önlemek için " +"her katmandaki ekstruder konumunun sıfırlanmasını gerektirir. Layer_gcode'a " +"\"G92 E0\" ekleyin." msgid "" "\"G92 E0\" was found in before_layer_gcode, which is incompatible with " "absolute extruder addressing." msgstr "" -"Before_layer_gcode'da \"G92 E0\" bulundu ve bu, mutlak ekstruder " -"adreslemeyle uyumsuzdu." +"Before_layer_gcode'da \"G92 E0\" bulundu ve bu, mutlak ekstruder adreslemeyle " +"uyumsuzdu." msgid "" "\"G92 E0\" was found in layer_gcode, which is incompatible with absolute " @@ -9244,8 +9228,8 @@ msgid "" "(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." +"You can adjust the machine_max_acceleration_extruding value in your printer's " +"configuration to get higher speeds." msgstr "" "Hızlanma ayarı yazıcının maksimum hızlanmasını aşıyor " "(machine_max_acceleration_extruding).\n" @@ -9306,8 +9290,7 @@ msgid "Elephant foot compensation" msgstr "Fil ayağı telafi oranı" msgid "" -"Shrink the initial layer on build plate to compensate for elephant foot " -"effect" +"Shrink the initial layer on build plate to compensate for elephant foot effect" msgstr "" "Fil ayağı etkisini telafi etmek için baskı plakasındaki ilk katmanı küçültün" @@ -9366,15 +9349,15 @@ 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/" +"user name and password into the URL in the following format: https://username:" +"password@your-octopi-address/" msgstr "" -"Orca Slicer, G kodu dosyalarını bir yazıcı ana bilgisayarına yükleyebilir. " -"Bu alan, yazıcı ana bilgisayar örneğinin ana bilgisayar adını, IP adresini " -"veya URL'sini içermelidir. Temel kimlik doğrulamanın etkin olduğu " -"HAProxy'nin arkasındaki yazdırma ana bilgisayarına, kullanıcı adı ve " -"parolanın aşağıdaki biçimdeki URL'ye girilmesiyle erişilebilir: https://" -"username:password@your-octopi-address/" +"Orca Slicer, G kodu dosyalarını bir yazıcı ana bilgisayarına yükleyebilir. Bu " +"alan, yazıcı ana bilgisayar örneğinin ana bilgisayar adını, IP adresini veya " +"URL'sini içermelidir. Temel kimlik doğrulamanın etkin olduğu HAProxy'nin " +"arkasındaki yazdırma ana bilgisayarına, kullanıcı adı ve parolanın aşağıdaki " +"biçimdeki URL'ye girilmesiyle erişilebilir: https://username:password@your-" +"octopi-address/" msgid "Device UI" msgstr "Cihaz kullanıcı arayüzü" @@ -9382,8 +9365,7 @@ msgstr "Cihaz kullanıcı arayüzü" msgid "" "Specify the URL of your device user interface if it's not same as print_host" msgstr "" -"Print_Host ile aynı değilse cihazınızın kullanıcı arayüzünün URL'sini " -"belirtin" +"Print_Host ile aynı değilse cihazınızın kullanıcı arayüzünün URL'sini belirtin" msgid "API Key / Password" msgstr "API Anahtarı / Şifre" @@ -9392,9 +9374,8 @@ 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 kodu dosyalarını bir yazıcı ana bilgisayarına yükleyebilir. " -"Bu alan, kimlik doğrulama için gereken API Anahtarını veya şifreyi " -"içermelidir." +"Orca Slicer, G kodu dosyalarını bir yazıcı ana bilgisayarına yükleyebilir. Bu " +"alan, kimlik doğrulama için gereken API Anahtarını veya şifreyi içermelidir." msgid "Name of the printer" msgstr "Yazıcı adı" @@ -9404,8 +9385,8 @@ msgstr "HTTPS CA Dosyası" 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." +"in crt/pem format. If left blank, the default OS CA certificate repository is " +"used." msgstr "" "HTTPS OctoPrint bağlantıları için crt/pem formatında özel CA sertifika " "dosyası belirtilebilir. Boş bırakılırsa varsayılan OS CA sertifika deposu " @@ -9456,10 +9437,10 @@ msgid "" "either as an absolute value or as percentage (for example 50%) of a direct " "travel path. Zero to disable" msgstr "" -"Duvarı geçmekten kaçınmak için maksimum sapma mesafesi. Yoldan sapma " -"mesafesi bu değerden büyükse yoldan sapmayın. Yol uzunluğu, mutlak bir değer " -"olarak veya doğrudan seyahat yolunun yüzdesi (örneğin %50) olarak " -"belirtilebilir. Devre dışı bırakmak için sıfır" +"Duvarı geçmekten kaçınmak için maksimum sapma mesafesi. Yoldan sapma mesafesi " +"bu değerden büyükse yoldan sapmayın. Yol uzunluğu, mutlak bir değer olarak " +"veya doğrudan seyahat yolunun yüzdesi (örneğin %50) olarak belirtilebilir. " +"Devre dışı bırakmak için sıfır" msgid "mm or %" msgstr "mm veya %" @@ -9468,8 +9449,8 @@ msgid "Other layers" msgstr "Diğer katmanlar" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the Cool Plate" +"Bed temperature for layers except the initial one. Value 0 means the filament " +"does not support to print on the Cool Plate" msgstr "" "İlk katman dışındaki katmanlar için yatak sıcaklığı. 0 değeri, filamentin " "Cool Plate üzerine yazdırmayı desteklemediği anlamına gelir" @@ -9478,22 +9459,22 @@ msgid "°C" msgstr "°C" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the Engineering Plate" +"Bed temperature for layers except the initial one. Value 0 means the filament " +"does not support to print on the Engineering Plate" msgstr "" "İlk katman dışındaki katmanlar için yatak sıcaklığı. Değer 0, filamentin " "Mühendislik Plakasına yazdırmayı desteklemediği anlamına gelir" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the High Temp Plate" +"Bed temperature for layers except the initial one. Value 0 means the filament " +"does not support to print on the High Temp Plate" msgstr "" "İlk katman dışındaki katmanlar için yatak sıcaklığı. 0 değeri, filamentin " "Yüksek Sıcaklık Plakasına yazdırmayı desteklemediği anlamına gelir" msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the Textured PEI Plate" +"Bed temperature for layers except the initial one. Value 0 means the filament " +"does not support to print on the Textured PEI Plate" msgstr "" "İlk katman dışındaki katmanlar için yatak sıcaklığı. 0 Değeri, filamentin " "Dokulu PEI Plaka üzerine yazdırmayı desteklemediği anlamına gelir" @@ -9575,11 +9556,11 @@ 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 determained by " -"bottom shell layers" +"is disabled and thickness of bottom shell is absolutely determained by bottom " +"shell layers" msgstr "" -"Alt kabuk katmanları tarafından hesaplanan kalınlık bu değerden daha ince " -"ise dilimleme sırasında alt katı katmanların sayısı arttırılır. Bu, katman " +"Alt kabuk katmanları tarafından hesaplanan kalınlık bu değerden daha ince ise " +"dilimleme sırasında alt katı katmanların sayısı arttırılır. Bu, katman " "yüksekliği küçük olduğunda kabuğun çok ince olmasını önleyebilir. 0, bu " "ayarın devre dışı olduğu ve alt kabuğun kalınlığının mutlaka alt kabuk " "katmanları tarafından belirlendiği anlamına gelir" @@ -9593,8 +9574,7 @@ msgid "" "\n" "Options:\n" "1. Everywhere: Applies gap fill to top, bottom and internal solid surfaces\n" -"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces " -"only\n" +"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces only\n" "3. Nowhere: Disables gap fill\n" msgstr "" "Seçilen yüzeyler için boşluk doldurmayı etkinleştirir. Doldurulacak minimum " @@ -9620,19 +9600,19 @@ msgid "Force cooling for overhang and bridge" msgstr "Çıkıntı ve köprüler için soğutmayı zorla" msgid "" -"Enable this option to optimize part cooling fan speed for overhang and " -"bridge to get better cooling" +"Enable this option to optimize part cooling fan speed for overhang and bridge " +"to get better cooling" msgstr "" -"Daha iyi soğutma elde etmek amacıyla çıkıntı ve köprü için parça soğutma " -"fanı hızını optimize etmek amacıyla bu seçeneği etkinleştirin" +"Daha iyi soğutma elde etmek amacıyla çıkıntı ve köprü için parça soğutma fanı " +"hızını optimize etmek amacıyla bu seçeneği etkinleştirin" msgid "Fan speed for overhang" msgstr "Çıkıntılar için fan hızı" msgid "" -"Force part cooling fan to be this speed when printing bridge or overhang " -"wall which has large overhang degree. Forcing cooling for overhang and " -"bridge can get better quality for these part" +"Force part cooling fan to be this speed when printing bridge or overhang wall " +"which has large overhang degree. Forcing cooling for overhang and bridge can " +"get better quality for these part" msgstr "" "Çıkıntı derecesi büyük olan köprü veya çıkıntılı duvara baskı yaparken parça " "soğutma fanını bu hızda olmaya zorlayın. Çıkıntı ve köprü için soğutmayı " @@ -9644,9 +9624,9 @@ msgstr "Çıkıntı soğutması" #, c-format msgid "" "Force cooling fan to be specific speed when overhang degree of printed part " -"exceeds this value. Expressed as percentage which indicides how much width " -"of the line without support from lower layer. 0% means forcing cooling for " -"all outer wall no matter how much overhang degree" +"exceeds this value. Expressed as percentage which indicides how much width of " +"the line without support from lower layer. 0% means forcing cooling for all " +"outer wall no matter how much overhang degree" msgstr "" "Yazdırılan parçanın çıkıntı derecesi bu değeri aştığında soğutma fanını " "belirli bir hıza zorlar. Alt katmandan destek almadan çizginin ne kadar " @@ -9680,8 +9660,8 @@ msgid "" "Decrease this value slightly(for example 0.9) to reduce the amount of " "material for bridge, to improve sag" msgstr "" -"Köprü için malzeme miktarını azaltmak ve sarkmayı iyileştirmek için bu " -"değeri biraz azaltın (örneğin 0,9)" +"Köprü için malzeme miktarını azaltmak ve sarkmayı iyileştirmek için bu değeri " +"biraz azaltın (örneğin 0,9)" msgid "Internal bridge flow ratio" msgstr "İç köprü akış oranı" @@ -9749,11 +9729,11 @@ msgid "" "on the next layer, like letters. Set this setting to 0 to remove these " "artifacts." msgstr "" -"Eğer bir üst yüzey basılacaksa ve kısmen başka bir katman tarafından " -"kaplıysa layer genişliği bu değerin altında olan bir üst katman olarak " +"Eğer bir üst yüzey basılacaksa ve kısmen başka bir katman tarafından kaplıysa " +"layer genişliği bu değerin altında olan bir üst katman olarak " "değerlendirilmeyecek. Yalnızca çevrelerle kaplanması gereken yüzeyde 'bir " -"çevre üstte' tetiklemesine izin vermemek yararlı olabilir. Bu değer mm veya " -"a % çevre ekstrüzyon genişliğinin bir yüzdesi olabilir.\n" +"çevre üstte' tetiklemesine izin vermemek yararlı olabilir. Bu değer mm veya a " +"% çevre ekstrüzyon genişliğinin bir yüzdesi olabilir.\n" "Uyarı: Etkinleştirilirse bir sonraki katmanda harfler gibi bazı ince " "özelliklerin olması durumunda yapay yapılar oluşturulabilir. Bu yapıları " "kaldırmak için bu ayarı 0 olarak ayarlayın." @@ -9785,9 +9765,9 @@ msgid "Overhang reversal" msgstr "Çıkıntıyı tersine çevir" msgid "" -"Extrude perimeters that have a part over an overhang in the reverse " -"direction on odd layers. This alternating pattern can drastically improve " -"steep overhangs.\n" +"Extrude perimeters that have a part over an overhang in the reverse direction " +"on odd 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." @@ -9809,8 +9789,7 @@ msgid "" "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" +"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 recomended to set the " "Reverse Threshold to 0 so that all internal walls print in alternating " @@ -9842,8 +9821,7 @@ msgstr "" "Bu seçenek, havşa delikleri için köprüler oluşturarak bunların desteksiz " "yazdırılmasına olanak tanır. Mevcut modlar şunları içerir:\n" "1. Yok: Köprü oluşturulmaz.\n" -"2. Kısmen Köprülendi: Desteklenmeyen alanın yalnızca bir kısmı " -"köprülenecek.\n" +"2. Kısmen Köprülendi: Desteklenmeyen alanın yalnızca bir kısmı köprülenecek.\n" "3. Feda Katman: Tam bir feda köprü katmanı oluşturulur." msgid "Partially bridged" @@ -9963,8 +9941,8 @@ msgid "Brim ear detection radius" msgstr "Kenar kulak algılama yarıçapı" msgid "" -"The geometry will be decimated before dectecting sharp angles. This " -"parameter indicates the minimum length of the deviation for the decimation.\n" +"The geometry will be decimated before dectecting sharp angles. This parameter " +"indicates the minimum length of the deviation for the decimation.\n" "0 to deactivate" msgstr "" "Keskin açılar tespit edilmeden önce geometrinin büyük bir kısmı yok " @@ -10013,10 +9991,10 @@ msgid "" "that layer can be cooled for longer time. This can improve the cooling " "quality for needle and small details" msgstr "" -"Son katman süresinin \"Maksimum fan hızı eşiği\"ndeki katman süresi " -"eşiğinden kısa olmamasını sağlamak amacıyla yazdırma hızını yavaşlatmak için " -"bu seçeneği etkinleştirin, böylece katman daha uzun süre soğutulabilir. Bu, " -"iğne ve küçük detaylar için soğutma kalitesini artırabilir" +"Son katman süresinin \"Maksimum fan hızı eşiği\"ndeki katman süresi eşiğinden " +"kısa olmamasını sağlamak amacıyla yazdırma hızını yavaşlatmak için bu " +"seçeneği etkinleştirin, böylece katman daha uzun süre soğutulabilir. Bu, iğne " +"ve küçük detaylar için soğutma kalitesini artırabilir" msgid "Normal printing" msgstr "Normal baskı" @@ -10025,8 +10003,7 @@ msgid "" "The default acceleration of both normal printing and travel except initial " "layer" msgstr "" -"İlk katman dışında hem normal yazdırmanın hem de ilerlemenin varsayılan " -"ivmesi" +"İlk katman dışında hem normal yazdırmanın hem de ilerlemenin varsayılan ivmesi" msgid "mm/s²" msgstr "mm/s²" @@ -10070,8 +10047,8 @@ msgid "" "Close all cooling fan for the first certain layers. Cooling fan of the first " "layer used to be closed to get better build plate adhesion" msgstr "" -"İlk belirli katmanlar için tüm soğutma fanını kapatın. Daha iyi baskı " -"plakası yapışması sağlamak için ilk katmanın soğutma fanı kapatılırdı" +"İlk belirli katmanlar için tüm soğutma fanını kapatın. Daha iyi baskı plakası " +"yapışması sağlamak için ilk katmanın soğutma fanı kapatılırdı" msgid "Don't support bridges" msgstr "Köprülerde destek olmasın" @@ -10112,8 +10089,8 @@ msgid "Don't filter out small internal bridges (beta)" msgstr "Küçük iç köprüleri filtrelemeyin (deneysel)" msgid "" -"This option can help reducing pillowing on top surfaces in heavily slanted " -"or curved models.\n" +"This option can help reducing pillowing on top surfaces in heavily slanted or " +"curved models.\n" "\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 " @@ -10128,16 +10105,16 @@ msgid "" "unsupported internal solid infill. The options below control the amount of " "filtering, i.e. the amount of internal bridges created.\n" "\n" -"Disabled - Disables this option. This is the default behaviour and works " -"well in most cases.\n" +"Disabled - Disables this option. This is the default behaviour and works well " +"in most cases.\n" "\n" "Limited filtering - Creates internal bridges on heavily slanted surfaces, " -"while avoiding creating uncessesary interal bridges. This works well for " -"most difficult models.\n" +"while avoiding creating uncessesary interal bridges. This works well for most " +"difficult models.\n" "\n" -"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 unecessary bridges." +"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 unecessary bridges." msgstr "" "Bu seçenek, aşırı eğimli veya kavisli modellerde üst yüzeylerdeki " "yastıklamanın azaltılmasına yardımcı olabilir.\n" @@ -10289,8 +10266,8 @@ 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 "" -"En dışta görünen ve görünen dış duvarın hızı. Daha iyi kalite elde etmek " -"için iç duvar hızından daha yavaş olması kullanılır." +"En dışta görünen ve görünen dış duvarın hızı. Daha iyi kalite elde etmek için " +"iç duvar hızından daha yavaş olması kullanılır." msgid "Small perimeters" msgstr "Küçük çevre (perimeter)" @@ -10319,8 +10296,8 @@ msgstr "Duvar baskı sırası" 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 neighouring perimeter while printing. However, this option " +"Use Inner/Outer for best overhangs. This is because the overhanging walls can " +"adhere to a neighouring 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" @@ -10351,14 +10328,14 @@ msgstr "" "kalitesi ve boyutsal doğruluk için İç/Dış/İç seçeneğini kullanın. Ancak, dış " "duvarın üzerine baskı yapılacak bir iç çevre olmadığından sarkma performansı " "düşecektir. Bu seçenek, önce 3. çevreden itibaren iç duvarları, ardından dış " -"çevreyi ve son olarak da birinci iç çevreyi yazdırdığından etkili olması " -"için en az 3 duvar gerektirir. Bu seçenek çoğu durumda Dış/İç seçeneğine " -"karşı önerilir. \n" +"çevreyi ve son olarak da birinci iç çevreyi yazdırdığından etkili olması için " +"en az 3 duvar gerektirir. Bu seçenek çoğu durumda Dış/İç seçeneğine karşı " +"önerilir. \n" "\n" "İç/Dış/İç seçeneğinin aynı dış duvar kalitesi ve boyutsal doğruluk " "avantajları için Dış/İç seçeneğini kullanın. Bununla birlikte, yeni bir " -"katmanın ilk ekstrüzyonu görünür bir yüzey üzerinde başladığından z " -"dikişleri daha az tutarlı görünecektir.\n" +"katmanın ilk ekstrüzyonu görünür bir yüzey üzerinde başladığından z dikişleri " +"daha az tutarlı görünecektir.\n" "\n" " " @@ -10380,9 +10357,9 @@ msgid "" "\n" "Printing walls first may help with extreme overhangs as the walls have the " "neighbouring infill to adhere to. However, the infill will slighly 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." +"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 "" "Duvar/dolgu sırası. Onay kutusunun işareti kaldırıldığında ilk olarak " "duvarlar yazdırılır ve bu çoğu durumda en iyi sonucu verir.\n" @@ -10400,8 +10377,8 @@ msgid "" "The direction which the wall loops are extruded when looking down from the " "top.\n" "\n" -"By default all walls are extruded in counter-clockwise, unless Reverse on " -"odd is enabled. Set this to any option other than Auto will force the wall " +"By default all walls are extruded in counter-clockwise, unless Reverse on odd " +"is enabled. Set this to any option other than Auto will force the wall " "direction regardless of the Reverse on odd.\n" "\n" "This option will be disabled if sprial vase mode is enabled." @@ -10409,8 +10386,8 @@ msgstr "" "Yukarıdan aşağıya bakıldığında duvar döngülerinin ekstrüzyona uğradığı yön.\n" "\n" "Tek sayıyı ters çevir seçeneği etkinleştirilmedikçe, varsayılan olarak tüm " -"duvarlar saat yönünün tersine ekstrüde edilir. Bunu Otomatik dışında " -"herhangi bir seçeneğe ayarlayın, Ters açıklığa bakılmaksızın duvar yönünü " +"duvarlar saat yönünün tersine ekstrüde edilir. Bunu Otomatik dışında herhangi " +"bir seçeneğe ayarlayın, Ters açıklığa bakılmaksızın duvar yönünü " "zorlayacaktır.\n" "\n" "Spiral vazo modu etkinse bu seçenek devre dışı bırakılacaktır." @@ -10438,8 +10415,8 @@ msgid "" "Distance of the nozzle tip to the lid. Used for collision avoidance in by-" "object printing." msgstr "" -"Nozul ucunun kapağa olan mesafesi. Nesneye göre yazdırmada çarpışmayı " -"önlemek için kullanılır." +"Nozul ucunun kapağa olan mesafesi. Nesneye göre yazdırmada çarpışmayı önlemek " +"için kullanılır." msgid "" "Clearance radius around extruder. Used for collision avoidance in by-object " @@ -10462,20 +10439,19 @@ msgid "" "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." +"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 "" -"Bu seçenek, izin verilen yatak ağ alanı için minimum noktayı ayarlar. Prob " -"XY ofseti nedeniyle çoğu yazıcı yatağın tamamını tarayamaz. Prob noktasının " -"yatak alanı dışına çıkmamasını sağlamak için yatak ağının minimum ve " -"maksimum noktaları uygun şekilde ayarlanmalıdır. OrcaSlicer, " -"adaptive_bed_mesh_min/adaptive_bed_mesh_max değerlerinin bu min/maks " -"noktalarını aşmamasını sağlar. Bu bilgi genellikle yazıcınızın üreticisinden " -"edinilebilir. Varsayılan ayar (-99999, -99999) şeklindedir; bu, herhangi bir " -"sınırın olmadığı anlamına gelir, dolayısıyla yatağın tamamında problamaya " -"izin verilir." +"Bu seçenek, izin verilen yatak ağ alanı için minimum noktayı ayarlar. Prob XY " +"ofseti nedeniyle çoğu yazıcı yatağın tamamını tarayamaz. Prob noktasının " +"yatak alanı dışına çıkmamasını sağlamak için yatak ağının minimum ve maksimum " +"noktaları uygun şekilde ayarlanmalıdır. OrcaSlicer, adaptive_bed_mesh_min/" +"adaptive_bed_mesh_max değerlerinin bu min/maks noktalarını aşmamasını sağlar. " +"Bu bilgi genellikle yazıcınızın üreticisinden edinilebilir. Varsayılan ayar " +"(-99999, -99999) şeklindedir; bu, herhangi bir sınırın olmadığı anlamına " +"gelir, dolayısıyla yatağın tamamında problamaya izin verilir." msgid "Bed mesh max" msgstr "Maksimum yatak ağı" @@ -10485,20 +10461,19 @@ msgid "" "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." +"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 "" -"Bu seçenek, izin verilen yatak ağ alanı için maksimum noktayı ayarlar. " -"Probun XY ofseti nedeniyle çoğu yazıcı yatağın tamamını tarayamaz. Prob " -"noktasının yatak alanı dışına çıkmamasını sağlamak için yatak ağının minimum " -"ve maksimum noktaları uygun şekilde ayarlanmalıdır. OrcaSlicer, " -"adaptive_bed_mesh_min/adaptive_bed_mesh_max değerlerinin bu min/maks " -"noktalarını aşmamasını sağlar. Bu bilgi genellikle yazıcınızın üreticisinden " -"edinilebilir. Varsayılan ayar (99999, 99999) şeklindedir; bu, herhangi bir " -"sınırın olmadığı anlamına gelir, dolayısıyla yatağın tamamında problamaya " -"izin verilir." +"Bu seçenek, izin verilen yatak ağ alanı için maksimum noktayı ayarlar. Probun " +"XY ofseti nedeniyle çoğu yazıcı yatağın tamamını tarayamaz. Prob noktasının " +"yatak alanı dışına çıkmamasını sağlamak için yatak ağının minimum ve maksimum " +"noktaları uygun şekilde ayarlanmalıdır. OrcaSlicer, adaptive_bed_mesh_min/" +"adaptive_bed_mesh_max değerlerinin bu min/maks noktalarını aşmamasını sağlar. " +"Bu bilgi genellikle yazıcınızın üreticisinden edinilebilir. Varsayılan ayar " +"(99999, 99999) şeklindedir; bu, herhangi bir sınırın olmadığı anlamına gelir, " +"dolayısıyla yatağın tamamında problamaya izin verilir." msgid "Probe point distance" msgstr "Prob noktası mesafesi" @@ -10515,8 +10490,8 @@ msgid "Mesh margin" msgstr "Yatak ağı boşluğu" msgid "" -"This option determines the additional distance by which the adaptive bed " -"mesh area should be expanded in the XY directions." +"This option determines the additional distance by which the adaptive bed mesh " +"area should be expanded in the XY directions." msgstr "" "Bu seçenek, uyarlanabilir yatak ağ alanının XY yönlerinde genişletilmesi " "gereken ek mesafeyi belirler." @@ -10536,9 +10511,9 @@ msgstr "Akış oranı" msgid "" "The material may have volumetric change after switching between molten state " "and crystalline state. This setting changes all extrusion flow of this " -"filament in gcode proportionally. Recommended value range is between 0.95 " -"and 1.05. Maybe you can tune this value to get nice flat surface when there " -"has slight overflow or underflow" +"filament in gcode proportionally. Recommended value range is between 0.95 and " +"1.05. Maybe you can tune this value to get nice flat surface when there has " +"slight overflow or underflow" msgstr "" "Malzeme, erimiş hal ile kristal hal arasında geçiş yaptıktan sonra hacimsel " "değişime sahip olabilir. Bu ayar, bu filamentin gcode'daki tüm ekstrüzyon " @@ -10560,8 +10535,8 @@ msgid "Pressure advance(Klipper) AKA Linear advance factor(Marlin)" msgstr "Basınç avansı (Klipper) Doğrusal ilerleme faktörü (Marlin)" msgid "" -"Default line width if other line widths are set to 0. If expressed as a %, " -"it will be computed over the nozzle diameter." +"Default line width if other line widths are set to 0. If expressed as a %, it " +"will be computed over the nozzle diameter." msgstr "" "Diğer çizgi genişlikleri 0'a ayarlanmışsa varsayılan çizgi genişliği. % " "olarak ifade edilirse nozul çapı üzerinden hesaplanacaktır." @@ -10570,8 +10545,8 @@ msgid "Keep fan always on" msgstr "Fanı her zaman açık tut" msgid "" -"If enable this setting, part cooling fan will never be stoped and will run " -"at least at minimum speed to reduce the frequency of starting and stoping" +"If enable this setting, part cooling fan will never be stoped and will run at " +"least at minimum speed to reduce the frequency of starting and stoping" msgstr "" "Bu ayarı etkinleştirirseniz, parça soğutma fanı hiçbir zaman durdurulmayacak " "ve başlatma ve durdurma sıklığını azaltmak için en azından minimum hızda " @@ -10657,11 +10632,11 @@ msgid "" "Be sure to allow enough space between objects, as this compensation is done " "after the checks." msgstr "" -"Filamentin soğuduktan sonra alacağı büzülme yüzdesini girin (100 mm yerine " -"94 mm ölçerseniz 94%). Parça, telafi etmek için xy'de ölçeklendirilecektir. " +"Filamentin soğuduktan sonra alacağı büzülme yüzdesini girin (100 mm yerine 94 " +"mm ölçerseniz 94%). Parça, telafi etmek için xy'de ölçeklendirilecektir. " "Yalnızca çevre için kullanılan filament dikkate alınır.\n" -"Bu telafi kontrollerden sonra yapıldığından, nesneler arasında yeterli " -"boşluk bıraktığınızdan emin olun." +"Bu telafi kontrollerden sonra yapıldığından, nesneler arasında yeterli boşluk " +"bıraktığınızdan emin olun." msgid "Loading speed" msgstr "Yükleme hızı" @@ -10712,8 +10687,8 @@ msgid "" "Filament is cooled by being moved back and forth in the cooling tubes. " "Specify desired number of these moves." msgstr "" -"Filament, soğutma tüpleri içinde ileri geri hareket ettirilerek soğutulur. " -"Bu sayısını belirtin." +"Filament, soğutma tüpleri içinde ileri geri hareket ettirilerek soğutulur. Bu " +"sayısını belirtin." msgid "Speed of the first cooling move" msgstr "İlk soğutma hareketi hızı" @@ -10727,9 +10702,9 @@ msgstr "Silme kulesi üzerinde minimum boşaltım" 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." +"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 "" "Bir takım değişiminden sonra, yeni yüklenen filamentin nozul içindeki kesin " "konumu bilinmeyebilir ve filament basıncı muhtemelen henüz stabil değildir. " @@ -10746,13 +10721,12 @@ msgstr "Soğutma hareketleri bu hıza doğru giderek hızlanır." msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " -"filament during a tool change (when executing the T code). This time is " -"added to the total print time by the G-code time estimator." +"filament during a tool change (when executing the T code). This time is added " +"to the total print time by the G-code time estimator." msgstr "" "Yazıcı donanım yazılımının (veya Çoklu Malzeme Ünitesi 2.0'ın) takım " -"değişikliği sırasında (T kodu yürütülürken) yeni bir filament yükleme " -"süresi. Bu süre, G kodu zaman tahmincisi tarafından toplam baskı süresine " -"eklenir." +"değişikliği sırasında (T kodu yürütülürken) yeni bir filament yükleme süresi. " +"Bu süre, G kodu zaman tahmincisi tarafından toplam baskı süresine eklenir." msgid "Ramming parameters" msgstr "Sıkıştırma parametreleri" @@ -10766,8 +10740,8 @@ msgstr "" msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " -"filament during a tool change (when executing the T code). This time is " -"added to the total print time by the G-code time estimator." +"filament during a tool change (when executing the T code). This time is added " +"to the total print time by the G-code time estimator." msgstr "" "Yazıcı ürün yazılımının (veya Çoklu Malzeme Ünitesi 2.0'ın) takım değişimi " "sırasında (T kodu yürütülürken) filamenti boşaltma süresi. Bu süre, G kodu " @@ -10815,8 +10789,7 @@ msgstr "Filament malzeme türü" msgid "Soluble material" msgstr "Çözünür malzeme" -msgid "" -"Soluble material is commonly used to print support and support interface" +msgid "Soluble material is commonly used to print support and support interface" msgstr "" "Çözünür malzeme genellikle destek ve destek arayüzünü yazdırmak için " "kullanılır" @@ -10824,8 +10797,7 @@ msgstr "" msgid "Support material" msgstr "Destek malzemesi" -msgid "" -"Support material is commonly used to print support and support interface" +msgid "Support material is commonly used to print support and support interface" msgstr "" "Destek malzemesi yaygın olarak destek ve destek arayüzünü yazdırmak için " "kullanılır" @@ -10861,7 +10833,7 @@ msgid "(Undefined)" msgstr "(Tanımsız)" msgid "Sparse infill direction" -msgstr "" +msgstr "Seyrek dolgu yönü" msgid "" "Angle for sparse infill pattern, which controls the start or main direction " @@ -10870,18 +10842,19 @@ msgstr "" "Hattın başlangıcını veya ana yönünü kontrol eden seyrek dolgu deseni açısı" msgid "Solid infill direction" -msgstr "" +msgstr "Katı dolgu yönü" msgid "" -"Angle for solid infill pattern, which controls the start or main direction " -"of line" +"Angle for solid infill pattern, which controls the start or main direction of " +"line" msgstr "" +"Hattın başlangıcını veya ana yönünü kontrol eden katı dolgu deseni açısı" msgid "Rotate solid infill direction" -msgstr "" +msgstr "Rotate solid infill direction" msgid "Rotate the solid infill direction by 90° for each layer." -msgstr "" +msgstr "Rotate the solid infill direction by 90° for each layer." msgid "Sparse infill density" msgstr "Dolgu yoğunluğu" @@ -10891,8 +10864,8 @@ msgid "" "Density of internal sparse infill, 100% turns all sparse infill into solid " "infill and internal solid infill pattern will be used" msgstr "" -"İç seyrek dolgunun yoğunluğu, %100 tüm seyrek dolguyu katı dolguya " -"dönüştürür ve iç katı dolgu modeli kullanılacaktır" +"İç seyrek dolgunun yoğunluğu, %100 tüm seyrek dolguyu katı dolguya dönüştürür " +"ve iç katı dolgu modeli kullanılacaktır" msgid "Sparse infill pattern" msgstr "Dolgu deseni" @@ -10931,7 +10904,7 @@ msgid "Lightning" msgstr "Yıldırım" msgid "Cross Hatch" -msgstr "Çapraz Çizgi" +msgstr "Çapraz çizgi" msgid "Sparse infill anchor length" msgstr "Dolgu uzunluğu" @@ -10940,23 +10913,22 @@ 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" +"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 "" "Bir dolgu hattını, ek bir çevrenin kısa bir bölümü ile bir iç çevreye " -"bağlayın. Yüzde olarak ifade edilirse (örnek: %15) dolgu ekstrüzyon " -"genişliği üzerinden hesaplanır. Orca Slicer iki yakın dolgu hattını kısa bir " -"çevre segmentine bağlamaya çalışıyor. infill_anchor_max'tan daha kısa böyle " -"bir çevre segmenti bulunamazsa, dolgu hattı yalnızca bir taraftaki bir çevre " +"bağlayın. Yüzde olarak ifade edilirse (örnek: %15) dolgu ekstrüzyon genişliği " +"üzerinden hesaplanır. Orca Slicer iki yakın dolgu hattını kısa bir çevre " +"segmentine bağlamaya çalışıyor. infill_anchor_max'tan daha kısa böyle bir " +"çevre segmenti bulunamazsa, dolgu hattı yalnızca bir taraftaki bir çevre " "segmentine bağlanır ve alınan çevre segmentinin uzunluğu bu parametreyle " "sınırlıdır, ancak çapa_uzunluk_max'tan uzun olamaz.\n" -"Tek bir dolgu hattına bağlı sabitleme çevrelerini devre dışı bırakmak için " -"bu parametreyi sıfıra ayarlayın." +"Tek bir dolgu hattına bağlı sabitleme çevrelerini devre dışı bırakmak için bu " +"parametreyi sıfıra ayarlayın." msgid "0 (no open anchors)" msgstr "0 (açık bağlantı yok)" @@ -10971,23 +10943,22 @@ 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" +"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 "" "Bir dolgu hattını, ek bir çevrenin kısa bir bölümü ile bir iç çevreye " -"bağlayın. Yüzde olarak ifade edilirse (örnek: %15) dolgu ekstrüzyon " -"genişliği üzerinden hesaplanır. Orca Slicer iki yakın dolgu hattını kısa bir " -"çevre segmentine bağlamaya çalışıyor. Bu parametreden daha kısa bir çevre " -"segmenti bulunamazsa, dolgu hattı sadece bir kenardaki bir çevre segmentine " -"bağlanır ve alınan çevre segmentinin uzunluğu infill_anchor ile sınırlıdır " -"ancak bu parametreden daha uzun olamaz.\n" -"0'a ayarlanırsa dolgu bağlantısı için eski algoritma kullanılacaktır; 1000 " -"ve 0 ile aynı sonucu oluşturmalıdır." +"bağlayın. Yüzde olarak ifade edilirse (örnek: %15) dolgu ekstrüzyon genişliği " +"üzerinden hesaplanır. Orca Slicer iki yakın dolgu hattını kısa bir çevre " +"segmentine bağlamaya çalışıyor. Bu parametreden daha kısa bir çevre segmenti " +"bulunamazsa, dolgu hattı sadece bir kenardaki bir çevre segmentine bağlanır " +"ve alınan çevre segmentinin uzunluğu infill_anchor ile sınırlıdır ancak bu " +"parametreden daha uzun olamaz.\n" +"0'a ayarlanırsa dolgu bağlantısı için eski algoritma kullanılacaktır; 1000 ve " +"0 ile aynı sonucu oluşturmalıdır." msgid "0 (Simple connect)" msgstr "0 (Basit bağlantı)" @@ -11005,8 +10976,8 @@ msgid "" "Acceleration of top surface infill. Using a lower value may improve top " "surface quality" msgstr "" -"Üst yüzey dolgusunun hızlandırılması. Daha düşük bir değerin kullanılması " -"üst yüzey kalitesini iyileştirebilir" +"Üst yüzey dolgusunun hızlandırılması. Daha düşük bir değerin kullanılması üst " +"yüzey kalitesini iyileştirebilir" msgid "Acceleration of outer wall. Using a lower value can improve quality" msgstr "" @@ -11016,8 +10987,8 @@ 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 "" -"Köprülerin hızlandırılması. Değer yüzde olarak ifade edilirse (örn. %50), " -"dış duvar ivmesine göre hesaplanacaktır." +"Köprülerin hızlandırılması. Değer yüzde olarak ifade edilirse (örn. %50), dış " +"duvar ivmesine göre hesaplanacaktır." msgid "mm/s² or %" msgstr "mm/s² veya %" @@ -11054,8 +11025,7 @@ msgid "accel_to_decel" msgstr "Accel_to_decel" #, c-format, boost-format -msgid "" -"Klipper's max_accel_to_decel will be adjusted to this %% of acceleration" +msgid "Klipper's max_accel_to_decel will be adjusted to this %% of acceleration" msgstr "" "Klipper'ın max_accel_to_decel değeri ivmenin bu %%'sine göre ayarlanacak" @@ -11088,8 +11058,8 @@ msgid "Initial layer height" msgstr "Başlangıç katman yüksekliği" msgid "" -"Height of initial layer. Making initial layer height to be thick slightly " -"can improve build plate adhension" +"Height of initial layer. Making initial layer height to be thick slightly can " +"improve build plate adhension" msgstr "" "İlk katmanın yüksekliği. İlk katman yüksekliğini biraz kalın yapmak, baskı " "plakasının yapışmasını iyileştirebilir" @@ -11130,16 +11100,16 @@ msgstr "Maksimum fan hızı" 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." +"\"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 "" "Fan hızı, \"close_fan_the_first_x_layers\" katmanında sıfırdan " "\"ful_fan_speed_layer\" katmanında maksimuma doğrusal olarak artırılacaktır. " -"\"full_fan_speed_layer\", \"close_fan_the_first_x_layers\" değerinden " -"düşükse göz ardı edilecektir; bu durumda fan, \"close_fan_the_first_x_layers" -"\" + 1 katmanında izin verilen maksimum hızda çalışacaktır." +"\"full_fan_speed_layer\", \"close_fan_the_first_x_layers\" değerinden düşükse " +"göz ardı edilecektir; bu durumda fan, \"close_fan_the_first_x_layers\" + 1 " +"katmanında izin verilen maksimum hızda çalışacaktır." msgid "Support interface fan speed" msgstr "Destekler için fan hızı" @@ -11232,12 +11202,21 @@ 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 recomended 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." +"Note: For klipper machines, this option is recomended 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 "" +"G2 ve G3 hareketlerine sahip bir G kodu dosyası elde etmek için bunu " +"etkinleştirin. Montaj toleransı çözünürlükle aynıdır. \n" +"\n" +"Not: Klipper makineler için bu seçeneğin devre dışı bırakılması önerilir. " +"Klipper, yazılım tarafından tekrar çizgi bölümlerine bölündüğü için yay " +"komutlarından faydalanmaz. Bu, çizgi bölümlerinin dilimleyici tarafından " +"yaylara dönüştürülmesi ve ardından donanım yazılımı tarafından tekrar çizgi " +"bölümlerine dönüştürülmesi nedeniyle yüzey kalitesinde bir azalmaya neden " +"olur." msgid "Add line number" msgstr "Satır numarası ekle" @@ -11264,8 +11243,8 @@ msgid "" "The metallic material of nozzle. This determines the abrasive resistance of " "nozzle, and what kind of filament can be printed" msgstr "" -"Nozulnin metalik malzemesi. Bu, nozulun aşınma direncini ve ne tür " -"filamentin basılabileceğini belirler" +"Nozulnin metalik malzemesi. Bu, nozulun aşınma direncini ve ne tür filamentin " +"basılabileceğini belirler" msgid "Undefine" msgstr "Tanımsız" @@ -11317,8 +11296,8 @@ msgid "Best auto arranging position in range [0,1] w.r.t. bed shape." msgstr "Yatak şekline göre [0,1] aralığında en iyi otomatik düzenleme konumu." msgid "" -"Enable this option if machine has auxiliary part cooling fan. G-code " -"command: M106 P2 S(0-255)." +"Enable this option if machine has auxiliary part cooling fan. G-code command: " +"M106 P2 S(0-255)." msgstr "" "Makinede yardımcı parça soğutma fanı varsa bu seçeneği etkinleştirin. G-code " "komut: M106 P2 S(0-255)." @@ -11361,8 +11340,8 @@ msgid "" msgstr "" "Soğutma fanını başlatmak için hedef hıza düşmeden önce bu süre boyunca " "maksimum fan hızı komutunu verin.\n" -"Bu, düşük PWM/gücün fanın durma noktasından dönmeye başlaması veya fanın " -"daha hızlı hızlanması için yetersiz olabileceği fanlar için kullanışlıdır.\n" +"Bu, düşük PWM/gücün fanın durma noktasından dönmeye başlaması veya fanın daha " +"hızlı hızlanması için yetersiz olabileceği fanlar için kullanışlıdır.\n" "Devre dışı bırakmak için 0'a ayarlayın." msgid "Time cost" @@ -11416,21 +11395,20 @@ msgstr "Nesneleri etiketle" 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 " -"plugin. This settings is NOT compatible with Single Extruder Multi Material " -"setup and Wipe into Object / Wipe into Infill." +"object they belong to, which is useful for the Octoprint CancelObject plugin. " +"This settings is NOT compatible with Single Extruder Multi Material setup and " +"Wipe into Object / Wipe into Infill." msgstr "" "G-Code etiketleme yazdırma hareketlerine ait oldukları nesneyle ilgili " "yorumlar eklemek için bunu etkinleştirin; bu, Octoprint CancelObject " -"eklentisi için kullanışlıdır. Bu ayarlar Tek Ekstruder Çoklu Malzeme " -"kurulumu ve Nesneye Temizleme / Dolguya Temizleme ile uyumlu DEĞİLDİR." +"eklentisi için kullanışlıdır. Bu ayarlar Tek Ekstruder Çoklu Malzeme kurulumu " +"ve Nesneye Temizleme / Dolguya Temizleme ile uyumlu DEĞİLDİR." msgid "Exclude objects" msgstr "Nesneleri hariç tut" msgid "Enable this option to add EXCLUDE OBJECT command in g-code" -msgstr "" -"G koduna EXCLUDE OBJECT komutunu eklemek için bu seçeneği etkinleştirin" +msgstr "G koduna EXCLUDE OBJECT komutunu eklemek için bu seçeneği etkinleştirin" msgid "Verbose G-code" msgstr "Ayrıntılı G kodu" @@ -11470,23 +11448,32 @@ msgstr "Dolgu/Duvar örtüşmesi" #, 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." +"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 "" +"Daha iyi yapışma için dolgu alanı duvarla örtüşecek şekilde hafifçe " +"genişletilir. Yüzde değeri seyrek dolgunun çizgi genişliğine göredir. Aşırı " +"ekstrüzyon ve pürüzlü üst yüzeylere neden olan malzeme birikmesi " +"potansiyelini en aza indirmek için bu değeri ~%10-15’e ayarlayın." msgid "Top/Bottom solid infill/wall overlap" -msgstr "" +msgstr "Üst/Alt katı dolgu/duvar örtüşmesi" #, 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, minimising the " +"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, minimising the " "appearance of pinholes. The percentage value is relative to line width of " "sparse infill" msgstr "" +"Üst katı dolgu alanı, daha iyi yapışma sağlamak ve üst dolgunun duvarlarla " +"buluştuğu yerde küçük deliklerin görünümünü en aza indirmek için duvarla üst " +"üste gelecek şekilde hafifçe genişletilir. %25-30’luk bir değer, iğne " +"deliklerinin görünümünü en aza indiren iyi bir başlangıç ​​noktasıdır. Yüzde " +"değeri seyrek dolgunun çizgi genişliğine göredir" msgid "Speed of internal sparse infill" msgstr "İç seyrek dolgunun hızı" @@ -11496,12 +11483,12 @@ msgstr "Arayüz kabukları" msgid "" "Force the generation of solid shells between adjacent materials/volumes. " -"Useful for multi-extruder prints with translucent materials or manual " -"soluble support material" +"Useful for multi-extruder prints with translucent materials or manual soluble " +"support material" msgstr "" "Bitişik malzemeler/hacimler arasında katı kabuk oluşumunu zorlayın. Yarı " -"saydam malzemelerle veya elle çözülebilen destek malzemesiyle çoklu " -"ekstruder baskıları için kullanışlıdır" +"saydam malzemelerle veya elle çözülebilen destek malzemesiyle çoklu ekstruder " +"baskıları için kullanışlıdır" msgid "Maximum width of a segmented region" msgstr "Bölümlere ayrılmış bir bölgenin maksimum genişliği" @@ -11516,8 +11503,8 @@ msgstr "Bölümlere ayrılmış bir bölgenin birbirine kenetlenen derinliği" msgid "Interlocking depth of a segmented region. Zero disables this feature." msgstr "" -"Bölümlere ayrılmış bir bölgenin birbirine kenetlenen derinliği. 0 bu " -"özelliği devre dışı bırakır." +"Bölümlere ayrılmış bir bölgenin birbirine kenetlenen derinliği. 0 bu özelliği " +"devre dışı bırakır." msgid "Ironing Type" msgstr "Ütüleme tipi" @@ -11608,8 +11595,8 @@ msgstr "" "G kodu tadı Klipper olarak ayarlandığında bu seçenek göz ardı edilecektir." msgid "" -"This G-code will be used as a code for the pause print. User can insert " -"pause G-code in gcode viewer" +"This G-code will be used as a code for the pause print. User can insert pause " +"G-code in gcode viewer" msgstr "" "Bu G kodu duraklatma yazdırması için bir kod olarak kullanılacaktır. " "Kullanıcı gcode görüntüleyiciye duraklatma G kodunu ekleyebilir" @@ -11740,8 +11727,8 @@ msgid "Maximum acceleration for travel (M204 T), it only applies to Marlin 2" msgstr "Seyahat için maksimum ivme (M204 T), yalnızca Marlin 2 için geçerlidir" msgid "" -"Part cooling fan speed may be increased when auto cooling is enabled. This " -"is the maximum speed limitation of part cooling fan" +"Part cooling fan speed may be increased when auto cooling is enabled. This is " +"the maximum speed limitation of part cooling fan" msgstr "" "Otomatik soğutma etkinleştirildiğinde parça soğutma fanı hızı artırılabilir. " "Bu, parça soğutma fanının maksimum hız sınırlamasıdır" @@ -11761,8 +11748,8 @@ msgid "Extrusion rate smoothing" msgstr "Ekstrüzyon hızını yumuşatma" msgid "" -"This parameter smooths out sudden extrusion rate changes that happen when " -"the printer transitions from printing a high flow (high speed/larger width) " +"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" @@ -11773,12 +11760,11 @@ msgid "" "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-350mm3/s2 is recommended as this allows for " -"just enough smoothing to assist pressure advance achieve a smoother flow " -"transition.\n" +"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-350mm3/s2 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-15mm3/s2 is a good starting point for direct drive " @@ -11800,13 +11786,13 @@ msgstr "" "\n" "0 değeri özelliği devre dışı bırakır. \n" "\n" -"Yüksek hızlı, yüksek akışlı doğrudan tahrikli bir yazıcı için (Bambu lab " -"veya Voron gibi) bu değer genellikle gerekli değildir. Ancak özellik " -"hızlarının büyük ölçüde değiştiği bazı durumlarda marjinal bir fayda " -"sağlayabilir. Örneğin, çıkıntılar nedeniyle agresif yavaşlamalar olduğunda. " -"Bu durumlarda 300-350mm3/s2 civarında yüksek bir değer önerilir çünkü bu, " -"basınç ilerlemesinin daha yumuşak bir akış geçişi elde etmesine yardımcı " -"olmak için yeterli yumuşatmaya izin verir.\n" +"Yüksek hızlı, yüksek akışlı doğrudan tahrikli bir yazıcı için (Bambu lab veya " +"Voron gibi) bu değer genellikle gerekli değildir. Ancak özellik hızlarının " +"büyük ölçüde değiştiği bazı durumlarda marjinal bir fayda sağlayabilir. " +"Örneğin, çıkıntılar nedeniyle agresif yavaşlamalar olduğunda. Bu durumlarda " +"300-350mm3/s2 civarında yüksek bir değer önerilir çünkü bu, basınç " +"ilerlemesinin daha yumuşak bir akış geçişi elde etmesine yardımcı olmak için " +"yeterli yumuşatmaya izin verir.\n" "\n" "Basınç avansı olmayan daha yavaş yazıcılar için değer çok daha düşük " "ayarlanmalıdır. Doğrudan tahrikli ekstruderler için 10-15mm3/s2 ve Bowden " @@ -11903,8 +11889,8 @@ 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 kodu dosyalarını bir yazıcı ana bilgisayarına yükleyebilir. " -"Bu alan ana bilgisayarın türünü içermelidir." +"Orca Slicer, G kodu dosyalarını bir yazıcı ana bilgisayarına yükleyebilir. Bu " +"alan ana bilgisayarın türünü içermelidir." msgid "Nozzle volume" msgstr "Nozul hacmi" @@ -11945,8 +11931,8 @@ 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 "" -"Ekstruder ucunun, boşaltıldığında filamentin park edildiği konumdan " -"uzaklığı. Bu ayar yazıcı ürün yazılımındaki değerle eşleşmelidir." +"Ekstruder ucunun, boşaltıldığında filamentin park edildiği konumdan uzaklığı. " +"Bu ayar yazıcı ürün yazılımındaki değerle eşleşmelidir." msgid "Extra loading distance" msgstr "Ekstra yükleme mesafesi" @@ -11973,8 +11959,8 @@ msgstr "Dolguda geri çekmeyi azalt" msgid "" "Don't retract when the travel is in infill area absolutely. 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" +"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" msgstr "" "Hareket kesinlikle dolgu alanına girdiğinde geri çekilmeyin. Bu, sızıntının " "görülemeyeceği anlamına gelir. Bu, karmaşık model için geri çekme sürelerini " @@ -12011,11 +11997,11 @@ msgid "Make overhangs printable - Hole area" msgstr "Yazdırılabilir çıkıntı delik alanı oluşturun" 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." +"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 "" -"Modelin tabanındaki bir deliğin, konik malzemeyle doldurulmadan önce " -"maksimum alanı. 0 değeri, model tabanındaki tüm delikleri dolduracaktır." +"Modelin tabanındaki bir deliğin, konik malzemeyle doldurulmadan önce maksimum " +"alanı. 0 değeri, model tabanındaki tüm delikleri dolduracaktır." msgid "mm²" msgstr "mm²" @@ -12025,11 +12011,11 @@ msgstr "Çıkıntılı duvarı algıla" #, c-format, boost-format msgid "" -"Detect the overhang percentage relative to line width and use different " -"speed to print. For 100%% overhang, bridge speed is used." +"Detect the overhang percentage relative to line width and use different speed " +"to print. For 100%% overhang, bridge speed is used." msgstr "" -"Çizgi genişliğine göre çıkıntı yüzdesini tespit edin ve yazdırmak için " -"farklı hızlar kullanın. %%100 çıkıntı için köprü hızı kullanılır." +"Çizgi genişliğine göre çıkıntı yüzdesini tespit edin ve yazdırmak için farklı " +"hızlar kullanın. %%100 çıkıntı için köprü hızı kullanılır." msgid "" "Line width of inner wall. If expressed as a %, it will be computed over the " @@ -12051,8 +12037,8 @@ 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" +"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." @@ -12073,11 +12059,10 @@ msgid "" "argument, and they can access the Orca Slicer config settings by reading " "environment variables." msgstr "" -"Çıktı G-kodunu özel komut dosyaları aracılığıyla işlemek istiyorsanız, " -"mutlak yollarını burada listeleyin. Birden fazla betiği noktalı virgülle " -"ayırın. Betiklere ilk argüman olarak G-code dosyasının mutlak yolu aktarılır " -"ve ortam değişkenlerini okuyarak Orca Slicer yapılandırma ayarlarına " -"erişebilirler." +"Çıktı G-kodunu özel komut dosyaları aracılığıyla işlemek istiyorsanız, mutlak " +"yollarını burada listeleyin. Birden fazla betiği noktalı virgülle ayırın. " +"Betiklere ilk argüman olarak G-code dosyasının mutlak yolu aktarılır ve ortam " +"değişkenlerini okuyarak Orca Slicer yapılandırma ayarlarına erişebilirler." msgid "Printer notes" msgstr "Yazıcı notları" @@ -12089,8 +12074,7 @@ msgid "Raft contact Z distance" msgstr "Raft kontak Z mesafesi" msgid "Z gap between object and raft. Ignored for soluble interface" -msgstr "" -"Nesne ve raft arasındaki Z boşluğu. Çözünür arayüz için göz ardı edildi" +msgstr "Nesne ve raft arasındaki Z boşluğu. Çözünür arayüz için göz ardı edildi" msgid "Raft expansion" msgstr "Raft genişletme" @@ -12119,8 +12103,8 @@ msgid "" "Object will be raised by this number of support layers. Use this function to " "avoid wrapping when print ABS" msgstr "" -"Nesne bu sayıdaki destek katmanı tarafından yükseltilecektir. ABS " -"yazdırırken sarmayı önlemek için bu işlevi kullanın" +"Nesne bu sayıdaki destek katmanı tarafından yükseltilecektir. ABS yazdırırken " +"sarmayı önlemek için bu işlevi kullanın" msgid "" "G-code path is genereated after simplifing the contour of model to avoid too " @@ -12135,8 +12119,7 @@ msgid "Travel distance threshold" msgstr "Seyahat mesafesi" msgid "" -"Only trigger retraction when the travel distance is longer than this " -"threshold" +"Only trigger retraction when the travel distance is longer than this threshold" msgstr "" "Geri çekmeyi yalnızca hareket mesafesi bu eşikten daha uzun olduğunda " "tetikleyin" @@ -12144,8 +12127,7 @@ msgstr "" msgid "Retract amount before wipe" msgstr "Temizleme işlemi öncesi geri çekme miktarı" -msgid "" -"The length of fast retraction before wipe, relative to retraction length" +msgid "The length of fast retraction before wipe, relative to retraction length" msgstr "" "Geri çekme uzunluğuna göre, temizlemeden önce hızlı geri çekilmenin uzunluğu" @@ -12362,13 +12344,13 @@ msgid "Seam gap" msgstr "Dikiş boşluğu" 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%." +"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 "" -"Kapalı döngü ekstrüzyonda dikişin görünürlüğünü azaltmak için döngü " -"kesintiye uğrar ve belirli bir miktarda kısaltılır.\n" +"Kapalı döngü ekstrüzyonda dikişin görünürlüğünü azaltmak için döngü kesintiye " +"uğrar ve belirli bir miktarda kısaltılır.\n" "Bu miktar milimetre cinsinden veya mevcut ekstruder çapının yüzdesi olarak " "belirtilebilir. Bu parametrenin varsayılan değeri %10'dur." @@ -12377,8 +12359,8 @@ msgstr "Atkı birleşim dikişi (beta)" msgid "Use scarf joint to minimize seam visibility and increase seam strength." msgstr "" -"Dikiş görünürlüğünü en aza indirmek ve dikiş mukavemetini arttırmak için " -"atkı birleşimini kullanın." +"Dikiş görünürlüğünü en aza indirmek ve dikiş mukavemetini arttırmak için atkı " +"birleşimini kullanın." msgid "Conditional scarf joint" msgstr "Koşullu atkı birleşimi" @@ -12396,9 +12378,9 @@ msgstr "Koşullu açı eşiği" 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°." +"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 "" "Bu seçenek, koşullu bir atkı eklem dikişi uygulamak için eşik açısını " "ayarlar.\n" @@ -12413,8 +12395,8 @@ msgstr "Koşullu çıkıntı eşiği" 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 " +"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 "" "Bu seçenek, atkı bağlantı dikişlerinin uygulanması için sarkma eşiğini " @@ -12428,22 +12410,22 @@ msgstr "Atkı birleşim hızı" 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%." +"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 "" "Bu seçenek, atkı bağlantılarının yazdırma hızını ayarlar. Atkı " "bağlantılarının yavaş bir hızda (100 mm/s'den az) yazdırılması tavsiye " "edilir. Ayarlanan hızın dış veya iç duvarların hızından önemli ölçüde farklı " -"olması durumunda 'Ekstrüzyon hızı yumuşatma' seçeneğinin etkinleştirilmesi " -"de tavsiye edilir. Burada belirtilen hız, dış veya iç duvarların hızından " -"daha yüksekse, yazıcı varsayılan olarak iki hızdan daha yavaş olanı " -"seçecektir. Yüzde olarak belirtildiğinde (örn. %80), hız, ilgili dış veya iç " -"duvar hızına göre hesaplanır. Varsayılan değer %100 olarak ayarlanmıştır." +"olması durumunda 'Ekstrüzyon hızı yumuşatma' seçeneğinin etkinleştirilmesi de " +"tavsiye edilir. Burada belirtilen hız, dış veya iç duvarların hızından daha " +"yüksekse, yazıcı varsayılan olarak iki hızdan daha yavaş olanı seçecektir. " +"Yüzde olarak belirtildiğinde (örn. %80), hız, ilgili dış veya iç duvar hızına " +"göre hesaplanır. Varsayılan değer %100 olarak ayarlanmıştır." msgid "Scarf joint flow ratio" msgstr "Atkı birleşimi akış oranı" @@ -12457,8 +12439,8 @@ msgstr "Atkı başlangıç ​​yüksekliği" 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." +"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 "" "Atkı başlangıç yüksekliği.\n" "Bu miktar milimetre cinsinden veya geçerli katman yüksekliğinin yüzdesi " @@ -12477,8 +12459,8 @@ msgid "" "Length of the scarf. Setting this parameter to zero effectively disables the " "scarf." msgstr "" -"Atkının uzunluğu. Bu parametrenin 0 a ayarlanması atkıyı dolaylı yoldan " -"devre dışı bırakır." +"Atkının uzunluğu. Bu parametrenin 0 a ayarlanması atkıyı dolaylı yoldan devre " +"dışı bırakır." msgid "Scarf steps" msgstr "Atkı kademesi" @@ -12519,15 +12501,15 @@ msgid "Wipe before external loop" msgstr "Harici döngüden önce silin" msgid "" -"To minimise visibility of potential overextrusion at the start of an " -"external perimeter when printing with Outer/Inner or Inner/Outer/Inner wall " -"print order, the deretraction 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" +"To minimise visibility of potential overextrusion at the start of an external " +"perimeter when printing with Outer/Inner or Inner/Outer/Inner wall print " +"order, the deretraction 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 deretraction move." +"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 deretraction move." msgstr "" "Dış/İç veya İç/Dış/İç duvar baskı sırası ile yazdırırken, dış çevrenin " "başlangıcında olası aşırı çıkıntının görünürlüğünü en aza indirmek için, " @@ -12536,8 +12518,8 @@ msgstr "" "yüzeyden gizlenir. \n" "\n" "Bu, Dış/İç veya İç/Dış/İç duvar yazdırma sırası ile yazdırırken " -"kullanışlıdır, çünkü bu modlarda, bir geri çekilme hareketinin hemen " -"ardından bir dış çevrenin yazdırılması daha olasıdır." +"kullanışlıdır, çünkü bu modlarda, bir geri çekilme hareketinin hemen ardından " +"bir dış çevrenin yazdırılması daha olasıdır." msgid "Wipe speed" msgstr "Temizleme hızı" @@ -12580,19 +12562,30 @@ msgid "" "distance from the object. Therefore, if brims are active it may intersect " "with them. To avoid this, increase the skirt distance value.\n" msgstr "" +"Rüzgar taslağı nedeniyle ABS veya ASA baskının eğrilmesine ve baskı " +"yatağından ayrılmasına karşı koruma sağlamak için bir rüzgarlık " +"kullanışlıdır. Genellikle yalnızca açık çerçeveli, yani muhafazasız " +"yazıcılarda gereklidir. \n" +"\n" +"Seçenekler:\n" +"Etkin = etek, yazdırılan en yüksek nesne kadar uzundur.\n" +"Sınırlı = etek, etek yüksekliğinin belirttiği kadar uzundur.\n" +"\n" +"Not: Rüzgarlık etkinken etek, nesneden etek mesafesinde yazdırılacaktır. Bu " +"nedenle eğer kenarlar aktifse onlarla kesişebilir. Bunu önlemek için etek " +"mesafesi değerini artırın.\n" msgid "Limited" msgstr "Sınırlı" msgid "Enabled" -msgstr "Etkinleştirildi" +msgstr "Etkin" msgid "Skirt loops" msgstr "Etek sayısı" msgid "Number of loops for the skirt. Zero means disabling skirt" -msgstr "" -"Etek için ilmek sayısı. Sıfır, eteği devre dışı bırakmak anlamına gelir" +msgstr "Etek için ilmek sayısı. Sıfır, eteği devre dışı bırakmak anlamına gelir" msgid "Skirt speed" msgstr "Etek hızı" @@ -12603,7 +12596,7 @@ msgstr "" "kullanılması anlamına gelir." msgid "Skirt minimum extrusion length" -msgstr "" +msgstr "Etek minimum ekstrüzyon uzunluğu" msgid "" "Minimum filament extrusion length in mm when printing the skirt. Zero means " @@ -12612,6 +12605,11 @@ msgid "" "Using a non zero value is useful if the printer is set up to print without a " "prime line." msgstr "" +"Etek yazdırılırken mm cinsinden minimum filaman ekstrüzyon uzunluğu. Sıfır, " +"bu özelliğin devre dışı olduğu anlamına gelir.\n" +"\n" +"Yazıcı ana hat olmadan yazdırmak üzere ayarlanmışsa sıfır dışında bir değer " +"kullanmak yararlı olur." msgid "" "The printing speed in exported gcode will be slowed down, when the estimated " @@ -12632,8 +12630,8 @@ msgstr "" "bırakmıştır" msgid "" -"Line width of internal solid infill. If expressed as a %, it will be " -"computed over the nozzle diameter." +"Line width of internal solid infill. If expressed as a %, it will be computed " +"over the nozzle diameter." msgstr "" "İç katı dolgunun çizgi genişliği. % olarak ifade edilirse Nozul çapı " "üzerinden hesaplanacaktır." @@ -12647,8 +12645,8 @@ msgid "" "generated model has no seam" msgstr "" "Spiralleştirme, dış konturun z hareketlerini yumuşatır. Ve katı bir modeli, " -"katı alt katmanlara sahip tek duvarlı bir baskıya dönüştürür. Oluşturulan " -"son modelde dikiş yok." +"katı alt katmanlara sahip tek duvarlı bir baskıya dönüştürür. Oluşturulan son " +"modelde dikiş yok." msgid "Smooth Spiral" msgstr "Pürüzsüz spiral" @@ -12673,12 +12671,11 @@ msgstr "" 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, prime tower is required for smooth mode to " -"wipe nozzle." +"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, prime tower is required for smooth mode to wipe nozzle." msgstr "" "Düzgün veya geleneksel mod seçilirse her baskı için bir hızlandırılmış video " "oluşturulacaktır. Her katman basıldıktan sonra oda kamerasıyla anlık görüntü " @@ -12739,10 +12736,9 @@ msgid "No sparse layers (beta)" msgstr "Seyrek katman yok (beta)" msgid "" -"If enabled, the wipe tower will not be printed on layers with no " -"toolchanges. On layers with a toolchange, extruder will travel downward to " -"print the wipe tower. User is responsible for ensuring there is no collision " -"with the print." +"If enabled, the wipe tower will not be printed on layers with no toolchanges. " +"On layers with a toolchange, extruder will travel downward to print the wipe " +"tower. User is responsible for ensuring there is no collision with the print." msgstr "" "Etkinleştirilirse, silme kulesi araç değişimi olmayan katmanlarda " "yazdırılmayacaktır. Araç değişimi olan katmanlarda, ekstruder silme kulesini " @@ -12767,16 +12763,16 @@ msgid "" "triangle mesh slicing. The gap closing operation may reduce the final print " "resolution, therefore it is advisable to keep the value reasonably low." msgstr "" -"Üçgen mesh dilimleme sırasında 2x boşluk kapatma yarıçapından küçük " -"çatlaklar doldurulmaktadır. Boşluk kapatma işlemi son yazdırma çözünürlüğünü " +"Üçgen mesh dilimleme sırasında 2x boşluk kapatma yarıçapından küçük çatlaklar " +"doldurulmaktadır. Boşluk kapatma işlemi son yazdırma çözünürlüğünü " "düşürebilir, bu nedenle değerin oldukça düşük tutulması tavsiye edilir." msgid "Slicing Mode" msgstr "Dilimleme modu" msgid "" -"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " -"close all holes in the model." +"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close " +"all holes in the model." msgstr "" "3DLabPrint uçak modelleri için \"Çift-tek\" seçeneğini kullanın. Modeldeki " "tüm delikleri kapatmak için \"Delikleri kapat\"ı kullanın." @@ -12800,10 +12796,9 @@ msgid "" "print bed, set this to -0.3 (or fix your endstop)." msgstr "" "Bu değer, çıkış G-kodu içindeki tüm Z koordinatlarına eklenir (veya " -"çıkarılır).Bu, kötü Z endstop konumunu telafi etmek için kullanılır: " -"örneğin, endstop sıfır noktanız aslında nozulu baskı tablasından 0.3mm " -"uzakta bırakıyorsa, bu değeri -0.3 olarak ayarlayın (veya endstop'unuzu " -"düzeltin)." +"çıkarılır).Bu, kötü Z endstop konumunu telafi etmek için kullanılır: örneğin, " +"endstop sıfır noktanız aslında nozulu baskı tablasından 0.3mm uzakta " +"bırakıyorsa, bu değeri -0.3 olarak ayarlayın (veya endstop'unuzu düzeltin)." msgid "Enable support" msgstr "Desteği etkinleştir" @@ -12857,8 +12852,7 @@ msgid "" "Only create support for critical regions including sharp tail, cantilever, " "etc." msgstr "" -"Yalnızca keskin kuyruk, konsol vb. gibi kritik bölgeler için destek " -"oluşturun." +"Yalnızca keskin kuyruk, konsol vb. gibi kritik bölgeler için destek oluşturun." msgid "Remove small overhangs" msgstr "Küçük çıkıntıları kaldır" @@ -12895,8 +12889,7 @@ msgstr "Taban için arayüz filamentini azaltın" msgid "" "Avoid using support interface filament to print support base if possible." msgstr "" -"Destek tabanını yazdırmak için destek arayüzü filamentini kullanmaktan " -"kaçının" +"Destek tabanını yazdırmak için destek arayüzü filamentini kullanmaktan kaçının" msgid "" "Line width of support. If expressed as a %, it will be computed over the " @@ -12971,8 +12964,8 @@ msgstr "Arayüz deseni" msgid "" "Line pattern of support interface. Default pattern for non-soluble support " -"interface is Rectilinear, while default pattern for soluble support " -"interface is Concentric" +"interface is Rectilinear, while default pattern for soluble support interface " +"is Concentric" msgstr "" "Destek arayüzünün çizgi deseni. Çözünmeyen destek arayüzü için varsayılan " "model Doğrusaldır, çözünebilir destek arayüzü için varsayılan model ise " @@ -13001,12 +12994,11 @@ msgid "" "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." +"aggressively and save a lot of material (default organic), while hybrid style " +"will create similar structure to normal support under large flat overhangs." msgstr "" -"Destek stil ve şekli. Normal destek için, destekleri düzenli bir ızgara " -"içine projelendirmek daha stabil destekler oluşturacaktır (varsayılan), aynı " +"Destek stil ve şekli. Normal destek için, destekleri düzenli bir ızgara içine " +"projelendirmek daha stabil destekler oluşturacaktır (varsayılan), aynı " "zamanda sıkı destek kuleleri malzeme tasarrufu sağlar ve nesne üzerindeki " "izleri azaltır.\n" "Ağaç destek için, ince ve organik tarz, dalları daha etkili bir şekilde " @@ -13055,8 +13047,8 @@ msgid "Tree support branch angle" msgstr "Ağaç desteği dal açısı" msgid "" -"This setting determines the maximum overhang angle that t he branches of " -"tree support allowed to make.If the angle is increased, the branches can be " +"This setting determines the maximum overhang angle that t he branches of tree " +"support allowed to make.If the angle is increased, the branches can be " "printed more horizontally, allowing them to reach farther." msgstr "" "Bu ayar, ağaç desteğinin dallarının oluşmasına izin verilen maksimum çıkıntı " @@ -13088,11 +13080,10 @@ msgstr "Dal Yoğunluğu" #. 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." +"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 "" "Dalların uçlarını oluşturmak için kullanılan destek yapısının yoğunluğunu " "ayarlar. Daha yüksek bir değer daha iyi çıkıntılarla sonuçlanır, ancak " @@ -13104,8 +13095,8 @@ msgid "Adaptive layer height" msgstr "Uyarlanabilir katman yüksekliği" msgid "" -"Enabling this option means the height of tree support layer except the " -"first will be automatically calculated " +"Enabling this option means the height of tree support layer except the first " +"will be automatically calculated " msgstr "" "Bu seçeneğin etkinleştirilmesi, ilki hariç ağaç destek katmanının " "yüksekliğinin otomatik olarak hesaplanacağı anlamına gelir " @@ -13160,8 +13151,8 @@ msgstr "Çift duvarlı dal çapı" #. TRN PrintSettings: "Organic supports" > "Branch Diameter" msgid "" "Branches with area larger than the area of a circle of this diameter will be " -"printed with double walls for stability. Set this value to zero for no " -"double walls." +"printed with double walls for stability. Set this value to zero for no double " +"walls." msgstr "" "Bu çaptaki bir dairenin alanından daha büyük alana sahip dallar, stabilite " "için çift duvarlı olarak basılacaktır. Çift duvar olmaması için bu değeri " @@ -13191,8 +13182,8 @@ msgid "" "added before \"machine_start_gcode\"\n" "G-code commands: M141/M191 S(0-255)" msgstr "" -"Hazne sıcaklığı kontrolü için bu seçeneği etkinleştirin. Önce bir M191 " -"komutu eklenecek \"machine_start_gcode\"\n" +"Hazne sıcaklığı kontrolü için bu seçeneği etkinleştirin. Önce bir M191 komutu " +"eklenecek \"machine_start_gcode\"\n" "G-code komut: M141/M191 S(0-255)" msgid "Chamber temperature" @@ -13270,11 +13261,11 @@ 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 determained by top " -"shell layers" +"is disabled and thickness of top shell is absolutely determained by top shell " +"layers" msgstr "" -"Üst kabuk katmanları tarafından hesaplanan kalınlık bu değerden daha ince " -"ise dilimleme sırasında üst katı katmanların sayısı artırılır. Bu, katman " +"Üst kabuk katmanları tarafından hesaplanan kalınlık bu değerden daha ince ise " +"dilimleme sırasında üst katı katmanların sayısı artırılır. Bu, katman " "yüksekliği küçük olduğunda kabuğun çok ince olmasını önleyebilir. 0, bu " "ayarın devre dışı olduğu ve üst kabuğun kalınlığının kesinlikle üst kabuk " "katmanları tarafından belirlendiği anlamına gelir" @@ -13297,12 +13288,11 @@ msgid "Wipe Distance" msgstr "Temizleme mesafesi" msgid "" -"Discribe how long the nozzle will move along the last path when " -"retracting. \n" +"Discribe 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" +"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." @@ -13310,9 +13300,9 @@ msgstr "" "Geri çekilirken nozulun son yol boyunca ne kadar süre hareket edeceğini " "açıklayın. \n" "\n" -"Silme işleminin ne kadar sürdüğüne, ekstruder/filament geri çekme " -"ayarlarının ne kadar hızlı ve uzun olduğuna bağlı olarak, kalan filamanı " -"geri çekmek için bir geri çekme hareketine ihtiyaç duyulabilir. \n" +"Silme işleminin ne kadar sürdüğüne, ekstruder/filament geri çekme ayarlarının " +"ne kadar hızlı ve uzun olduğuna bağlı olarak, kalan filamanı geri çekmek için " +"bir geri çekme hareketine ihtiyaç duyulabilir. \n" "\n" "Aşağıdaki silme ayarından önce geri çekme miktarına bir değer ayarlamak, " "silme işleminden önce aşırı geri çekme işlemini gerçekleştirecektir, aksi " @@ -13362,8 +13352,8 @@ msgid "" "Angle at the apex of the cone that is used to stabilize the wipe tower. " "Larger angle means wider base." msgstr "" -"Silme kulesini stabilize etmek için kullanılan koninin tepe noktasındaki " -"açı. Daha büyük açı daha geniş taban anlamına gelir." +"Silme kulesini stabilize etmek için kullanılan koninin tepe noktasındaki açı. " +"Daha büyük açı daha geniş taban anlamına gelir." msgid "Wipe tower purge lines spacing" msgstr "Silme kulesi temizleme hatları aralığı" @@ -13372,7 +13362,7 @@ msgid "Spacing of purge lines on the wipe tower." msgstr "Silme kulesindeki boşaltma hatlarının aralığı." msgid "Maximum wipe tower print speed" -msgstr "" +msgstr "Maksimum silme kulesi yazdırma hızı" msgid "" "The maximum print speed when purging in the wipe tower and printing the wipe " @@ -13395,6 +13385,25 @@ msgid "" "For the wipe tower external perimeters the internal perimeter speed is used " "regardless of this setting." msgstr "" +"Silme kulesinde temizleme yaparken ve silme kulesi seyrek katmanlarını " +"yazdırırken maksimum yazdırma hızı. Temizleme sırasında seyrek dolum hızı " +"veya filamanın maksimum hacimsel hızından hesaplanan hız daha düşükse, bunun " +"yerine en düşük olanı kullanılacaktır.\n" +"\n" +"Seyrek katmanları yazdırırken iç çevre hızı veya filamanın maksimum hacimsel " +"hızından hesaplanan hız daha düşükse bunun yerine en düşük olanı " +"kullanılacaktır.\n" +"\n" +"Bu hızın arttırılması kulenin stabilitesini etkileyebileceği gibi, nozülün " +"silme kulesi üzerinde oluşmuş olabilecek damlacıklarla çarpışma kuvvetini de " +"arttırabilir.\n" +"\n" +"Bu parametreyi varsayılan 90 mm/sn’nin üzerine çıkarmadan önce, yazıcınızın " +"artan hızlarda güvenilir şekilde köprü kurabildiğinden ve takım değişimi iyi " +"kontrol edildiğinde sızıntı yaptığından emin olun.\n" +"\n" +"Silme kulesi dış çevreleri için bu ayardan bağımsız olarak iç çevre hızı " +"kullanılır." msgid "Wipe tower extruder" msgstr "Silme kulesi ekstruderi" @@ -13415,8 +13424,8 @@ msgid "" "volumes below." msgstr "" "Bu vektör, silme kulesinde kullanılan her bir araçtan/araca geçiş için " -"gerekli hacimleri kaydeder. Bu değerler, aşağıdaki tam temizleme " -"hacimlerinin oluşturulmasını basitleştirmek için kullanılır." +"gerekli hacimleri kaydeder. Bu değerler, aşağıdaki tam temizleme hacimlerinin " +"oluşturulmasını basitleştirmek için kullanılır." msgid "" "Purging after filament change will be done inside objects' infills. This may " @@ -13440,13 +13449,13 @@ msgstr "" msgid "" "This object will be used to purge the nozzle after a filament change to save " -"filament and decrease the print time. Colours of the objects will be mixed " -"as a result. It will not take effect, unless the prime tower is enabled." +"filament and decrease the print time. Colours of the objects will be mixed as " +"a result. It will not take effect, unless the prime tower is enabled." msgstr "" -"Bu nesne, filamentten tasarruf etmek ve baskı süresini azaltmak için " -"filament değişiminden sonra nozulu temizlemek için kullanılacaktır. Sonuç " -"olarak nesnelerin renkleri karıştırılacaktır. Prime tower " -"etkinleştirilmediği sürece etkili olmayacaktır." +"Bu nesne, filamentten tasarruf etmek ve baskı süresini azaltmak için filament " +"değişiminden sonra nozulu temizlemek için kullanılacaktır. Sonuç olarak " +"nesnelerin renkleri karıştırılacaktır. Prime tower etkinleştirilmediği sürece " +"etkili olmayacaktır." msgid "Maximal bridging distance" msgstr "Maksimum köprüleme mesafesi" @@ -13455,8 +13464,8 @@ msgid "Maximal distance between supports on sparse infill sections." msgstr "" "Bu nesne, filamentten tasarruf etmek ve baskı süresini azaltmak için bir " "filament değişiminden sonra nozulu temizlemek için kullanılacaktır. Sonuç " -"olarak nesnelerin renkleri karıştırılacaktır. Prime tower " -"etkinleştirilmediği sürece etkili olmayacaktır." +"olarak nesnelerin renkleri karıştırılacaktır. Prime tower etkinleştirilmediği " +"sürece etkili olmayacaktır." msgid "X-Y hole compensation" msgstr "X-Y delik dengeleme" @@ -13481,8 +13490,8 @@ msgid "" "assembling issue" msgstr "" "Nesnenin konturu XY düzleminde yapılandırılan değer kadar büyütülür veya " -"küçültülür. Pozitif değer konturu büyütür. Negatif değer konturu küçültür. " -"Bu fonksiyon, nesnenin montaj sorunu olduğunda boyutu hafifçe ayarlamak için " +"küçültülür. Pozitif değer konturu büyütür. Negatif değer konturu küçültür. Bu " +"fonksiyon, nesnenin montaj sorunu olduğunda boyutu hafifçe ayarlamak için " "kullanılır" msgid "Convert holes to polyholes" @@ -13506,14 +13515,14 @@ msgstr "Çokgen delik tespiti marjı" 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 leway to " -"broaden the detection.\n" +"be on the circle circumference. This setting allows you some leway to broaden " +"the detection.\n" "In mm or in % of the radius." msgstr "" "Bir noktanın dairenin tahmini yarıçapına göre maksimum sapması.\n" "Silindirler genellikle farklı boyutlarda üçgenler olarak ihraç edildiğinden, " -"noktalar daire çevresinde olmayabilir. Bu ayar, algılamayı genişletmeniz " -"için size biraz alan sağlar.\n" +"noktalar daire çevresinde olmayabilir. Bu ayar, algılamayı genişletmeniz için " +"size biraz alan sağlar.\n" "inc mm cinsinden veya yarıçapın %'si cinsinden." msgid "Polyhole twist" @@ -13536,8 +13545,8 @@ msgid "Format of G-code thumbnails" msgstr "G kodu küçük resimlerinin formatı" msgid "" -"Format of G-code thumbnails: PNG for best quality, JPG for smallest size, " -"QOI for low memory firmware" +"Format of G-code thumbnails: PNG for best quality, JPG for smallest size, QOI " +"for low memory firmware" msgstr "" "G kodu küçük resimlerinin formatı: En iyi kalite için PNG, en küçük boyut " "için JPG, düşük bellekli donanım yazılımı için QOI" @@ -13558,11 +13567,11 @@ msgstr "" 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" +"very thin areas is used gap-fill. Arachne engine produces walls with variable " +"extrusion width" msgstr "" -"Klasik duvar oluşturucu sabit ekstrüzyon genişliğine sahip duvarlar üretir " -"ve çok ince alanlar için boşluk doldurma kullanılır. Arachne motoru değişken " +"Klasik duvar oluşturucu sabit ekstrüzyon genişliğine sahip duvarlar üretir ve " +"çok ince alanlar için boşluk doldurma kullanılır. Arachne motoru değişken " "ekstrüzyon genişliğine sahip duvarlar üretir" msgid "Classic" @@ -13589,20 +13598,19 @@ msgstr "Duvar geçiş filtresi oranı" 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" +"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 "" -"Fazladan bir duvar ile bir eksik arasında ileri geri geçişi önleyin. Bu " -"kenar boşluğu, [Minimum duvar genişliği - kenar boşluğu, 2 * Minimum duvar " +"Fazladan bir duvar ile bir eksik arasında ileri geri geçişi önleyin. Bu kenar " +"boşluğu, [Minimum duvar genişliği - kenar boşluğu, 2 * Minimum duvar " "genişliği + kenar boşluğu] şeklinde takip eden ekstrüzyon genişlikleri " "aralığını genişletir. Bu marjın arttırılması geçiş sayısını azaltır, bu da " "ekstrüzyonun başlama/durma sayısını ve seyahat süresini azaltır. Bununla " -"birlikte, büyük ekstrüzyon genişliği değişimi, yetersiz veya aşırı " -"ekstrüzyon sorunlarına yol açabilir. Nozul çapına göre yüzde olarak ifade " -"edilir" +"birlikte, büyük ekstrüzyon genişliği değişimi, yetersiz veya aşırı ekstrüzyon " +"sorunlarına yol açabilir. Nozul çapına göre yüzde olarak ifade edilir" msgid "Wall transitioning threshold angle" msgstr "Duvar geçiş açısı" @@ -13614,11 +13622,11 @@ msgid "" "this setting reduces the number and length of these center walls, but may " "leave gaps or overextrude" msgstr "" -"Çift ve tek sayıdaki duvarlar arasında geçişler ne zaman oluşturulmalıdır? " -"Bu ayardan daha büyük bir açıya sahip bir kama şeklinin geçişleri olmayacak " -"ve kalan alanı dolduracak şekilde ortada hiçbir duvar basılmayacaktır. Bu " -"ayarın düşürülmesi, bu merkez duvarların sayısını ve uzunluğunu azaltır " -"ancak boşluklara veya aşırı çıkıntıya neden olabilir" +"Çift ve tek sayıdaki duvarlar arasında geçişler ne zaman oluşturulmalıdır? Bu " +"ayardan daha büyük bir açıya sahip bir kama şeklinin geçişleri olmayacak ve " +"kalan alanı dolduracak şekilde ortada hiçbir duvar basılmayacaktır. Bu ayarın " +"düşürülmesi, bu merkez duvarların sayısını ve uzunluğunu azaltır ancak " +"boşluklara veya aşırı çıkıntıya neden olabilir" msgid "Wall distribution count" msgstr "Duvar dağılım sayısı" @@ -13634,9 +13642,9 @@ msgid "Minimum feature size" msgstr "Minimum özellik boyutu" msgid "" -"Minimum thickness of thin features. Model features that are thinner than " -"this value will not be printed, while features thicker than the Minimum " -"feature size will be widened to the Minimum wall width. It's expressed as a " +"Minimum thickness of thin features. Model features that are thinner than this " +"value will not be printed, while features thicker than the Minimum feature " +"size will be widened to the Minimum wall width. It's expressed as a " "percentage over nozzle diameter" msgstr "" "İnce özellikler için minimum kalınlık. Bu değerden daha ince olan model " @@ -13653,28 +13661,27 @@ msgid "" "\n" "NOTE: Bottom and top surfaces will not be affected by this value to prevent " "visual gaps on the ouside 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 visibile if this setting is set " -"above the default value of 0.5, or if single-wall top surfaces is enabled." +"Advanced settings below to adjust the sensitivity of what is considered a top-" +"surface. 'One wall threshold' is only visibile if this setting is set above " +"the default value of 0.5, or if single-wall top surfaces is enabled." msgstr "" "Yazdırma süresini artırabilecek kısa, kapatılmamış duvarların yazdırılmasını " "önlemek için bu değeri ayarlayın. Daha yüksek değerler daha fazla ve daha " "uzun duvarları kaldırır.\n" "\n" -"NOT: Modelin dış kısmında görsel boşluk kalmaması için alt ve üst yüzeyler " -"bu değerden etkilenmeyecektir. Üst yüzey olarak kabul edilen şeyin " -"hassasiyetini ayarlamak için aşağıdaki Gelişmiş ayarlarda 'Tek duvar " -"eşiği'ni ayarlayın. 'Tek duvar eşiği' yalnızca bu ayar varsayılan değer olan " -"0,5'in üzerine ayarlandığında veya tek duvarlı üst yüzeyler " -"etkinleştirildiğinde görünür." +"NOT: Modelin dış kısmında görsel boşluk kalmaması için alt ve üst yüzeyler bu " +"değerden etkilenmeyecektir. Üst yüzey olarak kabul edilen şeyin hassasiyetini " +"ayarlamak için aşağıdaki Gelişmiş ayarlarda 'Tek duvar eşiği'ni ayarlayın. " +"'Tek duvar eşiği' yalnızca bu ayar varsayılan değer olan 0,5'in üzerine " +"ayarlandığında veya tek duvarlı üst yüzeyler etkinleştirildiğinde görünür." msgid "First layer minimum wall width" msgstr "İlk katman minimum duvar genişliği" 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." +"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 "" "İlk katman için kullanılması gereken minimum duvar genişliğinin nozul ile " "aynı boyuta ayarlanması tavsiye edilir. Bu ayarlamanın yapışmayı artırması " @@ -13699,8 +13706,8 @@ msgstr "Dar iç katı dolguyu tespit et" msgid "" "This option will auto detect narrow internal solid infill area. If enabled, " -"concentric pattern will be used for the area to speed printing up. " -"Otherwise, rectilinear pattern is used defaultly." +"concentric pattern will be used for the area to speed printing up. Otherwise, " +"rectilinear pattern is used defaultly." msgstr "" "Bu seçenek dar dahili katı dolgu alanını otomatik olarak algılayacaktır. " "Etkinleştirilirse, yazdırmayı hızlandırmak amacıyla alanda eşmerkezli desen " @@ -13746,8 +13753,7 @@ msgstr "Yönlendirme Seçenekleri" msgid "Orient options: 0-disable, 1-enable, others-auto" msgstr "" -"Yönlendirme seçenekleri: 0-devre dışı bırak, 1-etkinleştir, diğerleri-" -"otomatik" +"Yönlendirme seçenekleri: 0-devre dışı bırak, 1-etkinleştir, diğerleri-otomatik" msgid "Rotation angle around the Z axis in degrees." msgstr "Z ekseni etrafında derece cinsinden dönüş açısı." @@ -13792,13 +13798,13 @@ msgstr "" "ettiğini bilmesi için bu değişkene yazması gerekir." 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 " -"PrusaSlicer deretracts correctly when it gets control back." +"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 PrusaSlicer " +"deretracts correctly when it gets control back." msgstr "" "Özel G kodu bloğunun başlangıcındaki geri çekilme durumu. Özel G kodu " -"ekstruder eksenini hareket ettirirse, Slicer'ın kontrolü geri aldığında " -"doğru şekilde geri çekme yapması için bu değişkene yazması gerekir." +"ekstruder eksenini hareket ettirirse, Slicer'ın kontrolü geri aldığında doğru " +"şekilde geri çekme yapması için bu değişkene yazması gerekir." msgid "Extra deretraction" msgstr "Ekstra deretraksiyon" @@ -13883,18 +13889,18 @@ msgid "" "Weight per extruder extruded during the entire print. Calculated from " "filament_density value in Filament Settings." msgstr "" -"Baskının tamamı boyunca ekstrüzyon yapılan ekstruder başına ağırlık. " -"Filament Ayarlarındaki filaman yoğunluğu değerinden hesaplanır." +"Baskının tamamı boyunca ekstrüzyon yapılan ekstruder başına ağırlık. Filament " +"Ayarlarındaki filaman yoğunluğu değerinden hesaplanır." msgid "Total weight" msgstr "Toplam ağırlık" msgid "" -"Total weight of the print. Calculated from filament_density value in " -"Filament Settings." +"Total weight of the print. Calculated from filament_density value in Filament " +"Settings." msgstr "" -"Baskının toplam ağırlığı. Filament Ayarlarındaki filaman yoğunluğu " -"değerinden hesaplanır." +"Baskının toplam ağırlığı. Filament Ayarlarındaki filaman yoğunluğu değerinden " +"hesaplanır." msgid "Total layer count" msgstr "Toplam katman sayısı" @@ -13943,8 +13949,8 @@ msgstr "" "cinsindendir." msgid "" -"The vector has two elements: x and y dimension of the bounding box. Values " -"in mm." +"The vector has two elements: x and y dimension of the bounding box. Values in " +"mm." msgstr "" "Vektörün iki öğesi vardır: sınırlayıcı kutunun x ve y boyutu. Değerler mm " "cinsindendir." @@ -13956,8 +13962,8 @@ 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 "" -"Birinci katmanın dışbükey gövdesinin noktalarının vektörü. Her öğe şu " -"formata sahiptir:'[x, y]' (x ve y, mm cinsinden kayan noktalı sayılardır)." +"Birinci katmanın dışbükey gövdesinin noktalarının vektörü. Her öğe şu formata " +"sahiptir:'[x, y]' (x ve y, mm cinsinden kayan noktalı sayılardır)." msgid "Bottom-left corner of first layer bounding box" msgstr "İlk katman sınırlayıcı kutusunun sol alt köşesi" @@ -14153,8 +14159,7 @@ msgstr "Sağlanan dosya boş olduğundan okunamadı" msgid "Unknown file format. Input file must have .3mf or .zip.amf extension." msgstr "" -"Bilinmeyen dosya formatı. Giriş dosyası .3mf veya .zip.amf uzantılı " -"olmalıdır." +"Bilinmeyen dosya formatı. Giriş dosyası .3mf veya .zip.amf uzantılı olmalıdır." msgid "Canceled" msgstr "İptal edildi" @@ -14276,8 +14281,7 @@ msgstr "yeni ön ayar oluşturma başarısız oldu." msgid "" "Are you sure to cancel the current calibration and return to the home page?" msgstr "" -"Mevcut kalibrasyonu iptal edip ana sayfaya dönmek istediğinizden emin " -"misiniz?" +"Mevcut kalibrasyonu iptal edip ana sayfaya dönmek istediğinizden emin misiniz?" msgid "No Printer Connected!" msgstr "Yazıcı Bağlı Değil!" @@ -14292,16 +14296,16 @@ msgid "The input value size must be 3." msgstr "Giriş değeri boyutu 3 olmalıdır." 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" +"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 "" "Bu makine tipi, püskürtme ucu başına yalnızca 16 geçmiş sonucu tutabilir. " -"Mevcut geçmiş sonuçları silebilir ve ardından kalibrasyona " -"başlayabilirsiniz. Veya kalibrasyona devam edebilirsiniz ancak yeni " -"kalibrasyon geçmişi sonuçları oluşturamazsınız.\n" +"Mevcut geçmiş sonuçları silebilir ve ardından kalibrasyona başlayabilirsiniz. " +"Veya kalibrasyona devam edebilirsiniz ancak yeni kalibrasyon geçmişi " +"sonuçları oluşturamazsınız.\n" "Hala kalibrasyona devam etmek istiyor musunuz?" msgid "Connecting to printer..." @@ -14315,9 +14319,9 @@ msgstr "Akış Dinamiği Kalibrasyonu sonucu yazıcıya kaydedildi" #, c-format, 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?" +"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 "" "Aynı ada sahip geçmiş bir kalibrasyon sonucu zaten var: %s. Aynı ada sahip " "sonuçlardan yalnızca biri kaydedilir. Geçmiş sonucu geçersiz kılmak " @@ -14328,8 +14332,8 @@ msgid "" "This machine type can only hold %d history results per nozzle. This result " "will not be saved." msgstr "" -"Bu makine türü püskürtme ucu başına yalnızca %d geçmiş sonucunu tutabilir. " -"Bu sonuç kaydedilmeyecek." +"Bu makine türü püskürtme ucu başına yalnızca %d geçmiş sonucunu tutabilir. Bu " +"sonuç kaydedilmeyecek." msgid "Internal Error" msgstr "İç hata" @@ -14348,10 +14352,10 @@ msgstr "Akış Dinamiği Kalibrasyonuna ne zaman ihtiyacınız olur" 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" +"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." @@ -14373,10 +14377,10 @@ msgid "" "\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" +"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 there are a few cases that will make the calibration result not " "reliable: using a texture plate to do the calibration; the build plate does " @@ -14402,9 +14406,9 @@ msgstr "" "plakasının yapışması iyi değil (lütfen baskı plakasını yıkayın veya " "yapıştırıcı uygulayın!) ...Daha fazlasını wiki'mizden bulabilirsiniz.\n" "\n" -"Testimizde kalibrasyon sonuçlarında yaklaşık yüzde 10'luk bir titreşim var " -"ve bu da sonucun her kalibrasyonda tam olarak aynı olmamasına neden " -"olabilir. Yeni güncellemelerle iyileştirmeler yapmak için hâlâ temel nedeni " +"Testimizde kalibrasyon sonuçlarında yaklaşık yüzde 10'luk bir titreşim var ve " +"bu da sonucun her kalibrasyonda tam olarak aynı olmamasına neden olabilir. " +"Yeni güncellemelerle iyileştirmeler yapmak için hâlâ temel nedeni " "araştırıyoruz." msgid "When to use Flow Rate Calibration" @@ -14445,10 +14449,10 @@ msgstr "" 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." +"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 "" "Akış Hızı Kalibrasyonu, beklenen ekstrüzyon hacimlerinin gerçek ekstrüzyon " "hacimlerine oranını ölçer. Varsayılan ayar, önceden kalibre edilmiş ve ince " @@ -14463,13 +14467,12 @@ msgid "" "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" +"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" +"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 " @@ -14480,8 +14483,8 @@ msgstr "" "kullanarak kalibrasyon modellerini doğrudan ölçer. Ancak, bu yöntemin " "etkinliğinin ve doğruluğunun belirli malzeme türleriyle tehlikeye " "girebileceğini lütfen unutmayın. Özellikle şeffaf veya yarı şeffaf, parlak " -"parçacıklı veya yüksek yansıtıcı yüzeye sahip filamentler bu kalibrasyon " -"için uygun olmayabilir ve arzu edilenden daha az sonuçlar üretebilir.\n" +"parçacıklı veya yüksek yansıtıcı yüzeye sahip filamentler bu kalibrasyon için " +"uygun olmayabilir ve arzu edilenden daha az sonuçlar üretebilir.\n" "\n" "Kalibrasyon sonuçları her kalibrasyon veya filament arasında farklılık " "gösterebilir. Zaman içinde ürün yazılımı güncellemeleriyle bu kalibrasyonun " @@ -14490,8 +14493,8 @@ msgstr "" "Dikkat: Akış Hızı Kalibrasyonu, yalnızca amacını ve sonuçlarını tam olarak " "anlayan kişiler tarafından denenmesi gereken gelişmiş bir işlemdir. Yanlış " "kullanım, ortalamanın altında baskılara veya yazıcının zarar görmesine neden " -"olabilir. Lütfen işlemi yapmadan önce işlemi dikkatlice okuyup " -"anladığınızdan emin olun." +"olabilir. Lütfen işlemi yapmadan önce işlemi dikkatlice okuyup anladığınızdan " +"emin olun." msgid "When you need Max Volumetric Speed Calibration" msgstr "Maksimum Hacimsel Hız Kalibrasyonuna ihtiyaç duyduğunuzda" @@ -14513,15 +14516,15 @@ msgid "We found the best Flow Dynamics Calibration Factor" msgstr "En iyi Akış Dinamiği Kalibrasyon Faktörünü bulduk" msgid "" -"Part of the calibration failed! You may clean the plate and retry. The " -"failed test result would be dropped." +"Part of the calibration failed! You may clean the plate and retry. The failed " +"test result would be dropped." msgstr "" "Kalibrasyonun bir kısmı başarısız oldu! Plakayı temizleyip tekrar " "deneyebilirsiniz. Başarısız olan test sonucu görmezden gelinir." msgid "" -"*We recommend you to add brand, materia, type, and even humidity level in " -"the Name" +"*We recommend you to add brand, materia, type, and even humidity level in the " +"Name" msgstr "*İsme marka, malzeme, tür ve hatta nem seviyesini eklemenizi öneririz" msgid "Failed" @@ -14542,9 +14545,9 @@ msgstr "" #, c-format, 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 overrides the historical result?" +"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 " +"overrides the historical result?" msgstr "" "Aynı ada sahip geçmiş bir kalibrasyon sonucu zaten var: %s. Aynı ada sahip " "sonuçlardan yalnızca biri kaydedilir. Geçmiş sonucu geçersiz kılmak " @@ -15114,8 +15117,8 @@ msgid "" "name. Do you want to continue?" msgstr "" "Oluşturduğunuz %s Filament adı zaten mevcut.\n" -"Oluşturmaya devam ederseniz oluşturulan ön ayar tam adıyla " -"görüntülenecektir. Devam etmek istiyor musun?" +"Oluşturmaya devam ederseniz oluşturulan ön ayar tam adıyla görüntülenecektir. " +"Devam etmek istiyor musun?" msgid "Some existing presets have failed to be created, as follows:\n" msgstr "Aşağıdaki gibi bazı mevcut ön ayarlar oluşturulamadı:\n" @@ -15128,8 +15131,8 @@ msgstr "" "Yeniden yazmak ister misin?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"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 "" "Ön ayarları şu şekilde yeniden adlandırırdık: \"Satıcı Türü Seçtiğiniz Seri " @@ -15237,15 +15240,15 @@ msgid "" "You have not yet chosen which printer preset to create based on. Please " "choose the vendor and model of the printer" msgstr "" -"Hangi yazıcı ön ayarının temel alınacağını henüz seçmediniz. Lütfen " -"yazıcının satıcısını ve modelini seçin" +"Hangi yazıcı ön ayarının temel alınacağını henüz seçmediniz. Lütfen yazıcının " +"satıcısını ve modelini seçin" msgid "" "You have entered an illegal input in the printable area section on the first " "page. Please check before creating it." msgstr "" -"İlk sayfadaki yazdırılabilir alan kısmına geçersiz bir giriş yaptınız. " -"Lütfen oluşturmadan önce kontrol edin." +"İlk sayfadaki yazdırılabilir alan kısmına geçersiz bir giriş yaptınız. Lütfen " +"oluşturmadan önce kontrol edin." msgid "The custom printer or model is not inputed, place input." msgstr "Özel yazıcı veya model girilmedi lütfen giriş yapın." @@ -15262,8 +15265,7 @@ msgstr "" "Oluşturduğunuz yazıcı ön ayarının zaten aynı ada sahip bir ön ayarı var. " "Üzerine yazmak istiyor musunuz?\n" "\tEvet: Aynı adı taşıyan yazıcı ön ayarının üzerine yazın; aynı ön ayar adı " -"taşıyan filaman ve proses ön ayarları yeniden oluşturulacak ve aynı ön " -"ayar \n" +"taşıyan filaman ve proses ön ayarları yeniden oluşturulacak ve aynı ön ayar \n" "adı olmayan filament ve işlem ön ayarları rezerve edilecektir.\n" "\tİptal: Ön ayar oluşturmayın, oluşturma arayüzüne dönün." @@ -15309,8 +15311,7 @@ msgstr "" msgid "" "You have not yet selected the printer to replace the nozzle, please choose." -msgstr "" -"Hala nozulu değiştirmek için yazıcı seçmediniz, lütfen bir seçim yapın." +msgstr "Hala nozulu değiştirmek için yazıcı seçmediniz, lütfen bir seçim yapın." msgid "Create Printer Successful" msgstr "Yazıcı Oluşturma Başarılı" @@ -15393,8 +15394,8 @@ msgstr "Dışa aktarma başarılı" #, c-format, boost-format msgid "" -"The '%s' folder already exists in the current directory. Do you want to " -"clear it and rebuild it.\n" +"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 "" @@ -15433,8 +15434,8 @@ msgid "" "Only printer names with user printer presets will be displayed, and each " "preset you choose will be exported as a zip." msgstr "" -"Yalnızca kullanıcı yazıcı ön ayarlarına sahip yazıcı adları görüntülenecek " -"ve seçtiğiniz her ön ayar zip olarak dışa aktarılacaktır." +"Yalnızca kullanıcı yazıcı ön ayarlarına sahip yazıcı adları görüntülenecek ve " +"seçtiğiniz her ön ayar zip olarak dışa aktarılacaktır." msgid "" "Only the filament names with user filament presets will be displayed, \n" @@ -15442,13 +15443,13 @@ msgid "" "exported as a zip." msgstr "" "Yalnızca kullanıcı filamenti ön ayarlarına sahip filament adları \n" -"görüntülenecek ve seçtiğiniz her filament adındaki tüm kullanıcı filamenti " -"ön ayarları zip olarak dışa aktarılacaktır." +"görüntülenecek ve seçtiğiniz her filament adındaki tüm kullanıcı filamenti ön " +"ayarları zip olarak dışa aktarılacaktır." 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." +"and all user process presets in each printer name you select will be exported " +"as a zip." msgstr "" "Yalnızca işlem ön ayarları değiştirilen yazıcı adları görüntülenecek \n" "ve seçtiğiniz her yazıcı adındaki tüm kullanıcı işlem ön ayarları zip olarak " @@ -15472,8 +15473,8 @@ msgid "Filament presets under this filament" msgstr "Bu filamentin altındaki filament ön ayarları" msgid "" -"Note: If the only preset under this filament is deleted, the filament will " -"be deleted after exiting the dialog." +"Note: If the only preset under this filament is deleted, the filament will be " +"deleted after exiting the dialog." msgstr "" "Not: Bu filamentin altındaki tek ön ayar silinirse, diyalogdan çıkıldıktan " "sonra filament silinecektir." @@ -15600,8 +15601,8 @@ msgid "" "On this system, %s uses HTTPS certificates from the system Certificate Store " "or Keychain." msgstr "" -"Bu sistemde %s, sistem Sertifika Deposu veya Anahtar Zincirinden alınan " -"HTTPS sertifikalarını kullanıyor." +"Bu sistemde %s, sistem Sertifika Deposu veya Anahtar Zincirinden alınan HTTPS " +"sertifikalarını kullanıyor." msgid "" "To use a custom CA file, please import your CA file into Certificate Store / " @@ -15751,31 +15752,30 @@ msgstr "" "Hata: \"%2%\"" msgid "" -"It has a small layer height, and results in almost negligible layer lines " -"and high printing quality. It is suitable for most general printing cases." +"It has a small layer height, and results in almost negligible layer lines and " +"high printing quality. It is suitable for most general printing cases." msgstr "" "Küçük bir katman yüksekliğine sahiptir ve neredeyse ihmal edilebilir katman " "çizgileri ve yüksek baskı kalitesi sağlar. Çoğu genel yazdırma durumu için " "uygundur." 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. So, it results in " -"much higher printing quality, but a much longer printing time." +"Compared with the default profile of a 0.2 mm nozzle, it has lower speeds and " +"acceleration, and the sparse infill pattern is Gyroid. So, it results in much " +"higher printing quality, but a much longer printing time." msgstr "" "0,2 mm’lik nozülün varsayılan profiliyle karşılaştırıldığında daha düşük hız " -"ve ivmeye sahiptir ve seyrek dolgu deseni Gyroid’dir. Böylece çok daha " -"yüksek baskı kalitesi elde edilir, ancak çok daha uzun baskı süresi elde " -"edilir." +"ve ivmeye sahiptir ve seyrek dolgu deseni Gyroid’dir. Böylece çok daha yüksek " +"baskı kalitesi elde edilir, ancak çok daha uzun baskı süresi elde edilir." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a slightly " "bigger layer height, and results in almost negligible layer lines, and " "slightly shorter printing time." msgstr "" -"0,2 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, " -"biraz daha büyük katman yüksekliğine sahiptir ve neredeyse ihmal edilebilir " -"düzeyde katman çizgileri ve biraz daha kısa yazdırma süresi sağlar." +"0,2 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, biraz " +"daha büyük katman yüksekliğine sahiptir ve neredeyse ihmal edilebilir düzeyde " +"katman çizgileri ve biraz daha kısa yazdırma süresi sağlar." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " @@ -15813,8 +15813,8 @@ msgid "" "shorter printing time." msgstr "" "Varsayılan 0,2 mm püskürtme ucu profiliyle karşılaştırıldığında, daha küçük " -"katman yüksekliğine sahiptir ve minimum katman çizgileri ve daha yüksek " -"baskı kalitesi sağlar, ancak daha kısa yazdırma süresi sağlar." +"katman yüksekliğine sahiptir ve minimum katman çizgileri ve daha yüksek baskı " +"kalitesi sağlar, ancak daha kısa yazdırma süresi sağlar." msgid "" "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " @@ -15865,12 +15865,12 @@ msgstr "" msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " -"height, and results in less apparent layer lines and higher printing " -"quality, but longer printing time." +"height, and results in less apparent layer lines and higher printing quality, " +"but longer printing time." msgstr "" "0,4 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, daha " -"küçük bir katman yüksekliğine sahiptir ve daha az görünür katman çizgileri " -"ve daha yüksek baskı kalitesi sağlar, ancak daha uzun yazdırma süresi sağlar." +"küçük bir katman yüksekliğine sahiptir ve daha az görünür katman çizgileri ve " +"daha yüksek baskı kalitesi sağlar, ancak daha uzun yazdırma süresi sağlar." msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " @@ -15908,8 +15908,7 @@ msgstr "" msgid "" "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " -"height, and results in almost negligible layer lines and longer printing " -"time." +"height, and results in almost negligible layer lines and longer printing time." msgstr "" "0,4 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, " "katman yüksekliği daha küçüktür ve neredeyse göz ardı edilebilecek düzeyde " @@ -15944,8 +15943,8 @@ msgstr "" msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " -"height, and results in much more apparent layer lines and much lower " -"printing quality, but shorter printing time in some printing cases." +"height, and results in much more apparent layer lines and much lower printing " +"quality, but shorter printing time in some printing cases." msgstr "" "0,6 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, daha " "büyük bir katman yüksekliğine sahiptir ve çok daha belirgin katman çizgileri " @@ -15964,16 +15963,16 @@ msgstr "" msgid "" "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " -"height, and results in less apparent layer lines and higher printing " -"quality, but longer printing time." +"height, and results in less apparent layer lines and higher printing quality, " +"but longer printing time." msgstr "" "0,6 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, daha " -"küçük bir katman yüksekliğine sahiptir ve daha az görünür katman çizgileri " -"ve daha yüksek baskı kalitesi sağlar, ancak daha uzun yazdırma süresi sağlar." +"küçük bir katman yüksekliğine sahiptir ve daha az görünür katman çizgileri ve " +"daha yüksek baskı kalitesi sağlar, ancak daha uzun yazdırma süresi sağlar." msgid "" -"It has a very big layer height, and results in very apparent layer lines, " -"low printing quality and general printing time." +"It has a very big layer height, and results in very apparent layer lines, low " +"printing quality and general printing time." msgstr "" "Çok büyük bir katman yüksekliğine sahiptir ve çok belirgin katman " "çizgilerine, düşük baskı kalitesine ve genel yazdırma süresine neden olur." @@ -15985,8 +15984,8 @@ msgid "" msgstr "" "0,8 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, daha " "büyük bir katman yüksekliğine sahiptir ve çok belirgin katman çizgileri ve " -"çok daha düşük baskı kalitesiyle sonuçlanır, ancak bazı yazdırma " -"durumlarında daha kısa yazdırma süresi sağlar." +"çok daha düşük baskı kalitesiyle sonuçlanır, ancak bazı yazdırma durumlarında " +"daha kısa yazdırma süresi sağlar." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " @@ -15995,8 +15994,8 @@ msgid "" msgstr "" "0,8 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, çok " "daha büyük bir katman yüksekliğine sahiptir ve son derece belirgin katman " -"çizgileri ve çok daha düşük baskı kalitesiyle sonuçlanır, ancak bazı " -"yazdırma durumlarında çok daha kısa yazdırma süresi sağlar." +"çizgileri ve çok daha düşük baskı kalitesiyle sonuçlanır, ancak bazı yazdırma " +"durumlarında çok daha kısa yazdırma süresi sağlar." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a slightly " @@ -16004,10 +16003,10 @@ msgid "" "lines and slightly higher printing quality, but longer printing time in some " "printing cases." msgstr "" -"0,8 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, " -"biraz daha küçük bir katman yüksekliğine sahiptir ve biraz daha az ama yine " -"de görünür katman çizgileri ve biraz daha yüksek baskı kalitesi sağlar, " -"ancak bazı yazdırma durumlarında daha uzun yazdırma süresi sağlar." +"0,8 mm’lik püskürtme ucunun varsayılan profiliyle karşılaştırıldığında, biraz " +"daha küçük bir katman yüksekliğine sahiptir ve biraz daha az ama yine de " +"görünür katman çizgileri ve biraz daha yüksek baskı kalitesi sağlar, ancak " +"bazı yazdırma durumlarında daha uzun yazdırma süresi sağlar." msgid "" "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " @@ -16036,11 +16035,11 @@ msgstr "" "SimplyPrint hesabı bağlı değil. Ayarlamak için Bağlantı seçeneklerine gidin." msgid "" -"File size exceeds the 100MB upload limit. Please upload your file through " -"the panel." +"File size exceeds the 100MB upload limit. Please upload your file through the " +"panel." msgstr "" -"Dosya boyutu 100 MB yükleme sınırını aşıyor. Lütfen dosyanızı panel " -"üzerinden yükleyiniz." +"Dosya boyutu 100 MB yükleme sınırını aşıyor. Lütfen dosyanızı panel üzerinden " +"yükleyiniz." msgid "Unknown error" msgstr "Bilinmeyen hata" @@ -16083,8 +16082,7 @@ msgid "" msgstr "" "Sandviç modu\n" "Modelinizde çok dik çıkıntılar yoksa hassasiyeti ve katman tutarlılığını " -"artırmak için sandviç modunu (iç-dış-iç) kullanabileceğinizi biliyor " -"muydunuz?" +"artırmak için sandviç modunu (iç-dış-iç) kullanabileceğinizi biliyor muydunuz?" #: resources/data/hints.ini: [hint:Chamber temperature] msgid "" @@ -16146,14 +16144,14 @@ msgid "" "3D scene operations." msgstr "" "Klavye kısayolları nasıl kullanılır?\n" -"Orca Slicer'ın çok çeşitli klavye kısayolları ve 3B sahne işlemleri " -"sunduğunu biliyor muydunuz?" +"Orca Slicer'ın çok çeşitli klavye kısayolları ve 3B sahne işlemleri sunduğunu " +"biliyor muydunuz?" #: resources/data/hints.ini: [hint:Reverse on odd] msgid "" "Reverse on odd\n" -"Did you know that Reverse on odd feature can significantly improve " -"the surface quality of your overhangs?" +"Did you know that Reverse on odd feature can significantly improve the " +"surface quality of your overhangs?" msgstr "" "Tek sayıyı tersine çevir\n" "Tek sayıyı ters çevir özelliğinin çıkıntılarınızın yüzey kalitesini " @@ -16176,8 +16174,8 @@ msgid "" "problems on the Windows system?" msgstr "" "Modeli Düzelt\n" -"Windows sisteminde birçok dilimleme sorununu önlemek için bozuk bir 3D " -"modeli düzeltebileceğinizi biliyor muydunuz?" +"Windows sisteminde birçok dilimleme sorununu önlemek için bozuk bir 3D modeli " +"düzeltebileceğinizi biliyor muydunuz?" #: resources/data/hints.ini: [hint:Timelapse] msgid "" @@ -16310,9 +16308,9 @@ msgstr "" #: resources/data/hints.ini: [hint:Fine-tuning for flow rate] msgid "" "Fine-tuning for flow rate\n" -"Did 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." +"Did 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 "" "Akış hızı için ince ayar\n" "Baskıların daha da iyi görünmesi için akış hızına ince ayar yapılabileceğini " @@ -16346,8 +16344,8 @@ msgstr "" msgid "" "Support painting\n" "Did 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." +"makes it easy to place the support material only on the sections of the model " +"that actually need it." msgstr "" "Destek boyama\n" "Desteklerinizin yerini boyayabileceğinizi biliyor muydunuz? Bu özellik, " @@ -16456,9 +16454,9 @@ msgstr "" #~ msgstr "V" #~ msgid "" -#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " -#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " -#~ "Ranellucci and the RepRap community" +#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer " +#~ "by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci " +#~ "and the RepRap community" #~ msgstr "" #~ "Orca Slicer, Prusa Research'ün PrusaSlicer'ından Bambulab'ın " #~ "BambuStudio'sunu temel alıyor. PrusaSlicer, Alessandro Ranellucci ve " @@ -16529,16 +16527,15 @@ msgstr "" #~ "değer) korumak ister misiniz?" #~ msgid "" -#~ "You have previously modified your settings and are about to overwrite " -#~ "them with new ones." +#~ "You have previously modified your settings and are about to overwrite them " +#~ "with new ones." #~ msgstr "" -#~ "Ayarlarınızı daha önce değiştirdiniz ve bunların üzerine yenilerini " -#~ "yazmak üzeresiniz." +#~ "Ayarlarınızı daha önce değiştirdiniz ve bunların üzerine yenilerini yazmak " +#~ "üzeresiniz." #~ msgid "" #~ "\n" -#~ "Do you want to keep your current modified settings, or use preset " -#~ "settings?" +#~ "Do you want to keep your current modified settings, or use preset settings?" #~ msgstr "" #~ "\n" #~ "Geçerli değiştirilen ayarlarınızı korumak mı yoksa önceden ayarlanmış " @@ -16558,8 +16555,8 @@ msgstr "" #~ "Choose an AMS slot then press \"Load\" or \"Unload\" button to " #~ "automatically load or unload filiament." #~ msgstr "" -#~ "Filamenti otomatik olarak yüklemek veya çıkarmak için bir AMS yuvası " -#~ "seçin ve ardından \"Yükle\" veya \"Boşalt\" düğmesine basın." +#~ "Filamenti otomatik olarak yüklemek veya çıkarmak için bir AMS yuvası seçin " +#~ "ve ardından \"Yükle\" veya \"Boşalt\" düğmesine basın." #~ msgid "MC" #~ msgstr "MC" @@ -16599,8 +16596,8 @@ msgstr "" #~ "The 3mf file version is in Beta and it is newer than the current Bambu " #~ "Studio version." #~ msgstr "" -#~ "3mf dosya sürümü Beta aşamasındadır ve mevcut Bambu Studio sürümünden " -#~ "daha yenidir." +#~ "3mf dosya sürümü Beta aşamasındadır ve mevcut Bambu Studio sürümünden daha " +#~ "yenidir." #~ msgid "If you would like to try Bambu Studio Beta, you may click to" #~ msgstr "Bambu Studio Beta’yı denemek isterseniz tıklayabilirsiniz." @@ -16627,9 +16624,9 @@ msgstr "" #~ "Green means that AMS humidity is normal, orange represent humidity is " #~ "high, red represent humidity is too high.(Hygrometer: lower the better.)" #~ msgstr "" -#~ "Yeşil, AMS neminin normal olduğunu, turuncu nemin yüksek olduğunu, " -#~ "kırmızı ise nemin çok yüksek olduğunu gösterir.(Higrometre: ne kadar " -#~ "düşükse o kadar iyidir.)" +#~ "Yeşil, AMS neminin normal olduğunu, turuncu nemin yüksek olduğunu, kırmızı " +#~ "ise nemin çok yüksek olduğunu gösterir.(Higrometre: ne kadar düşükse o " +#~ "kadar iyidir.)" #~ msgid "Desiccant status" #~ msgstr "Kurutucu durumu" @@ -16639,14 +16636,14 @@ msgstr "" #~ "inactive. Please change the desiccant.(The bars: higher the better.)" #~ msgstr "" #~ "İki çubuktan daha düşük bir kurutucu durumu, kurutucunun etkin olmadığını " -#~ "gösterir. Lütfen kurutucuyu değiştirin.(Çubuklar: ne kadar yüksek olursa " -#~ "o kadar iyidir.)" +#~ "gösterir. Lütfen kurutucuyu değiştirin.(Çubuklar: ne kadar yüksek olursa o " +#~ "kadar iyidir.)" #~ msgid "" #~ "Note: When the lid is open or the desiccant pack is changed, it can take " #~ "hours or a night to absorb the moisture. Low temperatures also slow down " -#~ "the process. During this time, the indicator may not represent the " -#~ "chamber accurately." +#~ "the process. During this time, the indicator may not represent the chamber " +#~ "accurately." #~ msgstr "" #~ "Not: Kapak açıkken veya kurutucu paketi değiştirildiğinde, nemin emilmesi " #~ "saatler veya bir gece sürebilir. Düşük sıcaklıklar da süreci yavaşlatır. " @@ -16744,14 +16741,14 @@ 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 have a significant impact on printing quality. Please " -#~ "set them carefully." +#~ "volumetric speed have a significant impact on printing quality. Please set " +#~ "them carefully." #~ msgstr "" -#~ "İhtiyacınız olursa ön ayarlarınızı düzenlemek için lütfen filament " -#~ "ayarına gidin.\n" +#~ "İhtiyacınız olursa ön ayarlarınızı düzenlemek için lütfen filament ayarına " +#~ "gidin.\n" #~ "Lütfen püskürtme ucu sıcaklığının, sıcak yatak sıcaklığının ve maksimum " -#~ "hacimsel hızın yazdırma kalitesi üzerinde önemli bir etkiye sahip " -#~ "olduğunu unutmayın. Lütfen bunları dikkatlice ayarlayın." +#~ "hacimsel hızın yazdırma kalitesi üzerinde önemli bir etkiye sahip olduğunu " +#~ "unutmayın. Lütfen bunları dikkatlice ayarlayın." #~ msgid "Studio Version:" #~ msgstr "Stüdyo Sürümü:" @@ -16796,8 +16793,8 @@ msgstr "" #~ msgstr "Depolama Yüklemesini Test Etme" #~ msgid "" -#~ "The speed setting exceeds the printer's maximum speed " -#~ "(machine_max_speed_x/machine_max_speed_y).\n" +#~ "The speed setting exceeds the printer's maximum speed (machine_max_speed_x/" +#~ "machine_max_speed_y).\n" #~ "Orca will automatically cap the print speed to ensure it doesn't surpass " #~ "the printer's capabilities.\n" #~ "You can adjust the maximum speed setting in your printer's configuration " @@ -16805,8 +16802,8 @@ msgstr "" #~ msgstr "" #~ "Hız ayarı yazıcının maksimum hızını aşıyor (machine_max_speed_x/" #~ "machine_max_speed_y).\n" -#~ "Orca, yazıcının yeteneklerini aşmadığından emin olmak için yazdırma " -#~ "hızını otomatik olarak sınırlayacaktır.\n" +#~ "Orca, yazıcının yeteneklerini aşmadığından emin olmak için yazdırma hızını " +#~ "otomatik olarak sınırlayacaktır.\n" #~ "Daha yüksek hızlar elde etmek için yazıcınızın yapılandırmasındaki " #~ "maksimum hız ayarını yapabilirsiniz." @@ -16832,8 +16829,8 @@ msgstr "" #~ "Add solid infill near sloping surfaces to guarantee the vertical shell " #~ "thickness (top+bottom solid layers)" #~ msgstr "" -#~ "Dikey kabuk kalınlığını garanti etmek için eğimli yüzeylerin yakınına " -#~ "katı dolgu ekleyin (üst + alt katı katmanlar)" +#~ "Dikey kabuk kalınlığını garanti etmek için eğimli yüzeylerin yakınına katı " +#~ "dolgu ekleyin (üst + alt katı katmanlar)" #~ msgid "Further reduce solid infill on walls (beta)" #~ msgstr "Duvarlardaki katı dolguyu daha da azaltın (deneysel)" @@ -16887,19 +16884,19 @@ msgstr "" #~ "are not specified explicitly." #~ msgstr "" #~ "Daha iyi katman soğutması için yavaşlama etkinleştirildiğinde, yazdırma " -#~ "çıkıntıları olduğunda ve özellik hızları açıkça belirtilmediğinde " -#~ "filament için minimum yazdırma hızı." +#~ "çıkıntıları olduğunda ve özellik hızları açıkça belirtilmediğinde filament " +#~ "için minimum yazdırma hızı." #~ msgid "No sparse layers (EXPERIMENTAL)" #~ msgstr "Seyrek katman yok (DENEYSEL)" #~ msgid "" -#~ "We would rename the presets as \"Vendor Type Serial @printer you selected" -#~ "\". \n" +#~ "We would rename the presets as \"Vendor Type Serial @printer you " +#~ "selected\". \n" #~ "To add preset for more prinetrs, Please go to printer selection" #~ msgstr "" -#~ "We would rename the presets as \"Vendor Type Serial @printer you selected" -#~ "\". \n" +#~ "We would rename the presets as \"Vendor Type Serial @printer you " +#~ "selected\". \n" #~ "To add preset for more prinetrs, Please go to printer selection" #~ msgid "The Config can not be loaded." @@ -16914,8 +16911,8 @@ msgstr "" #~ msgstr "wiki" #~ msgid "" -#~ "Relative extrusion is recommended when using \"label_objects\" option." -#~ "Some extruders work better with this option unckecked (absolute extrusion " +#~ "Relative extrusion is recommended when using \"label_objects\" option.Some " +#~ "extruders work better with this option unckecked (absolute extrusion " #~ "mode). Wipe tower is only compatible with relative mode. It is always " #~ "enabled on BambuLab printers. Default is checked" #~ msgstr "" @@ -17045,8 +17042,8 @@ msgstr "" #~ "Bir Parçayı Çıkar\n" #~ "Negatif parça değiştiriciyi kullanarak bir ağı diğerinden " #~ "çıkarabileceğinizi biliyor muydunuz? Bu şekilde örneğin doğrudan Orca " -#~ "Slicer'da kolayca yeniden boyutlandırılabilen delikler " -#~ "oluşturabilirsiniz. Daha fazlasını belgelerde okuyun." +#~ "Slicer'da kolayca yeniden boyutlandırılabilen delikler oluşturabilirsiniz. " +#~ "Daha fazlasını belgelerde okuyun." #~ msgid "Filling bed " #~ msgstr "Yatak doldurma " @@ -17062,8 +17059,7 @@ msgstr "" #~ msgstr "" #~ "Doğrusal desene geçilsin mi?\n" #~ "Evet - otomatik olarak doğrusal desene geçin\n" -#~ "Hayır - yoğunluğu otomatik olarak %100 olmayan varsayılan değere " -#~ "sıfırlayın" +#~ "Hayır - yoğunluğu otomatik olarak %100 olmayan varsayılan değere sıfırlayın" #~ msgid "Please heat the nozzle to above 170 degree before loading filament." #~ msgstr "" @@ -17304,8 +17300,8 @@ msgstr "" #~ "load uptodate process/machine settings from the specified file when using " #~ "uptodate" #~ msgstr "" -#~ "güncellemeyi kullanırken belirtilen dosyadan güncel işlem/" -#~ "yazıcıayarlarını yükle" +#~ "güncellemeyi kullanırken belirtilen dosyadan güncel işlem/yazıcıayarlarını " +#~ "yükle" #~ msgid "Output directory" #~ msgstr "Çıkış dizini" @@ -17352,8 +17348,8 @@ msgstr "" #~ "OrcaSlicer configuration file may be corrupted and is not abled to be " #~ "parsed.Please delete the file and try again." #~ msgstr "" -#~ "OrcaSlicer yapılandırma dosyası bozulmuş olabilir ve ayrıştırılması " -#~ "mümkün olmayabilir. Lütfen dosyayı silin ve tekrar deneyin." +#~ "OrcaSlicer yapılandırma dosyası bozulmuş olabilir ve ayrıştırılması mümkün " +#~ "olmayabilir. Lütfen dosyayı silin ve tekrar deneyin." #~ msgid "Online Models" #~ msgstr "Çevrimiçi Modeller" @@ -17367,8 +17363,8 @@ msgstr "" #~ msgid "" #~ "There are currently no identical spare consumables available, and " #~ "automatic replenishment is currently not possible. \n" -#~ "(Currently supporting automatic supply of consumables with the same " -#~ "brand, material type, and color)" +#~ "(Currently supporting automatic supply of consumables with the same brand, " +#~ "material type, and color)" #~ msgstr "" #~ "Şu anda aynı yedek sarf malzemesi mevcut değildir ve otomatik yenileme şu " #~ "anda mümkün değildir.\n" @@ -17400,8 +17396,7 @@ msgstr "" #~ "daha sıcak olamaz" #~ msgid "Enable this option if machine has auxiliary part cooling fan" -#~ msgstr "" -#~ "Makinede yardımcı parça soğutma fanı varsa bu seçeneği etkinleştirin" +#~ msgstr "Makinede yardımcı parça soğutma fanı varsa bu seçeneği etkinleştirin" #~ msgid "" #~ "This option is enabled if machine support controlling chamber temperature" @@ -17429,8 +17424,7 @@ msgstr "" #~ "katmanları etkilemez" #~ msgid "Empty layers around bottom are replaced by nearest normal layers." -#~ msgstr "" -#~ "Alt kısımdaki boş katmanların yerini en yakın normal katmanlar alır." +#~ msgstr "Alt kısımdaki boş katmanların yerini en yakın normal katmanlar alır." #~ msgid "The model has too many empty layers." #~ msgstr "Modelde çok fazla boş katman var." @@ -17448,9 +17442,8 @@ msgstr "" #~ "Bed temperature when high temperature plate is installed. Value 0 means " #~ "the filament does not support to print on the High Temp Plate" #~ msgstr "" -#~ "Yüksek sıcaklık plakası takıldığında yatak sıcaklığı. 0 değeri, " -#~ "filamentin Yüksek Sıcaklık Plakasına yazdırmayı desteklemediği anlamına " -#~ "gelir" +#~ "Yüksek sıcaklık plakası takıldığında yatak sıcaklığı. 0 değeri, filamentin " +#~ "Yüksek Sıcaklık Plakasına yazdırmayı desteklemediği anlamına gelir" #~ msgid "" #~ "Klipper's max_accel_to_decel will be adjusted to this % of acceleration" @@ -17470,8 +17463,7 @@ msgstr "" #~ msgstr "" #~ "Desteğin stili ve şekli. Normal destek için, desteklerin düzenli bir " #~ "ızgaraya yansıtılması daha sağlam destekler oluşturur (varsayılan), rahat " -#~ "destek kuleleri ise malzemeden tasarruf sağlar ve nesne izlerini " -#~ "azaltır.\n" +#~ "destek kuleleri ise malzemeden tasarruf sağlar ve nesne izlerini azaltır.\n" #~ "Ağaç desteği için, ince stil, dalları daha agresif bir şekilde " #~ "birleştirecek ve çok fazla malzeme tasarrufu sağlayacak (varsayılan), " #~ "hibrit stil ise büyük düz çıkıntılar altında normal desteğe benzer yapı " From 98f8854c9f94a54ab524f57832f525cd9413f54f Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 25 May 2024 15:25:16 +0200 Subject: [PATCH 067/178] Fixed default profiles for Ender 3 V3 (#5452) --- .../Creality/machine/Creality Ender-3 V3 0.4 nozzle.json | 2 +- .../Creality/machine/Creality Ender-3 V3 0.6 nozzle.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 0.4 nozzle.json index 4006df1fbc2..4eac0521a5d 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 0.4 nozzle.json @@ -8,7 +8,7 @@ "printer_model": "Creality Ender-3 V3", "gcode_flavor": "klipper", "printer_structure": "i3", - "default_print_profile": "0.20mm Standard @Creality Ender3V3", + "default_print_profile": "0.20mm Standard @Creality Ender3 V3", "nozzle_diameter": [ "0.4" ], diff --git a/resources/profiles/Creality/machine/Creality Ender-3 V3 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality Ender-3 V3 0.6 nozzle.json index bb5f46780ee..7f4795ee2ac 100644 --- a/resources/profiles/Creality/machine/Creality Ender-3 V3 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality Ender-3 V3 0.6 nozzle.json @@ -8,7 +8,7 @@ "printer_model": "Creality Ender-3 V3", "gcode_flavor": "klipper", "printer_structure": "i3", - "default_print_profile": "0.30mm Standard @Creality Ender3V3", + "default_print_profile": "0.30mm Standard @Creality Ender3 V3", "nozzle_diameter": [ "0.6" ], From 6300ea070d82235b983de51db831d56d70ab3172 Mon Sep 17 00:00:00 2001 From: Heiko Liebscher Date: Sat, 25 May 2024 15:25:40 +0200 Subject: [PATCH 068/178] add new german translations (#5453) --- localization/i18n/de/OrcaSlicer_de.po | 38 ++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index 26d59d44ab7..947ad5f6897 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -3500,7 +3500,7 @@ msgid "Timelapse" msgstr "Zeitraffer" msgid "Flow Dynamic Calibration" -msgstr "" +msgstr "Dynamische Flusskalibrierung" msgid "Send Options" msgstr "Senden-Optionen" @@ -4748,10 +4748,10 @@ msgid "Load a model" msgstr "Lade ein Modell" msgid "Import Zip Archive" -msgstr "" +msgstr "Zip-Archiv importieren" msgid "Load models contained within a zip archive" -msgstr "" +msgstr "Modelle aus einem Zip-Archiv laden" msgid "Import Configs" msgstr "Konfigurationen importieren" @@ -6843,18 +6843,20 @@ msgstr "" "Dateien festgelegt" msgid "Current association: " -msgstr "" +msgstr "Aktuelle Zuordnung:" msgid "Associate prusaslicer://" -msgstr "" +msgstr "prusaslicer:// verknüpfen" msgid "Not associated to any application" -msgstr "" +msgstr "Nicht mit einer Anwendung verknüpft" msgid "" "Associate OrcaSlicer with prusaslicer:// links so that Orca can open " "PrusaSlicer links from Printable.com" msgstr "" +"Verknüpfen Sie OrcaSlicer mit prusaslicer://-Links, damit Orca PrusaSlicer-" +"Links von Printable.com öffnen kann." msgid "Maximum recent projects" msgstr "Höchstanzahl an letzten Projekten" @@ -13715,7 +13717,7 @@ msgid "Spacing of purge lines on the wipe tower." msgstr "Abstand der Reinigungsturmpurges." msgid "Maximum wipe tower print speed" -msgstr "" +msgstr "Maximale Druckgeschwindigkeit des Reinigungsturms" msgid "" "The maximum print speed when purging in the wipe tower and printing the wipe " @@ -13738,6 +13740,28 @@ msgid "" "For the wipe tower external perimeters the internal perimeter speed is used " "regardless of this setting." msgstr "" +"Die maximale Druckgeschwindigkeit beim Reinigen im Reinigungsturm und beim " +"Drucken der dünnen Schichten des Reinigungsturms. Beim Reinigen wird, wenn " +"die Geschwindigkeit des dünnen Infill oder die berechnete Geschwindigkeit aus " +"der maximalen Volumengeschwindigkeit des Filaments niedriger ist, die " +"niedrigste verwendet.\n" +"\n" +"Beim Drucken der dünnen Schichten wird, wenn die Geschwindigkeit des " +"inneren Umfangs oder die berechnete Geschwindigkeit aus der maximalen " +"Volumengeschwindigkeit des Filaments niedriger ist, die niedrigste verwendet.\n" +"\n" +"Das Erhöhen dieser Geschwindigkeit kann die Stabilität des Turms beeinträchtigen " +"sowie die Kraft erhöhen, mit der die Düse auf mögliche Klumpen trifft, die " +"sich auf dem Reinigungsturm gebildet haben.\n" +"\n" +"Bevor Sie diesen Parameter über den Standardwert von 90 mm/s erhöhen, " +"stellen Sie sicher, dass Ihr Drucker" +"zuverlässig bei den erhöhten Geschwindigkeiten Brücken drucken kann und dass das " +"Auslaufen beim Werkzeugwechsel gut kontrolliert wird.\n" +"\n" +"Für die äußeren Umfänge des Reinigungsturms wird die Geschwindigkeit des " +"inneren Umfangs unabhängig von dieser Einstellung verwendet." + msgid "Wipe tower extruder" msgstr "Reinigungsturm-Extruder" From 333b055dcdf1bad31a7395edf22699fe3b44d52e Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 25 May 2024 15:26:06 +0200 Subject: [PATCH 069/178] Flsun Super Racer (SR) Profile (#5454) * Added Flsun SR * Optimized images * Enabled only one wall on top surfaces --- resources/profiles/FLSun.json | 58 +++-- .../FLSun/FLSun Super Racer (SR)_cover.png | Bin 0 -> 19606 bytes resources/profiles/FLSun/FLSun V400_cover.png | Bin 14523 -> 14365 bytes .../FLSun/filament/FLSun Generic ABS.json | 1 + .../FLSun/filament/FLSun Generic ASA.json | 9 +- .../FLSun/filament/FLSun Generic PA-CF.json | 1 + .../FLSun/filament/FLSun Generic PA.json | 1 + .../FLSun/filament/FLSun Generic PC.json | 1 + .../FLSun/filament/FLSun Generic PETG.json | 9 +- .../FLSun/filament/FLSun Generic PLA-CF.json | 7 +- .../FLSun/filament/FLSun Generic PLA.json | 9 +- .../FLSun/filament/FLSun Generic PVA.json | 9 +- .../FLSun/filament/FLSun Generic TPU.json | 9 +- .../FLSun/flsun_SR_buildplate_model.stl | Bin 0 -> 1001084 bytes .../FLSun/flsun_SR_buildplate_texture.svg | 54 ++++ .../FLSun/machine/FLSun SR 0.4 nozzle.json | 238 ++++++++++++++++++ .../profiles/FLSun/machine/FLSun SR.json | 12 + .../FLSun/process/0.08mm Fine @FLSun SR.json | 109 ++++++++ .../process/0.16mm Optimal @FLSun SR.json | 109 ++++++++ .../process/0.20mm Standard @FLSun SR.json | 109 ++++++++ .../FLSun/process/0.24mm Draft @FLSun SR.json | 109 ++++++++ .../process/0.30mm Extra Draft @FLSun SR.json | 109 ++++++++ 22 files changed, 925 insertions(+), 38 deletions(-) create mode 100644 resources/profiles/FLSun/FLSun Super Racer (SR)_cover.png create mode 100644 resources/profiles/FLSun/flsun_SR_buildplate_model.stl create mode 100644 resources/profiles/FLSun/flsun_SR_buildplate_texture.svg create mode 100644 resources/profiles/FLSun/machine/FLSun SR 0.4 nozzle.json create mode 100644 resources/profiles/FLSun/machine/FLSun SR.json create mode 100644 resources/profiles/FLSun/process/0.08mm Fine @FLSun SR.json create mode 100644 resources/profiles/FLSun/process/0.16mm Optimal @FLSun SR.json create mode 100644 resources/profiles/FLSun/process/0.20mm Standard @FLSun SR.json create mode 100644 resources/profiles/FLSun/process/0.24mm Draft @FLSun SR.json create mode 100644 resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun SR.json diff --git a/resources/profiles/FLSun.json b/resources/profiles/FLSun.json index b177ba69622..8abcdd15eca 100644 --- a/resources/profiles/FLSun.json +++ b/resources/profiles/FLSun.json @@ -4,14 +4,18 @@ "force_update": "0", "description": "FLSun configurations", "machine_model_list": [ - { + { "name": "FLSun Q5", "sub_path": "machine/FLSun Q5.json" }, - { + { "name": "FLSun QQ-S Pro", "sub_path": "machine/FLSun QQ-S Pro.json" }, + { + "name": "FLSun Super Racer (SR)", + "sub_path": "machine/FLSun SR.json" + }, { "name": "FLSun V400", "sub_path": "machine/FLSun V400.json" @@ -22,49 +26,69 @@ "name": "fdm_process_common", "sub_path": "process/fdm_process_common.json" }, - { + { "name": "0.08mm Fine @FLSun Q5", "sub_path": "process/0.08mm Fine @FLSun Q5.json" }, - { + { "name": "0.08mm Fine @FLSun QQSPro", "sub_path": "process/0.08mm Fine @FLSun QQSPro.json" }, - { + { + "name": "0.08mm Fine @FLSun SR", + "sub_path": "process/0.08mm Fine @FLSun SR.json" + }, + { "name": "0.16mm Optimal @FLSun Q5", "sub_path": "process/0.16mm Optimal @FLSun Q5.json" }, - { + { "name": "0.16mm Optimal @FLSun QQSPro", "sub_path": "process/0.16mm Optimal @FLSun QQSPro.json" }, - { + { + "name": "0.16mm Optimal @FLSun SR", + "sub_path": "process/0.16mm Optimal @FLSun SR.json" + }, + { "name": "0.20mm Standard @FLSun Q5", "sub_path": "process/0.20mm Standard @FLSun Q5.json" }, - { + { "name": "0.20mm Standard @FLSun QQSPro", "sub_path": "process/0.20mm Standard @FLSun QQSPro.json" }, + { + "name": "0.20mm Standard @FLSun SR", + "sub_path": "process/0.20mm Standard @FLSun SR.json" + }, { "name": "0.20mm Standard @FLSun V400", "sub_path": "process/0.20mm Standard @FLSun V400.json" }, - { + { "name": "0.24mm Draft @FLSun Q5", "sub_path": "process/0.24mm Draft @FLSun Q5.json" }, - { + { "name": "0.24mm Draft @FLSun QQSPro", "sub_path": "process/0.24mm Draft @FLSun QQSPro.json" }, - { + { + "name": "0.24mm Draft @FLSun SR", + "sub_path": "process/0.24mm Draft @FLSun SR.json" + }, + { "name": "0.30mm Extra Draft @FLSun Q5", "sub_path": "process/0.30mm Extra Draft @FLSun Q5.json" }, - { + { "name": "0.30mm Extra Draft @FLSun QQSPro", "sub_path": "process/0.30mm Extra Draft @FLSun QQSPro.json" + }, + { + "name": "0.30mm Extra Draft @FLSun SR", + "sub_path": "process/0.30mm Extra Draft @FLSun SR.json" } ], "filament_list": [ @@ -150,17 +174,21 @@ "name": "fdm_machine_common", "sub_path": "machine/fdm_machine_common.json" }, - { + { "name": "FLSun Q5 0.4 nozzle", "sub_path": "machine/FLSun Q5 0.4 nozzle.json" }, - { + { "name": "FLSun QQ-S Pro 0.4 nozzle", "sub_path": "machine/FLSun QQ-S Pro 0.4 nozzle.json" }, + { + "name": "FLSun Super Racer 0.4 nozzle", + "sub_path": "machine/FLSun SR 0.4 nozzle.json" + }, { "name": "FLSun V400 0.4 nozzle", "sub_path": "machine/FLSun V400 0.4 nozzle.json" } ] -} +} \ No newline at end of file diff --git a/resources/profiles/FLSun/FLSun Super Racer (SR)_cover.png b/resources/profiles/FLSun/FLSun Super Racer (SR)_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..090ce3f4c04576d6a623cba06eb141f167d2d412 GIT binary patch literal 19606 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 R93QB`sRgX{42YH^4{7)c3EMs8CZm-8EiWVfh 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 XM3e-#01=y^00000NkvXXu0mjf#zJ`q literal 14523 zcmV;sI7G*ZP)=_bjsFbt{0ROnr8@z~sUqt$9P0TS>ELxmoG zB;h@g9v?TQp+XNmviH=HP=y`^rvI`EJ&JT~r$Ube67ZfD1cAaBAX~e4A0z5OtyVic zIXSgZDVJRswU3ZIWad(xDEirM2bJVl>Pse*sgP*w+}sjm7)D_-nMk6?%wX1iBLOp5 ze~kqAM|X&sp^qeb>u}Bh7@|&RrdqAup58ZoE9P8eFm}Hq`crn!01Q92O-y7mf6pe( zoQucZWWC;)0k}UFi_Ln^IO&^F)Oj;CwP!09b6*>c?;qyo=H3I?QvHX-ll7;wmkPyq z%PZHK*Kge9snbh5e&Qt0<@5Z-uGzarv4vs$_neu@W;f*KB6vTz*G7e)g&!yqC2HeG zqMLP%g{X}PVj&8mR!W3e_!me(Y&Kd53W6H7uoA&eC5m4u)RtZBclwV6W8~J(5wYPtbmCIXGb8|G_WSh5a3v>DQk=FIu%blH_e^pzK3gLNi zV9wa5vH77{+BqRXI+F$jgoJ`OBX4;%I0$0OSgg`s>G@Oh5|t4HiGhJ4pT@?B$8y5= z0}R8=6!q+XMp{xV7OMqaK`7q7!9YgRIe;YU>+1;uKiSTwOcDbpoV-YBnBg-m(=lsBf4?N5@gRPjz$X@DX(wk9B`5uuEc;g2-V z{Ex>^pYZzK5UG@pQ9j~F7-q!zSC8!~3KN9FnJby5oRC!3!!;ZNh6ab|xzt1NtsB5N z|Nb+BrlvL2rW?3${U%RFhFP?D0bVL#)~vZSFK=V^%>Oxe{vv;5>Ui^RlxHtqBNIZD zi{ubVeg=pbtDZwwBxYYFN+Kp5iTxy_qwl%Zdz**7*LXYplK%deWa?71QLknp_lC4RzGjq>z=iHf{%_d7D)`x}tW)C+rJ9F=D z=EIrqojH>heo{!l#9%N)7?ryfY}vAg!F>cuP;(dByoM5&NGGWh_Mra7y}{7u4))Xq&TRgKu`vi9!DJy=*=gmaOO1!gcQf-nx*XDKo)`wXwk zBEElS*3YK9>t`~kiv%JDg<74II_0D7EzfQXrBG1)luz*R#&Lusjy2P|#3{%M7m)_D z(@B;!##;umpt^klz(rLZfpq2Y$ir}PtWYLNQi~W62gwI6%K_GyS`?>PYzcFb094!Q)G@5-QgD3~jMBU}`!oB6?twf-b4dGk@B0-#jM;nkdPShVqjy;&lpT4lXyo72L zgAoy3k4h;=mI{f_M9|0^ux4*KBn(hwjvc9~S zbzKMOb`uc^RxxZ)$b;;q{<-;b*KGi&Cti8^-1+n8`=Tfsuwk%oeqrH-h55=8M8;T4 z>V*|-am55N^SqAJ_gJk4Gh=RU7J;>hR#x-|PZX)2R`@+=oMm6{)jfrN657=j&ecj? zFVvng`D$inW@^Wd9rNSk{EhpF36S-_NdaM*wr%um7+48yfHVlGXK<6joXZ&UnNx!h z1cd(nzF&ujhd-&s>w^P>2X{ZY`@r$z$6p0-QDNSID7VYa4+H4vR_#)u&Yi-x6=gpF zJ;>Vj7{E;p@4Yd8=+MqnXU@JiH#hg}($X@)5c>N1yp<3^6jd{8Lx`$XwH{$;?{43| z{k3B+9!Ap@LLXt!?=f5I3Dl4dGqS^A72pW&ulqro*C;x4u`|O zLT^PSN?{6{h(M4@ii{PYqD2qNatitB6EFUHK6W$yZ{Lmkp|os5?I3cXE2WTb*}mSyZj735su_3Kx>fBz4yh12OH@7}%R=EDtTfrS#J zE0x;>3OQ52{pfpR0yJVHgj~)UAoL|F3Q2$lWUM5suoc5lScS^n@uJPKjMvxKZ4dND zG!@_kBp^W+Iv|A>5R*m^NelBm9e@DRVGR6RsM2q0jBgtZ`06hn^p?(Zw~b_5a#NH}vW zQ{0uyFwf%>W>D9avgpLHkg&+=uV8U?@3;qgJ8G-|Nf<>`tN@MVgfxs0=}AEYHV~4a zpswa26vk$m^~(Z{`Qw-G}DHi87k(pq;qmY|bBI5AAR4oX3;L3C3^9rEB{9J*FHdt$)I>32jEExQZp7_r!XmgL zh&v$648t-r-P3z_)%U%6UsrWirU#fF_@~e5-<*4Dx@OK)PxtMw?!Djd{;m~w2!cU? zf&ufVtRys3d=Sz&xZzGrepy5vVGh1z?d|O&T3YrlSaQ`>?0E4=ELA08nn}1gt}nYk z5K#8Dx8IsbCL4(u_2`ncAMI^tqU6xUH5i^i3>pZW6G#9IMjs!TE#v^Isw$xC9)G>zMK3<<}I``0~py zKt#|v6d-~WTGTX+bVGj-tf`@RD!wEX>hcY29{Am0b+z-r!Gre`;39%GcvBvvDw81- z&5#ip22s-GC>l5%ie~0VoNETzouGihI4jMFW%-H~E85G;%T^IlN4Pt@;7@>E4w$yf}8(%{Wvf!pcQ7%}^3irh*??BCzuOePaJ`|LBFKV7=?UAN2qhQr|; zn$h@p^cPlTLrND+nKBu=kPOC;p8#FP3;G8KZns+=1wj3A=#0kcP)Enru~>rn{l33I zikW6=g%B(kW>8)`j+qonXhJKk(8U3%D4J3j6A&B_!gv>@1g#+(U{$H(@p$cy9UsjC zpbi;2e5u#x-v`dm#xY{>;K5kD_zH|2J4QeL5L2g~jI+<0joGvR1Ac!QGMNm(2!aTO z;>|bTY)U55-_*mUjrDc)&+pi=!=?WpCj)TgCd$GPRJT54xn4$1a7QGWP)ZJ6B&hTU z62zDgjDcGn-WJ&&hDi{u->~tns>&({fIW4!HTSA&=DUelyrMtJsHv>Kckf=@dh0UX zZozH0-LBj3vFw&xux8B~BoYY(0s)W^(h5cEfqk<&!ySVf8f*UmphMHNN)XLvM34ps z>TSG?!Q~L-a2-6<;VwCJk)X1wBBBswBo8>Zibvy@DvD#vl~*iY z2LJ~S?Ei%x``2;KZS7vncpl8~Y%}C?fP_#E?Au>*=wgA#?@faVjbJ*nMHe-lSsDR> zfWN)6vSRoC{rfMetE={p9691E{oD)5RC?a><;zF)hc@c<`V20GG+Dm0+Oq(k&nG3q z4DtsG!F~5HKT}Tzrv@v7zXhO9I_c{p!{P454yJslC`yL1*R^&F8M7%mF*)3xL!)r0 z%T;pdA^~%IGn^^Hl*l5GZ3Q(4W9Ag|qZ21ix+;-~Pv5z7=STo*U0vPZ+-|S0t1CQr z!i0&eP@+9^DAI)B+3SJZKTL+|r~}M+etpH~yLS2_@%U|e{QYhu9DeV;cRx_JY}s;6 zC>%=F)z?1*JB5y5@VvQgmF6I(n*fD6I!g{+EO5BoDiPD{@&T4Zn_J)3xk-~I{jbOE z+Mb9fek_$l7cJVROXWVyxwvR=YipoTJ~THKFo*#}Mz{l$mu+)yg$YpK9s0A+&yGf- zlQL;_?Yw#Oy54*5y+L|BevZfO(dB#{ADLAhBFZ&3P_6|F08``&4Z$fHkCl?bVgYBA zy_DGT3SNq&OUn;06~n-Or}yz3l=Q+jjCzfs?+6* z*a?H+Pf{Hfq^8rQI&`r>5EqQVt=>M^k|F_+b>7?|9zJ~dt9s(LbMuxh*KdAnvn!)! z+Wmgt^DV6{%O;&TF<2$qIr?Tz(!Ub1h~# zwZ^$gx;P>Nl@*R{A8r3xGMVVEtSEaL0Q73iS@Br3Y2@(XcLIn5fPf}oZxS}HC`gzo zsxhq72>`@3UW%cM1Ey#ZX|QN#K<=RB8fBSLpSHv2^RE+vQV%@%*Pk~vH4}hW%F6>A zIyyUk^!2Y#RB#k9!-0nv*nauR3pLu2)3V;9^S!XV`HLfblA$^jZ ziA193b%(pFMhqKvGXVbR%16)8W9Nx_S@E`>V}kO@I@fupGJU3K*}PThI0EH5j61i)vlZF`;io#HO8s_&MUm3;^U_7$1I zBs_^c4!^PeZw|#Tg&f7)F017niyNdM$clsc)dQdEGXwt|PbB6(`Q+Nbd2`M?7_6@S zdn}$jan<9GPdnNKTZ?yW9ZkoUkGO!xV@D`{YTEx zplRA!0K_R%CNFon99^+kLpI6Yxm?SQ=aTiHOZ_!6D*kHHcZkKQ*@Tk@f3c;dW!a;TtSkr6J)oiSPE}RsZF*~SEsg+2)&P2-M~TeP%D@pOQGL04 z7q#u*_pMYqRqJxOR{)4dqp=b3M0}dwrM~p=(`ED9V+Djgu(8Htl$vCV3Eaj97P&-B zFk|~y^l67KQ&(5>geLgFty@2w2f4T_FX$^|Wc&8*zd73NfqEo^Ig&k$7*^vT^uDpO zd)ID{rt*0iO?_+j?Ab2^Kr|Y^-k~@@n}5-~XVD9oRW0cuqYE>vGOo`cc&Y2V$Uqho zNaRUo=|<870fIp{f!?rq@zv|ADuNr6$<(FWx9f$Aun`dnJI((Igbemi!7b zvtAB@ojzOYDJ&Y~x6+wI>`j8dd7doE-QJ;2IB~*H!7#FYU)vM_+K3S&9&xxF^zo;k zE}TFAI|?N1r7_C!IP&Gc2sp|$9WIaOi=8{~^y=+Zkx=&sT+6t&Zr!?+h+6CG8eYN? zKv_T-&&4X?2;j_r9TbYhMEZV@8kJHf;Ft zziJx4@THetuI?oh?X_-Vm)YeSmmCv9K3;q6)pJs*)QJv<^Cb=)lSn3J2CIUP z0Qd@r2lf0;Z~+pQnv(#TVNWUKC?+Umt$~(GzkrGCPYHdL(-$?t>Xq?yYWh=a*M1X# z7&3V1?TnNfpWlBbESTj$$(Nu!Z_DRpb0Y*Y@&5L0flw&?echp3nwy*DHg|V4asgM> z%&aqJ-HoHbRvg@ zb7xm1lBvbPs;YYdbm1rr9syU)AN%Flh+|M4zN<@5 zrJ&)+x~9fcmBHYr$#m)>02n=L)TYYH%6GcDy1w`D-yg2F|0T2gIt$7hm~Z}$J!yP! z#fou>L~?BXV7?QW2I=z9Gn0c zZT-Z^J~X}%Zg8S$K;tdRRAO$^fQAYH(GkOk-syBYCPbp~lkAsejP>ep5N4CCRBW;u zS4m;I#`6t|!a`oRd)j^Vf>7jmc&oOCOd z?TQOM3HAg#tdVQzyLb^}^tRXQ*{Sn6em{NcDQwJf(7$G-?(X$KbcC+4+H`$0BlDeK|SwA!n~fr z^y37s@lsM)oX&jwp_l7A8XFteh9ljV|K%_DPXM6mPIpf-nK=FKd+#|3ke&?9ObV^8 zn7q|mla7`B3X}!TiAJM=Q%*VMj{vk}B5|&!X(xES-ru7@Fkv+p2qCXw>Dgp=D2={? zlD1tDfuvd6%{CvmR~!nDBgMG!;~y*Y1tNR*ezox7haPg&1cO_2dgrGfZU5+I#p!k% zZC=vy)s*CQb4ekAFk|`*-=PBsE)P~#JP2Ud)@>h_>s#Mc*I2CT7y91wgy@?)f1Yxm<4N3IJHYe&a&Ml!l6m z%0~gDQ6M;(+uhP61X-LGp{d~V7fK;V5y4W}l8%+Xh~;Xv{lSzeQ~vDr`GnKun%mqo zKtIJv|9*kT<9UDa6^q|QVX&$kCfUCSM>>0V5ax+eQdo3b-#tJ*j+|Lcv_jCb zw=Es;mp{?6xAhk{-gx6A0G-2!4EvSS>ESN72YSmC+%6ZI2Ms}U^FVZVhLB0CsB37% z*s)_VZN?0wQzwd83K zlZyRceYHy_XYqIpijqwR*REM3OM4!-3*qkW@a30(_YF-|-A}E3>bGu}yB)wgC=@~% z{~^JGl@LlN7m%}GSZQcbQG)DowEakVr9DESm_BXVKmUJYMPF&B-Eqh5;~JY9!ydQ$ zRW+SKJQ{t9St5BD*bLa_FK&@1X=E+gWZ6e=Qu5$tRt3tG=Sr3C+!A^XFdV9yWN$ z8-AZpRTKrPOuo2uW=&INNZ@ojpvT<+BdHhd^?EU#1HwMOuwS@r(W2Lbb+s=ZJalNBPFzxJ>gzVt)YqmI zrvm^%Q{|K`DcrU$n27?fS z3{D52ce}r(0upv{ z8*6&5$mN0>FX?g=?fOin&kBHX`&o9(+ls-e%1?$28N6~pQ&Zb_=Fat9aQ+#bpZ?9oW2O^V36z4&6U^=&(V0Vn{BB3oUzE zv9Em}$}7q+YSbuf+_*`Ob=$prw_KsGy!vVgaMc?Kw2d7%?iIJw@d^43OQ)amE7Q^} zdQy&zRhlGQG$5H2^fess;%IBoh=nUE19 zB$5eqcZHFN#na)gZU9h^HS{5y0-AO2$pzGQs%&X^eNlpV9#zSbn6-I;U<_c#>&4^{ znn)!RNTt%?*}AVqRANFh@zi8e)}Df9sp+`DpN7Mg`1_yl=^xN_wtU<_HAg_*d>OwT=^GsV!w z9h_ZF;KKdjP+i5Pn+u2HoH}*>21*bhAxcUpAp&-rK|zEZFODq73+nR7%NH;C<;U;& z_2X`eEk3ew7J* zJoOb;*$vW1OAvJE4NM`)?d(AUV@fFqx_7K>j6mZ5RnlT;HmCpspic8Cb@jczql7F8 zY2BdR%)>wds0gr&HExXr>~>e7p-2M(!xRcFK)BPX?~TMp8~}e~g;o$LK*7760F+6@+toU|t$$5)tS6cF z+ZDP=K^XC}vUcW>Jt^E2X$Ol4cQdqf4HFniprTME3b*6x+s{v6b-v!lZoMW_k-|OX z*b?SuSUb zi}Cg=H)bAU36@e802db*-QK=EzZx$&9*=!qRozrjX5y;#_wM8|$-YBxiO40m%9x~K z>_#VZFDF?ki}&7pzju8> zd`*>n@WK0Fm_Y)aj3I!G^#BM7GCUX4jtOzP_W3QD*~43r>rY=P`C^adFf=<#8+Vd2=&W|Ckn#YZ20 z#FeUlPXd#mpppcYYayDmv)9*7uEh*S2yy$(!a%V#*w3Li-h`DXdAdGQ2(d{)NNhZaT@fU)Hb3<)svDeS1*cha+k|} z%{`~tJ9lPwmXzQcn;#p`x468I*_qu1&zw2;JQW)o4X1x@G#bvp(#64p2QfA_1|^UX z284W}eD>yT63x|I;cg>&bz~ z1wjuL==u&Cq})3L5%k=-^B5$E*fnE}D@zgCj?0)dGBN^YlgiSAjP4T=ONRPG%NG)G`e4CVla1IL+}Od9K`5I_Y3a&pZF<7SIn5`DKb#uOsQ zP(cyorkOunPe_y->maopSwO5LvaJtg>Akk;*0x z1yU&Wr80;y;0SNzVhZ8r0&64JC&#T4S;c@LP~?*+NPqH19~K5G63q-17_2G?w+_L| z2+#NW*khkEgW=E?35OPm0LsFzM6#?!Q53;i0YpH9dpdLooHIUp+U?WwFbIW~W2m6% zvz2nPCHW>Q(2S#+W5ADxiEbX z6I7L%jOkg(hLlhK0zl5poYjE|I;v@16S1B%L*tuB1fmuJ8K`C{1qK3w%}=wWGuj(K z3o3j$h7CSpqJf9@};uA9-SB~mk!j|Lr8fH z1Ojt_Ff_T`0Wzu(jjLlZxcuG&cYpZAv7@K0wT*`!da$)PH`{tUg@b659G{JQLDX$j z5cE(%z1wd-oIjqD-#&@>nuX%pTfv799paUh<;e@@-`G1pf9;X)o}amYVteJb@yhUuGgLGQxpL#kS`Yv$b|*>um8sirJIT0Ho+^wp21Bi_= zYfHbjzP2hCW=^kG#>Zb987ckU2Ojv)-vYRX>p-s;46A*sS;#?A>wAbmASDGsDWB?= zsmGEh)NR`BdvWOC{o_mXbBAC5=U0BpTKQxYwWgrLY3VdofCz!Rrg3XQ5X8irBywTE zS~pI#5Z)wCuEofDX3ErU0tSRtb$6p)dvv3&kACM{FMYK%Qa)Onzw$yk2w(o#Bai$5 zfZe1r?8&jmZbJPgAJ>?Qh?Sv&kQmTb1+Fv`F*LQDrMU0CciwUF%{RWrDj!#gwz*^C zOFpPCSm|T(A{*tbZ;9+`MF9e=N^Ds1=ZGp)6owi8p74a9)M3&5Jqe`6I{_`VoAn1p zaY%$e2f-f!c>1kpGgTmUOd=R#3W6T8eIc^~c8f56N>{SUV~>5BpZ&|f_~7Ydr~YQ= zfF)0e8mrvYx;{%PlhrU`W;eE0V511kCVnqdR{YZ62sZhGDz5XB^ag<< zPk-f04_6z_Uj=ZXT-hPeEonFhO*GX-8iV11suBbW+Wb!>WD&GN z3M(=~gik&9{PR;v;m76{7N@pt9|I+MwQM5$5?XDWx4U^xteWVyDOSsI5T7scniW7* zKu!cfr2($AGKV5Bh_H5KPzBN5W6*ngYPypg@8WKh%kq;dpFIFfbN1zNQ8(+f;2nHS7j(ww9(2)o%-bs)F zQi-px0`@n8s-j~R$4{L>y%U-Dec<4s*Z=c-hfbe7h1;g500qR$&x$-WT_`Ha4i^ZZ zt&(r{Mcfgk>=pm<@BdnAx7t{5Ht~Z~XE9Z~13M-vD2E2)l?sAV0M4ocxUqt~JWepg z@wJSC-K(dVnpzkz$cKWF9|P*0{wWhxB&&}?6hKAXxY2B4wYrXKy@`dzWn7(|g@RBX zn?bc!b$-_|!S{0W&7@0I7*>YTH3`DH<*{7h6@qxNU}a&^Ei)TLR&eFoJTA{hXf<0P zC?+N*P%ecK{}^WigeX@BFg>8@lizb&0YqIC%YFCW;|kh4LREn(qYJA7?oq1Qj$*C4 zifh;AaBY4O)%7|?%VXHFa}s2XOD9&ZZ{X~iGqBdWr-_Qh7q9|lhV~hj917F-P>LL$ zZfT41!2*!DbOKY;(@EfJ=I=oi6B-msj8eJm&f93UQE#@ON>I{l^VUl>sVY`#FZ;ou)0=5ZKL4`RYYMu*S6Y#3D&Up zjwwt}@54sD?h-*pHp1faQYr>nsC)UZm^Y|6kd{g%TM+aRDWRdrd$OrQ{N{*ZP#LRW z+qUg!cN(~S=`zGdNNcb%$Fgt0U}A8Rrk3L4+U+^kdJx<=?y1|1n}htiJ3m(Uji}=4 z>{TqTu3>q33Fpq8a|Btf*1AOOBE%CB10a|nK*%nP%SDkJ!w?aaw~gWBKluqT5sV4Y zY&7uVKfZ{i1Jbc`94(Dacs>ct5nyg zpkh-vYy_NErX+D9yq?(lBKJvpFTZ(obkAV*gaiXd;5aPUq@0~V z-lGq$Q5tDwAka1FogbW;1d>@Zh(@kUEp`P44v;O4? zd+W&UUhb@b=1tvRM9O?fTw{)Ve-*<{q)9GPsO^Rk3RUVMim^&1O{$czURBSvIPmf_ zfhqG;QzdU%b0qH#D-0zAV@AL<0wN1UZCFJ9!vX--I|+FKKsk$HR01dZXri6oC`_4}6iJO!B8^&oOheHyS*7=YlRRH*HSv0xB^L=}MNeiojKiNXsczSanPaUtfq zz1oq)U+A8D?**F?R99Es!p*l#VSZ^9>$L`M-M=4~)@!Jp{4WSOqE5Lou|NeqYCei- zn+Xi+_rA-<9-OQLIa!)AMw{o@Do7!TtjwugE~HRKkvVBNp<5H%7|`uG!y4I}+?axJBH$^Bx@PDtJh0xKnF7Y_bI26C?q znM+d7SI%od2+$kcy2LqWq?`^NAorQX?AHa% zw6S;Z-j#x&hX<`ayCy%~s8)ZW*=ir?l*?2a8QD_`!#%1d7#$sL8Rjdh_I`k%VpAP0 z7=ZTr6a!=}TG2+vIW;kDx4|5G4M`g!QDV^W+KrgN1qyX@1rw=Z1`|sV2CdKp^H7yc z)dwOX1qsC(Kpks!+BcWNu+?sN%4!ASXs}?6SxZP*L~N-Pau|dw+s7-dh55M$wr`(k zmco(=*tCgpF$jbD=*Vbo$IgjY-+k9z&jMH|2zt2iy)S>|%ddX(o6nE8nk}l<>f1YF zcXT?IcTG-4W99Ngt7~h2Mx+oGn8ZRT)LU1|8#f40g^(9jyojRKLZ$82#Cy*rKFidf zli4R`94nVE?3>>ARI}Cm-$tWRt&CNwVmqFxri|S+V?qEJvDO}5U$6giySefnRV71A z3<|AS4oo29dMl>?p>474>_v-kefyyIefSkh6d}^DxZJj&G5vDlch$pHM(QR z_F&hp$rGo~oO!NNsr+ITMd9e^=$UQX#$IRUCO{+-O>ETbx3*gC2f`p+KluLle;&Xw zY(`Od^T!rG^EsQ?9GweYfbix8HvJ&VAFbJ^uLP7yln3z(w2`79Isb zztf;hP#`cNZrXh_R6S?TywkEe+&Xz}K9?;X-_$Me2H7An~>RWHb7ULZcDlhzI# zxT{`}-j4=UU$5gG3i`sAe*1~Vg~gAE2!n`v2%1F1izNb8B2_RG0lDm@exzcENQn%x zqoUBvaa6>D85`5n)6W3-w}SKv6ev)jK!E}U3KS?%pg@5F1qu`>P@q780tE^bC{SQf Z_&?|xKJmvldU*f<002ovPDHLkV1hS8m2v<8 diff --git a/resources/profiles/FLSun/filament/FLSun Generic ABS.json b/resources/profiles/FLSun/filament/FLSun Generic ABS.json index 8902996c8f1..dbaba98b86f 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic ABS.json +++ b/resources/profiles/FLSun/filament/FLSun Generic ABS.json @@ -15,6 +15,7 @@ "compatible_printers": [ "FLSun Q5 0.4 nozzle", "FLSun QQ-S Pro 0.4 nozzle", + "FLSun Super Racer 0.4 nozzle", "FLSun V400 0.4 nozzle" ] } diff --git a/resources/profiles/FLSun/filament/FLSun Generic ASA.json b/resources/profiles/FLSun/filament/FLSun Generic ASA.json index c590edf9470..716a279943f 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic ASA.json +++ b/resources/profiles/FLSun/filament/FLSun Generic ASA.json @@ -13,8 +13,9 @@ "12" ], "compatible_printers": [ - "FLSun Q5 0.4 nozzle", - "FLSun QQ-S Pro 0.4 nozzle", - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun Super Racer 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/FLSun/filament/FLSun Generic PA-CF.json b/resources/profiles/FLSun/filament/FLSun Generic PA-CF.json index 954b5613b68..de4cdb119af 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PA-CF.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PA-CF.json @@ -21,6 +21,7 @@ "compatible_printers": [ "FLSun Q5 0.4 nozzle", "FLSun QQ-S Pro 0.4 nozzle", + "FLSun Super Racer 0.4 nozzle", "FLSun V400 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/FLSun/filament/FLSun Generic PA.json b/resources/profiles/FLSun/filament/FLSun Generic PA.json index daf4847d70d..06da861a23f 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PA.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PA.json @@ -18,6 +18,7 @@ "compatible_printers": [ "FLSun Q5 0.4 nozzle", "FLSun QQ-S Pro 0.4 nozzle", + "FLSun Super Racer 0.4 nozzle", "FLSun V400 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/FLSun/filament/FLSun Generic PC.json b/resources/profiles/FLSun/filament/FLSun Generic PC.json index 858545b5c6f..42c95926ef3 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PC.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PC.json @@ -15,6 +15,7 @@ "compatible_printers": [ "FLSun Q5 0.4 nozzle", "FLSun QQ-S Pro 0.4 nozzle", + "FLSun Super Racer 0.4 nozzle", "FLSun V400 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/FLSun/filament/FLSun Generic PETG.json b/resources/profiles/FLSun/filament/FLSun Generic PETG.json index 9b5bd640d3e..9f65ef5be27 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PETG.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PETG.json @@ -43,8 +43,9 @@ "; filament start gcode\n" ], "compatible_printers": [ - "FLSun Q5 0.4 nozzle", - "FLSun QQ-S Pro 0.4 nozzle", - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun Super Racer 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/FLSun/filament/FLSun Generic PLA-CF.json b/resources/profiles/FLSun/filament/FLSun Generic PLA-CF.json index a41b370ca46..5cd0835ce04 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PLA-CF.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PLA-CF.json @@ -19,8 +19,9 @@ "7" ], "compatible_printers": [ - "FLSun Q5 0.4 nozzle", - "FLSun QQ-S Pro 0.4 nozzle", - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun Super Racer 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/FLSun/filament/FLSun Generic PLA.json b/resources/profiles/FLSun/filament/FLSun Generic PLA.json index 981135e346b..0945715758e 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PLA.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PLA.json @@ -16,8 +16,9 @@ "8" ], "compatible_printers": [ - "FLSun Q5 0.4 nozzle", - "FLSun QQ-S Pro 0.4 nozzle", - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun Super Racer 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/FLSun/filament/FLSun Generic PVA.json b/resources/profiles/FLSun/filament/FLSun Generic PVA.json index cd6fcb4fd42..8ad4ecdb61f 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic PVA.json +++ b/resources/profiles/FLSun/filament/FLSun Generic PVA.json @@ -19,8 +19,9 @@ "10" ], "compatible_printers": [ - "FLSun Q5 0.4 nozzle", - "FLSun QQ-S Pro 0.4 nozzle", - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun Super Racer 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/FLSun/filament/FLSun Generic TPU.json b/resources/profiles/FLSun/filament/FLSun Generic TPU.json index b57fd3a1170..357cd8d45af 100644 --- a/resources/profiles/FLSun/filament/FLSun Generic TPU.json +++ b/resources/profiles/FLSun/filament/FLSun Generic TPU.json @@ -10,8 +10,9 @@ "3.2" ], "compatible_printers": [ - "FLSun Q5 0.4 nozzle", - "FLSun QQ-S Pro 0.4 nozzle", - "FLSun V400 0.4 nozzle" + "FLSun Q5 0.4 nozzle", + "FLSun QQ-S Pro 0.4 nozzle", + "FLSun Super Racer 0.4 nozzle", + "FLSun V400 0.4 nozzle" ] -} +} \ No newline at end of file diff --git a/resources/profiles/FLSun/flsun_SR_buildplate_model.stl b/resources/profiles/FLSun/flsun_SR_buildplate_model.stl new file mode 100644 index 0000000000000000000000000000000000000000..55650a8ee9dddf41f937f23fb61b8b8457b83a59 GIT binary patch literal 1001084 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
  2. VJZICOQ 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 bEeQ3`&Jf||Kq*9HnW8oXw_lV8{p$Y#r`_B1 literal 0 HcmV?d00001 diff --git a/resources/profiles/FLSun/flsun_SR_buildplate_texture.svg b/resources/profiles/FLSun/flsun_SR_buildplate_texture.svg new file mode 100644 index 00000000000..846833b6860 --- /dev/null +++ b/resources/profiles/FLSun/flsun_SR_buildplate_texture.svg @@ -0,0 +1,54 @@ + + + + + + + image/svg+xml + + + + + + + diff --git a/resources/profiles/FLSun/machine/FLSun SR 0.4 nozzle.json b/resources/profiles/FLSun/machine/FLSun SR 0.4 nozzle.json new file mode 100644 index 00000000000..d1d1788cc50 --- /dev/null +++ b/resources/profiles/FLSun/machine/FLSun SR 0.4 nozzle.json @@ -0,0 +1,238 @@ +{ + "type": "machine", + "setting_id": "GM003", + "name": "FLSun Super Racer 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "printer_model": "FLSun Super Racer (SR)", + "default_print_profile": "0.20mm Standard @FLSun SR", + "gcode_flavor": "marlin", + "nozzle_diameter": [ + "0.4" + ], + "nozzle_type": "brass", + "default_filament_profile": [ + "FLSin Generic PLA" + ], + "bed_exclude_area": [ + "0x0" + ], + "auxiliary_fan": "0", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]", + "change_filament_gcode": ";FILAMENT_CHANGE\nM600", + "deretraction_speed": [ + "40" + ], + "extruder_clearance_height_to_lid": "140", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_radius": "65", + "machine_end_gcode": "; printing object ENDGCODE\nG92 E0.0 ; prepare to retract\nG1 E-6 F3000; retract to avoid stringing\n; Anti-stringing end wiggle\n{if layer_z < max_print_height}G1 Z{min(layer_z+100, max_print_height)}{endif} F4000 ; Move print head up\nG1 X0 Y120 F3000 ; present print\n; Reset print setting overrides\nG92 E0\nM200 D0 ; disable volumetric e\nM220 S100 ; reset speed factor to 100%\nM221 S100 ; reset extruder factor to 100%\n;M900 K0 ; reset linear acceleration(Marlin)\n; Shut down printer\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM18 S180 ;disable motors after 180s\nM300 S40 P10 ; Bip\nM117 Print finish.", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "5000", + "2000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "3000", + "3000" + ], + "machine_max_acceleration_x": [ + "5000", + "2000" + ], + "machine_max_acceleration_y": [ + "5000", + "2000" + ], + "machine_max_acceleration_z": [ + "1500", + "200" + ], + "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", + "0.4" + ], + "machine_max_speed_e": [ + "30", + "25" + ], + "machine_max_speed_x": [ + "300", + "200" + ], + "machine_max_speed_y": [ + "300", + "200" + ], + "machine_max_speed_z": [ + "20", + "12" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M600", + "machine_start_gcode": ";STARTGCODE\nM117 Initializing\n; Set coordinate modes\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n; Reset speed and extrusion rates\nM200 D0 ; disable volumetric E\nM220 S100 ; reset speed\n; Set initial warmup temps\nM117 Nozzle preheat\nM104 S100 ; preheat extruder to no ooze temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed final temp\nM300 S40 P10 ; Bip\n; Home\nM117 Homing\nG28 ; home all with default mesh bed level\n; For ABL users put G29 for a leveling request\n; Final warmup routine\nM117 Final warmup\nM104 S[first_layer_temperature] ; set extruder final temp\nM109 S[first_layer_temperature] ; wait for extruder final temp\nM190 S[first_layer_bed_temperature] ; wait for bed final temp\nM300 S440 P200 ; 1st beep for printer ready and allow some time to clean nozzle\nM300 S0 P250 ; wait between dual beep\nM300 S440 P200 ; 2nd beep for printer ready\nG4 S10 ; wait to clean the nozzle\nM300 S440 P200 ; 3rd beep for ready to start printing\n; Prime line routine\nM117 Printing prime line\n;M900 K0; Disable Linear Advance (Marlin) for prime line\nG92 E0.0; reset extrusion distance\nG1 F3000 Z1\nG1 X-150 Y0 Z0.4\nG92 E0\nG3 X0 Y-130 I150 Z0.3 E30 F2000\nG92 E0.0 ; reset extrusion distance\n; Final print adjustments\nM117 Preparing to print\n;M82 ; extruder absolute mode\nM221 S{if layer_height<0.075}100{else}95{endif}\nM300 S40 P10 ; chirp\nM117 Print [input_filename_base]; Display: Printing started...", + "machine_unload_filament_time": "0", + "max_layer_height": [ + "0.2" + ], + "min_layer_height": [ + "0.08" + ], + "printable_area": [ + "134.486x11.766", + "132.949x23.4425", + "130.4x34.9406", + "126.859x46.1727", + "122.352x57.0535", + "116.913x67.5", + "110.586x77.4328", + "103.416x86.7763", + "95.4594x95.4594", + "86.7763x103.416", + "77.4328x110.586", + "67.5x116.913", + "57.0535x122.352", + "46.1727x126.859", + "34.9406x130.4", + "23.4425x132.949", + "11.766x134.486", + "8.26637e-15x135", + "-11.766x134.486", + "-23.4425x132.949", + "-34.9406x130.4", + "-46.1727x126.859", + "-57.0535x122.352", + "-67.5x116.913", + "-77.4328x110.586", + "-86.7763x103.416", + "-95.4594x95.4594", + "-103.416x86.7763", + "-110.586x77.4328", + "-116.913x67.5", + "-122.352x57.0535", + "-126.859x46.1727", + "-130.4x34.9406", + "-132.949x23.4425", + "-134.486x11.766", + "-135x1.65327e-14", + "-134.486x-11.766", + "-132.949x-23.4425", + "-130.4x-34.9406", + "-126.859x-46.1727", + "-122.352x-57.0535", + "-116.913x-67.5", + "-110.586x-77.4328", + "-103.416x-86.7763", + "-95.4594x-95.4594", + "-86.7763x-103.416", + "-77.4328x-110.586", + "-67.5x-116.913", + "-57.0535x-122.352", + "-46.1727x-126.859", + "-34.9406x-130.4", + "-23.4425x-132.949", + "-11.766x-134.486", + "-2.47991e-14x-135", + "11.766x-134.486", + "23.4425x-132.949", + "34.9406x-130.4", + "46.1727x-126.859", + "57.0535x-122.352", + "67.5x-116.913", + "77.4328x-110.586", + "86.7763x-103.416", + "95.4594x-95.4594", + "103.416x-86.7763", + "110.586x-77.4328", + "116.913x-67.5", + "122.352x-57.0535", + "126.859x-46.1727", + "130.4x-34.9406", + "132.949x-23.4425", + "134.486x-11.766", + "135x-3.30655e-14" + ], + "printable_height": "330", + "printer_technology": "FFF", + "printer_variant": "0.4", + "printhost_apikey": "", + "printhost_authorization_type": "key", + "printhost_cafile": "", + "printhost_password": "", + "printhost_port": "", + "printhost_ssl_ignore_revoke": "0", + "printhost_user": "", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "2" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "6.5" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "40" + ], + "template_custom_gcode": ";FILAMENT_CHANGE\nM600", + "thumbnails": [ + "260x260" + ], + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0.5" + ], + "z_hop_types": [ + "Normal Lift" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/machine/FLSun SR.json b/resources/profiles/FLSun/machine/FLSun SR.json new file mode 100644 index 00000000000..6e85731d28f --- /dev/null +++ b/resources/profiles/FLSun/machine/FLSun SR.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "FLSun Super Racer (SR)", + "model_id": "FLSun_Super_Racer", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "FLSun", + "bed_model": "flsun_SR_buildplate_model.stl", + "bed_texture": "flsun_SR_buildplate_texture.svg", + "hotend_model": "", + "default_materials": "FLSun Generic ABS;FLSun Generic PLA;FLSun Generic PLA-CF;FLSun Generic PETG;FLSun Generic TPU;FLSun Generic ASA;FLSun Generic PC;FLSun Generic PVA;FLSun Generic PA;FLSun Generic PA-CF" +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.08mm Fine @FLSun SR.json b/resources/profiles/FLSun/process/0.08mm Fine @FLSun SR.json new file mode 100644 index 00000000000..ff703cb0aae --- /dev/null +++ b/resources/profiles/FLSun/process/0.08mm Fine @FLSun SR.json @@ -0,0 +1,109 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.08mm Fine @FLSun SR", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.08", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.7", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.45", + "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}_{filament_type[initial_tool]}_{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", + "only_one_wall_top": "1", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.06", + "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": "-1", + "support_interface_spacing": "1.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.06", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonicline", + "top_surface_line_width": "0.38", + "top_shell_layers": "12", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun Super Racer 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.16mm Optimal @FLSun SR.json b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun SR.json new file mode 100644 index 00000000000..3f8183e9669 --- /dev/null +++ b/resources/profiles/FLSun/process/0.16mm Optimal @FLSun SR.json @@ -0,0 +1,109 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @FLSun SR", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.16", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.9", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.45", + "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}_{filament_type[initial_tool]}_{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", + "only_one_wall_top": "1", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.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": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.16", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonicline", + "top_surface_line_width": "0.38", + "top_shell_layers": "6", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun Super Racer 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.20mm Standard @FLSun SR.json b/resources/profiles/FLSun/process/0.20mm Standard @FLSun SR.json new file mode 100644 index 00000000000..354fbd39b82 --- /dev/null +++ b/resources/profiles/FLSun/process/0.20mm Standard @FLSun SR.json @@ -0,0 +1,109 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @FLSun SR", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.95", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.45", + "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}_{filament_type[initial_tool]}_{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", + "only_one_wall_top": "1", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.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": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonicline", + "top_surface_line_width": "0.38", + "top_shell_layers": "5", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun Super Racer 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.24mm Draft @FLSun SR.json b/resources/profiles/FLSun/process/0.24mm Draft @FLSun SR.json new file mode 100644 index 00000000000..ac55c64ecf3 --- /dev/null +++ b/resources/profiles/FLSun/process/0.24mm Draft @FLSun SR.json @@ -0,0 +1,109 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.24mm Draft @FLSun SR", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.24", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.5", + "bridge_flow": "0.95", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.45", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.45", + "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}_{filament_type[initial_tool]}_{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", + "only_one_wall_top": "1", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.18", + "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": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.18", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonicline", + "top_surface_line_width": "0.38", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun Super Racer 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun SR.json b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun SR.json new file mode 100644 index 00000000000..bac94a97e1e --- /dev/null +++ b/resources/profiles/FLSun/process/0.30mm Extra Draft @FLSun SR.json @@ -0,0 +1,109 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.30mm Extra Draft @FLSun SR", + "from": "system", + "inherits": "fdm_process_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.3", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0.6", + "bridge_flow": "0.95", + "bridge_speed": "30", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "1500", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.5", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.5", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "1000", + "travel_acceleration": "0", + "inner_wall_acceleration": "800", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.5", + "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}_{filament_type[initial_tool]}_{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", + "only_one_wall_top": "1", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "5", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.22", + "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": "-1", + "support_interface_spacing": "0.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.22", + "support_speed": "60", + "support_threshold_angle": "45", + "support_object_xy_distance": "60%", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonicline", + "top_surface_line_width": "0.45", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "60", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "FLSun Super Racer 0.4 nozzle" + ] +} \ No newline at end of file From 79d099524a087bd20e19f034f9a36d0604a33c80 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sat, 25 May 2024 23:52:05 +0800 Subject: [PATCH 070/178] Bump version to 2.1.0-alpha --- version.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.inc b/version.inc index 8a893e36dbe..c98402902ff 100644 --- a/version.inc +++ b/version.inc @@ -10,7 +10,7 @@ endif() if(NOT DEFINED BBL_INTERNAL_TESTING) set(BBL_INTERNAL_TESTING "0") endif() -set(SoftFever_VERSION "2.1.0-dev") +set(SoftFever_VERSION "2.1.0-alpha") string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)" SoftFever_VERSION_MATCH ${SoftFever_VERSION}) set(ORCA_VERSION_MAJOR ${CMAKE_MATCH_1}) From 119feeb4d87550bf0a9b0a667a0479f2bf80b491 Mon Sep 17 00:00:00 2001 From: Gabriel E Dvoranen <62312359+DvoraGames@users.noreply.github.com> Date: Sun, 26 May 2024 00:29:15 -0300 Subject: [PATCH 071/178] Update OrcaSlicer_pt_BR.po (#5460) Added more translations Updated some translations --- localization/i18n/pt_BR/OrcaSlicer_pt_BR.po | 7833 +++++-------------- 1 file changed, 2069 insertions(+), 5764 deletions(-) diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po index 4002c20b366..452d7380843 100644 --- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po +++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po @@ -1,23 +1,21 @@ -# msgid "" msgstr "" "Project-Id-Version: OrcaSlicer\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-05-24 23:26+0800\n" -"PO-Revision-Date: 2024-04-16 11:17-0300\n" +"PO-Revision-Date: 2024-05-25 18:54\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Crowdin-File: OrcaSlicer.pot\n" -"X-Crowdin-File-ID: 10\n" -"X-Crowdin-Language: pt-BR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: orcaslicer-pt-br\n" "X-Crowdin-Project-ID: 664934\n" -"X-Generator: Poedit 3.4.2\n" +"X-Crowdin-Language: pt-BR\n" +"X-Crowdin-File: OrcaSlicer.pot\n" +"X-Crowdin-File-ID: 10\n" msgid "Supports Painting" msgstr "Pintura de Suportes" @@ -74,8 +72,7 @@ msgid "Tool type" msgstr "Tipo da Ferramenta" msgid "Smart fill angle" -msgstr "" -"Ângulo do\n" +msgstr "Ângulo do\n" "preench. inteligente" msgid "On overhangs only" @@ -96,7 +93,7 @@ msgstr "Preencher" msgid "Gap Fill" msgstr "Preencher lacunas" -#, boost-format +#, possible-boost-format msgid "Allows painting only on facets selected by: \"%1%\"" msgstr "Permite pintura apenas em facetas selecionadas por: \"%1%\"" @@ -115,14 +112,9 @@ msgstr "Gizmo-Posicionar na face" msgid "Lay on face" msgstr "Ajustar face à superfície" -#, 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 "" -"A contagem de filamentos excede o número máximo que a ferramenta de pintura " -"suporta. Apenas os primeiros %1% filamentos estarão disponíveis na " -"ferramenta de pintura." +#, 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 "A contagem de filamentos excede o número máximo que a ferramenta de pintura suporta. Apenas os primeiros %1% filamentos estarão disponíveis na ferramenta de pintura." msgid "Color Painting" msgstr "Pintura de cores" @@ -184,7 +176,7 @@ msgstr "Horizontal" msgid "Remove painted color" msgstr "Remover cor pintada" -#, boost-format +#, possible-boost-format msgid "Painted using: Filament %1%" msgstr "Pintado usando: Filamento %1%" @@ -357,19 +349,15 @@ msgstr "Peça" msgid "Object" msgstr "Objeto" -msgid "" -"Click to flip the cut plane\n" +msgid "Click to flip the cut plane\n" "Drag to move the cut plane" -msgstr "" -"Clique para girar o plano de corte\n" +msgstr "Clique para girar o plano de corte\n" "Arraste para mover o plano de corte" -msgid "" -"Click to flip the cut plane\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 "" -"Clique para girar o plano de corte\n" +msgstr "Clique para girar o plano de corte\n" "Arraste para mover o plano de corte\n" "Clique com o botão direito em uma peça para atribuí-la ao outro lado" @@ -503,13 +491,13 @@ msgstr "Aviso" msgid "Invalid connectors detected" msgstr "Conectores inválidos detectados" -#, c-format, boost-format +#, 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 conector está fora do contorno de corte" msgstr[1] "%1$d conectores estão fora do contorno de corte" -#, c-format, boost-format +#, 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 conector está fora do objeto" @@ -534,9 +522,7 @@ msgid "Cut by Plane" msgstr "Cortar por Plano" msgid "non-manifold edges be caused by cut tool, do you want to fix it now?" -msgstr "" -"as arestas abertas podem ser causadas pela ferramenta de corte, você quer " -"corrigi-las agora?" +msgstr "as arestas abertas podem ser causadas pela ferramenta de corte, você quer corrigi-las agora?" msgid "Repairing model object" msgstr "Reparando objeto do modelo" @@ -556,13 +542,9 @@ msgstr "Nível de detalhe" msgid "Decimate ratio" msgstr "Taxa de decimação" -#, boost-format -msgid "" -"Processing model '%1%' with more than 1M triangles could be slow. It is " -"highly recommended to simplify the model." -msgstr "" -"Processar modelo '%1%' com mais de 1M de triângulos pode ser lento. É " -"altamente recomendável simplificar o modelo." +#, possible-boost-format +msgid "Processing model '%1%' with more than 1M triangles could be slow. It is highly recommended to simplify the model." +msgstr "Processar modelo '%1%' com mais de 1M de triângulos pode ser lento. É altamente recomendável simplificar o modelo." msgid "Simplify model" msgstr "Simplificar modelo" @@ -571,8 +553,7 @@ msgid "Simplify" msgstr "Simplificar" msgid "Simplification is currently only allowed when a single part is selected" -msgstr "" -"A simplificação só é permitida quando uma única peça é selecionada no momento" +msgstr "A simplificação só é permitida quando uma única peça é selecionada no momento" msgid "Error" msgstr "Erro" @@ -592,20 +573,19 @@ msgstr "Baixo" msgid "Extra low" msgstr "Extra baixo" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%d triangles" msgstr "%d triângulos" msgid "Show wireframe" msgstr "Mostrar wireframe" -#, boost-format +#, possible-boost-format msgid "%1%" msgstr "%1%" msgid "Can't apply when proccess preview." -msgstr "" -"Não é possível aplicar quando a visualização do processo está em andamento." +msgstr "Não é possível aplicar quando a visualização do processo está em andamento." msgid "Operation already cancelling. Please wait few seconds." msgstr "Operação já sendo cancelada. Por favor, aguarde alguns segundos." @@ -657,11 +637,9 @@ msgstr "Espaço de Texto" msgid "Angle" msgstr "Ângulo" -msgid "" -"Embeded\n" +msgid "Embeded\n" "depth" -msgstr "" -"Profundidade\n" +msgstr "Profundidade\n" "Integrada" msgid "Input text" @@ -677,7 +655,7 @@ msgid "Shift + Mouse move up or dowm" msgstr "Shift + Mover mouse para cima ou para baixo" msgid "Rotate text" -msgstr "Rodar texto" +msgstr "Rotacionar texto" msgid "Text shape" msgstr "Formato do texto" @@ -732,20 +710,14 @@ msgstr "Fonte padrão" msgid "Advanced" msgstr "Avançado" -msgid "" -"The text cannot be written using the selected font. Please try choosing a " -"different font." -msgstr "" -"O texto não pode ser escrito usando a fonte selecionada. Por favor, tente " -"escolher uma fonte diferente." +msgid "The text cannot be written using the selected font. Please try choosing a different font." +msgstr "O texto não pode ser escrito usando a fonte selecionada. Por favor, tente escolher uma fonte diferente." msgid "Embossed text cannot contain only white spaces." msgstr "Texto em relevo não pode conter apenas espaços em branco." msgid "Text contains character glyph (represented by '?') unknown by font." -msgstr "" -"O texto contém um glifo de caractere (representado por '?') desconhecido " -"pela fonte." +msgstr "O texto contém um glifo de caractere (representado por '?') desconhecido pela fonte." msgid "Text input doesn't show font skew." msgstr "A entrada de texto não mostra a inclinação da fonte." @@ -768,7 +740,7 @@ msgstr "O texto não mostra o alinhamento horizontal atual." msgid "Revert font changes." msgstr "Reverter alterações de fonte." -#, boost-format +#, possible-boost-format msgid "Font \"%1%\" can't be selected." msgstr "A fonte \"%1%\" não pode ser selecionada." @@ -800,7 +772,7 @@ msgstr "Clique para mudar o tipo de peça para modificador." msgid "Change Text Type" msgstr "Alterar tipo de texto" -#, boost-format +#, possible-boost-format msgid "Rename style(%1%) for embossing text" msgstr "Renomear estilo(%1%) para texto em relevo" @@ -825,7 +797,7 @@ msgstr "Não é possível renomear estilo temporário." msgid "First Add style to list." msgstr "Primeiro, adicione o estilo à lista." -#, boost-format +#, possible-boost-format msgid "Save %1% style" msgstr "Salvar estilo %1%" @@ -853,44 +825,40 @@ msgstr "Remover estilo" msgid "Can't remove the last existing style." msgstr "Não é possível remover o último estilo existente." -#, boost-format +#, possible-boost-format msgid "Are you sure you want to permanently remove the \"%1%\" style?" msgstr "Tem certeza de que deseja remover permanentemente o estilo \"%1%\"?" -#, boost-format +#, possible-boost-format msgid "Delete \"%1%\" style." msgstr "Excluir o estilo \"%1%\"." -#, boost-format +#, possible-boost-format msgid "Can't delete \"%1%\". It is last style." msgstr "Não é possível excluir \"%1%\". É o último estilo." -#, boost-format +#, possible-boost-format msgid "Can't delete temporary style \"%1%\"." msgstr "Não é possível excluir o estilo temporário \"%1%\"." -#, boost-format +#, possible-boost-format msgid "Modified style \"%1%\"" msgstr "Estilo modificado \"%1%\"" -#, boost-format +#, possible-boost-format msgid "Current style is \"%1%\"" msgstr "O estilo atual é \"%1%\"" -#, boost-format -msgid "" -"Changing style to \"%1%\" will discard current style modification.\n" -"\n" +#, possible-boost-format +msgid "Changing style to \"%1%\" will discard current style modification.\n\n" "Would you like to continue anyway?" -msgstr "" -"Mudar o estilo para \"%1%\" descartará a modificação atual do estilo.\n" -"\n" +msgstr "Mudar o estilo para \"%1%\" descartará a modificação atual do estilo.\n\n" "Você gostaria de continuar mesmo assim?" msgid "Not valid style." msgstr "Estilo inválido." -#, boost-format +#, possible-boost-format msgid "Style \"%1%\" can't be used and will be removed from a list." msgstr "O estilo \"%1%\" não pode ser usado e será removido da lista." @@ -912,11 +880,9 @@ msgstr "Reverter tamanho do texto." msgid "Revert embossed depth." msgstr "Reverter profundidade em relevo." -msgid "" -"Advanced options cannot be changed for the selected font.\n" +msgid "Advanced options cannot be changed for the selected font.\n" "Select another font." -msgstr "" -"As opções avançadas não podem ser alteradas para a fonte selecionada.\n" +msgstr "As opções avançadas não podem ser alteradas para a fonte selecionada.\n" "Selecione outra fonte." msgid "Revert using of model surface." @@ -999,12 +965,10 @@ msgid "Rotate text Clock-wise." msgstr "Girar o texto no sentido horário." msgid "Unlock the text's rotation when moving text along the object's surface." -msgstr "" -"Desbloquear a rotação do texto ao movê-lo ao longo da superfície do objeto." +msgstr "Desbloquear a rotação do texto ao movê-lo ao longo da superfície do objeto." msgid "Lock the text's rotation when moving text along the object's surface." -msgstr "" -"Bloquear a rotação do texto ao movê-lo ao longo da superfície do objeto." +msgstr "Bloquear a rotação do texto ao movê-lo ao longo da superfície do objeto." msgid "Select from True Type Collection." msgstr "Selecionar da Coleção True Type." @@ -1015,14 +979,9 @@ msgstr "Fazer texto para virar para a câmera" msgid "Orient the text towards the camera." msgstr "Orientar o texto em direção à câmera." -#, boost-format -msgid "" -"Can't load exactly same font(\"%1%\"). Aplication selected a similar " -"one(\"%2%\"). You have to specify font for enable edit text." -msgstr "" -"Não é possível carregar a mesma fonte exatamente (\"%1%\"). A aplicação " -"selecionou uma similar (\"%2%\"). Você deve especificar uma fonte para " -"habilitar a edição de texto." +#, possible-boost-format +msgid "Can't load exactly same font(\"%1%\"). Aplication selected a similar one(\"%2%\"). You have to specify font for enable edit text." +msgstr "Não é possível carregar a mesma fonte exatamente (\"%1%\"). A aplicação selecionou uma similar (\"%2%\"). Você deve especificar uma fonte para habilitar a edição de texto." msgid "No symbol" msgstr "Sem símbolo" @@ -1109,13 +1068,13 @@ msgid "SVG actions" msgstr "Ações SVG" msgid "SVG" -msgstr "Svg" +msgstr "SVG" -#, boost-format +#, possible-boost-format msgid "Opacity (%1%)" msgstr "Opacidade (%1%)" -#, boost-format +#, possible-boost-format msgid "Color gradient (%1%)" msgstr "Gradiente de cor (%1%)" @@ -1137,27 +1096,23 @@ msgstr "Tipo de traço indefinido" msgid "Path can't be healed from selfintersection and multiple points." msgstr "O caminho não pode ser reparado de auto-interseção e pontos múltiplos." -msgid "" -"Final shape constains selfintersection or multiple points with same " -"coordinate." -msgstr "" -"A forma final contém auto-interseção ou múltiplos pontos com mesma " -"coordenada." +msgid "Final shape constains selfintersection or multiple points with same coordinate." +msgstr "A forma final contém auto-interseção ou múltiplos pontos com mesma coordenada." -#, boost-format +#, possible-boost-format msgid "Shape is marked as invisible (%1%)." msgstr "A forma está marcada como invisível (%1%)." #. TRN: The first placeholder is shape identifier, the second one is text describing the problem. -#, boost-format +#, possible-boost-format msgid "Fill of shape (%1%) contains unsupported: %2%." msgstr "O preenchimento da forma (%1%) contém não suportado: %2%." -#, boost-format +#, possible-boost-format msgid "Stroke of shape (%1%) is too thin (minimal width is %2% mm)." msgstr "O traço da forma (%1%) é muito fino (largura mínima é %2% mm)." -#, boost-format +#, possible-boost-format msgid "Stroke of shape (%1%) contains unsupported: %2%." msgstr "O traço da forma (%1%) contém não suportado: %2%." @@ -1168,7 +1123,7 @@ msgstr "Virar para a câmera" msgid "Unknown filename" msgstr "Nome do arquivo desconhecido" -#, boost-format +#, possible-boost-format msgid "SVG file path is \"%1%\"" msgstr "O caminho do arquivo SVG é \"%1%\"." @@ -1184,11 +1139,9 @@ msgstr "Mudar para outro arquivo .svg" msgid "Forget the file path" msgstr "Esquecer o caminho do arquivo" -msgid "" -"Do NOT save local path to 3MF file.\n" +msgid "Do NOT save local path to 3MF file.\n" "Also disables 'reload from disk' option." -msgstr "" -"NÃO salve o caminho local para o arquivo 3MF.\n" +msgstr "NÃO salve o caminho local para o arquivo 3MF.\n" "Também desabilita a opção 'recarregar do disco'." #. TRN: An menu option to convert the SVG into an unmodifiable model part. @@ -1212,7 +1165,7 @@ msgid "Size in emboss direction." msgstr "Tamanho na direção de relevo." #. TRN: The placeholder contains a number. -#, boost-format +#, possible-boost-format msgid "Scale also changes amount of curve samples (%1%)" msgstr "A escala também altera a quantidade de amostras de curva (%1%)" @@ -1257,20 +1210,19 @@ msgstr "Espelhar" msgid "Choose SVG file for emboss:" msgstr "Escolher arquivo SVG para relevo:" -#, boost-format +#, possible-boost-format msgid "File does NOT exist (%1%)." msgstr "O arquivo NÃO existe (%1%)." -#, boost-format +#, possible-boost-format msgid "Filename has to end with \".svg\" but you selected %1%" -msgstr "" -"O nome do arquivo precisa terminar com \".svg\", mas você selecionou %1%" +msgstr "O nome do arquivo precisa terminar com \".svg\", mas você selecionou %1%" -#, boost-format +#, possible-boost-format msgid "Nano SVG parser can't load from file (%1%)." msgstr "O analisador Nano SVG não pode carregar do arquivo (%1%)." -#, boost-format +#, possible-boost-format msgid "SVG file does NOT contain a single path to be embossed (%1%)." msgstr "O arquivo SVG NÃO contém um único caminho para ser relevado (%1%)." @@ -1365,14 +1317,12 @@ msgstr "Aviso" msgid "Undefined" msgstr "Indefinido" -#, boost-format +#, possible-boost-format msgid "%1% was replaced with %2%" msgstr "%1% foi substituído por %2%" msgid "The configuration may be generated by a newer version of OrcaSlicer." -msgstr "" -"A configuração pode ter sido gerada por uma versão mais recente do " -"OrcaSlicer." +msgstr "A configuração pode ter sido gerada por uma versão mais recente do OrcaSlicer." msgid "Some values have been replaced. Please check them:" msgstr "Alguns valores foram substituídos. Por favor, verifique-os:" @@ -1387,38 +1337,25 @@ msgid "Machine" msgstr "Máquina" msgid "Configuration package was loaded, but some values were not recognized." -msgstr "" -"O pacote de configuração foi carregado, mas alguns valores não foram " -"reconhecidos." +msgstr "O pacote de configuração foi carregado, mas alguns valores não foram reconhecidos." -#, boost-format -msgid "" -"Configuration file \"%1%\" was loaded, but some values were not recognized." -msgstr "" -"O arquivo de configuração \"%1%\" foi carregado, mas alguns valores não " -"foram reconhecidos." +#, possible-boost-format +msgid "Configuration file \"%1%\" was loaded, but some values were not recognized." +msgstr "O arquivo de configuração \"%1%\" foi carregado, mas alguns valores não foram reconhecidos." -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 será encerrado devido à falta de memória. Pode ser um bug. " -"Agradecemos se você relatar o problema para nossa equipe." +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 será encerrado devido à falta de memória. Pode ser um bug. Agradecemos se você relatar o problema para nossa equipe." msgid "Fatal error" msgstr "Erro fatal" -msgid "" -"OrcaSlicer will terminate because of a localization error. It will be " -"appreciated if you report the specific scenario this issue happened." -msgstr "" -"OrcaSlicer será encerrado devido a um erro de localização. Agradecemos se " -"você relatar o cenário específico em que esse problema ocorreu." +msgid "OrcaSlicer will terminate because of a localization error. It will be appreciated if you report the specific scenario this issue happened." +msgstr "OrcaSlicer será encerrado devido a um erro de localização. Agradecemos se você relatar o cenário específico em que esse problema ocorreu." msgid "Critical error" msgstr "Erro crítico" -#, boost-format +#, possible-boost-format msgid "OrcaSlicer got an unhandled exception: %1%" msgstr "OrcaSlicer encontrou uma exceção não tratada: %1%" @@ -1434,28 +1371,22 @@ msgstr "As informações de login expiraram. Por favor, faça o login novamente. msgid "Incorrect password" msgstr "Senha incorreta" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Connect %s failed! [SN:%s, code=%s]" msgstr "Falha na conexão %s! [SN:%s, código=%s]" -msgid "" -"Orca Slicer requires the Microsoft WebView2 Runtime to operate certain " -"features.\n" +msgid "Orca Slicer requires the Microsoft WebView2 Runtime to operate certain features.\n" "Click Yes to install it now." -msgstr "" -"Orca Slicer requer o tempo de execução Microsoft WebView2 para operar " -"determinados recursos.\n" +msgstr "Orca Slicer requer o tempo de execução Microsoft WebView2 para operar determinados recursos.\n" "Clique em Sim para instalá-lo agora." msgid "WebView2 Runtime" -msgstr "WebView2 Runtime" +msgstr "Tempo de execução WebView2" -#, c-format, boost-format -msgid "" -"%s\n" +#, possible-c-format, possible-boost-format +msgid "%s\n" "Do you want to continue?" -msgstr "" -"%s\n" +msgstr "%s\n" "Deseja continuar?" msgid "Remember my choice" @@ -1464,7 +1395,7 @@ msgstr "Lembrar minha escolha" msgid "Loading configuration" msgstr "Carregando configuração" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Click to download new version in default browser: %s" msgstr "Clique para baixar a nova versão no navegador padrão: %s" @@ -1477,17 +1408,12 @@ msgstr "Esta é a versão mais recente." msgid "Info" msgstr "Informações" -msgid "" -"The OrcaSlicer configuration file may be corrupted and cannot be parsed.\n" +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 "" -"O arquivo de configuração do OrcaSlicer pode estar corrompido e não pode ser " -"analisado.\n" +"Please note, application settings will be lost, but printer profiles will not be affected." +msgstr "O arquivo de configuração do OrcaSlicer pode estar corrompido e não pode ser analisado.\n" "O OrcaSlicer tentou recriar o arquivo de configuração.\n" -"Por favor, note que as configurações do aplicativo serão perdidas, mas os " -"perfis de impressora não serão afetados." +"Por favor, note que as configurações do aplicativo serão perdidas, mas os perfis de impressora não serão afetados." msgid "Rebuild" msgstr "Reconstruindo" @@ -1508,7 +1434,7 @@ msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):" msgstr "Escolha um ou mais arquivos (3mf/step/stl/svg/obj/amf):" msgid "Choose ZIP file" -msgstr "" +msgstr "Escolha o arquivo ZIP" msgid "Choose one file (gcode/3mf):" msgstr "Escolha um arquivo (gcode/3mf):" @@ -1516,40 +1442,26 @@ msgstr "Escolha um arquivo (gcode/3mf):" msgid "Some presets are modified." msgstr "Alguns presets foram modificados." -msgid "" -"You can keep the modifield presets to the new project, discard or save " -"changes as new presets." -msgstr "" -"Você pode manter os modelos modificados no novo projeto, descartar ou salvar " -"as alterações como novos modelos." +msgid "You can keep the modifield presets to the new project, discard or save changes as new presets." +msgstr "Você pode manter os modelos modificados no novo projeto, descartar ou salvar as alterações como novos modelos." msgid "User logged out" msgstr "Usuário desconectado" msgid "new or open project file is not allowed during the slicing process!" -msgstr "" -"criar ou abrir um arquivo de projeto novo não é permitido durante o processo " -"de fatiamento!" +msgstr "criar ou abrir um arquivo de projeto novo não é permitido durante o processo de fatiamento!" msgid "Open Project" msgstr "Abrir Projeto" -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 "" -"A versão do Orca Slicer é muito antiga e precisa ser atualizada para a " -"versão mais recente antes de poder ser usada normalmente" +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 "A versão do Orca Slicer é muito antiga e precisa ser atualizada para a versão mais recente antes de poder ser usada normalmente" msgid "Privacy Policy Update" msgstr "Atualização da Política de Privacidade" -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 "" -"O número de presets de usuário em cache na nuvem excedeu o limite superior, " -"os presets de usuário recém-criados só podem ser usados localmente." +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 "O número de presets de usuário em cache na nuvem excedeu o limite superior, os presets de usuário recém-criados só podem ser usados localmente." msgid "Sync user presets" msgstr "Sincronizar presets do usuário" @@ -1581,10 +1493,8 @@ msgstr "Envios em andamento" msgid "Select a G-code file:" msgstr "Selecione um arquivo G-code:" -msgid "" -"Could not start URL download. Destination folder is not set. Please choose " -"destination folder in Configuration Wizard." -msgstr "" +msgid "Could not start URL download. Destination folder is not set. Please choose destination folder in Configuration Wizard." +msgstr "Não foi possível baixar da URL. A pasta de destino não está definida. Por favor, escolha a pasta de destino no Assistente de Configuração." msgid "Import File" msgstr "Importar Arquivo" @@ -1604,7 +1514,7 @@ msgstr "Renomear" msgid "Orca Slicer GUI initialization failed" msgstr "Falha na inicialização da interface do Orca Slicer" -#, boost-format +#, possible-boost-format msgid "Fatal error, exception catched: %1%" msgstr "Erro fatal, exceção capturada: %1%" @@ -1621,7 +1531,7 @@ msgid "Support" msgstr "Suporte" msgid "Flush options" -msgstr "Opções de purga" +msgstr "Opções de limpeza" msgid "Speed" msgstr "Velocidade" @@ -1743,18 +1653,11 @@ msgstr "Stanford Bunny" msgid "Orca String Hell" msgstr "Orca String Hell" -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" +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 "" -"Este modelo possui texto em alto relevo na superfície superior. Para obter " -"os melhores resultados, é aconselhável definir o 'Limiar de perímetro " -"único'\n" -" (min_width_top_surface)' como 0 para que 'Apenas uma Parede nas Superfícies " -"Superiores' funcione melhor.\n" +msgstr "Este modelo possui texto em alto relevo na superfície superior. Para obter os melhores resultados, é aconselhável definir o 'Limiar de perímetro único'\n" +" (min_width_top_surface)' como 0 para que 'Apenas uma Parede nas Superfícies Superiores' funcione melhor.\n" "Sim - Alterar essas configurações automaticamente\n" "Não - Não alterar essas configurações para mim" @@ -1815,7 +1718,7 @@ msgstr "Definir filamento para itens selecionados" msgid "Default" msgstr "Padrão" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Filament %d" msgstr "Filamento %d" @@ -1829,16 +1732,16 @@ msgid "Scale an object to fit the build volume" msgstr "Dimensionar um objeto para caber no volume de impressão" msgid "Flush Options" -msgstr "Opções de Purga" +msgstr "Opções de Limpeza" msgid "Flush into objects' infill" -msgstr "Purgar no preenchimento dos objetos" +msgstr "Limpar no preenchimento dos objetos" msgid "Flush into this object" -msgstr "Purgar neste objeto" +msgstr "Limpar neste objeto" msgid "Flush into objects' support" -msgstr "Purgar nos suportes dos objetos" +msgstr "Limpar nos suportes dos objetos" msgid "Edit in Parameter Table" msgstr "Editar na Tabela de Parâmetros" @@ -1940,8 +1843,7 @@ msgid "Auto orientation" msgstr "Orientação Automática" msgid "Auto orient the object to improve print quality." -msgstr "" -"Orientar automaticamente o objeto para melhorar a qualidade de impressão." +msgstr "Orientar automaticamente o objeto para melhorar a qualidade de impressão." msgid "Split the selected object into mutiple objects" msgstr "Dividir o objeto selecionado em vários objetos" @@ -1968,10 +1870,10 @@ msgid "arrange current plate" msgstr "organizar mesa atual" msgid "Reload All" -msgstr "" +msgstr "Recarregar Tudo" msgid "reload all from disk" -msgstr "" +msgstr "Recarregar tudo do disco" msgid "Auto Rotate" msgstr "Auto-orientação" @@ -2021,13 +1923,13 @@ msgstr "Nome" msgid "Fila." msgstr "Fila." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%1$d error repaired" msgid_plural "%1$d errors repaired" msgstr[0] "%1$d erro reparado" msgstr[1] "%1$d erros reparados" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Error: %1$d non-manifold edge." msgid_plural "Error: %1$d non-manifold edges." msgstr[0] "Erro: %1$d aresta não-manifold." @@ -2036,7 +1938,7 @@ msgstr[1] "Erro: %1$d arestas não-manifold." msgid "Remaining errors" msgstr "Erros restantes" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%1$d non-manifold edge" msgid_plural "%1$d non-manifold edges" msgstr[0] "%1$d aresta não-manifold" @@ -2046,16 +1948,13 @@ msgid "Right click the icon to fix model object" msgstr "Clique com o botão direito no ícone para corrigir o objeto do modelo" msgid "Right button click the icon to drop the object settings" -msgstr "" -"Clique com o botão direito no ícone para descartar as configurações do objeto" +msgstr "Clique com o botão direito no ícone para descartar as configurações do objeto" msgid "Click the icon to reset all settings of the object" msgstr "Clique no ícone para redefinir todas as configurações do objeto" msgid "Right button click the icon to drop the object printable property" -msgstr "" -"Clique com o botão direito no ícone para descartar a propriedade imprimível " -"do objeto" +msgstr "Clique com o botão direito no ícone para descartar a propriedade imprimível do objeto" msgid "Click the icon to toggle printable property of the object" msgstr "Clique no ícone para alternar a propriedade imprimível do objeto" @@ -2087,12 +1986,8 @@ msgstr "Adicionar Modificador" msgid "Switch to per-object setting mode to edit modifier settings." msgstr "Mude para o modo de configuração por objeto para editar modificadores." -msgid "" -"Switch to per-object setting mode to edit process settings of selected " -"objects." -msgstr "" -"Mude para o modo de configuração por objeto para editar processos dos " -"objetos selecionados." +msgid "Switch to per-object setting mode to edit process settings of selected objects." +msgstr "Mude para o modo de configuração por objeto para editar processos dos objetos selecionados." msgid "Delete connector from object which is a part of cut" msgstr "Excluir conector do objeto que é parte do corte" @@ -2103,25 +1998,15 @@ msgstr "Excluir peça sólida do objeto que é peça do corte" msgid "Delete negative volume from object which is a part of cut" msgstr "Excluir volume negativo do objeto que é parte do corte" -msgid "" -"To save cut correspondence you can delete all connectors from all related " -"objects." -msgstr "" -"Para salvar a correspondência de corte, você pode excluir todos os " -"conectores de todos os objetos relacionados." +msgid "To save cut correspondence you can delete all connectors from all related objects." +msgstr "Para salvar a correspondência de corte, você pode excluir todos os conectores de todos os objetos relacionados." -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 infornation first." -msgstr "" -"Esta ação irá quebrar a correspondência de corte.\n" -"Depois disso, a consistência do modelo não pode ser garantida.\n" -"\n" -"Para manipular peças sólidas ou volumes negativos, você deve invalidar as " -"informações de corte primeiro." +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 infornation first." +msgstr "Esta ação irá quebrar a correspondência de corte.\n" +"Depois disso, a consistência do modelo não pode ser garantida.\n\n" +"Para manipular peças sólidas ou volumes negativos, você deve invalidar as informações de corte primeiro." msgid "Delete all connectors" msgstr "Excluir todos os conectores" @@ -2171,18 +2056,11 @@ msgstr "Camada" msgid "Selection conflicts" msgstr "Conflitos de seleção" -msgid "" -"If first selected item is an object, the second one should also be object." -msgstr "" -"Se o primeiro item selecionado for um objeto, o segundo também deve ser um " -"objeto." +msgid "If first selected item is an object, the second one should also be object." +msgstr "Se o primeiro item selecionado for um objeto, o segundo também deve ser um objeto." -msgid "" -"If first selected item is a part, the second one should be part in the same " -"object." -msgstr "" -"Se o primeiro item selecionado for uma peça, o segundo deve ser uma peça no " -"mesmo objeto." +msgid "If first selected item is a part, the second one should be part in the same object." +msgstr "Se o primeiro item selecionado for uma peça, o segundo deve ser uma peça no mesmo objeto." msgid "The type of the last solid object part is not to be changed." msgstr "O tipo da última peça do objeto sólido não deve ser alterado." @@ -2240,8 +2118,7 @@ msgid "Invalid numeric." msgstr "Número inválido." msgid "one cell can only be copied to one or multiple cells in the same column" -msgstr "" -"uma célula só pode ser copiada para uma ou várias células na mesma coluna" +msgstr "uma célula só pode ser copiada para uma ou várias células na mesma coluna" msgid "multiple cells copy is not supported" msgstr "a cópia de múltiplas células não é suportada" @@ -2400,8 +2277,7 @@ msgid "Failed to connect to cloud service" msgstr "Falha ao conectar ao serviço de nuvem" msgid "Please click on the hyperlink above to view the cloud service status" -msgstr "" -"Por favor, clique no link acima para visualizar o status do serviço de nuvem" +msgstr "Por favor, clique no link acima para visualizar o status do serviço de nuvem" msgid "Failed to connect to the printer" msgstr "Falha ao conectar à impressora" @@ -2410,7 +2286,7 @@ msgid "Connection to printer failed" msgstr "Falha na conexão com a impressora" msgid "Please check the network connection of the printer and Orca." -msgstr "Por favor, verifique a conexão de rede da impressora e do Studio." +msgstr "Por favor, verifique a conexão de rede da impressora e do Orca." msgid "Connecting..." msgstr "Conectando..." @@ -2493,31 +2369,23 @@ msgstr "Verificar localização do filamento" msgid "Grab new filament" msgstr "Pegar novo filamento" -msgid "" -"Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically " -"load or unload filaments." -msgstr "" -"Escolha um slot AMS e pressione o botão \"Carregar\" ou \"Descarregar\" para " -"carregar ou descarregar automaticamente o filamento." +msgid "Choose an AMS slot then press \"Load\" or \"Unload\" button to automatically load or unload filaments." +msgstr "Escolha um slot AMS e pressione o botão \"Carregar\" ou \"Descarregar\" para carregar ou descarregar automaticamente o filamento." msgid "Edit" msgstr "Editar" -msgid "" -"All the selected objects are on the locked plate,\n" +msgid "All the selected objects are on the locked plate,\n" "We can not do auto-arrange on these objects." -msgstr "" -"Todos os objetos selecionados estão na mesa bloqueada,\n" +msgstr "Todos os objetos selecionados estão na mesa bloqueada,\n" "Não podemos fazer o auto-posicionamento nesses objetos." msgid "No arrangable objects are selected." msgstr "Nenhum objeto disponível para posicionamento foi selecionado." -msgid "" -"This plate is locked,\n" +msgid "This plate is locked,\n" "We can not do auto-arrange on this plate." -msgstr "" -"Esta mesa está bloqueada,\n" +msgstr "Esta mesa está bloqueada,\n" "Não podemos fazer o auto-posicionamento nesta mesa." msgid "Arranging..." @@ -2529,43 +2397,29 @@ msgstr "Organizando" msgid "Arranging canceled." msgstr "Organização cancelada." -msgid "" -"Arranging is done but there are unpacked items. Reduce spacing and try again." -msgstr "" -"A organização foi concluída, mas há itens desembalados. Reduza o espaçamento " -"e tente novamente." +msgid "Arranging is done but there are unpacked items. Reduce spacing and try again." +msgstr "A organização foi concluída, mas há itens desembalados. Reduza o espaçamento e tente novamente." msgid "Arranging done." msgstr "Organização concluída." -msgid "" -"Arrange failed. Found some exceptions when processing object geometries." -msgstr "" -"Organização falhou. Encontrou algumas exceções ao processar geometrias de " -"objetos." +msgid "Arrange failed. Found some exceptions when processing object geometries." +msgstr "Organização falhou. Encontrou algumas exceções ao processar geometrias de objetos." -#, c-format, boost-format -msgid "" -"Arrangement ignored the following objects which can't fit into a single " -"bed:\n" +#, possible-c-format, possible-boost-format +msgid "Arrangement ignored the following objects which can't fit into a single bed:\n" "%s" -msgstr "" -"A organização ignorou os seguintes objetos que não podem caber em uma única " -"mesa:\n" +msgstr "A organização ignorou os seguintes objetos que não podem caber em uma única mesa:\n" "%s" -msgid "" -"All the selected objects are on the locked plate,\n" +msgid "All the selected objects are on the locked plate,\n" "We can not do auto-orient on these objects." -msgstr "" -"Todos os objetos selecionados estão na mesa bloqueada,\n" +msgstr "Todos os objetos selecionados estão na mesa bloqueada,\n" "Não podemos fazer a auto-orientação nesses objetos." -msgid "" -"This plate is locked,\n" +msgid "This plate is locked,\n" "We can not do auto-orient on this plate." -msgstr "" -"Esta mesa está bloqueada,\n" +msgstr "Esta mesa está bloqueada,\n" "Não podemos fazer a auto-orientação nesta mesa." msgid "Orienting..." @@ -2611,9 +2465,7 @@ msgid "Task canceled." msgstr "Tarefa cancelada." msgid "Upload task timed out. Please check the network status and try again." -msgstr "" -"O tempo para envio da tarefa expirou. Verifique o estado da rede e tente " -"novamente." +msgstr "O tempo para envio da tarefa expirou. Verifique o estado da rede e tente novamente." msgid "Cloud service connection failed. Please try again." msgstr "Falha na conexão com o serviço de nuvem. Por favor, tente novamente." @@ -2621,12 +2473,8 @@ msgstr "Falha na conexão com o serviço de nuvem. Por favor, tente novamente." msgid "Print file not found. please slice again." msgstr "Arquivo de impressão não encontrado. Por favor, fatie novamente." -msgid "" -"The print file exceeds the maximum allowable size (1GB). Please simplify the " -"model and slice again." -msgstr "" -"O arquivo de impressão excede o tamanho máximo permitido (1GB). Por favor, " -"simplifique o modelo e fatie novamente." +msgid "The print file exceeds the maximum allowable size (1GB). Please simplify the model and slice again." +msgstr "O arquivo de impressão excede o tamanho máximo permitido (1GB). Por favor, simplifique o modelo e fatie novamente." msgid "Failed to send the print job. Please try again." msgstr "Falha ao enviar o trabalho de impressão. Por favor, tente novamente." @@ -2634,28 +2482,17 @@ msgstr "Falha ao enviar o trabalho de impressão. Por favor, tente novamente." msgid "Failed to upload file to ftp. Please try again." msgstr "Falha ao enviar o arquivo via FTP. Por favor, tente novamente." -msgid "" -"Check the current status of the bambu server by clicking on the link above." +msgid "Check the current status of the bambu server by clicking on the link above." msgstr "Verifique o estado atual do servidor Bambu clicando no link acima." -msgid "" -"The size of the print file is too large. Please adjust the file size and try " -"again." -msgstr "" -"O tamanho do arquivo de impressão é muito grande. Por favor, ajuste o " -"tamanho do arquivo e tente novamente." +msgid "The size of the print file is too large. Please adjust the file size and try again." +msgstr "O tamanho do arquivo de impressão é muito grande. Por favor, ajuste o tamanho do arquivo e tente novamente." msgid "Print file not found, Please slice it again and send it for printing." -msgstr "" -"Arquivo de impressão não encontrado. Por favor, fatie-o novamente e envie " -"para impressão." +msgstr "Arquivo de impressão não encontrado. Por favor, fatie-o novamente e envie para impressão." -msgid "" -"Failed to upload print file to FTP. Please check the network status and try " -"again." -msgstr "" -"Falha ao enviar o arquivo de impressão via FTP. Por favor, verifique o " -"estado da rede e tente novamente." +msgid "Failed to upload print file to FTP. Please check the network status and try again." +msgstr "Falha ao enviar o arquivo de impressão via FTP. Por favor, verifique o estado da rede e tente novamente." msgid "Sending print job over LAN" msgstr "Enviando trabalho de impressão via LAN" @@ -2675,16 +2512,13 @@ msgstr "Erro Desconhecido." msgid "Sending print configuration" msgstr "Enviando configuração de impressão" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Successfully sent. Will automatically jump to the device page in %ss" -msgstr "" -"Enviado com sucesso. Irá saltar automaticamente para a página do dispositivo " -"em %ss" +msgstr "Enviado com sucesso. Irá saltar automaticamente para a página do dispositivo em %ss" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Successfully sent. Will automatically jump to the next page in %ss" -msgstr "" -"Enviado com sucesso. Irá saltar automaticamente para a próxima página em %ss" +msgstr "Enviado com sucesso. Irá saltar automaticamente para a próxima página em %ss" msgid "An SD card needs to be inserted before printing via LAN." msgstr "Um cartão SD precisa ser inserido antes de imprimir via LAN." @@ -2695,7 +2529,7 @@ msgstr "Enviando arquivo de G-Code via LAN" msgid "Sending gcode file to sdcard" msgstr "Enviando arquivo de G-Code para o cartão SD" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Successfully sent. Close current page in %s s" msgstr "Enviado com sucesso. Feche a página atual em %s s" @@ -2705,12 +2539,8 @@ msgstr "Um cartão SD precisa ser inserido antes de enviar para a impressora." msgid "Importing SLA archive" msgstr "Importando arquivo SLA" -msgid "" -"The SLA archive doesn't contain any presets. Please activate some SLA " -"printer preset first before importing that SLA archive." -msgstr "" -"O arquivo SLA não contém nenhum perfil. Por favor, ative alguns perfis de " -"impressora SLA antes de importar esse arquivo SLA." +msgid "The SLA archive doesn't contain any presets. Please activate some SLA printer preset first before importing that SLA archive." +msgstr "O arquivo SLA não contém nenhum perfil. Por favor, ative alguns perfis de impressora SLA antes de importar esse arquivo SLA." msgid "Importing canceled." msgstr "Importação cancelada." @@ -2718,21 +2548,14 @@ msgstr "Importação cancelada." msgid "Importing done." msgstr "Importação concluída." -msgid "" -"The imported SLA archive did not contain any presets. The current SLA " -"presets were used as fallback." -msgstr "" -"O arquivo SLA importado não contém nenhum perfil. Os perfis SLA atuais foram " -"usados como alternativa." +msgid "The imported SLA archive did not contain any presets. The current SLA presets were used as fallback." +msgstr "O arquivo SLA importado não contém nenhum perfil. Os perfis SLA atuais foram usados como alternativa." msgid "You cannot load SLA project with a multi-part object on the bed" -msgstr "" -"Você não pode carregar um projeto SLA com um objeto de várias peças na mesa" +msgstr "Você não pode carregar um projeto SLA com um objeto de várias peças na mesa" msgid "Please check your object list before preset changing." -msgstr "" -"Por favor, verifique sua lista de objetos antes de mudar a configuração " -"predefinida." +msgstr "Por favor, verifique sua lista de objetos antes de mudar a configuração predefinida." msgid "Attention!" msgstr "Atenção!" @@ -2771,19 +2594,15 @@ msgid "GNU Affero General Public License, version 3" msgstr "Licença Pública Geral Affero GNU, versão 3" msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" -msgstr "" +msgstr "Orca Slicer é baseado no PrusaSlicer e BambuStudio" msgid "Libraries" msgstr "Bibliotecas" -msgid "" -"This software uses open source components whose copyright and other " -"proprietary rights belong to their respective owners" -msgstr "" -"Este software utiliza componentes open source cujos direitos autorais e " -"outros direitos de propriedade pertencem aos seus respectivos proprietários" +msgid "This software uses open source components whose copyright and other proprietary rights belong to their respective owners" +msgstr "Este software utiliza componentes open source cujos direitos autorais e outros direitos de propriedade pertencem aos seus respectivos proprietários" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "About %s" msgstr "Sobre %s" @@ -2797,15 +2616,10 @@ msgid "BambuStudio is originally based on PrusaSlicer by PrusaResearch." msgstr "BambuStudio é originalmente baseado no PrusaSlicer pela PrusaResearch." msgid "PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci." -msgstr "" -"PrusaSlicer é originalmente baseado no Slic3r por Alessandro Ranellucci." +msgstr "PrusaSlicer é originalmente baseado no Slic3r por Alessandro Ranellucci." -msgid "" -"Slic3r was created by Alessandro Ranellucci with the help of many other " -"contributors." -msgstr "" -"Slic3r foi criado por Alessandro Ranellucci com a ajuda de muitos outros " -"colaboradores." +msgid "Slic3r was created by Alessandro Ranellucci with the help of many other contributors." +msgstr "Slic3r foi criado por Alessandro Ranellucci com a ajuda de muitos outros colaboradores." msgid "Version" msgstr "Versão" @@ -2822,11 +2636,9 @@ msgstr "Fechar" msgid "Colour" msgstr "Cor" -msgid "" -"Nozzle\n" +msgid "Nozzle\n" "Temperature" -msgstr "" -"Bico\n" +msgstr "Bico\n" "Temperatura" msgid "max" @@ -2835,7 +2647,7 @@ msgstr "máx" msgid "min" msgstr "min." -#, boost-format +#, possible-boost-format msgid "The input value should be greater than %1% and less than %2%" msgstr "O valor de entrada deve ser maior que %1% e menor que %2%" @@ -2843,9 +2655,7 @@ msgid "SN" msgstr "SN" msgid "Setting AMS slot information while printing is not supported" -msgstr "" -"A configuração das informações do slot AMS durante a impressão não é " -"suportada" +msgstr "A configuração das informações do slot AMS durante a impressão não é suportada" msgid "Factors of Flow Dynamics Calibration" msgstr "Fatores de Calibração de Dinâmica de Fluxo" @@ -2860,9 +2670,7 @@ msgid "Factor N" msgstr "Fator N" msgid "Setting Virtual slot information while printing is not supported" -msgstr "" -"A configuração de informações do slot virtual durante a impressão não é " -"suportada" +msgstr "A configuração de informações do slot virtual durante a impressão não é suportada" msgid "Are you sure you want to clear the filament information?" msgstr "Tem certeza de que deseja limpar as informações do filamento?" @@ -2885,14 +2693,8 @@ msgstr "Cor Personalizada" msgid "Dynamic flow calibration" msgstr "Calibração dinâmica do fluxo" -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 "" -"A temperatura do bico e a fluxo volumétrico máximo afetarão os resultados da " -"calibração. Preencha os mesmos valores que a impressão atual. Eles podem ser " -"preenchidos automaticamente selecionando um perfil de filamento." +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 "A temperatura do bico e a fluxo volumétrico máximo afetarão os resultados da calibração. Preencha os mesmos valores que a impressão atual. Eles podem ser preenchidos automaticamente selecionando um perfil de filamento." msgid "Nozzle Diameter" msgstr "Diâmetro do bico" @@ -2924,14 +2726,8 @@ msgstr "Iniciar calibração" msgid "Next" msgstr "Próximo" -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 "" -"Calibração concluída. Por favor, encontre a linha de extrusão mais uniforme " -"na sua mesa aquecida como na imagem abaixo, e preencha o valor do seu lado " -"esquerdo na caixa de entrada do fator K." +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 "Calibração concluída. Por favor, encontre a linha de extrusão mais uniforme na sua mesa aquecida como na imagem abaixo, e preencha o valor do seu lado esquerdo na caixa de entrada do fator K." msgid "Save" msgstr "Salvar" @@ -2942,14 +2738,14 @@ msgstr "Última Etapa" msgid "Example" msgstr "Exemplo" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Calibrating... %d%%" msgstr "Calibrando... %d%%" msgid "Calibration completed" msgstr "Calibração concluída" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%s does not support %s" msgstr "%s não suporta %s" @@ -2962,11 +2758,8 @@ msgstr "Passo" msgid "AMS Slots" msgstr "Espaços do AMS" -msgid "" -"Note: Only the AMS slots loaded with the same material type can be selected." -msgstr "" -"Nota: Apenas os espaços do AMS carregados com o mesmo tipo de material podem " -"ser selecionadas." +msgid "Note: Only the AMS slots loaded with the same material type can be selected." +msgstr "Nota: Apenas os espaços do AMS carregados com o mesmo tipo de material podem ser selecionadas." msgid "Enable AMS" msgstr "Ativar AMS" @@ -2983,22 +2776,11 @@ msgstr "Imprimir com o filamento montado na parte de trás do chassi" msgid "Current Cabin humidity" msgstr "Umidade da cabine atual" -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, low " -"temperatures also slow down the process." -msgstr "" -"Por favor, mude o dessecante quando estiver muito úmido. O indicador pode " -"não representar com precisão nos casos a seguir: quando a tampa está aberta " -"ou quando o dessecante é trocado. Leva horas para absorver a umidade, baixas " -"temperaturas também atrasam o processo." +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, low temperatures also slow down the process." +msgstr "Por favor, mude o dessecante quando estiver muito molhado. O indicador pode não representar com precisão nos casos a seguir: quando a tampa está aberta ou quando o dessecante é trocado. Leva horas para absorver a umidade, baixas temperaturas também atrasam o processo." -msgid "" -"Config which AMS slot should be used for a filament used in the print job" -msgstr "" -"Configure qual espaço do AMS deve ser usado para um filamento usado no " -"trabalho de impressão" +msgid "Config which AMS slot should be used for a filament used in the print job" +msgstr "Configure qual espaço do AMS deve ser usado para um filamento usado no trabalho de impressão" msgid "Filament used in this print job" msgstr "Filamento usado neste trabalho de impressão" @@ -3021,12 +2803,8 @@ msgstr "Imprimir com filamentos no AMS" msgid "Print with filaments mounted on the back of the chassis" msgstr "Imprimir com filamentos montados na parte de trás do chassi" -msgid "" -"When the current material run out, the printer will continue to print in the " -"following order." -msgstr "" -"Quando o material atual acabar, a impressora continuará a imprimir na " -"seguinte ordem." +msgid "When the current material run out, the printer will continue to print in the following order." +msgstr "Quando o material atual acabar, a impressora continuará a imprimir na seguinte ordem." msgid "Group" msgstr "Grupo" @@ -3034,28 +2812,19 @@ msgstr "Grupo" msgid "The printer does not currently support auto refill." msgstr "A impressora atualmente não suporta recarga automática." -msgid "" -"AMS filament backup is not enabled, please enable it in the AMS settings." -msgstr "" -"O backup de filamento do AMS não está ativado, por favor, ative-o nas " -"configurações do AMS." +msgid "AMS filament backup is not enabled, please enable it in the AMS settings." +msgstr "O backup de filamento do AMS não está ativado, por favor, ative-o nas configurações do AMS." -msgid "" -"If there are two identical filaments in AMS, AMS filament backup will be " -"enabled. \n" -"(Currently supporting automatic supply of consumables with the same brand, " -"material type, and color)" -msgstr "" -"Se houver dois filamentos idênticos no AMS, o backup de filamento do AMS " -"será ativado. \n" -"(Atualmente suportando o fornecimento automático de consumíveis da mesma " -"marca, tipo de material e cor)" +msgid "If there are two identical filaments in AMS, AMS filament backup will be enabled. \n" +"(Currently supporting automatic supply of consumables with the same brand, material type, and color)" +msgstr "Se houver dois filamentos idênticos no AMS, o backup de filamento do AMS será ativado. \n" +"(Atualmente suportando o fornecimento automático de consumíveis da mesma marca, tipo de material e cor)" msgid "DRY" msgstr "SECO" msgid "WET" -msgstr "ÚMIDO" +msgstr "MOLHADO" msgid "AMS Settings" msgstr "Configurações do AMS" @@ -3063,77 +2832,41 @@ msgstr "Configurações do AMS" msgid "Insertion update" msgstr "Atualização de inserção" -msgid "" -"The AMS will automatically read the filament information when inserting a " -"new Bambu Lab filament. This takes about 20 seconds." -msgstr "" -"O AMS irá ler automaticamente as informações do filamento ao inserir um novo " -"filamento da Bambu Lab. Isso leva cerca de 20 segundos." +msgid "The AMS will automatically read the filament information when inserting a new Bambu Lab filament. This takes about 20 seconds." +msgstr "O AMS irá ler automaticamente as informações do filamento ao inserir um novo filamento da Bambu Lab. Isso leva cerca de 20 segundos." -msgid "" -"Note: if a new filament is inserted during printing, the AMS will not " -"automatically read any information until printing is completed." -msgstr "" -"Nota: se um novo filamento for inserido durante a impressão, o AMS não irá " -"ler automaticamente nenhuma informação até que a impressão seja concluída." +msgid "Note: if a new filament is inserted during printing, the AMS will not automatically read any information until printing is completed." +msgstr "Nota: se um novo filamento for inserido durante a impressão, o AMS não irá ler automaticamente nenhuma informação até que a impressão seja concluída." -msgid "" -"When inserting a new filament, the AMS will not automatically read its " -"information, leaving it blank for you to enter manually." -msgstr "" -"Ao inserir um novo filamento, o AMS não irá ler automaticamente suas " -"informações, deixando-o em branco para você inserir manualmente." +msgid "When inserting a new filament, the AMS will not automatically read its information, leaving it blank for you to enter manually." +msgstr "Ao inserir um novo filamento, o AMS não irá ler automaticamente suas informações, deixando-o em branco para você inserir manualmente." msgid "Power on update" msgstr "Atualização de inicialização" -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 filament " -"spools." -msgstr "" -"O AMS irá ler automaticamente as informações do filamento inserido na " -"inicialização. Levará cerca de 1 minuto. O processo de leitura irá girar as " -"bobinas de filamento." +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 filament spools." +msgstr "O AMS irá ler automaticamente as informações do filamento inserido na inicialização. Levará cerca de 1 minuto. O processo de leitura irá girar as bobinas de filamento." -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 "" -"O AMS não irá ler automaticamente informações do filamento inserido durante " -"a inicialização e continuará a usar as informações registradas antes do " -"último desligamento." +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 "O AMS não irá ler automaticamente informações do filamento inserido durante a inicialização e continuará a usar as informações registradas antes do último desligamento." msgid "Update remaining capacity" msgstr "Atualizar capacidade restante" -msgid "" -"The AMS will estimate Bambu filament's remaining capacity after the filament " -"info is updated. During printing, remaining capacity will be updated " -"automatically." -msgstr "" -"O AMS irá estimar a capacidade restante do filamento Bambu após as " -"informações do filamento serem atualizadas. Durante a impressão, a " -"capacidade restante será atualizada automaticamente." +msgid "The AMS will estimate Bambu filament's remaining capacity after the filament info is updated. During printing, remaining capacity will be updated automatically." +msgstr "O AMS irá estimar a capacidade restante do filamento Bambu após as informações do filamento serem atualizadas. Durante a impressão, a capacidade restante será atualizada automaticamente." msgid "AMS filament backup" msgstr "Backup de filamento do AMS" -msgid "" -"AMS will continue to another spool with the same properties of filament " -"automatically when current filament runs out" -msgstr "" -"O AMS continuará para outra bobina com as mesmas propriedades do filamento " -"automaticamente quando o filamento atual acabar" +msgid "AMS will continue to another spool with the same properties of filament automatically when current filament runs out" +msgstr "O AMS continuará para outra bobina com as mesmas propriedades do filamento automaticamente quando o filamento atual acabar" msgid "Air Printing Detection" -msgstr "" +msgstr "Detecção de Impressão Aérea" -msgid "" -"Detects clogging and filament grinding, halting printing immediately to " -"conserve time and filament." -msgstr "" +msgid "Detects clogging and filament grinding, halting printing immediately to conserve time and filament." +msgstr "Detecta o entupimento e erosão de filamento, parando a impressão imediatamente para conservar tempo e filamento." msgid "File" msgstr "Arquivo" @@ -3141,19 +2874,11 @@ msgstr "Arquivo" msgid "Calibration" msgstr "Calibração" -msgid "" -"Failed to download the plug-in. Please check your firewall settings and vpn " -"software, check and retry." -msgstr "" -"Falha ao baixar o plug-in. Verifique as configurações do seu firewall e " -"software vpn, verifique e tente novamente." +msgid "Failed to download the plug-in. Please check your firewall settings and vpn software, check and retry." +msgstr "Falha ao baixar o plug-in. Verifique as configurações do seu firewall e software vpn, verifique e tente novamente." -msgid "" -"Failed to install the plug-in. Please check whether it is blocked or deleted " -"by anti-virus software." -msgstr "" -"Falha ao instalar o plug-in. Verifique se ele está bloqueado ou excluído " -"pelo software antivírus." +msgid "Failed to install the plug-in. Please check whether it is blocked or deleted by anti-virus software." +msgstr "Falha ao instalar o plug-in. Verifique se ele está bloqueado ou excluído pelo software antivírus." msgid "click here to see more info" msgstr "clique aqui para ver mais informações" @@ -3161,22 +2886,14 @@ msgstr "clique aqui para ver mais informações" msgid "Please home all axes (click " msgstr "Por favor, mandar a origem todos os eixos (clique " -msgid "" -") to locate the toolhead's position. This prevents device moving beyond the " -"printable boundary and causing equipment wear." -msgstr "" -") para localizar a posição da extrusora. Isso impede que o dispositivo se " -"mova além do limite imprimível e cause desgaste no equipamento." +msgid ") to locate the toolhead's position. This prevents device moving beyond the printable boundary and causing equipment wear." +msgstr ") para localizar a posição da extrusora. Isso impede que o dispositivo se mova além do limite imprimível e cause desgaste no equipamento." msgid "Go Home" msgstr "Ir para Ínicio" -msgid "" -"A error occurred. Maybe memory of system is not enough or it's a bug of the " -"program" -msgstr "" -"Ocorreu um erro. Talvez a memória do sistema não seja suficiente ou seja um " -"bug do programa" +msgid "A error occurred. Maybe memory of system is not enough or it's a bug of the program" +msgstr "Ocorreu um erro. Talvez a memória do sistema não seja suficiente ou seja um bug do programa" msgid "Please save project and restart the program. " msgstr "Por favor, salve o projeto e reinicie o programa. " @@ -3215,107 +2932,80 @@ msgid "Successfully executed post-processing script" msgstr "Script de pós-processamento executado com êxito" msgid "Unknown error occured during exporting G-code." -msgstr "Ocorreu um erro desconhecido durante a exportação do G-code." +msgstr "Ocorreu um erro desconhecido ao exportar G-code." -#, boost-format -msgid "" -"Copying of the temporary G-code to the output G-code failed. Maybe the SD " -"card is write locked?\n" +#, 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 "" -"Falha na cópia do G-code temporário para o G-code de saída. Talvez o cartão " -"SD está bloqueado para escrita?\n" +msgstr "A cópia do G-code temporário para o G-code de saída falhou. Talvez o cartão SD esteja bloqueado?\n" "Mensagem de erro: %1%" -#, 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 "" -"A cópia do G-code temporário para o G-code de saída falhou. Pode haver " -"problemas com o dispositivo de destino, por favor tente exportar novamente " -"ou usar dispositivo diferente. O G-code de saída corrompido está em %1%.tmp." +#, 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 "A cópia do G-code temporário para o G-code de saída falhou. Pode haver problema com o dispositivo de destino, por favor, tente exportar novamente ou usar outro dispositivo. O G-code de saída corrompido está em %1%.tmp." -#, 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 "" -"A renomeação do G-code após a cópia na pasta de destino selecionada falhou. " -"O caminho atual é %1%.tmp. Por favor, tente exportar de novo." +#, 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 "Renomear o G-code após copiar para a pasta destino selecionada falhou. O caminho atual é %1%.tmp. Por favor, tente exportar novamente." -#, 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 "" -"A cópia do G-code temporário foi concluída, mas o código original em %1% não " -"pôde ser aberto durante a verificação de cópia. O G-code de saída está em " -"%2%.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 "A cópia do G-code temporário foi concluída, mas o código original em %1% não pôde ser aberto durante a verificação da cópia. O G-gode de saída está em %2%.tmp." -#, 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 "" -"A cópia do G-code temporário foi concluída, mas o código exportado não pôde " -"ser aberto durante a verificação de cópia. O G-code de saída está em %1%.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 "A cópia do G-code temporário foi concluída, mas o código exportado não pôde ser aberto durante a verificação da cópia. O G-code de saída está em %1%.tmp." -#, boost-format +#, possible-boost-format msgid "G-code file exported to %1%" msgstr "Arquivo G-code exportado para %1%" msgid "Unknown error when export G-code." msgstr "Erro desconhecido ao exportar G-Code." -#, boost-format -msgid "" -"Failed to save gcode file.\n" +#, possible-boost-format +msgid "Failed to save gcode file.\n" "Error message: %1%.\n" "Source file %2%." -msgstr "" -"Falha ao salvar arquivo de G-Code.\n" +msgstr "Falha ao salvar arquivo de G-Code.\n" "Mensagem de erro: %1%.\n" "Arquivo de origem %2%." msgid "Copying of the temporary G-code to the output G-code failed" msgstr "Cópia do G-Code temporário para o G-Code de saída falhou" -#, boost-format +#, possible-boost-format msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" -msgstr "" -"Agendando o envio para `%1%`. Veja Janela -> Fila de Envio do Anfitrião de " -"Impressão" +msgstr "Agendando o envio para `%1%`. Veja Janela -> Fila de Envio do Anfitrião de Impressão" msgid "Device" msgstr "Dispositivo" msgid "Task Sending" -msgstr "" +msgstr "Envio de tarefa" msgid "Task Sent" -msgstr "" +msgstr "Tarefa Enviada" msgid "Edit multiple printers" -msgstr "" +msgstr "Editar múltiplas impressoras" msgid "Select connected printetrs (0/6)" -msgstr "" +msgstr "Selecione as impressoras conectadas (0/6)" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Select Connected Printetrs (%d/6)" -msgstr "" +msgstr "Selecionar as impressoras conectadas (%d/6)" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "The maximum number of printers that can be selected is %d" -msgstr "" +msgstr "O número máximo de impressoras que podem ser selecionadas é %d" msgid "Offline" msgstr "Desconectado" msgid "No task" -msgstr "" +msgstr "Nenhuma tarefa" msgid "View" msgstr "Visualizar" @@ -3324,23 +3014,22 @@ msgid "N/A" msgstr "N/D" msgid "Edit Printers" -msgstr "" +msgstr "Editar impressoras" msgid "Device Name" -msgstr "" +msgstr "Nome do Dispositivo" msgid "Task Name" -msgstr "" +msgstr "Nome da tarefa" msgid "Device Status" -msgstr "" +msgstr "Status do dispositivo" msgid "Actions" -msgstr "" +msgstr "Ações" -msgid "" -"Please select the devices you would like to manage here (up to 6 devices)" -msgstr "" +msgid "Please select the devices you would like to manage here (up to 6 devices)" +msgstr "Por favor, selecione os dispositivos que você gostaria de gerenciar aqui (até 6 dispositivos)" msgid "Add" msgstr "Adicionar" @@ -3352,22 +3041,22 @@ msgid "Printing" msgstr "Imprimindo" msgid "Upgrading" -msgstr "" +msgstr "Atualizando" msgid "Incompatible" msgstr "Incompatível" msgid "syncing" -msgstr "" +msgstr "sincronizando" msgid "Printing Finish" -msgstr "" +msgstr "Impressão finalizada" msgid "Printing Failed" -msgstr "" +msgstr "Falha na Impressão" msgid "PrintingPause" -msgstr "" +msgstr "Pausa na Impressão" msgid "Prepare" msgstr "Preparar" @@ -3376,28 +3065,28 @@ msgid "Slicing" msgstr "Fatiando" msgid "Pending" -msgstr "" +msgstr "Pendente" msgid "Sending" -msgstr "" +msgstr "Enviando" msgid "Sending Finish" -msgstr "" +msgstr "Envio Finalizado" msgid "Sending Cancel" -msgstr "" +msgstr "Cancelar Envio" msgid "Sending Failed" -msgstr "" +msgstr "Falha no Envio" msgid "Print Success" -msgstr "" +msgstr "Impressão Bem Sucedida" msgid "Print Failed" -msgstr "" +msgstr "Impressão Falhou" msgid "Removed" -msgstr "" +msgstr "Removido" msgid "Resume" msgstr "Continuar" @@ -3406,25 +3095,25 @@ msgid "Stop" msgstr "Parar" msgid "Task Status" -msgstr "" +msgstr "Status da tarefa" msgid "Sent Time" -msgstr "" +msgstr "Tempo de envio" msgid "There are no tasks to be sent!" -msgstr "" +msgstr "Não há tarefas a enviar!" msgid "No historical tasks!" -msgstr "" +msgstr "Nenhuma tarefa no histórico!" msgid "Loading..." msgstr "Carregando..." msgid "No AMS" -msgstr "" +msgstr "Nenhum AMS" msgid "Send to Multi-device" -msgstr "" +msgstr "Enviar para multi-dispositivo" msgid "Preparing print job" msgstr "Preparando trabalho de impressão" @@ -3433,25 +3122,25 @@ msgid "Abnormal print file data. Please slice again" msgstr "Dados de arquivo de impressão anormais. Por favor, fatie novamente" msgid "There is no device available to send printing." -msgstr "" +msgstr "Não há nenhum dispositivo disponível para enviar impressão." msgid "The number of printers in use simultaneously cannot be equal to 0." -msgstr "" +msgstr "O número de impressoras em uso simultaneamente não pode ser igual a 0." msgid "Use External Spool" -msgstr "" +msgstr "Usar Carretel Externo" msgid "Use AMS" -msgstr "" +msgstr "Usar AMS" msgid "Select Printers" -msgstr "" +msgstr "Selecionar impressoras" msgid "Ams Status" -msgstr "" +msgstr "Status do AMS" msgid "Printing Options" -msgstr "" +msgstr "Opções de Impressão" msgid "Bed Leveling" msgstr "Nivelamento da mesa" @@ -3460,25 +3149,22 @@ msgid "Timelapse" msgstr "Timelapse" msgid "Flow Dynamic Calibration" -msgstr "" +msgstr "Calibração de Fluxo Dinâmico" msgid "Send Options" -msgstr "" +msgstr "Opções de envio" msgid "Send" msgstr "Enviar" -msgid "" -"printers at the same time.(It depends on how many devices can undergo " -"heating at the same time.)" -msgstr "" +msgid "printers at the same time.(It depends on how many devices can undergo heating at the same time.)" +msgstr "impressoras ao mesmo tempo. (Depende de quantos dispositivos podem ser submetidos ao mesmo tempo.)" msgid "Wait" -msgstr "Aguardar" +msgstr "Aguarde" -msgid "" -"minute each batch.(It depends on how long it takes to complete the heating.)" -msgstr "" +msgid "minute each batch.(It depends on how long it takes to complete the heating.)" +msgstr "minuto por cada lote.(Depende de quanto tempo leva para completar o aquecimento.)" msgid "Name is invalid;" msgstr "O nome é inválido;" @@ -3507,18 +3193,11 @@ msgstr "Origem" msgid "Size in X and Y of the rectangular plate." msgstr "Tamanho em X e Y da mesa retangular." -msgid "" -"Distance of the 0,0 G-code coordinate from the front left corner of the " -"rectangle." -msgstr "" -"Distância da coordenada do G-Code 0,0 do canto frontal esquerdo do retângulo." +msgid "Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." +msgstr "Distância da coordenada do G-Code 0,0 do canto frontal esquerdo do retângulo." -msgid "" -"Diameter of the print bed. It is assumed that origin (0,0) is located in the " -"center." -msgstr "" -"Diâmetro da mesa de impressão. É assumido que a origem (0,0) está localizada " -"no centro." +msgid "Diameter of the print bed. It is assumed that origin (0,0) is located in the center." +msgstr "Diâmetro da mesa de impressão. É assumido que a origem (0,0) está localizada no centro." msgid "Rectangular" msgstr "Retangular" @@ -3556,10 +3235,8 @@ msgstr "Erro! Modelo inválido" msgid "The selected file contains no geometry." msgstr "O arquivo selecionado não contém geometria." -msgid "" -"The selected file contains several disjoint areas. This is not supported." -msgstr "" -"O arquivo selecionado contém várias áreas disjuntas. Isso não é suportado." +msgid "The selected file contains several disjoint areas. This is not supported." +msgstr "O arquivo selecionado contém várias áreas disjuntas. Isso não é suportado." msgid "Choose a file to import bed texture from (PNG/SVG):" msgstr "Escolha um arquivo para importar a textura da mesa (PNG/SVG):" @@ -3570,199 +3247,123 @@ msgstr "Escolha um arquivo STL para importar o modelo da mesa:" msgid "Bed Shape" msgstr "Forma da Mesa" -msgid "" -"The recommended minimum temperature is less than 190 degree or the " -"recommended maximum temperature is greater than 300 degree.\n" -msgstr "" -"A temperatura mínima recomendada é inferior a 190 graus ou a temperatura " -"máxima recomendada é superior a 300 graus.\n" +msgid "The recommended minimum temperature is less than 190 degree or the recommended maximum temperature is greater than 300 degree.\n" +msgstr "A temperatura mínima recomendada é inferior a 190 graus ou a temperatura máxima recomendada é superior a 300 graus.\n" -msgid "" -"The recommended minimum temperature cannot be higher than the recommended " -"maximum temperature.\n" -msgstr "" -"A temperatura mínima recomendada não pode ser superior à temperatura máxima " -"recomendada.\n" +msgid "The recommended minimum temperature cannot be higher than the recommended maximum temperature.\n" +msgstr "A temperatura mínima recomendada não pode ser superior à temperatura máxima recomendada.\n" msgid "Please check.\n" msgstr "Por favor, verifique.\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 "" -"O bico pode ficar bloqueado quando a temperatura estiver fora da faixa " -"recomendada.\n" -"Por favor, certifique-se de usar a temperatura para imprimir.\n" -"\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 "O bico pode ficar bloqueado quando a temperatura estiver fora da faixa recomendada.\n" +"Por favor, certifique-se de usar a temperatura para imprimir.\n\n" -#, c-format, boost-format -msgid "" -"Recommended nozzle temperature of this filament type is [%d, %d] degree " -"centigrade" -msgstr "" -"A temperatura do bico recomendada para este tipo de filamento é [%d, %d] " -"graus centígrados" +#, possible-c-format, possible-boost-format +msgid "Recommended nozzle temperature of this filament type is [%d, %d] degree centigrade" +msgstr "A temperatura do bico recomendada para este tipo de filamento é [%d, %d] graus centígrados" -msgid "" -"Too small max volumetric speed.\n" +msgid "Too small max volumetric speed.\n" "Reset to 0.5" -msgstr "" -"Fluxo volumétrico máximo está muito baixo.\n" +msgstr "Fluxo volumétrico máximo está muito baixo.\n" "Redefinir para 0,5" -#, c-format, boost-format -msgid "" -"Current chamber temperature is higher than the material's safe temperature," -"it may result in material softening and clogging.The maximum safe " -"temperature for the material is %d" -msgstr "" -"A temperatura da câmara atual está mais alta do que a temperatura segura do " -"material, pode resultar em amolecimento e entupimento do material. A " -"temperatura máxima segura para o material é %d" +#, possible-c-format, possible-boost-format +msgid "Current chamber temperature is higher than the material's safe temperature,it may result in material softening and clogging.The maximum safe temperature for the material is %d" +msgstr "A temperatura da câmara atual está mais alta do que a temperatura segura do material, pode resultar em amolecimento e entupimento do material. A temperatura máxima segura para o material é %d" -msgid "" -"Too small layer height.\n" +msgid "Too small layer height.\n" "Reset to 0.2" -msgstr "" -"Altura da camada muito pequena.\n" +msgstr "Altura da camada muito pequena.\n" "Redefinir para 0,2" -msgid "" -"Too small ironing spacing.\n" +msgid "Too small ironing spacing.\n" "Reset to 0.1" -msgstr "" -"Espaçamento de alisamento muito pequeno.\n" +msgstr "Espaçamento de alisamento muito pequeno.\n" "Redefinir para 0,1" -msgid "" -"Zero initial layer height is invalid.\n" -"\n" +msgid "Zero initial layer height is invalid.\n\n" "The first layer height will be reset to 0.2." -msgstr "" -"Altura inicial da camada zero é inválida.\n" -"\n" +msgstr "Altura inicial da camada zero é inválida.\n\n" "A altura da primeira camada será redefinida para 0.2." -msgid "" -"This setting is only used for model size tunning with small value in some " -"cases.\n" +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" +"For large size tuning, please use model scale function.\n\n" "The value will be reset to 0." -msgstr "" -"Esta configuração é usada apenas para ajustar o tamanho do modelo com um " -"valor pequeno em alguns casos.\n" -"Por exemplo, quando o tamanho do modelo tem um pequeno erro e é difícil de " -"ser montado.\n" -"Para ajustes de tamanho grandes, por favor, use a função de escala do " -"modelo.\n" -"\n" +msgstr "Esta configuração é usada apenas para ajustar o tamanho do modelo com um valor pequeno em alguns casos.\n" +"Por exemplo, quando o tamanho do modelo tem um pequeno erro e é difícil de ser montado.\n" +"Para ajustes de tamanho grandes, por favor, use a função de escala do modelo.\n\n" "O valor será redefinido para 0." -msgid "" -"Too large elefant foot compensation is unreasonable.\n" +msgid "Too large elefant 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" +"For example, whether bed temperature is too high.\n\n" "The value will be reset to 0." -msgstr "" -"Uma compensação de pé de elefante muito grande é irrazoável.\n" -"Se realmente tiver um efeito sério de pé de elefante, por favor, verifique " -"outras configurações.\n" -"Por exemplo, se a temperatura da mesa estiver muito alta.\n" -"\n" +msgstr "Uma compensação de pé de elefante muito grande é irrazoável.\n" +"Se realmente tiver um efeito sério de pé de elefante, por favor, verifique outras configurações.\n" +"Por exemplo, se a temperatura da mesa estiver muito alta.\n\n" "O valor será redefinido para 0." -msgid "" -"Alternate extra wall does't work well when ensure vertical shell thickness " -"is set to All. " -msgstr "" -"O perímetro extra alternado não funciona bem quando a espessura vertical da " -"está definida para Todos. " +msgid "Alternate extra wall does't work well when ensure vertical shell thickness is set to All. " +msgstr "O perímetro extra alternado não funciona bem quando a espessura vertical da está definida para Todos. " -msgid "" -"Change these settings automatically? \n" -"Yes - Change ensure vertical shell thickness to Moderate and enable " -"alternate extra wall\n" +msgid "Change these settings automatically? \n" +"Yes - Change ensure vertical shell thickness to Moderate and enable alternate extra wall\n" "No - Dont use alternate extra wall" -msgstr "" -"Alterar essas configurações automaticamente?\n" -"Sim - Alterar a espessura vertical do perímetro para Moderado e ativar o " -"perímetro extra alternado\n" +msgstr "Alterar essas configurações automaticamente?\n" +"Sim - Alterar a espessura vertical do perímetro para Moderado e ativar o perímetro extra alternado\n" "Não - Não usar o perímetro extra alternado" -msgid "" -"Prime tower does not work when Adaptive Layer Height or Independent Support " -"Layer Height is on.\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 "" -"A torre de priming não funciona quando a Altura de Camada Adaptativa ou a " -"Altura de Camada de Suporte Independente está ativada.\n" +msgstr "A torre de priming não funciona quando a Altura de Camada Adaptativa ou a Altura de Camada de Suporte Independente está ativada.\n" "Qual você deseja manter?\n" "SIM - Manter a Torre de Priming\n" -"NÃO - Manter a Altura de Camada Adaptativa e a Altura de Camada de Suporte " -"Independente" +"NÃO - Manter a Altura de Camada Adaptativa e a Altura de Camada de Suporte Independente" -msgid "" -"Prime tower does not work when Adaptive Layer Height is on.\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 "" -"A torre de priming não funciona quando a Altura de Camada Adaptativa está " -"ativada.\n" +msgstr "A torre de limpeza não funciona quando a Altura de Camada Adaptativa está ativa.\n" "Qual você deseja manter?\n" -"SIM - Manter a Torre de Priming\n" -"NÃO - Manter a Altura de Camada Adaptativa" +"SIM — Manter a Torre de Limpeza\n" +"NÃO — Manter a Altura de Camada Adaptativa" -msgid "" -"Prime tower does not work when Independent Support Layer Height is on.\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 "" -"A torre de priming não funciona quando a Altura da Camada de Suporte " -"Independente está ativada.\n" +msgstr "A torre de priming não funciona quando a Altura da Camada de Suporte Independente está ativada.\n" "Qual você deseja manter?\n" "SIM - Manter a Torre de Priming\n" "NÃO - Manter a Altura da Camada de Suporte Independente" -msgid "" -"While printing by Object, the extruder may collide skirt.\n" +msgid "While printing by Object, the extruder may collide skirt.\n" "Thus, reset the skirt layer to 1 to avoid that." -msgstr "" -"Ao imprimir por Objeto, o extrusor pode colidir com a saia.\n" +msgstr "Ao imprimir por Objeto, o extrusor pode colidir com a saia.\n" "Portanto, redefina a camada da saia para 1 para evitar isso." -msgid "" -"seam_slope_start_height need to be smaller than layer_height.\n" +msgid "seam_slope_start_height need to be smaller than layer_height.\n" "Reset to 0." -msgstr "" -"seam_slope_start_height precisa ser menor que layer_height.\n" +msgstr "seam_slope_start_height precisa ser menor que layer_height.\n" "Redefinir para 0." -msgid "" -"Spiral mode only works when wall loops is 1, support is disabled, top shell " -"layers is 0, sparse infill density is 0 and timelapse type is traditional." -msgstr "" -"O modo espiral só funciona quando o perímetro é igual a 1, o suporte está " -"desativado, as camadas de topo são 0, a densidade de preenchimento não " -"sólido é 0 e o tipo de timelapse é tradicional." +msgid "Spiral mode only works when wall loops is 1, support is disabled, top shell layers is 0, sparse infill density is 0 and timelapse type is traditional." +msgstr "O modo espiral só funciona quando o perímetro é igual a 1, o suporte está desativado, as camadas de topo são 0, a densidade de preenchimento não sólido é 0 e o tipo de timelapse é tradicional." msgid " But machines with I3 structure will not generate timelapse videos." msgstr " Mas máquinas com estrutura I3 não gerarão vídeos de timelapse." -msgid "" -"Change these settings automatically? \n" +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 "" -"Alterar essas configurações automaticamente? \n" +msgstr "Alterar essas configurações automaticamente? \n" "Sim - Alterar essas configurações e ativar o modo espiral automaticamente\n" "Não - Desistir de usar o modo espiral desta vez" @@ -3845,8 +3446,7 @@ msgid "Paused due to AMS lost" msgstr "Pausado devido à perda do AMS" msgid "Paused due to low speed of the heat break fan" -msgstr "" -"Pausado devido a baixa velocidade do ventilador do bloco de aquecimento" +msgstr "Pausado devido a baixa velocidade do ventilador do bloco de aquecimento" msgid "Paused due to chamber temperature control error" msgstr "Pausado devido a erro no controle de temperatura da câmara" @@ -3896,38 +3496,19 @@ msgstr "Verificação falhou." msgid "Update failed." msgstr "Atualização falhou." -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 "" -"A temperatura atual da câmara ou a temperatura da câmara alvo excede 45℃. " -"Para evitar obstrução do extrusor, não é permitido carregar filamento de " -"baixa temperatura (PLA/PETG/TPU)." +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 "A temperatura atual da câmara ou a temperatura da câmara alvo excede 45℃. Para evitar obstrução do extrusor, não é permitido carregar filamento de baixa temperatura (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 " -"above 45℃." -msgstr "" -"Filamento de baixa temperatura (PLA/PETG/TPU) está carregado na extrusora. " -"Para evitar obstrução do extrusor, não é permitido ajustar a temperatura da " -"câmara acima de 45℃." +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 above 45℃." +msgstr "Filamento de baixa temperatura (PLA/PETG/TPU) está carregado na extrusora. Para evitar obstrução do extrusor, não é permitido ajustar a temperatura da câmara acima de 45℃." -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 "" -"Quando você definir a temperatura da câmara abaixo de 40℃, o controle de " -"temperatura da câmara não será ativado. E a temperatura alvo da câmara será " -"automaticamente definida como 0℃." +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 "Quando você definir a temperatura da câmara abaixo de 40℃, o controle de temperatura da câmara não será ativado. E a temperatura alvo da câmara será automaticamente definida como 0℃." msgid "Failed to start printing job" msgstr "Falha ao iniciar o trabalho de impressão" -msgid "" -"This calibration does not support the currently selected nozzle diameter" +msgid "This calibration does not support the currently selected nozzle diameter" msgstr "Esta calibração não suporta o diâmetro do bico atualmente selecionado" msgid "Current flowrate cali param is invalid" @@ -3948,31 +3529,21 @@ msgstr "TPU não é suportado pelo AMS." msgid "Bambu PET-CF/PA6-CF is not supported by AMS." msgstr "Bambu PET-CF/PA6-CF não é suportado pelo AMS." -msgid "" -"Damp PVA will become flexible and get stuck inside AMS,please take care to " -"dry it before use." -msgstr "" -"O PVA úmido se tornará flexível e ficará preso dentro do AMS, por favor, " -"tenha cuidado para secá-lo antes de usar." +msgid "Damp PVA will become flexible and get stuck inside AMS,please take care to dry it before use." +msgstr "O PVA úmido se tornará flexível e ficará preso dentro do AMS, por favor, tenha cuidado para secá-lo antes de usar." -msgid "" -"CF/GF filaments are hard and brittle, It's easy to break or get stuck in " -"AMS, please use with caution." -msgstr "" -"Os filamentos CF/GF são duros e quebradiços, é fácil quebrar ou ficar preso " -"no AMS, por favor, use com cautela." +msgid "CF/GF filaments are hard and brittle, It's easy to break or get stuck in AMS, please use with caution." +msgstr "Os filamentos CF/GF são duros e quebradiços, é fácil quebrar ou ficar preso no AMS, por favor, use com cautela." msgid "default" msgstr "padrão" -#, boost-format +#, possible-boost-format msgid "Edit Custom G-code (%1%)" msgstr "Editar G-Code personalizado (%1%)" msgid "Built-in placeholders (Double click item to add to G-code)" -msgstr "" -"Marcadores de posição incorporados (Clique duas vezes no item para adicionar " -"ao G-code)" +msgstr "Marcadores de posição incorporados (Clique duas vezes no item para adicionar ao G-code)" msgid "Search gcode placeholders" msgstr "Procurar marcadores de posição do G-code" @@ -4010,7 +3581,7 @@ msgstr "Temperaturas" msgid "Timestamps" msgstr "Carimbos de data/hora" -#, boost-format +#, possible-boost-format msgid "Specific for %1%" msgstr "Específico para %1%" @@ -4032,35 +3603,33 @@ msgstr "Configurações da Impressora" msgid "parameter name" msgstr "nome do parâmetro" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%s can't be percentage" msgstr "%s não pode ser percentagem" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Value %s is out of range, continue?" msgstr "O valor %s está fora do intervalo, continuar?" msgid "Parameter validation" msgstr "Validação de Parâmetros" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Value %s is out of range. The valid range is from %d to %d." msgstr "Valor %s está fora do intervalo. O intervalo válido é de %d para %d." msgid "Value is out of range." msgstr "O valor está fora do intervalo." -#, c-format, boost-format -msgid "" -"Is it %s%% or %s %s?\n" +#, possible-c-format, possible-boost-format +msgid "Is it %s%% or %s %s?\n" "YES for %s%%, \n" "NO for %s %s." -msgstr "" -"É %s%% ou %s %s?\n" +msgstr "É %s%% ou %s %s?\n" "SIM para %s%%, \n" "NÃO para %s %s." -#, boost-format +#, possible-boost-format msgid "Invalid format. Expected vector format: \"%1%\"" msgstr "Formato inválido. Formato de vetor esperado: \"%1%\"" @@ -4125,7 +3694,7 @@ msgid "Display" msgstr "Exibição" msgid "Flushed" -msgstr "Fluido" +msgstr "Limpo" msgid "Tower" msgstr "Torre" @@ -4209,7 +3778,7 @@ msgid "Extruder" msgstr "Extrusora" msgid "Filament change times" -msgstr "Tempo de mudança de filamento" +msgstr "Quantidade de trocas de filamento" msgid "Cost" msgstr "Custo" @@ -4403,13 +3972,9 @@ msgstr "Volume:" msgid "Size:" msgstr "Tamanho:" -#, c-format, boost-format -msgid "" -"Conflicts of gcode paths have been found at layer %d, z = %.2lf mm. Please " -"separate the conflicted objects farther (%s <-> %s)." -msgstr "" -"Foram encontrados conflitos de caminhos de G-code na camada %d, z = %.2lf " -"mm. Por favor, separe mais os objetos em conflito (%s <-> %s)." +#, possible-c-format, possible-boost-format +msgid "Conflicts of gcode paths have been found at layer %d, z = %.2lf mm. Please separate the conflicted objects farther (%s <-> %s)." +msgstr "Foram encontrados conflitos de caminhos de G-code na camada %d, z = %.2lf mm. Por favor, separe mais os objetos em conflito (%s <-> %s)." msgid "An object is layed over the boundary of plate." msgstr "Um objeto está sobre a borda da mesa." @@ -4423,14 +3988,10 @@ msgstr "Um caminho de G-code ultrapassa a borda da mesa." msgid "Only the object being edit is visible." msgstr "Apenas o objeto em edição está visível." -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 "" -"Um objeto está sobre a borda da mesa ou ultrapassa o limite de altura.\n" -"Por favor, resolva o problema movendo-o totalmente para dentro ou para fora " -"da mesa, e confirmando que a altura está dentro do volume de impressão." +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 "Um objeto está sobre a borda da mesa ou ultrapassa o limite de altura.\n" +"Por favor, resolva o problema movendo-o totalmente para dentro ou para fora da mesa, e confirmando que a altura está dentro do volume de impressão." msgid "Calibration step selection" msgstr "Seleção de etapa de calibração" @@ -4450,13 +4011,9 @@ msgstr "Cancelamento de ruído do motor" msgid "Calibration program" msgstr "Programa de calibração" -msgid "" -"The calibration program detects the status of your device automatically to " -"minimize deviation.\n" +msgid "The calibration program detects the status of your device automatically to minimize deviation.\n" "It keeps the device performing optimally." -msgstr "" -"O programa de calibração detecta automaticamente o estado do seu dispositivo " -"para minimizar desvios.\n" +msgstr "O programa de calibração detecta automaticamente o estado do seu dispositivo para minimizar desvios.\n" "Mantém o dispositivo com desempenho ideal." msgid "Calibration Flow" @@ -4510,11 +4067,9 @@ msgstr "Conectar Impressora (LAN)" msgid "Please input the printer access code:" msgstr "Por favor, insira o código de acesso à impressora:" -msgid "" -"You can find it in \"Settings > Network > Connection code\"\n" +msgid "You can find it in \"Settings > Network > Connection code\"\n" "on the printer, as shown in the figure:" -msgstr "" -"Você pode encontrá-lo em \"Configurações > Rede > Código de Conexão\"\n" +msgstr "Você pode encontrá-lo em \"Configurações > Rede > Código de Conexão\"\n" "na impressora, conforme mostrado na figura:" msgid "Invalid input." @@ -4539,7 +4094,7 @@ msgid "Preview" msgstr "Pré-visualizar" msgid "Multi-device" -msgstr "" +msgstr "Multi-dispositivo" msgid "Project" msgstr "Projeto" @@ -4598,7 +4153,7 @@ msgstr "Verificar Atualizações" msgid "Open Network Test" msgstr "Abrir Teste de Rede" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "&About %s" msgstr "&Sobre %s" @@ -4686,10 +4241,10 @@ msgid "Load a model" msgstr "Carregar um modelo" msgid "Import Zip Archive" -msgstr "" +msgstr "Importar Arquivo Zip" msgid "Load models contained within a zip archive" -msgstr "" +msgstr "Carregar modelos contidos em um arquivo zip" msgid "Import Configs" msgstr "Importar Configurações" @@ -4725,7 +4280,7 @@ msgid "Export current plate as G-code" msgstr "Exportar a mesa atual como G-code" msgid "Export Preset Bundle" -msgstr "" +msgstr "Exportar Pacote de Presets" msgid "Export current configuration to files" msgstr "Exportar configuração atual para arquivos" @@ -4893,15 +4448,15 @@ msgid "Export toolpaths as OBJ" msgstr "Exportar trilhas de ferramentas como OBJ" msgid "Open &Slicer" -msgstr "Abrir &Estúdio" +msgstr "Abrir &Fatiador" msgid "Open Slicer" -msgstr "Abrir Estúdio" +msgstr "Abrir Fatiador" msgid "&Quit" msgstr "&Sair" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Quit %s" msgstr "Sair %s" @@ -4914,11 +4469,11 @@ msgstr "&Visualizar" msgid "&Help" msgstr "&Ajuda" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "A file exists with the same name: %s, do you want to override it." msgstr "Já existe um arquivo com o mesmo nome: %s. Deseja substituí-lo?" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "A config exists with the same name: %s, do you want to override it." msgstr "Já existe uma configuração com o mesmo nome: %s. Deseja substituí-la?" @@ -4934,13 +4489,11 @@ msgstr "Não para Todos" msgid "Choose a directory" msgstr "Escolha um diretório" -#, c-format, boost-format +#, 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] "" -"Foi exportada uma configuração (%d). (Apenas configurações não do sistema)" -msgstr[1] "" -"Foram exportadas %d configurações. (Apenas configurações não do sistema)" +msgstr[0] "Foi exportada uma configuração (%d). (Apenas configurações não do sistema)" +msgstr[1] "Foram exportadas %d configurações. (Apenas configurações não do sistema)" msgid "Export result" msgstr "Resultado da exportação" @@ -4948,25 +4501,16 @@ msgstr "Resultado da exportação" msgid "Select profile to load:" msgstr "Selecione o perfil para carregar:" -#, c-format, boost-format +#, 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] "" -"Foi importada uma configuração (%d). (Apenas configurações compatíveis e não " -"do sistema)" -msgstr[1] "" -"Foram importadas %d configurações. (Apenas configurações compatíveis e não " -"do sistema)" +msgid_plural "There are %d configs imported. (Only non-system and compatible configs)" +msgstr[0] "Foi importada uma configuração (%d). (Apenas configurações compatíveis e não do sistema)" +msgstr[1] "Foram importadas %d configurações. (Apenas configurações compatíveis e não do sistema)" -msgid "" -"\n" -"Hint: Make sure you have added the corresponding printer before importing " -"the configs." -msgstr "" -"\n" -"Dica: Certifique-se de ter adicionado a impressora correspondente antes de " -"importar as configurações." +msgid "\n" +"Hint: Make sure you have added the corresponding printer before importing the configs." +msgstr "\n" +"Dica: Certifique-se de ter adicionado a impressora correspondente antes de importar as configurações." msgid "Import result" msgstr "Resultado da importação" @@ -4980,14 +4524,12 @@ msgstr "O projeto não está mais disponível." msgid "Filament Settings" msgstr "Configurações do Filamento" -msgid "" -"Do you want to synchronize your personal data from Bambu Cloud? \n" +msgid "Do you want to synchronize your personal data from Bambu Cloud? \n" "It contains the following information:\n" "1. The Process presets\n" "2. The Filament presets\n" "3. The Printer presets" -msgstr "" -"Você deseja sincronizar seus dados pessoais da Bambu Cloud? \n" +msgstr "Você deseja sincronizar seus dados pessoais da Bambu Cloud? \n" "Isso inclui as seguintes informações:\n" "1. Os perfis de Processo\n" "2. Os perfis de Filamento\n" @@ -4997,42 +4539,28 @@ msgid "Synchronization" msgstr "Sincronização" msgid "The device cannot handle more conversations. Please retry later." -msgstr "" -"O dispositivo não pode lidar com mais conversas. Por favor, tente novamente " -"mais tarde." +msgstr "O dispositivo não pode lidar com mais conversas. Por favor, tente novamente mais tarde." msgid "Player is malfunctioning. Please reinstall the system player." -msgstr "" -"O reprodutor está com problemas. Por favor, reinstale o reprodutor do " -"sistema." +msgstr "O reprodutor está com problemas. Por favor, reinstale o reprodutor do sistema." msgid "The player is not loaded, please click \"play\" button to retry." -msgstr "" -"O reprodutor não está carregado, por favor, clique no botão \"Reproduzir\" " -"para tentar novamente." +msgstr "O reprodutor não está carregado, por favor, clique no botão \"Reproduzir\" para tentar novamente." msgid "Please confirm if the printer is connected." msgstr "Por favor, confirme se a impressora está conectada." -msgid "" -"The printer is currently busy downloading. Please try again after it " -"finishes." -msgstr "" -"A impressora está sendo baixada no momento. Tente novamente após terminar." +msgid "The printer is currently busy downloading. Please try again after it finishes." +msgstr "A impressora está sendo baixada no momento. Tente novamente após terminar." msgid "Printer camera is malfunctioning." msgstr "A câmera da impressora está com problemas." msgid "Problem occured. Please update the printer firmware and try again." -msgstr "" -"Ocorreu um problema. Por favor, atualize o firmware da impressora e tente " -"novamente." +msgstr "Ocorreu um problema. Por favor, atualize o firmware da impressora e tente novamente." -msgid "" -"LAN Only Liveview is off. Please turn on the liveview on printer screen." -msgstr "" -"Liveview via LAN está desativado. Por favor, ative a liveview na tela da " -"impressora." +msgid "LAN Only Liveview is off. Please turn on the liveview on printer screen." +msgstr "Liveview via LAN está desativado. Por favor, ative a liveview na tela da impressora." msgid "Please enter the IP of printer to connect." msgstr "Por favor, digite o IP da impressora para conectar." @@ -5043,12 +4571,8 @@ msgstr "Inicializando..." msgid "Connection Failed. Please check the network and try again" msgstr "Falha na conexão. Por favor, verifique a rede e tente novamente" -msgid "" -"Please check the network and try again, You can restart or update the " -"printer if the issue persists." -msgstr "" -"Por favor, verifique a rede e tente novamente, você pode reiniciar ou " -"atualizar a impressora se o problema persistir." +msgid "Please check the network and try again, You can restart or update the printer if the issue persists." +msgstr "Por favor, verifique a rede e tente novamente, você pode reiniciar ou atualizar a impressora se o problema persistir." msgid "The printer has been logged out and cannot connect." msgstr "A impressora foi desconectada e não pode se conectar." @@ -5059,26 +4583,22 @@ msgstr "Parado." msgid "LAN Connection Failed (Failed to start liveview)" msgstr "Falha na conexão da LAN (Falha ao iniciar a visualização ao vivo)" -msgid "" -"Virtual Camera Tools is required for this task!\n" +msgid "Virtual Camera Tools is required for this task!\n" "Do you want to install them?" -msgstr "" -"É necessário o Virtual Camera Tools para esta tarefa!\n" +msgstr "É necessário o Virtual Camera Tools para esta tarefa!\n" "Deseja instalá-los?" msgid "Downloading Virtual Camera Tools" msgstr "Baixando Ferramentas de Câmera Virtual" -msgid "" -"Another virtual camera is running.\n" +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 "" -"Outra câmera virtual está em execução.\n" +msgstr "Outra câmera virtual está em execução.\n" "O Orca Slicer suporta apenas uma única câmera virtual.\n" "Deseja parar esta câmera virtual?" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Virtual camera initialize failed (%s)!" msgstr "Falha na inicialização da câmera virtual (%s)!" @@ -5145,7 +4665,7 @@ msgstr "Recarregar lista de arquivos da impressora." msgid "No printers." msgstr "Nenhuma impressora." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Connect failed [%d]!" msgstr "Falha ao conectar [%d]!" @@ -5161,12 +4681,8 @@ msgstr "Falha ao carregar" msgid "Initialize failed (Device connection not ready)!" msgstr "Inicialização falhou (Conexão do dispositivo não está pronta)!" -msgid "" -"Browsing file in SD card is not supported in current firmware. Please update " -"the printer firmware." -msgstr "" -"Procurar arquivo no cartão SD não é suportado no firmware atual. Por favor, " -"atualize o firmware da impressora." +msgid "Browsing file in SD card is not supported in current firmware. Please update the printer firmware." +msgstr "Procurar arquivo no cartão SD não é suportado no firmware atual. Por favor, atualize o firmware da impressora." msgid "Initialize failed (Storage unavailable, insert SD card.)!" msgstr "Inicialização falhou (falha no armazenamento, insira o cartão SD.)!" @@ -5177,25 +4693,20 @@ msgstr "Falha na conexão LAN (Falha para ver o cartão SD)" msgid "Browsing file in SD card is not supported in LAN Only Mode." msgstr "Procurar arquivo no cartão SD não é suportado no Modo Somente LAN." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Initialize failed (%s)!" msgstr "Inicialização falhou (%s)!" -#, c-format, boost-format +#, 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] "" -"Você está prestes a excluir %u arquivo da impressora. Tem certeza de que " -"deseja continuar?" -msgstr[1] "" -"Você está prestes a excluir %u arquivos da impressora. Tem certeza de que " -"deseja continuar?" +msgid_plural "You are going to delete %u files from printer. Are you sure to continue?" +msgstr[0] "Você está prestes a excluir %u arquivo da impressora. Tem certeza de que deseja continuar?" +msgstr[1] "Você está prestes a excluir %u arquivos da impressora. Tem certeza de que deseja continuar?" msgid "Delete files" msgstr "Excluir arquivos" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Do you want to delete the file '%s' from printer?" msgstr "Deseja excluir o arquivo '%s' da impressora?" @@ -5211,23 +4722,17 @@ msgstr "Falha ao obter informação do modelo da impressora." msgid "Failed to parse model information." msgstr "Falha ao analisar a informação do modelo." -msgid "" -"The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer " -"and export a new .gcode.3mf file." -msgstr "" -"O arquivo .gcode.3mf não contém dados de G-code. Por favor, fatie com Orca " -"Slicer e exporte um novo arquivo .gcode.3mf." +msgid "The .gcode.3mf file contains no G-code data.Please slice it with Orca Slicer and export a new .gcode.3mf file." +msgstr "O arquivo .gcode.3mf não contém dados de G-code. Por favor, fatie com Orca Slicer e exporte um novo arquivo .gcode.3mf." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "File '%s' was lost! Please download it again." msgstr "O arquivo '%s' foi perdido! Por favor, baixe-o novamente." -#, c-format, boost-format -msgid "" -"File: %s\n" +#, possible-c-format, possible-boost-format +msgid "File: %s\n" "Title: %s\n" -msgstr "" -"Arquivo: %s\n" +msgstr "Arquivo: %s\n" "Título: %s\n" msgid "Download waiting..." @@ -5242,16 +4747,12 @@ msgstr "Abrir Pasta" msgid "Download finished" msgstr "Download concluído" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Downloading %d%%..." msgstr "Baixando %d%%..." -msgid "" -"Reconnecting the printer, the operation cannot be completed immediately, " -"please try again later." -msgstr "" -"Reconectando a impressora, a operação não pôde ser concluída imediatamente, " -"por favor, tente novamente mais tarde." +msgid "Reconnecting the printer, the operation cannot be completed immediately, please try again later." +msgstr "Reconectando a impressora, a operação não pôde ser concluída imediatamente, por favor, tente novamente mais tarde." msgid "File does not exist." msgstr "O arquivo não existe." @@ -5265,7 +4766,7 @@ msgstr "Não suportado na versão atual da impressora." msgid "Storage unavailable, insert SD card." msgstr "Armazenamento indisponível, insira um cartão SD." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Error code: %d" msgstr "Código de erro: %d" @@ -5320,21 +4821,16 @@ msgstr "Camada: N/A" msgid "Clear" msgstr "Limpar" -msgid "" -"You have completed printing the mall model, \n" +msgid "You have completed printing the mall model, \n" "but the synchronization of rating information has failed." -msgstr "" -"Você concluiu a impressão do modelo de shopping, \n" +msgstr "Você concluiu a impressão do modelo de shopping, \n" "mas a sincronização das informações de avaliação falhou." msgid "How do you like this printing file?" msgstr "O que você achou deste arquivo de impressão?" -msgid "" -"(The model has already been rated. Your rating will overwrite the previous " -"rating.)" -msgstr "" -"(O modelo já foi avaliado. Sua avaliação substituirá a avaliação anterior.)" +msgid "(The model has already been rated. Your rating will overwrite the previous rating.)" +msgstr "(O modelo já foi avaliado. Sua avaliação substituirá a avaliação anterior.)" msgid "Rate" msgstr "Avaliar" @@ -5396,24 +4892,20 @@ msgstr "Baixando..." msgid "Cloud Slicing..." msgstr "Fatiando na Nuvem..." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "In Cloud Slicing Queue, there are %s tasks ahead." msgstr "Na Fila de Fatiamento na Nuvem, existem %s tarefas na frente." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Layer: %s" msgstr "Camada: %s" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Layer: %d/%d" msgstr "Camada: %d/%d" -msgid "" -"Please heat the nozzle to above 170 degree before loading or unloading " -"filament." -msgstr "" -"Aqueça o bico a mais de 170 graus antes de carregar ou descarregar o " -"filamento." +msgid "Please heat the nozzle to above 170 degree before loading or unloading filament." +msgstr "Aqueça o bico a mais de 170 graus antes de carregar ou descarregar o filamento." msgid "Still unload" msgstr "Ainda descarregando" @@ -5424,13 +4916,8 @@ msgstr "Ainda carregando" msgid "Please select an AMS slot before calibration" msgstr "Selecione um slot AMS antes da calibração" -msgid "" -"Cannot read filament info: the filament is loaded to the tool head,please " -"unload the filament and try again." -msgstr "" -"Não é possível ler as informações do filamento: o filamento está carregado " -"na cabeça da ferramenta, por favor, descarregue o filamento e tente " -"novamente." +msgid "Cannot read filament info: the filament is loaded to the tool head,please unload the filament and try again." +msgstr "Não é possível ler as informações do filamento: o filamento está carregado na cabeça da ferramenta, por favor, descarregue o filamento e tente novamente." msgid "This only takes effect during printing" msgstr "Isso só tem efeito durante a impressão" @@ -5495,22 +4982,14 @@ msgstr " Nenhum balde de armazenamento correspondente\n" msgid " can not be opened\n" msgstr " não pode ser aberto\n" -msgid "" -"The following issues occurred during the process of uploading images. Do you " -"want to ignore them?\n" -"\n" -msgstr "" -"Os seguintes problemas ocorreram durante o processo de carregamento das " -"imagens. Você deseja ignorá-los?\n" -"\n" +msgid "The following issues occurred during the process of uploading images. Do you want to ignore them?\n\n" +msgstr "Os seguintes problemas ocorreram durante o processo de carregamento das imagens. Você deseja ignorá-los?\n\n" msgid "info" msgstr "informação" msgid "Synchronizing the printing results. Please retry a few seconds later." -msgstr "" -"Sincronizando os resultados da impressão. Por favor, tente novamente alguns " -"segundos depois." +msgstr "Sincronizando os resultados da impressão. Por favor, tente novamente alguns segundos depois." msgid "Upload failed\n" msgstr "Falha no envio\n" @@ -5518,44 +4997,28 @@ msgstr "Falha no envio\n" msgid "obtaining instance_id failed\n" msgstr "falha ao obter o instance_id\n" -msgid "" -"Your comment result cannot be uploaded due to some reasons. As follows:\n" -"\n" +msgid "Your comment result cannot be uploaded due to some reasons. As follows:\n\n" " error code: " -msgstr "" -"O resultado do seu comentário não pode ser enviado devido a alguns motivos. " -"Como segue:\n" -"\n" +msgstr "O resultado do seu comentário não pode ser enviado devido a alguns motivos. Como segue:\n\n" " código de erro: " msgid "error message: " msgstr "mensagem de erro: " -msgid "" -"\n" -"\n" +msgid "\n\n" "Would you like to redirect to the webpage for rating?" -msgstr "" -"\n" -"\n" +msgstr "\n\n" "Gostaria de ser redirecionado para a página da web para avaliar?" -msgid "" -"Some of your images failed to upload. Would you like to redirect to the " -"webpage for rating?" -msgstr "" -"Algumas de suas imagens não puderam ser carregadas. Gostaria de ser " -"redirecionado para a página da web para avaliar?" +msgid "Some of your images failed to upload. Would you like to redirect to the webpage for rating?" +msgstr "Algumas de suas imagens não puderam ser carregadas. Gostaria de ser redirecionado para a página da web para avaliar?" msgid "You can select up to 16 images." msgstr "Você pode selecionar até 16 imagens." -msgid "" -"At least one successful print record of this print profile is required \n" +msgid "At least one successful print record of this print profile is required \n" "to give a positive rating(4 or 5stars)." -msgstr "" -"Pelo menos um registro de impressão bem-sucedido deste perfil de impressão é " -"necessário \n" +msgstr "Pelo menos um registro de impressão bem-sucedido deste perfil de impressão é necessário \n" "para dar uma avaliação positiva (4 ou 5 estrelas)." msgid "Status" @@ -5567,27 +5030,27 @@ msgstr "Atualizar" msgid "Don't show again" msgstr "Não mostrar novamente" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%s error" msgstr "Erro %s" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%s has encountered an error" msgstr "%s encontrou um erro" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%s warning" msgstr "Aviso %s" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%s has a warning" msgstr "%s tem um aviso" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%s info" msgstr "Informação %s" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%s information" msgstr "Informação %s" @@ -5597,22 +5060,20 @@ msgstr "Pular" msgid "Newer 3mf version" msgstr "Nova versão 3mf" -msgid "" -"The 3mf file version is in Beta and it is newer than the current OrcaSlicer " -"version." -msgstr "" +msgid "The 3mf file version is in Beta and it is newer than the current OrcaSlicer version." +msgstr "A versão 3mf do arquivo está em Beta e é mais nova do que a versão atual do OrcaSlicer." msgid "If you would like to try Orca Slicer Beta, you may click to" -msgstr "" +msgstr "Se você gostaria de testar o Orca Slicer Beta, clique para" msgid "Download Beta Version" msgstr "Baixar versão beta" msgid "The 3mf file version is newer than the current Orca Slicer version." -msgstr "" +msgstr "A versão do arquivo 3mf é mais recente que a versão atual do Orca Slicer." msgid "Update your Orca Slicer could enable all functionality in the 3mf file." -msgstr "" +msgstr "Atualizar seu Orca Slicer poderia permitir todas as funcionalidades do arquivo 3mf." msgid "Current Version: " msgstr "Versão Atual: " @@ -5671,19 +5132,19 @@ msgstr "Abrir Pasta." msgid "Safely remove hardware." msgstr "Remover hardware com segurança." -#, c-format, boost-format +#, 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 Objeto tem suportes personalizados." msgstr[1] "%1$d Objetos têm suportes personalizados." -#, c-format, boost-format +#, 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 Objeto tem pintura colorida." msgstr[1] "%1$d Objetos têm pintura colorida." -#, c-format, boost-format +#, 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 objeto foi carregado como peça do objeto cortado." @@ -5749,12 +5210,8 @@ msgstr "Camadas" msgid "Range" msgstr "Intervalo" -msgid "" -"The application cannot run normally because OpenGL version is lower than " -"2.0.\n" -msgstr "" -"A aplicação não pode ser executada normalmente porque a versão do OpenGL é " -"inferior a 2.0.\n" +msgid "The application cannot run normally because OpenGL version is lower than 2.0.\n" +msgstr "A aplicação não pode ser executada normalmente porque a versão do OpenGL é inferior a 2.0.\n" msgid "Please upgrade your graphics card driver." msgstr "Por favor, atualize o driver da sua placa de vídeo." @@ -5762,12 +5219,10 @@ msgstr "Por favor, atualize o driver da sua placa de vídeo." msgid "Unsupported OpenGL version" msgstr "Versão do OpenGL não suportada" -#, c-format, boost-format -msgid "" -"Unable to load shaders:\n" +#, possible-c-format, possible-boost-format +msgid "Unable to load shaders:\n" "%s" -msgstr "" -"Incapaz de carregar os shaders:\n" +msgstr "Incapaz de carregar os shaders:\n" "%s" msgid "Error loading shaders" @@ -5790,12 +5245,8 @@ msgstr "Sensibilidade da pausa é" msgid "Enable detection of build plate position" msgstr "Ativar detecção da posição da mesa" -msgid "" -"The localization tag of build plate is detected, and printing is paused if " -"the tag is not in predefined range." -msgstr "" -"A etiqueta de localização da mesa é detectada e a impressão é pausada se a " -"etiqueta não estiver na faixa predefinida." +msgid "The localization tag of build plate is detected, and printing is paused if the tag is not in predefined range." +msgstr "A etiqueta de localização da mesa é detectada e a impressão é pausada se a etiqueta não estiver na faixa predefinida." msgid "First Layer Inspection" msgstr "Inspeção da Primeira Camada" @@ -5810,10 +5261,10 @@ msgid "Filament Tangle Detect" msgstr "Detecção de emaranhado de filamento" msgid "Nozzle Clumping Detection" -msgstr "" +msgstr "Detecção de acúmulo no bico" msgid "Check if the nozzle is clumping by filament or other foreign objects." -msgstr "" +msgstr "Verifica se o bico está com filamento acumulado ou outros objetos estranhos." msgid "Nozzle Type" msgstr "Tipo de bico" @@ -5824,7 +5275,7 @@ msgstr "Aço inoxidável" msgid "Hardened Steel" msgstr "Aço endurecido" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%.1f" msgstr "%.1f" @@ -5864,7 +5315,7 @@ msgstr "Editar nome da mesa atual" msgid "Customize current plate" msgstr "Personalizar a mesa atual" -#, boost-format +#, possible-boost-format msgid " plate %1%:" msgstr " mesa %1%:" @@ -5902,7 +5353,7 @@ msgid "Bed type" msgstr "Tipo de mesa" msgid "Flushing volumes" -msgstr "Volumes de lavagem" +msgstr "Volumes de Limpeza" msgid "Add one filament" msgstr "Adicionar um filamento" @@ -5919,28 +5370,17 @@ msgstr "Definir filamentos para usar" msgid "Search plate, object and part." msgstr "Pesquisar mesa, objeto e peça." -msgid "" -"No AMS filaments. Please select a printer in 'Device' page to load AMS info." -msgstr "" -"Sem filamentos AMS. Por favor, selecione uma impressora na página " -"'Dispositivo' para carregar informações AMS." +msgid "No AMS filaments. Please select a printer in 'Device' page to load AMS info." +msgstr "Sem filamentos AMS. Por favor, selecione uma impressora na página 'Dispositivo' para carregar informações AMS." msgid "Sync filaments with AMS" msgstr "Sincronizar filamentos com AMS" -msgid "" -"Sync filaments with AMS will drop all current selected filament presets and " -"colors. Do you want to continue?" -msgstr "" -"Sincronizar filamentos com AMS eliminará todas os presets de filamento e " -"cores selecionadas atualmente. Deseja continuar?" +msgid "Sync filaments with AMS will drop all current selected filament presets and colors. Do you want to continue?" +msgstr "Sincronizar filamentos com AMS eliminará todas os presets de filamento e cores selecionadas atualmente. Deseja continuar?" -msgid "" -"Already did a synchronization, do you want to sync only changes or resync " -"all?" -msgstr "" -"Já foi feita uma sincronização, deseja sincronizar apenas as alterações ou " -"ressincronizar tudo?" +msgid "Already did a synchronization, do you want to sync only changes or resync all?" +msgstr "Já foi feita uma sincronização, deseja sincronizar apenas as alterações ou ressincronizar tudo?" msgid "Sync" msgstr "Sincronizar" @@ -5951,28 +5391,18 @@ msgstr "Ressincronizar" msgid "There are no compatible filaments, and sync is not performed." msgstr "Não há filamentos compatíveis, e a sincronização não é realizada." -msgid "" -"There are some unknown filaments mapped to generic preset. Please update " -"Orca Slicer or restart Orca Slicer to check if there is an update to system " -"presets." -msgstr "" -"Alguns filamentos desconhecidos foram mapeados para preset genérico. Por " -"favor, atualize o Orca Slicer ou reinicie o Orca Slicer para verificar se há " -"uma atualização para presets do sistema." +msgid "There are some unknown filaments mapped to generic preset. Please update Orca Slicer or restart Orca Slicer to check if there is an update to system presets." +msgstr "Alguns filamentos desconhecidos foram mapeados para preset genérico. Por favor, atualize o Orca Slicer ou reinicie o Orca Slicer para verificar se há uma atualização para presets do sistema." -#, boost-format +#, possible-boost-format msgid "Do you want to save changes to \"%1%\"?" msgstr "Deseja salvar as alterações em \"%1%\"?" -#, c-format, boost-format -msgid "" -"Successfully unmounted. The device %s(%s) can now be safely removed from the " -"computer." -msgstr "" -"Desmontado com sucesso. O dispositivo %s(%s) agora pode ser removido com " -"segurança do computador." +#, possible-c-format, possible-boost-format +msgid "Successfully unmounted. The device %s(%s) can now be safely removed from the computer." +msgstr "Desmontado com sucesso. O dispositivo %s(%s) agora pode ser removido com segurança do computador." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Ejecting of device %s(%s) has failed." msgstr "A ejeção do dispositivo %s(%s) falhou." @@ -5982,30 +5412,14 @@ msgstr "Projeto não salvo anterior detectado, deseja restaurá-lo?" msgid "Restore" msgstr "Restaurar" -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 "" -"A temperatura atual da mesa aquecida está relativamente alta. A boquilha " -"pode ficar obstruída ao imprimir este filamento em um compartimento fechado. " -"Por favor, abra a porta frontal e/ou remova o vidro superior." +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 "A temperatura atual da mesa aquecida está relativamente alta. A boquilha pode ficar obstruída ao imprimir este filamento em um compartimento fechado. Por favor, abra a porta frontal e/ou remova o vidro superior." -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 "" -"A dureza do bico necessária pelo filamento é maior do que a dureza padrão do " -"bico da impressora. Por favor, substitua a boquilha endurecida ou o " -"filamento, caso contrário, a boquilha será desgastada ou danificada." +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 "A dureza do bico necessária pelo filamento é maior do que a dureza padrão do bico da impressora. Por favor, substitua a boquilha endurecida ou o filamento, caso contrário, a boquilha será desgastada ou danificada." -msgid "" -"Enabling traditional timelapse photography may cause surface imperfections. " -"It is recommended to change to smooth mode." -msgstr "" -"A habilitação da fotografia tradicional em timelapse pode causar " -"imperfeições na superfície. É recomendado mudar para o modo suave." +msgid "Enabling traditional timelapse photography may cause surface imperfections. It is recommended to change to smooth mode." +msgstr "A habilitação da fotografia tradicional em timelapse pode causar imperfeições na superfície. É recomendado mudar para o modo suave." msgid "Expand sidebar" msgstr "Expandir barra lateral" @@ -6013,35 +5427,26 @@ msgstr "Expandir barra lateral" msgid "Collapse sidebar" msgstr "Recolher barra lateral" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Loading file: %s" msgstr "Carregando arquivo: %s" msgid "The 3mf is not supported by OrcaSlicer, load geometry data only." -msgstr "" -"O 3mf não é suportado pelo OrcaSlicer, carregar apenas dados de geometria." +msgstr "O 3mf não é suportado pelo OrcaSlicer, carregar apenas dados de geometria." msgid "Load 3mf" msgstr "Carregar 3mf" -#, c-format, boost-format -msgid "" -"The 3mf's version %s is newer than %s's version %s, Found following keys " -"unrecognized:" -msgstr "" -"A versão %s do 3mf é mais recente do que a versão %s do %s, encontradas as " -"seguintes chaves não reconhecidas:" +#, possible-c-format, possible-boost-format +msgid "The 3mf's version %s is newer than %s's version %s, Found following keys unrecognized:" +msgstr "A versão %s do 3mf é mais recente do que a versão %s do %s, encontradas as seguintes chaves não reconhecidas:" msgid "You'd better upgrade your software.\n" msgstr "Será melhor atualizar o seu software.\n" -#, c-format, boost-format -msgid "" -"The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your " -"software." -msgstr "" -"A versão %s do 3mf é mais recente do que a versão %s do %s, sugerimos " -"atualizar seu software." +#, possible-c-format, possible-boost-format +msgid "The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your software." +msgstr "A versão %s do 3mf é mais recente do que a versão %s do %s, sugerimos atualizar seu software." msgid "Invalid values found in the 3mf:" msgstr "Valores inválidos encontrados no 3mf:" @@ -6050,37 +5455,25 @@ msgid "Please correct them in the param tabs" msgstr "Por favor, corrija-os nas guias de parâmetros" msgid "The 3mf has following modified G-codes in filament or printer presets:" -msgstr "" -"O 3mf possui os seguintes G-codes modificados em presets de filamento ou " -"impressora:" +msgstr "O 3mf possui os seguintes G-codes modificados em presets de filamento ou impressora:" -msgid "" -"Please confirm that these modified G-codes are safe to prevent any damage to " -"the machine!" -msgstr "" -"Por favor, confirme se esses G-codes modificados são seguros para evitar " -"qualquer dano à máquina!" +msgid "Please confirm that these modified G-codes are safe to prevent any damage to the machine!" +msgstr "Por favor, confirme se esses G-codes modificados são seguros para evitar qualquer dano à máquina!" msgid "Modified G-codes" msgstr "G-codes modificados" msgid "The 3mf has following customized filament or printer presets:" -msgstr "" -"O 3mf possui os seguintes perfis de filamento ou impressora personalizados:" +msgstr "O 3mf possui os seguintes perfis de filamento ou impressora personalizados:" -msgid "" -"Please confirm that the G-codes within these presets are safe to prevent any " -"damage to the machine!" -msgstr "" -"Por favor, confirme se os G-codes dentro desses presets são seguros para " -"evitar qualquer dano à máquina!" +msgid "Please confirm that the G-codes within these presets are safe to prevent any damage to the machine!" +msgstr "Por favor, confirme se os G-codes dentro desses presets são seguros para evitar qualquer dano à máquina!" msgid "Customized Preset" msgstr "Perfil Personalizado" msgid "Name of components inside step file is not UTF8 format!" -msgstr "" -"O nome dos componentes dentro do arquivo STEP não está no formato UTF-8!" +msgstr "O nome dos componentes dentro do arquivo STEP não está no formato UTF-8!" msgid "The name may show garbage characters!" msgstr "O nome pode exibir caracteres inválidos!" @@ -6088,11 +5481,9 @@ msgstr "O nome pode exibir caracteres inválidos!" msgid "Remember my choice." msgstr "Lembrar minha escolha." -#, boost-format +#, possible-boost-format msgid "Failed loading file \"%1%\". An invalid configuration was found." -msgstr "" -"Falha ao carregar o arquivo \"%1%\". Foi encontrada uma configuração " -"inválida." +msgstr "Falha ao carregar o arquivo \"%1%\". Foi encontrada uma configuração inválida." msgid "Objects with zero volume removed" msgstr "Objetos com volume zero removidos" @@ -6100,25 +5491,20 @@ msgstr "Objetos com volume zero removidos" msgid "The volume of the object is zero" msgstr "O volume do objeto é zero" -#, c-format, boost-format -msgid "" -"The object from file %s is too small, and maybe in meters or inches.\n" +#, 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 "" -"O objeto do arquivo %s é muito pequeno e pode estar em metros ou polegadas.\n" +msgstr "O objeto do arquivo %s é muito pequeno e pode estar em metros ou polegadas.\n" "Deseja dimensioná-lo para milímetros?" msgid "Object too small" msgstr "Objeto muito pequeno" -msgid "" -"This file contains several objects positioned at multiple heights.\n" +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 "" -"Este arquivo contém vários objetos posicionados em alturas múltiplas.\n" -"Em vez de considerá-los como múltiplos objetos, o arquivo deve ser " -"carregado\n" +msgstr "Este arquivo contém vários objetos posicionados em alturas múltiplas.\n" +"Em vez de considerá-los como múltiplos objetos, o arquivo deve ser carregado\n" "como um único objeto com múltiplas peças?" msgid "Multi-part object detected" @@ -6133,12 +5519,8 @@ msgstr "Objeto com múltiplas peças foi detectado" msgid "The file does not contain any geometry data." msgstr "O arquivo não contém dados de geometria." -msgid "" -"Your object appears to be too large, Do you want to scale it down to fit the " -"heat bed automatically?" -msgstr "" -"Seu objeto parece ser muito grande. Deseja dimensioná-lo para caber na mesa " -"de aquecimento automaticamente?" +msgid "Your object appears to be too large, Do you want to scale it down to fit the heat bed automatically?" +msgstr "Seu objeto parece ser muito grande. Deseja dimensioná-lo para caber na mesa de aquecimento automaticamente?" msgid "Object too large" msgstr "Objeto muito grande" @@ -6155,12 +5537,10 @@ msgstr "Salvar arquivo como:" msgid "Export OBJ file:" msgstr "Exportar arquivo OBJ:" -#, c-format, boost-format -msgid "" -"The file %s already exists\n" +#, possible-c-format, possible-boost-format +msgid "The file %s already exists\n" "Do you want to replace it?" -msgstr "" -"O arquivo %s já existe\n" +msgstr "O arquivo %s já existe\n" "Deseja substituí-lo?" msgid "Comfirm Save As" @@ -6169,12 +5549,10 @@ msgstr "Confirmar Salvar Como" msgid "Delete object which is a part of cut object" msgstr "Excluir objeto que é uma peça do objeto cortado" -msgid "" -"You try to delete an object which is a part of a cut object.\n" +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 "" -"Você está tentando excluir um objeto que é peça de um objeto cortado.\n" +msgstr "Você está tentando excluir um objeto que é peça de um objeto cortado.\n" "Essa ação quebrará uma correspondência de corte.\n" "Após isso, a consistência do modelo não pode ser garantida." @@ -6229,30 +5607,23 @@ msgstr "Dados inválidos" msgid "Slicing Canceled" msgstr "Fatiamento Cancelado" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Slicing Plate %d" msgstr "Fatiando Mesa %d" msgid "Please resolve the slicing errors and publish again." msgstr "Por favor, resolva os erros de fatiamento e publique novamente." -msgid "" -"Network Plug-in is not detected. Network related features are unavailable." -msgstr "" -"O plug-in de rede não está detectado. Recursos relacionados à rede estão " -"indisponíveis." +msgid "Network Plug-in is not detected. Network related features are unavailable." +msgstr "O plug-in de rede não está detectado. Recursos relacionados à rede estão indisponíveis." -msgid "" -"Preview only mode:\n" +msgid "Preview only mode:\n" "The loaded file contains gcode only, Can not enter the Prepare page" -msgstr "" -"Modo somente de visualização:\n" -"O arquivo carregado contém apenas código G, não é possível acessar a página " -"de Preparação" +msgstr "Modo somente de visualização:\n" +"O arquivo carregado contém apenas código G, não é possível acessar a página de Preparação" msgid "You can keep the modified presets to the new project or discard them" -msgstr "" -"Você pode manter os presets modificados no novo projeto ou descartá-los" +msgstr "Você pode manter os presets modificados no novo projeto ou descartá-los" msgid "Creating a new project" msgstr "Criando um novo projeto" @@ -6260,14 +5631,10 @@ msgstr "Criando um novo projeto" msgid "Load project" msgstr "Carregar Projeto" -msgid "" -"Failed to save the project.\n" -"Please check whether the folder exists online or if other programs open the " -"project file." -msgstr "" -"Falha ao salvar o projeto.\n" -"Por favor, verifique se a pasta existe online ou se outros programas estão " -"com o arquivo do projeto aberto." +msgid "Failed to save the project.\n" +"Please check whether the folder exists online or if other programs open the project file." +msgstr "Falha ao salvar o projeto.\n" +"Por favor, verifique se a pasta existe online ou se outros programas estão com o arquivo do projeto aberto." msgid "Save project" msgstr "Salvar Projeto" @@ -6279,24 +5646,20 @@ msgid "prepare 3mf file..." msgstr "preparar o arquivo 3mf..." msgid "Download failed, unknown file format." -msgstr "" +msgstr "Baixar falhou, formato de arquivo desconhecido." msgid "downloading project ..." msgstr "baixando projeto..." msgid "Download failed, File size exception." -msgstr "" +msgstr "Baixar falhou, erro no tamanho do arquivo." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Project downloaded %d%%" msgstr "Projeto baixado %d%%" -msgid "" -"Importing to Orca Slicer failed. Please download the file and manually " -"import it." -msgstr "" -"A importação para o Orca Slicer falhou. Por favor, baixe o arquivo e importe " -"manualmente." +msgid "Importing to Orca Slicer failed. Please download the file and manually import it." +msgstr "A importação para a Orca Slicer falhou. Por favor, baixe o arquivo e importe manualmente." msgid "Import SLA archive" msgstr "Importar arquivo SLA" @@ -6311,18 +5674,18 @@ msgid "Error occurs while loading G-code file" msgstr "Erro ocorreu ao carregar o arquivo de código G" #. TRN %1% is archive path -#, boost-format +#, possible-boost-format msgid "Loading of a ZIP archive on path %1% has failed." -msgstr "" +msgstr "O carregamento de um arquivo ZIP no caminho %1% falhou." #. TRN: First argument = path to file, second argument = error description -#, boost-format +#, possible-boost-format msgid "Failed to unzip file to %1%: %2%" -msgstr "" +msgstr "Falha ao descompactar arquivo para %1%: %2%" -#, boost-format +#, possible-boost-format msgid "Failed to find unzipped file at %1%. Unzipping of file has failed." -msgstr "" +msgstr "Falha ao encontrar arquivo descompactado em %1%. Descompactação do arquivo falhou." msgid "Drop project file" msgstr "Solte o arquivo do projeto" @@ -6370,68 +5733,51 @@ msgid "The provided file name is not valid." msgstr "O nome de arquivo fornecido não é válido." msgid "The following characters are not allowed by a FAT file system:" -msgstr "" -"Os seguintes caracteres não são permitidos por um sistema de arquivos FAT:" +msgstr "Os seguintes caracteres não são permitidos por um sistema de arquivos FAT:" msgid "Save Sliced file as:" msgstr "Salvar arquivo fatiado como:" -#, c-format, boost-format -msgid "" -"The file %s has been sent to the printer's storage space and can be viewed " -"on the printer." -msgstr "" -"O arquivo %s foi enviado para o espaço de armazenamento da impressora e pode " -"ser visualizado na impressora." +#, 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 "O arquivo %s foi enviado para o espaço de armazenamento da impressora e pode ser visualizado na impressora." -msgid "" -"Unable to perform boolean operation on model meshes. Only positive parts " -"will be kept. You may fix the meshes and try agian." -msgstr "" -"Não é possível executar a operação booleana em malhas de modelo. Somente " -"partes positivas serão mantidas. Você pode consertar as malhas e tentar " -"novamente." +msgid "Unable to perform boolean operation on model meshes. Only positive parts will be kept. You may fix the meshes and try agian." +msgstr "Não é possível executar a operação booleana em malhas de modelo. Somente partes positivas serão mantidas. Você pode consertar as malhas e tentar novamente." -#, boost-format +#, possible-boost-format msgid "Reason: part \"%1%\" is empty." msgstr "Motivo: parte \"%1%\" está vazia." -#, boost-format +#, possible-boost-format msgid "Reason: part \"%1%\" does not bound a volume." msgstr "Motivo: parte \"%1%\" não está vinculada a um volume." -#, boost-format +#, possible-boost-format msgid "Reason: part \"%1%\" has self intersection." msgstr "Motivo: parte \"%1%\" tem auto-intersecção." -#, boost-format +#, possible-boost-format msgid "Reason: \"%1%\" and another part have no intersection." msgstr "Motivo: \"%1%\" e outra parte não tem intersecção." -msgid "" -"Are you sure you want to store original SVGs with their local paths into the " -"3MF file?\n" +msgid "Are you sure you want to store original SVGs with their local paths into the 3MF file?\n" "If you hit 'NO', all SVGs in the project will not be editable any more." -msgstr "" -"Você tem certeza de que deseja armazenar os SVGs originais com seus caminhos " -"locais no arquivo 3MF?\n" +msgstr "Você tem certeza de que deseja armazenar os SVGs originais com seus caminhos locais no arquivo 3MF?\n" "Se pressionar 'NÃO', todos os SVGs no projeto não serão mais editáveis." msgid "Private protection" msgstr "Proteção privada" msgid "Is the printer ready? Is the print sheet in place, empty and clean?" -msgstr "" -"A impressora está pronta? O folha de impressão está no lugar, vazia e limpa?" +msgstr "A impressora está pronta? O folha de impressão está no lugar, vazia e limpa?" msgid "Upload and Print" msgstr "Enviar e Imprimir" -msgid "" -"Print By Object: \n" +msgid "Print By Object: \n" "Suggest to use auto-arrange to avoid collisions when printing." -msgstr "" -"Imprimir por objeto: \n" +msgstr "Imprimir por objeto: \n" "Sugere-se usar o auto-arranjo para evitar colisões ao imprimir." msgid "Send G-code" @@ -6441,9 +5787,7 @@ msgid "Send to printer" msgstr "Enviar para a impressora" msgid "Custom supports and color painting were removed before repairing." -msgstr "" -"Os suportes personalizados e a pintura de cores foram removidos antes do " -"reparo." +msgstr "Os suportes personalizados e a pintura de cores foram removidos antes do reparo." msgid "Optimize Rotation" msgstr "Otimizar Rotação" @@ -6454,61 +5798,51 @@ msgstr "Número inválido" msgid "Plate Settings" msgstr "Configurações da Mesa" -#, boost-format +#, possible-boost-format msgid "Number of currently selected parts: %1%\n" msgstr "Número de peças atualmente selecionadas: %1%\n" -#, boost-format +#, possible-boost-format msgid "Number of currently selected objects: %1%\n" msgstr "Número de objetos atualmente selecionados: %1%\n" -#, boost-format +#, possible-boost-format msgid "Part name: %1%\n" msgstr "Nome da peça: %1%\n" -#, boost-format +#, possible-boost-format msgid "Object name: %1%\n" msgstr "Nome do objeto: %1%\n" -#, boost-format +#, possible-boost-format msgid "Size: %1% x %2% x %3% in\n" msgstr "Tamanho: %1% x %2% x %3% pol\n" -#, boost-format +#, possible-boost-format msgid "Size: %1% x %2% x %3% mm\n" msgstr "Tamanho: %1% x %2% x %3% mm\n" -#, boost-format +#, possible-boost-format msgid "Volume: %1% in³\n" msgstr "Volume: %1% pol³\n" -#, boost-format +#, possible-boost-format msgid "Volume: %1% mm³\n" msgstr "Volume: %1% mm3\n" -#, boost-format +#, possible-boost-format msgid "Triangles: %1%\n" msgstr "Triângulos: %1%\n" msgid "Tips:" msgstr "Dicas:" -msgid "" -"\"Fix Model\" feature is currently only on Windows. Please repair the model " -"on Orca Slicer(windows) or CAD softwares." -msgstr "" -"A função \"Corrigir Modelo\" está atualmente disponível apenas no Windows. " -"Por favor, repare o modelo no Orca Slicer (Windows) ou softwares CAD." +msgid "\"Fix Model\" feature is currently only on Windows. Please repair the model on Orca Slicer(windows) or CAD softwares." +msgstr "A função \"Corrigir Modelo\" está atualmente disponível apenas no Windows. Por favor, repare o modelo no Orca Slicer (Windows) ou softwares CAD." -#, c-format, boost-format -msgid "" -"Plate% d: %s is not suggested to be used to print filament %s(%s). If you " -"still want to do this printing, please set this filament's bed temperature " -"to non zero." -msgstr "" -"Mesa %d: %s não é recomendada para ser usada para imprimir filamento %s(%s). " -"Se você ainda quiser fazer esta impressão, por favor, defina a temperatura " -"de mesa deste filamento para zero" +#, 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 printing, please set this filament's bed temperature to non zero." +msgstr "Mesa %d: %s não é recomendada para ser usada para imprimir filamento %s(%s). Se você ainda quiser fazer esta impressão, por favor, defina a temperatura de mesa deste filamento para zero" msgid "Switching the language requires application restart.\n" msgstr "Mudar o idioma requer reiniciar o aplicativo.\n" @@ -6520,8 +5854,7 @@ msgid "Language selection" msgstr "Seleção de Idioma" msgid "Switching application language while some presets are modified." -msgstr "" -"A mudança do idioma do aplicativo enquanto alguns presets estão modificados." +msgstr "A mudança do idioma do aplicativo enquanto alguns presets estão modificados." msgid "Changing application language" msgstr "Alterando o idioma do aplicativo" @@ -6565,10 +5898,8 @@ msgstr "Região de Login" msgid "Stealth Mode" msgstr "Modo Oculto" -msgid "" -"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." -msgstr "" +msgid "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." +msgstr "Isso interrompe a transmissão de dados para os serviços de nuvem de Bambu. Os usuários que não usam máquinas BBL ou usar modo LAN só podem ativar esta função com segurança." msgid "Enable network plugin" msgstr "Ativar plugin de rede" @@ -6586,23 +5917,13 @@ msgid "Units" msgstr "Unidades" msgid "Allow only one OrcaSlicer instance" -msgstr "" +msgstr "Permitir apenas uma instância 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 "" -"No OSX, sempre há apenas uma instância do aplicativo em execução por padrão. " -"No entanto, é permitido executar várias instâncias do mesmo aplicativo a " -"partir da linha de comando. Nesse caso, essas configurações permitirão " -"apenas uma instância." +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 "No OSX, sempre há uma instância do aplicativo sendo executado por padrão. No entanto, é permitido executar várias instâncias do mesmo aplicativo a partir da linha de comando. Neste caso, apenas uma instância será permitida." -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 "" +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 "Se esta opção estiver habilitada, ao iniciar o OrcaSlicer e outra instância do mesmo OrcaSlicer já estiver em execução, essa instância será reativada em vez disso." msgid "Home" msgstr "Início" @@ -6619,25 +5940,18 @@ msgstr "Touchpad" msgid "Camera style" msgstr "Estilo da câmera" -msgid "" -"Select camera navigation style.\n" +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 "" -"Selecione o estilo de navegação da câmera.\n" -"Padrão: LMB + mover para rotacionar, RMB/MMB + mover para movimento " -"lateral.\n" -"Touchpad: Alt + mover para rotacionar, Shift + mover para movimento lateral." +msgstr "Selecione o estilo de navegação da câmera.\n" +"Padrão: LMB + mover para rotacionar, RMB/MMB + mover para fazer pan.\n" +"Touchpad: Alt+mover para rotacionar, Shift+mover para fazer pan." msgid "Zoom to mouse position" msgstr "Zoom para a posição do mouse" -msgid "" -"Zoom in towards the mouse pointer's position in the 3D view, rather than the " -"2D window center." -msgstr "" -"Dar zoom em direção à posição do ponteiro do mouse na visualização 3D, em " -"vez do centro da janela 2D." +msgid "Zoom in towards the mouse pointer's position in the 3D view, rather than the 2D window center." +msgstr "Dar zoom em direção à posição do ponteiro do mouse na visualização 3D, em vez do centro da janela 2D." msgid "Use free camera" msgstr "Usar câmera livre" @@ -6664,14 +5978,13 @@ msgid "If enabled, useful hints are displayed at startup." msgstr "Se ativado, dicas úteis são exibidas na inicialização." msgid "Flushing volumes: Auto-calculate everytime the color changed." -msgstr "Volumes de descarga: Auto-calcular toda vez que a cor mudar." +msgstr "Volumes de Limpeza: Auto-calcular toda vez que a cor mudar." msgid "If enabled, auto-calculate everytime the color changed." msgstr "Se ativado, auto-calcular toda vez que a cor mudar." -msgid "" -"Flushing volumes: Auto-calculate every time when the filament is changed." -msgstr "Volumes de descarga: Auto-calcular toda vez que a cor mudar." +msgid "Flushing volumes: Auto-calculate every time when the filament is changed." +msgstr "Volumes de Limpeza: Auto-calcular toda vez que o filamento mudar." msgid "If enabled, auto-calculate every time when filament is changed" msgstr "Se ativo, auto-calcular toda vez que a cor mudar" @@ -6679,27 +5992,20 @@ msgstr "Se ativo, auto-calcular toda vez que a cor mudar" msgid "Remember printer configuration" msgstr "Lembrar configuração da impressora" -msgid "" -"If enabled, Orca will remember and switch filament/process configuration for " -"each printer automatically." -msgstr "" -"Se ativo, Orca vai lembrar e alternar a configuração de filamento/processo " -"para cada impressora automaticamente." +msgid "If enabled, Orca will remember and switch filament/process configuration for each printer automatically." +msgstr "Se ativo, Orca vai lembrar e alternar a configuração de filamento/processo para cada impressora automaticamente." msgid "Multi-device Management(Take effect after restarting Orca)." -msgstr "" +msgstr "Gerenciamento de multi-dispositivos(Entra em vigor após reiniciar o Orca)." -msgid "" -"With this option enabled, you can send a task to multiple devices at the " -"same time and manage multiple devices." -msgstr "" +msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." +msgstr "Com esta opção habilitada, você pode enviar uma tarefa para vários dispositivos ao mesmo tempo e gerenciar vários dispositivos." msgid "Network" msgstr "Rede" msgid "Auto sync user presets(Printer/Filament/Process)" -msgstr "" -"Sincronização automática de presets do usuário(Impressora/Filamento/Processo)" +msgstr "Sincronização automática de presets do usuário(Impressora/Filamento/Processo)" msgid "User Sync" msgstr "Sincronização do Usuário" @@ -6720,37 +6026,31 @@ msgid "Associate .3mf files to OrcaSlicer" msgstr "Associar arquivos .3mf ao OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .3mf files" -msgstr "" -"Se ativado, define OrcaSlicer como aplicativo padrão para abrir arquivos .3mf" +msgstr "Se ativado, define OrcaSlicer como aplicativo padrão para abrir arquivos .3mf" msgid "Associate .stl files to OrcaSlicer" msgstr "Associar arquivos .stl ao OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .stl files" -msgstr "" -"Se ativado, define OrcaSlicer como aplicativo padrão para abrir arquivos .stl" +msgstr "Se ativado, define OrcaSlicer como aplicativo padrão para abrir arquivos .stl" msgid "Associate .step/.stp files to OrcaSlicer" msgstr "Associar arquivos .step/.stp ao OrcaSlicer" msgid "If enabled, sets OrcaSlicer as default application to open .step files" -msgstr "" -"Se ativado, define OrcaSlicer como aplicativo padrão para abrir arquivos ." -"step" +msgstr "Se ativado, define OrcaSlicer como aplicativo padrão para abrir arquivos .step" msgid "Current association: " -msgstr "" +msgstr "Associação atual: " msgid "Associate prusaslicer://" -msgstr "" +msgstr "Associar prusaslicer://" msgid "Not associated to any application" -msgstr "" +msgstr "Não associado a nenhum aplicativo" -msgid "" -"Associate OrcaSlicer with prusaslicer:// links so that Orca can open " -"PrusaSlicer links from Printable.com" -msgstr "" +msgid "Associate OrcaSlicer with prusaslicer:// links so that Orca can open PrusaSlicer links from Printable.com" +msgstr "Associar OrcaSlicer com links prusaslicer:// para que Orca possa abrir os links PrusaSlicer do Printable.com" msgid "Maximum recent projects" msgstr "Máximo de projetos recentes" @@ -6767,11 +6067,8 @@ msgstr "Sem avisos ao carregar 3MF com códigos G modificados" msgid "Auto-Backup" msgstr "Backup Automático" -msgid "" -"Backup your project periodically for restoring from the occasional crash." -msgstr "" -"Faça backup do seu projeto periodicamente para restaurar de falhas " -"ocasionais." +msgid "Backup your project periodically for restoring from the occasional crash." +msgstr "Faça backup do seu projeto periodicamente para restaurar de falhas ocasionais." msgid "every" msgstr "cada" @@ -6990,8 +6287,7 @@ msgid "Jump to model publish web page" msgstr "Ir para a página web de publicação de modelos" msgid "Note: The preparation may takes several minutes. Please be patiant." -msgstr "" -"Nota: A preparação pode levar vários minutos. Por favor, seja paciente." +msgstr "Nota: A preparação pode levar vários minutos. Por favor, seja paciente." msgid "Publish" msgstr "Publicar" @@ -7008,7 +6304,7 @@ msgstr "Empacotando dados em 3mf" msgid "Jump to webpage" msgstr "Ir para a página web" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Save %s as" msgstr "Salvar %s como" @@ -7024,11 +6320,11 @@ msgstr "O nome não está disponível." msgid "Overwrite a system profile is not allowed" msgstr "Sobrescrever um perfil de sistema não é permitido" -#, boost-format +#, possible-boost-format msgid "Preset \"%1%\" already exists." msgstr "O perfil \"%1%\" já existe." -#, boost-format +#, possible-boost-format msgid "Preset \"%1%\" already exists and is incompatible with current printer." msgstr "O perfil \"%1%\" já existe e é incompatível com a impressora atual." @@ -7045,23 +6341,23 @@ msgctxt "PresetName" msgid "Copy" msgstr "Cópia" -#, boost-format +#, possible-boost-format msgid "Printer \"%1%\" is selected with preset \"%2%\"" msgstr "A impressora \"%1%\" está selecionada com o perfil \"%2%\"" -#, boost-format +#, possible-boost-format msgid "Please choose an action with \"%1%\" preset after saving." msgstr "Por favor, escolha uma ação com o perfil \"%1%\" após salvar." -#, boost-format +#, possible-boost-format msgid "For \"%1%\", change \"%2%\" to \"%3%\" " msgstr "Para \"%1%\", mude \"%2%\" para \"%3%\" " -#, boost-format +#, possible-boost-format msgid "For \"%1%\", add \"%2%\" as a new preset" msgstr "Para \"%1%\", adicione \"%2%\" como um novo perfil" -#, boost-format +#, possible-boost-format msgid "Simply switch to \"%1%\"" msgstr "Simplesmente mude para \"%1%\"" @@ -7144,90 +6440,49 @@ msgid "Synchronizing device information time out" msgstr "Tempo limite de sincronização das informações do dispositivo" msgid "Cannot send the print job when the printer is updating firmware" -msgstr "" -"Não é possível enviar o trabalho de impressão quando a impressora está " -"atualizando o firmware" +msgstr "Não é possível enviar o trabalho de impressão quando a impressora está atualizando o firmware" -msgid "" -"The printer is executing instructions. Please restart printing after it ends" -msgstr "" -"A impressora está executando instruções. Por favor, reinicie a impressão " -"após terminar" +msgid "The printer is executing instructions. Please restart printing after it ends" +msgstr "A impressora está executando instruções. Por favor, reinicie a impressão após terminar" msgid "The printer is busy on other print job" msgstr "A impressora está ocupada com outro trabalho de impressão" -#, c-format, boost-format -msgid "" -"Filament %s exceeds the number of AMS slots. Please update the printer " -"firmware to support AMS slot assignment." -msgstr "" -"O filamento %s excede o número de slots AMS. Por favor, atualize o firmware " -"da impressora para suportar a atribuição de slots AMS." +#, possible-c-format, possible-boost-format +msgid "Filament %s exceeds the number of AMS slots. Please update the printer firmware to support AMS slot assignment." +msgstr "O filamento %s excede o número de slots AMS. Por favor, atualize o firmware da impressora para suportar a atribuição de slots AMS." -msgid "" -"Filament exceeds the number of AMS slots. Please update the printer firmware " -"to support AMS slot assignment." -msgstr "" -"O filamento excede o número de slots AMS. Por favor, atualize o firmware da " -"impressora para suportar a atribuição de slots AMS." +msgid "Filament exceeds the number of AMS slots. Please update the printer firmware to support AMS slot assignment." +msgstr "O filamento excede o número de slots AMS. Por favor, atualize o firmware da impressora para suportar a atribuição de slots AMS." -msgid "" -"Filaments to AMS slots mappings have been established. You can click a " -"filament above to change its mapping AMS slot" -msgstr "" -"Foram estabelecidos mapeamentos de filamentos para slots AMS. Você pode " -"clicar em um filamento acima para mudar seu slot AMS mapeado" +msgid "Filaments to AMS slots mappings have been established. You can click a filament above to change its mapping AMS slot" +msgstr "Foram estabelecidos mapeamentos de filamentos para slots AMS. Você pode clicar em um filamento acima para mudar seu slot AMS mapeado" -msgid "" -"Please click each filament above to specify its mapping AMS slot before " -"sending the print job" -msgstr "" -"Por favor, clique em cada filamento acima para especificar seu slot AMS " -"mapeado antes de enviar o trabalho de impressão" +msgid "Please click each filament above to specify its mapping AMS slot before sending the print job" +msgstr "Por favor, clique em cada filamento acima para especificar seu slot AMS mapeado antes de enviar o trabalho de impressão" -#, c-format, 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 "" -"O filamento %s não corresponde ao filamento no slot AMS %s. Por favor, " -"atualize o firmware da impressora para suportar a atribuição de slots AMS." +#, 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 "O filamento %s não corresponde ao filamento no slot AMS %s. Por favor, atualize o firmware da impressora para suportar a atribuição de slots AMS." -msgid "" -"Filament does not match the filament in AMS slot. Please update the printer " -"firmware to support AMS slot assignment." -msgstr "" -"O filamento não corresponde ao filamento no slot AMS. Por favor, atualize o " -"firmware da impressora para suportar a atribuição de slots AMS." +msgid "Filament does not match the filament in AMS slot. Please update the printer firmware to support AMS slot assignment." +msgstr "O filamento não corresponde ao filamento no slot AMS. Por favor, atualize o firmware da impressora para suportar a atribuição de slots AMS." -msgid "" -"The printer firmware only supports sequential mapping of filament => AMS " -"slot." -msgstr "" -"O firmware da impressora só suporta mapeamento sequencial de filamento => " -"slot AMS." +msgid "The printer firmware only supports sequential mapping of filament => AMS slot." +msgstr "O firmware da impressora só suporta mapeamento sequencial de filamento => slot AMS." msgid "An SD card needs to be inserted before printing." msgstr "Um cartão SD precisa ser inserido antes de imprimir." -#, c-format, boost-format -msgid "" -"The selected printer (%s) is incompatible with the chosen printer profile in " -"the slicer (%s)." -msgstr "" -"A impressora selecionada (%s) é incompatível com o perfil escolhido de " -"impressora no fatiador (%s)." +#, possible-c-format, possible-boost-format +msgid "The selected printer (%s) is incompatible with the chosen printer profile in the slicer (%s)." +msgstr "A impressora selecionada (%s) é incompatível com o perfil escolhido de impressora no fatiador (%s)." msgid "An SD card needs to be inserted to record timelapse." msgstr "Um cartão SD precisa ser inserido para gravar o timelapse." -msgid "" -"Cannot send the print job to a printer whose firmware is required to get " -"updated." -msgstr "" -"Não é possível enviar o trabalho de impressão para uma impressora cujo " -"firmware precisa ser atualizado." +msgid "Cannot send the print job to a printer whose firmware is required to get updated." +msgstr "Não é possível enviar o trabalho de impressão para uma impressora cujo firmware precisa ser atualizado." msgid "Cannot send the print job for empty plate" msgstr "Não é possível enviar o trabalho de impressão para uma mesa vazia" @@ -7235,18 +6490,11 @@ msgstr "Não é possível enviar o trabalho de impressão para uma mesa vazia" msgid "This printer does not support printing all plates" msgstr "Esta impressora não suporta a impressão em todas as mesas" -msgid "" -"When enable spiral vase mode, machines with I3 structure will not generate " -"timelapse videos." -msgstr "" -"Quando o modo vaso espiral está ativado, máquinas com estrutura I3 não irão " -"gerar vídeos timelapse." +msgid "When enable spiral vase mode, machines with I3 structure will not generate timelapse videos." +msgstr "Quando o modo vaso espiral está ativado, máquinas com estrutura I3 não irão gerar vídeos timelapse." -msgid "" -"Timelapse is not supported because Print sequence is set to \"By object\"." -msgstr "" -"Timelapse não é suportado porque a sequência de impressão está configurada " -"para \"Por objeto\"." +msgid "Timelapse is not supported because Print sequence is set to \"By object\"." +msgstr "Timelapse não é suportado porque a sequência de impressão está configurada para \"Por objeto\"." msgid "Errors" msgstr "Erros" @@ -7254,72 +6502,38 @@ msgstr "Erros" msgid "Please check the following:" msgstr "Por favor, verifique o seguinte:" -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 "" -"O tipo de impressora selecionado ao gerar o G-Code não está consistente com " -"a impressora atualmente selecionada. É recomendado que você use o mesmo tipo " -"de impressora para fatiar." +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 "O tipo de impressora selecionado ao gerar o G-Code não está consistente com a impressora atualmente selecionada. É recomendado que você use o mesmo tipo de impressora para fatiar." -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 "" -"Há alguns filamentos desconhecidos nos mapeamentos AMS. Por favor, verifique " -"se eles são os filamentos necessários. Se estiverem corretos, pressione " -"\"Confirmar\" para iniciar a impressão." +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 "Há alguns filamentos desconhecidos nos mapeamentos AMS. Por favor, verifique se eles são os filamentos necessários. Se estiverem corretos, pressione \"Confirmar\" para iniciar a impressão." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "nozzle in preset: %s %s" msgstr "bico no perfil: %s %s" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "nozzle memorized: %.1f %s" msgstr "bico memorizado: %.1f %s" -msgid "" -"Your nozzle diameter in sliced file is not consistent with memorized nozzle. " -"If you changed your nozzle lately, please go to Device > Printer Parts to " -"change settings." -msgstr "" -"Seu diâmetro de bico no arquivo fatiado não é consistente com o bico " -"memorizado. Se você mudou seu bico recentemente, vá para Dispositivo > " -"Partes da impressora para alterar as configurações." +msgid "Your nozzle diameter in sliced file is not consistent with memorized nozzle. If you changed your nozzle lately, please go to Device > Printer Parts to change settings." +msgstr "Seu diâmetro de bico no arquivo fatiado não é consistente com o bico memorizado. Se você mudou seu bico recentemente, vá para Dispositivo > Partes da impressora para alterar as configurações." -#, c-format, boost-format -msgid "" -"Printing high temperature material(%s material) with %s may cause nozzle " -"damage" -msgstr "" -"Imprimir material de temperatura alta (material %s) com %s poderá causar " -"danos ao bico" +#, possible-c-format, possible-boost-format +msgid "Printing high temperature material(%s material) with %s may cause nozzle damage" +msgstr "Imprimir material de temperatura alta (material %s) com %s poderá causar danos ao bico" msgid "Please fix the error above, otherwise printing cannot continue." -msgstr "" -"Por favor, corrija o erro acima, caso contrário a impressão não poderá " -"continuar." +msgstr "Por favor, corrija o erro acima, caso contrário a impressão não poderá continuar." -msgid "" -"Please click the confirm button if you still want to proceed with printing." -msgstr "" -"Por favor, clique no botão de confirmação se ainda deseja prosseguir com a " -"impressão." +msgid "Please click the confirm button if you still want to proceed with printing." +msgstr "Por favor, clique no botão de confirmação se ainda deseja prosseguir com a impressão." -msgid "" -"Connecting to the printer. Unable to cancel during the connection process." -msgstr "" -"Conectando à impressora. Não é possível cancelar durante o processo de " -"conexão." +msgid "Connecting to the printer. Unable to cancel during the connection process." +msgstr "Conectando à impressora. Não é possível cancelar durante o processo de conexão." -msgid "" -"Caution to use! Flow calibration on Textured PEI Plate may fail due to the " -"scattered surface." -msgstr "" -"Cuidado ao usar! A calibração de fluxo no PEI Texturizado pode falhar devido " -"à superfície irregular." +msgid "Caution to use! Flow calibration on Textured PEI Plate may fail due to the scattered surface." +msgstr "Cuidado ao usar! A calibração de fluxo no PEI Texturizado pode falhar devido à superfície irregular." msgid "Automatic flow calibration using Micro Lidar" msgstr "Calibração automática de fluxo usando Micro Lidar" @@ -7328,25 +6542,19 @@ msgid "Modifying the device name" msgstr "Modificando o nome do dispositivo" msgid "Bind with Pin Code" -msgstr "" +msgstr "Vincular com Código PIN" msgid "Send to Printer SD card" msgstr "Enviar para o cartão SD da impressora" msgid "Cannot send the print task when the upgrade is in progress" -msgstr "" -"Não é possível enviar a tarefa de impressão quando a atualização está em " -"progresso" +msgstr "Não é possível enviar a tarefa de impressão quando a atualização está em progresso" msgid "The selected printer is incompatible with the chosen printer presets." -msgstr "" -"A impressora selecionada é incompatível com os perfis de impressora " -"escolhidos." +msgstr "A impressora selecionada é incompatível com os perfis de impressora escolhidos." msgid "An SD card needs to be inserted before send to printer SD card." -msgstr "" -"Um cartão SD precisa ser inserido antes de enviar para o cartão SD da " -"impressora." +msgstr "Um cartão SD precisa ser inserido antes de enviar para o cartão SD da impressora." msgid "The printer is required to be in the same LAN as Orca Slicer." msgstr "A impressora deve estar na mesma LAN do Orca Slicer." @@ -7387,25 +6595,25 @@ msgstr "Tempo esgotado ao receber o relatório de login" msgid "Unknown Failure" msgstr "Falha desconhecida" -msgid "" -"Please Find the Pin Code in Account page on printer screen,\n" +msgid "Please Find the Pin Code in Account page on printer screen,\n" " and type in the Pin Code below." -msgstr "" +msgstr "Encontre o Código PIN na página da conta na tela da impressora,\n" +" e digite o Código PIN abaixo." msgid "Can't find Pin Code?" -msgstr "" +msgstr "Não consegue encontrar o Código PIN?" msgid "Pin Code" -msgstr "" +msgstr "Código PIN" msgid "Binding..." -msgstr "" +msgstr "Vinculando..." msgid "Please confirm on the printer screen" -msgstr "" +msgstr "Confirme na tela da impressora" msgid "Log in failed. Please check the Pin Code." -msgstr "" +msgstr "Login falhou. Por favor, verifique o Código PIN." msgid "Log in printer" msgstr "Entrar na impressora" @@ -7422,19 +6630,8 @@ msgstr "Ler e aceitar" msgid "Terms and Conditions" msgstr "Termos e Condições" -msgid "" -"Thank you for purchasing a Bambu Lab device.Before using your Bambu Lab " -"device, please read the termsand conditions.By clicking to agree to use your " -"Bambu Lab device, you agree to abide by the Privacy Policyand 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 "" -"Obrigado por adquirir um dispositivo Bambu Lab. Antes de usar seu " -"dispositivo Bambu Lab, leia os termos e condições. Ao clicar para concordar " -"em usar seu dispositivo Bambu Lab, você concorda em cumprir a Política de " -"Privacidade e os Termos de Uso (coletivamente, os \"Termos\"). Se você não " -"concordar ou não cumprir com a Política de Privacidade da Bambu Lab, não use " -"os equipamentos e serviços da Bambu Lab." +msgid "Thank you for purchasing a Bambu Lab device.Before using your Bambu Lab device, please read the termsand conditions.By clicking to agree to use your Bambu Lab device, you agree to abide by the Privacy Policyand 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 "Obrigado por adquirir um dispositivo Bambu Lab. Antes de usar seu dispositivo Bambu Lab, leia os termos e condições. Ao clicar para concordar em usar seu dispositivo Bambu Lab, você concorda em cumprir a Política de Privacidade e os Termos de Uso (coletivamente, os \"Termos\"). Se você não concordar ou não cumprir com a Política de Privacidade da Bambu Lab, não use os equipamentos e serviços da Bambu Lab." msgid "and" msgstr "e" @@ -7448,33 +6645,9 @@ msgstr "Pedimos sua ajuda para melhorar a impressora de todos" msgid "Statement about User Experience Improvement Program" msgstr "Declaração sobre o Programa de Melhoria da Experiência do Usuário" -#, c-format, 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 "" -"Na comunidade de Impressão 3D, aprendemos com os sucessos e falhas uns dos " -"outros para ajustar nossos próprios parâmetros de fatiamento e " -"configurações. %s segue o mesmo princípio e utiliza aprendizado de máquina " -"para melhorar seu desempenho a partir dos sucessos e falhas do grande número " -"de impressões feitas por nossos usuários. Estamos treinando %s para ser mais " -"inteligente alimentando-os com dados do mundo real. Se você concordar, este " -"serviço acessará informações de seus registros de erros e registros de uso, " -"que podem incluir informações descritas na Política de Privacidade. Não " -"coletaremos quaisquer Dados Pessoais pelos quais um indivíduo possa ser " -"identificado diretamente ou indiretamente, incluindo, sem limitação, nomes, " -"endereços, informações de pagamento ou números de telefone. Ao ativar este " -"serviço, você concorda com estes termos e com a declaração sobre a Política " -"de Privacidade." +#, 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 "Na comunidade de Impressão 3D, aprendemos com os sucessos e falhas uns dos outros para ajustar nossos próprios parâmetros de fatiamento e configurações. %s segue o mesmo princípio e utiliza aprendizado de máquina para melhorar seu desempenho a partir dos sucessos e falhas do grande número de impressões feitas por nossos usuários. Estamos treinando %s para ser mais inteligente alimentando-os com dados do mundo real. Se você concordar, este serviço acessará informações de seus registros de erros e registros de uso, que podem incluir informações descritas na Política de Privacidade. Não coletaremos quaisquer Dados Pessoais pelos quais um indivíduo possa ser identificado diretamente ou indiretamente, incluindo, sem limitação, nomes, endereços, informações de pagamento ou números de telefone. Ao ativar este serviço, você concorda com estes termos e com a declaração sobre a Política de Privacidade." msgid "Statement on User Experience Improvement Plan" msgstr "Declaração sobre o Plano de Melhoria da Experiência do Usuário" @@ -7492,113 +6665,69 @@ msgid "Please log in first." msgstr "Por favor, faça login primeiro." msgid "There was a problem connecting to the printer. Please try again." -msgstr "" -"Houve um problema ao conectar-se à impressora. Por favor, tente novamente." +msgstr "Houve um problema ao conectar-se à impressora. Por favor, tente novamente." msgid "Failed to log out." msgstr "Falha ao desconectar." #. TRN "Save current Settings" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Save current %s" msgstr "Salvar %s atual" msgid "Delete this preset" -msgstr "Excluir este predefinido" +msgstr "Excluir este preset" msgid "Search in preset" -msgstr "Pesquisar nos predefinidos" +msgstr "Pesquisar nos presets" msgid "Click to reset all settings to the last saved preset." -msgstr "" -"Clique para redefinir todas as configurações para o último predefinido salvo." +msgstr "Clique para redefinir todas as configurações para o último preset salvo." -msgid "" -"Prime tower is required for smooth timeplase. There may be flaws on the " -"model without prime tower. Are you sure you want to disable prime tower?" -msgstr "" -"A torre de purga é necessária para um timelapse suave. Pode haver falhas no " -"modelo sem a torre de purga. Tem certeza de que deseja desativar a torre de " -"purga?" +msgid "Prime tower is required for smooth timeplase. There may be flaws on the model without prime tower. Are you sure you want to disable prime tower?" +msgstr "A torre de purga é necessária para um timelapse suave. Pode haver falhas no modelo sem a torre de purga. Tem certeza de que deseja desativar a torre de purga?" -msgid "" -"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 "" -"A torre de purga é necessária para um timelapse suave. Pode haver falhas no " -"modelo sem a torre de purga. Deseja ativar a torre de purga?" +msgid "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 "A torre de purga é necessária para um timelapse suave. Pode haver falhas no modelo sem a torre de purga. Deseja ativar a torre de purga?" msgid "Still print by object?" msgstr "Ainda imprimir por objeto?" -msgid "" -"We have added an experimental style \"Tree Slim\" that features smaller " -"support volume but weaker strength.\n" +msgid "We have added an experimental style \"Tree Slim\" that features smaller support volume but weaker strength.\n" "We recommend using it with: 0 interface layers, 0 top distance, 2 walls." -msgstr "" -"Adicionamos um estilo experimental \"Tree Slim\" que apresenta um volume de " -"suporte menor, mas uma resistência mais fraca.\n" -"Recomendamos usar com: 0 camadas de interface, 0 distância superior, 2 " -"paredes." +msgstr "Adicionamos um estilo experimental \"Tree Slim\" que apresenta um volume de suporte menor, mas uma resistência mais fraca.\n" +"Recomendamos usar com: 0 camadas de interface, 0 distância superior, 2 paredes." -msgid "" -"Change these settings automatically? \n" +msgid "Change these settings automatically? \n" "Yes - Change these settings automatically\n" "No - Do not change these settings for me" -msgstr "" -"Alterar essas configurações automaticamente? \n" +msgstr "Alterar essas configurações automaticamente? \n" "Sim - Alterar essas configurações automaticamente\n" "Não - Não alterar essas configurações para mim" -msgid "" -"For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following " -"settings: at least 2 interface layers, at least 0.1mm top z distance or " -"using support materials on interface." -msgstr "" -"Para os estilos \"Tree Strong\" e \"Tree Hybrid\", recomendamos as seguintes " -"configurações: pelo menos 2 camadas de interface, pelo menos 0.1mm de " -"distância superior em z ou uso de materiais de suporte na interface." +msgid "For \"Tree Strong\" and \"Tree Hybrid\" styles, we recommend the following settings: at least 2 interface layers, at least 0.1mm top z distance or using support materials on interface." +msgstr "Para os estilos \"Tree Strong\" e \"Tree Hybrid\", recomendamos as seguintes configurações: pelo menos 2 camadas de interface, pelo menos 0.1mm de distância superior em z ou uso de materiais de suporte na interface." -msgid "" -"When using support material for the support interface, We recommend the " -"following settings:\n" -"0 top z distance, 0 interface spacing, concentric pattern and disable " -"independent support layer height" -msgstr "" -"Ao usar material de suporte para a interface de suporte, recomendamos as " -"seguintes configurações:\n" -"distância z superior 0, espaçamento de interface 0, padrão concêntrico e " -"desabilitar altura de camada de suporte independente" +msgid "When using support material for the support interface, We recommend the following settings:\n" +"0 top z distance, 0 interface spacing, concentric pattern and disable independent support layer height" +msgstr "Ao usar material de suporte para a interface de suporte, recomendamos as seguintes configurações:\n" +"distância z superior 0, espaçamento de interface 0, padrão concêntrico e desabilitar altura de camada de suporte independente" -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 "" -"Habilitar esta opção modificará a forma do modelo. Se sua impressão exigir " -"dimensões precisas ou fizer parte de uma montagem, é importante verificar " -"duplamente se essa mudança na geometria afeta a funcionalidade da sua " -"impressão." +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 "Habilitar esta opção modificará a forma do modelo. Se sua impressão exigir dimensões precisas ou fizer parte de uma montagem, é importante verificar duplamente se essa mudança na geometria afeta a funcionalidade da sua impressão." msgid "Are you sure you want to enable this option?" msgstr "Tem certeza de que deseja habilitar esta opção?" -msgid "" -"Layer height is too small.\n" +msgid "Layer height is too small.\n" "It will set to min_layer_height\n" -msgstr "" -"A altura da camada é muito pequena.\n" +msgstr "A altura da camada é muito pequena.\n" "Ela será definida como altura mínima da camada\n" "A altura da camada é muito pequena.\n" "Ela será definida como altura mínima da camada\n" -msgid "" -"Layer height exceeds the limit in Printer Settings -> Extruder -> Layer " -"height limits ,this may cause printing quality issues." -msgstr "" -"A altura da camada excede o limite em Configurações da Impressora -> " -"Extrusora -> Limites de altura da camada, isso pode causar problemas de " -"qualidade de impressão." +msgid "Layer height exceeds the limit in Printer Settings -> Extruder -> Layer height limits ,this may cause printing quality issues." +msgstr "A altura da camada excede o limite em Configurações da Impressora -> Extrusora -> Limites de altura da camada, isso pode causar problemas de qualidade de impressão." msgid "Adjust to the set range automatically? \n" msgstr "Ajustar automaticamente à faixa definida? \n" @@ -7609,39 +6738,16 @@ msgstr "Ajustar" msgid "Ignore" msgstr "Ignorar" -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 "" -"Recurso experimental: Retrair e cortar o filamento a uma distância maior " -"durante mudanças de filamento para minimizar a descarga. Embora possa " -"reduzir notavelmente a descarga, ele também pode elevar o risco de bolhas no " -"bico ou outras complicações de impressão." +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 "Recurso experimental: Retrair e cortar o filamento a uma distância maior durante as trocas de filamento para minimizar a limpeza. Embora isso possa reduzir consideravelmente a limpeza, também pode aumentar o risco de obstruções no bico ou outras complicações de impressão." -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 "" -"Recurso experimental: Retrair e cortar o filamento a uma distância maior " -"durante mudanças de filamento para minimizar a descarga. Embora possa " -"reduzir notavelmente a descarga, ele também pode elevar o risco de bolhas no " -"bico ou outras complicações de impressão. Por favor, use com o firmware mais " -"recente da impressora." +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 "Recurso experimental: Retrair e cortar o filamento a uma distância maior durante as trocas de filamento para minimizar a limpeza. Embora isso possa reduzir consideravelmente a limpeza, também pode aumentar o risco de obstruções no bico ou outras complicações de impressão. Por favor, use com o firmware mais recente da impressora." -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 "" -"Ao gravar um timelapse sem aparecer a hotend, é recomendável adicionar uma " -"\"Torre de Limpeza de Timelapse\" \n" -"clique com o botão direito na posição vazia da mesa e escolha \"Adicionar " -"Primitivo\"->\"Torre de Limpeza de Timelapse\"." +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 "Ao gravar um timelapse sem aparecer a hotend, é recomendável adicionar uma \"Torre de Limpeza de Timelapse\" \n" +"clique com o botão direito na posição vazia da mesa e escolha \"Adicionar Primitivo\"->\"Torre de Limpeza de Timelapse\"." msgid "Line width" msgstr "Largura da linha" @@ -7679,15 +6785,8 @@ msgstr "Velocidade de outras camadas" msgid "Overhang speed" msgstr "Velocidade em overhangs" -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 "" -"Esta é a velocidade para vários graus de avanço. Os graus de avanço são " -"expressos como uma porcentagem da largura da linha. A velocidade 0 significa " -"que não há desaceleração para o intervalo de graus de avanço e a velocidade " -"do perímetro é usada" +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 "Esta é a velocidade para vários graus de avanço. Os graus de avanço são expressos como uma porcentagem da largura da linha. A velocidade 0 significa que não há desaceleração para o intervalo de graus de avanço e a velocidade do perímetro é usada" msgid "Bridge" msgstr "Ponte" @@ -7717,7 +6816,7 @@ msgid "Skirt" msgstr "Saia" msgid "Prime tower" -msgstr "Torre de purga" +msgstr "Torre de limpeza" msgid "Special mode" msgstr "Modo especial" @@ -7734,23 +6833,15 @@ msgstr "Notas" msgid "Frequent" msgstr "Frequente" -#, c-format, 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] "" -"A linha %s seguinte contém palavras-chave reservadas.\n" -"Por favor, remova-a, ou afetará a visualização do código G e a estimativa de " -"tempo de impressão." -msgstr[1] "" -"As linhas %s seguintes contêm palavras-chave reservadas.\n" -"Por favor, remova-as, ou afetará a visualização do código G e a estimativa " -"de tempo de impressão." +#, 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] "A linha %s seguinte contém palavras-chave reservadas.\n" +"Por favor, remova-a, ou afetará a visualização do código G e a estimativa de tempo de impressão." +msgstr[1] "As linhas %s seguintes contêm palavras-chave reservadas.\n" +"Por favor, remova-as, ou afetará a visualização do código G e a estimativa de tempo de impressão." msgid "Reserved keywords found" msgstr "Palavras-chave reservadas encontradas" @@ -7768,8 +6859,7 @@ msgid "Recommended nozzle temperature" msgstr "Temperatura recomendada do bico" msgid "Recommended nozzle temperature range of this filament. 0 means no set" -msgstr "" -"Faixa de temperatura recomendada para esta boquilha. 0 significa não definido" +msgstr "Faixa de temperatura recomendada para esta boquilha. 0 significa não definido" msgid "Print chamber temperature" msgstr "Temperatura da câmara de impressão" @@ -7784,46 +6874,28 @@ msgid "Nozzle temperature when printing" msgstr "Temperatura do bico ao imprimir" msgid "Cool plate" -msgstr "Cool plate (Mesa fria)" +msgstr "Mesa fria" -msgid "" -"Bed temperature when cool plate is installed. Value 0 means the filament " -"does not support to print on the Cool Plate" -msgstr "" -"Temperatura da mesa quando a cool plate (mesa fria) está instalada. Valor 0 " -"significa que o filamento não suporta impressão na cool plate" +msgid "Bed temperature when cool plate is installed. Value 0 means the filament does not support to print on the Cool Plate" +msgstr "Temperatura da mesa quando a cool plate (mesa fria) está instalada. Valor 0 significa que o filamento não suporta impressão na cool plate" msgid "Engineering plate" msgstr "Mesa de engenharia" -msgid "" -"Bed temperature when engineering plate is installed. Value 0 means the " -"filament does not support to print on the Engineering Plate" -msgstr "" -"Temperatura da mesa quando a mesa de engenharia está instalada. Valor 0 " -"significa que o filamento não suporta impressão na Mesa de Engenharia" +msgid "Bed temperature when engineering plate is installed. Value 0 means the filament does not support to print on the Engineering Plate" +msgstr "Temperatura da mesa quando a mesa de engenharia está instalada. Valor 0 significa que o filamento não suporta impressão na Mesa de Engenharia" msgid "Smooth PEI Plate / High Temp Plate" msgstr "Mesa PEI lisa / Mesa de alta temperatura" -msgid "" -"Bed temperature when Smooth PEI Plate/High temperature plate is installed. " -"Value 0 means the filament does not support to print on the Smooth PEI Plate/" -"High Temp Plate" -msgstr "" -"Temperatura da mesa quando a mesa PEI lisa/ de alta temperatura está " -"instalada. O valor 0 significa que o filamento não suporta a impressão na " -"Mesa PEI lisa/Mesa de Alta Temperatura" +msgid "Bed temperature when Smooth PEI Plate/High temperature plate is installed. Value 0 means the filament does not support to print on the Smooth PEI Plate/High Temp Plate" +msgstr "Temperatura da mesa quando a mesa PEI lisa/ de alta temperatura está instalada. O valor 0 significa que o filamento não suporta a impressão na Mesa PEI lisa/Mesa de Alta Temperatura" msgid "Textured PEI Plate" msgstr "Mesa PEI Texturizada" -msgid "" -"Bed temperature when Textured PEI Plate is installed. Value 0 means the " -"filament does not support to print on the Textured PEI Plate" -msgstr "" -"Temperatura da mesa quando a mesa PEI texturizada está instalada. O valor 0 " -"significa que o filamento não suporta impressão na mesa PEI texturizada" +msgid "Bed temperature when Textured PEI Plate is installed. Value 0 means the filament does not support to print on the Textured PEI Plate" +msgstr "Temperatura da mesa quando a mesa PEI texturizada está instalada. O valor 0 significa que o filamento não suporta impressão na mesa PEI texturizada" msgid "Volumetric speed limitation" msgstr "Limitação de fluxo volumétrico" @@ -7840,27 +6912,14 @@ msgstr "Ventilador de resfriamento da peça" msgid "Min fan speed threshold" msgstr "Limiar de velocidade mínima do ventilador" -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 "" -"A velocidade do ventilador de resfriamento da peça começará a funcionar na " -"velocidade mínima quando o tempo estimado da camada não for mais longo do " -"que o tempo da camada ajustado. Quando o tempo da camada for menor que o " -"limite, a velocidade do ventilador é interpolada entre a velocidade mínima e " -"máxima de acordo com o tempo de impressão da camada" +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 "A velocidade do ventilador de resfriamento da peça começará a funcionar na velocidade mínima quando o tempo estimado da camada não for mais longo do que o tempo da camada ajustado. Quando o tempo da camada for menor que o limite, a velocidade do ventilador é interpolada entre a velocidade mínima e máxima de acordo com o tempo de impressão da camada" msgid "Max fan speed threshold" msgstr "Limiar de velocidade máxima do ventilador" -msgid "" -"Part cooling fan speed will be max when the estimated layer time is shorter " -"than the setting value" -msgstr "" -"A velocidade do ventilador de resfriamento da peça será máxima quando o " -"tempo estimado da camada for menor que o valor ajustado" +msgid "Part cooling fan speed will be max when the estimated layer time is shorter than the setting value" +msgstr "A velocidade do ventilador de resfriamento da peça será máxima quando o tempo estimado da camada for menor que o valor ajustado" msgid "Auxiliary part cooling fan" msgstr "Ventilador auxiliar de resfriamento da peça" @@ -7887,15 +6946,13 @@ msgid "Wipe tower parameters" msgstr "Parâmetros da torre de limpeza" msgid "Toolchange parameters with single extruder MM printers" -msgstr "" -"Parâmetros de troca de ferramentas com impressoras MM de extrusora única" +msgstr "Parâmetros de troca de ferramentas com impressoras MM de extrusora única" msgid "Ramming settings" msgstr "Configurações de empurrar" msgid "Toolchange parameters with multi extruder MM printers" -msgstr "" -"Parâmetros de troca de ferramentas com impressoras MM de múltiplas extrusoras" +msgstr "Parâmetros de troca de ferramentas com impressoras MM de múltiplas extrusoras" msgid "Printable space" msgstr "Espaço de impressão" @@ -7981,14 +7038,9 @@ msgstr "Aplicação do Z hop" msgid "Retraction when switching material" msgstr "Retração ao trocar material" -msgid "" -"The Wipe option is not available when using the Firmware Retraction mode.\n" -"\n" +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 "" -"A opção de Limpeza não está disponível ao usar o modo de Retração de " -"Firmware.\n" -"\n" +msgstr "A opção de Limpeza não está disponível ao usar o modo de Retração de Firmware.\n\n" "Deseja desativá-lo para habilitar a Retração de Firmware?" msgid "Firmware Retraction" @@ -7997,13 +7049,9 @@ msgstr "Retração de Firmware" msgid "Detached" msgstr "Desanexado" -#, c-format, 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 de Filamento e %d Preset de Processo estão vinculados a esta " -"impressora. Esses presets serão excluídos se a impressora for deletada." +#, 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 de Filamento e %d Preset de Processo estão vinculados a esta impressora. Esses presets serão excluídos se a impressora for deletada." msgid "Presets inherited by other presets can not be deleted!" msgstr "Os perfis herdados por outros perfis não podem ser excluídos!" @@ -8014,7 +7062,7 @@ msgstr[0] "Os seguintes perfis herdam este perfil." msgstr[1] "O seguinte perfil herda este perfil." #. TRN Remove/Delete -#, boost-format +#, possible-boost-format msgid "%1% Preset" msgstr "%1% Perfil" @@ -8023,16 +7071,12 @@ msgid_plural "Following presets will be deleted too." msgstr[0] "O seguinte perfil também será excluído." msgstr[1] "Os seguintes perfis também serão excluídos." -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 "" -"Tem certeza de que deseja excluir o perfil selecionado? \n" -"Se o perfil corresponde a um filamento atualmente em uso em sua impressora, " -"redefina as informações do filamento para esse slot." +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 "Tem certeza de que deseja excluir o perfil selecionado? \n" +"Se o perfil corresponde a um filamento atualmente em uso em sua impressora, redefina as informações do filamento para esse slot." -#, boost-format +#, possible-boost-format msgid "Are you sure to %1% the selected preset?" msgstr "Tem certeza de %1% o perfil selecionado?" @@ -8046,8 +7090,7 @@ msgid "Click to reset current value and attach to the global value." msgstr "Clique para redefinir o valor atual e anexá-lo ao valor global." msgid "Click to drop current modify and reset to saved value." -msgstr "" -"Clique para descartar a modificação atual e redefinir para o valor salvo." +msgstr "Clique para descartar a modificação atual e redefinir para o valor salvo." msgid "Process Settings" msgstr "Configurações do Processo" @@ -8059,13 +7102,13 @@ msgid "Unsaved Changes" msgstr "Alterações não salvas" msgid "Transfer or discard changes" -msgstr "" +msgstr "Transferir ou descartar alterações" msgid "Old Value" -msgstr "" +msgstr "Valor Antigo" msgid "New Value" -msgstr "" +msgstr "Novo Valor" msgid "Transfer" msgstr "Transferir" @@ -8094,65 +7137,51 @@ msgstr "Manter as opções selecionadas." msgid "Transfer the selected options to the newly selected preset." msgstr "Transferir as opções selecionadas para o perfil recém-selecionado." -#, boost-format -msgid "" -"Save the selected options to preset \n" +#, possible-boost-format +msgid "Save the selected options to preset \n" "\"%1%\"." -msgstr "" -"Salvar as opções selecionadas para o perfil \n" +msgstr "Salvar as opções selecionadas para o perfil \n" "\"%1%\"." -#, boost-format -msgid "" -"Transfer the selected options to the newly selected preset \n" +#, possible-boost-format +msgid "Transfer the selected options to the newly selected preset \n" "\"%1%\"." -msgstr "" -"Transferir as opções selecionadas para o perfil recém-selecionado \n" +msgstr "Transferir as opções selecionadas para o perfil recém-selecionado \n" "\"%1%\"." -#, boost-format +#, possible-boost-format msgid "Preset \"%1%\" contains the following unsaved changes:" msgstr "O perfil \"%1%\" contém as seguintes alterações não salvas:" -#, boost-format -msgid "" -"Preset \"%1%\" is not compatible with the new printer profile and it " -"contains the following unsaved changes:" -msgstr "" -"O perfil \"%1%\" não é compatível com o novo perfil da impressora e contém " -"as seguintes alterações não salvas:" +#, possible-boost-format +msgid "Preset \"%1%\" is not compatible with the new printer profile and it contains the following unsaved changes:" +msgstr "O perfil \"%1%\" não é compatível com o novo perfil da impressora e contém as seguintes alterações não salvas:" -#, boost-format -msgid "" -"Preset \"%1%\" is not compatible with the new process profile and it " -"contains the following unsaved changes:" -msgstr "" -"O perfil \"%1%\" não é compatível com o novo perfil de processo e contém as " -"seguintes alterações não salvas:" +#, possible-boost-format +msgid "Preset \"%1%\" is not compatible with the new process profile and it contains the following unsaved changes:" +msgstr "O perfil \"%1%\" não é compatível com o novo perfil de processo e contém as seguintes alterações não salvas:" -#, boost-format +#, possible-boost-format msgid "You have changed some settings of preset \"%1%\". " msgstr "Você alterou algumas configurações do preset \"%1%\". " -msgid "" -"\n" +msgid "\n" "You can save or discard the preset values you have modified." -msgstr "" +msgstr "\n" +"Você pode salvar ou descartar os valores predefinidos que você modificou." -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 "" +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" +"Você pode salvar ou descartar os valores predefinidos que você modificou, ou escolher transferir os valores modificados para o novo preset." msgid "You have previously modified your settings." -msgstr "" +msgstr "Você modificou suas configurações anteriormente." -msgid "" -"\n" -"You can discard the preset values you have modified, or choose to transfer " -"the modified values to the new project" -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" +"Você pode descartar os valores predefinidos que você modificou, ou escolher transferir os valores modificados para o novo projeto." msgid "Extruders count" msgstr "Número de extrusoras" @@ -8169,29 +7198,19 @@ msgstr "Mostrar todos os perfis (incluindo os incompatíveis)" msgid "Select presets to compare" msgstr "Selecione os perfis para comparar" -msgid "" -"You can only transfer to current active profile because it has been modified." -msgstr "" -"Só é possível transferir para o perfil ativo atual porque ele foi modificado." +msgid "You can only transfer to current active profile because it has been modified." +msgstr "Só é possível transferir para o perfil ativo atual porque ele foi modificado." -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 "" -"Transfira as opções selecionadas do perfil à esquerda para o da direita.\n" -"Nota: Novos perfis modificados serão selecionados nas guias de configurações " -"após fechar este diálogo." +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 "Transfira as opções selecionadas do perfil à esquerda para o da direita.\n" +"Nota: Novos perfis modificados serão selecionados nas guias de configurações após fechar este diálogo." msgid "Transfer values from left to right" msgstr "Transferir valores da esquerda para a direita" -msgid "" -"If enabled, this dialog can be used for transfer selected values from left " -"to right preset." -msgstr "" -"Se ativo, este diálogo pode ser usado para transferir valores selecionados " -"do perfil à esquerda para o da direita." +msgid "If enabled, this dialog can be used for transfer selected values from left to right preset." +msgstr "Se ativo, este diálogo pode ser usado para transferir valores selecionados do perfil à esquerda para o da direita." msgid "Add File" msgstr "Adicionar arquivo" @@ -8202,7 +7221,7 @@ msgstr "Definir como capa" msgid "Cover" msgstr "Capa" -#, boost-format +#, possible-boost-format msgid "The name \"%1%\" already exists." msgstr "O nome \"%1%\" já existe." @@ -8224,7 +7243,7 @@ msgstr "Autor" msgid "Model Name" msgstr "Nome do Modelo" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%s Update" msgstr "%s Atualizar" @@ -8246,16 +7265,13 @@ msgstr "Configuração incompatível" msgid "the configuration package is incompatible with current application." msgstr "o pacote de configuração é incompatível com a aplicação atual." -#, c-format, boost-format -msgid "" -"The configuration package is incompatible with current application.\n" +#, possible-c-format, possible-boost-format +msgid "The configuration package is incompatible with current application.\n" "%s will update the configuration package, Otherwise it won't be able to start" -msgstr "" -"O pacote de configuração é incompatível com a aplicação atual.\n" -"%s atualizará o pacote de configuração, caso contrário, não será possível " -"iniciar" +msgstr "O pacote de configuração é incompatível com a aplicação atual.\n" +"%s atualizará o pacote de configuração, caso contrário, não será possível iniciar" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Exit %s" msgstr "Sair %s" @@ -8274,28 +7290,10 @@ msgstr "A configuração está atualizada." msgid "Ramming customization" msgstr "Customização de ramming" -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 "" -"O moldeamento de extremidade denota a extrusão rápida logo antes de uma " -"troca de ferramentas em uma impressora MM de extrusão única. Seu propósito é " -"dar forma adequadamente à extremidade do filamento descarregado para que não " -"impeça a inserção do novo filamento e possa ser reinserido posteriormente. " -"Essa fase é importante e diferentes materiais podem exigir velocidades de " -"extrusão diferentes para obter uma boa forma. Por esse motivo, as taxas de " -"extrusão durante o moldeamento de extremidade são ajustáveis.\n" -"\n" -"Esta é uma configuração de nível especialista, ajustes incorretos " -"provavelmente resultarão em travamentos, moagem da roda de extrusão no " -"filamento, etc." +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 "O moldeamento de extremidade denota a extrusão rápida logo antes de uma troca de ferramentas em uma impressora MM de extrusão única. Seu propósito é dar forma adequadamente à extremidade do filamento descarregado para que não impeça a inserção do novo filamento e possa ser reinserido posteriormente. Essa fase é importante e diferentes materiais podem exigir velocidades de extrusão diferentes para obter uma boa forma. Por esse motivo, as taxas de extrusão durante o moldeamento de extremidade são ajustáveis.\n\n" +"Esta é uma configuração de nível especialista, ajustes incorretos provavelmente resultarão em travamentos, moagem da roda de extrusão no filamento, etc." msgid "Total ramming time" msgstr "Tempo total de moldeamento de extremidade" @@ -8321,22 +7319,17 @@ msgstr "Recalcular" msgid "Flushing volumes for filament change" msgstr "Volumes de limpeza para troca de filamento" -msgid "" -"Orca would re-calculate your flushing volumes everytime the filaments color " -"changed. You could disable the auto-calculate in Orca Slicer > Preferences" -msgstr "" -"O Orca recalculará seus volumes de limpeza toda vez que a cor dos filamentos " -"for alterada. Você pode desativar o cálculo automático em Orca Slicer > " -"Preferências" +msgid "Orca would re-calculate your flushing volumes everytime the filaments color changed. You could disable the auto-calculate in Orca Slicer > Preferences" +msgstr "O Orca recalculará seus volumes de limpeza toda vez que a cor dos filamentos for alterada. Você pode desativar o cálculo automático em Orca Slicer > Preferências" msgid "Flushing volume (mm³) for each filament pair." msgstr "Volume de limpeza (mm³) para cada par de filamentos." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Suggestion: Flushing Volume in range [%d, %d]" msgstr "Sugestão: Volume de Limpeza no intervalo [%d, %d]" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "The multiplier should be in range [%.2f, %.2f]." msgstr "O multiplicador deve estar no intervalo [%.2f, %.2f]." @@ -8421,14 +7414,8 @@ msgstr "Shift+A" msgid "Shift+R" msgstr "Shift+R" -msgid "" -"Auto orientates selected objects or all objects.If there are selected " -"objects, it just orientates the selected ones.Otherwise, it will orientates " -"all objects in the current disk." -msgstr "" -"Orienta automaticamente os objetos selecionados ou todos os objetos. Se " -"houver objetos selecionados, ele apenas orientará os selecionados. Caso " -"contrário, orientará todos os objetos no disco atual." +msgid "Auto orientates selected objects or all objects.If there are selected objects, it just orientates the selected ones.Otherwise, it will orientates all objects in the current disk." +msgstr "Orienta automaticamente os objetos selecionados ou todos os objetos. Se houver objetos selecionados, ele apenas orientará os selecionados. Caso contrário, orientará todos os objetos no disco atual." msgid "Shift+Tab" msgstr "Shift+Tab" @@ -8533,7 +7520,7 @@ msgid "Gizmo scale" msgstr "Escala do gizmo" msgid "Gizmo rotate" -msgstr "Rodar gizmo" +msgstr "Rotacionar gizmo" msgid "Gizmo cut" msgstr "Cortar gizmo" @@ -8629,28 +7616,25 @@ msgid "Shift+Mouse wheel" msgstr "Shift+Roda do mouse" msgid "Horizontal slider - Move to start position" -msgstr "" +msgstr "Barra deslizante horizontal — Mover para a posição inicial" msgid "Horizontal slider - Move to last position" -msgstr "" +msgstr "Barra deslizante horizontal — Mover para a última posição" msgid "Release Note" msgstr "Nota de lançamento" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "version %s update information :" msgstr "informações de atualização da versão %s:" msgid "Network plug-in update" msgstr "Atualização do plug-in de rede" -msgid "" -"Click OK to update the Network plug-in when Orca Slicer launches next time." -msgstr "" -"Clique em OK para atualizar o plug-in de rede quando o Orca Slicer for " -"iniciado novamente." +msgid "Click OK to update the Network plug-in when Orca Slicer launches next time." +msgstr "Clique em OK para atualizar o plug-in de rede quando o Orca Slicer for iniciado novamente." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "A new Network plug-in(%s) available, Do you want to install it?" msgstr "Um novo plug-in de rede (%s) está disponível. Deseja instalá-lo?" @@ -8667,37 +7651,37 @@ msgid "resume" msgstr "retomar" msgid "Resume Printing" -msgstr "" +msgstr "Retomar impressão" msgid "Resume Printing(defects acceptable)" -msgstr "" +msgstr "Retomar Impressão (defeitos aceitáveis)" msgid "Resume Printing(problem solved)" -msgstr "" +msgstr "Retomar Impressão (problema resolvido)" msgid "Stop Printing" -msgstr "" +msgstr "Parar impressão" msgid "Check Assistant" -msgstr "" +msgstr "Checar Assistente" msgid "Filament Extruded, Continue" -msgstr "" +msgstr "Filamento Extrudado, Continuar" msgid "Not Extruded Yet, Retry" -msgstr "" +msgstr "Não Extrudado, Tente Novamente" msgid "Finished, Continue" -msgstr "" +msgstr "Concluído, Continuar" msgid "Load Filament" msgstr "Carregar Filamento" msgid "Filament Loaded, Resume" -msgstr "" +msgstr "Filamento Carregado, Retomar" msgid "View Liveview" -msgstr "" +msgstr "Exibir vista ao vivo" msgid "Confirm and Update Nozzle" msgstr "Confirmar e Atualizar Bico" @@ -8705,18 +7689,11 @@ msgstr "Confirmar e Atualizar Bico" msgid "LAN Connection Failed (Sending print file)" msgstr "Falha na conexão LAN (enviando arquivo de impressão)" -msgid "" -"Step 1, please confirm Orca Slicer and your printer are in the same LAN." -msgstr "" -"Passo 1, por favor, confirme se o Orca Slicer e sua impressora estão na " -"mesma LAN." +msgid "Step 1, please confirm Orca Slicer and your printer are in the same LAN." +msgstr "Passo 1, por favor, confirme se o Orca Slicer e sua impressora estão na mesma LAN." -msgid "" -"Step 2, if the IP and Access Code below are different from the actual values " -"on your printer, please correct them." -msgstr "" -"Passo 2, se o IP e o Código de Acesso abaixo forem diferentes dos valores " -"reais na sua impressora, corrija-os." +msgid "Step 2, if the IP and Access Code below are different from the actual values on your printer, please correct them." +msgstr "Passo 2, se o IP e o Código de Acesso abaixo forem diferentes dos valores reais na sua impressora, corrija-os." msgid "IP" msgstr "PI" @@ -8728,8 +7705,7 @@ msgid "Where to find your printer's IP and Access Code?" msgstr "Onde encontrar o IP e o Código de Acesso da sua impressora?" msgid "Step 3: Ping the IP address to check for packet loss and latency." -msgstr "" -"Passo 3: Pingue o endereço IP para verificar a perda de pacotes e a latência." +msgstr "Passo 3: Pingue o endereço IP para verificar a perda de pacotes e a latência." msgid "Test" msgstr "Testar" @@ -8740,11 +7716,9 @@ msgstr "IP e Código de Acesso Verificados! Você pode fechar a janela" msgid "Connection failed, please double check IP and Access Code" msgstr "Falha na conexão, por favor, verifique o IP e o Código de Acesso" -msgid "" -"Connection failed! If your IP and Access Code is correct, \n" +msgid "Connection failed! If your IP and Access Code is correct, \n" "please move to step 3 for troubleshooting network issues" -msgstr "" -"Conexão falhou! Se o seu IP e Código de Acesso estão corretos, \n" +msgstr "Conexão falhou! Se o seu IP e Código de Acesso estão corretos, \n" "por favor, passe para o passo 3 para resolver problemas de rede" msgid "Model:" @@ -8774,30 +7748,14 @@ msgstr "Falha na atualização" msgid "Updating successful" msgstr "Atualização bem-sucedida" -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 "" -"Tem certeza de que deseja atualizar? Isso levará cerca de 10 minutos. Não " -"desligue a energia enquanto a impressora estiver atualizando." +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 "Tem certeza de que deseja atualizar? Isso levará cerca de 10 minutos. Não desligue a energia enquanto a impressora estiver atualizando." -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 "" -"Uma atualização importante foi detectada e precisa ser executada antes que a " -"impressão possa continuar. Deseja atualizar agora? Você também pode " -"atualizar posteriormente em 'Atualizar firmware'." +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 "Uma atualização importante foi detectada e precisa ser executada antes que a impressão possa continuar. Deseja atualizar agora? Você também pode atualizar posteriormente em 'Atualizar firmware'." -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 "" -"A versão do firmware está anormal. É necessário reparar e atualizar antes de " -"imprimir. Deseja atualizar agora? Você também pode atualizar mais tarde na " -"impressora ou na próxima vez que iniciar o estúdio." +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 "A versão do firmware está anormal. Reparar e atualizar é necessário antes de imprimir. Você deseja atualizar agora? Você também pode atualizar mais tarde na impressora ou atualizar da próxima vez que iniciar o Orca." msgid "Extension Board" msgstr "Mesa de Extensão" @@ -8850,14 +7808,12 @@ msgstr "Reparo concluído" msgid "Repair canceled" msgstr "Reparo cancelado" -#, boost-format +#, possible-boost-format msgid "Copying of file %1% to %2% failed: %3%" msgstr "Falha ao copiar o arquivo %1% para %2%: %3%" msgid "Need to check the unsaved changes before configuration updates." -msgstr "" -"É necessário verificar as alterações não salvas antes das atualizações de " -"configuração." +msgstr "É necessário verificar as alterações não salvas antes das atualizações de configuração." msgid "Configuration package: " msgstr "Pacote de configuração: " @@ -8868,43 +7824,30 @@ msgstr " atualizado para " msgid "Open G-code file:" msgstr "Abrir arquivo G-code:" -msgid "" -"One object has empty initial layer and can't be printed. Please Cut the " -"bottom or enable supports." -msgstr "" -"Um objeto tem uma primeira camada vazia e não pode ser impresso. Por favor, " -"corte a base ou habilite os suportes." +msgid "One object has empty initial layer and can't be printed. Please Cut the bottom or enable supports." +msgstr "Um objeto tem uma primeira camada vazia e não pode ser impresso. Por favor, corte a base ou habilite os suportes." -#, boost-format +#, possible-boost-format msgid "Object can't be printed for empty layer between %1% and %2%." -msgstr "" -"O objeto não pode ser impresso devido a uma camada vazia entre %1% e %2%." +msgstr "O objeto não pode ser impresso devido a uma camada vazia entre %1% e %2%." -#, boost-format +#, possible-boost-format msgid "Object: %1%" msgstr "Objeto: %1%" -msgid "" -"Maybe parts of the object at these height are too thin, or the object has " -"faulty mesh" -msgstr "" -"Talvez partes do objeto nessa altura sejam muito finas, ou o objeto tenha " -"uma malha com falhas" +msgid "Maybe parts of the object at these height are too thin, or the object has faulty mesh" +msgstr "Talvez partes do objeto nessa altura sejam muito finas, ou o objeto tenha uma malha com falhas" msgid "No object can be printed. Maybe too small" msgstr "Nenhum objeto pode ser impresso. Talvez seja muito pequeno" -msgid "" -"Failed to generate gcode for invalid custom G-code.\n" -"\n" -msgstr "" -"Falha ao gerar o código G para um G-code personalizado inválido.\n" -"\n" +msgid "Failed to generate gcode for invalid custom G-code.\n\n" +msgstr "Falha ao gerar o código G para um G-code personalizado inválido.\n\n" msgid "Please check the custom G-code or use the default custom G-code." msgstr "Verifique o G-code personalizado ou use o G-code personalizado padrão." -#, boost-format +#, possible-boost-format msgid "Generating G-code: layer %1%" msgstr "Gerando código G: camada %1%" @@ -8944,18 +7887,12 @@ msgstr "Transição de suporte" msgid "Multiple" msgstr "Múltiplo" -#, boost-format +#, possible-boost-format msgid "Failed to calculate line width of %1%. Can not get value of \"%2%\" " -msgstr "" -"Falha ao calcular a largura da linha de %1%. Não é possível obter o valor de " -"\"%2%\". " +msgstr "Falha ao calcular a largura da linha de %1%. Não é possível obter o valor de \"%2%\". " -msgid "" -"Invalid spacing supplied to Flow::with_spacing(), check your layer height " -"and extrusion width" -msgstr "" -"Espaçamento inválido fornecido para Flow::with_spacing(), verifique a altura " -"da camada e a largura da extrusão." +msgid "Invalid spacing supplied to Flow::with_spacing(), check your layer height and extrusion width" +msgstr "Espaçamento inválido fornecido para Flow::with_spacing(), verifique a altura da camada e a largura da extrusão." msgid "undefined error" msgstr "erro indefinido" @@ -9050,18 +7987,15 @@ msgstr "validação falhou" msgid "write callback failed" msgstr "falha na chamada de escrita" -#, boost-format -msgid "" -"%1% is too close to exclusion area, there may be collisions when printing." -msgstr "" -"%1% está muito perto da área de exclusão, pode haver colisões durante a " -"impressão." +#, possible-boost-format +msgid "%1% is too close to exclusion area, there may be collisions when printing." +msgstr "%1% está muito perto da área de exclusão, pode haver colisões durante a impressão." -#, boost-format +#, possible-boost-format msgid "%1% is too close to others, and collisions may be caused." msgstr "%1% está muito perto de outros, e colisões podem ocorrer." -#, boost-format +#, possible-boost-format msgid "%1% is too tall, and collisions will be caused." msgstr "%1% está muito alto, e ocorrerão colisões." @@ -9069,9 +8003,7 @@ msgid " is too close to others, there may be collisions when printing." msgstr " está muito perto de outros, pode haver colisões durante a impressão." msgid " is too close to exclusion area, there may be collisions when printing." -msgstr "" -" está muito perto da área de exclusão, pode haver colisões durante a " -"impressão." +msgstr " está muito perto da área de exclusão, pode haver colisões durante a impressão." msgid "Prime Tower" msgstr "Torre Principal" @@ -9082,128 +8014,67 @@ msgstr " está muito perto de outros, e colisões podem ocorrer.\n" msgid " is too close to exclusion area, and collisions will be caused.\n" msgstr " está muito perto da área de exclusão, e ocorrerão colisões.\n" -msgid "" -"Can not print multiple filaments which have large difference of temperature " -"together. Otherwise, the extruder and nozzle may be blocked or damaged " -"during printing" -msgstr "" -"Não é possível imprimir vários filamentos que têm grande diferença de " -"temperatura juntos. Caso contrário, o extrusor e a bocal podem ficar " -"bloqueados ou danificados durante a impressão" +msgid "Can not print multiple filaments which have large difference of temperature together. Otherwise, the extruder and nozzle may be blocked or damaged during printing" +msgstr "Não é possível imprimir vários filamentos que têm grande diferença de temperatura juntos. Caso contrário, o extrusor e a bocal podem ficar bloqueados ou danificados durante a impressão" msgid "No extrusions under current settings." msgstr "Nenhuma extrusão com as configurações atuais." -msgid "" -"Smooth mode of timelapse is not supported when \"by object\" sequence is " -"enabled." -msgstr "" -"O modo suave do timelapse não é suportado quando a sequência \"por objeto\" " -"está ativada." +msgid "Smooth mode of timelapse is not supported when \"by object\" sequence is enabled." +msgstr "O modo suave do timelapse não é suportado quando a sequência \"por objeto\" está ativada." -msgid "" -"Please select \"By object\" print sequence to print multiple objects in " -"spiral vase mode." -msgstr "" -"Por favor, selecione a sequência de impressão \"Por objeto\" para imprimir " -"vários objetos no modo vaso espiral." +msgid "Please select \"By object\" print sequence to print multiple objects in spiral vase mode." +msgstr "Por favor, selecione a sequência de impressão \"Por objeto\" para imprimir vários objetos no modo vaso espiral." -msgid "" -"The spiral vase mode does not work when an object contains more than one " -"materials." -msgstr "" -"O modo de vaso espiral não funciona quando um objeto contém mais de um " -"material." +msgid "The spiral vase mode does not work when an object contains more than one materials." +msgstr "O modo de vaso espiral não funciona quando um objeto contém mais de um material." -#, boost-format +#, possible-boost-format msgid "The object %1% exceeds the maximum build volume height." msgstr "O objeto %1% excede a altura máxima do volume de impressão." -#, boost-format -msgid "" -"While the object %1% itself fits the build volume, its last layer exceeds " -"the maximum build volume height." -msgstr "" -"Embora o objeto %1% em si se ajuste ao volume de impressão, sua última " -"camada excede a altura máxima do volume de impressão." +#, possible-boost-format +msgid "While the object %1% itself fits the build volume, its last layer exceeds the maximum build volume height." +msgstr "Embora o objeto %1% em si se ajuste ao volume de impressão, sua última camada excede a altura máxima do volume de impressão." -msgid "" -"You might want to reduce the size of your model or change current print " -"settings and retry." -msgstr "" -"Você pode querer reduzir o tamanho do seu modelo ou alterar as configurações " -"de impressão atuais e tentar novamente." +msgid "You might want to reduce the size of your model or change current print settings and retry." +msgstr "Você pode querer reduzir o tamanho do seu modelo ou alterar as configurações de impressão atuais e tentar novamente." msgid "Variable layer height is not supported with Organic supports." msgstr "A altura de camada variável não é suportada com suportes orgânicos." -msgid "" -"Different nozzle diameters and different filament diameters is not allowed " -"when prime tower is enabled." -msgstr "" -"Diâmetros de bocal diferentes e diâmetros de filamento diferentes não são " -"permitidos quando a torre principal está ativada." +msgid "Different nozzle diameters and different filament diameters is not allowed when prime tower is enabled." +msgstr "Diâmetros de bocal diferentes e diâmetros de filamento diferentes não são permitidos quando a torre principal está ativada." -msgid "" -"The Wipe Tower is currently only supported with the relative extruder " -"addressing (use_relative_e_distances=1)." -msgstr "" -"A Torre de Limpeza atualmente só é suportada com o endereçamento relativo do " -"extrusor (use_relative_e_distances=1)." +msgid "The Wipe Tower is currently only supported with the relative extruder addressing (use_relative_e_distances=1)." +msgstr "A Torre de Limpeza atualmente só é suportada com o endereçamento relativo do extrusor (use_relative_e_distances=1)." -msgid "" -"Ooze prevention is currently not supported with the prime tower enabled." -msgstr "" -"A prevenção de oozing não é atualmente suportada com a torre principal " -"ativada." +msgid "Ooze prevention is currently not supported with the prime tower enabled." +msgstr "A prevenção de oozing não é atualmente suportada com a torre principal ativada." -msgid "" -"The prime tower is currently only supported for the Marlin, RepRap/Sprinter, " -"RepRapFirmware and Repetier G-code flavors." -msgstr "" -"A torre principal atualmente só é suportada para os G-code tipo Marlin, " -"RepRap/Sprinter, RepRapFirmware e Repetier." +msgid "The prime tower is currently only supported for the Marlin, RepRap/Sprinter, RepRapFirmware and Repetier G-code flavors." +msgstr "A torre principal atualmente só é suportada para os G-code tipo Marlin, RepRap/Sprinter, RepRapFirmware e Repetier." msgid "The prime tower is not supported in \"By object\" print." msgstr "A torre principal não é suportada na impressão \"Por objeto\"." -msgid "" -"The prime tower is not supported when adaptive layer height is on. It " -"requires that all objects have the same layer height." -msgstr "" -"A torre principal não é suportada quando a altura de camada adaptativa está " -"ativada. Requer que todos os objetos tenham a mesma altura de camada." +msgid "The prime tower is not supported when adaptive layer height is on. It requires that all objects have the same layer height." +msgstr "A torre principal não é suportada quando a altura de camada adaptativa está ativada. Requer que todos os objetos tenham a mesma altura de camada." msgid "The prime tower requires \"support gap\" to be multiple of layer height" -msgstr "" -"A torre principal requer que o \"espaço de suporte\" seja múltiplo da altura " -"da camada" +msgstr "A torre principal requer que o \"espaço de suporte\" seja múltiplo da altura da camada" msgid "The prime tower requires that all objects have the same layer heights" -msgstr "" -"A torre principal requer que todos os objetos tenham as mesmas alturas de " -"camada" +msgstr "A torre principal requer que todos os objetos tenham as mesmas alturas de camada" -msgid "" -"The prime tower requires that all objects are printed over the same number " -"of raft layers" -msgstr "" -"A torre principal requer que todos os objetos sejam impressos sobre o mesmo " -"número de camadas de base" +msgid "The prime tower requires that all objects are printed over the same number of raft layers" +msgstr "A torre principal requer que todos os objetos sejam impressos sobre o mesmo número de camadas de base" -msgid "" -"The prime tower requires that all objects are sliced with the same layer " -"heights." -msgstr "" -"A torre principal requer que todos os objetos sejam fatiados com as mesmas " -"alturas de camada." +msgid "The prime tower requires that all objects are sliced with the same layer heights." +msgstr "A torre principal requer que todos os objetos sejam fatiados com as mesmas alturas de camada." -msgid "" -"The prime tower is only supported if all objects have the same variable " -"layer height" -msgstr "" -"A torre principal só é suportada se todos os objetos tiverem a mesma altura " -"de camada variável" +msgid "The prime tower is only supported if all objects have the same variable layer height" +msgstr "A torre principal só é suportada se todos os objetos tiverem a mesma altura de camada variável" msgid "Too small line width" msgstr "Largura de linha muito pequena" @@ -9211,119 +8082,60 @@ msgstr "Largura de linha muito pequena" msgid "Too large line width" msgstr "Largura de linha muito grande" -msgid "" -"The prime tower requires that support has the same layer height with object." -msgstr "" -"A torre principal requer que o suporte tenha a mesma altura de camada do " -"objeto." +msgid "The prime tower requires that support has the same layer height with object." +msgstr "A torre principal requer que o suporte tenha a mesma altura de camada do objeto." -msgid "" -"Organic support tree tip diameter must not be smaller than support material " -"extrusion width." -msgstr "" -"O diâmetro da ponta da árvore de suporte orgânico não deve ser menor do que " -"a largura de extrusão do material de suporte." +msgid "Organic support tree tip diameter must not be smaller than support material extrusion width." +msgstr "O diâmetro da ponta da árvore de suporte orgânico não deve ser menor do que a largura de extrusão do material de suporte." -msgid "" -"Organic support branch diameter must not be smaller than 2x support material " -"extrusion width." -msgstr "" -"O diâmetro do ramo de suporte orgânico não deve ser menor do que 2x a " -"largura de extrusão do material de suporte." +msgid "Organic support branch diameter must not be smaller than 2x support material extrusion width." +msgstr "O diâmetro do ramo de suporte orgânico não deve ser menor do que 2x a largura de extrusão do material de suporte." -msgid "" -"Organic support branch diameter must not be smaller than support tree tip " -"diameter." -msgstr "" -"O diâmetro do ramo de suporte orgânico não deve ser menor do que o diâmetro " -"da ponta da árvore de suporte." +msgid "Organic support branch diameter must not be smaller than support tree tip diameter." +msgstr "O diâmetro do ramo de suporte orgânico não deve ser menor do que o diâmetro da ponta da árvore de suporte." -msgid "" -"Support enforcers are used but support is not enabled. Please enable support." -msgstr "" -"Os reforços de suporte são usados, mas o suporte não está habilitado. Por " -"favor, habilite o suporte." +msgid "Support enforcers are used but support is not enabled. Please enable support." +msgstr "Os reforços de suporte são usados, mas o suporte não está habilitado. Por favor, habilite o suporte." msgid "Layer height cannot exceed nozzle diameter" msgstr "A altura da camada não pode exceder o diâmetro da bocal" -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 "" -"O endereçamento relativo do extrusor requer a reinicialização da posição do " -"extrusor em cada camada para evitar perda de precisão de ponto flutuante. " -"Adicione \"G92 E0\" ao código de camada." +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 "O endereçamento relativo do extrusor requer a reinicialização da posição do extrusor em cada camada para evitar perda de precisão de ponto flutuante. Adicione \"G92 E0\" ao código de camada." -msgid "" -"\"G92 E0\" was found in before_layer_gcode, which is incompatible with " -"absolute extruder addressing." -msgstr "" -"\"G92 E0\" foi encontrado em before_layer_gcode, o que é incompatível com o " -"endereçamento absoluto do extrusor." +msgid "\"G92 E0\" was found in before_layer_gcode, which is incompatible with absolute extruder addressing." +msgstr "\"G92 E0\" foi encontrado em before_layer_gcode, o que é incompatível com o endereçamento absoluto do extrusor." -msgid "" -"\"G92 E0\" was found in layer_gcode, which is incompatible with absolute " -"extruder addressing." -msgstr "" -"\"G92 E0\" foi encontrado em layer_gcode, o que é incompatível com o " -"endereçamento absoluto do extrusor." +msgid "\"G92 E0\" was found in layer_gcode, which is incompatible with absolute extruder addressing." +msgstr "\"G92 E0\" foi encontrado em layer_gcode, o que é incompatível com o endereçamento absoluto do extrusor." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Plate %d: %s does not support filament %s" msgstr "Mesa %d: %s não suporta filamento %s" -msgid "" -"Setting the jerk speed too low could lead to artifacts on curved surfaces" -msgstr "" -"Definir a velocidade de jerk muito baixa pode levar a artefatos em " -"superfícies curvas" +msgid "Setting the jerk speed too low could lead to artifacts on curved surfaces" +msgstr "Definir a velocidade de jerk muito baixa pode levar a artefatos em superfícies curvas" -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 "" -"A configuração de jerk excede o jerk máximo da impressora " -"(machine_max_jerk_x/machine_max_jerk_y).\n" -"Orca automaticamente limitará a velocidade do jerk para garantir que não " -"ultrapasse as capacidades da impressora.\n" -"Você pode ajustar a configuração de jerk máximo na configuração da sua " -"impressora para obter velocidades mais altas." +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 "A configuração de jerk excede o jerk máximo da impressora (machine_max_jerk_x/machine_max_jerk_y).\n" +"Orca automaticamente limitará a velocidade do jerk para garantir que não ultrapasse as capacidades da impressora.\n" +"Você pode ajustar a configuração de jerk máximo na configuração da sua impressora para obter velocidades mais altas." -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 "" -"A configuração de aceleração excede a aceleração máxima da impressora " -"(machine_max_acceleration_extruding).\n" -"Orca automaticamente limitará a velocidade de aceleração para garantir que " -"não ultrapasse as capacidades da impressora.\n" -"Você pode ajustar o valor de machine_max_acceleration_extruding na " -"configuração da sua impressora para obter velocidades mais altas." +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 "A configuração de aceleração excede a aceleração máxima da impressora (machine_max_acceleration_extruding).\n" +"Orca automaticamente limitará a velocidade de aceleração para garantir que não ultrapasse as capacidades da impressora.\n" +"Você pode ajustar o valor de machine_max_acceleration_extruding na configuração da sua impressora para obter velocidades mais altas." -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 "" -"A configuração de aceleração de deslocamento excede a aceleração máxima de " -"deslocamento da impressora (machine_max_acceleration_travel).\n" -"O Orca irá automaticamente limitar a velocidade de aceleração de " -"deslocamento para garantir que não ultrapasse as capacidades da impressora.\n" -"Você pode ajustar o valor de machine_max_acceleration_travel na configuração " -"da sua impressora para obter velocidades mais altas." +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 "A configuração de aceleração de deslocamento excede a aceleração máxima de deslocamento da impressora (machine_max_acceleration_travel).\n" +"O Orca irá automaticamente limitar a velocidade de aceleração de deslocamento para garantir que não ultrapasse as capacidades da impressora.\n" +"Você pode ajustar o valor de machine_max_acceleration_travel na configuração da sua impressora para obter velocidades mais altas." msgid "Generating skirt & brim" msgstr "Gerando saia e borda" @@ -9343,15 +8155,8 @@ msgstr "Área de impressão" msgid "Bed exclude area" msgstr "Área de exclusão da mesa" -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 "" -"Área não imprimível no plano XY. Por exemplo, impressoras da série X1 usam o " -"canto esquerdo frontal para cortar o filamento durante a troca de filamento. " -"A área é expressa como um polígono por pontos no seguinte formato: \"XxY, " -"XxY, ...\"" +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 "Área não imprimível no plano XY. Por exemplo, impressoras da série X1 usam o canto esquerdo frontal para cortar o filamento durante a troca de filamento. A área é expressa como um polígono por pontos no seguinte formato: \"XxY, XxY, ...\"" msgid "Bed custom texture" msgstr "Textura personalizada da mesa" @@ -9362,35 +8167,20 @@ msgstr "Modelo personalizado da mesa" msgid "Elephant foot compensation" msgstr "Compensação de pé de elefante" -msgid "" -"Shrink the initial layer on build plate to compensate for elephant foot " -"effect" -msgstr "" -"Reduza a primeira camada na mesa para compensar o efeito de pé de elefante" +msgid "Shrink the initial layer on build plate to compensate for elephant foot effect" +msgstr "Reduza a primeira camada na mesa para compensar o efeito de pé de elefante" msgid "Elephant foot compensation layers" msgstr "Camadas de compensação de pé de elefante" -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 "" -"O número de camadas em que a compensação de pé de elefante estará ativa. A " -"primeira camada será reduzida pelo valor de compensação de pé de elefante, e " -"então as próximas camadas serão reduzidas linearmente, até a camada indicada " -"por este valor." +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 "O número de camadas em que a compensação de pé de elefante estará ativa. A primeira camada será reduzida pelo valor de compensação de pé de elefante, e então as próximas camadas serão reduzidas linearmente, até a camada indicada por este valor." msgid "layers" msgstr "camadas" -msgid "" -"Slicing height for each layer. Smaller layer height means more accurate and " -"more printing time" -msgstr "" -"Altura de fatiamento para cada camada. Altura de camada menor significa mais " -"precisão e mais tempo de impressão" +msgid "Slicing height for each layer. Smaller layer height means more accurate and more printing time" +msgstr "Altura de fatiamento para cada camada. Altura de camada menor significa mais precisão e mais tempo de impressão" msgid "Printable height" msgstr "Altura de impressão" @@ -9402,9 +8192,7 @@ msgid "Preferred orientation" msgstr "Orientação preferida" msgid "Automatically orient stls on the Z-axis upon initial import" -msgstr "" -"Orientar automaticamente os arquivos STL no eixo Z durante a importação " -"inicial" +msgstr "Orientar automaticamente os arquivos STL no eixo Z durante a importação inicial" msgid "Printer preset names" msgstr "Nomes de presets da impressora" @@ -9413,44 +8201,25 @@ msgid "Use 3rd-party print host" msgstr "Usar host de impressão de terceiros" msgid "Allow controlling BambuLab's printer through 3rd party print hosts" -msgstr "" -"Permitir o controle da impressora BambuLab por meio de hosts de impressão de " -"terceiros" +msgstr "Permitir o controle da impressora BambuLab por meio de hosts de impressão de terceiros" msgid "Hostname, IP or URL" msgstr "Nome do host, IP ou 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 "" -"O Orca Slicer pode enviar arquivos G-code para um host de impressora. Este " -"campo deve conter o nome do host, o endereço IP ou a URL da instância do " -"host de impressora. O host de impressão atrás do HAProxy com autenticação " -"básica ativada pode ser acessado colocando o nome de usuário e senha na URL " -"no seguinte formato: https://username:password@your-octopi-address/" +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 "O Orca Slicer pode enviar arquivos G-code para um host de impressora. Este campo deve conter o nome do host, o endereço IP ou a URL da instância do host de impressora. O host de impressão atrás do HAProxy com autenticação básica ativada pode ser acessado colocando o nome de usuário e senha na URL no seguinte formato: https://username:password@your-octopi-address/" msgid "Device UI" msgstr "Interface do dispositivo" -msgid "" -"Specify the URL of your device user interface if it's not same as print_host" -msgstr "" -"Especifique a URL da interface do usuário do seu dispositivo se não for a " -"mesma do print_host" +msgid "Specify the URL of your device user interface if it's not same as print_host" +msgstr "Especifique a URL da interface do usuário do seu dispositivo se não for a mesma do print_host" msgid "API Key / Password" msgstr "Chave da API / Senha" -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 "" -"O Orca Slicer pode enviar arquivos G-code para um host de impressora. Este " -"campo deve conter a Chave da API ou a senha necessária para autenticação." +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 "O Orca Slicer pode enviar arquivos G-code para um host de impressora. Este campo deve conter a Chave da API ou a senha necessária para autenticação." msgid "Name of the printer" msgstr "Nome da impressora" @@ -9458,14 +8227,8 @@ msgstr "Nome da impressora" msgid "HTTPS CA File" msgstr "Arquivo CA HTTPS" -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 "" -"O arquivo de certificado CA personalizado pode ser especificado para " -"conexões HTTPS OctoPrint, no formato crt/pem. Se deixado em branco, o " -"repositório de certificados CA padrão do sistema operacional é usado." +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 "O arquivo de certificado CA personalizado pode ser especificado para conexões HTTPS OctoPrint, no formato crt/pem. Se deixado em branco, o repositório de certificados CA padrão do sistema operacional é usado." msgid "User" msgstr "Usuário" @@ -9476,14 +8239,8 @@ msgstr "Senha" msgid "Ignore HTTPS certificate revocation checks" msgstr "Ignorar verificações de revogação de certificado 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 "" -"Ignorar verificações de revogação de certificado HTTPS em caso de pontos de " -"distribuição ausentes ou offline. Pode-se querer habilitar esta opção para " -"certificados autoassinados se a conexão falhar." +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 "Ignorar verificações de revogação de certificado HTTPS em caso de pontos de distribuição ausentes ou offline. Pode-se querer habilitar esta opção para certificados autoassinados se a conexão falhar." msgid "Names of presets related to the physical printer" msgstr "Nomes dos presets relacionados à impressora física" @@ -9501,23 +8258,13 @@ msgid "Avoid crossing wall" msgstr "Evitar perímetros" msgid "Detour and avoid to travel across wall which may cause blob on surface" -msgstr "" -"Desvio e evite viajar através do perímetro que pode causar irregularidade na " -"superfície" +msgstr "Desvio e evite viajar através do perímetro que pode causar irregularidade na superfície" msgid "Avoid crossing wall - Max detour length" msgstr "Evitar perímetros - Distância máximo do desvio" -msgid "" -"Maximum detour distance for avoiding crossing wall. Don't detour if the " -"detour distance is large 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 "" -"Distância máxima de desvio para evitar atravessar o perímetro. Não desviar " -"se a distância de desvio for maior que esse valor. A distancia do desvio " -"pode ser especificada como um valor absoluto ou como porcentagem (por " -"exemplo, 50%) de um caminho de deslocamento direto. Zero para desativar" +msgid "Maximum detour distance for avoiding crossing wall. Don't detour if the detour distance is large 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 "Distância máxima de desvio para evitar atravessar o perímetro. Não desviar se a distância de desvio for maior que esse valor. A distancia do desvio pode ser especificada como um valor absoluto ou como porcentagem (por exemplo, 50%) de um caminho de deslocamento direto. Zero para desativar" msgid "mm or %" msgstr "mm ou %" @@ -9525,36 +8272,20 @@ msgstr "mm ou %" msgid "Other layers" msgstr "Outras camadas" -msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the Cool Plate" -msgstr "" -"Temperatura da mesa para camadas exceto a inicial. O valor 0 significa que o " -"filamento não suporta a impressão na Cool Plate (Mesa Fria)" +msgid "Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the Cool Plate" +msgstr "Temperatura da mesa para camadas exceto a inicial. O valor 0 significa que o filamento não suporta a impressão na Cool Plate (Mesa Fria)" msgid "°C" msgstr "°C" -msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the Engineering Plate" -msgstr "" -"Temperatura da mesa para camadas exceto a inicial. O valor 0 significa que o " -"filamento não suporta a impressão no Engenharia Plate" +msgid "Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the Engineering Plate" +msgstr "Temperatura da mesa para camadas exceto a inicial. O valor 0 significa que o filamento não suporta a impressão no Engenharia Plate" -msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the High Temp Plate" -msgstr "" -"Temperatura da mesa para camadas exceto a inicial. O valor 0 significa que o " -"filamento não suporta a impressão no Plate de Alta Temperatura" +msgid "Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the High Temp Plate" +msgstr "Temperatura da mesa para camadas exceto a inicial. O valor 0 significa que o filamento não suporta a impressão no Plate de Alta Temperatura" -msgid "" -"Bed temperature for layers except the initial one. Value 0 means the " -"filament does not support to print on the Textured PEI Plate" -msgstr "" -"Temperatura da mesa para camadas exceto a inicial. O valor 0 significa que o " -"filamento não suporta a impressão no Plate de PEI Texturizado" +msgid "Bed temperature for layers except the initial one. Value 0 means the filament does not support to print on the Textured PEI Plate" +msgstr "Temperatura da mesa para camadas exceto a inicial. O valor 0 significa que o filamento não suporta a impressão no Plate de PEI Texturizado" msgid "Initial layer" msgstr "Primeira camada" @@ -9562,39 +8293,23 @@ msgstr "Primeira camada" msgid "Initial layer bed temperature" msgstr "Temperatura da mesa da primeira camada" -msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not " -"support to print on the Cool Plate" -msgstr "" -"Temperatura da mesa na primeira camada. O valor 0 significa que o filamento " -"não suporta a impressão na Cool Plate (Mesa Fria)" +msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the Cool Plate" +msgstr "Temperatura da mesa na primeira camada. O valor 0 significa que o filamento não suporta a impressão na Cool Plate (Mesa Fria)" -msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not " -"support to print on the Engineering Plate" -msgstr "" -"Temperatura da mesa na primeira camada. O valor 0 significa que o filamento " -"não suporta a impressão no Engenharia Plate" +msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the Engineering Plate" +msgstr "Temperatura da mesa na primeira camada. O valor 0 significa que o filamento não suporta a impressão no Engenharia Plate" -msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not " -"support to print on the High Temp Plate" -msgstr "" -"Temperatura da mesa na primeira camada. O valor 0 significa que o filamento " -"não suporta a impressão no Plate de Alta Temperatura" +msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the High Temp Plate" +msgstr "Temperatura da mesa na primeira camada. O valor 0 significa que o filamento não suporta a impressão no Plate de Alta Temperatura" -msgid "" -"Bed temperature of the initial layer. Value 0 means the filament does not " -"support to print on the Textured PEI Plate" -msgstr "" -"Temperatura da mesa na primeira camada. O valor 0 significa que o filamento " -"não suporta a impressão no Plate de PEI Texturizado" +msgid "Bed temperature of the initial layer. Value 0 means the filament does not support to print on the Textured PEI Plate" +msgstr "Temperatura da mesa na primeira camada. O valor 0 significa que o filamento não suporta a impressão no Plate de PEI Texturizado" msgid "Bed types supported by the printer" msgstr "Tipos de mesa suportadas pela impressora" msgid "Cool Plate" -msgstr "Cool Plate (Mesa fria)" +msgstr "Mesa Fria" msgid "Engineering Plate" msgstr "Engenharia Plate" @@ -9617,53 +8332,27 @@ msgstr "Este código G é inserido em cada mudança de camada antes de levantar msgid "Bottom shell layers" msgstr "Camadas de base" -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 "" -"Este é o número de camadas sólidas da base, incluindo a primeira camada. " -"Quando a espessura calculada por este valor for mais fina do que a espessura " -"da base, o número das camadas da base serão aumentadas" +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 "Este é o número de camadas sólidas da base, incluindo a primeira camada. Quando a espessura calculada por este valor for mais fina do que a espessura da base, o número das camadas da base serão aumentadas" msgid "Bottom shell thickness" msgstr "Espessura da base" -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 determained by " -"bottom shell layers" -msgstr "" -"O número de camadas sólidas da base é aumentado ao fatiar se a espessura " -"calculada pelas camadas da base for mais fina do que este valor. Isso pode " -"evitar que a base seja muito fina quando a altura da camada é pequena. 0 " -"significa que esta configuração está desativada e a espessura da base é " -"absolutamente determinada pelas camadas da base" +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 determained by bottom shell layers" +msgstr "O número de camadas sólidas da base é aumentado ao fatiar se a espessura calculada pelas camadas da base for mais fina do que este valor. Isso pode evitar que a base seja muito fina quando a altura da camada é pequena. 0 significa que esta configuração está desativada e a espessura da base é absolutamente determinada pelas camadas da base" msgid "Apply gap fill" msgstr "Preenchimento de vão" -msgid "" -"Enables gap fill for the selected surfaces. The minimum gap length that will " -"be filled can be controlled from the filter out tiny gaps option below.\n" -"\n" +msgid "Enables gap fill for the selected 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\n" -"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces " -"only\n" +"2. Top and Bottom surfaces: Applies gap fill to top and bottom surfaces only\n" "3. Nowhere: Disables gap fill\n" -msgstr "" -"Ativa o preenchimento de vão para as superfícies selecionadas. O comprimento " -"mínimo do vão que será preenchida pode ser controlado a partir da opção de " -"filtrar pequenas s abaixo.\n" -"\n" +msgstr "Ativa o preenchimento de vão para as superfícies selecionadas. O comprimento mínimo do vão que será preenchida pode ser controlado a partir da opção de filtrar pequenas s abaixo.\n\n" "Opções:\n" -"1. Em todos os lugares: Aplica preenchimento de s às superfícies sólidas " -"superior, inferior e interna\n" -"2. Superfícies superior e inferior: Aplica preenchimento de s apenas às " -"superfícies superior e inferior\n" +"1. Em todos os lugares: Aplica preenchimento de s às superfícies sólidas superior, inferior e interna\n" +"2. Superfícies superior e inferior: Aplica preenchimento de s apenas às superfícies superior e inferior\n" "3. Em nenhum lugar: Desativa o preenchimento de s\n" msgid "Everywhere" @@ -9678,170 +8367,92 @@ msgstr "Nunca" msgid "Force cooling for overhang and bridge" msgstr "Forçar resfriamento para overhangs e pontes" -msgid "" -"Enable this option to optimize part cooling fan speed for overhang and " -"bridge to get better cooling" -msgstr "" -"Ative esta opção para otimizar a velocidade do ventilador de resfriamento de " -"peças para overhangs e ponte para obter melhor resfriamento" +msgid "Enable this option to optimize part cooling fan speed for overhang and bridge to get better cooling" +msgstr "Ative esta opção para otimizar a velocidade do ventilador de resfriamento de peças para overhangs e ponte para obter melhor resfriamento" msgid "Fan speed for overhang" msgstr "Velocidade do ventilador para overhangs" -msgid "" -"Force part cooling fan to be this speed when printing bridge or overhang " -"wall which has large overhang degree. Forcing cooling for overhang and " -"bridge can get better quality for these part" -msgstr "" -"Forçar o ventilador de resfriamento da peça a ser nesta velocidade ao " -"imprimir ponte ou overhang que tenha um grande grau de inclinação. Forçar o " -"resfriamento para overhang e ponte pode obter melhor qualidade para estas " -"partes" +msgid "Force part cooling fan to be this speed when printing bridge or overhang wall which has large overhang degree. Forcing cooling for overhang and bridge can get better quality for these part" +msgstr "Forçar o ventilador de resfriamento da peça a ser nesta velocidade ao imprimir ponte ou overhang que tenha um grande grau de inclinação. Forçar o resfriamento para overhang e ponte pode obter melhor qualidade para estas partes" msgid "Cooling overhang threshold" -msgstr "Limiar de resfriamento de Overhang" +msgstr "Overhang limiar de resfriamento" -#, c-format -msgid "" -"Force cooling fan to be specific speed when overhang degree of printed part " -"exceeds this value. Expressed as percentage which indicides how much width " -"of the line without support from lower layer. 0% means forcing cooling for " -"all outer wall no matter how much overhang degree" -msgstr "" -"Forçar o ventilador de resfriamento a ser uma velocidade específica quando o " -"grau de inclinação da peça impressa excede este valor. Expresso como " -"porcentagem, que indica quanto da largura da linha sem suporte da camada " -"inferior.Zero significa forçar o resfriamento para toda o perímetro externo, " -"não importa quanto seja o grau de inclinação" +#, possible-c-format +msgid "Force cooling fan to be specific speed when overhang degree of printed part exceeds this value. Expressed as percentage which indicides how much width of the line without support from lower layer. 0% means forcing cooling for all outer wall no matter how much overhang degree" +msgstr "Forçar o ventilador de resfriamento a ser uma velocidade específica quando o grau de inclinação da peça impressa excede este valor. Expresso como porcentagem, que indica quanto da largura da linha sem suporte da camada inferior.Zero significa forçar o resfriamento para toda o perímetro externo, não importa quanto seja o grau de inclinação" msgid "Bridge infill direction" msgstr "Direção de preenchimento de ponte" -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 "" -"Substituição de ângulo de ponte. Se deixado em zero, o ângulo de ponte será " -"calculado automaticamente. Caso contrário, o ângulo fornecido será usado " -"para pontes externas. Use 180° para ângulo zero." +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 "Substituição de ângulo de ponte. Se deixado em zero, o ângulo de ponte será calculado automaticamente. Caso contrário, o ângulo fornecido será usado para pontes externas. Use 180° para ângulo zero." msgid "Bridge density" msgstr "Densidade de ponte" msgid "Density of external bridges. 100% means solid bridge. Default is 100%." -msgstr "" -"Densidade de pontes externas. 100% significa ponte sólida. O padrão é 100%." +msgstr "Densidade de pontes externas. 100% significa ponte sólida. O padrão é 100%." msgid "Bridge flow ratio" msgstr "Fluxo em ponte" -msgid "" -"Decrease this value slightly(for example 0.9) to reduce the amount of " -"material for bridge, to improve sag" -msgstr "" -"Diminua ligeiramente este valor (por exemplo, 0.9) para reduzir a quantidade " -"de material para ponte, para melhorar a flacidez" +msgid "Decrease this value slightly(for example 0.9) to reduce the amount of material for bridge, to improve sag" +msgstr "Diminua ligeiramente este valor (por exemplo, 0.9) para reduzir a quantidade de material para ponte, para melhorar a flacidez" msgid "Internal bridge flow ratio" msgstr "Fluxo em ponte interna" -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." -msgstr "" -"Este valor governa a espessura da camada interna da ponte. Esta é a primeira " -"camada sobre o preenchimento. Diminua ligeiramente este valor (por exemplo, " -"0.9) para melhorar a qualidade da superfície sobre o preenchimento " -"esparsamente." +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." +msgstr "Este valor governa a espessura da camada interna da ponte. Esta é a primeira camada sobre o preenchimento. Diminua ligeiramente este valor (por exemplo, 0.9) para melhorar a qualidade da superfície sobre o preenchimento esparsamente." msgid "Top surface flow ratio" msgstr "Fluxo em superfície superior" -msgid "" -"This factor affects the amount of material for top solid infill. You can " -"decrease it slightly to have smooth surface finish" -msgstr "" -"Este fator afeta a quantidade de material para o preenchimento sólido " -"superior. Você pode diminuí-lo ligeiramente para ter um acabamento de " -"superfície suave" +msgid "This factor affects the amount of material for top solid infill. You can decrease it slightly to have smooth surface finish" +msgstr "Este fator afeta a quantidade de material para o preenchimento sólido superior. Você pode diminuí-lo ligeiramente para ter um acabamento de superfície suave" msgid "Bottom surface flow ratio" msgstr "Fluxo em superfície inferior" msgid "This factor affects the amount of material for bottom solid infill" -msgstr "" -"Este fator afeta a quantidade de material para o preenchimento sólido " -"inferior" +msgstr "Este fator afeta a quantidade de material para o preenchimento sólido inferior" msgid "Precise wall" msgstr "Parede precisa" -msgid "" -"Improve shell precision by adjusting outer wall spacing. This also improves " -"layer consistency.\n" -"Note: This setting will only take effect if the wall sequence is configured " -"to Inner-Outer" -msgstr "" -"Melhore a precisão da parede ajustando o espaçamento do perímetro externo. " -"Isso também melhora a consistência da camada.\n" -"Nota: Esta configuração só terá efeito se a sequência do perímetro estiver " -"configurada para Interior-Exterior" +msgid "Improve shell precision by adjusting outer wall spacing. This also improves layer consistency.\n" +"Note: This setting will only take effect if the wall sequence is configured to Inner-Outer" +msgstr "Melhore a precisão da parede ajustando o espaçamento do perímetro externo. Isso também melhora a consistência da camada.\n" +"Nota: Esta configuração só terá efeito se a sequência do perímetro estiver configurada para Interior-Exterior" msgid "Only one wall on top surfaces" msgstr "Perímetro único em superfícies superiores" -msgid "" -"Use only one wall on flat top surface, to give more space to the top infill " -"pattern" -msgstr "" -"Use apenas um perímetro em superfície superior, para dar mais espaço ao " -"padrão de preenchimento superior" +msgid "Use only one wall on flat top surface, to give more space to the top infill pattern" +msgstr "Use apenas um perímetro em superfície superior, para dar mais espaço ao padrão de preenchimento superior" msgid "One wall threshold" msgstr "Limite de perímetro único" #, 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 "" -"Se uma superfície superior tiver que ser impressa e estiver parcialmente " -"coberta por outra camada, ela não será considerada em uma camada superior " -"onde sua largura estiver abaixo deste valor. Isso pode ser útil para não " -"permitir que o 'um perímetro no topo' seja ativado em uma superfície que " -"deve ser coberta apenas por perímetros. Este valor pode ser em mm ou % da " -"largura de extrusão do perímetro.\n" -"Aviso: Se habilitado, artefatos podem ser criados se você tiver algumas " -"características finas na próxima camada, como letras. Defina esta " -"configuração para 0 para remover esses artefatos." +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 "Se uma superfície superior tiver que ser impressa e estiver parcialmente coberta por outra camada, ela não será considerada em uma camada superior onde sua largura estiver abaixo deste valor. Isso pode ser útil para não permitir que o 'um perímetro no topo' seja ativado em uma superfície que deve ser coberta apenas por perímetros. Este valor pode ser em mm ou % da largura de extrusão do perímetro.\n" +"Aviso: Se habilitado, artefatos podem ser criados se você tiver algumas características finas na próxima camada, como letras. Defina esta configuração para 0 para remover esses artefatos." msgid "Only one wall on first layer" msgstr "Perímetro único na primeira camada" -msgid "" -"Use only one wall on first layer, to give more space to the bottom infill " -"pattern" -msgstr "" -"Use apenas um perímetro na primeira camada, para dar mais espaço ao padrão " -"de preenchimento inferior" +msgid "Use only one wall on first layer, to give more space to the bottom infill pattern" +msgstr "Use apenas um perímetro na primeira camada, para dar mais espaço ao padrão de preenchimento inferior" msgid "Extra perimeters on overhangs" msgstr "Perímetros extras em overhangs" -msgid "" -"Create additional perimeter paths over steep overhangs and areas where " -"bridges cannot be anchored. " -msgstr "" -"Crie caminhos de perímetro adicionais em overhangs íngremes e áreas onde " -"pontes não podem ser ancoradas. " +msgid "Create additional perimeter paths over steep overhangs and areas where bridges cannot be anchored. " +msgstr "Crie caminhos de perímetro adicionais em overhangs íngremes e áreas onde pontes não podem ser ancoradas. " msgid "Reverse on odd" msgstr "Inverter em ímpares" @@ -9849,66 +8460,31 @@ msgstr "Inverter em ímpares" msgid "Overhang reversal" msgstr "Reversão de suspensão" -msgid "" -"Extrude perimeters that have a part over an overhang in the reverse " -"direction on odd 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 "" -"Extruir perímetros, que tenham uma parte sobre um overhang, na direção " -"reversa em camadas ímpares. Este padrão alternado pode melhorar " -"drasticamente perímetros íngremes.\n" -"\n" -"Este ajuste também pode ajudar a reduzir a deformação da peça devido à " -"redução das tensões nas paredes da peça." +msgid "Extrude perimeters that have a part over an overhang in the reverse direction on odd 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 "Extruir perímetros, que tenham uma parte sobre um overhang, na direção reversa em camadas ímpares. Este padrão alternado pode melhorar drasticamente perímetros íngremes.\n\n" +"Este ajuste também pode ajudar a reduzir a deformação da peça devido à redução das tensões nas paredes da peça." msgid "Reverse only internal perimeters" msgstr "Inverter apenas os perímetros internos" -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 recomended to set the " -"Reverse Threshold to 0 so that all internal walls print in alternating " -"directions on odd layers irrespective of their overhang degree." -msgstr "" -"Aplicar a lógica de perímetros reversos apenas em perímetros internos.\n" -"\n" -"Este ajuste reduz muito as tensões na peça, já que agora são distribuídas em " -"direções alternadas. Isso deve reduzir a deformação da peça, mantendo a " -"qualidade do perímetro externo. Este recurso pode ser muito útil para " -"materiais propensos a deformações, como ABS/ASA, e também para filamentos " -"elásticos, como TPU e Silk PLA. Também pode ajudar a reduzir a deformação em " -"regiões flutuantes sobre suportes.\n" -"\n" -"Para que este ajuste seja mais eficaz, recomenda-se definir o Limiar Reverso " -"como 0 para que todos os perímetros internos sejam impressos em direções " -"alternadas em camadas ímpares, independentemente de seu grau de ." +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 recomended to set the Reverse Threshold to 0 so that all internal walls print in alternating directions on odd layers irrespective of their overhang degree." +msgstr "Aplicar a lógica de perímetros reversos apenas em perímetros internos.\n\n" +"Este ajuste reduz muito as tensões na peça, já que agora são distribuídas em direções alternadas. Isso deve reduzir a deformação da peça, mantendo a qualidade do perímetro externo. Este recurso pode ser muito útil para materiais propensos a deformações, como ABS/ASA, e também para filamentos elásticos, como TPU e Silk PLA. Também pode ajudar a reduzir a deformação em regiões flutuantes sobre suportes.\n\n" +"Para que este ajuste seja mais eficaz, recomenda-se definir o Limiar Reverso como 0 para que todos os perímetros internos sejam impressos em direções alternadas em camadas ímpares, independentemente de seu grau de ." msgid "Bridge counterbore holes" msgstr "Pontes para furos rebaixados" -msgid "" -"This option creates bridges for counterbore holes, allowing them to be " -"printed without support. Available modes include:\n" +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 "" -"Esta opção cria pontes para furos rebaixados, permitindo que sejam impressos " -"sem suporte. Os modos disponíveis incluem:\n" +msgstr "Esta opção cria pontes para furos rebaixados, permitindo que sejam impressos sem suporte. Os modos disponíveis incluem:\n" "1. Nenhum: Nenhuma ponte é criada.\n" -"2. Parcialmente Ponteada: Apenas uma parte da área não suportada será " -"ponteada.\n" +"2. Parcialmente Ponteada: Apenas uma parte da área não suportada será ponteada.\n" "3. Camada Sacrificial: Uma camada completa de ponte sacrificial é criada." msgid "Partially bridged" @@ -9924,13 +8500,9 @@ msgid "Overhang reversal threshold" msgstr "Limiar de inversão de overhang" #, 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" +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 odd layers regardless." -msgstr "" -"Número de milímetros que o precisa ter para que a reversão seja considerada " -"útil. Pode ser um % da largura do perímetro.\n" +msgstr "Número de milímetros que o precisa ter para que a reversão seja considerada útil. Pode ser um % da largura do perímetro.\n" "O valor 0 permite a reversão em todas as camadas ímpares independentemente." msgid "Classic mode" @@ -9943,19 +8515,13 @@ msgid "Slow down for overhang" msgstr "Reduzir velocidade em overhangs" msgid "Enable this option to slow printing down for different overhang degree" -msgstr "" -"Ative esta opção para diminuir a velocidade de impressão em diferentes graus " -"de inclinação" +msgstr "Ative esta opção para diminuir a velocidade de impressão em diferentes graus de inclinação" msgid "Slow down for curled perimeters" msgstr "Reduzir vel. para perímetros encurvados" -msgid "" -"Enable this option to slow printing down in areas where potential curled " -"perimeters may exist" -msgstr "" -"Ative esta opção para diminuir a velocidade de impressão em áreas onde podem " -"existir potenciais perímetros curvados (warping)" +msgid "Enable this option to slow printing down in areas where potential curled perimeters may exist" +msgstr "Ative esta opção para diminuir a velocidade de impressão em áreas onde podem existir potenciais perímetros curvados (warping)" msgid "mm/s or %" msgstr "mm/s ou %" @@ -9972,12 +8538,8 @@ msgstr "mm/s" msgid "Internal" msgstr "Interno" -msgid "" -"Speed of internal bridge. If the value is expressed as a percentage, it will " -"be calculated based on the bridge_speed. Default value is 150%." -msgstr "" -"Velocidade da ponte interna. Se o valor for expresso como porcentagem, será " -"calculado com base na velocidade da ponte. O valor padrão é 150%." +msgid "Speed of internal bridge. If the value is expressed as a percentage, it will be calculated based on the bridge_speed. Default value is 150%." +msgstr "Velocidade da ponte interna. Se o valor for expresso como porcentagem, será calculado com base na velocidade da ponte. O valor padrão é 150%." msgid "Brim width" msgstr "Largura da borda" @@ -9988,23 +8550,14 @@ msgstr "Distância do modelo até a linha da borda mais externa" msgid "Brim type" msgstr "Tipo de borda" -msgid "" -"This controls the generation of the brim at outer and/or inner side of " -"models. Auto means the brim width is analysed and calculated automatically." -msgstr "" -"Isso controla a geração da borda no lado externo e/ou interno dos modelos. " -"Automático significa que a largura da borda é analisada e calculada " -"automaticamente." +msgid "This controls the generation of the brim at outer and/or inner side of models. Auto means the brim width is analysed and calculated automatically." +msgstr "Isso controla a geração da borda no lado externo e/ou interno dos modelos. Automático significa que a largura da borda é analisada e calculada automaticamente." msgid "Brim-object gap" msgstr "Espaço entre a borda e objeto" -msgid "" -"A gap between innermost brim line and object can make brim be removed more " -"easily" -msgstr "" -"Um espaço entre a linha da borda mais interna e o objeto pode facilitar a " -"remoção da borda" +msgid "A gap between innermost brim line and object can make brim be removed more easily" +msgstr "Um espaço entre a linha da borda mais interna e o objeto pode facilitar a remoção da borda" msgid "Brim ears" msgstr "Orelhas da borda" @@ -10015,25 +8568,19 @@ msgstr "Desenhe a borda apenas sobre as bordas afiadas do modelo." msgid "Brim ear max angle" msgstr "Ângulo máximo da orelha da borda" -msgid "" -"Maximum angle to let a brim ear appear. \n" +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 "" -"Ângulo máximo para permitir que uma orelha da borda apareça. \n" +msgstr "Ângulo máximo para permitir que uma orelha da borda apareça. \n" "Se definido como 0, nenhuma borda será criado. \n" "Se definido como ~180, a borda será criada em tudo, exceto em seções retas." msgid "Brim ear detection radius" msgstr "Raio de detecção da orelha da borda" -msgid "" -"The geometry will be decimated before dectecting sharp angles. This " -"parameter indicates the minimum length of the deviation for the decimation.\n" +msgid "The geometry will be decimated before dectecting sharp angles. This parameter indicates the minimum length of the deviation for the decimation.\n" "0 to deactivate" -msgstr "" -"A geometria será decimada antes de detectar ângulos agudos. Este parâmetro " -"indica o comprimento mínimo da divergência para a decimação.\n" +msgstr "A geometria será decimada antes de detectar ângulos agudos. Este parâmetro indica o comprimento mínimo da divergência para a decimação.\n" "0 para desativar" msgid "Compatible machine" @@ -10072,27 +8619,14 @@ msgstr "Como lista de objetos" msgid "Slow printing down for better layer cooling" msgstr "Diminuir a velocidade de impressão para melhor resfriamento da camada" -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 "" -"Ative esta opção para diminuir a velocidade de impressão para que o tempo da " -"camada final não seja menor do que o limite de tempo da camada em \"Limiar " -"de velocidade máxima do ventilador\", para que a camada possa ser resfriada " -"por mais tempo. Isso pode melhorar a qualidade de resfriamento para detalhes " -"pequenos" +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 "Ative esta opção para diminuir a velocidade de impressão para que o tempo da camada final não seja menor do que o limite de tempo da camada em \"Limiar de velocidade máxima do ventilador\", para que a camada possa ser resfriada por mais tempo. Isso pode melhorar a qualidade de resfriamento para detalhes pequenos" msgid "Normal printing" msgstr "Impressão normal" -msgid "" -"The default acceleration of both normal printing and travel except initial " -"layer" -msgstr "" -"A aceleração padrão tanto para a impressão normal quanto para o movimento, " -"exceto na primeira camada" +msgid "The default acceleration of both normal printing and travel except initial layer" +msgstr "A aceleração padrão tanto para a impressão normal quanto para o movimento, exceto na primeira camada" msgid "mm/s²" msgstr "mm/s²" @@ -10113,18 +8647,13 @@ msgid "Activate air filtration" msgstr "Ativar filtragem de ar" msgid "Activate for better air filtration. G-code command: M106 P3 S(0-255)" -msgstr "" -"Ative para uma melhor filtragem de ar. Comando G-code: M106 P3 S(0-255)" +msgstr "Ative para uma melhor filtragem de ar. Comando G-code: M106 P3 S(0-255)" msgid "Fan speed" msgstr "Velocidade do ventilador" -msgid "" -"Speed of exhaust fan during printing.This speed will overwrite the speed in " -"filament custom gcode" -msgstr "" -"Velocidade do ventilador de exaustão durante a impressão. Esta velocidade " -"substituirá a velocidade no gcode personalizado do filamento" +msgid "Speed of exhaust fan during printing.This speed will overwrite the speed in filament custom gcode" +msgstr "Velocidade do ventilador de exaustão durante a impressão. Esta velocidade substituirá a velocidade no gcode personalizado do filamento" msgid "Speed of exhaust fan after printing completes" msgstr "Velocidade do ventilador de exaustão após a conclusão da impressão" @@ -10132,107 +8661,44 @@ msgstr "Velocidade do ventilador de exaustão após a conclusão da impressão" msgid "No cooling for the first" msgstr "Sem resfriamento para o primeiro" -msgid "" -"Close all cooling fan for the first certain layers. Cooling fan of the first " -"layer used to be closed to get better build plate adhesion" -msgstr "" -"Feche todos os ventiladores de resfriamento para as primeiras camadas. O " -"ventilador de resfriamento da primeira camada costuma ser desligado para " -"obter uma melhor adesão à mesa" +msgid "Close all cooling fan for the first certain layers. Cooling fan of the first layer used to be closed to get better build plate adhesion" +msgstr "Feche todos os ventiladores de resfriamento para as primeiras camadas. O ventilador de resfriamento da primeira camada costuma ser desligado para obter uma melhor adesão à mesa" msgid "Don't support bridges" msgstr "Não suportar pontes" -msgid "" -"Don't support the whole bridge area which make support very large. Bridge " -"usually can be printing directly without support if not very long" -msgstr "" -"Não suportar toda a área da ponte que faz com que o suporte seja muito " -"grande. Ponte geralmente pode ser impressa diretamente sem suporte se não " -"for muito longa" +msgid "Don't support the whole bridge area which make support very large. Bridge usually can be printing directly without support if not very long" +msgstr "Não suportar toda a área da ponte que faz com que o suporte seja muito grande. Ponte geralmente pode ser impressa diretamente sem suporte se não for muito longa" msgid "Thick bridges" msgstr "Ponte grossa" -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 "" -"Se ativado, as pontes são mais confiáveis, podem cobrir distâncias maiores, " -"mas podem parecer piores. Se desativado, as pontes ficam melhores, mas são " -"confiáveis apenas para distâncias de ponte mais curtas." +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 "Se ativado, as pontes são mais confiáveis, podem cobrir distâncias maiores, mas podem parecer piores. Se desativado, as pontes ficam melhores, mas são confiáveis apenas para distâncias de ponte mais curtas." msgid "Thick internal bridges" msgstr "Ponte interna grossa" -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 "" -"Se ativado, serão usadas pontes internas grossas. Geralmente é recomendado " -"ter este recurso ativado. No entanto, considere desativá-lo se estiver " -"usando bocais grandes." +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 "Se ativado, serão usadas pontes internas grossas. Geralmente é recomendado ter este recurso ativado. No entanto, considere desativá-lo se estiver usando bocais grandes." msgid "Don't filter out small internal bridges (beta)" msgstr "Não filtrar pequenas pontes internas (beta)" -msgid "" -"This option can help reducing pillowing on top surfaces in heavily slanted " -"or curved models.\n" -"\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" -"\n" -"However, in heavily slanted or curved models especially where too low sparse " -"infill density is used, this may result in curling of the unsupported solid " -"infill, causing pillowing.\n" -"\n" -"Enabling this option will print internal bridge layer over slightly " -"unsupported internal solid infill. The options below control the amount of " -"filtering, i.e. the amount of internal bridges created.\n" -"\n" -"Disabled - Disables this option. This is the default behaviour and works " -"well in most cases.\n" -"\n" -"Limited filtering - Creates internal bridges on heavily slanted surfaces, " -"while avoiding creating uncessesary interal bridges. This works well for " -"most difficult models.\n" -"\n" -"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 unecessary bridges." -msgstr "" -"Esta opção pode ajudar a reduzir o pillowing nas superfícies superiores em " -"modelos fortemente inclinados ou curvos.\n" -"\n" -"Por padrão, pequenas pontes internas são filtradas e o preenchimento sólido " -"interno é impresso diretamente sobre o preenchimento não sólido. Isso " -"funciona bem na maioria dos casos, acelerando a impressão sem comprometer " -"muito a qualidade da superfície superior. \n" -"\n" -"No entanto, em modelos fortemente inclinados ou curvos, especialmente quando " -"a densidade de preenchimento não sólido é muito baixa, isso pode resultar em " -"enrolamento do preenchimento sólido não suportado, causando pillowing.\n" -"\n" -"Ativar esta opção imprimirá uma camada de ponte interna sobre o " -"preenchimento sólido interno ligeiramente não suportado. As opções abaixo " -"controlam a quantidade de filtragem, ou seja, a quantidade de pontes " -"internas criadas.\n" -"\n" -"Desativado - Desativa esta opção. Este é o comportamento padrão e funciona " -"bem na maioria dos casos.\n" -"\n" -"Filtragem limitada - Cria pontes internas em superfícies fortemente " -"inclinadas, evitando a criação de pontes internas desnecessárias. Isso " -"funciona bem para a maioria dos modelos difíceis.\n" -"\n" -"Sem filtragem - Cria pontes internas em cada inclinação interna potencial. " -"Esta opção é útil para modelos com superfície superior fortemente inclinada. " -"No entanto, na maioria dos casos, cria pontes desnecessárias demais." +msgid "This option can help reducing pillowing on top surfaces in heavily slanted or curved models.\n\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\n" +"However, in heavily slanted or curved models especially where too low sparse infill density is used, this may result in curling of the unsupported solid infill, causing pillowing.\n\n" +"Enabling this option will print internal bridge layer over slightly unsupported internal solid infill. The options below control the amount of filtering, i.e. the amount of internal bridges created.\n\n" +"Disabled - Disables this option. This is the default behaviour and works well in most cases.\n\n" +"Limited filtering - Creates internal bridges on heavily slanted surfaces, while avoiding creating uncessesary interal bridges. This works well for most difficult models.\n\n" +"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 unecessary bridges." +msgstr "Esta opção pode ajudar a reduzir o pillowing nas superfícies superiores em modelos fortemente inclinados ou curvos.\n\n" +"Por padrão, pequenas pontes internas são filtradas e o preenchimento sólido interno é impresso diretamente sobre o preenchimento não sólido. Isso funciona bem na maioria dos casos, acelerando a impressão sem comprometer muito a qualidade da superfície superior. \n\n" +"No entanto, em modelos fortemente inclinados ou curvos, especialmente quando a densidade de preenchimento não sólido é muito baixa, isso pode resultar em enrolamento do preenchimento sólido não suportado, causando pillowing.\n\n" +"Ativar esta opção imprimirá uma camada de ponte interna sobre o preenchimento sólido interno ligeiramente não suportado. As opções abaixo controlam a quantidade de filtragem, ou seja, a quantidade de pontes internas criadas.\n\n" +"Desativado - Desativa esta opção. Este é o comportamento padrão e funciona bem na maioria dos casos.\n\n" +"Filtragem limitada - Cria pontes internas em superfícies fortemente inclinadas, evitando a criação de pontes internas desnecessárias. Isso funciona bem para a maioria dos modelos difíceis.\n\n" +"Sem filtragem - Cria pontes internas em cada inclinação interna potencial. Esta opção é útil para modelos com superfície superior fortemente inclinada. No entanto, na maioria dos casos, cria pontes desnecessárias demais." msgid "Disabled" msgstr "Desativado" @@ -10246,14 +8712,8 @@ msgstr "Sem filtragem" msgid "Max bridge length" msgstr "Distância de ponte máxima" -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 "" -"Comprimento máximo de pontes que não precisam de suporte. Defina-o como 0 se " -"desejar que todas as pontes tenham suporte, e defina-o como um valor muito " -"grande se não desejar que nenhuma ponte tenha suporte." +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 "Comprimento máximo de pontes que não precisam de suporte. Defina-o como 0 se desejar que todas as pontes tenham suporte, e defina-o como um valor muito grande se não desejar que nenhuma ponte tenha suporte." msgid "End G-code" msgstr "G-code de finalização" @@ -10264,12 +8724,8 @@ msgstr "G-code de finalização ao terminar a impressão completa" msgid "Between Object Gcode" msgstr "G-code entre objetos" -msgid "" -"Insert Gcode between objects. This parameter will only come into effect when " -"you print your models object by object" -msgstr "" -"Insira o G-code entre objetos. Este parâmetro só terá efeito quando você " -"imprimir seus modelos objeto por objeto" +msgid "Insert Gcode between objects. This parameter will only come into effect when you print your models object by object" +msgstr "Insira o G-code entre objetos. Este parâmetro só terá efeito quando você imprimir seus modelos objeto por objeto" msgid "End G-code when finish the printing of this filament" msgstr "G-code de finalização ao terminar a impressão deste filamento" @@ -10277,26 +8733,17 @@ msgstr "G-code de finalização ao terminar a impressão deste filamento" msgid "Ensure vertical shell thickness" msgstr "Garantir a espessura vertical do perímetro" -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" +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 "" -"Adicione preenchimento sólido próximo a superfícies inclinadas para garantir " -"a espessura vertical (camadas de topo+base)\n" -"Nenhum: Nenhum preenchimento sólido será adicionado em nenhum lugar. " -"Cuidado: Use esta opção com cuidado se o seu modelo tiver superfícies " -"inclinadas\n" +msgstr "Adicione preenchimento sólido próximo a superfícies inclinadas para garantir a espessura vertical (camadas de topo+base)\n" +"Nenhum: Nenhum preenchimento sólido será adicionado em nenhum lugar. Cuidado: Use esta opção com cuidado se o seu modelo tiver superfícies inclinadas\n" "Apenas crítico: Evite adicionar preenchimento sólido para paredes\n" -"Moderado: Adicione preenchimento sólido apenas para superfícies fortemente " -"inclinadas\n" -"Todos: Adicione preenchimento sólido para todas as superfícies inclinadas " -"adequadas\n" +"Moderado: Adicione preenchimento sólido apenas para superfícies fortemente inclinadas\n" +"Todos: Adicione preenchimento sólido para todas as superfícies inclinadas adequadas\n" "O valor padrão é Todos." msgid "Critical Only" @@ -10339,108 +8786,44 @@ msgid "Bottom surface pattern" msgstr "Padrão de superfície inferior" msgid "Line pattern of bottom surface infill, not bridge infill" -msgstr "" -"Padrão de linha do preenchimento da superfície inferior, não do " -"preenchimento da ponte" +msgstr "Padrão de linha do preenchimento da superfície inferior, não do preenchimento da ponte" msgid "Internal solid infill pattern" msgstr "Padrão de preenchimento sólido interno" -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 "" -"Padrão de linha do preenchimento sólido interno. Se a detecção de " -"preenchimento sólido interno estreito estiver ativada, o padrão concêntrico " -"será usado para a área pequena." +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 "Padrão de linha do preenchimento sólido interno. Se a detecção de preenchimento sólido interno estreito estiver ativada, o padrão concêntrico será usado para a área pequena." -msgid "" -"Line width of outer wall. If expressed as a %, it will be computed over the " -"nozzle diameter." -msgstr "" -"Largura da linha do perímetro externo. Se expresso como porcentagem, será " -"calculado sobre o diâmetro do bico." +msgid "Line width of outer wall. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Largura da linha do perímetro externo. Se expresso como porcentagem, será calculado sobre o diâmetro do bico." -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 "" -"Velocidade do perímetro externo que é o mais externo e visível. Geralmente é " -"mais lenta que a velocidade do perímetro interno para obter melhor qualidade." +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 "Velocidade do perímetro externo que é o mais externo e visível. Geralmente é mais lenta que a velocidade do perímetro interno para obter melhor qualidade." msgid "Small perimeters" msgstr "Pequenos perímetros" -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 "" -"Essa configuração separada afetará a velocidade dos perímetros com raio <= " -"small_perimeter_threshold (geralmente buracos). Se expresso como porcentagem " -"(por exemplo: 80%), será calculado com base na configuração de velocidade do " -"perímetro externo acima. Defina como zero para automático." +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 "Essa configuração separada afetará a velocidade dos perímetros com raio <= small_perimeter_threshold (geralmente buracos). Se expresso como porcentagem (por exemplo: 80%), será calculado com base na configuração de velocidade do perímetro externo acima. Defina como zero para automático." msgid "Small perimeters threshold" msgstr "Limiar de pequenos perímetros" -msgid "" -"This sets the threshold for small perimeter length. Default threshold is 0mm" -msgstr "" -"Isso define o limite para o comprimento do perímetro pequeno. O limite " -"padrão é 0mm" +msgid "This sets the threshold for small perimeter length. Default threshold is 0mm" +msgstr "Isso define o limite para o comprimento do perímetro pequeno. O limite padrão é 0mm" msgid "Walls printing order" msgstr "Ordem de impressão dos perímetros" -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 neighouring 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 recomended 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.\n" -"\n" +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 neighouring 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 recomended 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.\n\n" " " -msgstr "" -"Sequência de impressão dos perímetros internos e externos. \n" -"\n" -"Use Interior/Exterior para melhores overhangs. Isso ocorre porque os " -"perímetros salientes podem aderir a um perímetro vizinho durante a " -"impressão. No entanto, esta opção resulta em uma qualidade superficial " -"ligeiramente reduzida, pois o perímetro externo é deformado ao ser esmagado " -"pelo perímetro interno.\n" -"\n" -"Use Interior/Exterior/Interior para o melhor acabamento superficial externo " -"e precisão dimensional, pois o perímetro externo é impresso sem interrupções " -"a partir de um perímetro interno. No entanto, o desempenho da inclinaçãoserá " -"reduzido, pois não há perímetro interno para imprimir o perímetro externo. " -"Esta opção requer um mínimo de 3 perímetros para ser eficaz, pois imprime os " -"perímetros internos a partir do terceiro perímetro em diante primeiro, " -"depois o perímetro externo e, por fim, o primeiro perímetro interno. Esta " -"opção é recomendada em relação à opção Exterior/Interior na maioria dos " -"casos. \n" -"\n" -"Use Exterior/Interior para obter os mesmos benefícios de qualidade de parede " -"externa e precisão dimensional da opção Interior/Exterior/Interior. No " -"entanto, as costuras z aparecerão menos consistentes, pois a primeira " -"extrusão de uma nova camada começa em uma superfície visível.\n" -"\n" +msgstr "Sequência de impressão dos perímetros internos e externos. \n\n" +"Use Interior/Exterior para melhores overhangs. Isso ocorre porque os perímetros salientes podem aderir a um perímetro vizinho durante a impressão. No entanto, esta opção resulta em uma qualidade superficial ligeiramente reduzida, pois o perímetro externo é deformado ao ser esmagado pelo perímetro interno.\n\n" +"Use Interior/Exterior/Interior para o melhor acabamento superficial externo e precisão dimensional, pois o perímetro externo é impresso sem interrupções a partir de um perímetro interno. No entanto, o desempenho da inclinaçãoserá reduzido, pois não há perímetro interno para imprimir o perímetro externo. Esta opção requer um mínimo de 3 perímetros para ser eficaz, pois imprime os perímetros internos a partir do terceiro perímetro em diante primeiro, depois o perímetro externo e, por fim, o primeiro perímetro interno. Esta opção é recomendada em relação à opção Exterior/Interior na maioria dos casos. \n\n" +"Use Exterior/Interior para obter os mesmos benefícios de qualidade de parede externa e precisão dimensional da opção Interior/Exterior/Interior. No entanto, as costuras z aparecerão menos consistentes, pois a primeira extrusão de uma nova camada começa em uma superfície visível.\n\n" " " msgid "Inner/Outer" @@ -10455,47 +8838,19 @@ msgstr "Interior/Exterior/Interior" msgid "Print infill first" msgstr "Preenchimento primeiro" -msgid "" -"Order of wall/infill. When the tickbox is unchecked the walls are printed " -"first, which works best in most cases.\n" -"\n" -"Printing walls first may help with extreme overhangs as the walls have the " -"neighbouring infill to adhere to. However, the infill will slighly 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 "" -"Ordem de perímetro/preenchimento. Quando a caixa de seleção não está " -"marcada, as paredes são impressas primeiro, o que funciona melhor na maioria " -"dos casos.\n" -"\n" -"Imprimir as paredes primeiro pode ajudar com overhangs extremos, pois as " -"paredes têm o preenchimento vizinho para aderir. No entanto, o preenchimento " -"empurrará levemente as paredes impressas onde está conectado a elas, " -"resultando em um acabamento de superfície externa pior. Também pode fazer " -"com que o preenchimento apareça através das superfícies externas da peça." +msgid "Order of wall/infill. When the tickbox is unchecked the walls are printed first, which works best in most cases.\n\n" +"Printing walls first may help with extreme overhangs as the walls have the neighbouring infill to adhere to. However, the infill will slighly 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 "Ordem de perímetro/preenchimento. Quando a caixa de seleção não está marcada, as paredes são impressas primeiro, o que funciona melhor na maioria dos casos.\n\n" +"Imprimir as paredes primeiro pode ajudar com overhangs extremos, pois as paredes têm o preenchimento vizinho para aderir. No entanto, o preenchimento empurrará levemente as paredes impressas onde está conectado a elas, resultando em um acabamento de superfície externa pior. Também pode fazer com que o preenchimento apareça através das superfícies externas da peça." msgid "Wall loop direction" msgstr "Direção da volta do perímetro" -msgid "" -"The direction which the wall loops are extruded when looking down from the " -"top.\n" -"\n" -"By default all walls are extruded in counter-clockwise, unless Reverse on " -"odd is enabled. Set this to any option other than Auto will force the wall " -"direction regardless of the Reverse on odd.\n" -"\n" +msgid "The direction which the wall loops are extruded when looking down from the top.\n\n" +"By default all walls are extruded in counter-clockwise, unless Reverse on odd is enabled. Set this to any option other than Auto will force the wall direction regardless of the Reverse on odd.\n\n" "This option will be disabled if sprial vase mode is enabled." -msgstr "" -"A direção na qual os loops da perímetro são extrudados quando vistos de " -"cima.\n" -"\n" -"Por padrão, todas as paredes são extrudadas no sentido anti-horário, a menos " -"que o Reverso em ímpar esteja ativado. Definir isso como qualquer opção que " -"não seja Automático forçará a direção do perímetro, independentemente do " -"Reverso em ímpar.\n" -"\n" +msgstr "A direção na qual os loops da perímetro são extrudados quando vistos de cima.\n\n" +"Por padrão, todas as paredes são extrudadas no sentido anti-horário, a menos que o Reverso em ímpar esteja ativado. Definir isso como qualquer opção que não seja Automático forçará a direção do perímetro, independentemente do Reverso em ímpar.\n\n" "Esta opção será desativada se o modo de vaso espiral estiver ativado." msgid "Counter clockwise" @@ -10507,102 +8862,47 @@ msgstr "Sentido horário" msgid "Height to rod" msgstr "Altura até a haste" -msgid "" -"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " -"by-object printing." -msgstr "" -"Distância da ponta do bico ao tubo inferior. Usado para evitar colisões na " -"impressão por objeto." +msgid "Distance of the nozzle tip to the lower rod. Used for collision avoidance in by-object printing." +msgstr "Distância da ponta do bico ao tubo inferior. Usado para evitar colisões na impressão por objeto." msgid "Height to lid" msgstr "Altura até a tampa" -msgid "" -"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" -"object printing." -msgstr "" -"Distância da ponta do bico à tampa. Usado para evitar colisões na impressão " -"por objeto." +msgid "Distance of the nozzle tip to the lid. Used for collision avoidance in by-object printing." +msgstr "Distância da ponta do bico à tampa. Usado para evitar colisões na impressão por objeto." -msgid "" -"Clearance radius around extruder. Used for collision avoidance in by-object " -"printing." -msgstr "" -"Raio de folga ao redor do extrusor. Usado para evitar colisões na impressão " -"por objeto." +msgid "Clearance radius around extruder. Used for collision avoidance in by-object printing." +msgstr "Raio de folga ao redor do extrusor. Usado para evitar colisões na impressão por objeto." msgid "Nozzle height" msgstr "Altura do bico" msgid "The height of nozzle tip." -msgstr "Altura da ponta do bico" +msgstr "Altura da ponta do bico." msgid "Bed mesh min" msgstr "Mínimo do bed mesh" -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 "" -"Esta opção define o ponto mínimo para a área permitida do bed mesh. Devido " -"ao deslocamento XY da sonda, a maioria das impressoras não consegue sondar " -"toda a mesa. Para garantir que o ponto da sonda não saia da área da mesa, os " -"pontos mínimo e máximo do bed mesh devem ser configurados adequadamente. O " -"OrcaSlicer garante que os valores adaptive_bed_mesh_min/" -"adaptive_bed_mesh_max não excedam esses pontos mínimo/máximo. Essas " -"informações geralmente podem ser obtidas com o fabricante da sua impressora. " -"A configuração padrão é (-99999, -99999), o que significa que não há " -"limites, permitindo a sondagem em toda a mesa." +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 "Esta opção define o ponto mínimo para a área permitida do bed mesh. Devido ao deslocamento XY da sonda, a maioria das impressoras não consegue sondar toda a mesa. Para garantir que o ponto da sonda não saia da área da mesa, os pontos mínimo e máximo do bed mesh devem ser configurados adequadamente. O OrcaSlicer garante que os valores adaptive_bed_mesh_min/adaptive_bed_mesh_max não excedam esses pontos mínimo/máximo. Essas informações geralmente podem ser obtidas com o fabricante da sua impressora. A configuração padrão é (-99999, -99999), o que significa que não há limites, permitindo a sondagem em toda a mesa." msgid "Bed mesh max" msgstr "Máximo do bed mesh" -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 "" -"Esta opção define o ponto máximo para a área permitida do bed mesh. Devido " -"ao deslocamento XY da sonda, a maioria das impressoras não consegue sondar " -"toda a mesa. Para garantir que o ponto da sonda não saia da área da mesa, os " -"pontos mínimo e máximo do bed mesh devem ser configurados adequadamente. O " -"OrcaSlicer garante que os valores adaptive_bed_mesh_min/" -"adaptive_bed_mesh_max não excedam esses pontos mínimo/máximo. Essas " -"informações geralmente podem ser obtidas com o fabricante da sua impressora. " -"A configuração padrão é (99999, 99999), o que significa que não há limites, " -"permitindo a sondagem em toda a mesa." +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 "Esta opção define o ponto máximo para a área permitida do bed mesh. Devido ao deslocamento XY da sonda, a maioria das impressoras não consegue sondar toda a mesa. Para garantir que o ponto da sonda não saia da área da mesa, os pontos mínimo e máximo do bed mesh devem ser configurados adequadamente. O OrcaSlicer garante que os valores adaptive_bed_mesh_min/adaptive_bed_mesh_max não excedam esses pontos mínimo/máximo. Essas informações geralmente podem ser obtidas com o fabricante da sua impressora. A configuração padrão é (99999, 99999), o que significa que não há limites, permitindo a sondagem em toda a mesa." msgid "Probe point distance" msgstr "Distância entre pontos de sonda" -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 "" -"Esta opção define a distância preferencial entre pontos de sonda (tamanho da " -"grade) para as direções X e Y, sendo o padrão 50mm para ambas as direções X " -"e Y." +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 "Esta opção define a distância preferencial entre pontos de sonda (tamanho da grade) para as direções X e Y, sendo o padrão 50mm para ambas as direções X e Y." msgid "Mesh margin" msgstr "Margem da malha" -msgid "" -"This option determines the additional distance by which the adaptive bed " -"mesh area should be expanded in the XY directions." -msgstr "" -"Esta opção determina a distância adicional pela qual a área do bed mesh " -"adaptável deve ser expandida nas direções XY." +msgid "This option determines the additional distance by which the adaptive bed mesh area should be expanded in the XY directions." +msgstr "Esta opção determina a distância adicional pela qual a área do bed mesh adaptável deve ser expandida nas direções XY." msgid "Extruder Color" msgstr "Cor do extrusor" @@ -10616,63 +8916,32 @@ msgstr "Deslocamento do extrusor" msgid "Flow ratio" msgstr "Fluxo" -msgid "" -"The material may have volumetric change after switching between molten state " -"and crystalline state. This setting changes all extrusion flow of this " -"filament in gcode proportionally. Recommended value range is between 0.95 " -"and 1.05. Maybe you can tune this value to get nice flat surface when there " -"has slight overflow or underflow" -msgstr "" -"O material pode ter mudança volumétrica após a troca entre o estado fundido " -"e o estado cristalino. Esta configuração altera todo o fluxo de extrusão " -"deste filamento no gcode proporcionalmente. A faixa de valores recomendada " -"está entre 0.95 e 1.05. Talvez você possa ajustar esse valor para obter uma " -"superfície plana agradável quando houver um leve transbordamento ou subfluxo" +msgid "The material may have volumetric change after switching between molten state and crystalline state. This setting changes all extrusion flow of this filament in gcode proportionally. Recommended value range is between 0.95 and 1.05. Maybe you can tune this value to get nice flat surface when there has slight overflow or underflow" +msgstr "O material pode ter mudança volumétrica após a troca entre o estado fundido e o estado cristalino. Esta configuração altera todo o fluxo de extrusão deste filamento no gcode proporcionalmente. A faixa de valores recomendada está entre 0.95 e 1.05. Talvez você possa ajustar esse valor para obter uma superfície plana agradável quando houver um leve transbordamento ou subfluxo" msgid "Enable pressure advance" msgstr "Habilitar Pressure advance" -msgid "" -"Enable pressure advance, auto calibration result will be overwriten once " -"enabled." -msgstr "" -"Habilitar Pressure advance, o resultado da calibração automática será " -"sobrescrito uma vez habilitado." +msgid "Enable pressure advance, auto calibration result will be overwriten once enabled." +msgstr "Habilitar Pressure advance, o resultado da calibração automática será sobrescrito uma vez habilitado." msgid "Pressure advance(Klipper) AKA Linear advance factor(Marlin)" -msgstr "" -"Pressure advance(Klipper) também conhecido como Linear advance factor(Marlin)" +msgstr "Pressure advance(Klipper) também conhecido como Linear advance factor(Marlin)" -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 "" -"Largura de linha padrão se outras larguras de linha estiverem definidas como " -"0. Se expresso como %, será calculado sobre o diâmetro do bico." +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 "Largura de linha padrão se outras larguras de linha estiverem definidas como 0. Se expresso como %, será calculado sobre o diâmetro do bico." msgid "Keep fan always on" msgstr "Manter o ventilador sempre ligado" -msgid "" -"If enable this setting, part cooling fan will never be stoped and will run " -"at least at minimum speed to reduce the frequency of starting and stoping" -msgstr "" -"Se habilitar esta configuração, o ventilador de resfriamento da peça nunca " -"será desligado e funcionará pelo menos na velocidade mínima para reduzir a " -"frequência de início e parada" +msgid "If enable this setting, part cooling fan will never be stoped and will run at least at minimum speed to reduce the frequency of starting and stoping" +msgstr "Se habilitar esta configuração, o ventilador de resfriamento da peça nunca será desligado e funcionará pelo menos na velocidade mínima para reduzir a frequência de início e parada" msgid "Layer time" msgstr "Tempo da camada" -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 "" -"O ventilador de resfriamento da peça será ativado para camadas cujo tempo " -"estimado seja menor que esse valor. A velocidade do ventilador é interpolada " -"entre as velocidades mínima e máxima do ventilador de acordo com o tempo de " -"impressão da camada" +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 "O ventilador de resfriamento da peça será ativado para camadas cujo tempo estimado seja menor que esse valor. A velocidade do ventilador é interpolada entre as velocidades mínima e máxima do ventilador de acordo com o tempo de impressão da camada" msgid "Default color" msgstr "Cor padrão" @@ -10689,22 +8958,11 @@ msgstr "Você pode colocar suas observações sobre o filamento aqui." msgid "Required nozzle HRC" msgstr "HRC do bico requerido" -msgid "" -"Minimum HRC of nozzle required to print the filament. Zero means no checking " -"of nozzle's HRC." -msgstr "" -"HRC mínimo do bico necessário para imprimir o filamento. Zero significa que " -"não há verificação do HRC do bico." +msgid "Minimum HRC of nozzle required to print the filament. Zero means no checking of nozzle's HRC." +msgstr "HRC mínimo do bico necessário para imprimir o filamento. Zero significa que não há verificação do HRC do bico." -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 "" -"Essa configuração representa quanto volume de filamento pode ser derretido e " -"extrudado por segundo. A velocidade de impressão é limitada pela fluxo " -"volumétrico máximo, no caso de configurações de velocidade muito altas e " -"irrazoáveis. Não pode ser zero" +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 "Essa configuração representa quanto volume de filamento pode ser derretido e extrudado por segundo. A velocidade de impressão é limitada pela fluxo volumétrico máximo, no caso de configurações de velocidade muito altas e irrazoáveis. Não pode ser zero" msgid "mm³/s" msgstr "mm³/s" @@ -10713,42 +8971,25 @@ msgid "Filament load time" msgstr "Tempo de carga do filamento" msgid "Time to load new filament when switch filament. For statistics only" -msgstr "" -"Tempo para carregar novo filamento ao trocar de filamento. Apenas para " -"estatísticas" +msgstr "Tempo para carregar novo filamento ao trocar de filamento. Apenas para estatísticas" msgid "Filament unload time" msgstr "Tempo de descarga do filamento" msgid "Time to unload old filament when switch filament. For statistics only" -msgstr "" -"Tempo para descarregar o filamento antigo ao trocar de filamento. Apenas " -"para estatísticas" +msgstr "Tempo para descarregar o filamento antigo ao trocar de filamento. Apenas para estatísticas" -msgid "" -"Filament diameter is used to calculate extrusion in gcode, so it's important " -"and should be accurate" -msgstr "" -"O diâmetro do filamento é usado para calcular a extrusão no gcode, portanto, " -"é importante e deve ser preciso" +msgid "Filament diameter is used to calculate extrusion in gcode, so it's important and should be accurate" +msgstr "O diâmetro do filamento é usado para calcular a extrusão no gcode, portanto, é importante e deve ser preciso" msgid "Shrinkage" msgstr "Retração" #, 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. Only the filament used for the perimeter is taken into account.\n" -"Be sure to allow enough space between objects, as this compensation is done " -"after the checks." -msgstr "" -"Informe a porcentagem de retração que o filamento terá após o resfriamento " -"(94% se você medir 94mm em vez de 100mm). A peça será escalada em xy para " -"compensar. Apenas o filamento usado para o perímetro é levado em " -"consideração.\n" -"Certifique-se de permitir espaço suficiente entre objetos, pois essa " -"compensação é feita após as verificações." +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. Only the filament used for the perimeter is taken into account.\n" +"Be sure to allow enough space between objects, as this compensation is done after the checks." +msgstr "Informe a porcentagem de retração que o filamento terá após o resfriamento (94% se você medir 94mm em vez de 100mm). A peça será escalada em xy para compensar. Apenas o filamento usado para o perímetro é levado em consideração.\n" +"Certifique-se de permitir espaço suficiente entre objetos, pois essa compensação é feita após as verificações." msgid "Loading speed" msgstr "Velocidade de carregamento" @@ -10765,121 +9006,62 @@ msgstr "Velocidade usada no início da fase de carregamento." msgid "Unloading speed" msgstr "Velocidade de descarregamento" -msgid "" -"Speed used for unloading the filament on the wipe tower (does not affect " -"initial part of unloading just after ramming)." -msgstr "" -"Velocidade usada para descarregar o filamento na torre de limpeza (não afeta " -"a parte inicial do descarregamento logo após o esmagamento)." +msgid "Speed used for unloading the filament on the wipe tower (does not affect initial part of unloading just after ramming)." +msgstr "Velocidade usada para descarregar o filamento na torre de limpeza (não afeta a parte inicial do descarregamento logo após o esmagamento)." msgid "Unloading speed at the start" msgstr "Velocidade de descarregamento no início" -msgid "" -"Speed used for unloading the tip of the filament immediately after ramming." -msgstr "" -"Velocidade usada para descarregar a ponta do filamento imediatamente após o " -"esmagamento." +msgid "Speed used for unloading the tip of the filament immediately after ramming." +msgstr "Velocidade usada para descarregar a ponta do filamento imediatamente após o esmagamento." msgid "Delay after unloading" msgstr "Atraso após o descarregamento" -msgid "" -"Time to wait after the filament is unloaded. May help to get reliable " -"toolchanges with flexible materials that may need more time to shrink to " -"original dimensions." -msgstr "" -"Tempo de espera após o filamento ser descarregado. Pode ajudar a obter " -"trocas de ferramentas confiáveis com materiais flexíveis que podem precisar " -"de mais tempo para encolher para as dimensões originais." +msgid "Time to wait after the filament is unloaded. May help to get reliable toolchanges with flexible materials that may need more time to shrink to original dimensions." +msgstr "Tempo de espera após o filamento ser descarregado. Pode ajudar a obter trocas de ferramentas confiáveis com materiais flexíveis que podem precisar de mais tempo para encolher para as dimensões originais." msgid "Number of cooling moves" msgstr "Número de movimentos de resfriamento" -msgid "" -"Filament is cooled by being moved back and forth in the cooling tubes. " -"Specify desired number of these moves." -msgstr "" -"O filamento é resfriado movendo-se para frente e para trás nos tubos de " -"resfriamento. Especifique o número desejado desses movimentos." +msgid "Filament is cooled by being moved back and forth in the cooling tubes. Specify desired number of these moves." +msgstr "O filamento é resfriado movendo-se para frente e para trás nos tubos de resfriamento. Especifique o número desejado desses movimentos." msgid "Speed of the first cooling move" msgstr "Velocidade do primeiro movimento de resfriamento" msgid "Cooling moves are gradually accelerating beginning at this speed." -msgstr "" -"Os movimentos de resfriamento estão gradualmente acelerando a partir desta " -"velocidade." +msgstr "Os movimentos de resfriamento estão gradualmente acelerando a partir desta velocidade." msgid "Minimal purge on wipe tower" msgstr "Purga mínima na torre de limpeza" -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 "" -"Após uma troca de ferramenta, a posição exata do filamento recém-carregado " -"dentro do bico pode não ser conhecida e a pressão do filamento provavelmente " -"ainda não está estável. Antes de purgar a cabeça de impressão em um " -"preenchimento ou objeto sacrificial, o Orca Slicer sempre irá primear essa " -"quantidade de material na torre de limpeza para produzir extrusões de " -"preenchimento ou objeto sacrificial sucessivas de forma confiável." +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 "Após uma troca de ferramenta, a posição exata do filamento recém-carregado dentro do bico pode não ser conhecida e a pressão do filamento provavelmente ainda não está estável. Antes de purgar a cabeça de impressão em um preenchimento ou objeto sacrificial, o Orca Slicer sempre irá primear essa quantidade de material na torre de limpeza para produzir extrusões de preenchimento ou objeto sacrificial sucessivas de forma confiável." msgid "Speed of the last cooling move" msgstr "Velocidade do último movimento de resfriamento" msgid "Cooling moves are gradually accelerating towards this speed." -msgstr "" -"Os movimentos de resfriamento estão gradualmente acelerando em direção a " -"esta velocidade." +msgstr "Os movimentos de resfriamento estão gradualmente acelerando em direção a esta velocidade." -msgid "" -"Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " -"filament during a tool change (when executing the T code). This time is " -"added to the total print time by the G-code time estimator." -msgstr "" -"Tempo para o firmware da impressora (ou a Unidade de Material Multi 2.0) " -"carregar um novo filamento durante uma troca de ferramenta (ao executar o " -"código T). Este tempo é adicionado ao tempo total de impressão pelo " -"estimador de tempo do G-code." +msgid "Time for the printer firmware (or the Multi Material Unit 2.0) to load a new filament during a tool change (when executing the T code). This time is added to the total print time by the G-code time estimator." +msgstr "Tempo para o firmware da impressora (ou a Unidade de Material Multi 2.0) carregar um novo filamento durante uma troca de ferramenta (ao executar o código T). Este tempo é adicionado ao tempo total de impressão pelo estimador de tempo do G-code." msgid "Ramming parameters" msgstr "Parâmetros de esmagamento" -msgid "" -"This string is edited by RammingDialog and contains ramming specific " -"parameters." -msgstr "" -"Esta frase é editada pelo RammingDialog e contém parâmetros específicos de " -"esmagamento." +msgid "This string is edited by RammingDialog and contains ramming specific parameters." +msgstr "Esta frase é editada pelo RammingDialog e contém parâmetros específicos de esmagamento." -msgid "" -"Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " -"filament during a tool change (when executing the T code). This time is " -"added to the total print time by the G-code time estimator." -msgstr "" -"Tempo para o firmware da impressora (ou a Unidade de Material Multi 2.0) " -"descarregar um filamento durante uma troca de ferramenta (ao executar o " -"código T). Este tempo é adicionado ao tempo total de impressão pelo " -"estimador de tempo do G-code." +msgid "Time for the printer firmware (or the Multi Material Unit 2.0) to unload a filament during a tool change (when executing the T code). This time is added to the total print time by the G-code time estimator." +msgstr "Tempo para o firmware da impressora (ou a Unidade de Material Multi 2.0) descarregar um filamento durante uma troca de ferramenta (ao executar o código T). Este tempo é adicionado ao tempo total de impressão pelo estimador de tempo do G-code." msgid "Enable ramming for multitool setups" msgstr "Habilitar esmagamento para configurações de várias ferramentas" -msgid "" -"Perform ramming when using multitool 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 " -"toolchange. This option is only used when the wipe tower is enabled." -msgstr "" -"Realizar esmagamento ao usar impressora multitool (ou seja, quando a opção " -"'Único Extrusor Multimaterial' em Configurações de Impressora está " -"desmarcada). Quando ativado, uma pequena quantidade de filamento é " -"rapidamente extrudada na torre de limpeza logo antes da troca de ferramenta. " -"Esta opção é usada apenas quando a torre de limpeza está habilitada." +msgid "Perform ramming when using multitool 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 toolchange. This option is only used when the wipe tower is enabled." +msgstr "Realizar esmagamento ao usar impressora multitool (ou seja, quando a opção 'Único Extrusor Multimaterial' em Configurações de Impressora está desmarcada). Quando ativado, uma pequena quantidade de filamento é rapidamente extrudada na torre de limpeza logo antes da troca de ferramenta. Esta opção é usada apenas quando a torre de limpeza está habilitada." msgid "Multitool ramming volume" msgstr "Volume de esmagamento multitool" @@ -10908,32 +9090,20 @@ msgstr "O tipo de material do filamento" msgid "Soluble material" msgstr "Material solúvel" -msgid "" -"Soluble material is commonly used to print support and support interface" -msgstr "" -"O material solúvel é comumente usado para imprimir suporte e interface de " -"suporte" +msgid "Soluble material is commonly used to print support and support interface" +msgstr "O material solúvel é comumente usado para imprimir suporte e interface de suporte" msgid "Support material" msgstr "Material de suporte" -msgid "" -"Support material is commonly used to print support and support interface" -msgstr "" -"O material de suporte é comumente usado para imprimir suporte e interface de " -"suporte" +msgid "Support material is commonly used to print support and support interface" +msgstr "O material de suporte é comumente usado para imprimir suporte e interface de suporte" msgid "Softening temperature" msgstr "Temperatura de amolecimento" -msgid "" -"The material softens at this temperature, so when the bed temperature is " -"equal to or greater than it, it's highly recommended to open the front door " -"and/or remove the upper glass to avoid cloggings." -msgstr "" -"O material amolece a esta temperatura, portanto, quando a temperatura da " -"mesa for igual ou maior que ela, é altamente recomendável abrir a porta da " -"frente e/ou remover o vidro superior para evitar entupimentos." +msgid "The material softens at this temperature, so when the bed temperature is equal to or greater than it, it's highly recommended to open the front door and/or remove the upper glass to avoid cloggings." +msgstr "O material amolece a esta temperatura, portanto, quando a temperatura da mesa for igual ou maior que ela, é altamente recomendável abrir a porta da frente e/ou remover o vidro superior para evitar entupimentos." msgid "Price" msgstr "Preço" @@ -10954,40 +9124,29 @@ msgid "(Undefined)" msgstr "(Indefinido)" msgid "Sparse infill direction" -msgstr "" +msgstr "Direção do preenchimento" -msgid "" -"Angle for sparse infill pattern, which controls the start or main direction " -"of line" -msgstr "" -"Ângulo para o padrão de preenchimento não sólido, que controla o início ou a " -"direção principal da linha" +msgid "Angle for sparse infill pattern, which controls the start or main direction of line" +msgstr "Ângulo para o padrão de preenchimento não sólido, que controla o início ou a direção principal da linha" msgid "Solid infill direction" -msgstr "" +msgstr "Direção do preenchimento sólido" -msgid "" -"Angle for solid infill pattern, which controls the start or main direction " -"of line" -msgstr "" +msgid "Angle for solid infill pattern, which controls the start or main direction of line" +msgstr "Ângulo para padrão de preenchimento sólido, que controla a direção inicial ou principal da linha" msgid "Rotate solid infill direction" -msgstr "" +msgstr "Rotaciona a direção do preenchimento sólido" msgid "Rotate the solid infill direction by 90° for each layer." -msgstr "" +msgstr "Rotaciona a direção do preenchimento em 90° para cada camada." msgid "Sparse infill density" msgstr "Densidade do preenchimento" #, 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 "" -"Densidade do preenchimento não sólido interno, 100% transforma todo o " -"preenchimento não sólido em preenchimento sólido e será usado o padrão de " -"preenchimento sólido interno" +msgid "Density of internal sparse infill, 100% turns all sparse infill into solid infill and internal solid infill pattern will be used" +msgstr "Densidade do preenchimento não sólido interno, 100% transforma todo o preenchimento não sólido em preenchimento sólido e será usado o padrão de preenchimento sólido interno" msgid "Sparse infill pattern" msgstr "Padrão de preenchimento" @@ -11026,34 +9185,15 @@ msgid "Lightning" msgstr "Relâmpago" msgid "Cross Hatch" -msgstr "" +msgstr "Padrão Cruzado" msgid "Sparse infill anchor length" msgstr "Comp. da âncora de preenchimento" -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 "" -"Conecte uma linha de preenchimento a um perímetro interno com um segmento " -"curto de um perímetro adicional. Se expresso como porcentagem (exemplo: " -"15%), é calculado sobre a largura de extrusão do preenchimento. O Orca " -"Slicer tenta conectar duas linhas de preenchimento próximas a um segmento " -"curto de perímetro. Se nenhum segmento de perímetro mais curto que " -"infill_anchor_max for encontrado, a linha de preenchimento é conectada a um " -"segmento de perímetro em apenas um lado e o comprimento do segmento de " -"perímetro tomado é limitado a este parâmetro, mas não mais do que " -"anchor_length_max. \n" -"Defina este parâmetro como zero para desabilitar os perímetros de ancoragem " -"conectados a uma única linha de preenchimento." +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 "Conecte uma linha de preenchimento a um perímetro interno com um segmento curto de um perímetro adicional. Se expresso como porcentagem (exemplo: 15%), é calculado sobre a largura de extrusão do preenchimento. O Orca Slicer tenta conectar duas linhas de preenchimento próximas a um segmento curto de perímetro. Se nenhum segmento de perímetro mais curto que infill_anchor_max for encontrado, a linha de preenchimento é conectada a um segmento de perímetro em apenas um lado e o comprimento do segmento de perímetro tomado é limitado a este parâmetro, mas não mais do que anchor_length_max. \n" +"Defina este parâmetro como zero para desabilitar os perímetros de ancoragem conectados a uma única linha de preenchimento." msgid "0 (no open anchors)" msgstr "0 (sem ancoras abertas)" @@ -11064,28 +9204,10 @@ msgstr "1000 (ilimitado)" msgid "Maximum length of the infill anchor" msgstr "Comp. máx. da âncora de preench." -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 "" -"Conecte uma linha de preenchimento a um perímetro interno com um segmento " -"curto de um perímetro adicional. Se expresso como porcentagem (exemplo: " -"15%), é calculado sobre a largura de extrusão do preenchimento. O Orca " -"Slicer tenta conectar duas linhas de preenchimento próximas a um segmento " -"curto de perímetro. Se nenhum segmento de perímetro mais curto que este " -"parâmetro for encontrado, a linha de preenchimento é conectada a um segmento " -"de perímetro em apenas um lado e o comprimento do segmento de perímetro " -"tomado é limitado a infill_anchor, mas não mais do que este parâmetro. \n" -"Se definido como 0, o antigo algoritmo de conexão de preenchimento será " -"usado, ele deve criar o mesmo resultado que com 1000 e 0." +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 "Conecte uma linha de preenchimento a um perímetro interno com um segmento curto de um perímetro adicional. Se expresso como porcentagem (exemplo: 15%), é calculado sobre a largura de extrusão do preenchimento. O Orca Slicer tenta conectar duas linhas de preenchimento próximas a um segmento curto de perímetro. Se nenhum segmento de perímetro mais curto que este parâmetro for encontrado, a linha de preenchimento é conectada a um segmento de perímetro em apenas um lado e o comprimento do segmento de perímetro tomado é limitado a infill_anchor, mas não mais do que este parâmetro. \n" +"Se definido como 0, o antigo algoritmo de conexão de preenchimento será usado, ele deve criar o mesmo resultado que com 1000 e 0." msgid "0 (Simple connect)" msgstr "0 (Conexão simples)" @@ -11099,51 +9221,26 @@ msgstr "Aceleração das paredes internas" msgid "Acceleration of travel moves" msgstr "Aceleração dos movimentos de deslocamento" -msgid "" -"Acceleration of top surface infill. Using a lower value may improve top " -"surface quality" -msgstr "" -"Aceleração do preenchimento da superfície superior. Usar um valor menor pode " -"melhorar a qualidade da superfície superior" +msgid "Acceleration of top surface infill. Using a lower value may improve top surface quality" +msgstr "Aceleração do preenchimento da superfície superior. Usar um valor menor pode melhorar a qualidade da superfície superior" msgid "Acceleration of outer wall. Using a lower value can improve quality" -msgstr "" -"Aceleração do perímetro externo. Usar um valor menor pode melhorar a " -"qualidade" +msgstr "Aceleração do perímetro externo. Usar um valor menor pode melhorar a qualidade" -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 "" -"Aceleração das pontes. Se o valor for expresso como uma porcentagem (por " -"exemplo, 50%), será calculado com base na aceleração do perímetro externo." +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 "Aceleração das pontes. Se o valor for expresso como uma porcentagem (por exemplo, 50%), será calculado com base na aceleração do perímetro externo." msgid "mm/s² or %" msgstr "mm/s² ou %" -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 "" -"Aceleração do preenchimento não sólido. Se o valor for expresso como uma " -"porcentagem (por exemplo, 100%), será calculado com base na aceleração " -"padrão." +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 "Aceleração do preenchimento não sólido. Se o valor for expresso como uma porcentagem (por exemplo, 100%), será calculado com base na aceleração padrão." -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 "" -"Aceleração do preenchimento sólido interno. Se o valor for expresso como uma " -"porcentagem (por exemplo, 100%), será calculado com base na aceleração " -"padrão." +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 "Aceleração do preenchimento sólido interno. Se o valor for expresso como uma porcentagem (por exemplo, 100%), será calculado com base na aceleração padrão." -msgid "" -"Acceleration of initial layer. Using a lower value can improve build plate " -"adhesive" -msgstr "" -"Aceleração da primeira camada. Usar um valor menor pode melhorar a adesão à " -"mesa" +msgid "Acceleration of initial layer. Using a lower value can improve build plate adhesive" +msgstr "Aceleração da primeira camada. Usar um valor menor pode melhorar a adesão à mesa" msgid "Enable accel_to_decel" msgstr "Habilitar accel_to_decel" @@ -11154,11 +9251,9 @@ msgstr "O max_accel_to_decel do Klipper será ajustado automaticamente" msgid "accel_to_decel" msgstr "accel_to_decel" -#, c-format, boost-format -msgid "" -"Klipper's max_accel_to_decel will be adjusted to this %% of acceleration" -msgstr "" -"O max_accel_to_decel do Klipper será ajustado para esse %% de aceleração" +#, possible-c-format, possible-boost-format +msgid "Klipper's max_accel_to_decel will be adjusted to this %% of acceleration" +msgstr "O max_accel_to_decel do Klipper será ajustado para esse %% de aceleração" msgid "Jerk of outer walls" msgstr "Jerk nas paredes externas" @@ -11178,22 +9273,14 @@ msgstr "Jerk na primeira camada" msgid "Jerk for travel" msgstr "Jerk no deslocamento" -msgid "" -"Line width of initial layer. If expressed as a %, it will be computed over " -"the nozzle diameter." -msgstr "" -"Largura da linha da primeira camada. Se expresso como uma %, será calculado " -"sobre o diâmetro do bico." +msgid "Line width of initial layer. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Largura da linha da primeira camada. Se expresso como uma %, será calculado sobre o diâmetro do bico." msgid "Initial layer height" msgstr "Altura da primeira camada" -msgid "" -"Height of initial layer. Making initial layer height to be thick slightly " -"can improve build plate adhension" -msgstr "" -"Altura da primeira camada. Tornar a altura da primeira camada ligeiramente " -"espessa pode melhorar a adesão à mesa" +msgid "Height of initial layer. Making initial layer height to be thick slightly can improve build plate adhension" +msgstr "Altura da primeira camada. Tornar a altura da primeira camada ligeiramente espessa pode melhorar a adesão à mesa" msgid "Speed of initial layer except the solid infill part" msgstr "Velocidade da primeira camada, exceto a parte de preenchimento sólido" @@ -11213,60 +9300,33 @@ msgstr "Velocidade de deslocamento da primeira camada" msgid "Number of slow layers" msgstr "Número de camadas lentas" -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 "" -"As primeiras camadas são impressas mais lentamente do que o normal. A " -"velocidade é aumentada gradualmente de forma linear sobre o número " -"especificado de camadas." +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 "As primeiras camadas são impressas mais lentamente do que o normal. A velocidade é aumentada gradualmente de forma linear sobre o número especificado de camadas." msgid "Initial layer nozzle temperature" msgstr "Temperatura do bico da primeira camada" msgid "Nozzle temperature to print initial layer when using this filament" -msgstr "" -"Temperatura do bico para imprimir a primeira camada ao usar este filamento" +msgstr "Temperatura do bico para imprimir a primeira camada ao usar este filamento" msgid "Full fan speed at layer" msgstr "Velocidade total do ventilador na camada" -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 "" -"A velocidade do ventilador aumentará linearmente de zero na camada " -"\"close_fan_the_first_x_layers\" para o máximo na camada " -"\"full_fan_speed_layer\". \"full_fan_speed_layer\" será ignorado se for " -"menor que \"close_fan_the_first_x_layers\", caso em que o ventilador " -"funcionará na velocidade máxima permitida na camada " -"\"close_fan_the_first_x_layers\" + 1." +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 "A velocidade do ventilador aumentará linearmente de zero na camada \"close_fan_the_first_x_layers\" para o máximo na camada \"full_fan_speed_layer\". \"full_fan_speed_layer\" será ignorado se for menor que \"close_fan_the_first_x_layers\", caso em que o ventilador funcionará na velocidade máxima permitida na camada \"close_fan_the_first_x_layers\" + 1." msgid "Support interface fan speed" msgstr "Velocidade do ventilador de interface de suporte" -msgid "" -"This fan speed is enforced during all support interfaces, to be able to " -"weaken their bonding with a high fan speed.\n" +msgid "This fan speed is enforced during all support interfaces, to be able to weaken their bonding with a high fan speed.\n" "Set to -1 to disable this override.\n" "Can only be overriden by disable_fan_first_layers." -msgstr "" -"Esta velocidade do ventilador é aplicada durante todas as interfaces de " -"suporte, para enfraquecer sua ligação com uma alta velocidade do " -"ventilador.\n" +msgstr "Esta velocidade do ventilador é aplicada durante todas as interfaces de suporte, para enfraquecer sua ligação com uma alta velocidade do ventilador.\n" "Defina como -1 para desativar esta substituição.\n" "Só pode ser substituído por disable_fan_first_layers." -msgid "" -"Randomly jitter while printing the wall, so that the surface has a rough " -"look. This setting controls the fuzzy position" -msgstr "" -"Movimento aleatório durante a impressão do perímetro, de modo que a " -"superfície tenha uma aparência áspera. Essa configuração controla a textura " -"fuzzy" +msgid "Randomly jitter while printing the wall, so that the surface has a rough look. This setting controls the fuzzy position" +msgstr "Movimento aleatório durante a impressão do perímetro, de modo que a superfície tenha uma aparência áspera. Essa configuração controla a textura fuzzy" msgid "Contour" msgstr "Contorno" @@ -11280,22 +9340,14 @@ msgstr "Todas as paredes" msgid "Fuzzy skin thickness" msgstr "Espessura da textura fuzzy" -msgid "" -"The width within which to jitter. It's adversed to be below outer wall line " -"width" -msgstr "" -"A largura dentro da qual tremer. É desaconselhável que seja menor do que a " -"largura da linha do perímetro externo" +msgid "The width within which to jitter. It's adversed to be below outer wall line width" +msgstr "A largura dentro da qual tremer. É desaconselhável que seja menor do que a largura da linha do perímetro externo" msgid "Fuzzy skin point distance" msgstr "Distância do ponto da textura fuzzy" -msgid "" -"The average diatance between the random points introducded on each line " -"segment" -msgstr "" -"A distância média entre os pontos aleatórios introduzidos em cada segmento " -"de linha" +msgid "The average diatance between the random points introducded on each line segment" +msgstr "A distância média entre os pontos aleatórios introduzidos em cada segmento de linha" msgid "Apply fuzzy skin to first layer" msgstr "Aplicar texture fuzzy à primeira camada" @@ -11312,66 +9364,40 @@ msgstr "Camadas e Perímetros" msgid "Filter out gaps smaller than the threshold specified" msgstr "Filtrar vazios menores que o limite especificado" -msgid "" -"Speed of gap infill. Gap usually has irregular line width and should be " -"printed more slowly" -msgstr "" -"Velocidade de preenchimento de vão. Vazios geralmente têm largura de linha " -"irregular e devem ser impressas mais lentamente" +msgid "Speed of gap infill. Gap usually has irregular line width and should be printed more slowly" +msgstr "Velocidade de preenchimento de vão. Vazios geralmente têm largura de linha irregular e devem ser impressas mais lentamente" msgid "Precise Z height" msgstr "Altura Z precisa" -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 "" -"Ative isto para obter altura Z precisa do objeto após fatiar. Ele obterá a " -"altura do objeto exata ajustando as alturas da camada das últimas camadas. " -"Observe que este é um parâmetro experimental." +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 "Ative isto para obter altura Z precisa do objeto após fatiar. Ele obterá a altura do objeto exata ajustando as alturas da camada das últimas camadas. Observe que este é um parâmetro experimental." msgid "Arc fitting" msgstr "Ajuste de arco (Arc fitting)" -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 recomended 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 "" +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 recomended 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 "Habilite isso para obter um arquivo de código G, que tenha movimentos G2 e G3. A tolerância adequada é a mesma que a resolução. \n\n" +"Nota: Para máquinas klipper, esta opção é recomendada estar desativada. Klipper não beneficia de comandos de arco pois eles são divididos novamente em segmentos de linha pelo firmware. Isso resulta em uma redução da qualidade de superfície à medida que os segmentos de linha são convertidos em arcos pelo fatiador e depois revertem para segmentos de linha pelo firmware." msgid "Add line number" msgstr "Adicionar número da linha" msgid "Enable this to add line number(Nx) at the beginning of each G-Code line" -msgstr "" -"Habilitar isso para adicionar o número da linha (Nx) no início de cada linha " -"do G-Code" +msgstr "Habilitar isso para adicionar o número da linha (Nx) no início de cada linha do G-Code" msgid "Scan first layer" msgstr "Escanear primeira camada" -msgid "" -"Enable this to enable the camera on printer to check the quality of first " -"layer" -msgstr "" -"Habilitar isso para ativar a câmera na impressora para verificar a qualidade " -"da primeira camada" +msgid "Enable this to enable the camera on printer to check the quality of first layer" +msgstr "Habilitar isso para ativar a câmera na impressora para verificar a qualidade da primeira camada" msgid "Nozzle type" msgstr "Tipo de bico" -msgid "" -"The metallic material of nozzle. This determines the abrasive resistance of " -"nozzle, and what kind of filament can be printed" -msgstr "" -"O material metálico do bico. Isso determina a resistência ao desgaste do " -"bico e que tipo de filamento pode ser impresso" +msgid "The metallic material of nozzle. This determines the abrasive resistance of nozzle, and what kind of filament can be printed" +msgstr "O material metálico do bico. Isso determina a resistência ao desgaste do bico e que tipo de filamento pode ser impresso" msgid "Undefine" msgstr "Não definido" @@ -11388,12 +9414,8 @@ msgstr "Latão" msgid "Nozzle HRC" msgstr "Bico HRC" -msgid "" -"The nozzle's hardness. Zero means no checking for nozzle's hardness during " -"slicing." -msgstr "" -"A dureza do bico. Zero significa que não há verificação da dureza do bico " -"durante a fatiamento." +msgid "The nozzle's hardness. Zero means no checking for nozzle's hardness during slicing." +msgstr "A dureza do bico. Zero significa que não há verificação da dureza do bico durante a fatiamento." msgid "HRC" msgstr "RH" @@ -11420,36 +9442,18 @@ msgid "Best object position" msgstr "Melhor posição do objeto" msgid "Best auto arranging position in range [0,1] w.r.t. bed shape." -msgstr "" -"Melhor posição de arranjo automático na faixa [0,1] em relação ao formato da " -"mesa." +msgstr "Melhor posição de arranjo automático na faixa [0,1] em relação ao formato da mesa." -msgid "" -"Enable this option if machine has auxiliary part cooling fan. G-code " -"command: M106 P2 S(0-255)." -msgstr "" -"Habilitar esta opção se a máquina tiver ventilador auxiliar de resfriamento " -"da peça. Comando G-code: M106 P2 S(0-255)." +msgid "Enable this option if machine has auxiliary part cooling fan. G-code command: M106 P2 S(0-255)." +msgstr "Habilitar esta opção se a máquina tiver ventilador auxiliar de resfriamento da peça. Comando G-code: 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 comands from custom gcodes (they act as a sort of " -"'barrier').\n" -"It won't move fan comands into the start gcode if the 'only custom start " -"gcode' is activated.\n" +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 comands from custom gcodes (they act as a sort of 'barrier').\n" +"It won't move fan comands into the start gcode if the 'only custom start gcode' is activated.\n" "Use 0 to deactivate." -msgstr "" -"Comece o ventilador este número de segundos antes do tempo de início do alvo " -"(você pode usar segundos fracionários). Ele assume aceleração infinita para " -"esta estimativa de tempo e só levará em conta os movimentos G1 e G0 (o " -"ajuste de arco não é suportado).\n" -"Não moverá comandos do ventilador de gcodes personalizados (eles funcionam " -"como uma espécie de 'barreira').\n" -"Não moverá comandos do ventilador para o início do gcode se o 'apenas gcode " -"de início personalizado' estiver ativado.\n" +msgstr "Comece o ventilador este número de segundos antes do tempo de início do alvo (você pode usar segundos fracionários). Ele assume aceleração infinita para esta estimativa de tempo e só levará em conta os movimentos G1 e G0 (o ajuste de arco não é suportado).\n" +"Não moverá comandos do ventilador de gcodes personalizados (eles funcionam como uma espécie de 'barreira').\n" +"Não moverá comandos do ventilador para o início do gcode se o 'apenas gcode de início personalizado' estiver ativado.\n" "Use 0 para desativar." msgid "Only overhangs" @@ -11461,19 +9465,11 @@ msgstr "Levará em conta apenas o atraso para o resfriamento dos s." msgid "Fan kick-start time" msgstr "Tempo de inicialização do ventilador" -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" +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 "" -"Emita um comando de velocidade máxima do ventilador por esta quantidade de " -"segundos antes de reduzir para a velocidade alvo para iniciar o ventilador " -"de resfriamento.\n" -"Isto é útil para ventiladores onde um baixo PWM/potência pode ser " -"insuficiente para fazer o ventilador começar a girar a partir de uma parada, " -"ou para fazer o ventilador alcançar a velocidade mais rapidamente.\n" +msgstr "Emita um comando de velocidade máxima do ventilador por esta quantidade de segundos antes de reduzir para a velocidade alvo para iniciar o ventilador de resfriamento.\n" +"Isto é útil para ventiladores onde um baixo PWM/potência pode ser insuficiente para fazer o ventilador começar a girar a partir de uma parada, ou para fazer o ventilador alcançar a velocidade mais rapidamente.\n" "Defina como 0 para desativar." msgid "Time cost" @@ -11488,23 +9484,17 @@ msgstr "dinheiro/h" msgid "Support control chamber temperature" msgstr "Controlar a temperatura da câmara de suporte" -msgid "" -"This option is enabled if machine support controlling chamber temperature\n" +msgid "This option is enabled if machine support controlling chamber temperature\n" "G-code command: M141 S(0-255)" -msgstr "" -"Esta opção está habilitada se a máquina suportar o controle da temperatura " -"da câmara.\n" +msgstr "Esta opção está habilitada se a máquina suportar o controle da temperatura da câmara.\n" "Comando G-code: M141 S(0-255)" msgid "Support air filtration" msgstr "Filtragem de ar de suporte" -msgid "" -"Enable this if printer support air filtration\n" +msgid "Enable this if printer support air filtration\n" "G-code command: M106 P3 S(0-255)" -msgstr "" -"Esta opção está habilitada se a máquina suportar o controle da temperatura " -"da câmara.\n" +msgstr "Esta opção está habilitada se a máquina suportar o controle da temperatura da câmara.\n" "Comando G-code: M141 S(0-255)" msgid "G-code flavor" @@ -11525,17 +9515,8 @@ msgstr "Ative esta opção se quiser usar vários tipos de mesa" msgid "Label objects" msgstr "Etiquetar objetos" -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 " -"plugin. This settings is NOT compatible with Single Extruder Multi Material " -"setup and Wipe into Object / Wipe into Infill." -msgstr "" -"Ative isso para adicionar comentários no G-Code etiquetando movimentos de " -"impressão com a qual objeto eles pertencem, o que é útil para o plugin " -"CancelObject do Octoprint. Esta configuração NÃO é compatível com a " -"configuração de Material Múltiplo de Extrusora Única e Limpeza em Objeto / " -"Limpeza em Preenchimento." +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 plugin. This settings is NOT compatible with Single Extruder Multi Material setup and Wipe into Object / Wipe into Infill." +msgstr "Ative isso para adicionar comentários no G-Code etiquetando movimentos de impressão com a qual objeto eles pertencem, o que é útil para o plugin CancelObject do Octoprint. Esta configuração NÃO é compatível com a configuração de Material Múltiplo de Extrusora Única e Limpeza em Objeto / Limpeza em Preenchimento." msgid "Exclude objects" msgstr "Excluir objetos" @@ -11546,58 +9527,34 @@ msgstr "Ative esta opção para adicionar o comando EXCLUDE OBJECT no g-code" msgid "Verbose G-code" msgstr "G-code detalhado" -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 "" -"Ative isso para obter um arquivo G-code comentado, com cada linha explicada " -"por um texto descritivo. Se você imprimir do cartão SD, o peso adicional do " -"arquivo pode fazer com que o firmware fique mais lento." +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 "Ative isso para obter um arquivo G-code comentado, com cada linha explicada por um texto descritivo. Se você imprimir do cartão SD, o peso adicional do arquivo pode fazer com que o firmware fique mais lento." msgid "Infill combination" msgstr "Combinar preenchimento" -msgid "" -"Automatically Combine sparse infill of several layers to print together to " -"reduce time. Wall is still printed with original layer height." -msgstr "" -"Combina automaticamente o preenchimento não sólido de várias camadas para " -"imprimir juntas e reduzir o tempo. O perímetro ainda é impresso com a altura " -"original da camada." +msgid "Automatically Combine sparse infill of several layers to print together to reduce time. Wall is still printed with original layer height." +msgstr "Combina automaticamente o preenchimento não sólido de várias camadas para imprimir juntas e reduzir o tempo. O perímetro ainda é impresso com a altura original da camada." msgid "Filament to print internal sparse infill." msgstr "Filamento para imprimir preenchimento interno não sólido." -msgid "" -"Line width of internal sparse infill. If expressed as a %, it will be " -"computed over the nozzle diameter." -msgstr "" -"Largura da linha do preenchimento interno não sólido. Se expresso como %, " -"será calculado sobre o diâmetro do bico." +msgid "Line width of internal sparse infill. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Largura da linha do preenchimento interno não sólido. Se expresso como %, será calculado sobre o diâmetro do bico." msgid "Infill/Wall overlap" msgstr "Sobreposição de preenchimento/perímetro" #, 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 "" +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 "A área de preenchimento é aumentada ligeiramente para se sobrepor à parede para uma melhor ligação. O valor percentual é relativo à largura da linha do preencimento. Defina este valor como ~10-15% para minimizar uma potencial sobre extrusão e acumulo de material resultando em superfícies superiores ásperas." msgid "Top/Bottom solid infill/wall overlap" -msgstr "" +msgstr "Sobreposição Superior/Inferior de preenchimento sólido/parede" #, 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, minimising the " -"appearance of pinholes. The percentage value is relative to line width of " -"sparse infill" -msgstr "" +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, minimising the appearance of pinholes. The percentage value is relative to line width of sparse infill" +msgstr "A área de preenchimento sólido é ligeiramente alargada para se sobrepor à parede para melhor ligação e para minimizar a aparência de buracos onde o preenchimento encontra as paredes. Um valor de 25-30% é um bom ponto de partida, minimizando a aparência dos buracos. O valor percentual é relativo à largura da linha do preenchimento" msgid "Speed of internal sparse infill" msgstr "Velocidade do preenchimento" @@ -11605,40 +9562,26 @@ msgstr "Velocidade do preenchimento" msgid "Interface shells" msgstr "Paredes de interface" -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 "" -"Força a geração de perímetros sólidos entre materiais/volumes adjacentes. " -"Útil para impressões com múltiplos extrusores com materiais translúcidos ou " -"suporte solúvel manual" +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 "Força a geração de perímetros sólidos entre materiais/volumes adjacentes. Útil para impressões com múltiplos extrusores com materiais translúcidos ou suporte solúvel manual" msgid "Maximum width of a segmented region" msgstr "Largura máxima de uma região segmentada" msgid "Maximum width of a segmented region. Zero disables this feature." -msgstr "" -"Largura máxima de uma região segmentada. Zero desativa essa funcionalidade." +msgstr "Largura máxima de uma região segmentada. Zero desativa essa funcionalidade." msgid "Interlocking depth of a segmented region" msgstr "Profundidade de entrelaçamento de uma região segmentada" msgid "Interlocking depth of a segmented region. Zero disables this feature." -msgstr "" -"Profundidade de entrelaçamento de uma região segmentada. Zero desativa essa " -"funcionalidade." +msgstr "Profundidade de entrelaçamento de uma região segmentada. Zero desativa essa funcionalidade." msgid "Ironing Type" msgstr "Tipo do passar ferro" -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 "" -"Passar a ferro utiliza um pequeno fluxo para imprimir na mesma altura da " -"superfície novamente para deixá-la mais lisa. Esta configuração controla " -"qual camada está sendo passada a ferro" +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 "Passar a ferro utiliza um pequeno fluxo para imprimir na mesma altura da superfície novamente para deixá-la mais lisa. Esta configuração controla qual camada está sendo passada a ferro" msgid "No ironing" msgstr "Desativado" @@ -11661,13 +9604,8 @@ msgstr "O padrão que será usado ao passar a ferro" msgid "Ironing flow" msgstr "Fluxo do passar ferro" -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 "" -"A quantidade de material a extrudar durante o passar a ferro. Relativo ao " -"fluxo da altura normal da camada. Um valor muito alto resulta em " -"superextrusão na superfície" +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 "A quantidade de material a extrudar durante o passar a ferro. Relativo ao fluxo da altura normal da camada. Um valor muito alto resulta em superextrusão na superfície" msgid "Ironing line spacing" msgstr "Espaçamento de linha do passar ferro" @@ -11684,26 +9622,17 @@ msgstr "Velocidade de impressão das linhas do passar ferro" msgid "Ironing angle" msgstr "Ângulo do passar ferro" -msgid "" -"The angle ironing is done at. A negative number disables this function and " -"uses the default method." -msgstr "" -"O ângulo em que o passar a ferro é feito. Um número negativo desativa essa " -"função e usa o método padrão." +msgid "The angle ironing is done at. A negative number disables this function and uses the default method." +msgstr "O ângulo em que o passar a ferro é feito. Um número negativo desativa essa função e usa o método padrão." msgid "This gcode part is inserted at every layer change after lift z" -msgstr "" -"Esta parte do gcode é inserida em cada mudança de camada após levantar z" +msgstr "Esta parte do gcode é inserida em cada mudança de camada após levantar z" msgid "Supports silent mode" msgstr "Suporta modo silencioso" -msgid "" -"Whether the machine supports silent mode in which machine use lower " -"acceleration to print" -msgstr "" -"Se a máquina suporta o modo silencioso, no qual a máquina usa uma aceleração " -"mais baixa para imprimir" +msgid "Whether the machine supports silent mode in which machine use lower acceleration to print" +msgstr "Se a máquina suporta o modo silencioso, no qual a máquina usa uma aceleração mais baixa para imprimir" msgid "Emit limits to G-code" msgstr "Emitir limites para o G-code" @@ -11711,19 +9640,13 @@ msgstr "Emitir limites para o G-code" msgid "Machine limits" msgstr "Limites da máquina" -msgid "" -"If enabled, the machine limits will be emitted to G-code file.\n" +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 "" -"Se ativado, os limites da máquina serão emitidos para o arquivo de G-code.\n" +msgstr "Se ativado, os limites da máquina serão emitidos para o arquivo de G-code.\n" "Esta opção será ignorada se o tipo do G-code estiver definido para Klipper." -msgid "" -"This G-code will be used as a code for the pause print. User can insert " -"pause G-code in gcode viewer" -msgstr "" -"Este G-code será usado como um código para pausar a impressão. O usuário " -"pode inserir o G-code de pausa no visualizador de G-code" +msgid "This G-code will be used as a code for the pause print. User can insert pause G-code in gcode viewer" +msgstr "Este G-code será usado como um código para pausar a impressão. O usuário pode inserir o G-code de pausa no visualizador de G-code" msgid "This G-code will be used as a custom code" msgstr "Este G-code será usado como um código personalizado" @@ -11737,16 +9660,8 @@ msgstr "Habilitar compensação de fluxo para áreas de preenchimento pequenas" msgid "Flow Compensation Model" msgstr "Modelo de Compensação de Fluxo" -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 factors, one per line, in the following format: " -"\"1.234,5.678\"" -msgstr "" -"Modelo de Compensação de Fluxo, usado para ajustar o fluxo para áreas de " -"preenchimento pequenas. O modelo é expresso como um par de valores separados " -"por vírgula para o comprimento de extrusão e os fatores de correção de " -"fluxo, um por linha, no seguinte formato: \"1.234,5.678\"" +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 factors, one per line, in the following format: \"1.234,5.678\"" +msgstr "Modelo de Compensação de Fluxo, usado para ajustar o fluxo para áreas de preenchimento pequenas. O modelo é expresso como um par de valores separados por vírgula para o comprimento de extrusão e os fatores de correção de fluxo, um por linha, no seguinte formato: \"1.234,5.678\"" msgid "Maximum speed X" msgstr "Velocidade máxima X" @@ -11848,85 +9763,33 @@ msgid "Maximum acceleration for travel" msgstr "Aceleração máxima para deslocamento" msgid "Maximum acceleration for travel (M204 T), it only applies to Marlin 2" -msgstr "" -"Aceleração máxima para deslocamento (M204 T), aplica-se apenas ao Marlin 2" +msgstr "Aceleração máxima para deslocamento (M204 T), aplica-se apenas ao Marlin 2" -msgid "" -"Part cooling fan speed may be increased when auto cooling is enabled. This " -"is the maximum speed limitation of part cooling fan" -msgstr "" -"A velocidade do ventilador de resfriamento da peça pode ser aumentada quando " -"o resfriamento automático está habilitado. Este é o limite máximo de " -"velocidade do ventilador de resfriamento da peça" +msgid "Part cooling fan speed may be increased when auto cooling is enabled. This is the maximum speed limitation of part cooling fan" +msgstr "A velocidade do ventilador de resfriamento da peça pode ser aumentada quando o resfriamento automático está habilitado. Este é o limite máximo de velocidade do ventilador de resfriamento da peça" msgid "Max" msgstr "Máx" -msgid "" -"The largest printable layer height for extruder. Used tp limits the maximum " -"layer hight when enable adaptive layer height" -msgstr "" -"A maior altura de camada imprimível para o extrusor. Usado para limitar a " -"altura máxima da camada quando a altura da camada adaptativa está ativada" +msgid "The largest printable layer height for extruder. Used tp limits the maximum layer hight when enable adaptive layer height" +msgstr "A maior altura de camada imprimível para o extrusor. Usado para limitar a altura máxima da camada quando a altura da camada adaptativa está ativada" msgid "Extrusion rate smoothing" msgstr "Suavização da extrusão" -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 mm3/sec " -"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-350mm3/s2 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-15mm3/s2 is a good starting point for direct drive " -"extruders and 5-10mm3/s2 for Bowden style. \n" -"\n" -"This feature is known as Pressure Equalizer in Prusa slicer.\n" -"\n" +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 mm3/sec 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-350mm3/s2 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-15mm3/s2 is a good starting point for direct drive extruders and 5-10mm3/s2 for Bowden style. \n\n" +"This feature is known as Pressure Equalizer in Prusa slicer.\n\n" "Note: this parameter disables arc fitting." -msgstr "" -"Este parâmetro suaviza as mudanças súbitas na taxa de extrusão que ocorrem " -"quando a impressora faz a transição de uma extrusão de alto fluxo (alta " -"velocidade/maior largura) para uma extrusão de baixo fluxo (baixa velocidade/" -"menor largura) e vice-versa.\n" -"\n" -"Define a taxa máxima pela qual o fluxo volumétrico extrudado em mm3/seg pode " -"mudar ao longo do tempo. Valores mais altos significam que mudanças de taxa " -"de extrusão mais altas são permitidas, resultando em transições de " -"velocidade mais rápidas.\n" -"\n" -"Um valor de 0 desativa o recurso.\n" -"\n" -"Para uma impressora de acionamento direto de alta velocidade e alto fluxo " -"(como a Bambu lab ou Voron), esse valor geralmente não é necessário. No " -"entanto, pode fornecer alguns benefícios marginais em certos casos em que as " -"velocidades das características variam muito. Por exemplo, quando há " -"desacelerações agressivas devido a overhangs. Nesses casos, um valor alto de " -"cerca de 300-350mm3/s2 é recomendado, pois isso permite apenas suavização " -"suficiente para ajudar o Pressure advance a alcançar uma transição de fluxo " -"mais suave.\n" -"\n" -"Para impressoras mais lentas sem Pressure advance, o valor deve ser definido " -"muito mais baixo. Um valor de 10-15mm3/s2 é um bom ponto de partida para " -"extrusoras de acionamento direto e 5-10mm3/s2 para estilo Bowden.\n" -"\n" -"Este recurso é conhecido como Equalizador de Pressão no slicer Prusa.\n" -"\n" +msgstr "Este parâmetro suaviza as mudanças súbitas na taxa de extrusão que ocorrem quando a impressora faz a transição de uma extrusão de alto fluxo (alta velocidade/maior largura) para uma extrusão de baixo fluxo (baixa velocidade/menor largura) e vice-versa.\n\n" +"Define a taxa máxima pela qual o fluxo volumétrico extrudado em mm3/seg pode mudar ao longo do tempo. Valores mais altos significam que mudanças de taxa de extrusão mais altas são permitidas, resultando em transições de velocidade mais rápidas.\n\n" +"Um valor de 0 desativa o recurso.\n\n" +"Para uma impressora de acionamento direto de alta velocidade e alto fluxo (como a Bambu lab ou Voron), esse valor geralmente não é necessário. No entanto, pode fornecer alguns benefícios marginais em certos casos em que as velocidades das características variam muito. Por exemplo, quando há desacelerações agressivas devido a overhangs. Nesses casos, um valor alto de cerca de 300-350mm3/s2 é recomendado, pois isso permite apenas suavização suficiente para ajudar o Pressure advance a alcançar uma transição de fluxo mais suave.\n\n" +"Para impressoras mais lentas sem Pressure advance, o valor deve ser definido muito mais baixo. Um valor de 10-15mm3/s2 é um bom ponto de partida para extrusoras de acionamento direto e 5-10mm3/s2 para estilo Bowden.\n\n" +"Este recurso é conhecido como Equalizador de Pressão no slicer Prusa.\n\n" "Nota: este parâmetro desativa o ajuste de arco." msgid "mm³/s²" @@ -11935,64 +9798,32 @@ msgstr "mm3/s2" msgid "Smoothing segment length" msgstr "Distancia do segmento de suavização" -msgid "" -"A lower value results in smoother extrusion rate transitions. However, this " -"results in a significantly larger gcode 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" +msgid "A lower value results in smoother extrusion rate transitions. However, this results in a significantly larger gcode 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: 1-5" -msgstr "" -"Um valor menor resulta em transições de extrusão mais suaves. No entanto, " -"isso resulta em um arquivo Gcode significativamente maior e mais instruções " -"para a impressora processar.\n" -"\n" -"O valor padrão de 3 funciona bem para a maioria dos casos. Se sua impressora " -"estiver engasgando, aumente este valor para reduzir o número de ajustes " -"feitos.\n" -"\n" +msgstr "Um valor menor resulta em transições de extrusão mais suaves. No entanto, isso resulta em um arquivo Gcode significativamente maior e mais instruções para a impressora processar.\n\n" +"O valor padrão de 3 funciona bem para a maioria dos casos. Se sua impressora estiver engasgando, aumente este valor para reduzir o número de ajustes feitos.\n\n" "Valores permitidos: 1-5" msgid "Minimum speed for part cooling fan" msgstr "Velocidade mínima para o ventilador de resfriamento da peça" -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 "" -"Velocidade do ventilador auxiliar de resfriamento de peças. O ventilador " -"auxiliar funcionará nesta velocidade durante a impressão, exceto nas " -"primeiras camadas, que são definidas por camadas sem resfriamento.\n" -"\n" -"Por favor, habilite o ventilador auxiliar nas configurações da impressora " -"para usar esta função. Comando G-code: M106 P2 S(0-255)" +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 "Velocidade do ventilador auxiliar de resfriamento de peças. O ventilador auxiliar funcionará nesta velocidade durante a impressão, exceto nas primeiras camadas, que são definidas por camadas sem resfriamento.\n\n" +"Por favor, habilite o ventilador auxiliar nas configurações da impressora para usar esta função. Comando G-code: M106 P2 S(0-255)" msgid "Min" msgstr "Mín" -msgid "" -"The lowest printable layer height for extruder. Used tp limits the minimum " -"layer hight when enable adaptive layer height" -msgstr "" -"A menor altura de camada imprimível para o extrusor. Usado para limitar a " -"altura mínima da camada ao habilitar a altura de camada adaptativa" +msgid "The lowest printable layer height for extruder. Used tp limits the minimum layer hight when enable adaptive layer height" +msgstr "A menor altura de camada imprimível para o extrusor. Usado para limitar a altura mínima da camada ao habilitar a altura de camada adaptativa" msgid "Min print speed" msgstr "Velocidade de impressão mínima" -msgid "" -"The minimum printing speed that the printer will slow down to to attempt to " -"maintain the minimum layer time above, when slow down for better layer " -"cooling is enabled." -msgstr "" -"A velocidade de impressão mínima para a qual a impressora diminuirá a " -"velocidade para tentar manter o tempo mínimo de camada acima, quando a " -"desaceleração para um melhor resfriamento da camada estiver habilitada." +msgid "The minimum printing speed that the printer will slow down to to attempt to maintain the minimum layer time above, when slow down for better layer cooling is enabled." +msgstr "A velocidade de impressão mínima para a qual a impressora diminuirá a velocidade para tentar manter o tempo mínimo de camada acima, quando a desaceleração para um melhor resfriamento da camada estiver habilitada." msgid "Nozzle diameter" msgstr "Diâmetro do bico" @@ -12003,22 +9834,14 @@ msgstr "Diâmetro do bico" msgid "Configuration notes" msgstr "Notas de configuração" -msgid "" -"You can put here your personal notes. This text will be added to the G-code " -"header comments." -msgstr "" -"Você pode colocar aqui suas notas pessoais. Este texto será adicionado aos " -"comentários do cabeçalho do G-code." +msgid "You can put here your personal notes. This text will be added to the G-code header comments." +msgstr "Você pode colocar aqui suas notas pessoais. Este texto será adicionado aos comentários do cabeçalho do G-code." msgid "Host Type" msgstr "Tipo de Host" -msgid "" -"Orca Slicer can upload G-code files to a printer host. This field must " -"contain the kind of the host." -msgstr "" -"O Orca Slicer pode carregar arquivos de código G para um hospedeiro de " -"impressora. Este campo deve conter o tipo de hospedeiro." +msgid "Orca Slicer can upload G-code files to a printer host. This field must contain the kind of the host." +msgstr "O Orca Slicer pode carregar arquivos de código G para um hospedeiro de impressora. Este campo deve conter o tipo de hospedeiro." msgid "Nozzle volume" msgstr "Volume do bico" @@ -12030,74 +9853,43 @@ msgid "Cooling tube position" msgstr "Posição do tubo de resfriamento" msgid "Distance of the center-point of the cooling tube from the extruder tip." -msgstr "" -"Distância do ponto central do tubo de resfriamento da ponta do extrusor." +msgstr "Distância do ponto central do tubo de resfriamento da ponta do extrusor." msgid "Cooling tube length" msgstr "Comprimento do tubo de resfriamento" msgid "Length of the cooling tube to limit space for cooling moves inside it." -msgstr "" -"Comprimento do tubo de resfriamento para limitar o espaço para movimentos de " -"resfriamento dentro dele." +msgstr "Comprimento do tubo de resfriamento para limitar o espaço para movimentos de resfriamento dentro dele." msgid "High extruder current on filament swap" msgstr "Corrente do extrusor alta na troca de filamento" -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 "" -"Pode ser benéfico aumentar a corrente do motor do extrusor durante a " -"sequência de troca de filamento para permitir taxas de avanço rápidas e para " -"superar a resistência ao carregar um filamento com uma ponta com forma " -"desagradável." +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 "Pode ser benéfico aumentar a corrente do motor do extrusor durante a sequência de troca de filamento para permitir taxas de avanço rápidas e para superar a resistência ao carregar um filamento com uma ponta com forma desagradável." msgid "Filament parking position" msgstr "Posição de estacionamento do filamento" -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 "" -"Distância da ponta do extrusor da posição onde o filamento é estacionado " -"quando descarregado. Isso deve corresponder ao valor no firmware da " -"impressora." +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 "Distância da ponta do extrusor da posição onde o filamento é estacionado quando descarregado. Isso deve corresponder ao valor no firmware da impressora." msgid "Extra loading distance" msgstr "Distância de carregamento extra" -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 "" -"Quando definido como zero, a distância que o filamento é movido da posição " -"de estacionamento durante o carregamento é exatamente a mesma que foi movida " -"durante o descarregamento. Quando positivo, é carregado mais longe, se " -"negativo, o movimento de carregamento é mais curto do que o descarregamento." +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 "Quando definido como zero, a distância que o filamento é movido da posição de estacionamento durante o carregamento é exatamente a mesma que foi movida durante o descarregamento. Quando positivo, é carregado mais longe, se negativo, o movimento de carregamento é mais curto do que o descarregamento." msgid "Start end points" msgstr "Pontos de início e fim" msgid "The start and end points which is from cutter area to garbage can." -msgstr "" -"Os pontos de início e fim que vão da área do cortador até a lata de lixo." +msgstr "Os pontos de início e fim que vão da área do cortador até a lata de lixo." msgid "Reduce infill retraction" msgstr "Reduzir retração durante o preenchimento" -msgid "" -"Don't retract when the travel is in infill area absolutely. 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" -msgstr "" -"Não retrair quando o movimento está na área de preenchimento completamente. " -"Isso significa que o vazamento não pode ser visto. Isso pode reduzir o " -"número de retratações para modelos complexos e economizar tempo de " -"impressão, mas torna a geração de fatiamento e G-code mais lenta" +msgid "Don't retract when the travel is in infill area absolutely. 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" +msgstr "Não retrair quando o movimento está na área de preenchimento completamente. Isso significa que o vazamento não pode ser visto. Isso pode reduzir o número de retratações para modelos complexos e economizar tempo de impressão, mas torna a geração de fatiamento e G-code mais lenta" msgid "Filename format" msgstr "Formato do nome do arquivo" @@ -12114,24 +9906,14 @@ msgstr "Modifica a geometria para imprimir overhangs sem suporte." msgid "Make overhangs printable - Maximum angle" msgstr "Overhangs imprimíveis - ângulo máx" -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 "" -"Ângulo máximo do overhang permitido antes de fazer ângulos mais íngremes " -"imprimíveis. 90° não vai fazer nenhuma mudança no modelo e vai permitir " -"qualquer overhang. 0 vai substituir todos overhangs por uma forma cônica." +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 "Ângulo máximo do overhang permitido antes de fazer ângulos mais íngremes imprimíveis. 90° não vai fazer nenhuma mudança no modelo e vai permitir qualquer overhang. 0 vai substituir todos overhangs por uma forma cônica." msgid "Make overhangs printable - Hole area" msgstr "Overhangs imprimíveis - área do furo" -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 "" -"Área maxima de um furo na base do modelo antes que ele seja preenchido por " -"uma forma cônica. Um valor 0 irá preencher todos os furos do modelo." +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 "Área maxima de um furo na base do modelo antes que ele seja preenchido por uma forma cônica. Um valor 0 irá preencher todos os furos do modelo." msgid "mm²" msgstr "mm2" @@ -12139,21 +9921,12 @@ msgstr "mm2" msgid "Detect overhang wall" msgstr "Detectar overhangs" -#, c-format, 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 "" -"Detecta a porcentagem relativa de overhang em relação a largura do perímetro " -"e usa uma velocidade diferente de impressão. Para overhangs 100%%, a " -"velocidade de ponte é usada." +#, 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 "Detecta a porcentagem relativa de overhang em relação a largura do perímetro e usa uma velocidade diferente de impressão. Para overhangs 100%%, a velocidade de ponte é usada." -msgid "" -"Line width of inner wall. If expressed as a %, it will be computed over the " -"nozzle diameter." -msgstr "" -"Largura do perímetro interno. Se expressado como %, será computado de acordo " -"com o diâmetro do bico." +msgid "Line width of inner wall. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Largura do perímetro interno. Se expressado como %, será computado de acordo com o diâmetro do bico." msgid "Speed of inner wall" msgstr "Velocidade do perímetro interno" @@ -12164,38 +9937,15 @@ msgstr "Número de perímetros em cada camada" msgid "Alternate extra wall" msgstr "Parede extra alternada" -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 "" -"Esta configuração adiciona um perímetro extra a cada duas camadas. Dessa " -"forma, o preenchimento fica encaixado verticalmente entre as paredes, " -"resultando em impressões mais resistentes. \n" -"\n" -"Quando esta opção está ativada, a opção de garantir a espessura vertical do " -"perímetro precisa ser desativada. \n" -"\n" -"Não é recomendado usar o preenchimento rápido juntamente com esta opção, " -"pois há preenchimento limitado para ancorar os perímetros extras." +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 "Esta configuração adiciona um perímetro extra a cada duas camadas. Dessa forma, o preenchimento fica encaixado verticalmente entre as paredes, resultando em impressões mais resistentes. \n\n" +"Quando esta opção está ativada, a opção de garantir a espessura vertical do perímetro precisa ser desativada. \n\n" +"Não é recomendado usar o preenchimento rápido juntamente com esta opção, pois há preenchimento limitado para ancorar os perímetros extras." -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 "" -"Se você deseja processar o G-code de saída por meio de scripts " -"personalizados, basta listar seus caminhos absolutos aqui. Separe vários " -"scripts com um ponto e vírgula. Os scripts receberão o caminho absoluto para " -"o arquivo G-code como primeiro argumento, e eles podem acessar as " -"configurações do Orca Slicer lendo variáveis de ambiente." +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 "Se você deseja processar o G-code de saída por meio de scripts personalizados, basta listar seus caminhos absolutos aqui. Separe vários scripts com um ponto e vírgula. Os scripts receberão o caminho absoluto para o arquivo G-code como primeiro argumento, e eles podem acessar as configurações do Orca Slicer lendo variáveis de ambiente." msgid "Printer notes" msgstr "Notas da impressora" @@ -12225,47 +9975,28 @@ msgid "Initial layer expansion" msgstr "Expansão da primeira camada" msgid "Expand the first raft or support layer to improve bed plate adhesion" -msgstr "" -"Expanda a primeira camada da base ou suporte para melhorar a adesão à mesa " -"de impressão" +msgstr "Expanda a primeira camada da base ou suporte para melhorar a adesão à mesa de impressão" msgid "Raft layers" msgstr "Camadas da base" -msgid "" -"Object will be raised by this number of support layers. Use this function to " -"avoid wrapping when print ABS" -msgstr "" -"O objeto será elevado por este número de camadas de suporte. Use esta função " -"para evitar o enrugamento ao imprimir ABS" +msgid "Object will be raised by this number of support layers. Use this function to avoid wrapping when print ABS" +msgstr "O objeto será elevado por este número de camadas de suporte. Use esta função para evitar o enrugamento ao imprimir ABS" -msgid "" -"G-code path is genereated after simplifing the contour of model to avoid too " -"much points and gcode lines in gcode file. Smaller value means higher " -"resolution and more time to slice" -msgstr "" -"O caminho do G-code é gerado após simplificar o contorno do modelo para " -"evitar muitos pontos e linhas de código G no arquivo de código G. Um valor " -"menor significa maior resolução e mais tempo para fatiar" +msgid "G-code path is genereated after simplifing the contour of model to avoid too much points and gcode lines in gcode file. Smaller value means higher resolution and more time to slice" +msgstr "O caminho do G-code é gerado após simplificar o contorno do modelo para evitar muitos pontos e linhas de código G no arquivo de código G. Um valor menor significa maior resolução e mais tempo para fatiar" msgid "Travel distance threshold" msgstr "Limiar de distância de deslocamento" -msgid "" -"Only trigger retraction when the travel distance is longer than this " -"threshold" -msgstr "" -"Disparar a retração somente quando a distância da deslocamento for maior que " -"este limite" +msgid "Only trigger retraction when the travel distance is longer than this threshold" +msgstr "Disparar a retração somente quando a distância da deslocamento for maior que este limite" msgid "Retract amount before wipe" msgstr "Quantidade de retração antes da limpeza" -msgid "" -"The length of fast retraction before wipe, relative to retraction length" -msgstr "" -"O comprimento da retração rápida antes da limpeza, em relação ao comprimento " -"da retração" +msgid "The length of fast retraction before wipe, relative to retraction length" +msgstr "O comprimento da retração rápida antes da limpeza, em relação ao comprimento da retração" msgid "Retract when change layer" msgstr "Retrair ao mudar de camada" @@ -12276,68 +10007,38 @@ msgstr "Forçar uma retração ao mudar de camada" msgid "Retraction Length" msgstr "Distância de retração" -msgid "" -"Some amount of material in extruder is pulled back to avoid ooze during long " -"travel. Set zero to disable retraction" -msgstr "" -"Alguma quantidade de material no extrusor é puxada para trás para evitar " -"oozing durante viagens longas. Defina zero para desativar a retração" +msgid "Some amount of material in extruder is pulled back to avoid ooze during long travel. Set zero to disable retraction" +msgstr "Alguma quantidade de material no extrusor é puxada para trás para evitar oozing durante viagens longas. Defina zero para desativar a retração" msgid "Long retraction when cut(experimental)" msgstr "Retração longa quando cortado(experimental)" -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 "" -"Recurso experimental. Retrair e cortar o filamento a uma distância mais " -"longa durante mudanças para minimizar a purgação. Isto reduz " -"significativamente o destaque, pode também aumentar o risco de bolhas no " -"bico ou de outros problemas de impressão." +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 "Recurso experimental: Retrair e cortar o filamento a uma distância maior durante as trocas para minimizar a limpeza. Embora isso reduza significativamente a limpeza, também pode aumentar o risco de obstruções no bico ou outros problemas de impressão." msgid "Retraction distance when cut" msgstr "Distância de retração ao cortar" -msgid "" -"Experimental feature.Retraction length before cutting off during filament " -"change" -msgstr "" -"Funcionalidade experimental. Comprimento de retração antes de cortar durante " -"a mudança de filamento" +msgid "Experimental feature.Retraction length before cutting off during filament change" +msgstr "Funcionalidade experimental. Comprimento de retração antes de cortar durante a mudança de filamento" msgid "Z hop when retract" msgstr "Z hop ao retrair" -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 line to lift z can prevent stringing" -msgstr "" -"Sempre que a retração é feita, o bico é levantado um pouco para criar folga " -"entre o bico e a impressão. Isso evita que o bico atinja a impressão ao se " -"mover. Usar linha espiral para levantar z pode evitar stringing" +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 line to lift z can prevent stringing" +msgstr "Sempre que a retração é feita, o bico é levantado um pouco para criar folga entre o bico e a impressão. Isso evita que o bico atinja a impressão ao se mover. Usar linha espiral para levantar z pode evitar stringing" msgid "Z hop lower boundary" msgstr "Limite inferior do 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 "" -"O Z hop só entrará em vigor quando Z estiver acima deste valor e abaixo do " -"parâmetro: \"Limite superior do 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 "O Z hop só entrará em vigor quando Z estiver acima deste valor e abaixo do parâmetro: \"Limite superior do Z hop\"" msgid "Z hop upper boundary" msgstr "Limite superior do 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 "" -"Se este valor for positivo, o Z hop só entrará em vigor quando Z estiver " -"acima do parâmetro: \"Limite inferior do Z hop\" e abaixo deste valor" +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 "Se este valor for positivo, o Z hop só entrará em vigor quando Z estiver acima do parâmetro: \"Limite inferior do Z hop\" e abaixo deste valor" msgid "Z hop type" msgstr "Tipo de Z hop" @@ -12351,32 +10052,20 @@ msgstr "Espiral" msgid "Only lift Z above" msgstr "Elevar Z apenas acima de" -msgid "" -"If you set this to a positive value, Z lift will only take place above the " -"specified absolute Z." -msgstr "" -"Se você definir isso como um valor positivo, a elevação de Z só ocorrerá " -"acima do Z absoluto especificado." +msgid "If you set this to a positive value, Z lift will only take place above the specified absolute Z." +msgstr "Se você definir isso como um valor positivo, a elevação de Z só ocorrerá acima do Z absoluto especificado." msgid "Only lift Z below" msgstr "Elevar Z apenas abaixo de" -msgid "" -"If you set this to a positive value, Z lift will only take place below the " -"specified absolute Z." -msgstr "" -"Se você definir isso como um valor positivo, a elevação de Z só ocorrerá " -"abaixo do Z absoluto especificado." +msgid "If you set this to a positive value, Z lift will only take place below the specified absolute Z." +msgstr "Se você definir isso como um valor positivo, a elevação de Z só ocorrerá abaixo do Z absoluto especificado." msgid "On surfaces" msgstr "Nas superfícies" -msgid "" -"Enforce Z Hop behavior. This setting is impacted by the above settings (Only " -"lift Z above/below)." -msgstr "" -"Forçar Z Hop. Essa configuração é impactada pelas configurações acima " -"(Somente elevar Z acima/abaixo)" +msgid "Enforce Z Hop behavior. This setting is impacted by the above settings (Only lift Z above/below)." +msgstr "Forçar Z Hop. Essa configuração é impactada pelas configurações acima (Somente elevar Z acima/abaixo)" msgid "All Surfaces" msgstr "Todas as superfícies" @@ -12393,20 +10082,11 @@ msgstr "Parte superior e inferior" msgid "Extra length on restart" msgstr "Comprimento extra na reinicialização" -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 "" -"Quando a retração é compensada após o movimento de deslocamento, o extrusor " -"empurrará essa quantidade adicional de filamento. Esta configuração é " -"raramente necessária." +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 "Quando a retração é compensada após o movimento de deslocamento, o extrusor empurrará essa quantidade adicional de filamento. Esta configuração é raramente necessária." -msgid "" -"When the retraction is compensated after changing tool, the extruder will " -"push this additional amount of filament." -msgstr "" -"Quando a retração é compensada após a troca de ferramenta, o extrusor " -"empurrará essa quantidade adicional de filamento." +msgid "When the retraction is compensated after changing tool, the extruder will push this additional amount of filament." +msgstr "Quando a retração é compensada após a troca de ferramenta, o extrusor empurrará essa quantidade adicional de filamento." msgid "Retraction Speed" msgstr "Velocidade de retração" @@ -12417,23 +10097,14 @@ msgstr "Velocidade das retratações" msgid "Deretraction Speed" msgstr "Velocidade de desretração" -msgid "" -"Speed for reloading filament into extruder. Zero means same speed with " -"retraction" -msgstr "" -"Velocidade para recarregar o filamento no extrusor. Zero significa mesma " -"velocidade de retração" +msgid "Speed for reloading filament into extruder. Zero means same speed with retraction" +msgstr "Velocidade para recarregar o filamento no extrusor. Zero significa mesma velocidade de retração" msgid "Use firmware retraction" msgstr "Usar retração de firmware" -msgid "" -"This experimental setting uses G10 and G11 commands to have the firmware " -"handle the retraction. This is only supported in recent Marlin." -msgstr "" -"Esta configuração experimental usa os comandos G10 e G11 para fazer com que " -"o firmware gerencie a retração. Isso é suportado apenas no Marlin mais " -"recente." +msgid "This experimental setting uses G10 and G11 commands to have the firmware handle the retraction. This is only supported in recent Marlin." +msgstr "Esta configuração experimental usa os comandos G10 e G11 para fazer com que o firmware gerencie a retração. Isso é suportado apenas no Marlin mais recente." msgid "Show auto-calibration marks" msgstr "Mostrar marcas de autocalibração automática" @@ -12441,11 +10112,8 @@ msgstr "Mostrar marcas de autocalibração automática" msgid "Disable set remaining print time" msgstr "Desabilitar definir tempo de impressão restante" -msgid "" -"Disable generating of the M73: Set remaining print time in the final gcode" -msgstr "" -"Desativar a geração do M73: Definir tempo restante de impressão no código " -"final" +msgid "Disable generating of the M73: Set remaining print time in the final gcode" +msgstr "Desativar a geração do M73: Definir tempo restante de impressão no código final" msgid "Seam position" msgstr "Posição da costura" @@ -12468,100 +10136,49 @@ msgstr "Aleatório" msgid "Staggered inner seams" msgstr "Costuras internas escalonadas" -msgid "" -"This option causes the inner seams to be shifted backwards based on their " -"depth, forming a zigzag pattern." -msgstr "" -"Esta opção faz com que as costuras internas sejam deslocadas para trás com " -"base em sua profundidade, formando um padrão de zigue-zague." +msgid "This option causes the inner seams to be shifted backwards based on their depth, forming a zigzag pattern." +msgstr "Esta opção faz com que as costuras internas sejam deslocadas para trás com base em sua profundidade, formando um padrão de zigue-zague." msgid "Seam gap" msgstr "Espaço entre costuras" -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 "" -"Para reduzir a visibilidade da costura em uma extrusão de loop fechado, o " -"loop é interrompido e encurtado por uma quantidade especificada.\n" -"Esta quantidade pode ser especificada em milímetros ou como uma porcentagem " -"do diâmetro atual do extrusor. O valor padrão para este parâmetro é 10%." +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 "Para reduzir a visibilidade da costura em uma extrusão de loop fechado, o loop é interrompido e encurtado por uma quantidade especificada.\n" +"Esta quantidade pode ser especificada em milímetros ou como uma porcentagem do diâmetro atual do extrusor. O valor padrão para este parâmetro é 10%." msgid "Scarf joint seam (beta)" msgstr "Junta Scarf (beta)" msgid "Use scarf joint to minimize seam visibility and increase seam strength." -msgstr "" -"Use a junta Scarf para minimizar a visibilidade da costura e aumentar a " -"resistência da costura." +msgstr "Use a junta Scarf para minimizar a visibilidade da costura e aumentar a resistência da costura." msgid "Conditional scarf joint" msgstr "Junta Scarf condicional" -msgid "" -"Apply scarf joints only to smooth perimeters where traditional seams do not " -"conceal the seams at sharp corners effectively." -msgstr "" -"Aplique juntas Scarf apenas em perímetros suaves onde costuras tradicionais " -"não escondem as costuras em cantos agudos de forma eficaz." +msgid "Apply scarf joints only to smooth perimeters where traditional seams do not conceal the seams at sharp corners effectively." +msgstr "Aplique juntas Scarf apenas em perímetros suaves onde costuras tradicionais não escondem as costuras em cantos agudos de forma eficaz." msgid "Conditional angle threshold" msgstr "Ângulo condicional" -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 "" -"Esta opção define o ângulo limite para aplicar uma costura de junta de " -"cachecol condicional.\n" -"Se o ângulo máximo dentro do loop do perímetro exceder esse valor (indicando " -"a ausência de cantos afiados), será usada uma costura de junta Scarf. O " -"valor padrão é 155°." +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 "Esta opção define o ângulo limite para aplicar uma costura de junta de cachecol condicional.\n" +"Se o ângulo máximo dentro do loop do perímetro exceder esse valor (indicando a ausência de cantos afiados), será usada uma costura de junta Scarf. O valor padrão é 155°." msgid "Conditional overhang threshold" msgstr "Overhang condicional" #, 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 "" -"Esta opção determina o limiar de inclinação para a aplicação de juntas " -"Scarf. Se a parte sem suporte do perímetro for inferior a esse limite, as " -"juntas Scarf serão aplicadas. O limite padrão é definido em 40% da largura " -"do perímetro externo. Devido a considerações de desempenho, o grau de " -"inclinação é estimado." +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 "Esta opção determina o limiar de inclinação para a aplicação de juntas Scarf. Se a parte sem suporte do perímetro for inferior a esse limite, as juntas Scarf serão aplicadas. O limite padrão é definido em 40% da largura do perímetro externo. Devido a considerações de desempenho, o grau de inclinação é estimado." msgid "Scarf joint speed" msgstr "Velocidade da junta Scarf" -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 "" -"Esta opção define a velocidade de impressão para as juntas Scarf. É " -"recomendável imprimir as juntas Scarf em uma velocidade baixa (menor que 100 " -"mm/s). Também é aconselhável habilitar 'Suavização da taxa de extrusão' se a " -"velocidade definida variar significativamente da velocidade das paredes " -"externas ou internas. Se a velocidade especificada aqui for maior que a " -"velocidade das paredes externas ou internas, a impressora utilizará a mais " -"lenta das duas velocidades. Quando especificado como uma porcentagem (por " -"exemplo, 80%), a velocidade é calculada com base na velocidade do perímetro " -"externo ou interna respectiva. O valor padrão é definido como 100%." +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 "Esta opção define a velocidade de impressão para as juntas Scarf. É recomendável imprimir as juntas Scarf em uma velocidade baixa (menor que 100 mm/s). Também é aconselhável habilitar 'Suavização da taxa de extrusão' se a velocidade definida variar significativamente da velocidade das paredes externas ou internas. Se a velocidade especificada aqui for maior que a velocidade das paredes externas ou internas, a impressora utilizará a mais lenta das duas velocidades. Quando especificado como uma porcentagem (por exemplo, 80%), a velocidade é calculada com base na velocidade do perímetro externo ou interna respectiva. O valor padrão é definido como 100%." msgid "Scarf joint flow ratio" msgstr "Fluxo da junta Scarf" @@ -12572,14 +10189,10 @@ msgstr "Este fator afeta a quantidade de material para as juntas Scarf." msgid "Scarf start height" msgstr "Altura inicial da junta Scarf" -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 "" -"Altura inicial da junta Scarf.\n" -"Esta quantidade pode ser especificada em milímetros ou como uma porcentagem " -"da altura atual da camada. O valor padrão para este parâmetro é 0." +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 "Altura inicial da junta Scarf.\n" +"Esta quantidade pode ser especificada em milímetros ou como uma porcentagem da altura atual da camada. O valor padrão para este parâmetro é 0." msgid "Scarf around entire wall" msgstr "Junta Scarf em todo o perímetro" @@ -12590,12 +10203,8 @@ msgstr "A junta Scarf se estende por todo o comprimento do perímetro." msgid "Scarf length" msgstr "Comprimento da junta Scarf" -msgid "" -"Length of the scarf. Setting this parameter to zero effectively disables the " -"scarf." -msgstr "" -"Comprimento da junta Scarf. Definir este parâmetro como zero efetivamente " -"desabilita a junta Scarf." +msgid "Length of the scarf. Setting this parameter to zero effectively disables the scarf." +msgstr "Comprimento da junta Scarf. Definir este parâmetro como zero efetivamente desabilita a junta Scarf." msgid "Scarf steps" msgstr "Passos da junta Scarf" @@ -12612,64 +10221,28 @@ msgstr "Usar junta Scarf em paredes internas também." msgid "Role base wipe speed" msgstr "Velocidade de limpeza baseada no tipo de extrusão" -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 "" -"A velocidade de limpeza é determinada pela velocidade do tipo de extrusão " -"atual. Por exemplo, se uma ação de limpeza for executada imediatamente após " -"uma extrusão de perímetro externo, a velocidade da extrusão do perímetro " -"externo será utilizada para a ação de limpeza." +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 "A velocidade de limpeza é determinada pela velocidade do tipo de extrusão atual. Por exemplo, se uma ação de limpeza for executada imediatamente após uma extrusão de perímetro externo, a velocidade da extrusão do perímetro externo será utilizada para a ação de limpeza." msgid "Wipe on loops" msgstr "Limpeza em loops" -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 "" -"Para minimizar a visibilidade da costura em uma extrusão de loop fechado, é " -"executado um pequeno movimento para dentro antes que o extrusor saia do loop." +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 "Para minimizar a visibilidade da costura em uma extrusão de loop fechado, é executado um pequeno movimento para dentro antes que o extrusor saia do loop." msgid "Wipe before external loop" msgstr "Limpeza antes do loop externo" -msgid "" -"To minimise visibility of potential overextrusion at the start of an " -"external perimeter when printing with Outer/Inner or Inner/Outer/Inner wall " -"print order, the deretraction 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 deretraction move." -msgstr "" -"Para minimizar a visibilidade de sobreextrusão potencial no início de um " -"perímetro externo ao imprimir com a ordem de impressão de perímetro Externo/" -"Interno ou Interno/Externo/Interno, a desretração é executada ligeiramente " -"no interior a partir do início do perímetro externo. Dessa forma, qualquer " -"sobreextrusão potencial é ocultada da superfície externa. \n" -"\n" -"Isso é útil ao imprimir com a ordem de impressão de perímetro Externa/" -"Interna ou Interna/Externa/Interna, pois nesses modos é mais provável que um " -"perímetro externo seja impresso imediatamente após um movimento de " -"desretração." +msgid "To minimise visibility of potential overextrusion at the start of an external perimeter when printing with Outer/Inner or Inner/Outer/Inner wall print order, the deretraction 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 deretraction move." +msgstr "Para minimizar a visibilidade de sobreextrusão potencial no início de um perímetro externo ao imprimir com a ordem de impressão de perímetro Externo/Interno ou Interno/Externo/Interno, a desretração é executada ligeiramente no interior a partir do início do perímetro externo. Dessa forma, qualquer sobreextrusão potencial é ocultada da superfície externa. \n\n" +"Isso é útil ao imprimir com a ordem de impressão de perímetro Externa/Interna ou Interna/Externa/Interna, pois nesses modos é mais provável que um perímetro externo seja impresso imediatamente após um movimento de desretração." msgid "Wipe speed" msgstr "Velocidade de limpeza" -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 "" -"A velocidade de limpeza é determinada pela velocidade especificada nesta " -"configuração. Se o valor for expresso como uma porcentagem (por exemplo, " -"80%), será calculado com base na configuração de velocidade de deslocamento " -"acima. O valor padrão para este parâmetro é 80%" +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 "A velocidade de limpeza é determinada pela velocidade especificada nesta configuração. Se o valor for expresso como uma porcentagem (por exemplo, 80%), será calculado com base na configuração de velocidade de deslocamento acima. O valor padrão para este parâmetro é 80%" msgid "Skirt distance" msgstr "Distância da saia" @@ -12684,27 +10257,24 @@ msgid "How many layers of skirt. Usually only one layer" msgstr "Quantas camadas de saia. Geralmente apenas uma camada" msgid "Draft shield" -msgstr "Escudo de proteção" +msgstr "Escudo" -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" +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" "Options:\n" "Enabled = skirt is as tall as the highest printed object.\n" -"Limited = skirt is as tall as specified by skirt height.\n" -"\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 "" +"Limited = skirt is as tall as specified by skirt height.\n\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 "Um escudo é útil para proteger uma impressão ABS ou ASA de empenamento e de se descolar da mesa de impressão devido à corrrentes de ar. Normalmente, só é necessária com impressoras abertas, ou seja, sem câmara fechada. \n\n" +"Opções:\n" +"Ativado = saia tem a mesma altura que o maior objeto a ser impresso.\n" +"Limitado = saia tem altura especificada pela altura de saia.\n\n" +"Nota: Com o escudo ativo, a saia será impressa na distância de saia do objeto. Portanto, se bordas estiverem ativas, pode se interceptar com eles. Para evitar isso, aumente o valor da distância da saia.\n" msgid "Limited" -msgstr "Limitado" +msgstr "Limitada" msgid "Enabled" -msgstr "Habilitado" +msgstr "Ativado" msgid "Skirt loops" msgstr "Voltas da saia" @@ -12716,98 +10286,48 @@ msgid "Skirt speed" msgstr "Velocidade da saia" msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed." -msgstr "" -"Velocidade da saia, em mm/s. Zero significa usar a velocidade padrão de " -"extrusão da camada." +msgstr "Velocidade da saia, em mm/s. Zero significa usar a velocidade padrão de extrusão da camada." msgid "Skirt minimum extrusion length" -msgstr "" +msgstr "Comprimento mínimo de extrusão da saia" -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." -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." +msgstr "Comprimento mínimo de extrusão de filamento em mm ao imprimir a saia. Zero significa que esta característica está desabilitada.\n\n" +"Usar um valor não zero é útil se a impressora estiver configurada para imprimir sem uma linha de limpeza." -msgid "" -"The printing speed in exported gcode will be slowed down, when the estimated " -"layer time is shorter than this value, to get better cooling for these layers" -msgstr "" -"A velocidade de impressão no gcode exportado será reduzida quando o tempo " -"estimado da camada for menor que esse valor, para obter uma melhor " -"resfriamento para essas camadas" +msgid "The printing speed in exported gcode will be slowed down, when the estimated layer time is shorter than this value, to get better cooling for these layers" +msgstr "A velocidade de impressão no gcode exportado será reduzida quando o tempo estimado da camada for menor que esse valor, para obter uma melhor resfriamento para essas camadas" msgid "Minimum sparse infill threshold" msgstr "Limiar mínimo de preenchimento" -msgid "" -"Sparse infill area which is smaller than threshold value is replaced by " -"internal solid infill" -msgstr "" -"A área de preenchimento não sólido que é menor que o valor de limiar é " -"substituída por preenchimento sólido interno" +msgid "Sparse infill area which is smaller than threshold value is replaced by internal solid infill" +msgstr "A área de preenchimento não sólido que é menor que o valor de limiar é substituída por preenchimento sólido interno" -msgid "" -"Line width of internal solid infill. If expressed as a %, it will be " -"computed over the nozzle diameter." -msgstr "" -"Largura da linha de preenchimento sólido interno. Se expresso como uma %, " -"será calculado sobre o diâmetro do bico." +msgid "Line width of internal solid infill. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Largura da linha de preenchimento sólido interno. Se expresso como uma %, será calculado sobre o diâmetro do bico." msgid "Speed of internal solid infill, not the top and bottom surface" -msgstr "" -"Velocidade de preenchimento sólido interno, não a superfície superior e " -"inferior" +msgstr "Velocidade de preenchimento sólido interno, não a superfície superior e inferior" -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 "" -"A espiralização suaviza os movimentos z do contorno externo. E transforma um " -"modelo sólido em uma impressão de perímetro único com camadas inferiores " -"sólidas. O modelo final gerado não tem costura" +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 "A espiralização suaviza os movimentos z do contorno externo. E transforma um modelo sólido em uma impressão de perímetro único com camadas inferiores sólidas. O modelo final gerado não tem costura" msgid "Smooth Spiral" msgstr "Espiral Suave" -msgid "" -"Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam " -"at all, even in the XY directions on walls that are not vertical" -msgstr "" -"A Espiral Suave suaviza os movimentos X e Y, resultando em nenhuma costura " -"visível, mesmo nas direções XY em paredes que não são verticais" +msgid "Smooth Spiral smoothes out X and Y moves as wellresulting in no visible seam at all, even in the XY directions on walls that are not vertical" +msgstr "A Espiral Suave suaviza os movimentos X e Y, resultando em nenhuma costura visível, mesmo nas direções XY em paredes que não são verticais" msgid "Max XY Smoothing" msgstr "Suavização Máxima XY" -msgid "" -"Maximum distance to move points in XY to try to achieve a smooth spiralIf " -"expressed as a %, it will be computed over nozzle diameter" -msgstr "" -"Distância máxima para mover pontos em XY para tentar obter uma espiral " -"suave. Se expresso como uma %, será calculado sobre o diâmetro do bico" +msgid "Maximum distance to move points in XY to try to achieve a smooth spiralIf expressed as a %, it will be computed over nozzle diameter" +msgstr "Distância máxima para mover pontos em XY para tentar obter uma espiral suave. Se expresso como uma %, será calculado sobre o diâmetro do bico" -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, prime tower is required for smooth mode to " -"wipe nozzle." -msgstr "" -"Se o modo suave ou tradicional for selecionado, um vídeo em time-lapse será " -"gerado para cada impressão. Após cada camada ser impressa, uma captura de " -"tela é feita com a câmera da câmara. Todas essas capturas de tela são " -"compostas em um vídeo em time-lapse quando a impressão é concluída. Se o " -"modo suave for selecionado, a extrusora se moverá para fora após cada camada " -"ser impressa e então tirará uma captura de tela. Como o filamento derretido " -"pode vazar do bico durante o processo de tirar uma captura de tela, é " -"necessário uma torre de priming para o modo suave para limpar o bico." +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, prime tower is required for smooth mode to wipe nozzle." +msgstr "Se o modo suave ou tradicional for selecionado, um vídeo em time-lapse será gerado para cada impressão. Após cada camada ser impressa, uma captura de tela é feita com a câmera da câmara. Todas essas capturas de tela são compostas em um vídeo em time-lapse quando a impressão é concluída. Se o modo suave for selecionado, a extrusora se moverá para fora após cada camada ser impressa e então tirará uma captura de tela. Como o filamento derretido pode vazar do bico durante o processo de tirar uma captura de tela, é necessário uma torre de priming para o modo suave para limpar o bico." msgid "Traditional" msgstr "Tradicional" @@ -12833,18 +10353,8 @@ msgstr "Use um único bico para imprimir múltiplos filamentos" msgid "Manual Filament Change" msgstr "Troca Manual de Filamento" -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 "" -"Ative esta opção para omitir o código G de troca de filamento personalizado " -"apenas no início da impressão. O comando de troca de ferramenta (por " -"exemplo, T0) será ignorado durante toda a impressão. Isso é útil para " -"impressão manual de vários materiais, onde usamos M600/PAUSE para acionar a " -"ação de troca manual de filamento." +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 "Ative esta opção para omitir o código G de troca de filamento personalizado apenas no início da impressão. O comando de troca de ferramenta (por exemplo, T0) será ignorado durante toda a impressão. Isso é útil para impressão manual de vários materiais, onde usamos M600/PAUSE para acionar a ação de troca manual de filamento." msgid "Purge in prime tower" msgstr "Purgar na torre de priming" @@ -12858,49 +10368,26 @@ msgstr "Ativar inserção de filamento" msgid "No sparse layers (beta)" msgstr "Sem camadas esparsas (beta)" -msgid "" -"If enabled, the wipe tower will not be printed on layers with no " -"toolchanges. On layers with a toolchange, extruder will travel downward to " -"print the wipe tower. User is responsible for ensuring there is no collision " -"with the print." -msgstr "" -"Se ativado, a torre de limpeza não será impressa em camadas sem trocas de " -"ferramentas. Em camadas com uma troca de ferramentas, o extrusor viajará " -"para baixo para imprimir a torre de limpeza. O usuário é responsável por " -"garantir que não haja colisão com a impressão." +msgid "If enabled, the wipe tower will not be printed on layers with no toolchanges. On layers with a toolchange, extruder will travel downward to print the wipe tower. User is responsible for ensuring there is no collision with the print." +msgstr "Se ativado, a torre de limpeza não será impressa em camadas sem trocas de ferramentas. Em camadas com uma troca de ferramentas, o extrusor viajará para baixo para imprimir a torre de limpeza. O usuário é responsável por garantir que não haja colisão com a impressão." msgid "Prime all printing extruders" msgstr "Primer todos os extrusores de impressão" -msgid "" -"If enabled, all printing extruders will be primed at the front edge of the " -"print bed at the start of the print." -msgstr "" -"Se ativado, todos os extrusores de impressão serão iniciados na borda " -"frontal da mesa de impressão no início da impressão." +msgid "If enabled, all printing extruders will be primed at the front edge of the print bed at the start of the print." +msgstr "Se ativado, todos os extrusores de impressão serão iniciados na borda frontal da mesa de impressão no início da impressão." msgid "Slice gap closing radius" msgstr "Tolerância do fatiamento" -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 "" -"Espaços menores que 2x a tolerância de fatiamentoo serão preenchidas durante " -"o fatiamento da malha. Aumentar a tolerância de fatiamento pode reduzir a " -"resolução final da impressão, portanto, é aconselhável manter o valor " -"razoavelmente baixo." +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 "Espaços menores que 2x a tolerância de fatiamentoo serão preenchidas durante o fatiamento da malha. Aumentar a tolerância de fatiamento pode reduzir a resolução final da impressão, portanto, é aconselhável manter o valor razoavelmente baixo." msgid "Slicing Mode" msgstr "Modo de Fatiamento" -msgid "" -"Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to " -"close all holes in the model." -msgstr "" -"Use \"Par-impar\" para modelos de avião 3DLabPrint. Use \"Fechar buracos\" " -"para fechar todos os buracos no modelo." +msgid "Use \"Even-odd\" for 3DLabPrint airplane models. Use \"Close holes\" to close all holes in the model." +msgstr "Use \"Par-impar\" para modelos de avião 3DLabPrint. Use \"Fechar buracos\" para fechar todos os buracos no modelo." msgid "Regular" msgstr "Padrão" @@ -12914,16 +10401,8 @@ msgstr "Fechar buracos" msgid "Z offset" msgstr "Deslocamento 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 "" -"Este valor será adicionado (ou subtraído) de todas as coordenadas Z no G-" -"code de saída. É usado para compensar a má posição do fim de curso Z: por " -"exemplo, se o zero do seu fim de curso na verdade deixa o bico 0,3 mm longe " -"da mesa de impressão, ajuste isso para -0,3 (ou corrija o seu fim de curso)." +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 "Este valor será adicionado (ou subtraído) de todas as coordenadas Z no G-code de saída. É usado para compensar a má posição do fim de curso Z: por exemplo, se o zero do seu fim de curso na verdade deixa o bico 0,3 mm longe da mesa de impressão, ajuste isso para -0,3 (ou corrija o seu fim de curso)." msgid "Enable support" msgstr "Ativar suporte" @@ -12931,14 +10410,8 @@ msgstr "Ativar suporte" msgid "Enable support generation." msgstr "Ativar a geração de suporte." -msgid "" -"normal(auto) and tree(auto) is used to generate support automatically. If " -"normal(manual) or tree(manual) is selected, only support enforcers are " -"generated" -msgstr "" -"normal(auto) e tree(auto) são usados para gerar suporte automaticamente. Se " -"normal(manual) ou tree(manual) for selecionado, apenas os suportes são " -"gerados" +msgid "normal(auto) and tree(auto) is used to generate support automatically. If normal(manual) or tree(manual) is selected, only support enforcers are generated" +msgstr "normal(auto) e tree(auto) são usados para gerar suporte automaticamente. Se normal(manual) ou tree(manual) for selecionado, apenas os suportes são gerados" msgid "normal(auto)" msgstr "normal(automático)" @@ -12962,8 +10435,7 @@ msgid "Pattern angle" msgstr "Ângulo de padrão" msgid "Use this setting to rotate the support pattern on the horizontal plane." -msgstr "" -"Use esta configuração para girar o padrão de suporte no plano horizontal." +msgstr "Use esta configuração para girar o padrão de suporte no plano horizontal." msgid "On build plate only" msgstr "Somente na mesa" @@ -12974,12 +10446,8 @@ msgstr "Não criar suporte na superfície do modelo, apenas na mesa" msgid "Support critical regions only" msgstr "Suportar apenas regiões críticas" -msgid "" -"Only create support for critical regions including sharp tail, cantilever, " -"etc." -msgstr "" -"Crie suporte apenas para regiões críticas, incluindo cauda afiada, balanço, " -"etc." +msgid "Only create support for critical regions including sharp tail, cantilever, etc." +msgstr "Crie suporte apenas para regiões críticas, incluindo cauda afiada, balanço, etc." msgid "Remove small overhangs" msgstr "Remover pequenos overhangs" @@ -13002,47 +10470,29 @@ msgstr "A diferença z entre a interface inferior de suporte e o objeto" msgid "Support/raft base" msgstr "Suporte/base" -msgid "" -"Filament to print support base and raft. \"Default\" means no specific " -"filament for support and current filament is used" -msgstr "" -"Filamento para imprimir a base e suporte. \"Padrão\" significa nenhum " -"filamento específico para suporte e o filamento atual será usado" +msgid "Filament to print support base and raft. \"Default\" means no specific filament for support and current filament is used" +msgstr "Filamento para imprimir a base e suporte. \"Padrão\" significa nenhum filamento específico para suporte e o filamento atual será usado" msgid "Avoid interface filament for base" msgstr "Evitar o filamento da interface para a base" -msgid "" -"Avoid using support interface filament to print support base if possible." -msgstr "" -"Evite usar o filamento da interface de suporte para imprimir a base, se " -"possível." +msgid "Avoid using support interface filament to print support base if possible." +msgstr "Evite usar o filamento da interface de suporte para imprimir a base, se possível." -msgid "" -"Line width of support. If expressed as a %, it will be computed over the " -"nozzle diameter." -msgstr "" -"Largura da linha de suporte. Se expresso como %, será calculado sobre o " -"diâmetro do bico." +msgid "Line width of support. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Largura da linha de suporte. Se expresso como %, será calculado sobre o diâmetro do bico." msgid "Interface use loop pattern" msgstr "Interface usa padrão de loop" -msgid "" -"Cover the top contact layer of the supports with loops. Disabled by default." -msgstr "" -"Cubra a camada de contato superior dos suportes com loops. Desativado por " -"padrão." +msgid "Cover the top contact layer of the supports with loops. Disabled by default." +msgstr "Cubra a camada de contato superior dos suportes com loops. Desativado por padrão." msgid "Support/raft interface" msgstr "Interface de suporte/plataforma" -msgid "" -"Filament to print support interface. \"Default\" means no specific filament " -"for support interface and current filament is used" -msgstr "" -"Filamento para imprimir a interface de suporte. \"Padrão\" significa nenhum " -"filamento específico para a interface de suporte e o filamento atual é usado" +msgid "Filament to print support interface. \"Default\" means no specific filament for support interface and current filament is used" +msgstr "Filamento para imprimir a interface de suporte. \"Padrão\" significa nenhum filamento específico para a interface de suporte e o filamento atual é usado" msgid "Top interface layers" msgstr "Camadas de interface superior" @@ -13069,8 +10519,7 @@ msgid "Bottom interface spacing" msgstr "Espaçamento da interface inferior" msgid "Spacing of bottom interface lines. Zero means solid interface" -msgstr "" -"Espaçamento das linhas de interface inferior. Zero significa interface sólida" +msgstr "Espaçamento das linhas de interface inferior. Zero significa interface sólida" msgid "Speed of support interface" msgstr "Velocidade da interface de suporte" @@ -13090,14 +10539,8 @@ msgstr "Oco" msgid "Interface pattern" msgstr "Padrão de interface" -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 "" -"Padrão de linha de interface de suporte. O padrão padrão para interface de " -"suporte não solúvel é reticulado, enquanto o padrão padrão para interface de " -"suporte solúvel é concêntrico" +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 "Padrão de linha de interface de suporte. O padrão padrão para interface de suporte não solúvel é reticulado, enquanto o padrão padrão para interface de suporte solúvel é concêntrico" msgid "Rectilinear Interlaced" msgstr "Reticulado Interligado" @@ -13117,23 +10560,10 @@ msgstr "Expanda (+) ou contraia (-) a extensão horizontal do suporte normal" msgid "Speed of support" msgstr "Velocidade do suporte" -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 "" -"Estilo e forma do suporte. Para suporte normal, projetar os suportes em uma " -"grade regular criará suportes mais estáveis (padrão), enquanto torres de " -"suporte ajustadas economizarão material e reduzirão a cicatrização do " -"objeto.\n" -"Para suporte de árvore, estilo fino e orgânico mesclarão os galhos de forma " -"mais agressiva e economizarão muito material (orgânico padrão), enquanto o " -"estilo híbrido criará uma estrutura semelhante ao suporte normal em grandes " -"overhangs planas." +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 "Estilo e forma do suporte. Para suporte normal, projetar os suportes em uma grade regular criará suportes mais estáveis (padrão), enquanto torres de suporte ajustadas economizarão material e reduzirão a cicatrização do objeto.\n" +"Para suporte de árvore, estilo fino e orgânico mesclarão os galhos de forma mais agressiva e economizarão muito material (orgânico padrão), enquanto o estilo híbrido criará uma estrutura semelhante ao suporte normal em grandes overhangs planas." msgid "Snug" msgstr "Ajustado" @@ -13153,98 +10583,52 @@ msgstr "Orgânico" msgid "Independent support layer height" msgstr "Altura independente da camada de suporte" -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 "" -"A camada de suporte usa uma altura de camada independente da camada do " -"objeto. Isso é para suportar a personalização do z-gap e economizar tempo de " -"impressão. Esta opção será inválida quando a torre de priming estiver " -"ativada." +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 "A camada de suporte usa uma altura de camada independente da camada do objeto. Isso é para suportar a personalização do z-gap e economizar tempo de impressão. Esta opção será inválida quando a torre de priming estiver ativada." msgid "Threshold angle" msgstr "Ângulo de limite" -msgid "" -"Support will be generated for overhangs whose slope angle is below the " -"threshold." -msgstr "" -"O suporte será gerado para overhangs cujo ângulo de inclinação estiver " -"abaixo do limite." +msgid "Support will be generated for overhangs whose slope angle is below the threshold." +msgstr "O suporte será gerado para overhangs cujo ângulo de inclinação estiver abaixo do limite." msgid "Tree support branch angle" msgstr "Ângulo da ramificação" -msgid "" -"This setting determines the maximum overhang angle that t he branches of " -"tree support allowed to make.If the angle is increased, the branches can be " -"printed more horizontally, allowing them to reach farther." -msgstr "" -"Esta configuração determina o ângulo máximo de inclinação que as " -"ramificações de suporte de árvore podem fazer. Se o ângulo for aumentado, as " -"ramificações podem ser impressas de forma mais horizontal, permitindo que " -"alcancem mais longe." +msgid "This setting determines the maximum overhang angle that t he branches of tree support allowed to make.If the angle is increased, the branches can be printed more horizontally, allowing them to reach farther." +msgstr "Esta configuração determina o ângulo máximo de inclinação que as ramificações de suporte de árvore podem fazer. Se o ângulo for aumentado, as ramificações podem ser impressas de forma mais horizontal, permitindo que alcancem mais longe." msgid "Preferred Branch Angle" msgstr "Ângulo preferido da ramificação" #. 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 "" -"O ângulo preferido das ramificações, quando eles não precisam evitar o " -"modelo. Use um ângulo mais baixo para torná-los mais verticais e mais " -"estáveis. Use um ângulo mais alto para que as ramificações se fundam mais " -"rápido." +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 "O ângulo preferido das ramificações, quando eles não precisam evitar o modelo. Use um ângulo mais baixo para torná-los mais verticais e mais estáveis. Use um ângulo mais alto para que as ramificações se fundam mais rápido." msgid "Tree support branch distance" msgstr "Distância entre ramificações" -msgid "" -"This setting determines the distance between neighboring tree support nodes." -msgstr "" -"Essa configuração determina a distância entre os nós de suporte de árvore " -"vizinhos." +msgid "This setting determines the distance between neighboring tree support nodes." +msgstr "Essa configuração determina a distância entre os nós de suporte de árvore vizinhos." msgid "Branch Density" msgstr "Densidade da ramificação" #. 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 "" -"Ajusta a densidade da estrutura de suporte usada para gerar as pontas das " -"ramificações. Um valor mais alto resulta em overhangs melhores, mas os " -"suportes são mais difíceis de remover, portanto, é recomendável ativar as " -"interfaces superiores de suporte em vez de um valor de densidade de ramo " -"alto se forem necessárias interfaces densas." +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 "Ajusta a densidade da estrutura de suporte usada para gerar as pontas das ramificações. Um valor mais alto resulta em overhangs melhores, mas os suportes são mais difíceis de remover, portanto, é recomendável ativar as interfaces superiores de suporte em vez de um valor de densidade de ramo alto se forem necessárias interfaces densas." msgid "Adaptive layer height" msgstr "Altura de camada adaptativa" -msgid "" -"Enabling this option means the height of tree support layer except the " -"first will be automatically calculated " -msgstr "" -"Ao ativar essa opção, a altura da camada de suporte de árvore, exceto a " -"primeira, será calculada automaticamente " +msgid "Enabling this option means the height of tree support layer except the first will be automatically calculated " +msgstr "Ao ativar essa opção, a altura da camada de suporte de árvore, exceto a primeira, será calculada automaticamente " msgid "Auto brim width" msgstr "Largura de borda automática" -msgid "" -"Enabling this option means the width of the brim for tree support will be " -"automatically calculated" -msgstr "" -"Ao ativar essa opção, a largura da borda para suporte de árvore será " -"calculada automaticamente" +msgid "Enabling this option means the width of the brim for tree support will be automatically calculated" +msgstr "Ao ativar essa opção, a largura da borda para suporte de árvore será calculada automaticamente" msgid "Tree support brim width" msgstr "Largura da borda de suporte de árvore" @@ -13270,29 +10654,15 @@ msgid "Branch Diameter Angle" msgstr "Ângulo do diâmetro da ramificação" #. 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 "" -"O ângulo das ramificações à medida que elas gradualmente se tornam mais " -"espessos em direção à base. Um ângulo de 0 fará com que as ramificações " -"tenham espessura uniforme ao longo de seu comprimento. Um pequeno ângulo " -"pode aumentar a estabilidade do suporte orgânico." +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 "O ângulo das ramificações à medida que elas gradualmente se tornam mais espessos em direção à base. Um ângulo de 0 fará com que as ramificações tenham espessura uniforme ao longo de seu comprimento. Um pequeno ângulo pode aumentar a estabilidade do suporte orgânico." msgid "Branch Diameter with double walls" msgstr "Diâmetro da ramificação com perí. duplo" #. TRN PrintSettings: "Organic supports" > "Branch Diameter" -msgid "" -"Branches with area larger than the area of a circle of this diameter will be " -"printed with double walls for stability. Set this value to zero for no " -"double walls." -msgstr "" -"Ramificações com área maior do que a área de um círculo com este diâmetro " -"serão impressas com paredes duplas para estabilidade. Defina este valor como " -"zero para não ter paredes duplas." +msgid "Branches with area larger than the area of a circle of this diameter will be printed with double walls for stability. Set this value to zero for no double walls." +msgstr "Ramificações com área maior do que a área de um círculo com este diâmetro serão impressas com paredes duplas para estabilidade. Defina este valor como zero para não ter paredes duplas." msgid "Support wall loops" msgstr "Perímetros de suporte" @@ -13303,44 +10673,22 @@ msgstr "Esta configuração especifica a contagem de paredes ao redor do suporte msgid "Tree support with infill" msgstr "Suporte de árvore com preenchimento" -msgid "" -"This setting specifies whether to add infill inside large hollows of tree " -"support" -msgstr "" -"Essa configuração especifica se deve adicionar preenchimento dentro de " -"grandes cavidades do suporte de árvore" +msgid "This setting specifies whether to add infill inside large hollows of tree support" +msgstr "Essa configuração especifica se deve adicionar preenchimento dentro de grandes cavidades do suporte de árvore" msgid "Activate temperature control" msgstr "Ativar controle de temperatura" -msgid "" -"Enable this option for chamber temperature control. An M191 command will be " -"added before \"machine_start_gcode\"\n" +msgid "Enable this option for chamber temperature control. An M191 command will be added before \"machine_start_gcode\"\n" "G-code commands: M141/M191 S(0-255)" -msgstr "" -"Ative esta opção para controle de temperatura da câmara. Um comando M191 " -"será adicionado antes de \"machine_start_gcode\"\n" +msgstr "Ative esta opção para controle de temperatura da câmara. Um comando M191 será adicionado antes de \"machine_start_gcode\"\n" "Comandos G-code: M141/M191 S(0-255)" msgid "Chamber temperature" msgstr "Temperatura da câmara" -msgid "" -"Higher chamber temperature can help suppress or reduce warping and " -"potentially lead to higher interlayer bonding strength for high temperature " -"materials like ABS, ASA, PC, PA and so on.At the same time, the air " -"filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and " -"other low temperature materials,the actual chamber temperature should not be " -"high to avoid cloggings, so 0 which stands for turning off is highly " -"recommended" -msgstr "" -"Uma temperatura mais alta na câmara pode ajudar a suprimir ou reduzir o " -"empenamento e potencialmente levar a uma maior resistência de ligação entre " -"camadas para materiais de alta temperatura como ABS, ASA, PC, PA e assim por " -"diante. Ao mesmo tempo, a filtragem de ar de ABS e ASA ficará pior. Para " -"PLA, PETG, TPU, PVA e outros materiais de baixa temperatura, a temperatura " -"real da câmara não deve ser alta para evitar obstruções, portanto, é " -"altamente recomendável usar 0, que significa desligado" +msgid "Higher chamber temperature can help suppress or reduce warping and potentially lead to higher interlayer bonding strength for high temperature materials like ABS, ASA, PC, PA and so on.At the same time, the air filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and other low temperature materials,the actual chamber temperature should not be high to avoid cloggings, so 0 which stands for turning off is highly recommended" +msgstr "Uma temperatura mais alta na câmara pode ajudar a suprimir ou reduzir o empenamento e potencialmente levar a uma maior resistência de ligação entre camadas para materiais de alta temperatura como ABS, ASA, PC, PA e assim por diante. Ao mesmo tempo, a filtragem de ar de ABS e ASA ficará pior. Para PLA, PETG, TPU, PVA e outros materiais de baixa temperatura, a temperatura real da câmara não deve ser alta para evitar obstruções, portanto, é altamente recomendável usar 0, que significa desligado" msgid "Nozzle temperature for layers after the initial one" msgstr "Temperatura do bico para camadas após a inicial" @@ -13348,30 +10696,17 @@ msgstr "Temperatura do bico para camadas após a inicial" msgid "Detect thin wall" msgstr "Detectar perímetro fino" -msgid "" -"Detect thin wall which can't contain two line width. And use single line to " -"print. Maybe printed not very well, because it's not closed loop" -msgstr "" -"Detecta paredes finas que não podem conter duas larguras de linha. E usa uma " -"linha única para imprimir. Talvez seja impresso não muito bem, porque não é " -"um loop fechado" +msgid "Detect thin wall which can't contain two line width. And use single line to print. Maybe printed not very well, because it's not closed loop" +msgstr "Detecta paredes finas que não podem conter duas larguras de linha. E usa uma linha única para imprimir. Talvez seja impresso não muito bem, porque não é um loop fechado" -msgid "" -"This gcode is inserted when change filament, including T command to trigger " -"tool change" -msgstr "" -"Este gcode é inserido ao trocar o filamento, incluindo o comando T para " -"acionar a troca de ferramenta" +msgid "This gcode is inserted when change filament, including T command to trigger tool change" +msgstr "Este gcode é inserido ao trocar o filamento, incluindo o comando T para acionar a troca de ferramenta" msgid "This gcode is inserted when the extrusion role is changed" msgstr "Esse gcode é inserido quando o tipo de extrusão muda" -msgid "" -"Line width for top surfaces. If expressed as a %, it will be computed over " -"the nozzle diameter." -msgstr "" -"Largura da linha para superfícies superiores. Se expressa em %, será " -"calculada sobre o diâmetro do bico." +msgid "Line width for top surfaces. If expressed as a %, it will be computed over the nozzle diameter." +msgstr "Largura da linha para superfícies superiores. Se expressa em %, será calculada sobre o diâmetro do bico." msgid "Speed of top surface infill which is solid" msgstr "Velocidade de preenchimento da superfície superior, que é sólida" @@ -13379,15 +10714,8 @@ msgstr "Velocidade de preenchimento da superfície superior, que é sólida" msgid "Top shell layers" msgstr "Camadas de topo" -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 "" -"Este é o número de camadas sólidas do perímetro superior, incluindo a camada " -"da superfície superior. Quando a espessura calculada por este valor for " -"menor do que a espessura do perímetro superior, as camadas do perímetro " -"superior serão aumentadas" +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 "Este é o número de camadas sólidas do perímetro superior, incluindo a camada da superfície superior. Quando a espessura calculada por este valor for menor do que a espessura do perímetro superior, as camadas do perímetro superior serão aumentadas" msgid "Top solid layers" msgstr "Camadas sólidas superiores" @@ -13395,18 +10723,8 @@ msgstr "Camadas sólidas superiores" msgid "Top shell thickness" msgstr "Espessura da parede de topo" -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 determained by top " -"shell layers" -msgstr "" -"O número de camadas sólidas superiores é aumentado ao fatiar se a espessura " -"calculada pelas camadas da parede superior for menor do que este valor. Isso " -"pode evitar que a parede seja muito fina quando a altura da camada é " -"pequena. 0 significa que esta configuração está desativada e a espessura da " -"parede superior é determinada exclusivamente pelas camadas da parede superior" +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 determained by top shell layers" +msgstr "O número de camadas sólidas superiores é aumentado ao fatiar se a espessura calculada pelas camadas da parede superior for menor do que este valor. Isso pode evitar que a parede seja muito fina quando a altura da camada é pequena. 0 significa que esta configuração está desativada e a espessura da parede superior é determinada exclusivamente pelas camadas da parede superior" msgid "Speed of travel which is faster and without extrusion" msgstr "Velocidade de deslocamento mais rápida e sem extrusão" @@ -13414,60 +10732,30 @@ msgstr "Velocidade de deslocamento mais rápida e sem extrusão" msgid "Wipe while retracting" msgstr "Limpeza ao retrair" -msgid "" -"Move nozzle along the last extrusion path when retracting to clean leaked " -"material on nozzle. This can minimize blob when print new part after travel" -msgstr "" -"Movimentar o bico ao longo do último caminho de extrusão ao retrair para " -"limpar o material vazado no bico. Isso pode minimizar a formação de blob " -"quando imprimir uma nova peça após o deslocamento" +msgid "Move nozzle along the last extrusion path when retracting to clean leaked material on nozzle. This can minimize blob when print new part after travel" +msgstr "Movimentar o bico ao longo do último caminho de extrusão ao retrair para limpar o material vazado no bico. Isso pode minimizar a formação de blob quando imprimir uma nova peça após o deslocamento" msgid "Wipe Distance" msgstr "Distância de limpeza" -msgid "" -"Discribe 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 "" -"Descreva por quanto tempo o bico se moverá ao longo do último caminho ao " -"retrair. \n" -"\n" -"Dependendo de quanto tempo dura a operação de limpeza, quão rápidas e longas " -"são as configurações de retração do extrusor/filamento, pode ser necessário " -"um movimento de retração para recolher o filamento restante. \n" -"\n" -"Definir um valor na configuração de quantidade de retração antes da limpeza " -"abaixo executará qualquer retração em excesso antes da limpeza, caso " -"contrário, será realizada após." +msgid "Discribe 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 "Descreva por quanto tempo o bico se moverá ao longo do último caminho ao retrair. \n\n" +"Dependendo de quanto tempo dura a operação de limpeza, quão rápidas e longas são as configurações de retração do extrusor/filamento, pode ser necessário um movimento de retração para recolher o filamento restante. \n\n" +"Definir um valor na configuração de quantidade de retração antes da limpeza abaixo executará qualquer retração em excesso antes da limpeza, caso contrário, será realizada após." -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 "" -"A torre de limpeza pode ser usada para limpar o resíduo no bico e " -"estabilizar a pressão na câmara dentro do bico, a fim de evitar defeitos de " -"aparência ao imprimir objetos." +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 "A torre de limpeza pode ser usada para limpar o resíduo no bico e estabilizar a pressão na câmara dentro do bico, a fim de evitar defeitos de aparência ao imprimir objetos." msgid "Purging volumes" msgstr "Volumes de purga" msgid "Flush multiplier" -msgstr "Multiplicador de descarga" +msgstr "Multiplicador de limpeza" -msgid "" -"The actual flushing volumes is equal to the flush multiplier multiplied by " -"the flushing volumes in the table." -msgstr "" -"Os volumes de descarga reais são iguais ao multiplicador de descarga " -"multiplicado pelos volumes de descarga na tabela." +msgid "The actual flushing volumes is equal to the flush multiplier multiplied by the flushing volumes in the table." +msgstr "Os volumes de purga reais são iguais ao multiplicador de purga multiplicado pelos volumes de purga na tabela." msgid "Prime volume" msgstr "Volume de priming" @@ -13487,12 +10775,8 @@ msgstr "Ângulo de rotação da torre de limpeza em relação ao eixo x." msgid "Stabilization cone apex angle" msgstr "Ângulo do ápice do cone de estabilização" -msgid "" -"Angle at the apex of the cone that is used to stabilize the wipe tower. " -"Larger angle means wider base." -msgstr "" -"Ângulo no ápice do cone que é usado para estabilizar a torre de limpeza. Um " -"ângulo maior significa uma base mais larga." +msgid "Angle at the apex of the cone that is used to stabilize the wipe tower. Larger angle means wider base." +msgstr "Ângulo no ápice do cone que é usado para estabilizar a torre de limpeza. Um ângulo maior significa uma base mais larga." msgid "Wipe tower purge lines spacing" msgstr "Espaçamento das linhas de purga da torre de limpeza" @@ -13501,82 +10785,39 @@ msgid "Spacing of purge lines on the wipe tower." msgstr "Espaçamento das linhas de purga na torre de limpeza." msgid "Maximum wipe tower print speed" -msgstr "" +msgstr "Velocidade máxima de impressão da torre de limpeza" -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 90mm/sec, 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 "" +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 90mm/sec, 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 "A velocidade máxima de impressão ao purgar na torre de limpeza e ao imprimir as camadas esparsas da torre de limpeza. Ao purgar, se a velocidade do preenchimento ou a velocidade calculada a partir da velocidade volumétrica máxima do filamento for menor, a menor será utilizada.\n\n" +"Ao imprimir as camadas esparsas, se a velocidade do perímetro interno ou a velocidade calculada a partir da velocidade volumétrica máxima do filamento for menor, a menor será utilizada.\n\n" +"Aumentar essa velocidade pode afetar a estabilidade da torre, bem como aumentar a força com que o bico colide com quaisquer bolhas que possam ter se formado na torre de limpeza.\n\n" +"Antes de aumentar esse parâmetro além do padrão de 90mm/s, certifique-se de que sua impressora pode realizar pontes de forma confiável nas velocidades aumentadas e que a extrusão ao trocar a ferramenta está bem controlada.\n\n" +"Para os perímetros externos da torre de limpeza, a velocidade do perímetro interno é utilizada independentemente dessa configuração." msgid "Wipe tower extruder" msgstr "Extrusor da torre de limpeza" -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 "" -"O extrusor a ser usado ao imprimir o perímetro da torre de limpeza. Defina " -"como 0 para usar o disponível (não solúvel é preferido)." +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 "O extrusor a ser usado ao imprimir o perímetro da torre de limpeza. Defina como 0 para usar o disponível (não solúvel é preferido)." msgid "Purging volumes - load/unload volumes" msgstr "Volumes de purga - volumes de carga/descarga" -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 "" -"Este vetor salva os volumes necessários para mudar de/para cada ferramenta " -"usada na torre de limpeza. Esses valores são usados para simplificar a " -"criação dos volumes de purga completos abaixo." +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 "Este vetor salva os volumes necessários para mudar de/para cada ferramenta usada na torre de limpeza. Esses valores são usados para simplificar a criação dos volumes de purga completos abaixo." -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 "" -"A purga após a troca de filamento será feita dentro do preenchimento dos " -"objetos. Isso pode reduzir a quantidade de resíduos e diminuir o tempo de " -"impressão. Se as paredes forem impressas com filamento transparente, o " -"preenchimento de cor mista será visto por fora. Isso não terá efeito, a " -"menos que a torre de inicialização esteja ativada." +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 "A purga após a troca de filamento será feita dentro do preenchimento dos objetos. Isso pode reduzir a quantidade de resíduos e diminuir o tempo de impressão. Se as paredes forem impressas com filamento transparente, o preenchimento de cor mista será visto por fora. Isso não terá efeito, a menos que a torre de inicialização esteja ativada." -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 "" -"A purga após a troca de filamento será feita dentro do suporte dos objetos. " -"Isso pode reduzir a quantidade de resíduos e diminuir o tempo de impressão. " -"Isso não terá efeito, a menos que a torre de inicialização esteja ativada." +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 "A purga após a troca de filamento será feita dentro do suporte dos objetos. Isso pode reduzir a quantidade de resíduos e diminuir o tempo de impressão. Isso não terá efeito, a menos que a torre de inicialização esteja ativada." -msgid "" -"This object will be used to purge the nozzle after a filament change to save " -"filament and decrease the print time. Colours of the objects will be mixed " -"as a result. It will not take effect, unless the prime tower is enabled." -msgstr "" -"Este objeto será usado para purgar o bico após a troca de filamento para " -"economizar filamento e diminuir o tempo de impressão. As cores dos objetos " -"serão misturadas como resultado. Isso não terá efeito, a menos que a torre " -"de inicialização esteja ativada." +msgid "This object will be used to purge the nozzle after a filament change to save filament and decrease the print time. Colours of the objects will be mixed as a result. It will not take effect, unless the prime tower is enabled." +msgstr "Este objeto será usado para purgar o bico após a troca de filamento para economizar filamento e diminuir o tempo de impressão. As cores dos objetos serão misturadas como resultado. Isso não terá efeito, a menos que a torre de inicialização esteja ativada." msgid "Maximal bridging distance" msgstr "Distância máxima de ponte" @@ -13587,59 +10828,32 @@ msgstr "Distância máxima entre suportes em seções de preenchimento não sól msgid "X-Y hole compensation" msgstr "Compensação XY de furos" -msgid "" -"Holes of object will be grown or shrunk in XY plane by the configured value. " -"Positive value makes holes bigger. Negative value makes holes smaller. This " -"function is used to adjust size slightly when the object has assembling issue" -msgstr "" -"Os furos do objeto serão aumentados ou reduzidos no plano XY pelo valor " -"configurado. Valor positivo aumenta os furos. Valor negativo reduz os furos. " -"Essa função é usada para ajustar ligeiramente o tamanho quando o objeto tem " -"problema de montagem" +msgid "Holes of object will be grown or shrunk in XY plane by the configured value. Positive value makes holes bigger. Negative value makes holes smaller. This function is used to adjust size slightly when the object has assembling issue" +msgstr "Os furos do objeto serão aumentados ou reduzidos no plano XY pelo valor configurado. Valor positivo aumenta os furos. Valor negativo reduz os furos. Essa função é usada para ajustar ligeiramente o tamanho quando o objeto tem problema de montagem" msgid "X-Y contour compensation" msgstr "Compensação XY de contornos" -msgid "" -"Contour of object will be grown or shrunk in XY plane by the configured " -"value. Positive value makes contour bigger. Negative value makes contour " -"smaller. This function is used to adjust size slightly when the object has " -"assembling issue" -msgstr "" -"O contorno do objeto será expandido ou reduzido no plano XY pelo valor " -"configurado. Valor positivo aumenta o contorno. Valor negativo diminui o " -"contorno. Essa função é usada para ajustar ligeiramente o tamanho quando o " -"objeto tem problemas de montagem" +msgid "Contour of object will be grown or shrunk in XY plane by the configured value. Positive value makes contour bigger. Negative value makes contour smaller. This function is used to adjust size slightly when the object has assembling issue" +msgstr "O contorno do objeto será expandido ou reduzido no plano XY pelo valor configurado. Valor positivo aumenta o contorno. Valor negativo diminui o contorno. Essa função é usada para ajustar ligeiramente o tamanho quando o objeto tem problemas de montagem" msgid "Convert holes to polyholes" msgstr "Converter furos em polifuros" -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" +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 "" -"Procura por furos quase circulares que abrangem mais de uma camada e " -"converta a geometria em polifuros. Usa o tamanho do bico e o diâmetro " -"(maior) para calcular o polifuro.\n" +msgstr "Procura por furos quase circulares que abrangem mais de uma camada e converta a geometria em polifuros. Usa o tamanho do bico e o diâmetro (maior) para calcular o polifuro.\n" "Consulte http://hydraraptor.blogspot.com/2011/02/polyholes.html" msgid "Polyhole detection margin" msgstr "Margem de detecção de polifuros" #, 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 leway to " -"broaden the detection.\n" +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 leway to broaden the detection.\n" "In mm or in % of the radius." -msgstr "" -"Máxima deflexão de um ponto para o raio estimado do círculo.\n" -"Como os cilindros frequentemente são exportados como triângulos de tamanho " -"variável, os pontos podem não estar na circunferência do círculo. Esta " -"configuração permite-lhe alguma margem para alargar a detecção.\n" +msgstr "Máxima deflexão de um ponto para o raio estimado do círculo.\n" +"Como os cilindros frequentemente são exportados como triângulos de tamanho variável, os pontos podem não estar na circunferência do círculo. Esta configuração permite-lhe alguma margem para alargar a detecção.\n" "Em milímetros ou em % do raio." msgid "Polyhole twist" @@ -13651,45 +10865,23 @@ msgstr "Girar o polifuro a cada camada." msgid "G-code thumbnails" msgstr "Miniaturas de G-code" -msgid "" -"Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the " -"following format: \"XxY, XxY, ...\"" -msgstr "" -"Tamanhos das imagens a serem armazenados em arquivos .gcode e .sl1 / .sl1s, " -"no seguinte formato: \"XxY, XxY, ...\"" +msgid "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: \"XxY, XxY, ...\"" +msgstr "Tamanhos das imagens a serem armazenados em arquivos .gcode e .sl1 / .sl1s, no seguinte formato: \"XxY, XxY, ...\"" msgid "Format of G-code thumbnails" msgstr "Formato das miniaturas de G-code" -msgid "" -"Format of G-code thumbnails: PNG for best quality, JPG for smallest size, " -"QOI for low memory firmware" -msgstr "" -"Formato das miniaturas de G-code: PNG para melhor qualidade, JPG para menor " -"tamanho, QOI para firmware de baixa memória" +msgid "Format of G-code thumbnails: PNG for best quality, JPG for smallest size, QOI for low memory firmware" +msgstr "Formato das miniaturas de G-code: PNG para melhor qualidade, JPG para menor tamanho, QOI para firmware de baixa memória" msgid "Use relative E distances" msgstr "Usar distâncias E relativas" -msgid "" -"Relative extrusion is recommended when using \"label_objects\" option.Some " -"extruders work better with this option unckecked (absolute extrusion mode). " -"Wipe tower is only compatible with relative mode. It is recommended on most " -"printers. Default is checked" -msgstr "" -"A extrusão relativa é recomendada ao usar a opção \"label_objects\". Algumas " -"extrusoras funcionam melhor com esta opção desmarcada (modo de extrusão " -"absoluta). A torre de limpeza é compatível apenas com o modo relativo. É " -"recomendado na maioria das impressoras. O padrão é ativado" +msgid "Relative extrusion is recommended when using \"label_objects\" option.Some extruders work better with this option unckecked (absolute extrusion mode). Wipe tower is only compatible with relative mode. It is recommended on most printers. Default is checked" +msgstr "A extrusão relativa é recomendada ao usar a opção \"label_objects\". Algumas extrusoras funcionam melhor com esta opção desmarcada (modo de extrusão absoluta). A torre de limpeza é compatível apenas com o modo relativo. É recomendado na maioria das impressoras. O padrão é ativado" -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 "" -"O gerador de perímetro clássico produz paredes com largura de extrusão " -"constante e para áreas muito finas é usado preenchimento de vão. O motor " -"Arachne produz perímetros com largura de extrusão variável" +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 "O gerador de perímetro clássico produz paredes com largura de extrusão constante e para áreas muito finas é usado preenchimento de vão. O motor Arachne produz perímetros com largura de extrusão variável" msgid "Classic" msgstr "Clássico" @@ -13700,140 +10892,58 @@ msgstr "Arachne" msgid "Wall transition length" msgstr "Comprimento da transição de perímetro" -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 "" -"Ao fazer a transição entre diferentes números de paredes à medida que a peça " -"fica mais fina, uma certa quantidade de espaço é designada para dividir ou " -"unir os segmentos do perímetro. É expresso como uma porcentagem sobre o " -"diâmetro do bico" +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 "Ao fazer a transição entre diferentes números de paredes à medida que a peça fica mais fina, uma certa quantidade de espaço é designada para dividir ou unir os segmentos do perímetro. É expresso como uma porcentagem sobre o diâmetro do bico" msgid "Wall transitioning filter margin" msgstr "Margem de filtro de transição de perímetro" -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 "" -"Evita a transição de ida e volta entre um perímetro extra e um a menos. Esta " -"margem amplia o intervalo de larguras de extrusão que seguem para [Largura " -"mínima da perímetro - margem, 2 * Largura mínima da perímetro + margem]. " -"Aumentar esta margem reduz o número de transições, o que reduz o número de " -"inícios / paradas de extrusão e o tempo de deslocamento. No entanto, uma " -"grande variação na largura de extrusão pode levar a problemas de subextrusão " -"ou superextrusão. É expresso como uma porcentagem sobre o diâmetro do bico" +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 "Evita a transição de ida e volta entre um perímetro extra e um a menos. Esta margem amplia o intervalo de larguras de extrusão que seguem para [Largura mínima da perímetro - margem, 2 * Largura mínima da perímetro + margem]. Aumentar esta margem reduz o número de transições, o que reduz o número de inícios / paradas de extrusão e o tempo de deslocamento. No entanto, uma grande variação na largura de extrusão pode levar a problemas de subextrusão ou superextrusão. É expresso como uma porcentagem sobre o diâmetro do bico" msgid "Wall transitioning threshold angle" msgstr "Ângulo de limite de transição de perímetro" -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 "" -"Quando criar transições entre números pares e ímpares de paredes. Uma forma " -"de cunha com um ângulo maior do que esta configuração não terá transições e " -"nenhumo perímetro será impresso no centro para preencher o espaço restante. " -"Reduzir esta configuração reduz o número e o comprimento dessas paredes " -"centrais, mas pode deixar vazios ou extrusão excessiva" +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 "Quando criar transições entre números pares e ímpares de paredes. Uma forma de cunha com um ângulo maior do que esta configuração não terá transições e nenhumo perímetro será impresso no centro para preencher o espaço restante. Reduzir esta configuração reduz o número e o comprimento dessas paredes centrais, mas pode deixar vazios ou extrusão excessiva" msgid "Wall distribution count" msgstr "Contagem de distribuição de perímetro" -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 "" -"O número de paredes, contadas a partir do centro, sobre as quais a variação " -"precisa ser espalhada. Valores menores significam que as paredes externas " -"não mudam de largura" +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 "O número de paredes, contadas a partir do centro, sobre as quais a variação precisa ser espalhada. Valores menores significam que as paredes externas não mudam de largura" msgid "Minimum feature size" msgstr "Tamanho mínimo do elemento" -msgid "" -"Minimum thickness of thin features. Model features that are thinner than " -"this value will not be printed, while features thicker than the Minimum " -"feature size will be widened to the Minimum wall width. It's expressed as a " -"percentage over nozzle diameter" -msgstr "" -"Espessura mínima de elementos finos. Elementos do modelo que são mais finos " -"do que este valor não serão impressos, enquanto elementos mais espessos que " -"o tamanho mínimo do elemento serão alargados até a largura mínima do " -"perímetro. É expresso como uma porcentagem sobre o diâmetro do bico" +msgid "Minimum thickness of thin features. Model features that are thinner than this value will not be printed, while features thicker than the Minimum feature size will be widened to the Minimum wall width. It's expressed as a percentage over nozzle diameter" +msgstr "Espessura mínima de elementos finos. Elementos do modelo que são mais finos do que este valor não serão impressos, enquanto elementos mais espessos que o tamanho mínimo do elemento serão alargados até a largura mínima do perímetro. É expresso como uma porcentagem sobre o diâmetro do bico" msgid "Minimum wall length" msgstr "Comprimento mínimo do perímetro" -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 ouside 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 visibile if this setting is set " -"above the default value of 0.5, or if single-wall top surfaces is enabled." -msgstr "" -"Ajuste este valor para evitar que perímetros curtos e não fechados sejam " -"impressos, o que poderia aumentar o tempo de impressão. Valores mais altos " -"removem perímetros mais longos.\n" -"\n" -"NOTA: As superfícies inferior e superior não serão afetadas por este valor " -"para evitar lacunas visuais no exterior do modelo. Ajuste o 'Limiar de um " -"perímetro' nas configurações avançadas abaixo para ajustar a sensibilidade " -"do que é considerado uma superfície superior. 'Limiar de um perímetro' só é " -"visível se esta configuração estiver acima do valor padrão de 0,5, ou se " -"superfícies superiores de uma única parede estiverem habilitadas." +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 ouside 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 visibile if this setting is set above the default value of 0.5, or if single-wall top surfaces is enabled." +msgstr "Ajuste este valor para evitar que perímetros curtos e não fechados sejam impressos, o que poderia aumentar o tempo de impressão. Valores mais altos removem perímetros mais longos.\n\n" +"NOTA: As superfícies inferior e superior não serão afetadas por este valor para evitar lacunas visuais no exterior do modelo. Ajuste o 'Limiar de um perímetro' nas configurações avançadas abaixo para ajustar a sensibilidade do que é considerado uma superfície superior. 'Limiar de um perímetro' só é visível se esta configuração estiver acima do valor padrão de 0,5, ou se superfícies superiores de uma única parede estiverem habilitadas." msgid "First layer minimum wall width" msgstr "Largura mínima do perímetro da primeira camada" -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 "" -"A largura mínima do perímetro que deve ser usada para a primeira camada é " -"recomendada para ser definida com o mesmo tamanho do bico. Este ajuste é " -"esperado para melhorar a aderência." +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 "A largura mínima do perímetro que deve ser usada para a primeira camada é recomendada para ser definida com o mesmo tamanho do bico. Este ajuste é esperado para melhorar a aderência." msgid "Minimum wall width" msgstr "Largura mínima do perímetro" -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 "" -"Largura do perímetro que substituirá elementos finos (de acordo com o " -"tamanho mínimo do elemento) do modelo. Se a Largura mínima do perímetro for " -"mais fina do que a espessura do elemento, o perímetro será tão espesso " -"quanto o próprio elemento. É expresso como uma porcentagem sobre o diâmetro " -"do bico" +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 "Largura do perímetro que substituirá elementos finos (de acordo com o tamanho mínimo do elemento) do modelo. Se a Largura mínima do perímetro for mais fina do que a espessura do elemento, o perímetro será tão espesso quanto o próprio elemento. É expresso como uma porcentagem sobre o diâmetro do bico" msgid "Detect narrow internal solid infill" msgstr "Detectar preenchimento sólido interno estreito" -msgid "" -"This option will auto detect narrow internal solid infill area. If enabled, " -"concentric pattern will be used for the area to speed printing up. " -"Otherwise, rectilinear pattern is used defaultly." -msgstr "" -"Esta opção irá detectar automaticamente áreas de preenchimento sólido " -"interno estreito. Se ativada, o padrão concêntrico será usado para a área " -"para acelerar a impressão. Caso contrário, o padrão reticulado é usado por " -"padrão." +msgid "This option will auto detect narrow internal solid infill area. If enabled, concentric pattern will be used for the area to speed printing up. Otherwise, rectilinear pattern is used defaultly." +msgstr "Esta opção irá detectar automaticamente áreas de preenchimento sólido interno estreito. Se ativada, o padrão concêntrico será usado para a área para acelerar a impressão. Caso contrário, o padrão reticulado é usado por padrão." msgid "invalid value " msgstr "valor inválido " @@ -13857,18 +10967,13 @@ msgid "No check" msgstr "Sem verificação" msgid "Do not run any validity checks, such as gcode path conflicts check." -msgstr "" -"Não execute nenhuma verificação de validade, como a verificação de conflitos " -"de caminho do gcode." +msgstr "Não execute nenhuma verificação de validade, como a verificação de conflitos de caminho do gcode." msgid "Ensure on bed" msgstr "Garantir na mesa" -msgid "" -"Lift the object above the bed when it is partially below. Disabled by default" -msgstr "" -"Eleve o objeto acima da mesa quando estiver parcialmente abaixo. Desativado " -"por padrão" +msgid "Lift the object above the bed when it is partially below. Disabled by default" +msgstr "Eleve o objeto acima da mesa quando estiver parcialmente abaixo. Desativado por padrão" msgid "Orient Options" msgstr "Opções de Orientação" @@ -13888,14 +10993,8 @@ msgstr "Ângulo de rotação ao redor do eixo Y em graus." msgid "Data directory" msgstr "Diretório de dados" -msgid "" -"Load and store settings at the given directory. This is useful for " -"maintaining different profiles or including configurations from a network " -"storage." -msgstr "" -"Carregar e armazenar configurações no diretório fornecido. Isso é útil para " -"manter diferentes perfis ou incluir configurações de um armazenamento em " -"rede." +msgid "Load and store settings at the given directory. This is useful for maintaining different profiles or including configurations from a network storage." +msgstr "Carregar e armazenar configurações no diretório fornecido. Isso é útil para manter diferentes perfis ou incluir configurações de um armazenamento em rede." msgid "Load custom gcode" msgstr "Carregar gcode personalizado" @@ -13909,23 +11008,11 @@ msgstr "Z-hop atual" msgid "Contains z-hop present at the beginning of the custom G-code block." msgstr "Contém o z-hop presente no início do bloco de G-code personalizado." -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 " -"PrusaSlicer knows where it travels from when it gets control back." -msgstr "" -"Posição do extrusor no início do bloco de G-code personalizado. Se o G-code " -"personalizado se deslocar para outro lugar, ele deve escrever nesta variável " -"para que o PrusaSlicer saiba de onde se desloca quando recupera o controle." +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 PrusaSlicer knows where it travels from when it gets control back." +msgstr "Posição do extrusor no início do bloco de G-code personalizado. Se o G-code personalizado se deslocar para outro lugar, ele deve escrever nesta variável para que o PrusaSlicer saiba de onde se desloca quando recupera o controle." -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 " -"PrusaSlicer deretracts correctly when it gets control back." -msgstr "" -"Estado de retração no início do bloco de G-code personalizado. Se o G-code " -"personalizado mover o eixo do extrusor, ele deve escrever nesta variável " -"para que o PrusaSlicer desretraia corretamente quando recupera o controle." +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 PrusaSlicer deretracts correctly when it gets control back." +msgstr "Estado de retração no início do bloco de G-code personalizado. Se o G-code personalizado mover o eixo do extrusor, ele deve escrever nesta variável para que o PrusaSlicer desretraia corretamente quando recupera o controle." msgid "Extra deretraction" msgstr "Desretração extra" @@ -13942,12 +11029,8 @@ msgstr "Índice base zero da extrusora atualmente utilizada." msgid "Current object index" msgstr "Índice do objeto atual" -msgid "" -"Specific for sequential printing. Zero-based index of currently printed " -"object." -msgstr "" -"Específico para impressão sequencial. Índice base zero do objeto atualmente " -"impresso." +msgid "Specific for sequential printing. Zero-based index of currently printed object." +msgstr "Específico para impressão sequencial. Índice base zero do objeto atualmente impresso." msgid "Has wipe tower" msgstr "Tem torre de limpeza" @@ -13958,36 +11041,26 @@ msgstr "Se a torre de limpeza está sendo gerada ou não na impressão." msgid "Initial extruder" msgstr "Extrusora inicial" -msgid "" -"Zero-based index of the first extruder used in the print. Same as " -"initial_tool." -msgstr "" -"Índice base zero da primeira extrusora utilizada na impressão. Mesmo que " -"ferramenta_inicial." +msgid "Zero-based index of the first extruder used in the print. Same as initial_tool." +msgstr "Índice base zero da primeira extrusora utilizada na impressão. Mesmo que ferramenta_inicial." msgid "Initial tool" msgstr "Ferramenta inicial" -msgid "" -"Zero-based index of the first extruder used in the print. Same as " -"initial_extruder." -msgstr "" -"Índice base zero da primeira extrusora utilizada na impressão. Mesmo que " -"extrusora_inicial." +msgid "Zero-based index of the first extruder used in the print. Same as initial_extruder." +msgstr "Índice base zero da primeira extrusora utilizada na impressão. Mesmo que extrusora_inicial." msgid "Is extruder used?" msgstr "Extrusora utilizada?" msgid "Vector of bools stating whether a given extruder is used in the print." -msgstr "" -"Vetor de booleanos indicando se uma dada extrusora é utilizada na impressão." +msgstr "Vetor de booleanos indicando se uma dada extrusora é utilizada na impressão." msgid "Volume per extruder" msgstr "Volume por extrusora" msgid "Total filament volume extruded per extruder during the entire print." -msgstr "" -"Volume total de filamento extrudado por extrusora durante toda a impressão." +msgstr "Volume total de filamento extrudado por extrusora durante toda a impressão." msgid "Total toolchanges" msgstr "Total de trocas de ferramenta" @@ -14004,22 +11077,14 @@ msgstr "Volume total de filamento usado durante toda a impressão." msgid "Weight per extruder" msgstr "Peso por extrusora" -msgid "" -"Weight per extruder extruded during the entire print. Calculated from " -"filament_density value in Filament Settings." -msgstr "" -"Peso por extrusora extrudido durante toda a impressão. Calculado a partir do " -"valor de densidade do filamento nas configurações de filamento." +msgid "Weight per extruder extruded during the entire print. Calculated from filament_density value in Filament Settings." +msgstr "Peso por extrusora extrudido durante toda a impressão. Calculado a partir do valor de densidade do filamento nas configurações de filamento." msgid "Total weight" msgstr "Peso total" -msgid "" -"Total weight of the print. Calculated from filament_density value in " -"Filament Settings." -msgstr "" -"Peso total da impressão. Calculado a partir do valor de densidade do " -"filamento nas configurações de filamento." +msgid "Total weight of the print. Calculated from filament_density value in Filament Settings." +msgstr "Peso total da impressão. Calculado a partir do valor de densidade do filamento nas configurações de filamento." msgid "Total layer count" msgstr "Total de camadas" @@ -14037,22 +11102,14 @@ msgid "Number of instances" msgstr "Número de instâncias" msgid "Total number of object instances in the print, summed over all objects." -msgstr "" -"Número total de instâncias de objeto na impressão, somadas sobre todos os " -"objetos." +msgstr "Número total de instâncias de objeto na impressão, somadas sobre todos os objetos." msgid "Scale per object" msgstr "Escala por objeto" -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" +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 "" -"Contém uma frase com informações sobre qual escala foi aplicada aos objetos " -"individuais. A indexação dos objetos é baseada em zero (o primeiro objeto " -"tem índice 0).\n" +msgstr "Contém uma frase com informações sobre qual escala foi aplicada aos objetos individuais. A indexação dos objetos é baseada em zero (o primeiro objeto tem índice 0).\n" "Exemplo: 'x:100% y:50% z:100'." msgid "Input filename without extension" @@ -14061,27 +11118,17 @@ msgstr "Nome do arquivo de entrada sem extensão" msgid "Source filename of the first object, without extension." msgstr "Nome do arquivo de origem do primeiro objeto, sem extensão." -msgid "" -"The vector has two elements: x and y coordinate of the point. Values in mm." -msgstr "" -"O vetor possui dois elementos: coordenada x e y do ponto. Valores em mm." +msgid "The vector has two elements: x and y coordinate of the point. Values in mm." +msgstr "O vetor possui dois elementos: coordenada x e y do ponto. Valores em mm." -msgid "" -"The vector has two elements: x and y dimension of the bounding box. Values " -"in mm." -msgstr "" -"O vetor tem dois elementos: dimensão x e y da caixa delimitadora. Valores em " -"mm." +msgid "The vector has two elements: x and y dimension of the bounding box. Values in mm." +msgstr "O vetor tem dois elementos: dimensão x e y da caixa delimitadora. Valores em mm." msgid "First layer convex hull" msgstr "Parede convexa da primeira camada" -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 "" -"Vetor de pontos do perímetro convexo da primeira camada. Cada elemento tem o " -"seguinte formato: '[x, y]' (x e y são números em ponto flutuante em mm)." +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 "Vetor de pontos do perímetro convexo da primeira camada. Cada elemento tem o seguinte formato: '[x, y]' (x e y são números em ponto flutuante em mm)." msgid "Bottom-left corner of first layer bounding box" msgstr "Canto inferior esquerdo da caixa delimitadora da primeira camada" @@ -14125,12 +11172,8 @@ msgstr "Nome do perfil de impressão usado para fatiar." msgid "Filament preset name" msgstr "Nome do perfil de filamento" -msgid "" -"Names of the filament presets used for slicing. The variable is a vector " -"containing one name for each extruder." -msgstr "" -"Nomes dos perfis de filamento usados para fatiar. A variável é um vetor " -"contendo um nome para cada extrusora." +msgid "Names of the filament presets used for slicing. The variable is a vector containing one name for each extruder." +msgstr "Nomes dos perfis de filamento usados para fatiar. A variável é um vetor contendo um nome para cada extrusora." msgid "Printer preset name" msgstr "Nome do perfil de impressora" @@ -14148,19 +11191,13 @@ msgid "Layer number" msgstr "Número da camada" msgid "Index of the current layer. One-based (i.e. first layer is number 1)." -msgstr "" -"Índice da camada atual. Baseado em um (ou seja, a primeira camada é o número " -"1)." +msgstr "Índice da camada atual. Baseado em um (ou seja, a primeira camada é o número 1)." msgid "Layer z" msgstr "Camada z" -msgid "" -"Height of the current layer above the print bed, measured to the top of the " -"layer." -msgstr "" -"Altura da camada atual acima da mesa de impressão, medida até o topo da " -"camada." +msgid "Height of the current layer above the print bed, measured to the top of the layer." +msgstr "Altura da camada atual acima da mesa de impressão, medida até o topo da camada." msgid "Maximal layer z" msgstr "Altura máxima da camada z" @@ -14204,13 +11241,9 @@ msgstr "balanço flutuante" msgid "large overhangs" msgstr "overhangs grandes" -#, c-format, boost-format -msgid "" -"It seems object %s has %s. Please re-orient the object or enable support " -"generation." -msgstr "" -"Parece que o objeto %s tem %s. Por favor, reoriente o objeto ou habilite a " -"geração de suporte." +#, possible-c-format, possible-boost-format +msgid "It seems object %s has %s. Please re-orient the object or enable support generation." +msgstr "Parece que o objeto %s tem %s. Por favor, reoriente o objeto ou habilite a geração de suporte." msgid "Optimizing toolpath" msgstr "Otimizando caminho da ferramenta" @@ -14218,23 +11251,15 @@ msgstr "Otimizando caminho da ferramenta" msgid "Slicing mesh" msgstr "Fatiando malha" -msgid "" -"No layers were detected. You might want to repair your STL file(s) or check " -"their size or thickness and retry.\n" -msgstr "" -"Nenhuma camada foi detectada. Você pode querer reparar seu(s) arquivo(s) STL " -"ou verificar seu tamanho ou espessura e tentar novamente.\n" +msgid "No layers were detected. You might want to repair your STL file(s) or check their size or thickness and retry.\n" +msgstr "Nenhuma camada foi detectada. Você pode querer reparar seu(s) arquivo(s) STL ou verificar seu tamanho ou espessura e tentar novamente.\n" -msgid "" -"An object's XY size compensation will not be used because it is also color-" -"painted.\n" +msgid "An object's XY size compensation will not be used because it is also color-painted.\n" "XY Size compensation can not be combined with color-painting." -msgstr "" -"A compensação de tamanho XY de um objeto não será usada porque ele também " -"está pintado com cor.\n" +msgstr "A compensação de tamanho XY de um objeto não será usada porque ele também está pintado com cor.\n" "A compensação de tamanho XY não pode ser combinada com pintura colorida." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Support: generate toolpath at layer %d" msgstr "Suporte: gerar caminho da ferramenta na camada %d" @@ -14253,23 +11278,20 @@ msgstr "Suporte: desenhar polígonos" msgid "Support: generate toolpath" msgstr "Suporte: gerar caminho da ferramenta" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Support: generate polygons at layer %d" msgstr "Suporte: gerar polígonos na camada %d" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Support: fix holes at layer %d" msgstr "Suporte: corrigir buracos na camada %d" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Support: propagate branches at layer %d" msgstr "Suporte: propagar ramificações na camada %d" -msgid "" -"Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension." -msgstr "" -"Formato de arquivo desconhecido. O arquivo de entrada deve ter extensão ." -"stl, .obj, .amf(.xml)." +msgid "Unknown file format. Input file must have .stl, .obj, .amf(.xml) extension." +msgstr "Formato de arquivo desconhecido. O arquivo de entrada deve ter extensão .stl, .obj, .amf(.xml)." msgid "Loading of a model file failed." msgstr "Falha ao carregar um arquivo de modelo." @@ -14278,9 +11300,7 @@ msgid "The supplied file couldn't be read because it's empty" msgstr "O arquivo fornecido não pôde ser lido porque está vazio" msgid "Unknown file format. Input file must have .3mf or .zip.amf extension." -msgstr "" -"Formato de arquivo desconhecido. O arquivo de entrada deve ter extensão .3mf " -"ou .zip.amf." +msgstr "Formato de arquivo desconhecido. O arquivo de entrada deve ter extensão .3mf ou .zip.amf." msgid "Canceled" msgstr "Cancelado" @@ -14289,7 +11309,7 @@ msgid "load_obj: failed to parse" msgstr "load_obj: falha ao analisar" msgid "load mtl in obj: failed to parse" -msgstr "" +msgstr "carregar mtl em obj: falha ao analisar" msgid "The file contains polygons with more than 4 vertices." msgstr "O arquivo contém polígonos com mais de 4 vértices." @@ -14339,17 +11359,12 @@ msgstr "Terminar" msgid "How to use calibration result?" msgstr "Como usar o resultado da calibração?" -msgid "" -"You could change the Flow Dynamics Calibration Factor in material editing" -msgstr "" -"Você pode alterar o Fator de Calibração de Dinâmica de Fluxo na edição de " -"materiais" +msgid "You could change the Flow Dynamics Calibration Factor in material editing" +msgstr "Você pode alterar o Fator de Calibração de Dinâmica de Fluxo na edição de materiais" -msgid "" -"The current firmware version of the printer does not support calibration.\n" +msgid "The current firmware version of the printer does not support calibration.\n" "Please upgrade the printer firmware." -msgstr "" -"A versão atual do firmware da impressora não suporta calibração.\n" +msgstr "A versão atual do firmware da impressora não suporta calibração.\n" "Por favor, atualize o firmware da impressora." msgid "Calibration not supported" @@ -14370,15 +11385,13 @@ msgstr "Fluxo" msgid "Max Volumetric Speed" msgstr "Velocidade Volumétrica Máxima" -#, c-format, boost-format -msgid "" -"Please input valid values:\n" +#, 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 "" -"Por favor, insira valores válidos:\n" +msgstr "Por favor, insira valores válidos:\n" "Valor de início: >= %.1f\n" "Valor de término: <= %.1f\n" "Valor de término: > Valor de início\n" @@ -14387,7 +11400,7 @@ msgstr "" msgid "The name cannot be empty." msgstr "O nome não pode estar vazio." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "The selected preset: %s is not found." msgstr "O preset selecionado: %s não foi encontrado." @@ -14400,11 +11413,8 @@ msgstr "O nome é o mesmo que outro nome de preset existente" msgid "create new preset failed." msgstr "falha ao criar novo preset." -msgid "" -"Are you sure to cancel the current calibration and return to the home page?" -msgstr "" -"Tem certeza de que deseja cancelar a calibração atual e retornar à página " -"inicial?" +msgid "Are you sure to cancel the current calibration and return to the home page?" +msgstr "Tem certeza de que deseja cancelar a calibração atual e retornar à página inicial?" msgid "No Printer Connected!" msgstr "Nenhuma impressora conectada!" @@ -14418,13 +11428,10 @@ msgstr "Por favor, selecione o filamento para calibrar." msgid "The input value size must be 3." msgstr "O tamanho do valor de entrada deve ser 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" +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 "" +msgstr "Esse tipo de máquina só pode manter 16 resultados por bico no histórico. Você pode deletar resultados existentes e então começar a calibração. Ou você pode continuar, mas não poderá criar novos resultados. \n" +"Você ainda quer continuar com a calibração?" msgid "Connecting to printer..." msgstr "Conectando à impressora..." @@ -14435,21 +11442,13 @@ msgstr "O resultado do teste falhado foi descartado." msgid "Flow Dynamics Calibration result has been saved to the printer" msgstr "O resultado da Calibração de Dinâmica de Fluxo foi salvo na impressora" -#, c-format, 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 "" -"Já existe um resultado de calibração histórico com o mesmo nome: %s. Apenas " -"um dos resultados com o mesmo nome é salvo. Tem certeza que deseja " -"sobrescrever o resultado histórico?" +#, 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 "Já existe um resultado de calibração histórico com o mesmo nome: %s. Apenas um dos resultados com o mesmo nome é salvo. Tem certeza que deseja sobrescrever o resultado histórico?" -#, c-format, boost-format -msgid "" -"This machine type can only hold %d history results per nozzle. This result " -"will not be saved." -msgstr "" +#, 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 "Este tipo de máquina só pode salvar %d resultados por bico. Este resultado não será salvo." msgid "Internal Error" msgstr "Erro Interno" @@ -14461,158 +11460,58 @@ msgid "Flow rate calibration result has been saved to preset" msgstr "O resultado da calibração de fluxo foi salvo no preset" msgid "Max volumetric speed calibration result has been saved to preset" -msgstr "" -"O resultado da calibração de fluxo volumétrico máximo foi salvo no preset" +msgstr "O resultado da calibração de fluxo volumétrico máximo foi salvo no preset" msgid "When do you need Flow Dynamics Calibration" msgstr "Quando você precisa da Calibração de Dinâmica de Fluxo" -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" +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 "" -"Adicionamos agora a auto-calibração para diferentes filamentos, que é " -"totalmente automatizada e o resultado será salvo na impressora para uso " -"futuro. Você só precisa fazer a calibração nos seguintes casos limitados:\n" -"1. Se você introduzir um novo filamento de marcas/modelos diferentes ou se o " -"filamento estiver úmido;\n" +"3. If the max volumetric speed or print temperature is changed in the filament setting." +msgstr "Adicionamos agora a auto-calibração para diferentes filamentos, que é totalmente automatizada e o resultado será salvo na impressora para uso futuro. Você só precisa fazer a calibração nos seguintes casos limitados:\n" +"1. Se você introduzir um novo filamento de marcas/modelos diferentes ou se o filamento estiver úmido;\n" "2. se o bico estiver desgastado ou substituído por um novo;\n" -"3. Se o fluxo volumétrico máximo ou a temperatura de impressão forem " -"alteradas na configuração do filamento." +"3. Se o fluxo volumétrico máximo ou a temperatura de impressão forem alteradas na configuração do filamento." msgid "About this calibration" msgstr "Sobre esta calibração" -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 there are a few cases that will make the calibration result not " -"reliable: using a texture plate to do the calibration; the build plate does " -"not have good adhesion (please wash the build plate or apply gluestick!) ..." -"You can find more from 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 "" -"Encontre os detalhes da Calibração de Dinâmica de Fluxo na nossa wiki.\n" -"\n" -"Normalmente, a calibração não é necessária. Quando você inicia uma impressão " -"de cor/material única, com a opção \"calibração de dinâmica de fluxo\" " -"ativada no menu de início da impressão, a impressora seguirá o método " -"antigo, calibrando o filamento antes da impressão; Quando você inicia uma " -"impressão de cor/material múltipla, a impressora usará o parâmetro de " -"compensação padrão para o filamento durante cada troca de filamento, o que " -"resultará em um bom resultado na maioria dos casos.\n" -"\n" -"Por favor, note que existem alguns casos que podem tornar o resultado da " -"calibração não confiável: usar uma mesa texturizada para fazer a calibração; " -"a mesa não tem boa adesão (por favor, lave a mesa ou aplique cola!) ... Você " -"pode encontrar mais informações em nossa wiki.\n" -"\n" -"Os resultados da calibração têm cerca de 10 por cento de oscilação em nossos " -"testes, o que pode fazer com que o resultado não seja exatamente o mesmo em " -"cada calibração. Ainda estamos investigando a causa raiz para fazer " -"melhorias com novas atualizações." +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 there are a few cases that will make the calibration result not reliable: using a texture plate to do the calibration; the build plate does not have good adhesion (please wash the build plate or apply gluestick!) ...You can find more from 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 "Encontre os detalhes da Calibração de Dinâmica de Fluxo na nossa wiki.\n\n" +"Normalmente, a calibração não é necessária. Quando você inicia uma impressão de cor/material única, com a opção \"calibração de dinâmica de fluxo\" ativada no menu de início da impressão, a impressora seguirá o método antigo, calibrando o filamento antes da impressão; Quando você inicia uma impressão de cor/material múltipla, a impressora usará o parâmetro de compensação padrão para o filamento durante cada troca de filamento, o que resultará em um bom resultado na maioria dos casos.\n\n" +"Por favor, note que existem alguns casos que podem tornar o resultado da calibração não confiável: usar uma mesa texturizada para fazer a calibração; a mesa não tem boa adesão (por favor, lave a mesa ou aplique cola!) ... Você pode encontrar mais informações em nossa wiki.\n\n" +"Os resultados da calibração têm cerca de 10 por cento de oscilação em nossos testes, o que pode fazer com que o resultado não seja exatamente o mesmo em cada calibração. Ainda estamos investigando a causa raiz para fazer melhorias com novas atualizações." msgid "When to use Flow Rate Calibration" msgstr "Quando usar a Calibração de Fluxo" -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" +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 "" -"Depois de usar a Calibração de Dinâmica de Fluxo, ainda pode haver alguns " -"problemas de extrusão, como:\n" -"1. Superextrusão: excesso de material no objeto impresso, formando grumos ou " -"espinhas, ou as camadas parecem mais espessas do que o esperado e não " -"uniformes.\n" -"2. Subextrusão: camadas muito finas, resistência fraca do preenchimento ou " -"vazios na camada superior do modelo, mesmo ao imprimir lentamente.\n" -"3. Baixa Qualidade de Superfície: a superfície de suas impressões parece " -"áspera ou irregular.\n" -"4. Integridade Estrutural Fraca: as impressões quebram facilmente ou não " -"parecem tão robustas quanto deveriam." +"4. Weak Structural Integrity: Prints break easily or don't seem as sturdy as they should be." +msgstr "Depois de usar a Calibração de Dinâmica de Fluxo, ainda pode haver alguns problemas de extrusão, como:\n" +"1. Superextrusão: excesso de material no objeto impresso, formando grumos ou espinhas, ou as camadas parecem mais espessas do que o esperado e não uniformes.\n" +"2. Subextrusão: camadas muito finas, resistência fraca do preenchimento ou vazios na camada superior do modelo, mesmo ao imprimir lentamente.\n" +"3. Baixa Qualidade de Superfície: a superfície de suas impressões parece áspera ou irregular.\n" +"4. Integridade Estrutural Fraca: as impressões quebram facilmente ou não parecem tão robustas quanto deveriam." -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 "" -"Além disso, a Calibração de Fluxo é crucial para materiais espumantes como " -"LW-PLA usados em aviões RC. Esses materiais se expandem muito quando " -"aquecidos, e a calibração fornece uma taxa de fluxo de referência útil." +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 "Além disso, a Calibração de Fluxo é crucial para materiais espumantes como LW-PLA usados em aviões RC. Esses materiais se expandem muito quando aquecidos, e a calibração fornece uma taxa de fluxo de referência útil." -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 "" -"A Calibração de Fluxo mede a relação entre os volumes de extrusão esperados " -"e reais. A configuração padrão funciona bem em impressoras Bambu Lab e " -"filamentos oficiais, pois foram pré-calibrados e ajustados. Para um " -"filamento regular, geralmente você não precisará realizar uma Calibração da " -"Taxa de Fluxo a menos que ainda veja os defeitos listados após ter feito " -"outras calibrações. Para mais detalhes, consulte o artigo na wiki." +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 "A Calibração de Fluxo mede a relação entre os volumes de extrusão esperados e reais. A configuração padrão funciona bem em impressoras Bambu Lab e filamentos oficiais, pois foram pré-calibrados e ajustados. Para um filamento regular, geralmente você não precisará realizar uma Calibração da Taxa de Fluxo a menos que ainda veja os defeitos listados após ter feito outras calibrações. Para mais detalhes, consulte o artigo na wiki." -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 "" -"A Calibração Automática de Fluxo utiliza a tecnologia Micro-Lidar da Bambu " -"Lab, medindo diretamente os padrões de calibração. No entanto, esteja ciente " -"de que a eficácia e precisão deste método podem ser comprometidas com tipos " -"específicos de materiais. Especialmente, filamentos que são transparentes ou " -"semi-transparentes, com partículas brilhantes ou com acabamento altamente " -"reflexivo podem não ser adequados para esta calibração e podem produzir " -"resultados abaixo do desejado.\n" -"\n" -"Os resultados da calibração podem variar entre cada calibração ou filamento. " -"Ainda estamos melhorando a precisão e compatibilidade desta calibração por " -"meio de atualizações de firmware ao longo do tempo.\n" -"\n" -"Atenção: A Calibração da Taxa de Fluxo é um processo avançado, para ser " -"tentado apenas por aqueles que entendem completamente seu propósito e " -"implicações. O uso incorreto pode resultar em impressões de baixa qualidade " -"ou danos à impressora. Certifique-se de ler e entender cuidadosamente o " -"processo antes de fazê-lo." +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 "A Calibração Automática de Fluxo utiliza a tecnologia Micro-Lidar da Bambu Lab, medindo diretamente os padrões de calibração. No entanto, esteja ciente de que a eficácia e precisão deste método podem ser comprometidas com tipos específicos de materiais. Especialmente, filamentos que são transparentes ou semi-transparentes, com partículas brilhantes ou com acabamento altamente reflexivo podem não ser adequados para esta calibração e podem produzir resultados abaixo do desejado.\n\n" +"Os resultados da calibração podem variar entre cada calibração ou filamento. Ainda estamos melhorando a precisão e compatibilidade desta calibração por meio de atualizações de firmware ao longo do tempo.\n\n" +"Atenção: A Calibração da Taxa de Fluxo é um processo avançado, para ser tentado apenas por aqueles que entendem completamente seu propósito e implicações. O uso incorreto pode resultar em impressões de baixa qualidade ou danos à impressora. Certifique-se de ler e entender cuidadosamente o processo antes de fazê-lo." msgid "When you need Max Volumetric Speed Calibration" msgstr "Quando você precisa da Calibração de Velocidade Volumétrica Máxima" @@ -14621,9 +11520,7 @@ msgid "Over-extrusion or under extrusion" msgstr "Sobre-extrusão ou sub-extrusão" msgid "Max Volumetric Speed calibration is recommended when you print with:" -msgstr "" -"A calibração de Velocidade Volumétrica Máxima é recomendada quando você " -"imprime com:" +msgstr "A calibração de Velocidade Volumétrica Máxima é recomendada quando você imprime com:" msgid "material with significant thermal shrinkage/expansion, such as..." msgstr "material com significativa contração/expansão térmica, como..." @@ -14634,19 +11531,11 @@ msgstr "materiais com diâmetro de filamento impreciso" msgid "We found the best Flow Dynamics Calibration Factor" msgstr "Encontramos o melhor Fator de Calibração de Dinâmica de Fluxo" -msgid "" -"Part of the calibration failed! You may clean the plate and retry. The " -"failed test result would be dropped." -msgstr "" -"Parte da calibração falhou! Você pode limpar a mesa e tentar novamente. O " -"resultado do teste falho será descartado." +msgid "Part of the calibration failed! You may clean the plate and retry. The failed test result would be dropped." +msgstr "Parte da calibração falhou! Você pode limpar a mesa e tentar novamente. O resultado do teste falho será descartado." -msgid "" -"*We recommend you to add brand, materia, type, and even humidity level in " -"the Name" -msgstr "" -"*Recomendamos que você adicione marca, material, tipo e até mesmo nível de " -"umidade no nome" +msgid "*We recommend you to add brand, materia, type, and even humidity level in the Name" +msgstr "*Recomendamos que você adicione marca, material, tipo e até mesmo nível de umidade no nome" msgid "Failed" msgstr "Falhou" @@ -14657,22 +11546,12 @@ msgstr "Por favor, insira o nome que você deseja salvar na impressora." msgid "The name cannot exceed 40 characters." msgstr "O nome não pode ter mais de 40 caracteres." -msgid "" -"Only one of the results with the same name will be saved. Are you sure you " -"want to overrides the other results?" -msgstr "" -"Apenas um dos resultados com o mesmo nome será salvo. Você tem certeza de " -"que deseja substituir os outros resultados?" +msgid "Only one of the results with the same name will be saved. Are you sure you want to overrides the other results?" +msgstr "Apenas um dos resultados com o mesmo nome será salvo. Você tem certeza de que deseja substituir os outros resultados?" -#, c-format, 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 overrides the historical result?" -msgstr "" -"Já existe um resultado de calibração histórico com o mesmo nome: %s. Apenas " -"um dos resultados com o mesmo nome é salvo. Você tem certeza de que deseja " -"substituir o resultado histórico?" +#, 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 overrides the historical result?" +msgstr "Já existe um resultado de calibração histórico com o mesmo nome: %s. Apenas um dos resultados com o mesmo nome é salvo. Você tem certeza de que deseja substituir o resultado histórico?" msgid "Please find the best line on your plate" msgstr "Por favor, encontre a melhor linha em sua mesa" @@ -14719,7 +11598,7 @@ msgstr "Preencha o valor acima do bloco com a superfície superior mais lisa" msgid "Skip Calibration2" msgstr "Pular Calibração2" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "flow ratio : %s " msgstr "fluxo: %s " @@ -14730,8 +11609,7 @@ msgid "Please choose a block with smoothest top surface." msgstr "Por favor, escolha um bloco com a superfície superior mais lisa." msgid "Please input a valid value (0 <= Max Volumetric Speed <= 60)" -msgstr "" -"Por favor, insira um valor válido (0 <= Velocidade Volumétrica Máxima <= 60)" +msgstr "Por favor, insira um valor válido (0 <= Velocidade Volumétrica Máxima <= 60)" msgid "Calibration Type" msgstr "Tipo de Calibração" @@ -14745,12 +11623,8 @@ msgstr "Calibração Fina baseada no fluxo" msgid "Title" msgstr "Título" -msgid "" -"A test model will be printed. Please clear the build plate and place it back " -"to the hot bed before calibration." -msgstr "" -"Um modelo de teste será impresso. Por favor, limpe a mesa e a coloque de " -"volta na mesa aquecida antes da calibração." +msgid "A test model will be printed. Please clear the build plate and place it back to the hot bed before calibration." +msgstr "Um modelo de teste será impresso. Por favor, limpe a mesa e a coloque de volta na mesa aquecida antes da calibração." msgid "Printing Parameters" msgstr "Parâmetros de Impressão" @@ -14767,15 +11641,12 @@ msgstr "Carretel Externo" msgid "Filament For Calibration" msgstr "Filamento Para Calibração" -msgid "" -"Tips for calibration material: \n" +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 "" -"Dicas para material de calibração:\n" +msgstr "Dicas para material de calibração:\n" "- Materiais que podem compartilhar a mesma temperatura de mesa aquecida\n" -"- Diferentes marcas e famílias de filamentos (Marca = Bambu, Família = " -"Básico, Fosco)" +"- Diferentes marcas e famílias de filamentos (Marca = Bambu, Família = Básico, Fosco)" msgid "Pattern" msgstr "Padrão" @@ -14783,7 +11654,7 @@ msgstr "Padrão" msgid "Method" msgstr "Método" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "%s is not compatible with %s" msgstr "%s não é compatível com %s" @@ -14829,15 +11700,15 @@ msgstr "Atualizando os registros históricos de Calibração de Dinâmica de Flu msgid "Action" msgstr "Ação" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "This machine type can only hold %d history results per nozzle." -msgstr "" +msgstr "Este tipo de máquina só pode salvar %d resultados por bico." msgid "Edit Flow Dynamics Calibration" msgstr "Editar Calibração de Dinâmica de Fluxo" msgid "New Flow Dynamic Calibration" -msgstr "" +msgstr "Nova Calibração de Dinâmica de Fluxo" msgid "Ok" msgstr "Ok" @@ -14869,12 +11740,10 @@ msgstr "Concluído" msgid "Multiple resolved IP addresses" msgstr "Múltiplos endereços IP resolvidos" -#, boost-format -msgid "" -"There are several IP addresses resolving to hostname %1%.\n" +#, possible-boost-format +msgid "There are several IP addresses resolving to hostname %1%.\n" "Please select one that should be used." -msgstr "" -"Há vários endereços IP resolvendo para o nome do host %1%.\n" +msgstr "Há vários endereços IP resolvendo para o nome do host %1%.\n" "Por favor, selecione um que deve ser usado." msgid "PA Calibration" @@ -14910,13 +11779,11 @@ msgstr "Passo de PA: " msgid "Print numbers" msgstr "Número de Impressões" -msgid "" -"Please input valid values:\n" +msgid "Please input valid values:\n" "Start PA: >= 0.0\n" "End PA: > Start PA\n" "PA step: >= 0.001)" -msgstr "" -"Por favor, insira valores válidos:\n" +msgstr "Por favor, insira valores válidos:\n" "Iniciar PA: >= 0.0\n" "Finalizar PA: > Iniciar PA\n" "Passo de PA: >= 0.001)" @@ -14954,13 +11821,11 @@ msgstr "Temp. final: " msgid "Temp step: " msgstr "Passo de Temperatura: " -msgid "" -"Please input valid values:\n" +msgid "Please input valid values:\n" "Start temp: <= 350\n" "End temp: >= 170\n" "Start temp > End temp + 5)" -msgstr "" -"Por favor, insira valores válidos:\n" +msgstr "Por favor, insira valores válidos:\n" "Temp. inicial: <= 350\n" "Temp. final: >= 170\n" "Temp. inicial > Temp. final + 5)" @@ -14977,13 +11842,11 @@ msgstr "Finalizar Velocidade Volumétrica: " msgid "step: " msgstr "passo: " -msgid "" -"Please input valid values:\n" +msgid "Please input valid values:\n" "start > 0 \n" "step >= 0\n" "end > start + step)" -msgstr "" -"Por favor, insira valores válidos:\n" +msgstr "Por favor, insira valores válidos:\n" "início > 0\n" "passo >= 0\n" "fim > início + passo)" @@ -14997,13 +11860,11 @@ msgstr "Velocidade Inicial: " msgid "End speed: " msgstr "Velocidade Final: " -msgid "" -"Please input valid values:\n" +msgid "Please input valid values:\n" "start > 10 \n" "step >= 0\n" "end > start + step)" -msgstr "" -"Por favor, insira valores válidos:\n" +msgstr "Por favor, insira valores válidos:\n" "início > 10\n" "passo >= 0\n" "fim > início + passo)" @@ -15024,13 +11885,12 @@ msgid "Upload to Printer Host with the following filename:" msgstr "Enviar para o Host da Impressora com o seguinte nome de arquivo:" msgid "Use forward slashes ( / ) as a directory separator if needed." -msgstr "" -"Use barras inclinadas ( / ) como separador de diretórios, se necessário." +msgstr "Use barras inclinadas ( / ) como separador de diretórios, se necessário." msgid "Upload to storage" msgstr "Enviar para armazenamento" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Upload filename doesn't end with \"%s\". Do you wish to continue?" msgstr "O nome do arquivo enviado não termina com \"%s\". Deseja continuar?" @@ -15201,73 +12061,47 @@ msgid "Vendor is not selected, please reselect vendor." msgstr "Fornecedor não está selecionado, por favor, reselecione o fornecedor." msgid "Custom vendor is not input, please input custom vendor." -msgstr "" -"O fornecedor personalizado não foi inserido, por favor insira o fornecedor " -"personalizado." +msgstr "O fornecedor personalizado não foi inserido, por favor insira o fornecedor personalizado." -msgid "" -"\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." -msgstr "" -"\"Bambu\" ou \"Genérico\" não podem ser usados como fornecedor para " -"filamentos personalizados." +msgid "\"Bambu\" or \"Generic\" can not be used as a Vendor for custom filaments." +msgstr "\"Bambu\" ou \"Genérico\" não podem ser usados como fornecedor para filamentos personalizados." msgid "Filament type is not selected, please reselect type." -msgstr "" -"O tipo de filamento não está selecionado, por favor, reselecione o tipo." +msgstr "O tipo de filamento não está selecionado, por favor, reselecione o tipo." msgid "Filament serial is not inputed, please input serial." msgstr "O serial do filamento não foi inserido, por favor, insira o serial." -msgid "" -"There may be escape characters in the vendor or serial input of filament. " -"Please delete and re-enter." -msgstr "" -"Pode haver caracteres de escape na entrada de fornecedor ou serial do " -"filamento. Por favor, exclua e insira novamente." +msgid "There may be escape characters in the vendor or serial input of filament. Please delete and re-enter." +msgstr "Pode haver caracteres de escape na entrada de fornecedor ou serial do filamento. Por favor, exclua e insira novamente." msgid "All inputs in the custom vendor or serial are spaces. Please re-enter." -msgstr "" -"Todas as entradas no fornecedor personalizado ou serial são espaços. Por " -"favor, insira novamente." +msgstr "Todas as entradas no fornecedor personalizado ou serial são espaços. Por favor, insira novamente." msgid "The vendor can not be a number. Please re-enter." msgstr "O fornecedor não pode ser um número. Por favor, insira novamente." -msgid "" -"You have not selected a printer or preset yet. Please select at least one." -msgstr "" -"Você ainda não selecionou uma impressora ou preset. Por favor, selecione " -"pelo menos um." +msgid "You have not selected a printer or preset yet. Please select at least one." +msgstr "Você ainda não selecionou uma impressora ou preset. Por favor, selecione pelo menos um." -#, c-format, boost-format -msgid "" -"The Filament name %s you created already exists. \n" -"If you continue creating, the preset created will be displayed with its full " -"name. Do you want to continue?" -msgstr "" -"O nome do Filamento %s que você criou já existe. \n" -"Se você continuar a criar, a predefinição criada será exibida com o seu nome " -"completo. Você quer continuar?" +#, possible-c-format, possible-boost-format +msgid "The Filament name %s you created already exists. \n" +"If you continue creating, the preset created will be displayed with its full name. Do you want to continue?" +msgstr "O nome do Filamento %s que você criou já existe. \n" +"Se você continuar a criar, a preset criado será exibido com o seu nome completo. Você quer continuar?" msgid "Some existing presets have failed to be created, as follows:\n" msgstr "Alguns presets existentes falharam ao serem criados, como segue:\n" -msgid "" -"\n" +msgid "\n" "Do you want to rewrite it?" -msgstr "" -"\n" +msgstr "\n" "Você deseja reescrevê-lo?" -msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \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 "" -"Renomearíamos os presets como \"Fornecedor Tipo Serial @ impressora que você " -"selecionou\". \n" -"Para adicionar preset para mais impressoras, Por favor, vá para a seleção de " -"impressoras" +msgstr "Renomearíamos os presets como \"Fornecedor Tipo Serial @ impressora que você selecionou\". \n" +"Para adicionar preset para mais impressoras, Por favor, vá para a seleção de impressoras" msgid "Create Printer/Nozzle" msgstr "Criar Impressora/Bico" @@ -15332,7 +12166,7 @@ msgstr "Carregar svg" msgid "Max Print Height" msgstr "Altura de impressão máxima" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "The file exceeds %d MB, please import again." msgstr "O arquivo excede %d MB, por favor, importe novamente." @@ -15340,8 +12174,7 @@ msgid "Exception in obtaining file size, please import again." msgstr "Exceção ao obter o tamanho do arquivo, por favor, importe novamente." msgid "Preset path is not find, please reselect vendor." -msgstr "" -"O caminho do preset não é encontrado, por favor, reselecione o fornecedor." +msgstr "O caminho do preset não é encontrado, por favor, reselecione o fornecedor." msgid "The printer model was not found, please reselect." msgstr "O modelo da impressora não foi encontrado, por favor, reselecione." @@ -15367,38 +12200,22 @@ msgstr "Processar Modelo de Preset" msgid "Back Page 1" msgstr "Voltar à Página 1" -msgid "" -"You have not yet chosen which printer preset to create based on. Please " -"choose the vendor and model of the printer" -msgstr "" -"Você ainda não escolheu em qual preset de impressora basear-se. Por favor, " -"escolha o fornecedor e modelo da impressora" +msgid "You have not yet chosen which printer preset to create based on. Please choose the vendor and model of the printer" +msgstr "Você ainda não escolheu em qual preset de impressora basear-se. Por favor, escolha o fornecedor e modelo da impressora" -msgid "" -"You have entered an illegal input in the printable area section on the first " -"page. Please check before creating it." -msgstr "" -"Você inseriu uma entrada ilegal na seção de área imprimível na primeira " -"página. Por favor, verifique antes de criar." +msgid "You have entered an illegal input in the printable area section on the first page. Please check before creating it." +msgstr "Você inseriu uma entrada ilegal na seção de área imprimível na primeira página. Por favor, verifique antes de criar." msgid "The custom printer or model is not inputed, place input." msgstr "A impressora ou modelo personalizado não foi colocado." -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" +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 "" -"O modelo de impressora que você criou já possui um modelo com o mesmo nome. " -"Deseja substituí-lo?\n" -" \tSim: Substituir o modelo de impressora com o mesmo nome, e os modelos de " -"filamento e processo com o mesmo nome do modelo serão recriados, \n" -" e os modelos de filamento e processo sem o mesmo nome do modelo serão " -"preservados.\n" +msgstr "O modelo de impressora que você criou já possui um modelo com o mesmo nome. Deseja substituí-lo?\n" +" \tSim: Substituir o modelo de impressora com o mesmo nome, e os modelos de filamento e processo com o mesmo nome do modelo serão recriados, \n" +" e os modelos de filamento e processo sem o mesmo nome do modelo serão preservados.\n" " \tCancelar: Não criar um modelo, retornar para a interface de criação." msgid "You need to select at least one filament preset." @@ -15419,34 +12236,20 @@ msgstr "Fornecedor não encontrado, por favor selecione novamente." msgid "Current vendor has no models, please reselect." msgstr "O fornecedor atual não possui modelos, por favor, selecione novamente." -msgid "" -"You have not selected the vendor and model or inputed the custom vendor and " -"model." -msgstr "" -"Você não selecionou um fornecedor e modelo nem colocou fornecer e modelo " -"personalizado." +msgid "You have not selected the vendor and model or inputed the custom vendor and model." +msgstr "Você não selecionou um fornecedor e modelo nem colocou fornecer e modelo personalizado." -msgid "" -"There may be escape characters in the custom printer vendor or model. Please " -"delete and re-enter." -msgstr "" -"Pode haver caracteres de escape no fornecedor ou modelo personalizado da " -"impressora. Por favor, exclua e insira novamente." +msgid "There may be escape characters in the custom printer vendor or model. Please delete and re-enter." +msgstr "Pode haver caracteres de escape no fornecedor ou modelo personalizado da impressora. Por favor, exclua e insira novamente." -msgid "" -"All inputs in the custom printer vendor or model are spaces. Please re-enter." -msgstr "" -"Todas as entradas no fornecedor ou modelo personalizado da impressora são " -"espaços. Por favor, insira novamente." +msgid "All inputs in the custom printer vendor or model are spaces. Please re-enter." +msgstr "Todas as entradas no fornecedor ou modelo personalizado da impressora são espaços. Por favor, insira novamente." msgid "Please check bed printable shape and origin input." msgstr "Por favor, verifique a forma imprimível da mesa e a entrada de origem." -msgid "" -"You have not yet selected the printer to replace the nozzle, please choose." -msgstr "" -"Você ainda não selecionou a impressora para substituir o bico, por favor, " -"escolha." +msgid "You have not yet selected the printer to replace the nozzle, please choose." +msgstr "Você ainda não selecionou a impressora para substituir o bico, por favor, escolha." msgid "Create Printer Successful" msgstr "Impressora criada com sucesso" @@ -15458,39 +12261,22 @@ msgid "Printer Created" msgstr "Impressora criada" msgid "Please go to printer settings to edit your presets" -msgstr "" -"Por favor vá parar configurações de impressora para editar os seus presets" +msgstr "Por favor vá parar configurações de impressora para editar os seus presets" msgid "Filament Created" msgstr "Filamento criado" -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 "" -"Por favor, vá para as configurações do filamento para editar seus presets, " -"se necessário. \n" -"Por favor, note que a temperatura do bico, temperatura da mesa aquecida e " -"velocidade volumétrica máxima têm um impacto significativo na qualidade de " -"impressão. Por favor, ajuste-os com cuidado." +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 "Por favor, vá para as configurações do filamento para editar seus presets, se necessário. \n" +"Por favor, note que a temperatura do bico, temperatura da mesa aquecida e velocidade volumétrica máxima têm um impacto significativo na qualidade de impressão. Por favor, ajuste-os com cuidado." -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" +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 "" -"\n" -"\n" -"Studio detectou que sua função de sincronização predefinida não está ativa, " -"o que pode resultar em configurações de arquivo malsucedidas na página do " -"dispositivo. \n" -"Clique em \"Sincronizar pressets do usuário\" para habilitar a função de " -"sincronização." +msgstr "\n\n" +"Orca detectou que a função de sincronização das suas predefinições de usuário não está habilitada, o que pode resultar em falhas nas configurações de Filamento na página do Dispositivo. \n" +"Clique em \"Sincronizar presets do usuário\" para habilitar a função de sincronização." msgid "Printer Setting" msgstr "Configuração da Impressora" @@ -15528,70 +12314,40 @@ msgstr "falha ao abrir o arquivo zip para escrita" msgid "Export successful" msgstr "Exportação bem-sucedida" -#, c-format, 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 "" -"A pasta '%s' já existe no diretório atual. Deseja limpá-la e reconstruí-la?\n" -"Se não, um sufixo de tempo será adicionado, e você poderá modificar o nome " -"após a criação." +#, 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 "A pasta '%s' já existe no diretório atual. Deseja limpá-la e reconstruí-la?\n" +"Se não, um sufixo de tempo será adicionado, e você poderá modificar o nome após a criação." -msgid "" -"Printer and all the filament&&process presets that belongs to the printer. \n" +msgid "Printer and all the filament&&process presets that belongs to the printer. \n" "Can be shared with others." -msgstr "" -"Presets da impressora e todos os filamentos e processos que pertencem à " -"impressora. \n" +msgstr "Presets da impressora e todos os filamentos e processos que pertencem à impressora. \n" "Pode ser compartilhado com outros." -msgid "" -"User's fillment preset set. \n" +msgid "User's fillment preset set. \n" "Can be shared with others." -msgstr "" -"Conjunto de presets de filamento do usuário. \n" +msgstr "Conjunto de presets de filamento do usuário. \n" "Pode ser compartilhado com outros." -msgid "" -"Only display printer names with changes to printer, filament, and process " -"presets." -msgstr "" -"Só exibir nomes de impressoras com alterações nos presets de impressora, " -"filamento e processo." +msgid "Only display printer names with changes to printer, filament, and process presets." +msgstr "Só exibir nomes de impressoras com alterações nos presets de impressora, filamento e processo." msgid "Only display the filament names with changes to filament presets." -msgstr "" -"Apenas exibir os nomes dos filamentos com alterações nos presets de " -"filamento." +msgstr "Apenas exibir os nomes dos filamentos com alterações nos presets de filamento." -msgid "" -"Only printer names with user printer presets will be displayed, and each " -"preset you choose will be exported as a zip." -msgstr "" -"Apenas os nomes das impressoras com presets de impressora do usuário serão " -"exibidos, e cada preset escolhido será exportado como um arquivo zip." +msgid "Only printer names with user printer presets will be displayed, and each preset you choose will be exported as a zip." +msgstr "Apenas os nomes das impressoras com presets de impressora do usuário serão exibidos, e cada preset escolhido será exportado como um arquivo 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 "" -"Apenas os nomes dos filamentos com presets de filamento do usuário serão " -"exibidos, \n" -"e todas as presets de filamento do usuário em cada nome de filamento " -"selecionado serão exportadas como um arquivo 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 "Apenas os nomes dos filamentos com presets de filamento do usuário serão exibidos, \n" +"e todas as presets de filamento do usuário em cada nome de filamento selecionado serão exportadas como um arquivo 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 "" -"Apenas os nomes das impressoras com presets de processo alterados serão " -"exibidos, \n" -"e todos os presets de processo do usuário em cada nome de impressora " -"selecionado serão exportados como um arquivo 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 "Apenas os nomes das impressoras com presets de processo alterados serão exibidos, \n" +"e todos os presets de processo do usuário em cada nome de impressora selecionado serão exportados como um arquivo zip." msgid "Please select at least one printer or filament." msgstr "Por favor, selecione pelo menos uma impressora ou filamento." @@ -15600,9 +12356,7 @@ msgid "Please select a type you want to export" msgstr "Por favor, selecione um tipo que deseja exportar" msgid "Failed to create temporary folder, please try Export Configs again." -msgstr "" -"Falha ao criar uma pasta temporária, por favor, tente exportar as " -"configurações novamente." +msgstr "Falha ao criar uma pasta temporária, por favor, tente exportar as configurações novamente." msgid "Edit Filament" msgstr "Editar Filamento" @@ -15610,19 +12364,15 @@ msgstr "Editar Filamento" msgid "Filament presets under this filament" msgstr "Presets de filamento sob este filamento" -msgid "" -"Note: If the only preset under this filament is deleted, the filament will " -"be deleted after exiting the dialog." -msgstr "" -"Nota: Se o único preset sob este filamento for excluído, o filamento será " -"excluído após sair da janela." +msgid "Note: If the only preset under this filament is deleted, the filament will be deleted after exiting the dialog." +msgstr "Nota: Se o único preset sob este filamento for excluído, o filamento será excluído após sair da janela." msgid "Presets inherited by other presets can not be deleted" msgstr "Presets herdados por outros presets não podem ser excluídos" msgid "The following presets inherits this preset." msgid_plural "The following preset inherits this preset." -msgstr[0] "As seguintes predefinições herdam esta predefinição." +msgstr[0] "Os seguintes presets herdam este preset." msgstr[1] "A seguinte predefinição herda essa predefinição." msgid "Delete Preset" @@ -15640,15 +12390,10 @@ msgstr "+ Adicionar Preset" msgid "Delete Filament" msgstr "Excluir Filamento" -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 "" -"Todos os presets de filamento pertencentes a este filamento seriam " -"excluídas. \n" -"Se você estiver usando este filamento em sua impressora, redefina as " -"informações do filamento para esse slot." +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 "Todos os presets de filamento pertencentes a este filamento seriam excluídas. \n" +"Se você estiver usando este filamento em sua impressora, redefina as informações do filamento para esse slot." msgid "Delete filament" msgstr "Excluir filamento" @@ -15663,9 +12408,7 @@ msgid "Copy preset from filament" msgstr "Copiar preset do filamento" msgid "The filament choice not find filament preset, please reselect it" -msgstr "" -"O filamento selecionado não encontra preset de filamento, por favor, " -"selecione novamente" +msgstr "O filamento selecionado não encontra preset de filamento, por favor, selecione novamente" msgid "[Delete Required]" msgstr "[Excluir Necessário]" @@ -15682,14 +12425,10 @@ msgstr "Recolher" msgid "Daily Tips" msgstr "Dicas Diárias" -msgid "" -"Your nozzle diameter in preset is not consistent with memorized nozzle " -"diameter. Did you change your nozzle lately?" -msgstr "" -"O diâmetro do bico no seu perfil não está consistente com o diâmetro do bico " -"memorizado. Você mudou seu bico recentemente?" +msgid "Your nozzle diameter in preset is not consistent with memorized nozzle diameter. Did you change your nozzle lately?" +msgstr "O diâmetro do bico no seu perfil não está consistente com o diâmetro do bico memorizado. Você mudou seu bico recentemente?" -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "*Printing %s material with %s may cause nozzle damage" msgstr "*Imprimir material %s com %s pode causar danos ao bico" @@ -15699,12 +12438,8 @@ msgstr "É necessário selecionar uma impressora" msgid "The start, end or step is not valid value." msgstr "O início, fim ou passo não é um valor válido." -msgid "" -"Unable to calibrate: maybe because the set calibration value range is too " -"large, or the step is too small" -msgstr "" -"Incapaz de calibrar: talvez porque a faixa de valor de calibração definida " -"seja muito grande ou o passo seja muito pequeno" +msgid "Unable to calibrate: maybe because the set calibration value range is too large, or the step is too small" +msgstr "Incapaz de calibrar: talvez porque a faixa de valor de calibração definida seja muito grande ou o passo seja muito pequeno" msgid "Physical Printer" msgstr "Impressora Física" @@ -15724,43 +12459,29 @@ msgstr "Tem certeza de que deseja sair?" msgid "Refresh Printers" msgstr "Atualizar Impressoras" -msgid "" -"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" -"signed certificate." -msgstr "" -"O arquivo CA HTTPS é opcional. É necessário apenas se você usar HTTPS com um " -"certificado autoassinado." +msgid "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed certificate." +msgstr "O arquivo CA HTTPS é opcional. É necessário apenas se você usar HTTPS com um certificado autoassinado." msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "" -"Arquivos de certificado (*.crt, *.pem)|*.crt;*.pem|Todos os arquivos|*.*" +msgstr "Arquivos de certificado (*.crt, *.pem)|*.crt;*.pem|Todos os arquivos|*.*" msgid "Open CA certificate file" msgstr "Abrir arquivo de certificado CA" -#, c-format, boost-format -msgid "" -"On this system, %s uses HTTPS certificates from the system Certificate Store " -"or Keychain." -msgstr "" -"Neste sistema, %s usa certificados HTTPS da loja de certificados do sistema " -"ou do Keychain." +#, possible-c-format, possible-boost-format +msgid "On this system, %s uses HTTPS certificates from the system Certificate Store or Keychain." +msgstr "Neste sistema, %s usa certificados HTTPS da loja de certificados do sistema ou do Keychain." -msgid "" -"To use a custom CA file, please import your CA file into Certificate Store / " -"Keychain." -msgstr "" -"Para usar um arquivo CA personalizado, importe seu arquivo CA para a loja de " -"certificados / Keychain." +msgid "To use a custom CA file, please import your CA file into Certificate Store / Keychain." +msgstr "Para usar um arquivo CA personalizado, importe seu arquivo CA para a loja de certificados / Keychain." msgid "Login/Test" msgstr "Login/Teste" msgid "Connection to printers connected via the print host failed." -msgstr "" -"A conexão às impressoras conectadas através do host de impressão falhou." +msgstr "A conexão às impressoras conectadas através do host de impressão falhou." -#, c-format, boost-format +#, possible-c-format, possible-boost-format msgid "Mismatched type of print host: %s" msgstr "Tipo de Host de Impressão incompatível: %s" @@ -15792,18 +12513,13 @@ msgid "Upload not enabled on FlashAir card." msgstr "Upload não ativado no cartão FlashAir." msgid "Connection to FlashAir works correctly and upload is enabled." -msgstr "" -"A conexão com o FlashAir funciona corretamente e o upload está ativado." +msgstr "A conexão com o FlashAir funciona corretamente e o upload está ativado." msgid "Could not connect to FlashAir" msgstr "Não foi possível conectar-se ao FlashAir" -msgid "" -"Note: FlashAir with firmware 2.00.02 or newer and activated upload function " -"is required." -msgstr "" -"Nota: FlashAir com firmware 2.00.02 ou mais recente e função de upload " -"ativada são necessárias." +msgid "Note: FlashAir with firmware 2.00.02 or newer and activated upload function is required." +msgstr "Nota: FlashAir com firmware 2.00.02 ou mais recente e função de upload ativada são necessárias." msgid "Connection to MKS works correctly." msgstr "A conexão com o MKS funciona corretamente." @@ -15824,7 +12540,7 @@ msgid "Connection to Prusa SL1 / SL1S works correctly." msgstr "A Conexão com Prusa SL1 / SL1S funciona corretamente." msgid "Could not connect to Prusa SLA" -msgstr "Não foi possível conectar-se à Prusa SLA" +msgstr "Não foi possível conectar-se ao Prusa SLA" msgid "Connection to PrusaLink works correctly." msgstr "A conexão com PrusaLink funciona corretamente." @@ -15836,17 +12552,17 @@ msgid "Storages found" msgstr "Armazenamento encontrado" #. TRN %1% = storage path -#, boost-format +#, possible-boost-format msgid "%1% : read only" msgstr "%1%: somente leitura" #. TRN %1% = storage path -#, boost-format +#, possible-boost-format msgid "%1% : no free space" msgstr "%1% : sem espaço livre" #. TRN %1% = host -#, boost-format +#, possible-boost-format msgid "Upload has failed. There is no suitable storage found at %1%." msgstr "Falha no ‘upload’. Não há armazenamento suficiente em %1%." @@ -15860,207 +12576,116 @@ msgid "Connection to Repetier works correctly." msgstr "A conexão com o Repetier funciona corretamente." msgid "Could not connect to Repetier" -msgstr "Não foi possível conectar-se à Repetier" +msgstr "Não foi possível conectar-se ao Repetier" msgid "Note: Repetier version at least 0.90.0 is required." msgstr "Nota: A versão do Repetier deve ser igual ou maior que 0.90.0" -#, boost-format -msgid "" -"HTTP status: %1%\n" +#, possible-boost-format +msgid "HTTP status: %1%\n" "Message body: \"%2%\"" -msgstr "" -"HTTP status: %1%\n" +msgstr "HTTP status: %1%\n" "Corpo da mensagem: \"%2%\"" -#, boost-format -msgid "" -"Parsing of host response failed.\n" +#, possible-boost-format +msgid "Parsing of host response failed.\n" "Message body: \"%1%\"\n" "Error: \"%2%\"" -msgstr "" -"Resposta ao host falhou.\n" +msgstr "Resposta ao host falhou.\n" "Corpo da Mensagem \"%1%\"\n" "Error: \"%2%\"" -#, boost-format -msgid "" -"Enumeration of host printers failed.\n" +#, possible-boost-format +msgid "Enumeration of host printers failed.\n" "Message body: \"%1%\"\n" "Error: \"%2%\"" -msgstr "" -"Enumeração das impressoras host falhou\n" +msgstr "Enumeração das impressoras host falhou\n" "Corpo da Mensagem: \"%1%\"\n" "Error: \"%2%\"" -msgid "" -"It has a small layer height, and results in almost negligible layer lines " -"and high printing quality. It is suitable for most general printing cases." -msgstr "" +msgid "It has a small layer height, and results in almost negligible layer lines and high printing quality. It is suitable for most general printing cases." +msgstr "Possui uma pequena altura de camada, resultando em linhas de camada quase imperceptíveis e alta qualidade de impressão. É adequado para a maioria dos casos gerais de impressão." -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. So, it results in " -"much higher printing quality, but a much longer printing time." -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. So, it results in much higher printing quality, but a much longer printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,2 mm, ele tem velocidades e aceleração mais baixas, e o padrão de preenchimento é Giroide. Isso resulta em uma qualidade de impressão muito superior, mas um tempo de impressão muito mais longo." -msgid "" -"Compared with the default profile of a 0.2 mm nozzle, it has a slightly " -"bigger layer height, and results in almost negligible layer lines, and " -"slightly shorter printing time." -msgstr "" +msgid "Compared with the default profile of a 0.2 mm nozzle, it has a slightly bigger layer height, and results in almost negligible layer lines, and slightly shorter printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,2 mm, tem uma altura de camada um pouco maior, resultando em linhas de camada quase insignificantes e um tempo de impressão ligeiramente menor." -msgid "" -"Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer " -"height, and results in slightly visible layer lines, but shorter printing " -"time." -msgstr "" +msgid "Compared with the default profile of a 0.2 mm nozzle, it has a bigger layer height, and results in slightly visible layer lines, but shorter printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,2 mm, tem uma altura de camada maior, o que resulta em linhas de camada ligeiramente visíveis, mas um tempo de impressão menor." -msgid "" -"Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer " -"height, and results in almost invisible layer lines and higher printing " -"quality, but shorter printing time." -msgstr "" +msgid "Compared with the default profile of a 0.2 mm nozzle, it has a smaller layer height, and results in almost invisible layer lines and higher printing quality, but shorter printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,2 mm, tem uma altura de camada menor, resultando em linhas de camada quase invisíveis e maior qualidade de impressão, mas um tempo de impressão menor." -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. So, it results in almost invisible layer lines and much higher " -"printing quality, but much longer printing time." -msgstr "" +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. So, it results in almost invisible layer lines and much higher printing quality, but much longer printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,2 mm, tem linhas de camada menores, velocidades e aceleração mais baixas, e o padrão de preenchimento é Giroide. Isso resulta em linhas de camada quase invisíveis e uma qualidade de impressão muito superior, mas um tempo de impressão muito maior." -msgid "" -"Compared with the default profile of 0.2 mm nozzle, it has a smaller layer " -"height, and results in minimal layer lines and higher printing quality, but " -"shorter printing time." -msgstr "" +msgid "Compared with the default profile of 0.2 mm nozzle, it has a smaller layer height, and results in minimal layer lines and higher printing quality, but shorter printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,2 mm, tem uma altura de camada menor, resultando em linhas de camada mínimas e maior qualidade de impressão, mas um tempo de impressão menor." -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. So, it results in minimal layer lines and much higher printing " -"quality, but much longer printing time." -msgstr "" +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. So, it results in minimal layer lines and much higher printing quality, but much longer printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,2 mm, tem linhas de camada menores, velocidades e aceleração mais baixas, e o padrão de preenchimento é Giroide. Isso resulta em linhas de camada mínimas e uma qualidade de impressão muito superior, mas um tempo de impressão muito maior." -msgid "" -"It has a general layer height, and results in general layer lines and " -"printing quality. It is suitable for most general printing cases." -msgstr "" +msgid "It has a general layer height, and results in general layer lines and printing quality. It is suitable for most general printing cases." +msgstr "Tem uma altura de camada padrão e resulta em linhas de camada e qualidade de impressão padrão. É adequado para a maioria dos casos de impressão." -msgid "" -"Compared with the default profile of a 0.4 mm nozzle, it has more wall loops " -"and a higher sparse infill density. So, it results in higher strength of the " -"prints, but more filament consumption and longer printing time." -msgstr "" +msgid "Compared with the default profile of a 0.4 mm nozzle, it has more wall loops and a higher sparse infill density. So, it results in higher strength of the prints, but more filament consumption and longer printing time." +msgstr "Comparado com o perfil padrão de uma bico de 0,4 mm, tem mais paredes e uma densidade de preenchimento mais alta. Portanto, resulta em maior resistência, mas com consumo maior de filamento e tempo de impressão mais longo." -msgid "" -"Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " -"height, and results in more apparent layer lines and lower printing quality, " -"but slightly shorter printing time." -msgstr "" +msgid "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but slightly shorter printing time." +msgstr "Comparado com o perfil padrão de uma bico de 0,4 mm, tem uma altura de camada maior, resultando em linhas de camada mais aparentes e qualidade mais baixa, mas com um tempo de impressão um pouco menor." -msgid "" -"Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer " -"height, and results in more apparent layer lines and lower printing quality, " -"but shorter printing time." -msgstr "" +msgid "Compared with the default profile of a 0.4 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time." +msgstr "Comparado com o perfil padrão de uma bico de 0,4 mm, tem uma altura de camada maior, resultando em linhas de camada mais aparentes e qualidade mais baixa, mas com um tempo de impressão menor." -msgid "" -"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " -"height, and results in less apparent layer lines and higher printing " -"quality, but longer printing time." -msgstr "" +msgid "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,4 mm, tem uma altura de camada menor, resultando em linhas de camada menos aparentes e maior qualidade de impressão, mas com um tempo de impressão maior." -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. So, it results in less apparent layer lines and much higher printing " -"quality, but much longer printing time." -msgstr "" +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. So, it results in less apparent layer lines and much higher printing quality, but much longer printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,4 mm, tem uma altura de camada menor, velocidades e aceleração mais baixas, e o padrão de preenchimento é Giroide. Portanto, resulta em linhas de camada menos aparentes e qualidade de impressão maior, mas com um tempo de impressão muito maior." -msgid "" -"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " -"height, and results in almost negligible layer lines and higher printing " -"quality, but longer printing time." -msgstr "" +msgid "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and higher printing quality, but longer printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,4 mm, tem uma altura de camada menor, resultando em linhas de camada quase insignificantes e maior qualidade de impressão, mas com um maior tempo de impressão." -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. So, it results in almost negligible layer lines and much higher " -"printing quality, but much longer printing time." -msgstr "" +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. So, it results in almost negligible layer lines and much higher printing quality, but much longer printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,4 mm, tem uma altura de camada menor, velocidades e aceleração mais baixas, e o padrão de preenchimento é Giroide. Portanto, resulta em linhas de camada quase insignificantes e qualidade de impressão muito maior, mas com um tempo de impressão muito maior." -msgid "" -"Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer " -"height, and results in almost negligible layer lines and longer printing " -"time." -msgstr "" +msgid "Compared with the default profile of a 0.4 mm nozzle, it has a smaller layer height, and results in almost negligible layer lines and longer printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,4 mm, tem uma altura de camada menor, resultando em linhas de camada quase insignificantes, mas com um tempo de impressão maior." -msgid "" -"It has a big layer height, and results in apparent layer lines and ordinary " -"printing quality and printing time." -msgstr "" +msgid "It has a big layer height, and results in apparent layer lines and ordinary printing quality and printing time." +msgstr "Tem uma altura de camada grande, resultando em linhas de camada aparentes com qualidade e tempo de impressão normais." -msgid "" -"Compared with the default profile of a 0.6 mm nozzle, it has more wall loops " -"and a higher sparse infill density. So, it results in higher strength of the " -"prints, but more filament consumption and longer printing 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. So, it results in higher strength of the prints, but more filament consumption and longer printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,6 mm, tem mais paredes e uma densidade de preenchimento mais alta. Portanto, resulta em uma resistência maior, mas com um consumo de filamento maior e um tempo de impressão mais longo." -msgid "" -"Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " -"height, and results in more apparent layer lines and lower printing quality, " -"but shorter printing time in some printing cases." -msgstr "" +msgid "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in more apparent layer lines and lower printing quality, but shorter printing time in some printing cases." +msgstr "Comparado com o perfil padrão de um bico de 0,6 mm, tem uma altura de camada maior, resultando em linhas de camada mais aparentes e qualidade mais baixa, mas com um tempo de impressão menor em alguns casos de impressão." -msgid "" -"Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer " -"height, and results in much more apparent layer lines and much lower " -"printing quality, but shorter printing time in some printing cases." -msgstr "" +msgid "Compared with the default profile of a 0.6 mm nozzle, it has a bigger layer height, and results in much more apparent layer lines and much lower printing quality, but shorter printing time in some printing cases." +msgstr "Comparado com o perfil padrão de um bico de 0,6 mm, tem uma altura de camada maior, resultando em linhas de camada muito mais aparentes e qualidade muito mais baixa, mas com um tempo de impressão menor em alguns casos de impressão." -msgid "" -"Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " -"height, and results in less apparent layer lines and slight higher printing " -"quality, but longer printing time." -msgstr "" +msgid "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and slight higher printing quality, but longer printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,6 mm, tem uma altura de camada menor, resultando em linhas de camada menos aparentes e qualidade ligeiramente maior, mas com um tempo de impressão maior." -msgid "" -"Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer " -"height, and results in less apparent layer lines and higher printing " -"quality, but longer printing time." -msgstr "" +msgid "Compared with the default profile of a 0.6 mm nozzle, it has a smaller layer height, and results in less apparent layer lines and higher printing quality, but longer printing time." +msgstr "Comparado com o perfil padrão de um bico de 0,6 mm, tem uma altura de camada menor, resultando em linhas de camada menos aparentes e maior qualidade de impressão, mas com um tempo de impressão maior." -msgid "" -"It has a very big layer height, and results in very apparent layer lines, " -"low printing quality and general printing time." -msgstr "" +msgid "It has a very big layer height, and results in very apparent layer lines, low printing quality and general printing time." +msgstr "Tem uma altura de camada muito grande, resultando em linhas de camada muito aparentes, com qualidade e tempo de impressão baixo." -msgid "" -"Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer " -"height, and results in very apparent layer lines and much lower printing " -"quality, but shorter printing time in some printing cases." -msgstr "" +msgid "Compared with the default profile of a 0.8 mm nozzle, it has a bigger layer height, and results in very apparent layer lines and much lower printing quality, but shorter printing time in some printing cases." +msgstr "Comparado com o perfil padrão de um bico de 0,8 mm, tem uma altura de camada maior, resultando em linhas de camada muito aparentes e qualidade muito mais baixa, mas com um tempo de impressão menor em alguns casos de impressão." -msgid "" -"Compared with the default profile of a 0.8 mm nozzle, it has a much bigger " -"layer height, and results in extremely apparent layer lines and much lower " -"printing quality, but much shorter printing time in some printing cases." -msgstr "" +msgid "Compared with the default profile of a 0.8 mm nozzle, it has a much bigger layer height, and results in extremely apparent layer lines and much lower printing quality, but much shorter printing time in some printing cases." +msgstr "Comparado com o perfil padrão de um bico de 0,8 mm, tem uma altura de camada muito maior, resultando em linhas de camada extremamente aparentes e qualidade muito mais baixa, mas com um tempo de impressão muito menor em alguns casos de impressão." -msgid "" -"Compared with the default profile of a 0.8 mm nozzle, it has a slightly " -"smaller layer height, and results in slightly less but still apparent layer " -"lines and slightly higher printing quality, but longer printing time in some " -"printing cases." -msgstr "" +msgid "Compared with the default profile of a 0.8 mm nozzle, it has a slightly smaller layer height, and results in slightly less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases." +msgstr "Comparado com o perfil padrão de um bico de 0,8 mm, tem uma altura de camada ligeiramente menor, resultando em linhas de camada menos aparentes, mas ainda visíveis, e qualidade ligeiramente maior, mas com um tempo de impressão maior em alguns casos de impressão." -msgid "" -"Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer " -"height, and results in less but still apparent layer lines and slightly " -"higher printing quality, but longer printing time in some printing cases." -msgstr "" +msgid "Compared with the default profile of a 0.8 mm nozzle, it has a smaller layer height, and results in less but still apparent layer lines and slightly higher printing quality, but longer printing time in some printing cases." +msgstr "Comparado com o perfil padrão de um bico de 0,8 mm, tem uma altura de camada menor, resultando em linhas de camada menos aparentes, mas ainda visíveis, e qualidade ligeiramente maior, mas com um tempo de impressão maior em alguns casos de impressão." msgid "Connected to Obico successfully!" msgstr "Conectado ao Obico com sucesso!" @@ -16075,16 +12700,10 @@ msgid "Could not connect to SimplyPrint" msgstr "Não é possível conectar a SimplyPrint" msgid "SimplyPrint account not linked. Go to Connect options to set it up." -msgstr "" -"Conta SimplyPrint não vinculada. Vá para as opções de conexão para configurá-" -"la." +msgstr "Conta SimplyPrint não vinculada. Vá para as opções de conexão para configurá-la." -msgid "" -"File size exceeds the 100MB upload limit. Please upload your file through " -"the panel." -msgstr "" -"O tamanho do arquivo excede o limite de envio de 100MB. Por favor, envie seu " -"arquivo através do painel." +msgid "File size exceeds the 100MB upload limit. Please upload your file through the panel." +msgstr "O tamanho do arquivo excede o limite de envio de 100MB. Por favor, envie seu arquivo através do painel." msgid "Unknown error" msgstr "Erro desconhecido" @@ -16099,549 +12718,235 @@ msgid "The provided state is not correct." msgstr "O estado fornecido não está correto." msgid "Please give the required permissions when authorizing this application." -msgstr "" -"Por favor, forneça as permissões necessárias ao autorizar este aplicativo." +msgstr "Por favor, forneça as permissões necessárias ao autorizar este aplicativo." msgid "Something unexpected happened when trying to log in, please try again." -msgstr "" -"Algo inesperado aconteceu ao tentar conectar, por favor tente novamente." +msgstr "Algo inesperado aconteceu ao tentar conectar, por favor tente novamente." msgid "User cancelled." msgstr "O usuário cancelou." #: resources/data/hints.ini: [hint:Precise wall] -msgid "" -"Precise wall\n" -"Did you know that turning on precise wall can improve precision and layer " -"consistency?" -msgstr "" -"Parede precisa\n" -"Você sabia que ativar o Perímetro Preciso pode melhorar a precisão e a " -"consistência da camada?" +msgid "Precise wall\n" +"Did you know that turning on precise wall can improve precision and layer consistency?" +msgstr "Parede precisa\n" +"Você sabia que ativar o Perímetro Preciso pode melhorar a precisão e a consistência da camada?" #: resources/data/hints.ini: [hint:Sandwich mode] -msgid "" -"Sandwich mode\n" -"Did 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 "" -"Modo sanduíche\n" -"Você sabia que pode usar o modo sanduíche (interno-externo-interno) para " -"melhorar a precisão e a consistência da camada se o seu modelo não tiver " -"overhangs muito íngremes?" +msgid "Sandwich mode\n" +"Did 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 "Modo sanduíche\n" +"Você sabia que pode usar o modo sanduíche (interno-externo-interno) para melhorar a precisão e a consistência da camada se o seu modelo não tiver overhangs muito íngremes?" #: resources/data/hints.ini: [hint:Chamber temperature] -msgid "" -"Chamber temperature\n" +msgid "Chamber temperature\n" "Did you know that OrcaSlicer supports chamber temperature?" -msgstr "" -"Temperatura da câmara\n" +msgstr "Temperatura da câmara\n" "Você sabia que o OrcaSlicer suporta temperatura da câmara?" #: resources/data/hints.ini: [hint:Calibration] -msgid "" -"Calibration\n" -"Did you know that calibrating your printer can do wonders? Check out our " -"beloved calibration solution in OrcaSlicer." -msgstr "" -"Calibração\n" -"Você sabia que calibrar sua impressora pode fazer maravilhas? Confira nossa " -"amada solução de calibração no OrcaSlicer." +msgid "Calibration\n" +"Did you know that calibrating your printer can do wonders? Check out our beloved calibration solution in OrcaSlicer." +msgstr "Calibração\n" +"Você sabia que calibrar sua impressora pode fazer maravilhas? Confira nossa amada solução de calibração no OrcaSlicer." #: resources/data/hints.ini: [hint:Auxiliary fan] -msgid "" -"Auxiliary fan\n" +msgid "Auxiliary fan\n" "Did you know that OrcaSlicer supports Auxiliary part cooling fan?" -msgstr "" -"Ventilador auxiliar\n" -"Você sabia que o OrcaSlicer suporta ventilador auxiliar de resfriamento de " -"peças?" +msgstr "Ventilador auxiliar\n" +"Você sabia que o OrcaSlicer suporta ventilador auxiliar de resfriamento de peças?" #: resources/data/hints.ini: [hint:Air filtration] -msgid "" -"Air filtration/Exhaust Fan\n" +msgid "Air filtration/Exhaust Fan\n" "Did you know that OrcaSlicer can support Air filtration/Exhaust Fan?" -msgstr "" -"Filtragem de ar/Exaustor\n" +msgstr "Filtragem de ar/Exaustor\n" "Você sabia que o OrcaSlicer pode suportar filtragem de ar/exaustor?" #: resources/data/hints.ini: [hint:G-code window] -msgid "" -"G-code window\n" +msgid "G-code window\n" "You can turn on/off the G-code window by pressing the C key." -msgstr "" -"Janela do G-code\n" +msgstr "Janela do G-code\n" "Você pode ligar/desligar a janela do G-code pressionando a tecla C." #: resources/data/hints.ini: [hint:Switch workspaces] -msgid "" -"Switch workspaces\n" -"You can switch between Prepare and Preview workspaces by " -"pressing the Tab key." -msgstr "" -"Alternar espaços de trabalho\n" -"Você pode alternar entre os espaços de trabalho Preparar e " -"Visualizar pressionando a tecla Tab." +msgid "Switch workspaces\n" +"You can switch between Prepare and Preview workspaces by pressing the Tab key." +msgstr "Alternar espaços de trabalho\n" +"Você pode alternar entre os espaços de trabalho Preparar e Visualizar pressionando a tecla Tab." #: resources/data/hints.ini: [hint:How to use keyboard shortcuts] -msgid "" -"How to use keyboard shortcuts\n" -"Did you know that Orca Slicer offers a wide range of keyboard shortcuts and " -"3D scene operations." -msgstr "" -"Como usar atalhos de teclado\n" -"Você sabia que o Orca Slicer oferece uma ampla gama de atalhos de teclado e " -"operações de cena 3D?" +msgid "How to use keyboard shortcuts\n" +"Did you know that Orca Slicer offers a wide range of keyboard shortcuts and 3D scene operations." +msgstr "Como usar atalhos de teclado\n" +"Você sabia que o Orca Slicer oferece uma ampla gama de atalhos de teclado e operações de cena 3D?" #: resources/data/hints.ini: [hint:Reverse on odd] -msgid "" -"Reverse on odd\n" -"Did you know that Reverse on odd feature can significantly improve " -"the surface quality of your overhangs?" -msgstr "" -"Inverter em ímpar\n" -"Você sabia que a função Inverter em ímpar pode melhorar " -"significativamente a qualidade da superfície dos overhangs?" +msgid "Reverse on odd\n" +"Did you know that Reverse on odd feature can significantly improve the surface quality of your overhangs?" +msgstr "Inverter em ímpar\n" +"Você sabia que a função Inverter em ímpar pode melhorar significativamente a qualidade da superfície dos overhangs?" #: resources/data/hints.ini: [hint:Cut Tool] -msgid "" -"Cut Tool\n" -"Did you know that you can cut a model at any angle and position with the " -"cutting tool?" -msgstr "" -"Ferramenta de corte\n" -"Você sabia que pode cortar um modelo em qualquer ângulo e posição com a " -"ferramenta de corte?" +msgid "Cut Tool\n" +"Did you know that you can cut a model at any angle and position with the cutting tool?" +msgstr "Ferramenta de corte\n" +"Você sabia que pode cortar um modelo em qualquer ângulo e posição com a ferramenta de corte?" #: resources/data/hints.ini: [hint:Fix Model] -msgid "" -"Fix Model\n" -"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " -"problems on the Windows system?" -msgstr "" -"Corrigir Modelo\n" -"Você sabia que pode corrigir um modelo 3D corrompido para evitar muitos " -"problemas de fatiamento no sistema Windows?" +msgid "Fix Model\n" +"Did you know that you can fix a corrupted 3D model to avoid a lot of slicing problems on the Windows system?" +msgstr "Corrigir Modelo\n" +"Você sabia que pode corrigir um modelo 3D corrompido para evitar muitos problemas de fatiamento no sistema Windows?" #: resources/data/hints.ini: [hint:Timelapse] -msgid "" -"Timelapse\n" +msgid "Timelapse\n" "Did you know that you can generate a timelapse video during each print?" -msgstr "" -"Timelapse\n" +msgstr "Timelapse\n" "Você sabia que pode gerar um vídeo de timelapse durante cada impressão?" #: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "" -"Auto-Arrange\n" +msgid "Auto-Arrange\n" "Did you know that you can auto-arrange all objects in your project?" -msgstr "" -"Auto-arranjo\n" -"Você sabia que pode auto-arranjar todos os objetos em seu projeto?" +msgstr "Auto-arranjo\n" +"Você sabia que pode auto-posicionar todos os objetos em seu projeto?" #: resources/data/hints.ini: [hint:Auto-Orient] -msgid "" -"Auto-Orient\n" -"Did you know that you can rotate objects to an optimal orientation for " -"printing by a simple click?" -msgstr "" -"Auto-orientar\n" -"Você sabia que pode girar objetos para uma orientação ideal para impressão " -"com um simples clique?" +msgid "Auto-Orient\n" +"Did you know that you can rotate objects to an optimal orientation for printing by a simple click?" +msgstr "Auto-orientar\n" +"Você sabia que pode girar objetos para uma orientação ideal para impressão com um simples clique?" #: resources/data/hints.ini: [hint:Lay on Face] -msgid "" -"Lay on Face\n" -"Did 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 "" -"Ajustar face à superfície\n" -"Você sabia que pode rapidamente orientar um modelo para que uma de suas " -"faces fique sobre a base de impressão? Selecione a função \"Colocar na face" -"\" ou pressione a tecla F." +msgid "Lay on Face\n" +"Did 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 "Ajustar face à superfície\n" +"Você sabia que pode rapidamente orientar um modelo para que uma de suas faces fique sobre a base de impressão? Selecione a função \"Colocar na face\" ou pressione a tecla F." #: resources/data/hints.ini: [hint:Object List] -msgid "" -"Object List\n" -"Did you know that you can view all objects/parts in a list and change " -"settings for each object/part?" -msgstr "" -"Lista de Objetos\n" -"Você sabia que pode visualizar todos os objetos/peças em uma lista e alterar " -"as configurações para cada objeto/peça?" +msgid "Object List\n" +"Did you know that you can view all objects/parts in a list and change settings for each object/part?" +msgstr "Lista de Objetos\n" +"Você sabia que pode visualizar todos os objetos/peças em uma lista e alterar as configurações para cada objeto/peça?" #: resources/data/hints.ini: [hint:Search Functionality] -msgid "" -"Search Functionality\n" -"Did you know that you use the Search tool to quickly find a specific Orca " -"Slicer setting?" -msgstr "" -"Funcionalidade de Busca\n" -"Você sabia que pode usar a ferramenta de busca para encontrar rapidamente " -"uma configuração específica do Orca Slicer?" +msgid "Search Functionality\n" +"Did you know that you use the Search tool to quickly find a specific Orca Slicer setting?" +msgstr "Funcionalidade de Busca\n" +"Você sabia que pode usar a ferramenta de busca para encontrar rapidamente uma configuração específica do Orca Slicer?" #: resources/data/hints.ini: [hint:Simplify Model] -msgid "" -"Simplify Model\n" -"Did 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 "" -"Simplificar Modelo\n" -"Você sabia que pode reduzir o número de triângulos em uma malha usando a " -"função Simplificar malha? Clique com o botão direito no modelo e selecione " -"Simplificar modelo." +msgid "Simplify Model\n" +"Did 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 "Simplificar Modelo\n" +"Você sabia que pode reduzir o número de triângulos em uma malha usando a função Simplificar malha? Clique com o botão direito no modelo e selecione Simplificar modelo." #: resources/data/hints.ini: [hint:Slicing Parameter Table] -msgid "" -"Slicing Parameter Table\n" -"Did you know that you can view all objects/parts on a table and change " -"settings for each object/part?" -msgstr "" -"Tabela de Parâmetros de Fatiamento\n" -"Você sabia que pode visualizar todos os objetos/peças em uma tabela e " -"alterar as configurações para cada objeto/peça?" +msgid "Slicing Parameter Table\n" +"Did you know that you can view all objects/parts on a table and change settings for each object/part?" +msgstr "Tabela de Parâmetros de Fatiamento\n" +"Você sabia que pode visualizar todos os objetos/peças em uma tabela e alterar as configurações para cada objeto/peça?" #: resources/data/hints.ini: [hint:Split to Objects/Parts] -msgid "" -"Split to Objects/Parts\n" -"Did you know that you can split a big object into small ones for easy " -"colorizing or printing?" -msgstr "" -"Dividir em Objetos/Peças\n" -"Você sabia que pode dividir um objeto grande em peças menores para facilitar " -"a colorização ou a impressão?" +msgid "Split to Objects/Parts\n" +"Did you know that you can split a big object into small ones for easy colorizing or printing?" +msgstr "Dividir em Objetos/Peças\n" +"Você sabia que pode dividir um objeto grande em peças menores para facilitar a colorização ou a impressão?" #: resources/data/hints.ini: [hint:Subtract a Part] -msgid "" -"Subtract a Part\n" -"Did 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 "" -"Subtrair uma Peça\n" -"Você sabia que pode subtrair uma malha da outra usando o modificador de peça " -"negativa? Dessa forma, você pode, por exemplo, criar facilmente furos " -"redimensionáveis diretamente no Orca Slicer." +msgid "Subtract a Part\n" +"Did 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 "Subtrair uma Peça\n" +"Você sabia que pode subtrair uma malha da outra usando o modificador de peça negativa? Dessa forma, você pode, por exemplo, criar facilmente furos redimensionáveis diretamente no Orca Slicer." #: resources/data/hints.ini: [hint:STEP] -msgid "" -"STEP\n" -"Did you know that you can improve your print quality by slicing a STEP file " -"instead of an STL?\n" -"Orca Slicer supports slicing STEP files, providing smoother results than a " -"lower resolution STL. Give it a try!" -msgstr "" -"STEP\n" -"Você sabia que pode melhorar a qualidade da impressão fatiando um arquivo " -"STEP ao invés de um STL?\n" -"Orca Slicer é compatível com arquivos STEP, gerando resultados mais suaves " -"do que um STL em baixa resolução. Tente!" +msgid "STEP\n" +"Did you know that you can improve your print quality by slicing a STEP file instead of an STL?\n" +"Orca Slicer supports slicing STEP files, providing smoother results than a lower resolution STL. Give it a try!" +msgstr "STEP\n" +"Você sabia que pode melhorar a qualidade da impressão fatiando um arquivo STEP ao invés de um STL?\n" +"Orca Slicer é compatível com arquivos STEP, gerando resultados mais suaves do que um STL em baixa resolução. Tente!" #: resources/data/hints.ini: [hint:Z seam location] -msgid "" -"Z seam location\n" -"Did 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 "" -"Local da costura\n" -"Você sabia que pode customizar a posição da costura, e até mesmo pintá-la na " -"sua peça, para tê-la em um lugar menos visível? Isso vai aumentar a " -"qualidade geral do seu modelo. Tente!" +msgid "Z seam location\n" +"Did 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 "Local da costura\n" +"Você sabia que pode customizar a posição da costura, e até mesmo pintá-la na sua peça, para tê-la em um lugar menos visível? Isso vai aumentar a qualidade geral do seu modelo. Tente!" #: resources/data/hints.ini: [hint:Fine-tuning for flow rate] -msgid "" -"Fine-tuning for flow rate\n" -"Did 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 "" -"Ajuste fino do fluxo\n" -"Você sabia que o fluxo pode ser ajustado para impressões ainda melhores? " -"Dependendo do material, você pode melhorar o acabamento final da sua peça " -"fazendo alguns ajustes." +msgid "Fine-tuning for flow rate\n" +"Did 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 "Ajuste fino do fluxo\n" +"Você sabia que o fluxo pode ser ajustado para impressões ainda melhores? Dependendo do material, você pode melhorar o acabamento final da sua peça fazendo alguns ajustes." #: resources/data/hints.ini: [hint:Split your prints into plates] -msgid "" -"Split your prints into plates\n" -"Did 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 "" -"Divida suas impressões em mesas\n" -"Você sabia que pode dividir um modelo que tem diversas peças individuais em " -"mesas distintas prontas para imprimir? Isso vai simplificar o processo e o " -"avanço das impressões." +msgid "Split your prints into plates\n" +"Did 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 "Divida suas impressões em mesas\n" +"Você sabia que pode dividir um modelo que tem diversas peças individuais em mesas distintas prontas para imprimir? Isso vai simplificar o processo e o avanço das impressões." -#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer -#: Height] -msgid "" -"Speed up your print with Adaptive Layer Height\n" -"Did you know that you can print a model even faster, by using the Adaptive " -"Layer Height option? Check it out!" -msgstr "" -"Agilize sua impressão com a Altura de Camada Adaptativa\n" -"Você sabia que pode imprimir um modelo ainda mais rápido, usando a opção de " -"Altura de Camada Adaptativa? Tente!" +#: resources/data/hints.ini: [hint:Speed up your print with Adaptive Layer Height] +msgid "Speed up your print with Adaptive Layer Height\n" +"Did you know that you can print a model even faster, by using the Adaptive Layer Height option? Check it out!" +msgstr "Agilize sua impressão com a Altura de Camada Adaptativa\n" +"Você sabia que pode imprimir um modelo ainda mais rápido, usando a opção de Altura de Camada Adaptativa? Tente!" #: resources/data/hints.ini: [hint:Support painting] -msgid "" -"Support painting\n" -"Did 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 "" -"Pintura de suporte\n" -"Você sabia que pode pintar a localização dos seus suportes? Essa " -"funcionalidade facilita colocar o material de suporte apenas nas seções do " -"modelo que realmente precisam." +msgid "Support painting\n" +"Did 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 "Pintura de suporte\n" +"Você sabia que pode pintar a localização dos seus suportes? Essa funcionalidade facilita colocar o material de suporte apenas nas seções do modelo que realmente precisam." #: resources/data/hints.ini: [hint:Different types of supports] -msgid "" -"Different types of supports\n" -"Did 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 "" -"Diferentes tipos de suportes\n" -"Você sabia que pode escolher entre vários tipos de suportes? Os suportes de " -"árvore funcionam muito bem para modelos orgânicos, enquanto economizam " -"filamento e melhoram a velocidade de impressão. Confira-os!" +msgid "Different types of supports\n" +"Did 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 "Diferentes tipos de suportes\n" +"Você sabia que pode escolher entre vários tipos de suportes? Os suportes de árvore funcionam muito bem para modelos orgânicos, enquanto economizam filamento e melhoram a velocidade de impressão. Confira-os!" #: resources/data/hints.ini: [hint:Printing Silk Filament] -msgid "" -"Printing Silk Filament\n" -"Did 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 "" -"Impressão de Filamento de Seda\n" -"Você sabia que o filamento de seda precisa de considerações especiais para " -"ser impresso com sucesso? Uma temperatura mais alta e uma velocidade mais " -"baixa são sempre recomendadas para obter os melhores resultados." +msgid "Printing Silk Filament\n" +"Did 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 "Impressão de Filamento de Seda\n" +"Você sabia que o filamento de seda precisa de considerações especiais para ser impresso com sucesso? Uma temperatura mais alta e uma velocidade mais baixa são sempre recomendadas para obter os melhores resultados." #: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "" -"Brim for better adhesion\n" -"Did you know that when printing models have a small contact interface with " -"the printing surface, it's recommended to use a brim?" -msgstr "" -"Borda para melhor adesão\n" -"Você sabia que, ao imprimir modelos com uma pequena interface de contato com " -"a superfície de impressão, é recomendável usar uma borda?" +msgid "Brim for better adhesion\n" +"Did you know that when printing models have a small contact interface with the printing surface, it's recommended to use a brim?" +msgstr "Borda para melhor adesão\n" +"Você sabia que, ao imprimir modelos com uma pequena interface de contato com a superfície de impressão, é recomendável usar uma borda?" #: resources/data/hints.ini: [hint:Set parameters for multiple objects] -msgid "" -"Set parameters for multiple objects\n" -"Did you know that you can set slicing parameters for all selected objects at " -"one time?" -msgstr "" -"Definir parâmetros para vários objetos\n" -"Você sabia que pode definir parâmetros de fatiamento para todos os objetos " -"selecionados de uma só vez?" +msgid "Set parameters for multiple objects\n" +"Did you know that you can set slicing parameters for all selected objects at one time?" +msgstr "Definir parâmetros para vários objetos\n" +"Você sabia que pode definir parâmetros de fatiamento para todos os objetos selecionados de uma só vez?" #: resources/data/hints.ini: [hint:Stack objects] -msgid "" -"Stack objects\n" +msgid "Stack objects\n" "Did you know that you can stack objects as a whole one?" -msgstr "" -"Empilhar objetos\n" +msgstr "Empilhar objetos\n" "Você sabia que pode empilhar objetos como um todo?" #: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "" -"Flush into support/objects/infill\n" -"Did you know that you can save the wasted filament by flushing them into " -"support/objects/infill during filament change?" -msgstr "" -"Purga no suporte/objetos/preenchimento\n" -"Você sabia que pode economizar o filamento desperdiçado ao purgar nos " -"suportes/objetos/preenchimento durante a troca de filamento?" +msgid "Flush into support/objects/infill\n" +"Did you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?" +msgstr "Limpeza no suporte/objetos/preenchimento\n" +"Você sabia que pode economizar o filamento desperdiçado ao limpar nos suportes/objetos/preenchimento durante a troca de filamento?" #: resources/data/hints.ini: [hint:Improve strength] -msgid "" -"Improve strength\n" -"Did you know that you can use more wall loops and higher sparse infill " -"density to improve the strength of the model?" -msgstr "" -"Melhorar a resistência\n" -"Você sabia que pode usar mais loops de perímetro e densidade de " -"preenchimento não sólido mais alta para melhorar a resistência do modelo?" +msgid "Improve strength\n" +"Did you know that you can use more wall loops and higher sparse infill density to improve the strength of the model?" +msgstr "Melhorar a resistência\n" +"Você sabia que pode usar mais loops de perímetro e densidade de preenchimento não sólido mais alta para melhorar a resistência do modelo?" -#: resources/data/hints.ini: [hint:When need to print with the printer door -#: opened] -msgid "" -"When need to print with the printer door opened\n" -"Did 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 "" -"Quando é necessário imprimir com a porta da impressora aberta\n" -"Você sabia que abrir a porta da impressora pode reduzir a probabilidade de " -"entupimento do extrusor/bico aquecido ao imprimir filamento de temperatura " -"mais baixa com uma temperatura de invólucro mais alta. Mais informações " -"sobre isso na Wiki." +#: resources/data/hints.ini: [hint:When need to print with the printer door opened] +msgid "When need to print with the printer door opened\n" +"Did 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 "Quando é necessário imprimir com a porta da impressora aberta\n" +"Você sabia que abrir a porta da impressora pode reduzir a probabilidade de entupimento do extrusor/bico aquecido ao imprimir filamento de temperatura mais baixa com uma temperatura de invólucro mais alta. Mais informações sobre isso na Wiki." #: resources/data/hints.ini: [hint:Avoid warping] -msgid "" -"Avoid warping\n" -"Did 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 "" -"Evitar empenamento\n" -"Você sabia que ao imprimir materiais propensos ao empenamento, como ABS, " -"aumentar adequadamente a temperatura da mesa aquecida pode reduzir a " -"probabilidade de empenamento?" +msgid "Avoid warping\n" +"Did 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 "Evitar empenamento\n" +"Você sabia que ao imprimir materiais propensos ao empenamento, como ABS, aumentar adequadamente a temperatura da mesa aquecida pode reduzir a probabilidade de empenamento?" -#~ msgid "V" -#~ msgstr "V" - -#~ msgid "" -#~ "Orca Slicer is based on BambuStudio by Bambulab, which is from " -#~ "PrusaSlicer by Prusa Research. PrusaSlicer is from Slic3r by Alessandro " -#~ "Ranellucci and the RepRap community" -#~ msgstr "" -#~ "O Orca Slicer é baseado no BambuStudio da Bambulab, que é derivado do " -#~ "PrusaSlicer da Prusa Research. O PrusaSlicer vem do Slic3r de Alessandro " -#~ "Ranellucci e da comunidade RepRap" - -#~ msgid "Export &Configs" -#~ msgstr "Exportar &Configurações" - -#~ msgid "Infill direction" -#~ msgstr "Direção de preenchimento" - -#~ msgid "" -#~ "Enable this to get a G-code file which has G2 and G3 moves. And the " -#~ "fitting tolerance is same with resolution" -#~ msgstr "" -#~ "Habilitar isso para obter um arquivo G-code que tenha movimentos G2 e G3. " -#~ "E a tolerância de ajuste é a mesma que a resolução" - -#~ msgid "" -#~ "Infill area is enlarged slightly to overlap with wall for better bonding. " -#~ "The percentage value is relative to line width of sparse infill" -#~ msgstr "" -#~ "A área de preenchimento é ligeiramente ampliada para se sobrepor ao " -#~ "perímetro para melhor aderência. O valor percentual é relativo à largura " -#~ "da linha do preenchimento não sólido" - -#~ msgid "Export Configs" -#~ msgstr "Exportar Configurações" - -#~ msgid "Actions For Unsaved Changes" -#~ msgstr "Ações para Alterações Não Salvas" - -#~ msgid "Preset Value" -#~ msgstr "Valor Predefinido" - -#~ msgid "Modified Value" -#~ msgstr "Valor Modificado" - -#~ msgid "Transfer Modified Value" -#~ msgstr "Transferir Valor Modificado" - -#~ msgid "Use Preset Value" -#~ msgstr "Usar Valor Predefinido" - -#~ msgid "Save Modified Value" -#~ msgstr "Salvar Valor Modificado" - -#~ msgid "" -#~ "\n" -#~ "Would you like to save these changed settings(modified value)?" -#~ msgstr "" -#~ "\n" -#~ "Você gostaria de salvar estas configurações alteradas (valor modificado)?" - -#~ msgid "" -#~ "\n" -#~ "Would you like to keep these changed settings(modified value) after " -#~ "switching preset?" -#~ msgstr "" -#~ "\n" -#~ "Você gostaria de manter estas configurações alteradas (valores " -#~ "modificados) após mudar o preset?" - -#~ msgid "" -#~ "You have previously modified your settings and are about to overwrite " -#~ "them with new ones." -#~ msgstr "" -#~ "Você modificou suas configurações anteriormente e está prestes a " -#~ "substituí-las por novas." - -#~ msgid "" -#~ "\n" -#~ "Do you want to keep your current modified settings, or use preset " -#~ "settings?" -#~ msgstr "" -#~ "\n" -#~ "Você quer manter suas configurações atuais modificadas ou usar as " -#~ "configurações predefinidas?" - -#~ msgid "" -#~ "\n" -#~ "Do you want to save your current modified settings?" -#~ msgstr "" -#~ "\n" -#~ "Você quer salvar suas configurações atuais modificadas?" - -#~ msgid "Unload Filament" -#~ msgstr "Descarregar Filamento" - -#~ msgid "MC" -#~ msgstr "MC" - -#~ msgid "MainBoard" -#~ msgstr "Placa principal" - -#~ msgid "TH" -#~ msgstr "TH" - -#~ msgid "XCam" -#~ msgstr "XCam" - -#~ msgid "" -#~ "Over 4 studio/handy are using remote access, you can close some and try " -#~ "again." -#~ msgstr "" -#~ "Mais de 4 estúdio/prático estão usando o acesso remoto, você pode fechar " -#~ "alguns e tentar novamente." - -#~ msgid "HMS" -#~ msgstr "HMS" - -#~ msgid "" -#~ "The 3mf file version is in Beta and it is newer than the current Bambu " -#~ "Studio version." -#~ msgstr "" -#~ "A versão do arquivo 3mf está em Beta e é mais recente que a versão atual " -#~ "do Bambu Studio." - -#~ msgid "If you would like to try Bambu Studio Beta, you may click to" -#~ msgstr "Se você gostaria de testar o Bambu Studio Beta, clique para" - -#~ msgid "The 3mf file version is newer than the current Bambu Studio version." -#~ msgstr "" -#~ "A versão do arquivo 3mf é mais recente que a versão atual do Bambu Studio." - -#~ msgid "" -#~ "Update your Bambu Studio could enable all functionality in the 3mf file." -#~ msgstr "" -#~ "Atualizar seu Bambu Studio pode habilitar todas as funcionalidades do " -#~ "arquivo 3mf." - -#~ msgid "- ℃" -#~ msgstr "- °C" - -#~ msgid "0.5" -#~ msgstr "0.5" - -#~ msgid "0.005" -#~ msgstr "0.005" - -#~ msgid "New Flow Dynamics Calibration" -#~ msgstr "Nova Calibração de Dinâmica de Fluxo" From 5952db16a6ebd4fc8e2eb927b72f31e6cbfa9967 Mon Sep 17 00:00:00 2001 From: anselor Date: Sun, 26 May 2024 01:29:49 -0400 Subject: [PATCH 072/178] Removes check to disable nozzle override from Bambu Studio. (#5459) Show full nozzle diameter --- src/slic3r/GUI/SelectMachine.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 08a9cdd96cf..10430371441 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -2335,7 +2335,7 @@ bool SelectMachineDialog::is_same_nozzle_diameters(std::string& tag_nozzle_type, } //nozzle_type = preset_nozzle_type; - nozzle_diameter = wxString::Format("%.1f", preset_nozzle_diameters).ToStdString(); + nozzle_diameter = wxString::Format("%.2f", preset_nozzle_diameters).ToStdString(); return is_same_nozzle_diameters; } @@ -2573,10 +2573,9 @@ void SelectMachineDialog::on_ok_btn(wxCommandEvent &event) if (!obj_->nozzle_type.empty() && (m_print_type == PrintFromType::FROM_NORMAL)) { if (!is_same_nozzle_diameters(tag_nozzle_type, nozzle_diameter)) { has_slice_warnings = true; - is_printing_block = true; wxString nozzle_in_preset = wxString::Format(_L("nozzle in preset: %s %s"),nozzle_diameter, ""); - wxString nozzle_in_printer = wxString::Format(_L("nozzle memorized: %.1f %s"), obj_->nozzle_diameter, ""); + wxString nozzle_in_printer = wxString::Format(_L("nozzle memorized: %.2f %s"), obj_->nozzle_diameter, ""); confirm_text.push_back(ConfirmBeforeSendInfo(_L("Your nozzle diameter in sliced file is not consistent with memorized nozzle. If you changed your nozzle lately, please go to Device > Printer Parts to change settings.") + "\n " + nozzle_in_preset From fffb303766cb25a4bf3c900aa48269fff5a2f041 Mon Sep 17 00:00:00 2001 From: anselor Date: Sun, 26 May 2024 01:30:51 -0400 Subject: [PATCH 073/178] Added additional filament vendors. (#5461) Added Anker printers to filament presets dialog. Added helper to generate formatted strings for dialog from profile JSON files. --- scripts/generate_presets_vendors.py | 150 +++++++++++++++++++++++++ src/slic3r/GUI/CreatePresetsDialog.cpp | 56 ++++++--- 2 files changed, 190 insertions(+), 16 deletions(-) create mode 100644 scripts/generate_presets_vendors.py diff --git a/scripts/generate_presets_vendors.py b/scripts/generate_presets_vendors.py new file mode 100644 index 00000000000..c70177632af --- /dev/null +++ b/scripts/generate_presets_vendors.py @@ -0,0 +1,150 @@ +# helps manage the static list of vendor names in src/slic3r/GUI/CreatePresetsDialog.cpp + +import json +from pathlib import Path +from typing import Dict, List + + +scripts_dir = Path(__file__).resolve().parent +print(f'Scripts dir: {scripts_dir}') +root_dir = scripts_dir.parent +profiles_dir = root_dir / 'resources' / 'profiles' + +printers: Dict[str, List[str]] = {} + +# generates the printer vendor list +print(f'Looking in {profiles_dir.resolve()}') +for entry in profiles_dir.glob('*.json'): + if entry.is_file(): + entry_info = json.loads(entry.read_text()) + vendor_name = entry_info.get('name', None) + if vendor_name: + models = [machine.get('name', None) for machine in entry_info.get('machine_model_list', []) if machine.get('name', None)] + printers[vendor_name] = models + +vendor_names = [f'"{vendor_name}",' for vendor_name in sorted(printers.keys(), key=str.casefold)] +vend_col_width = len(max(vendor_names, key=len)) +vendors_formatted = ' {' + '\n '.join(' '.join(f"{vendor_name:{vend_col_width}}" for vendor_name in vendor_names[i:i+5]) for i in range(0, len(vendor_names), 5)).rstrip()[:-1] + '}' +print(vendors_formatted) + +# generates the printer model map +models_formatted = ' {' +models_indent = len(models_formatted) + vend_col_width + 2 +for vendor_name in sorted(printers.keys(), key=str.casefold): + vendor_formatted = f'"{vendor_name}",' + models_formatted += f'{{{vendor_formatted:{vend_col_width}}{{' + + model_names = printers[vendor_name] + model_names_formatted = [f'"{model_name}",' for model_name in model_names] + model_col_width = len(max(model_names_formatted, key=len)) + model_names_str = ('\n' + ' ' * models_indent).join(' '.join(f"{model_name:{model_col_width}}" for model_name in model_names_formatted[i:i+5]) for i in range(0, len(model_names), 5)).rstrip()[:-1] + '}' + + models_formatted += model_names_str + + models_formatted += '},\n ' + +models_formatted = models_formatted.rstrip()[:-1] +print(models_formatted) + + +# Generate Filament Vendors +filament_vendors = [ + '3Dgenius', + '3DJake', + '3DXTECH', + '3D BEST-Q', + '3D Hero', + '3D-Fuel', + 'Aceaddity', + 'AddNorth', + 'Amazon Basics', + 'AMOLEN', + 'Ankermake', + 'Anycubic', + 'Atomic', + 'AzureFilm', + 'BASF', + 'Bblife', + 'BCN3D', + 'Beyond Plastic', + 'California Filament', + 'Capricorn', + 'CC3D', + 'colorFabb', + 'Comgrow', + 'Cookiecad', + 'Creality', + 'Das Filament', + 'DO3D', + 'DOW', + 'DSM', + 'Duramic', + 'ELEGOO', + 'Eryone', + 'Essentium', + 'eSUN', + 'Extrudr', + 'Fiberforce', + 'Fiberlogy', + 'FilaCube', + 'Filamentive', + 'Fillamentum', + 'FLASHFORGE', + 'Formfortura', + 'Francofil', + 'GEEETECH', + 'Giantarm', + 'Gizmo Dorks', + 'GreenGate3D', + 'HATCHBOX', + 'Hello3D', + 'IC3D', + 'IEMAI', + 'IIID Max', + 'INLAND', + 'iProspect', + 'iSANMATE', + 'Justmaker', + 'Keene Village Plastics', + 'Kexcelled', + 'MakerBot', + 'MatterHackers', + 'MIKA3D', + 'NinjaTek', + 'Nobufil', + 'Novamaker', + 'OVERTURE', + 'OVVNYXE', + 'Polymaker', + 'Priline', + 'Printed Solid', + 'Protopasta', + 'Prusament', + 'Push Plastic', + 'R3D', + 'Re-pet3D', + 'Recreus', + 'Regen', + 'Sain SMART', + 'SliceWorx', + 'Snapmaker', + 'SnoLabs', + 'Spectrum', + 'SUNLU', + 'TTYT3D', + 'UltiMaker', + 'Verbatim', + 'VO3D', + 'Voxelab', + 'YOOPAI', + 'Yousu', + 'Ziro', + 'Zyltech', + ] + +filament_vendors_formatted = [f'"{vendor_name}",' for vendor_name in filament_vendors] +fil_col_width = len(max(filament_vendors_formatted, key=len)) +filaments_formatted = ' {' +filament_indent = len(filaments_formatted) +filaments_formatted += ('\n' + ' ' * filament_indent).join(' '.join(f'{vendor_name:{fil_col_width}}' for vendor_name in filament_vendors_formatted[i:i+5]) for i in range(0, len(filament_vendors), 5)).rstrip()[:-1] + '};' +print(filaments_formatted) \ No newline at end of file diff --git a/src/slic3r/GUI/CreatePresetsDialog.cpp b/src/slic3r/GUI/CreatePresetsDialog.cpp index 5e6b863217f..d1ef2d911ca 100644 --- a/src/slic3r/GUI/CreatePresetsDialog.cpp +++ b/src/slic3r/GUI/CreatePresetsDialog.cpp @@ -37,22 +37,44 @@ namespace Slic3r { namespace GUI { -static const std::vector filament_vendors = {"Polymaker", "OVERTURE", "Kexcelled", "HATCHBOX", "eSUN", "SUNLU", "Prusament", "Creality", "Protopasta", - "Anycubic", "Basf", "ELEGOO", "INLAND", "FLASHFORGE", "AMOLEN", "MIKA3D", "3DXTECH", "Duramic", - "Priline", "Eryone", "3Dgunius", "Novamaker", "Justmaker", "Giantarm", "iProspect"}; - -static const std::vector filament_types = {"PLA", "PLA+", "PLA Tough", "PETG", "ABS", "ASA", "FLEX", "HIPS", "PA", "PACF", - "NYLON", "PVA", "PC", "PCABS", "PCTG", "PCCF", "PP", "PEI", "PET", "PETG", - "PETGCF", "PTBA", "PTBA90A", "PEEK", "TPU93A", "TPU75D", "TPU", "TPU92A", "TPU98A", "Misc", +static const std::vector filament_vendors = + {"3Dgenius", "3DJake", "3DXTECH", "3D BEST-Q", "3D Hero", + "3D-Fuel", "Aceaddity", "AddNorth", "Amazon Basics", "AMOLEN", + "Ankermake", "Anycubic", "Atomic", "AzureFilm", "BASF", + "Bblife", "BCN3D", "Beyond Plastic", "California Filament", "Capricorn", + "CC3D", "colorFabb", "Comgrow", "Cookiecad", "Creality", + "Das Filament", "DO3D", "DOW", "DSM", "Duramic", + "ELEGOO", "Eryone", "Essentium", "eSUN", "Extrudr", + "Fiberforce", "Fiberlogy", "FilaCube", "Filamentive", "Fillamentum", + "FLASHFORGE", "Formfortura", "Francofil", "GEEETECH", "Giantarm", + "Gizmo Dorks", "GreenGate3D", "HATCHBOX", "Hello3D", "IC3D", + "IEMAI", "IIID Max", "INLAND", "iProspect", "iSANMATE", + "Justmaker", "Keene Village Plastics", "Kexcelled", "MakerBot", "MatterHackers", + "MIKA3D", "NinjaTek", "Nobufil", "Novamaker", "OVERTURE", + "OVVNYXE", "Polymaker", "Priline", "Printed Solid", "Protopasta", + "Prusament", "Push Plastic", "R3D", "Re-pet3D", "Recreus", + "Regen", "Sain SMART", "SliceWorx", "Snapmaker", "SnoLabs", + "Spectrum", "SUNLU", "TTYT3D", "UltiMaker", "Verbatim", + "VO3D", "Voxelab", "YOOPAI", "Yousu", "Ziro", + "Zyltech"}; + +static const std::vector filament_types = {"PLA", "PLA+", "PLA Tough", "PETG", "ABS", "ASA", "FLEX", "HIPS", "PA", "PACF", + "NYLON", "PVA", "PC", "PCABS", "PCTG", "PCCF", "PHA", "PP", "PEI", "PET", "PETG", + "PETGCF", "PTBA", "PTBA90A", "PEEK", "TPU93A", "TPU75D", "TPU", "TPU92A", "TPU98A", "Misc", "TPE", "GLAZE", "Nylon", "CPE", "METAL", "ABST", "Carbon Fiber"}; -static const std::vector printer_vendors = {"Anycubic", "Artillery", "BIBO", "BIQU", "Creality ENDER", "Creality CR", "Creality SERMOON", - "FLSun", "gCreate", "Geeetech", "INAT", "Infinity3D", "Jubilee", "LNL3D", - "LulzBot", "MakerGear", "Original Prusa", "Papapiu", "Print4Taste", "RatRig", "Rigid3D", - "Snapmaker", "Sovol", "TriLAB", "Trimaker", "Ultimaker", "Voron", "Zonestar"}; +static const std::vector printer_vendors = + {"Anker", "Anycubic", "Artillery", "Bambulab", "BIQU", + "Comgrow", "Creality", "Custom Printer", "Elegoo", "Flashforge", + "FLSun", "FlyingBear", "Folgertech", "InfiMech", "Kingroon", + "Orca Arena Printer", "Peopoly", "Prusa", "Qidi", "Raise3D", + "RatRig", "SecKit", "Snapmaker", "Sovol", "Tronxy", + "TwoTrees", "UltiMaker", "Vivedino", "Voron", "Voxelab", + "Vzbot", "Wanhao"}; static const std::unordered_map> printer_model_map = - {{"Anycubic", {"Kossel Linear Plus", "Kossel Pulley(Linear)", "Mega Zero", "i3 Mega", "Predator"}}, + {{"Anker", {"Anker M5", "Anker M5 All-Metal Hot End", "Anker M5C"}}, + {"Anycubic", {"Kossel Linear Plus", "Kossel Pulley(Linear)", "Mega Zero", "i3 Mega", "Predator"}}, {"Artillery", {"sidewinder X1", "Genius", "Hornet"}}, {"BIBO", {"BIBO2 Touch"}}, {"BIQU", {"BX"}}, @@ -93,10 +115,10 @@ static const std::unordered_map> printer_m "Zero 120mm3", "Switchwire"}}, {"Zonestar", {"Z5", "Z6", "Z5x", "Z8", "Z9"}}}; -static std::vector nozzle_diameter_vec = {"0.4", "0.2", "0.25", "0.3", "0.35", "0.5", "0.6", "0.75", "0.8", "1.0", "1.2"}; -static std::unordered_map nozzle_diameter_map = {{"0.2", 0.2}, {"0.25", 0.25}, {"0.3", 0.3}, {"0.35", 0.35}, - {"0.4", 0.4}, {"0.5", 0.5}, {"0.6", 0.6}, {"0.75", 0.75}, - {"0.8", 0.8}, {"1.0", 1.0}, {"1.2", 1.2}}; +static std::vector nozzle_diameter_vec = {"0.4", "0.15", "0.2", "0.25", "0.3", "0.35", "0.5", "0.6", "0.75", "0.8", "1.0", "1.2"}; +static std::unordered_map nozzle_diameter_map = {{"0.15", 0.15}, {"0.2", 0.2}, {"0.25", 0.25}, {"0.3", 0.3}, + {"0.35", 0.35}, {"0.4", 0.4}, {"0.5", 0.5}, {"0.6", 0.6}, + {"0.75", 0.75}, {"0.8", 0.8}, {"1.0", 1.0}, {"1.2", 1.2}}; static std::set cannot_input_key = {9, 10, 13, 33, 35, 36, 37, 38, 40, 41, 42, 44, 46, 47, 59, 60, 62, 63, 64, 92, 94, 95, 124, 126}; @@ -673,6 +695,7 @@ wxBoxSizer *CreateFilamentPresetDialog::create_vendor_item() for (const wxString &vendor : filament_vendors) { choices.push_back(vendor); } + choices.Sort(); wxBoxSizer *vendor_sizer = new wxBoxSizer(wxHORIZONTAL); m_filament_vendor_combobox = new ComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, NAME_OPTION_COMBOBOX_SIZE, 0, nullptr, wxCB_READONLY); @@ -754,6 +777,7 @@ wxBoxSizer *CreateFilamentPresetDialog::create_type_item() for (const wxString &filament : m_system_filament_types_set) { filament_type.Add(filament); } + filament_type.Sort(); wxBoxSizer *comboBoxSizer = new wxBoxSizer(wxVERTICAL); m_filament_type_combobox = new ComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, NAME_OPTION_COMBOBOX_SIZE, 0, nullptr, wxCB_READONLY); From 828637814241b2a7a1275084baa75a3ffb18f9b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olcay=20=C3=96REN?= <33813227+olcayoren@users.noreply.github.com> Date: Tue, 28 May 2024 17:39:58 +0300 Subject: [PATCH 074/178] Turkish words were edited in the text.js file. (#5473) * Update OrcaSlicer_tr.po - TURKISH translation update * Update OrcaSlicer_tr.po Update OrcaSlicer_tr.po - TURKISH translation update * Update OrcaSlicer_tr.po - TURKISH translation update * Update OrcaSlicer_tr.po - TURKISH translation update * Valment filament added. * Update OrcaSlicer_tr.po - TURKISH translation update * Turkish words were edited in the text.js file. --- localization/i18n/tr/OrcaSlicer_tr.po | 4 ++-- resources/web/data/text.js | 24 +++++++++++++++++++++--- scripts/generate_presets_vendors.py | 1 + src/slic3r/GUI/CreatePresetsDialog.cpp | 6 +++--- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po index cb68d5d5c38..9a975d7aeb1 100644 --- a/localization/i18n/tr/OrcaSlicer_tr.po +++ b/localization/i18n/tr/OrcaSlicer_tr.po @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-05-24 23:26+0800\n" -"PO-Revision-Date: 2024-05-25 04:32+0300\n" +"PO-Revision-Date: 2024-05-26 23:42+0300\n" "Last-Translator: Olcay ÖREN\n" "Language-Team: \n" "Language: tr\n" @@ -11459,7 +11459,7 @@ msgstr "" "potansiyelini en aza indirmek için bu değeri ~%10-15’e ayarlayın." msgid "Top/Bottom solid infill/wall overlap" -msgstr "Üst/Alt katı dolgu/duvar örtüşmesi" +msgstr "Üst/Alt katı dolgu/Duvar örtüşmesi" #, no-c-format, no-boost-format msgid "" diff --git a/resources/web/data/text.js b/resources/web/data/text.js index d05ab478de9..853a293a366 100644 --- a/resources/web/data/text.js +++ b/resources/web/data/text.js @@ -1057,9 +1057,27 @@ var LangText = { t89: "Dosyayı içeren klasörü açınız", t90: "3D Model", t91: "3D modelleri indirin", - t92: "Bambu Noel Kabini", - t93: "Yazıcı Bağlantısı", - t94: "Cihazı görüntülemek için lütfen yazıcı bağlantınızı kurun.", + t92: "Oluşturan", + t93: "Değiştiren", + t94: "Paylaşan", + t95: "Model Bilgileri", + t96: "Aksesuarlar", + t97: "Profil Bilgisi", + t98: "Model adı", + t100: "Model açıklaması", + t101: "Malzeme Listesi", + t102: "Montaj Kılavuzu", + t103: "Diğer", + t104: "Profil ismi", + t105: "Profil Yazarı", + t106: "Profil açıklaması", + t107: "Çevrimiçi Modeller", + t108: "DAHA FAZLA", + t109: "Sistem Filamentleri", + t110: "Özel Filamentler", + t111: "Yeni Oluştur", + t112: "Programa Katılın", + t113: "Tercihinizi istediğiniz zaman değiştirebilirsiniz.", orca1: "Proje Bilgilerini Düzenle", orca2: "model bilgisi yok", }, diff --git a/scripts/generate_presets_vendors.py b/scripts/generate_presets_vendors.py index c70177632af..d28dddef14f 100644 --- a/scripts/generate_presets_vendors.py +++ b/scripts/generate_presets_vendors.py @@ -133,6 +133,7 @@ filament_vendors = [ 'SUNLU', 'TTYT3D', 'UltiMaker', + 'Valment', 'Verbatim', 'VO3D', 'Voxelab', diff --git a/src/slic3r/GUI/CreatePresetsDialog.cpp b/src/slic3r/GUI/CreatePresetsDialog.cpp index d1ef2d911ca..0bd52707dc0 100644 --- a/src/slic3r/GUI/CreatePresetsDialog.cpp +++ b/src/slic3r/GUI/CreatePresetsDialog.cpp @@ -54,9 +54,9 @@ static const std::vector filament_vendors = "OVVNYXE", "Polymaker", "Priline", "Printed Solid", "Protopasta", "Prusament", "Push Plastic", "R3D", "Re-pet3D", "Recreus", "Regen", "Sain SMART", "SliceWorx", "Snapmaker", "SnoLabs", - "Spectrum", "SUNLU", "TTYT3D", "UltiMaker", "Verbatim", - "VO3D", "Voxelab", "YOOPAI", "Yousu", "Ziro", - "Zyltech"}; + "Spectrum", "SUNLU", "TTYT3D", "UltiMaker", "Valment", + "Verbatim", "VO3D", "Voxelab", "YOOPAI", "Yousu", + "Ziro", "Zyltech"}; static const std::vector filament_types = {"PLA", "PLA+", "PLA Tough", "PETG", "ABS", "ASA", "FLEX", "HIPS", "PA", "PACF", "NYLON", "PVA", "PC", "PCABS", "PCTG", "PCCF", "PHA", "PP", "PEI", "PET", "PETG", From 1ec838b5626f13fde20ddff75257a526fd47a121 Mon Sep 17 00:00:00 2001 From: cochcoder <103969142+cochcoder@users.noreply.github.com> Date: Tue, 28 May 2024 14:40:21 +0000 Subject: [PATCH 075/178] Add puase G-Code for FLSUN V400 (#5469) Add puase g-code --- resources/profiles/FLSun/machine/FLSun V400 0.4 nozzle.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/profiles/FLSun/machine/FLSun V400 0.4 nozzle.json b/resources/profiles/FLSun/machine/FLSun V400 0.4 nozzle.json index 1ac0837ea23..98c26efe898 100644 --- a/resources/profiles/FLSun/machine/FLSun V400 0.4 nozzle.json +++ b/resources/profiles/FLSun/machine/FLSun V400 0.4 nozzle.json @@ -92,8 +92,9 @@ "machine_end_gcode": "M107 T0\nM104 S0\nM104 S0 T1\nM140 S0\nG92 E0\nG91\nG1 E-1 F300\nG1 Z+0.5 F6000\nG28 \nG90 ;absolute positioning", "machine_start_gcode": "G21\nG90\nM82\nM107 T0\nM140 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer] T0\nM190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer] T0\nG28\nG1 F3000 Z1\nG1 X-150 Y0 Z0.4\nG92 E0\nG3 X0 Y-130 I150 Z0.3 E30 F2000\nG92 E0", "layer_change_gcode": "", + "machine_pause_gcode": "PAUSE", "scan_first_layer": "0", "nozzle_type": "hardened_steel", "auxiliary_fan": "0" } - \ No newline at end of file + From 8a7493a884043bca3d886bdd1e773cf8f32439d1 Mon Sep 17 00:00:00 2001 From: cochcoder <103969142+cochcoder@users.noreply.github.com> Date: Tue, 28 May 2024 14:50:54 +0000 Subject: [PATCH 076/178] Fix potential typo with print infill first tooltip (#5476) Fix potential typo --- src/libslic3r/PrintConfig.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index c122b547388..772d13f88ff 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1542,7 +1542,7 @@ void PrintConfigDef::init_fff_params() def = this->add("is_infill_first",coBool); def->label = L("Print infill first"); - def->tooltip = L("Order of wall/infill. When the tickbox is unchecked the walls are printed first, which works best in most cases.\n\nPrinting walls first may help with extreme overhangs as the walls have the neighbouring infill to adhere to. However, the infill will slighly 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."); + def->tooltip = L("Order of wall/infill. When the tickbox is unchecked the walls are printed first, which works best in most cases.\n\nPrinting infill first may help with extreme overhangs as the walls have the neighbouring infill to adhere to. However, the infill will slighly 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."); def->category = L("Quality"); def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool{false}); From 1af52c52db551d38070838f4e763cb62d9ff8800 Mon Sep 17 00:00:00 2001 From: KrisMorr <154343071+KrisMorr@users.noreply.github.com> Date: Tue, 28 May 2024 16:51:35 +0200 Subject: [PATCH 077/178] Updated string after merged #5459 (#5479) Removes check to disable nozzle override from Bambu Studio. (#5459) Show full nozzle diameter --- localization/i18n/OrcaSlicer.pot | 298 ++++++++++---------- localization/i18n/ca/OrcaSlicer_ca.po | 4 +- localization/i18n/cs/OrcaSlicer_cs.po | 2 +- localization/i18n/de/OrcaSlicer_de.po | 4 +- localization/i18n/en/OrcaSlicer_en.po | 4 +- localization/i18n/es/OrcaSlicer_es.po | 4 +- localization/i18n/fr/OrcaSlicer_fr.po | 4 +- localization/i18n/hu/OrcaSlicer_hu.po | 4 +- localization/i18n/it/OrcaSlicer_it.po | 4 +- localization/i18n/ja/OrcaSlicer_ja.po | 4 +- localization/i18n/ko/OrcaSlicer_ko.po | 4 +- localization/i18n/nl/OrcaSlicer_nl.po | 4 +- localization/i18n/pl/OrcaSlicer_pl.po | 4 +- localization/i18n/pt_BR/OrcaSlicer_pt_BR.po | 4 +- localization/i18n/ru/OrcaSlicer_ru.po | 4 +- localization/i18n/sv/OrcaSlicer_sv.po | 4 +- localization/i18n/tr/OrcaSlicer_tr.po | 4 +- localization/i18n/uk/OrcaSlicer_uk.po | 4 +- localization/i18n/zh_CN/OrcaSlicer_zh_CN.po | 4 +- localization/i18n/zh_TW/OrcaSlicer_zh_TW.po | 2 +- 20 files changed, 185 insertions(+), 185 deletions(-) diff --git a/localization/i18n/OrcaSlicer.pot b/localization/i18n/OrcaSlicer.pot index 6809ea77765..2d94b81474f 100644 --- a/localization/i18n/OrcaSlicer.pot +++ b/localization/i18n/OrcaSlicer.pot @@ -6766,7 +6766,7 @@ msgid "nozzle in preset: %s %s" msgstr "" #, possible-c-format, possible-boost-format -msgid "nozzle memorized: %.1f %s" +msgid "nozzle memorized: %.2f %s" msgstr "" msgid "" @@ -14080,151 +14080,151 @@ msgstr "" msgid "User cancelled." 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 "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:Chamber temperature] -msgid "Chamber temperature\nDid you know that OrcaSlicer supports chamber temperature?" -msgstr "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:Auxiliary fan] -msgid "Auxiliary fan\nDid you know that OrcaSlicer supports Auxiliary part cooling fan?" -msgstr "" - -#: resources/data/hints.ini: [hint:Air filtration] -msgid "Air filtration/Exhaust Fan\nDid you know that OrcaSlicer can support Air filtration/Exhaust Fan?" -msgstr "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:Switch workspaces] -msgid "Switch workspaces\nYou can switch between Prepare and Preview workspaces by pressing the Tab key." -msgstr "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:Reverse on odd] -msgid "Reverse on odd\nDid you know that Reverse on odd feature can significantly improve the surface quality of your overhangs?" -msgstr "" - -#: 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 "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:Timelapse] -msgid "Timelapse\nDid you know that you can generate a timelapse video during each print?" -msgstr "" - -#: resources/data/hints.ini: [hint:Auto-Arrange] -msgid "Auto-Arrange\nDid you know that you can auto-arrange all objects in your project?" -msgstr "" - -#: resources/data/hints.ini: [hint:Auto-Orient] -msgid "Auto-Orient\nDid you know that you can rotate objects to an optimal orientation for printing by a simple click?" -msgstr "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:Brim for better adhesion] -msgid "Brim for better adhesion\nDid you know that when printing models have a small contact interface with the printing surface, it's recommended to use a brim?" -msgstr "" - -#: 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 one time?" -msgstr "" - -#: resources/data/hints.ini: [hint:Stack objects] -msgid "Stack objects\nDid you know that you can stack objects as a whole one?" -msgstr "" - -#: resources/data/hints.ini: [hint:Flush into support/objects/infill] -msgid "Flush into support/objects/infill\nDid you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?" -msgstr "" - -#: 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 "" - -#: resources/data/hints.ini: [hint:When need to print with the printer door opened] -msgid "When 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 "" - -#: 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 "" + +#: 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 "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:Chamber temperature] +msgid "Chamber temperature\nDid you know that OrcaSlicer supports chamber temperature?" +msgstr "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:Auxiliary fan] +msgid "Auxiliary fan\nDid you know that OrcaSlicer supports Auxiliary part cooling fan?" +msgstr "" + +#: resources/data/hints.ini: [hint:Air filtration] +msgid "Air filtration/Exhaust Fan\nDid you know that OrcaSlicer can support Air filtration/Exhaust Fan?" +msgstr "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:Switch workspaces] +msgid "Switch workspaces\nYou can switch between Prepare and Preview workspaces by pressing the Tab key." +msgstr "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:Reverse on odd] +msgid "Reverse on odd\nDid you know that Reverse on odd feature can significantly improve the surface quality of your overhangs?" +msgstr "" + +#: 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 "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:Timelapse] +msgid "Timelapse\nDid you know that you can generate a timelapse video during each print?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Arrange] +msgid "Auto-Arrange\nDid you know that you can auto-arrange all objects in your project?" +msgstr "" + +#: resources/data/hints.ini: [hint:Auto-Orient] +msgid "Auto-Orient\nDid you know that you can rotate objects to an optimal orientation for printing by a simple click?" +msgstr "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:Brim for better adhesion] +msgid "Brim for better adhesion\nDid you know that when printing models have a small contact interface with the printing surface, it's recommended to use a brim?" +msgstr "" + +#: 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 one time?" +msgstr "" + +#: resources/data/hints.ini: [hint:Stack objects] +msgid "Stack objects\nDid you know that you can stack objects as a whole one?" +msgstr "" + +#: resources/data/hints.ini: [hint:Flush into support/objects/infill] +msgid "Flush into support/objects/infill\nDid you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?" +msgstr "" + +#: 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 "" + +#: resources/data/hints.ini: [hint:When need to print with the printer door opened] +msgid "When 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 "" + +#: 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 "" diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po index 2bd9428e68a..dce3c24f71b 100644 --- a/localization/i18n/ca/OrcaSlicer_ca.po +++ b/localization/i18n/ca/OrcaSlicer_ca.po @@ -7332,8 +7332,8 @@ msgid "nozzle in preset: %s %s" msgstr "broquet del perfil: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "broquet memoritzat: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "broquet memoritzat: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/cs/OrcaSlicer_cs.po b/localization/i18n/cs/OrcaSlicer_cs.po index 4d2cec41201..aadea09b231 100644 --- a/localization/i18n/cs/OrcaSlicer_cs.po +++ b/localization/i18n/cs/OrcaSlicer_cs.po @@ -7147,7 +7147,7 @@ msgid "nozzle in preset: %s %s" msgstr "" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" +msgid "nozzle memorized: %.2f %s" msgstr "" msgid "" diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index 947ad5f6897..c156f4f2cab 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -7394,8 +7394,8 @@ msgid "nozzle in preset: %s %s" msgstr "Düse im Profil: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "Düse gemerkt: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "Düse gemerkt: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po index 41e70242017..f0715231aa2 100644 --- a/localization/i18n/en/OrcaSlicer_en.po +++ b/localization/i18n/en/OrcaSlicer_en.po @@ -7102,8 +7102,8 @@ msgid "nozzle in preset: %s %s" msgstr "nozzle in preset: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "nozzle memorized: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "nozzle memorized: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po index 0dee8e7c7f9..4ce653b20d7 100644 --- a/localization/i18n/es/OrcaSlicer_es.po +++ b/localization/i18n/es/OrcaSlicer_es.po @@ -7328,8 +7328,8 @@ msgid "nozzle in preset: %s %s" msgstr "Boquilla preestablecida: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "Boquilla memorizada: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "Boquilla memorizada: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po index 534ca37bdcf..9db43bbec45 100644 --- a/localization/i18n/fr/OrcaSlicer_fr.po +++ b/localization/i18n/fr/OrcaSlicer_fr.po @@ -7401,8 +7401,8 @@ msgid "nozzle in preset: %s %s" msgstr "buse dans le préréglage : %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "buse mémorisée : %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "buse mémorisée : %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po index 4294c404163..3fedb515cb0 100644 --- a/localization/i18n/hu/OrcaSlicer_hu.po +++ b/localization/i18n/hu/OrcaSlicer_hu.po @@ -7164,8 +7164,8 @@ msgid "nozzle in preset: %s %s" msgstr "fúvóka a beállításban: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "eltárolt fúvóka: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "eltárolt fúvóka: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/it/OrcaSlicer_it.po b/localization/i18n/it/OrcaSlicer_it.po index d47812bcd11..2f2eb88f2f6 100644 --- a/localization/i18n/it/OrcaSlicer_it.po +++ b/localization/i18n/it/OrcaSlicer_it.po @@ -7305,8 +7305,8 @@ msgid "nozzle in preset: %s %s" msgstr "Ugello in preset: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "ugello memorizzato: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "ugello memorizzato: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/ja/OrcaSlicer_ja.po b/localization/i18n/ja/OrcaSlicer_ja.po index 09bf7d8df3b..2a1bf6326b6 100644 --- a/localization/i18n/ja/OrcaSlicer_ja.po +++ b/localization/i18n/ja/OrcaSlicer_ja.po @@ -7047,8 +7047,8 @@ msgid "nozzle in preset: %s %s" msgstr "nozzle in preset: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "nozzle memorized: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "nozzle memorized: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/ko/OrcaSlicer_ko.po b/localization/i18n/ko/OrcaSlicer_ko.po index 0f3476e6e3a..f92765a8dd7 100644 --- a/localization/i18n/ko/OrcaSlicer_ko.po +++ b/localization/i18n/ko/OrcaSlicer_ko.po @@ -7113,8 +7113,8 @@ msgid "nozzle in preset: %s %s" msgstr "미리 설정된 노즐: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "기억된 노즐: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "기억된 노즐: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/nl/OrcaSlicer_nl.po b/localization/i18n/nl/OrcaSlicer_nl.po index 36b6496dc49..7bf84e929ab 100644 --- a/localization/i18n/nl/OrcaSlicer_nl.po +++ b/localization/i18n/nl/OrcaSlicer_nl.po @@ -7233,8 +7233,8 @@ msgid "nozzle in preset: %s %s" msgstr "mondstuk in voorinstelling: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "mondstuk onthouden: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "mondstuk onthouden: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po index 4382de12e7d..aaef5b24e23 100644 --- a/localization/i18n/pl/OrcaSlicer_pl.po +++ b/localization/i18n/pl/OrcaSlicer_pl.po @@ -7315,8 +7315,8 @@ msgid "nozzle in preset: %s %s" msgstr "dysza w profilu: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "zapamiętana dysza: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "zapamiętana dysza: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po index 452d7380843..93e33451ddc 100644 --- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po +++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po @@ -6513,8 +6513,8 @@ msgid "nozzle in preset: %s %s" msgstr "bico no perfil: %s %s" #, possible-c-format, possible-boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "bico memorizado: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "bico memorizado: %.2f %s" msgid "Your nozzle diameter in sliced file is not consistent with memorized nozzle. If you changed your nozzle lately, please go to Device > Printer Parts to change settings." msgstr "Seu diâmetro de bico no arquivo fatiado não é consistente com o bico memorizado. Se você mudou seu bico recentemente, vá para Dispositivo > Partes da impressora para alterar as configurações." diff --git a/localization/i18n/ru/OrcaSlicer_ru.po b/localization/i18n/ru/OrcaSlicer_ru.po index 945b8d9505b..bea7ccdb2e0 100644 --- a/localization/i18n/ru/OrcaSlicer_ru.po +++ b/localization/i18n/ru/OrcaSlicer_ru.po @@ -7328,8 +7328,8 @@ msgid "nozzle in preset: %s %s" msgstr "сопло в профиле: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "сопло сохранённое: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "сопло сохранённое: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/sv/OrcaSlicer_sv.po b/localization/i18n/sv/OrcaSlicer_sv.po index c590d533e59..7ceecd6dad1 100644 --- a/localization/i18n/sv/OrcaSlicer_sv.po +++ b/localization/i18n/sv/OrcaSlicer_sv.po @@ -7118,8 +7118,8 @@ msgid "nozzle in preset: %s %s" msgstr "nozzel i inställning: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "nozzel memorerat: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "nozzel memorerat: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po index 9a975d7aeb1..0f9ceea2aff 100644 --- a/localization/i18n/tr/OrcaSlicer_tr.po +++ b/localization/i18n/tr/OrcaSlicer_tr.po @@ -7229,8 +7229,8 @@ msgid "nozzle in preset: %s %s" msgstr "önceden ayarlanmış nozul: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "hafızaya alınan nozul: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "hafızaya alınan nozul: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po index f62b9708fa8..40cad0fe6df 100644 --- a/localization/i18n/uk/OrcaSlicer_uk.po +++ b/localization/i18n/uk/OrcaSlicer_uk.po @@ -7216,8 +7216,8 @@ msgid "nozzle in preset: %s %s" msgstr "сопло в налаштуваннях: %s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "запам’ятоване сопло: %.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "запам’ятоване сопло: %.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po index 6067c6116cf..e041a578672 100644 --- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po +++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po @@ -6921,8 +6921,8 @@ msgid "nozzle in preset: %s %s" msgstr "预设中的喷嘴:%s %s" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" -msgstr "记忆中的喷嘴:%.1f %s" +msgid "nozzle memorized: %.2f %s" +msgstr "记忆中的喷嘴:%.2f %s" msgid "" "Your nozzle diameter in sliced file is not consistent with memorized nozzle. " diff --git a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po index 7507c05d144..c2ee3ce4e36 100644 --- a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po +++ b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po @@ -7195,7 +7195,7 @@ msgid "nozzle in preset: %s %s" msgstr "" #, c-format, boost-format -msgid "nozzle memorized: %.1f %s" +msgid "nozzle memorized: %.2f %s" msgstr "" msgid "" From ad98abe0b53915f104146132bf1c21a4c3a36600 Mon Sep 17 00:00:00 2001 From: cochcoder <103969142+cochcoder@users.noreply.github.com> Date: Tue, 28 May 2024 14:52:45 +0000 Subject: [PATCH 078/178] Add Flashforge guider 2s (#5165) * Add Guider 2s 0.4 * Add Guider 2s cover & build plate texture/model & fix missing Guider 3 Ultra build plate model * Add extruder_offset * Change G-Code * Misc Add 0.3, 0.6, & 0.8 nozzle sizes Add supported filaments * Revert "Misc" This reverts commit 94ebc2c52d2bca792acef2fb245b2a3153dfce19. * Re-add filaments * G-Code fixes * Fix printable area * Resolve merge conflicts part 1 * Revert "Resolve merge conflicts part 1" This reverts commit 2d6132a01df2311c00f13e49334b9fad07ec4904. * fix merge conflict part 1.5 * Fix merge conflicts 1.75 * Fix merge conflicts part 2 * Remove old buildplate model * Fix old buildplate model * Change bed origin, max speeds, & max/min layer heights * Remove absolute positioning in G-Code * Lower acceleration * Add lid clearance info * Revert "Remove absolute positioning in G-Code" This reverts commit 5253d320039c6eccf21d229d588bce52e4cd62ff. * Re-enable absolute distances * Fix syntax * Change these too... * Bring closer to original slicer * forgot these * Change to match @AC5SHOT optimal settings * Bring closer to original slicer * Bring closer to original slicer * Update machine limits/functionality --- resources/profiles/Flashforge.json | 84 +++++++++----- .../Flashforge/Flashforge Guider 2s_cover.png | Bin 0 -> 10299 bytes .../filament/Flashforge Generic ABS.json | 3 +- .../filament/Flashforge Generic ASA.json | 3 +- .../filament/Flashforge Generic PETG.json | 5 +- .../Flashforge/filament/Flashforge PLA.json | 3 +- .../filament/FusRock Generic PAHT-CF.json | 7 +- .../filament/FusRock Generic PET-CF.json | 7 +- .../flashforge_g2s_buildplate_model.stl | Bin 0 -> 5900984 bytes .../flashforge_g2s_buildplate_texture.png | Bin 0 -> 122772 bytes ...TL => flashforge_g3u_buildplate_model.stl} | Bin .../Flashforge Guider 2s 0.4 nozzle.json | 60 ++++++++++ .../machine/Flashforge Guider 2s.json | 12 ++ .../machine/Flashforge Guider 3 Ultra.json | 2 +- ...tail @Flashforge Guider 2s 0.4 nozzle.json | 107 +++++++++++++++++ ...imal @Flashforge Guider 2s 0.4 nozzle.json | 107 +++++++++++++++++ ...dard @Flashforge Guider 2s 0.4 nozzle.json | 108 ++++++++++++++++++ ...raft @Flashforge Guider 2s 0.4 nozzle.json | 108 ++++++++++++++++++ 18 files changed, 574 insertions(+), 42 deletions(-) create mode 100644 resources/profiles/Flashforge/Flashforge Guider 2s_cover.png create mode 100644 resources/profiles/Flashforge/flashforge_g2s_buildplate_model.stl create mode 100644 resources/profiles/Flashforge/flashforge_g2s_buildplate_texture.png rename resources/profiles/Flashforge/{flashfoge_g3u_buildplate_model.STL => flashforge_g3u_buildplate_model.stl} (100%) create mode 100644 resources/profiles/Flashforge/machine/Flashforge Guider 2s 0.4 nozzle.json create mode 100644 resources/profiles/Flashforge/machine/Flashforge Guider 2s.json create mode 100644 resources/profiles/Flashforge/process/0.12mm Detail @Flashforge Guider 2s 0.4 nozzle.json create mode 100644 resources/profiles/Flashforge/process/0.16mm Optimal @Flashforge Guider 2s 0.4 nozzle.json create mode 100644 resources/profiles/Flashforge/process/0.20mm Standard @Flashforge Guider 2s 0.4 nozzle.json create mode 100644 resources/profiles/Flashforge/process/0.30mm Draft @Flashforge Guider 2s 0.4 nozzle.json diff --git a/resources/profiles/Flashforge.json b/resources/profiles/Flashforge.json index 636d1fa3968..559bb5ed380 100644 --- a/resources/profiles/Flashforge.json +++ b/resources/profiles/Flashforge.json @@ -13,13 +13,17 @@ "name": "Flashforge Adventurer 5M Pro", "sub_path": "machine/Flashforge Adventurer 5M Pro.json" }, - { + { "name": "Flashforge Adventurer 3 Series", "sub_path": "machine/Flashforge Adventurer 3 Series.json" }, { "name": "Flashforge Guider 3 Ultra", "sub_path": "machine/Flashforge Guider 3 Ultra.json" + }, + { + "name": "Flashforge Guider 2s", + "sub_path": "machine/Flashforge Guider 2s.json" } ], "process_list": [ @@ -55,27 +59,27 @@ "name": "0.30mm Standard @Flashforge AD5M Pro 0.6 Nozzle", "sub_path": "process/0.30mm Standard @Flashforge AD5M Pro 0.6 Nozzle.json" }, - { + { "name": "0.12mm Standard @Flashforge AD5M 0.25 Nozzle", "sub_path": "process/0.12mm Standard @Flashforge AD5M 0.25 Nozzle.json" - }, - { + }, + { "name": "0.12mm Standard @Flashforge AD5M Pro 0.25 Nozzle", "sub_path": "process/0.12mm Standard @Flashforge AD5M Pro 0.25 Nozzle.json" - }, - { + }, + { "name": "0.40mm Standard @Flashforge AD5M 0.8 Nozzle", "sub_path": "process/0.40mm Standard @Flashforge AD5M 0.8 Nozzle.json" - }, - { + }, + { "name": "0.40mm Standard @Flashforge AD5M Pro 0.8 Nozzle", "sub_path": "process/0.40mm Standard @Flashforge AD5M Pro 0.8 Nozzle.json" - }, - { + }, + { "name": "0.20mm Standard @Flashforge AD3 0.4 Nozzle", "sub_path": "process/0.20mm Standard @Flashforge AD3 0.4 Nozzle.json" }, - { + { "name": "0.30mm Fast @Flashforge AD3 0.4 Nozzle", "sub_path": "process/0.30mm Fast @Flashforge AD3 0.4 Nozzle.json" }, @@ -86,6 +90,22 @@ { "name": "0.20mm Standard @Flashforge G3U 0.4 Nozzle", "sub_path": "process/0.20mm Standard @Flashforge G3U 0.4 Nozzle.json" + }, + { + "name": "0.30mm Draft @Flashforge Guider 2s 0.4 nozzle", + "sub_path": "process/0.30mm Draft @Flashforge Guider 2s 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Flashforge Guider 2s 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Flashforge Guider 2s 0.4 nozzle.json" + }, + { + "name": "0.16mm Optimal @Flashforge Guider 2s 0.4 nozzle", + "sub_path": "process/0.16mm Optimal @Flashforge Guider 2s 0.4 nozzle.json" + }, + { + "name": "0.12mm Detail @Flashforge Guider 2s 0.4 nozzle", + "sub_path": "process/0.12mm Detail @Flashforge Guider 2s 0.4 nozzle.json" } ], "filament_list": [ @@ -117,26 +137,26 @@ "name": "Flashforge Generic ABS", "sub_path": "filament/Flashforge Generic ABS.json" }, - { + { "name": "Flashforge ABS @FF AD5M 0.25 Nozzle", "sub_path": "filament/Flashforge ABS @FF AD5M 0.25 Nozzle.json" - }, + }, { "name": "Flashforge Generic PETG", "sub_path": "filament/Flashforge Generic PETG.json" }, - { + { "name": "Flashforge PETG @FF AD5M 0.25 Nozzle", "sub_path": "filament/Flashforge PETG @FF AD5M 0.25 Nozzle.json" - }, + }, { "name": "Flashforge Generic PLA", "sub_path": "filament/Flashforge Generic PLA.json" }, - { + { "name": "Flashforge PLA @FF AD5M 0.25 Nozzle", "sub_path": "filament/Flashforge PLA @FF AD5M 0.25 Nozzle.json" - }, + }, { "name": "Flashforge Generic PLA-CF10", "sub_path": "filament/Flashforge Generic PLA-CF10.json" @@ -145,26 +165,26 @@ "name": "Flashforge Generic PLA-Silk", "sub_path": "filament/Flashforge Generic PLA-Silk.json" }, - { + { "name": "Flashforge PLA-SILK @FF AD5M 0.25 Nozzle", "sub_path": "filament/Flashforge PLA-SILK @FF AD5M 0.25 Nozzle.json" - }, + }, { "name": "Flashforge Generic HS PLA", "sub_path": "filament/Flashforge Generic HS PLA.json" }, - { + { "name": "Flashforge HS PLA @FF AD5M 0.25 Nozzle", "sub_path": "filament/Flashforge HS PLA @FF AD5M 0.25 Nozzle.json" - }, + }, { "name": "Flashforge Generic ASA", "sub_path": "filament/Flashforge Generic ASA.json" }, - { + { "name": "Flashforge ASA @FF AD5M 0.25 Nozzle", "sub_path": "filament/Flashforge ASA @FF AD5M 0.25 Nozzle.json" - }, + }, { "name": "Flashforge Generic PETG-CF10", "sub_path": "filament/Flashforge Generic PETG-CF10.json" @@ -255,11 +275,11 @@ "name": "fdm_flashforge_common", "sub_path": "machine/fdm_flashforge_common.json" }, - { + { "name": "fdm_adventurer5m_common", "sub_path": "machine/fdm_adventurer5m_common.json" }, - { + { "name": "Flashforge Adventurer 5M 0.25 Nozzle", "sub_path": "machine/Flashforge Adventurer 5M 0.25 Nozzle.json" }, @@ -271,11 +291,11 @@ "name": "Flashforge Adventurer 5M 0.6 Nozzle", "sub_path": "machine/Flashforge Adventurer 5M 0.6 Nozzle.json" }, - { + { "name": "Flashforge Adventurer 5M 0.8 Nozzle", "sub_path": "machine/Flashforge Adventurer 5M 0.8 Nozzle.json" }, - { + { "name": "Flashforge Adventurer 5M Pro 0.25 Nozzle", "sub_path": "machine/Flashforge Adventurer 5M Pro 0.25 Nozzle.json" }, @@ -287,15 +307,15 @@ "name": "Flashforge Adventurer 5M Pro 0.6 Nozzle", "sub_path": "machine/Flashforge Adventurer 5M Pro 0.6 Nozzle.json" }, - { + { "name": "Flashforge Adventurer 5M Pro 0.8 Nozzle", "sub_path": "machine/Flashforge Adventurer 5M Pro 0.8 Nozzle.json" }, - { + { "name": "fdm_flashforge_common", "sub_path": "machine/fdm_adventurer3_common.json" }, - { + { "name": "Flashforge Adventurer 3 Series 0.4 Nozzle", "sub_path": "machine/Flashforge Adventurer 3 Series 0.4 nozzle.json" }, @@ -310,6 +330,10 @@ { "name": "Flashforge Guider 3 Ultra 0.4 Nozzle", "sub_path": "machine/Flashforge Guider 3 Ultra 0.4 Nozzle.json" + }, + { + "name": "Flashforge Guider 2s 0.4 nozzle", + "sub_path": "machine/Flashforge Guider 2s 0.4 nozzle.json" } ] } diff --git a/resources/profiles/Flashforge/Flashforge Guider 2s_cover.png b/resources/profiles/Flashforge/Flashforge Guider 2s_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..900231deddb440bb050693ce573a7216a779941b GIT binary patch literal 10299 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 CS9ab2 literal 0 HcmV?d00001 diff --git a/resources/profiles/Flashforge/filament/Flashforge Generic ABS.json b/resources/profiles/Flashforge/filament/Flashforge Generic ABS.json index d0560d5e8c5..1ff9c7ee029 100644 --- a/resources/profiles/Flashforge/filament/Flashforge Generic ABS.json +++ b/resources/profiles/Flashforge/filament/Flashforge Generic ABS.json @@ -51,6 +51,7 @@ "compatible_printers": [ "Flashforge Adventurer 5M Pro 0.4 Nozzle", "Flashforge Adventurer 5M Pro 0.6 Nozzle", - "Flashforge Adventurer 5M Pro 0.8 Nozzle" + "Flashforge Adventurer 5M Pro 0.8 Nozzle", + "Flashforge Guider 2s 0.4 nozzle" ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge Generic ASA.json b/resources/profiles/Flashforge/filament/Flashforge Generic ASA.json index 5fe7a2172be..4f4ef4a3681 100644 --- a/resources/profiles/Flashforge/filament/Flashforge Generic ASA.json +++ b/resources/profiles/Flashforge/filament/Flashforge Generic ASA.json @@ -19,7 +19,8 @@ "compatible_printers": [ "Flashforge Adventurer 5M Pro 0.4 Nozzle", "Flashforge Adventurer 5M Pro 0.6 Nozzle", - "Flashforge Adventurer 5M Pro 0.8 Nozzle" + "Flashforge Adventurer 5M Pro 0.8 Nozzle", + "Flashforge Guider 2s 0.4 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], diff --git a/resources/profiles/Flashforge/filament/Flashforge Generic PETG.json b/resources/profiles/Flashforge/filament/Flashforge Generic PETG.json index 643b4c10c1b..bf7833deb02 100644 --- a/resources/profiles/Flashforge/filament/Flashforge Generic PETG.json +++ b/resources/profiles/Flashforge/filament/Flashforge Generic PETG.json @@ -84,9 +84,10 @@ "compatible_printers": [ "Flashforge Adventurer 5M 0.4 Nozzle", "Flashforge Adventurer 5M 0.6 Nozzle", - "Flashforge Adventurer 5M 0.8 Nozzle", + "Flashforge Adventurer 5M 0.8 Nozzle", "Flashforge Adventurer 5M Pro 0.4 Nozzle", "Flashforge Adventurer 5M Pro 0.6 Nozzle", - "Flashforge Adventurer 5M Pro 0.8 Nozzle" + "Flashforge Adventurer 5M Pro 0.8 Nozzle", + "Flashforge Guider 2s 0.4 nozzle" ] } diff --git a/resources/profiles/Flashforge/filament/Flashforge PLA.json b/resources/profiles/Flashforge/filament/Flashforge PLA.json index e733abb4a94..155eb9c84c7 100644 --- a/resources/profiles/Flashforge/filament/Flashforge PLA.json +++ b/resources/profiles/Flashforge/filament/Flashforge PLA.json @@ -59,6 +59,7 @@ ], "compatible_printers": [ "Flashforge Adventurer 3 Series 0.4 Nozzle", - "Flashforge Adventurer 3 Series 0.6 Nozzle" + "Flashforge Adventurer 3 Series 0.6 Nozzle", + "Flashforge Guider 2s 0.4 nozzle" ] } diff --git a/resources/profiles/Flashforge/filament/FusRock Generic PAHT-CF.json b/resources/profiles/Flashforge/filament/FusRock Generic PAHT-CF.json index ceeb2e7db18..ddcc047a4cd 100644 --- a/resources/profiles/Flashforge/filament/FusRock Generic PAHT-CF.json +++ b/resources/profiles/Flashforge/filament/FusRock Generic PAHT-CF.json @@ -22,11 +22,12 @@ "compatible_printers": [ "Flashforge Adventurer 5M 0.4 Nozzle", "Flashforge Adventurer 5M 0.6 Nozzle", - "Flashforge Adventurer 5M 0.8 Nozzle", + "Flashforge Adventurer 5M 0.8 Nozzle", "Flashforge Adventurer 5M Pro 0.4 Nozzle", "Flashforge Adventurer 5M Pro 0.6 Nozzle", - "Flashforge Adventurer 5M Pro 0.8 Nozzle", - "Flashforge Guider 3 Ultra 0.4 Nozzle" + "Flashforge Adventurer 5M Pro 0.8 Nozzle", + "Flashforge Guider 3 Ultra 0.4 Nozzle", + "Flashforge Guider 2s 0.4 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], diff --git a/resources/profiles/Flashforge/filament/FusRock Generic PET-CF.json b/resources/profiles/Flashforge/filament/FusRock Generic PET-CF.json index 7239d7d22d2..a020f3a4b42 100644 --- a/resources/profiles/Flashforge/filament/FusRock Generic PET-CF.json +++ b/resources/profiles/Flashforge/filament/FusRock Generic PET-CF.json @@ -22,11 +22,12 @@ "compatible_printers": [ "Flashforge Adventurer 5M 0.4 Nozzle", "Flashforge Adventurer 5M 0.6 Nozzle", - "Flashforge Adventurer 5M 0.8 Nozzle", + "Flashforge Adventurer 5M 0.8 Nozzle", "Flashforge Adventurer 5M Pro 0.4 Nozzle", "Flashforge Adventurer 5M Pro 0.6 Nozzle", - "Flashforge Adventurer 5M Pro 0.8 Nozzle", - "Flashforge Guider 3 Ultra 0.4 Nozzle" + "Flashforge Adventurer 5M Pro 0.8 Nozzle", + "Flashforge Guider 3 Ultra 0.4 Nozzle", + "Flashforge Guider 2s 0.4 nozzle" ], "compatible_printers_condition": "", "compatible_prints": [], diff --git a/resources/profiles/Flashforge/flashforge_g2s_buildplate_model.stl b/resources/profiles/Flashforge/flashforge_g2s_buildplate_model.stl new file mode 100644 index 0000000000000000000000000000000000000000..dfbb4ece8d11eff1fa02f26a28c0bf2e2538458c GIT binary patch literal 5900984 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

    )Je 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

  3. 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 z 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

    n1v3H?UW+rCoe0 zW6w-zNwlsqdtV&ZXc##(f^4pJW!JKGRc%nh{cyWJ9r#GkXA%P%>l1-{RC*>sXHL*) zz}NNYj9eLw;%bp3hwJQ>wO-!)Ot8m4xVObfvxBSkSIzS|WQao-o0^?4`Qm`IBM6y_RE??&o12V;6Hp ze`C-;k|0x3o-tHGuIM4X1#C|1P!qgoyIIkw5n2ldq2)0AhE=<|7Dm3XvV!J_{x=cM zu4R0IYMEaQqFUIW_ppw3at6U)I@FX+ed@W;4?x;~h$WyOyOzq}I`De4nw zb1C@~UU`4vmv4BtWOuSwo}u@lSF#*2r8U&9DWk`LJ<<@x_?WDBSC967#aRoyF~{nN z>~l6p=B_WN)>E2UdHH2vQNPjsW8x*_-LwC!D{5^D3-mbhO7_HIO`l1$Iiu#t6)#Fp zs$@99zKwkaB12G)Vj=_es80QB`mZJDdh?oxEje(dJ<4P_qLT4A>=Qa_XY3!sctd)R z%G^H;4ZD9BYm#5xvhxeKj@;U5R-If?_rbY|*5768Tx9m#MF0P3jduHLPNM4@`g*z? znqN&r=e{<*bcE(t*FrS+U_$T@SF0C?2=)(@(AYl=Yuz>TiP#p_GG#4?LWlqjHAbb=2#yA(E%YnxiHw#JZ_9GG$E#Ju zrZTpdSp5+^#>kL~t0J3Q96FBo=W_S1)m6kbzlH_&=OfTA(xaC7XL*TgH=RbH*UB>| zdDVRqcC=3V9F;f=H#WzJL*=JxQUB0+us(^3?132o##$~@yBy)tX@Dn!9GDG|91z=6 z*#xy^$pqPl(G!)7&GE?#ZB8`)ym6BI-N3ryYI$M^N{(Y6YQc)_mKIT3_uh8_{E?$v-eJA$u54G#ERR!CHtm^(o81erNT^;%Hc2f;14#G}0oRvLM^WwnxqD z?(;udvB@JW_D(KSo`60k_ih6O-wD=2G_|Zbq7w1WPoqYTq?HY(BRCfcB8)vI*4*vB z_?9EynJs%1M70kq%uVolcfqli=+Mu~`qUgEKMBDI7gtq_{)>UPW4;rP z7WNM=p3ke*)pa9>!ALKWx}x<^loi+RI3uxjlv?Yq5Jm5!)L6zCjo`Kj&Gb+UT$}#d z2&{!Vv=Bb-$#7G<&m(&8@T9eujfD`Syd9DJ%{AAP90o0O(d#xxZeOFn&9V_@UyLy9 zeiB5~8&c0-fA|LP%hI_r|JV`X6CBw4)M${RkyN^}JuzKZ+7nrCjx+Ab&-nTTkpDFEtDo4GzMZ;RtPGi*6oRYGyB(01?BZ}KkhWD&7T#>iW z=s(WgGvH9+|J^iF;I6Q^TdcjaYHC>P4R9?} z4hJF}-l6Es^wti4DpG#e%X0Q3i0CtGSA@?rF!3tvx4&a&gil>zuIR5kDK@qHmR$?c z@*A~F`xI`R)70PJDs1fzgJ>IpJ&Lqg^TbBm@i^5I) zk>kSx+se84^9b*_Nc4DT8nt7V$NR%!t-)h=MQA@u>UVryM<2P5S0V4?g?G4Js>Nm9 zYyS;_G&G`qWViR|p^*F4tNpDr+*+5N9HEn@JHHc+Yv4!VPS!_7)ibXR^Xfc*Aatz!sI>FEa0lgor-7bWF>7bUoJ3>ziV5TdIee_oXAy5dpIw89 zf!lUQ_*^2ag=ns?$J==qO^NW@%DoLuna%*F>*V=10&5-oCO?HP9zizXwh&QpzCqhG z5P`M$x{M`~tD3_q`5*sxmDj+}6{y9!t#(HE%%7m-_GrM8Q@cAqSMxrqpEI|_m5sn! zd?Fun#k#T)eBJ=oqB5i9`B5#-c->a+@eW-i&)|7=XN1q=Kx^7^tgrczSEt7nZq?TY z$Y+4O$o{Qas;5%B?1^@-UAJbE_g>y8m7BDAaY|&swBk+|X+$MWYfr5D^%vgo8%y}r{G zv=q;|mWu7*3-bGq-H&?7`yLSIOq}W=zi7d!xlfaIx3zn8@9ohC-gilvN9ZJau zE%)BIwW|O6Gx7-%YGHh|5nulv^RoPN{a<$rf#VX!b407%biJb8rY#zXwh^dZL*0Jb zG6>50%rEBS9h@UE91;RD8F)TRrbd0ThZ#i;4IP2_WJ1bo7d6u78d90B>-SNR$yoUZ zw#!)t(X%rd)DM@b7LW590U3aG2c<=Nq$v|cncpDqbe&IObR4j`rCp?f99o%-kF}6@ z8zJ}K^?3hX^hB)1Wu5!rX&w}vIXA#e-#-5XyhPwRoDCk$j-J}5$0$6v)6^%O;W?97 z3(*$BI+cVtFzKT;nTGBoXajs6MB3_v ziqwdMaTg;sU)Q}BMl~NLM`>*YjORYLOKl^sYwc4&l(r-;B>e0}zh9pYAg1<#gAi!0O zV4iejpfz@pSawv-$Hb@R=<=GYJ6LBuTltmMF7|VqM%lz^Z~WW0`{7S&g_s6OKIE!W z^1NK_B^4v3qN4|8M^E-{AGfkTiv~smq~|y@`yTf?uk5G15out%e4XS|r||iFZXdTx z8s#$TO^?p<+`be7HOl26nzc)RV`6Vdtx=L3M{4E@`-ev09gOD~?Q9w*%Gfax(Q23f zjCl#mL6W2QSTta^-yR2Xe6;3}EdeIQ0)r_kPYDsVvAbgQ6&&>CR;xsXISi z)$dfPx%^B>ZbH&^fUYFyw-FjvE zS~Rd-iV~wYWkvIU$c;PBy;s-qOB77>UV6u#XFz%^x%MlqU)={AEh(u^6ekG}=Ib(L z-lP#d|3KphB22BYg}|0%EcvC5AAcmziyjOMj2|YR)7lUH?nQIeZTk1#*fLLs=6>E^ z?jvkw3h;T^mK??piw4Fnq$l69&uroOcaBvOp>0tnzOMU+JWtr?^MsjS@*kE7%UX_q zLr^VlNh6S}Oq>L5BUh`}p5^xad4wRlAirn>zOH>2?2)2Qyc_+<6&En>O24XqrT1g? z9RHf(x&Gd4?G1D$JhqGUikw779x5RMYX$wvjOXV4kbalO?{v)du(aFtpP%P#yYh)p z_ikgYS%dyh=0zqf&5B;zHaCtl2#)jC9m!Dj%8kY8Pr?GZnm(gs^qU@~WUsw8-e^k6 z=ws*T@lmc}7`LgzzB`(VZ{L@z+qPsydEG14LbT(&|L%Bi;hN5&dtVvlW6pqF;Ye-k z3iZQf@;>wh+vZ%0Y|Hi_1YhUaZnTR%3VRWi`I*Xb7JS=CR5=+@7R0ySTqcjf6=`y2 z;;+lR;n&soPrV;jF(a6T5r>$4kmNR3TdvKD&U+xDvLz}L@5rH?BRka23%}67|GBsD zv8_x|TYEdwApdE#mqvZS8pFN}VBJ43tBR%?H#KCzc$9dy_SGv{K=ZJfE*^vQj z)vb~pr8UqLB^>9wf{<5sc0GT@*oftcEE9Pj#u&%>_Vz*)&jBXmdMW8BEMatFg^_PR`83t<7KL4%k;+40|kW&0k@* ze4=cr=&pm=MK*_ZmZ{iB+BGX(lBreqbX|VoHoKjh`$UeYbxy9DHDK!VW@Se^%Tb1W z$@Z%k%5C-bJYF&M{>ec;>IAbs)U@=gQen4zsrusdbzy;R1+~Dm9p|$<+PU@K$`Nn< z85YP1>56Mnd9!>@q;Xzuja8+TSoeRosL_D^iZT{1leG5g&(7Uvx_OmHY6SEgrbl0c zF}M25u+C+_^Uf)Ku3O>rem?dC905=Z@@$UQZQZ|f>x3_APwY@Jl7rv zc@##;sca(L*EQF>+gIrC)iTi_jUqioL)n5#G!9ZmpXtjmlj(oiHRc|yey+GM&z1vu z$EQhZnSMI%G7TDQ&6-p_?lNup?JIZ*^2=rP5^ceXBPMyXrq}iFeL5`9g5Y(Qx?LW_ znKsEM-%b2H&b@6%T`}!wSgkh7RLiV^OiILu!^gYV{8m>S+ho3?ArHq|HjU!!!L~tr zXm20(3i($X*;Zo79H|n;Ko=pQ|BDTflV0?6(lWk78 zl}Geb{SZBa%Vcw#M$qPHXT4U<&SV|u;rGgl7Z)Ym-aT{u&Lc}lpBqg%RzdvvS4v0Q zyjW7{=ag4EN^555y5r1o%84q^CEQv$xjxov@^k6vgO_AN$WC7Li&;GiwTm9gwdrrn zvIo^-nGkIwuq~{GXn8JjVMxs1(?V&t?6sw(bb8!onMk{QU3-b4qF1qEkK$g0F~-y< zInXmuqv(}30_}l_ZuLt?H+{zTFql|cgkxQyMofLlm00w_+@de9wP$cVH@nibtRgNOG3R zaSnGm<(7H;fID(S*z$Jd5M`2c0EbVylZGE~-)(PuJKDxZXukBQhPf!mD0&jYh{|$k z1lOYYinaK9`g0WOhrXlNt8s(6+Fzl$xT3F6-p+bQ52rF;XK&XW5r5coSffM7cZgG& zJ)i0okKkH_;C|ycko)*1Pbf&`BE$(tJIxhj89v@InMFYyTe7~1v+_@TuEC7l9t}7; ztC1|V%0FpEC8?hmv;F>Vi;(;FEk0&<-4^9V#tA*A+wx&uPTx%z`*yQGOGgi?-A{sY zkbd<~p8J}5XI=m^^aXKjiEGo}n2-9wh+`u@yKIsB$$2%zx_iSujx314mK>*9r$z3U zN2`nb9}iphK(vj>G^*i9hULtjh$ER^r)^>vd8H+}K;Jd%v^9cTvJh&F;>d~F0JW4E zVbuaJu@PsolcD)l8jJ2*<&0O+93n}`IUJSE^Er*Rd!PI&RC8P-5zfu^v6h)_DF`4= zk7(=GnUy0#ZEXa445A%pccg z7PJuq&&m-C^V_?>^ve~s?=BNv)G14Sm)g2ZndqVRYSuvR&{QV+L0p}kD@Ppoy2i(z zYQ7ke76eU`1?}jAo}p)igI@B`A35U17VX{k@_7)c(@8Xk|64+Fh}>FUqWp@zA?R03 zTfXhvP)F>3bE5m#4YuS>T9=8o_tUjt(Xb@6Brnzz$>W$hdLN=4=iCuT+-_Bmx~2N& z`sdY|k?6AU?+8UW^UY7v(z?Z!*mO>r=*m^vYOA|!kNo-i&uSGsTGK}09Ymnk=~-89|%V*e7kR#w8l{d5mKFTU_}=$4!){&g#>eY5wZLUv$}~ zG4PzmVos?8p^Y2D0zCtHpE|KjbaO8IuA!pyM7BrJOAJ?6pWjG)vFxkR#@V^z)Qe@J z^*U+qLwd#1Q185O4uGHgG5at)(P)6)uxIqF#IYUp&6n;U%&mX~A z%!{mRuC@Eqs}mz4ZHa&l!1yOP?lSa{+nnux1Q-ZY1Z{kRDE|Yw;(-e(Y z%#|KP_IA{~_xt82zrZzeuuT1{ewWf!I)c&C8{>#38ul2)UQJwKyyEP`abV=Mw2K;L zEoe{Fl4v^2FWG?0#JkN^UUnm~y4(Ix|95l!+1HhccAZfoN|Li2R7SMpEV?(_Z@1ye z!Ya4i;$x0GVQF5Z^9g-wC`Rp+c9qsxT6&f-&zWH>YCBGq!DGc6o0_XW$efTykwY%i zb?GH{NBldNU*q+D?tI_kWR?EfiFRhUxxy2`3@1t7l;ycg@PwS1E7A{hf_l?j9X&C^ zzu?!I9_aw}&WNB)a=$)6a4oW6CN$BLYd?l=DePA1g2H-v<9(E{B}k6(IAsq(B_pA> z0rwAco%*2p#rzXZ%S5v(PzGT4ZT1qnZlAAa+Ojo@nl=ruG7~wko8$H17laPN7=oW=M%_}@wt|JFw3F2GTvSsSEMV* zGAypls84&Ca)wL@$QdjI=MNMO5G|ilyN?xJTD43Y2O06tQ4}qRk(1?V`~~S}+(zG3(P2H5f~R2yTmQ!+9dpmMb|{M@9d55BKUP&sDR| zLko4rf<21nWN3tI(wh8A|Fq5JDcp&o??mO<@ZKk17 z*lRHw*q&%GG4h7>MQ2(14Q@4Ml7qjsHT6kyy7S_(SJg8|qtbsRChmMim5W6PBS+G& z*QnI`-^QJkh@@&s)1V%e^>`~$ciI1iKKb*CRP+&Tj;10``Z#F#iV130w}rYYh|_i6 z!OqktIj}#Yeo$|W&=JVU5e8oh%Aqmo2%{fFgr(%KJu^W>E8H6*BwLUqXHF<*;Ojc> zB7$qt9jwLIIa|_RNHl_+XlrV&*s@gb-w{qUEx)Lyv686$6&YC&hJ+np-e75386+*JVy55x?g) z5e>W44E27>MsO6RNR4PCH|Y#}6iSPIg%D;`GqtpB*aqf0aWz$XNnuOvCCmxMb1oBC zET7Ir5y5wYwGhp6#3VKJ67+VoIoD@TK|7lm6-0n`Eq;wglPQ_B9AH5UK_i*AS`zG$ zRNOOfG4N50?MZc=J)djS-Y|jC@4n>5*6ab6@P_Jy-f1E8nfXL61xI@}qGa zuVnVxVTkw0lA+?JO%Hka#VUSx8T{5#+k*HCo@v2nzR-0(n}zD}FD7WjnJ{>*inUZ8 z^6Gk3w&mdZBa9r5(_qgZmP{I1-#9lCN1vva`43q3Uy7{6TeFwo|FnOD{ zTCv(q^F(@Tq;|EBg;kmRjpl}VGt{+*lbsoz89{nq{hIc;panB~qLDnEhW4vu25-;g z8ALBgL(4;QFu$4T>CrjpSA1@pYFD1&MrWTwpXkcKH6FVWE9yNm-s(NuroUJ@>p>4=;@rIa$UFZ>s|9+*F+M7eQoYt_ zSGUWWM%w?3U}+74ZCu8I9WgBC;H11;FkUz zi6ghF{gkduTbdKLIbG)%^Z$cD4voz<(#VlcgEcMRRKNP5`~6vM{Xbr4YRQ4T+dXRD z?904sSH<0jcMVi$1G3~)i(@cqfwGs3{uk!Cv zvFiMvJd_q|i8lF>x+_XX$(oLn8$aV+v!<_T{zW8&xaKxvoknH=dnQcG(im@o1Y)7NyKP!yve z_cilZgwuID^9wnO$}$)&?GcD296ub=(RIUBW`rHDuqDT-J@6&(m8p%yh)$QNn8>`79GnMb9HUbGoFf^wi@v}T1ib`3 z1IuI&aq~-F%}UKh`9E7)Tp=g6cBSO0F$#5pT$$^7cF;y>IqW$^L_5y+H?Q_~-q}(- zaBCxhoM03Ua+Q)E=Bx^=8OR`4nGsmaa7A+L>oM0m{!EtGbG)06{TzL%eZBn1IA4z? zrhO`5TNIo*HdAik<5dW;Vi}tqmfKw-YD&DFx>f<1kxGT>abr zSHZooh=2N-NX<4!$x$QrPE$Nn5Zqk~cb#&a(@*a79$Y$5^<0dcnetL<$wqK3y2I#n zIUe|=n&0ZZo{9#?M5@JQ%6Ad%IBW8chZa8F$eW%R%E=m>LK9sZox~MYaiB5i`&YZ%szgGLZruR^b z3gYOP-U2zP+;U2y+a!IWYu2*-L}huxZllul-8Ok3Q^GOTc+5X=rA7mtL5Asc9eJjj zK06iSyyR-t=g)g(%TIIPerJ&1sPp8=)*E%t>9%Nc;Qlu3@x3o84^UvDMEsAJxu4<<)8Pt>C@(z9u7oU*>~zK!+V=F1-y*cMu? zcwN!^8r-$+wE>hf=x;{pjgb7-Olg;O8&f&;)=}CU+TW3%I&T@zHI?TRv?_-g;O#=}}$4*J)#T+$Xg0&EB@8W@9bn{p7G#AR(X%^R( z9JxXos0E{0D)Cv3)E0RnpAO8|_1x>qIhXmr3~Qr2p8GcS^Hnd%ojiN%tdFnj9sa0o z-nW+9rM9TdXGz&K0*KV9kys1Sjx+YV^Sy0l8j2F*!j`wAQJ74Ugdb< zvr8Jf4L=zpP>bkewgnM^Z6UgN1oDfukRE9&rCq`LDY9UZ-gI1HYub?kdo6N>+&az! zT`PL;g|83;+g~K`4swMpIZod8%6{p?t;A)~qaMZ#%q%g+IL@%_nev~I6^_t?(XPPZ6EZOQ9=(!#H}ySjMb^p6%- z`S(qZthu^mwB{F`<2K^VgYOqUR42#n@t!{Uoo3Z|CXM5x9TRE%V~tTB-Fc*rqEu!C zm3e-S>e>jT!L<-AGvsN)U;J4!(YD^<_NZOd=(q`!<$m$}JjfgoE#wM$pSOH+V!^FUXmR zdoJ{+@2w?%%-Qdu)ldtzDE?{LK?U)tL-JIQ7+SX z#WHCx!BLHCk+d8caD=0>jERu%a$ZXaE>kT=YYVQu$#ExC9`AKOJVLGuH8G>OI4^g( zDF%UY*VdJ>dQ7d8;XJBl?feLxSxnN}J1D>3c3x=B%2nQ~Mi2UH$~~4?*H!xxa)|yW zXYRHy2z{DU;B_tifQ3Lg5N&vpJxZY7kt@munOhq{{AS`E(T?*`qIKcWNuRm{X1!VBko>F#}JfZRXPWMqiImMpHU^HS-g*r7#dr?Pf=y^nb|;5%%CpiGP) zIy&|;g6Z>pNPqcUIDzWZrbj@R{% z=5FE53bKnpI;5m4bdn_8?88)~O!3N7JFYhLOyM~{IuQgo5xdcd$>%z zH@od|HD|5mSoZUkV$RFC?vquTTC3Y4$-GEjKfTheU|(LO(EwiEHtU{hVrW(`B@0>& zX>eIvkfoqLNN)iKEcq=#Pg_)8JNz$IrZb=P`~%H+jobaBOaBi49hToTJRXT$K>CSi z^b#${yZ_x%*l_d(g&$6o>t124EAnoyd+jtl?&g*+FJAgF>@&aA7RrRQ9p}(Juek0H zl|_qPQH!fnXC8}Os-8dMacs$PIxd*uZn?C!IB!|l$69Cu8`0an&|OfufoS!tjac{5 zW03(xJDMX}?mM{i+fdg}>x-|4L@gRL4^!_Rtv5u=-4NG35PGaxQ}O;#nXy7GoVl?P z2j+Ja?eDtQ{bEyHf!d|W$?G9e(~i^Ymm!6vn>Q8LJskFNrU+>uZSoNludrPz^V&)- zllKsUf4YC@Zw&NPJabh%LdK?|)v9*C!`@}urxN!;ifUYoBOLc&s%PXN4?pjg`s$q* zmHXYZSbBSsPF+#uEgv6A<;FUSV$7iZ?MWtj8;V+&Pmto8IsD3As#?(~30Kg09a9l#n!y)@1vu zKIm~DM6PxgQF!O7@jmt( z{65N#S4@TU)u;00qP_VG;=KxZ7i)WDaGV?a-z#3Py2m3V`zwwgdy)@y^$^9F>|hQT^(rZ*pms-g@t) zXVh1X=zVm(=ICs-Lomxhf9+=+eDcB^)p2g9xz4L~q?{POJM5#!p(k<{uDL2RTXR)) znp(@L-Y(D=N5lz@iBzV(LbC`u!d*AuUh(DMyScf%9#0wk6T^LYk*GQIyyFFe>IF^{O{Lo^bkQdP*(V zse|9(R12|d=-Z)nA5Dtv%A*}&9DnB(lOiWC)#V;rCPlhU%8srbzFqbsv>;i^&SbRJ z(3;E<{k8oHpFeHMH^0!qAMsN?ap^6SUF77p?vo-}E#yveW1jYGuI{hf+V|eRKs^2W zJ1*8L*f%M%XLPolX?`kzs8OSiUuSLwvE}x&#eq|kA|3C`j(&JeTMrS~k|l>)LC5bu zjBSFekTgb*h4jutBa;3*znZeS9#;KT#}Pu(9bQ3W%6e4?w?y@dM{unm4MNc`rrxFY z`Q)z%?XBGT#N@=OGrCMO6I|AH_5U%Ee_vi=ly^oU3SP`hG?=f;bbbBXx@;lT$|EgD z65ax(%fYCae7Y;SUVa~}at6b@UN6ioac%l*uMtLsdFzyv+I@I-9siL|huuqtHxVCB zpCr$|%8ssj;aDNs`KCW6M%r#FseHkvfm~&_Akjd3u&(AtTg16cnx-<%WxaT;NnEZG zeX@o>D|XV|G0^4;y%IUJxDv&2f*zx|5{#oeyjlQjvEFEvO*$gzOH>Qd+`9J0Ok6R7 zTasVizp~WZ{^fIS>-l$!5!Le|ZEn~0K-&!5HYrl|WXY&}%ep^OuieWp{2FgnrQx+w;+O7 zZ)B1~YnKr;LL%=*>*m?OMxYH?SIi;vlWsw57wIuV$pcZ%mKM3S5%|Rbem#QU9#{xr zz7mq-IqbGz5Mk8^8D+2DAx==cLCKXI>f0sCmPore!l4$peT7ipDOf*smwW?TKtsri`+Cw?aiWJ=sQ4aH+aQI)oKj-fqStkAt zlE0!Pj*8bVb7(B6xiSc97iqB7=z3-v%n53jG>R>y^rZX>B}c3EkYBR%)1-|+{UEw{ z1g@;$XdpR+{+~?sL2VC27;jI)DiT7_S9B5i-CeI0kGDh5Xn#kUXsf<@9u8$c{@x*(dN*e=qOU${LtK~(zgF6;Y2^md|w zGHL#qO6D~z^653T0xB$Zg%UWm?h}G@}|x$dXeTzcSW)i$J_m zo@n?@s(emI94wO@`WN&PyOwE*5ShO?w54UqNeh_~BrVqp+J?EJzuM-qhVqR3A7&&L zsr|^bmjor(h@fY%-q6P^8fyGt8niDCj~S%t%rv@QSVrzIsdgQToBapm=##0RD?J-6 zI*z1et=K9W4N~^da-ffLe^cO+7ecuT{MYB@c3C^(fWHi9e)n%D6f@9(SAy%jDjP{=U$n z7P$grJH~VV{v3CKA_{sO#D314kcaYhs>#2Y+FL^MFQ21OS9<+6#}%$ke`CV%j;p+F zw0tWwXM(8k<{*_{p&YDf(k_=t>r6v?J6h1t)4D>gw7m&S5*B5aY9}r_$3n)H)GlC0 zde%xsLyckt-NBv4_&T9eTq!G>-M-|$lMkCc$PjHKuq~`b-oxB7g8u3~IkY{(Y99`M z#@^Iz~$0+h1 zeVs?nOd}4~!bl`f=>EQrcxlT-x637FCr`99l`%)LbftO@Q^$6}HgOw45n1+Jm04gd zM9W>wSLBHQ?Yz?6aLDXVNt~cBq24SS!nCXRrqUx$aQD3nFUb*A9&Yb`+S!&IrOiY` zM<3)DwaaCkFDV|ua{#16M(Elk5w*oT`Ei;0U64lc2yT}VvVX*FUBOxvpUSPvzCrV4 z%JbKc_*j+IlUHhwEgV_6OkAN)+ce1LK~6|o;wtlqL!4B->2)>Y7!Ku3k?fC}tKggr zwWaqzDzMr$l4n97SEOmyE^_t%7`yU7o2s_IaSfFzLy{y(ri4loXRmY5L1-YAqDfMr zOqn9pxn`k~XfBnciS$Ymd!NotXi|nsRM#uv4b76IZ$0Zd&so29?z#HTAMUdE`mJYN z&l>g`TdNX$hkt#jf1;u=-6X9Hk&V z>vbEeeO2-m=|tLB8ofxGo>K(Jww91Qznhj8 z>>M>Sg<31*iAkox|0c|L;9PA6wk3M+>shC%hhDE1d39SyXLP5(ZJJYVD6WVfQ`$Wd z2y;oAyu?LVzOe7(wlX-wX7iJ`kWRQ|;qQ*9D{0{zglVJrjoU_1E77nVjp&Oq{SrbZ z%-pN=ifo&>+{}yjd!kGs`LyRf^;;vgu+9hV+tto@bcNEE>{ld*aE0xam5;c>)042= zT-qf~6aVr{m^#6uE&gUM_P1?2(fD}oy{gLJe5RAs394&EfLz9cfSU$GR$+jG(n#}yu{OIqLBv-SqnYQaIDka80V?fH>3 zt$L8Y7Vj$(O^ILWuWhF0Sec?GcBTC-scpW$j%vKTz;D(ss#pBl^SkjpYgwi`=KC$KaOFT6C=-`2@d{%Ur6op@Z6qxm(cgr!?Gi`o^c(=} z$6{S^Zu*z%1ovL``NVK;G18-a^eaC8z+8yt{QNJ+5{w^A&y6b%0>)}lGtx_sCUVH} zbHm0esG!eQ*ESd1Qd(?YG4*5SInxjXy~&je(GFLkwNz2~@m_mQs`V18=k}Kf@eLyI zlvSIb>IdDh_~`xQar(x(ndRbZrgOT}vT}Nz37-S&BJ?^qS=k$Y+pR}TdPurAlX>nU zFc+mi{)qcjZGU?(HprYCX1#=viBPXA$dpC&ga*=fY1Dsxq>gCcn7$g8i}VDMFj}KE z?d-3fhvk+m2gWE$V|}#oN~n+=wyYwvmrSCzrI&3%sL!Uo`gh;8`Y8&rT&wjg8Vb3> zT!?mJiQ|b9OH2$-$4ZR5Tx%^2n&lMFSe~>rxGzfDDvrQhHl5Y?QTPTtCJDRtl1|)p z>Ice!HO<{LDIYBfb^sVWCHBy_J z=NsNday@R!sRc&xzX`A!TQKeIruAXJvi2a16BD70iXH_)wNuK1*zVAFxgy_9Ba+q= zxelf|Ou7j0pJE89k1oR254Uauw;392MQcI+f=O1Rald`ey0SJWu2_!cCVq%amfLjP zRl*y+VSX9G(sCN*aB0XJEZ3%Oi$hcr4!_y)G2MP->L4Sal`&`@liMgttpw+!f9Z!h zp|q51pL4!MhEjGeMqo*VxTaMNRi^iRzsz?k(~qvPXji!4uX6D{3rg#+0DCi0f+7ZC ztgbBesF4G?;&jpf3&HhKYBSN0ACIGoTg`2+Bscx#85W5d!z+|Y*IMS#i3}NCk!{(R zlF%->9^=r^Yn|O_AW?!eBC$<S{T9MxCCXt-;y7K15(Hn=aWCX{~|FVK!H+E3CEH zH~jz6us-I}6Uhw?!wL5j-CT%v5xFI2y-A&S5hw>n99NDW{ccy`#P@u{O4~&V$#|N(bE#vLlf0II^m<1tH7r}^(y`50S5tb7~a6PwlKn~}G4U5i3kQO<96z}`k zI#{^o6s7zn{#|FEtM_x3i+@(SO#JK94}{X2q;#Fd<>D3f^QCJKWNLb**uct@ESA$>(9 zo8uds#u#j)XmNz4hX~TH{h>YF@t~z=V>{tc4!0#M5#hvh@-d01=wqID=4&HW!TtwK zgcE-y-^KP^o=Y7x92tp_x~(5cr@dmi5??zM-KW7W(Lb&A;Lg;y3^$$j>; z|K*;Hl!cz3&6S`MDqEx2zp_1x={)xL{9AU zsPPRKAzHKuZW+>=cI$`2va%5}LeeL(O}jx=nfj;kUE!VDCFEV6lT5_D{1V_9%t_k* zPTNJfU7HKP#FexL$f19;*rOM@Q`X%YJc}axH@D;QikmuR5;$)SvOv zdEuA=<>FV|#Jvge$~rCfIo4!d@xN$6x94rOZlfs6l1sbvO%OG$zr^X2tbPwS_~-p| zuEQ1j6>8n#N;SE*O4>7)gUy*k(E=e{zrxW3`;|Mg5E?9p^`+%zw9SYpq_ZtZl2Z$y zXE?!^cr{%*N+k6Tg$v$$r|_71YUyL0O)R0_1bLs%QTReFv$_q?wjDI`=(+GR=~l+= zks(^-U<7d`)X~FT#M58gpq3Biua@E&*)d9VQl5TriZ$WR=CxokRW zXjltcIoy${eNMXC-L!jHtyE2e6>ldwBu)M3Y`_PsDLoS<(1#K?2 zjg&+syEG)qWYa)|K^ZwvC#Y$vgAyMpH~m;&mEWd^6>1cFPPw$pa-igtmM=}HH=&Vj59UhZE^_N4(5r2l&bE|T5;Yd&@(D}1IJOs` zt+(DTbwd#HhS2G@7U~Dnu$&=v3wQ(B(Wyhf&cQ=^cEO&1-7 zD~W1UJF(WrEGWbKSHWox&^*Ja~;>P%6%vue3` zpVhoNp=9m0-9$O4)h`N1UY-|Uu$9*0xVIO2-gkxdRnvP%`~OUA?~EFy2EY9CFV1|K zMr<6ZPTI*gjY}>nSJH&Q@h3}6|I*J|Fbdwsl1p8oe704~){o?}C0SiDDz}HDcB5Io zi{58fF}l_yuH@(54vc8AIcY?4)89nqo=JLx2+>;_anbEzza#Gz^Ige>_9%{!T=WJx zk>`YVxuSKta=YK^Q@6!ro}om)Qua%=yI0@FcB|clp=Kj;)Tyb~PPQ+~2y0tJV4Ahd zxk)06aD2&()i@qo8k9d_yf5ubz!i^>aw7DJKs;|u(Lh=?N@EPBvgMahmtC%k~FSjW$Cdjloq))+$j2&ew1tTopugDG;PsV4)&`RT`Fd5 zu<(5uL16FfXb3D9wa(n|zxp&p&?v6OaS_35)%1Rx=lyQy>-{)Ex%kNH)D}jQ=!vrG zsrYJK%!Pg|X}XiZ;mVmcAUVXxT&_e0`ipO@*2DPsX_4itm z$>nNls-ik>(K~*F22s`IaJl%7^uBgk%S+NCns{OBQOfe}#zA^6_NRRE<0y(=g0(g$ zLSb2y7BqT~luv&X3VjK4A=>23v~Afm#2)mVYp|{7j6{2&Um-opNk6Vp_y)_xlJqI& z&(~1zPI}g_)iA1Z`4#z6$)0G-b!!o7gn1GxVheyR1JV|Rkwvcxb0eo%4drut$QWfL zOFEzE^zmRNA4UGYAvY4&{aW65ifrj5eY3Fucj z5z3CE+`TfW17`SdptVp&MT+MH;>&f*aH#ayB{mZKn6UtPN30)KMHd?)CH<(NJyNwY#mfAH%iZ*PK>>Ja;f;p+0i7Hi}XD2yshsBZ@ze4@apxqg!rc5%89Yc%}d1x z?TYLEl`V)Y%7 z^UglU@BisYg=gBM92kj&D;_^nxk7_@r!=jnmUMcyRzSK&Z5>l!&brs%QIn+I?T?o> zHzH8_@hzOrWY-Cn99sY$i|BQ>lLw~v6;W$of4mAQy*4JfdR`*EgNw&FJbH;HZGKII zRu05vl@@x*m}zC=%g!;Y2sDj;zn%~|<(o#TeZ_o(;P08eLPSrWQ6|2#JAL!!9V0>~ z0q05Rb2#=)N_h!BNrf!ST#+2%=Ql@!NAFdH!?GkzRwH^un=M!p0&_{a7*~!x$To6A z#ih?ph~2Gn*h4KlhkF2ILCl3{mRi2>TKyD-G~X^O$%QMH1GMW%m@T=W^(}m(YDSjm z9l2H3N5KX~AtI~=v%Dn4H#;VkiObqr(erC8nh+a4 zHHUUXIhEvjh>%=TE^&hNFkZ1NLS4!wdk`8+673d8U@l1ujic*II28K}4c4+q zNM)hFX44Q9?lIAOa58p|8ed4qM6D}bqgJJBl+v}RP$HSGD}@pVHNDJ=Rw>_bW#(ig zz5WSU%`+z#t*Tf54D~@6b>yg1CC~6q zaS&y4<-j*fE94cnK80HV-D8r~Vp>-~Bb0I}l8GFYwj~w0+9j){wWwE9WwdKzm(fBd zCW@|{atSRh0G4Fhk5$lqWXck*NODBG2zis83(@+%#*R&c1w+Ou(we*>eo+gO<`(DQ z5R^+wVnnBIGlL10M;RJY7SVY0{=C9YCvf{J&lzEDs8>4aGn}N)FnssoOuFQL3GNJ{ zTvfmPAw_*^i>5xq4>uRBI_^M2b^ng2Lh9%x)|ydmbNfrE<)@U*_z(Kh#cj$JPWr)o zt;s@kA5^xm!*m*X(MrIwh2`=&jc7}O+Ngnt^9skT<6MX?8S(YRyux{h7=h@L5hyL9 zOGM~eJ3A(OwPSteWYYN6!Si-*Ya3ktS$);)D}Ck})H~EP+TZiOSlu>QU-2|G_ob-9 zH^>#1E^Jxg2~ST1tw&~W4~&%|&_%gIJo>l8)p&pitX zb0OOEUV3LhIKKK)|HV0%2YA=(qVf}CLpIPC#qP=Ve@uuSSX(+iH-1sl^KLqJhQGi4 zC_|0-o&OWnkD^f0qy@d!NcWoP)H<32C<%eNBuyoe6p4&9s1r&b`$wKBSLg|XQ1s&+ zpxkfcnF5JdRtprbR?ckZhc}Khbdb8FiFdIR%TW>nb4i-Hn%JX$Sg+TA{HJbirQ@!? zyIp^G?zAlK-0$mZ*N9;LNrX7NjL|?_FfOBF%IfNh>_PmZeo$}45!AaE1Zr1${e~Uc z6|ZP)DWf|(&WzHSGd+5VW^Bi_Y?N`^b5~bPg%LIy6orT;Ib5z7mB`dJ@kGgmXiI@~ zhJ6F%#I{lFiFW-iNhm!FD>;w0<+)1(%heiAw{S(F_*gODb>u(}anF}S!`MT{=j7q( zQP@%Jp?3|WKAe8U%zk`*`gnaeIo-FNJ%cSJueB!t3OPk1mQKIC? zU`G%T1!cj@5)Vvl%{<0 zOE~sG-fbU6q7P$S1ja!`OZoISk!g{MU(AJQ&-?lM!Qn@DCH%o-rUYoI)%srK$bGqb z0G3L^iDVezh=%kGZ2oMn5P=-J2-G{~LbTI+b+n5b72oB04t-H4USVBv5zw>L-=kzS zp=Ve!V-daXIo)$+8nLrRhlATqVlRO{m1vso%S26k-t#}Ff~9Y9^dV2IHz_aPX4=nA zosj3`)2^;^`7YVt)s@90obwql7q(rVSMHT(gRA;hSN&_`D~xJZ@@Pi#bcCCFYgjnw zE5Gzh{o9JPSU)ITV*N0;bEUtfhB!7n%6M>Qxk5gpk54KTbjb+4a=B2>lq9_gLZ9}R zDarHtR2me#cib2g+t>ebTT14ABu#eieB+>0zjiXSeckn!uljGd#;V=WsFGZylUu&O zEp;$GV{ZEo)LXi!(!0S8qmNPTTIM?=7SuG3aXs&R-A3JY+OcZ**-^(HZT6HcTz?g} zI4P=LzpYCH%XKB6GybpO+26MNxA}TJ2)0E8a_D(mZa+EL-}7`;xp!0{b>s>ytJh^5 zcQB~`N|C>CRldTqo}6E?t@#6F6HBR8`5QEMsBDN5+|a7Brr-R&oKf6o9#a(dpEW3T zM9+S4>x?}ztVI}|Qi*0%$n`dn~XlWMwtOOIS2cBFKiB4HXF^D;ZS0Y;Jiei{^gmr1*6Imm zH5vtP=Wi1-(zE%=_7%quPPIP5bCx(Bv=*cm$Nmzk-#bH7Gao6AsIh2Bs_&=#+~y}5 z_y%bpZ3mID0cjT{N1t{P=ot^BMy5W#ie`cJH~LH~N3XNfBw@g ze01!Mt2#VXBSZw|nxF1vG=GD78PNA}`q8!xFLEsF^nIK+h!6{MY_IysyTO!Sxlb)^ z6xm$Tl&i<`!Kof6%E|#~ahw`ut!7&yZU;%f{L{Bu!FT{Ih#Y#}ePvpQQ)c|rj{c%f zP*-k`?5k4u21|F;QUCeS?UxAe#L3a?px7CE`pBVf)jBp+`Z9(7!`TlaJ}$ zr-iip^w2$rbUsALo9tYO*1KJfYZ{(^ol>MP>@A7aNDg_<7DR;PqBodJp0hnlvbpFA zZO({FO-@ulM$4~CzHy0;aCQ{}*#PI6?A+3|eaeQHU^l z4rJ^>wh^tfJ%%@{9{xI-TTaxwqzQo~>C?VSKwvIOlV$blwsRK;6DC$sHyoR<@9neF zV$0x4zIO29;E{)`s2V><6}~})>${K4+Y;>C?Wx}PM^(?t!%|&eWsPEcg=o)v_nIxi zj252iSvTK7U@qh~U18I4QM5=BqO_7Gt^YfMa!E;SkC{U*3Qszzu0QUY6C9hPolBnU zv!fI`XF|Snx*Q5u^f!_5jBGg&T`~eAgUG=)x0pmmLV9Dz=SSm8v`7fOW4%yztfPFM z2cx?X-$>o2TIO_5P4Xh`Uw_pDEt>N3%r}`K4 zSs38R1Z%Ks!4|6`;S*b%72`_c6-5K&&>iC-b>zw&k>d74CdcuLhg>he_*iQ1R_!f6G|2#-cy8uHM*t zZg|4@ya@fx=0wIEE>}B0YZAWpAh!lYBfDJm7^Z;;^d&?~ntc}{LujKxQ7CZ*C8xAr zjccP%Xd{k`z>=tT*#4DJC;dfaEQOG;wIr0C#q#j=+ohwoSx$atB0Vd#nI zp-!aE*p?)e7))tbjve`0#f_^B}fE|3lB?XGRc34n5ENC)q7* zciG%Xmz!%iF%io}@A15*GaH7-c8HrAmCI^Wqr`XFg1Hcwi_%z`hXGwSBq-V)>-OkLU7iCF~bA7@I z#Vd?a@|?et!Az<{12u}87CG38$a^lCXuO*nL2nQ-q}pvpBaC={?m1zc?%JHS#Vs4Y5y^>nNwcp04MDk(w%CLI(#=3t@0d$;g)|s}xsa2R z5g6OCUy40h&l_9GS09dVW@;lMFgi<``b4=A)MLqoX2j@7cXisX8ivNK*UA;v&f_yP z^&Z|rIX_d<>?KPV-4NbZc4JVn^+fZ%cKWNdXOO=;FYV9iN6(rVD;OzrGFHC{I-Ssz zOJ!jV7CD#(BJd5$;p*zko7#tKmM#wJ-Ci@?erQ5$$}-x0bWsvHargYd*9<3qU`)h1 z?|D<2o*i!a{l1`CtEM5Ai#wlO8YqW+&m{km^*5B3ui?f0ir!?ehss8K-jadw@Z_r- z1QVmDI^WfB76&z=d&ncZgfEru92~#7rh~v-CCZ^>rja<2S#CT}<$&=$#-*%%J&qUyImCXsR zbQ3#y-ntzX)vZ_U^-r&Jw!*Tye>^_5wQXMfji-KG^>VB6sUyFYiLbe+O%@H*E^2|& zGGFR>Z9Cl=_WJ7eRom_w5TKotH}tP(lS3oY5m=KT%KC}%Lf0> z!%89V*LEA9diQ^2a>&u;%v!5%(l@Lg+!R#}CzmOlV!npyb=v6_@wCHHR+966=OcMV ztDdNGhU&K7uGywHh;|WQKltBOweHq8%;)E4R(TUb?~pCz9kNje?emnXzJ>D@uJ zO4IdSJWUt%qpg)WP1ogW{McdPQ;o+5dtdAAL~5+(!WDbTfT35Z@7HXe6S!jyaLq^Pq!KecMJ>^uvv|Q*)w=g14aOhqLQY40l8QFl2>CcNwc?4E!Q;Ye8)I- z@S-X!zTXAobaEWP?O7`_Y2b#cj9_&g)%}su<(vddG5`ChE!E5BmNd7xB}s zg4Ds;j6k%m=PNp^0slQk5nqSy8J}u#9ZB0VY17#@kM+GwRp^$d&KXwVqc>ngMep&v zySJUL4jeh`pD?ke!dw_1-I%y*ThqWFFisWz+2QT|b(F{PRMs!8T17$`N#`Z z_3d@llcm3pAnzF4kz3Cjx}lT$^OfrA%ST-~5P{sfD*?sMP*nw*?x zp6fll;f$cyX`|GpsZX|h`p3M&I*Ym9k*?^AVvDcaC#Q_cD}4F0y!fnr?UT9(@K;rT z=f1U(o6a2P(6|=L9kXYAYT18G>>?M3IkHK&O-Q|d2dzDBnWXgW6Db|dq@Vt=k*3k} z^L+L0m*4xf{`uMIGhlsmz5V+KTB;pOzw(#A=6XANIHC<(>3`frk{1o9ZlA$LeJjZVow@>-r zY~{#-yrbUqdeQu~{>$eb6aFz-g=oRZ2NP1WnpVNJ+8&*gI?)+ zV(gDue%}H8{jE0-c0Cb#OX&G}k7A>pewD}%!LD067&(OBJqsqJu0LcwvF=Hpj>puh z4cXkrKlz%|!U2<_A##PBY^9V0=aIa}k@b>ZWd;wZ#AN%wK%88fx0D9|QNd4IVD4ueyEY_WF=3 zr001Xdam)$uYF8-$rcr&owIc%I@C8B!c}XoUDEy z@7i2ea*(dj{^ad;zMVXA>z}lz!HpjnSBfJj;*g~<7p1Kn*)$L#xd>ssWbfO}{nACX z{A&k}aXb;@;1@TIPpuqLhE`v!%*~a^f$>r35kh_mb5DcZ=74qHt>>ji4pblZU*kV^ zXiWrrlUVOm>w;9P&fLqio)l3Ui+XE8IUV1Nw}iFdS3LaNsi6M{>Y(=5IKln%tg-y?I6Nk?@UV77|api z!)GU@I*sD=ql+e{=Jn<%;dyU8f2mqt?sfmVMZf#lA4F-fZhBs7#fyIX!N-QrUezhY zT70!gBymM)eTuI>pPZjlTK6&*Pxm);;aAwZlY-6n@3`;uWy=M{`7=YgC~x}j%;dd zYS-xCNNjGrndYkAOB?-p`K|rFFZNRy4X}^m_K;`ZbbNT@n>|bq8OxP4NlO+a8Z3E9 z2+SpE=4#M+d;R&R-lRuV?Cm56m4!4UO)`1jzad0&(MaxnMHJOUqcpCSH22{y=x_cb%b%5wU)*NeD%20^jkuRzLZMe@*A>zg+ZYIWeNrJKGvyS=f7}w4KGF7(zJui8qKZiT&xhwcx)Y$n&Kn_ABHH-%y&`66)hp z8l#VuLl9&sNmIE;M^L#s`kP!x!`6>%t`H%)gdUYd8nRrG7I7RU8nw@syd2+)Vw%A05vp8uCjhyC=>)%}Amhd%NV<-0Ab% z-6%>ik#f%Sf|^+QHs?yLchs%;u)5LzbnSz&W-Q~$eet=WlWTl$tsY+vnjPs=;H zZd-rtpY_8x3wcM4P$#a$f>@hLx4FC|YIsL4d3hF(EIsd|is$?1{jYvldwVp*vanAr zTA=Z#-p~2YHR_|@WlYUQ-fg;N(rSU^$mR;=5br~oj*bxC2_Z7ME9hi?mwXB5bR}Kf z6R9j2-Tii5*}~WFVEwp#IGoFnaUa!AM9cGHG@Shrb`@(;h~Mr>a``1xE;*=Nedb{y zpLxjj+#*my&W*x*EJ{2PD08lo`AYV&J!uNj zE)6^jiB6r8vx)FDA_t-D*;G+;@>hDE63#4&YTwPDey4h6d|AKlrc3@dj3xdJ(?(OW{UNxryq?qbz{htj976D=R&lLuzV##l#n=NuK3(2k%{uV z^_*&y#3->1*+Xg?Q;=H`^(?tLqm5QNpcd%4>}1bfqsZIEGboK7YNa5*5_?cCu`{K` z9+b{~{uLs~+g$`xVd;^EqzNJPunrbSU@l2BSGm_y+gL*7;&&r=1vcsjbIEhz%34r( z&(@DTXT<8-O~Y@x^D4dO59u9eJ*Y>fXXw*wIp27yO(rcgNLx$?IT5Q7JxTxn5R^+w zLWH5C^!clW>&*G9QKwvtD{MdhSN8x$l`DLFj4KC~izT@T)Ct{ESo$_biv^2wrN29; z&(Cu`1JN!Gv=mCK^;N>x49tZZbrD~kQ!Uba?rCbul#cp~qC~YQeOHUqu2vdzNZsV| zhvh4w#LgrkmW%XkeyW4`1~rN$>7Mtl-OKO!r;%#iRPTKSu80rvK>MkBe$A5G1c&W8rQT;{?cPos>hw2cI!EoC28_Rr0scAFZ06=ZFv1|pPkxE z^!b~VOV&?dy7Tr6lAd?g;%EG0=T{3auN-r@!Vx`ks85vZ-d&adh}V8#x%z&!!u5Z+ z^q7X#uiJZ-zB<_kM|z$&>fvL;E_bZdn zAn%eUu8_9gKX@Rb`aS8ctRYS?mvG263K5cv-e4|y&brDzGm~2{KGl(TESoRN#`9^s zt97-gLil=^^54HK--!&e3We%~t1CQT6#X?=d*V4+*r)*?c3(HqPq&k1dLqWU2^$+lYQW>ZoR ztd*HN!iYU=Kbp@Gmh-5DhOCYjItgdAO*KkJ^puvl8qYgB|GB{bp}MLtBWhNKNl#y9 z3W;}_DMUF~S3;e7`jRG2h+E;%^Y$M}1vh_kj9wWQRoGX<(OoVYBum1Kqu3Mm$-}x_ z-7=egDYjRhSFQVVL5;oDRcvZh;S3APAtM$V$>`mg^Pde~>RdyebhABSgCs<*2qEJg z&-*R^ib%6zr-f$??5Iy;pPZWClKUTMwUy^iPQAKKEZD5#gvj@EPY*Ba7Z35xEoV$l zHSEM_EXnigE_^O%+M~L9^aqzK6S^c!gYH{Xn$% zl(C1gE!)5yHIi*)G^y7u!HHRDTeOEf=Ngr3-!^(5<&s@u?1_kwH`%#d8def_J`w99 zTGQqyPelEo-ipVPl19QDMcq+x?%lE^p~ysOiQ23y;wzg5<&x+_X|jjZ8_zrAv5n__ zv$K)9E1K`rDCy}@&s%CRp2ELsS|zu?Kf7sS)SfM_HeNI z{PD4a=g^Fo7yh=YAh!K0s==O_xy#65;s>@kn3mQ@f1`i5OW3`4O;zw`XCKSz{&7KU ziXI!%YC5E?_j%pYGOYOhKELw~mDSaM7R1`D<8`5!3(@*(_^Uq!WB)hHe{0K?4q|8b z@v(0gmx;Gs+IiKQ>ErcjkG$H{)z$02OiTsedS))1dQMa)sOR*{hKZ^9KXID&xc?rs z?S7ws;x?B?@9zp?zg<_xd<8;!LWAS3wQW)O+uxfqcDCuFw00S%=iziNshu{8B03v^ zxpLFXM$qVINVQVMq(v==9P~F~Vu_p%BA!Tda!9W@f<2>n^pU6}h~jM&l`HL%q>Jyz z`TF!psrsK<3rgP?EzA51CFGaVGRtMttgA%ED)dJ9wYhkvP~XvM z48qJOQi{rA>fF`}C&(@3qhGcsMw8b2Tr}tBf4T27H(p%36j!P}FZF|RON7f^Zq$i( zp0~SA`>@{B_x;~`RMzthHX3Z4sc)7VS|{Gd1ozv;~a7eQ${*r|kD%2=SUR=9W$B7D37cH3mYT$2% z8>fB{SCUKQKy+~gN>1r)wCCM=&Csyzju-tGdw(8zymmpXZ4F+N*5ulP*u1gaE*+^+ zpihOCHfn3neqnyqrGEW!vwX~j=p79UOl_vthq$62+nriu;mT?O<1X3!kxqlcZlz!F zk3XZMU*YzG*u|r{B}00}X}qrY0_>}zZy(Y$B;xd~`l8trx%aXYLwZj8BPp%t;U3Qq zZ+vgHU!i4rg*4EbSZ}n|-o7DxaoTtO+`l?Fk|Wwhkla#hu`iNa3nck3!42V`-FNt1 z&g<&Xz;dyjCkpaQIQ64s8lx&*9JZP~$A7C^dB=BAj_nr|#GbA~Hn+P{iu*3okTm(2 z<%m+&&K#rA6D3XgY-=E8QS_lSMQ7>HA%al!OBkDD{gAYjgj_L#;_K3d9A7ckVryp# zPyeI)467!kMn7#4615R+%FfhUq%Lw$kCoEGVQ~aX%k2^)Q1V>5TJDsK^gOTK;$h+3 zPZyf6;Zlp{ozxZM^oIA^8*NKEW_KWA!kwKq< zoz@TaeXREsWw;__ac?J$ipP+yC`~!#r!9E*+8+fFrAbCxVl0=F8qCR>hUqT zd{?N894klst;Zv-Ok8@?D;lezMNvZ?eMx+md|IBn2=sQ$MREw55Y~4|qsR%RNmrt2 z(Qe5Ixm`mLB$LCH60WGO2`7{m4!M31CM~(5TvBr|7owR4MIK5a4M|I_<*3c)8d#fS zxss;3jc6*lWQ1r`5FAU&&uU~is(N2O-RM_HH<3^)L;4Axc|?C7Ty8v(?ohDvC1Mkd zuT(#z7GdoouH>iBXw)>aEl4&%f3vwM)%BytGCeOzues>0faH*NC4(@sRJ zs@acDOg&z^lsSWLX@yCt%KN-Ho$%<+Mp2Cl=PqiaYg94qO1wh7>3gsy9uvNPRw;F` zY;%2Iku4W><gHcR?=>ISb>S`u7a@F+&ML;%r5X*Zpgp`OTyxw9sntnNlkfJq`32pU6luRI z-}H8M=5y`+z6)OSu`FB(hP3sUpAjR~x@V{QTl%kw;2T^ciX2*=$Q$7nCFhPi%~j_9 zFhbbaF18g9&$cGlj~hQfM;-J#`ET@Sp?%lx!o@YhD4)ZXnM0Nv9rbK>p`^FA-JFuU z*BSA{r;Wod!=tM0()TkrK5b&C(QwE^kHiM*{gqVaIln#y^Y;=afdeR2;!=aKNXdmr*2`g3WdS9FB4_8fOtl>VV0_0t-&E=TX$ z>Tqu&xO{pYwQYA)5hvL(ia2z+`s21l(B|1XYM{Qu4c`oJ{D__rWRG#Zr1F9?{#`rz zN7{|N+t~$yoFIpuH@9~p=rF&I`Z9|KmW$l#F~DP|heMC=ph#;tGMPVgLX2kJ+aP^xiLA56}?jLwXFY7Fz(mI z{^8XZg;;Lq`uf|AK4o?JDXn2_NHqQlT7(xr(o)?r;x-@KjO?}~?*NUwyKBU&eJX~d zJ6x>ZX^?Obb0#Z=bCPzx22(Qzz(o)AL1Fug^I*{AGA+ zV?p9dsORE}&y9MfRasU4ncg~bc^>K{m##D|ov&}le&OEKE;C=!Xh}h==O^@)tVL4h zNNDav(z;NMSTKEY(C)q}>il2y*;Ekw(AzN*dEUfGzi`*~U4E}q&O0B=!tpuMc1QF! zS4ks!vfx*rYz_Kf=BXoBL>(_V(AY+}OaD73CTGp+ui7Bk07Q|{S zqFCE9iJTy9&uh5&-r(Gdcc=m7d-@9}Pfo3W#4~3heOz&}KE;D=-umgusUDAtmjqA# zXI1H$=BZ)&juG@etii55KHst~^7o6w)vi?!J2bG|7Eet{Et~Dd?^c&+Ip%%e zP*ph?Gu|#VXk;pBYRQBKJ@>q~D}No_xcOAIY;i-U_lh+YXY{nkXMXx-If&;@oY%Ll zKE3!yJ^qXuUIdcJ^dRXC-Kr|N5Up2v>k~60vFRjdJ`uU1StFUn)qC8bo{O|3 zq11V*+wz>-^Fc$73!_~Z`}h1E4;MVaaZq#R%y?lu_PiP6*90fVPgPxhI8$No9^<2{ zt7``w7e3u{v47k@aVPE~J=d>TQwgIre1ix&t%ss^#nSDPo>%{`AA?Iy9N|A6_JTD9 zEt7~wKlZ!^kCalsp7F8YD51H^oUzkVuV|c*8W!PLYtJ>ISn^x9Nd2!G-GqCr9Gmpe*3Crz;&!Y^r8(!@K;WIcpZSUXV;M0;NC-~ZK&!Ul05HN|8n)-HD5%Ytyx(ibsVv{J!IS&h8DDGFT`D9 z#J~LX7Zd1zVEgKFCHYBm()+?&SVBq{%;7Z3q*u4SJ=Z^P%!QG=dX7-&8K_f9~bcZ_w$=fHE``eFQ{fvLi zC*Ab9&f_z-MPIU-CPdZi<3WSN|A~CrWo(F?NZU?*2A8Y<-dso3X*SWX*FWlT(rRr% zYTgAbhvk-Nd^9*u?Y;78f82!^JGB;bA=>k*ocOoDq2V+BH5D?j7KG30e(nf#+Q|Gf(wf(=2jN*jqKfqaf9@GVkEV$E2@IFdGjTa@mjm`)#{C>Y%h$oyMNq-80}o(I{0I~4ndo)uSa%t9jnhTv2PZY zFNods8|7-5`Tj*E>E7#t0b#aq?25_A`U&T)x1$^P3LI_ zfwjn{an~OC?(Wi$`5%5=eP!#eZe$p;LGScGp2wM}X_n)_OS6Mmy^(6`n1YOLN6xls z*RSeca++H3`nmpx$tdg@Y?<70e?hA1m+TpqL*nYIKBp@6%mw~6rD7rGLeF;*(G^bx zXMQv>*xzHI6WcLfA-A6Q&i8H9m6!h-xphnnC$?ie$CgO%`t6s9>|A|v`Yt^0< zkvd40%Y0Hy(ePZi%!6jq*st&^vK8^uLADNU|@sek5(ZT+lzJa#XlwePv;cEIB zjhxX0B5-8kdG{2=6s zN(FV_yjbn%bb`V!ZkP+v`hJ6X3xgexHC8QKH#h6srI(7*B8Pgk{l*Kyz17ZC&x~!V z@D0l3_ILFu|32LRkr~D5bKx^{0Q%(dn7!3XpYrd^9V7TgpJJYwVbf=;XG${X>HBc= zNv2$Vo_>t(52AiFmSj%H_vPjjeb#wqt_O1=+VLy86)`5aB7WPghh9hYjTu2;NqXjH z#rWXu38NKZ(HkU9<9-}X>Ihe%Qh3thuIko$Q=FLzoIyYj)wd$HsTOuRjn83`TvRUR zlIJ}8QGb3nztiuRs;5R&Ql*(5;hFAJ#8xdc{?*o|LM4LD}@~<(jwO z<#+h~4z*i#_3;g@H-8{TYZ$z6k6s;rb+5ANv%-1}&-b^ry-0Qav${j$6x1Zl-wkMo`H6jG>-@My&3A+^gTa_5UWuxN%J`Bji$HxUlfj3hlX#6AipRFt-4=u z4a?+tHTrG{#`L;LEh%%k6B)#Uq*1H|p0}dr$^JJ78>rV7MHNbjlCN(wIrUScvgYgz z$9FUQ67M1trL9*M=~nIb$GiEpbT4LVbg5$xlnE{Cc)LRb%eB5sG|+d&N3;D^w7~OM zP|qFS(P~IfpL*J6YUGsVjnq#s>bY0&jA^B&q?(`2`f+syk-^ak()jDeq3L;Fl0)A& zQOvJUyW|;&HutgQ^eeQ7_!X6;?;d#jvT*Px)pUw)ot6{7>DFmVlYaEPUrfGi>2d8Z zSFMWQa=v=4N-K5OrYWhFS8yFf$?yJWa_W~J(4?A=>i> zUsxFFc563v!SOYmI*16=y60{EyI%O8)MvqYb=|YP3$C0PtK6K<4v%YZpAc&^pj7**)Dl7lq4)4^DrHGw0A}()!-Mx#uW3vtOSJpLru``bIA$@tTQ}5SUBS z{9SF=tV-eBLmPsDH?|EM4V$P>Jfts*os%dBp2aIt@E4P+U*2xyAnKR)9h8wtXfRis zSFVc;zu|86R;f)9+6_eOGITjk9CTv|Q%M*v5ow9vT)JW!=dyZ4rS6U=d9EH-UGM#pFeq%YS?LVYT#i$a}}eu8-4Wcb-vtKh!H^F z1{I^5rYRc8b8c}EA-U)c=91?eOY}WhzT75gBXTq+f@!>XcllKfw()(!$LjsHpYh-1`RSW`ot_NR6Rw!XkRMc7Sf*C^+1$qh)F|4+)vmsQ*q0l+r7V(A z-zOWB+q&gB)6lmZN8n!MOfEqXTHimK{%%NLc=heTzT5~cxu`6CyQki}L|QQSK^ogI z4Sh#$L~a46vgCUa_J$#Yt&dxo`92kzMw z!E=`F%%%skhMtyu6W`;m+Xda?z}f1OrWOZla~1;HCCr6r&s)~Bl^QVbd_^=YCoPk9 z{?ZHWbK+{it1VUkOWUY}Uwt0IT&+);kh*07-z0$YQOWY7vvI9GuuqM8b9|TX-c9$y z%`MQGI(TiTK{0(3hPFTT0H8+EJy_|UzKf9h$aV0^_GhSz$DXNn%vtIqzbMD7<`Ysa zp5mJl+#Ued579360JygVo|vfk7P`Zf?!k0BwUZiM{D>B1B8oe|=>7 z8;ib48!YS8b4OQ5&!ti8yOY$g`5jfSt{3|H9)r~CqC7K}L93zOJP+fQ)NPcO;s?^x zBf1mIsyp9nt( zJU<#@?Q#*eXAy<|_0bTPD>s+rFsgmG?*l#j!8dh&Co*NMGiQmjM(#|JzUx=oD920C z23VUNIY3%--(7lcp~xvo??2ytroZRc^CC}G9p`X`oZ!5l=bd|ZX|?CLF6!2z|M=)X zXlJ($TD}raUkyFq+KKA9{keT=?2BTbQOEY*clzsJud4nzy_G^v&=VghJu$WG9e3|* z@&2y#eOHdy5h6X|i4oEhruZu9?B24TPrU!cAbQss;lMY1h2>J3zDFIp=YLr=f~F@2 zgGV(Cd)}fHQb&X>H3O3Ia7BnQ#R=E~BMo_=;N zDT$uD=fmN*G)hN~FW8kMWhKY}@3h(1ZWm87pC+-Fz+WVn(u^BR^bNWH5i zrznctIy9X5UHY0u_W{yMavKwAe%JooI%socM+QJBI(f8kgWxjuyejj34UFiK(u8F_wtrINzRYT_3OP zzcsj9HGQ$X;R-#@a)q8q-#-vxbG1xbbhaEr{<+uxeZvp_)bhR6!uKbpuHM3OpiIT( z(3&;gD7@3UM_iLA&x`L+(Dq2LV(evXBfBed*_>(QLXc<3bM}(Mo3BunDlchY>kRjc zdv^VhdgFMalCr30L7d2Vhtk5Ko`G!MN4?Si$5qX@|L9}6Giw#3rafEA%noPOLH%{? z&~lYTJY%<0DLc)5JDhQ;h9Jp9tn zCdN1j=Y$Pfr!8lN(QXA^k(3?b@Dwpb&`BZkElkgH{_}Z|*R#LzcAUqRG|d6wHw1?( z^#Gi*i2Kj=iC}TMA<=%jW1KzvlitvNaM=e*9PXJ+E9kQJL58>v5m#^FS}cbvqea#U z@6Ke6>hx66Tak`%_UG)QH)wqqkFf#iO6rRK3UJ0ge^+_Ec1hp$i{3zfwdS@w^K}XR z&GRnaz9rZm@l^BuQH84*(Gy+7(2r|J8uV?fzMdOZ_>B%%?BO>(D+R@@&K2jxW}nEu zRO`w)v7kMtiQbhlPP+(vla07I7a}A}(e5m2U(x%}$F$@>>} z+|7G_P(P?QS90P#ZD-m`6#wn+gJg5ZD?RU%ynR6{wcnq0TE5zU_~GoszfXg^QAo9L8UzK4aY``M7pbWVnCTUcXb<{lSrQ^Buh-@8~@x zBQO`*$shtv!`C!aN#&vrT}0jY9x~@JJm2-Q5X*IKE-f?Z08hEF=^}Fijl>no$L*{j z_>G$j(Uebqi4f%=n@gQ2Ir?BON{jF2LhxvUb~OrDHl6K>%u{g$Mp2v2ig3>X;Ikmkvx7!rq=B3l^ZkUu= zeq5T~T_) zfINL#%hgAzA5<1aYVkx#3k`a1S{z@uIDu|)ibWrxLG&aNxse(wBAlgOf7AMmhAXgaYOXLbTarX;UX(Tdsq&LzoWg}#~BRnykY_6zwi63)KOUL#M4XNjni{;=xqsT-wELXV^tOZL0 z?U5a$PzzF5L=HnsfxkK}fY9bh{qm%J{@8v$1%100@99gqq&MmHJ2b!(qe(mi#HE3f zqopV|Z+wM-JqQ(n8N2MC$n;g1n=CTsg4C!EpxWS~+62>B+9U@FzX*h=`KP#gZI3 zAX0OS!=tbqa%9>;Yyprfl+V~h2_Id z%Fb1sLq@P>iIUKec2LIZ@|@+s2uE+S%N4Y6NF~cJVd@%}>v{&ZK9ZaMCPIjVdRNrF3@no|#HvQy#oIdu8c+%CCStu_ezhL74h1yoD(D*IgGSukF-ptuB7+DCLIJy?(|rJTZ3?I z&gEjg<9g1tv+E$WYSNR*o>k>9v9v4R{&>V9Wo6f3p>6Y%U5H<)YuU4EQc`h*lx3xL zZx11a8yOJ6X|5kg!$t5LHy6}9;c6N$`#?nt8p$Xmv)Wh#!DE%zAM&5kJ0P&FF9Ae`%Y`)lQP>+U-cv{ z-=?HT?(T}mT#_cVyEmNdAUXzqu?7RTl9T_kx2OHb+?71ziQr3w;OA+H9bJjE*&HH*a7;&{DA{21K|Yy+W~Or053adL z9W`p7M>AS7bU>qSEh-VA@Qp)5fAgv}CQpB@u{4+~eOIxmAN|YZ>(fCvO?xe|uCTU5 z^4v7g{zT*9&ldSVJy<0iUMpYioi#VJ=E{D%E6SX4z~8oY`5F0%2HFE{E|&GY6FOY) zzcBPWU;kCh&Y6~adOd$*!L~iSJACqB`Ppa172+p4kT z(9?I~3d-b4o*PjFV+QgoHBAb_lz+A|!aFsAR z$Zhi|)PKsaX+$(v5zUoCJ7c-XEn(cao9<;eu@-7nvLpo8qT=xpyxquwWub?Ie1?Xh zlZ9~Yj3rTS`mwHZmx~@_xiTo{yl}KL+TRdJ|C4~ahT~;UOMB%YoLFLKRf^#BJ@PC5 zu}!Rm%c0&Cr@>Mak`QP?=7jsc$dzkz9!DjO%^8h|WRgmD5yi`O(S)EMbB3)xMk4Ih zaQ<8f%$40|ur#n-Y%LM((!g9;C#0@Wzsp6)8;T{8rd)`25!S0+jiO}*L4R?q=8jmf zBo{$%WF(BatS{K{Ioktc6vjl7$;KWv_n zhUEm?SCq-h!Md_Eq97BdvtvnaM3FwHOy(A|5jX>Zy*`|C5INYdtgeuEq>(KLwzW8~ zf%Jq1>&o)Wr@gTSQSxXeiZa5s25v6UdIrIASgWBQyJ&|iXoZ)XwQ92d&T1svuYkJo z#8{u5W_6oISX~)8%-MFlroG6dDJP9$rIcW86;1&4;=gt@|Kz%`gT%%$Bl??$`ny#S_# z!*)>UBtTl$F4H@jc2V!vV;CXh9Vwsw>evoreM)n#D0mO~E}lCmz2fYCw9GAW5BZgw zdIiVN`6JMO!#aznruIMS={?TzB(}S5%ej8*I={`>)76=68Y`S*N3@H;Q7X1~*oxwa z)${H+xX6Fw(JJBg3i+ASDT!a4b3pk#ulMFH{z-aw%l#+02%J?zwCA-Qwl{d{vi*Lo zuEqU|X6v$jtmL^q@)VOCT|ZIe=uOY!?5+|#`uO;u`mPZn>K*$*zx0@z>UWo? zSF+ol40|Hqa!R*3Xz!a!H!#dLX*{Ld%1yqD{9+FoIb=l7;c>s=MRz%Vg`S8$=6R=H zapKBJpT$-kdE;J1>(jQ6Vn2SSnnt;-;i=6$b#AEk`Y+9 zB^T23yjA5tUwLSIkD%A>V~reg|2bJrWGW_y5-*{$Xs3?mDk*8&l_VU}b0bGFgyfR% z!$(K(x74UpE+GUh{BTc(>UBv7dCmwqyA63Kw3M5R2FruFa?#_MD11>YL4-(4xk{uF z+WJxC+}WVN0>M2EOoQt=#wh#(Zl81iiuFWDva_s?MVnJve8F9jGT>8Qb=`k#(~xAM z(;{iz3a%ota%;)M`9pa&iloIAxER4*1X9Ob$gRGwbB5cR=6U1KJQNv!=2-vJ_$Y-4 ztdEEmPo%#Ig}n*vW!M{IsF%@TbyVHZ9H2qk+*vqQF!R1_Fq1Dm*212osQ&Ki_qU(u8=x$C0`NMn;)b)*FPrxMX};#Wg^3# zpW)Zc8>O&Z^xYC^IQ1MO(X4$_Q*?84vDhA>-ch3)E8Ul>Rhz$N>GKn(mr;-W{eAHG zhZm^nw==&~4^Spoj+a}PRgM3Xh&C0+(iyC2D^w?^%vLq zEm=b1ea&=EqfCV0)`n6tdscV1J3A;dg*0nO`Hqf|xka3ZBNY7-W_&JlNVFSQ(lpkU znJL|;zN^6B^4etI?=@I`yMB6X?`LJ=dd6-g#^4plOpkd9*&F`H7wzAv&|uZd*#3LN zx$zmPF?-lj2WQ`xTA@#o>$5YOth0DpN}naCeV62T@a}E?iq}eq2dDW8^^W!!bnCj* z>Uq+8eSY}2{z=m-g$Lej?I180)-=!isaiud;FY+E)RK$hlBCIFke=stytbuU^h6s~ zcEjh9ce_rH$!SJd?|NQ3J;vv{QyrY!rI#voZFxguIoN8Uo zJm(5k`R1?v$m?(V_y!TRdd-N%JUN>R>=D{}pwDH@jB$%X(E@At?h7whQ|p#j=Ra_X zf9?7iu|+TP&DKcIrE&YUNq?O`$aslpk;;;CNu!cx8duFZU-furvwz{kl@yls;j=Sh zO`haF9MaaaIJSOdYATh5GPyL+cjXOnBL0dTGFSL*8~X-08-+fm=Y2|$T(p3avtQv? z`s!*tu}>cEl1{s|LnDx`sOAU)ll_pPNC7R?PF zZ5mb9YS9q&=IZLE?(I~?`{xB?e>}-SU@mOuJ@5R}BC1>OYUnuQM|a zs8RG1Npp+yZwSgIB{3q>>61v$OJ9!6)nn&IOQy#TOf`K2&#^PuU)PT}?@%{xdd_eq z(SXWAPUJb;91)U>-e4|y&RktJYMbBVqdxw@ll$nK1Z*3QTn!vIBet|Lj~OyHH+=@Q z?Z%mQgkAC~i;LglT^qD=6~8DQ1p(_`(XUEIAXk_R(Ybs2q!Xz{lokuJc6TnU?qB)f z+{hQtj8mu+)D>D*pOR*yPo}JF3)(nVq;=Y3)02MQh64ZO?*=+FhA*5E>)W!7InxX6 zB=(@ci4bkj=w~~^#`^C>(GaPlXV`j9T)lcio;r2eP`}T&J(R=A_8Iyf)-v(#Gi&LS zP^|a3T#XJkr6zq?OV2C;%VHtCSL)&v_##(jeF$ebgU3;K@>=(@JF^fp{H?{Hp$OCV_ zvg+7t?he1La$oF<9Xvartr>gyGcVp|T7I(63-`rJU&N;i>U*#z3{agOUgme*c&Rfg z!d@oo&GWvy;VM=2!Hxc9L*H-^mX_mA&CxXiU+ z!*VlYg`4^QD5U4oAWMli=rg?v>;F_b_^M2sZtguPh>((E>$h>!CC=p6WCZ4tG`9x8l~b1Gun4%KD0*v`lT@kY1;I1R@*M<9j%a;?^5D*DL4G|& zTEjUDoO7_x>BL1u*jz1>n9Dx*G*|!q@73xGuYyi_p6G`ptkYt1>e$i6_2!;1j^)~! zG^9r~@HRn9o$f5Qb22twksOGyZ@kc^U9@`(AI3qOZka@M$q3A4(b;XcpxTuVa8mL!9aEEPhC|M@&;&OPsQXZ*ge|GZx1yqZ9FvT0O;{rbA%A!&-ljPxTe!{qbT~b&^9w;kaKb%e2>w*)SCs z+$S={hu5z1a&+k2hWxw_dhNakk2vdB6MtTvbFB{|gyK9BBBk?D$2uk2!gdjwuNwH4 zTdz#2$o3a)#E`>=-=zB1&JeOfiE!J!R+a@vCs_$Rb0lI%JJx$G^g)KdsD8(DZihV) z@qtt!cBBfuwveveKbM(DX$;5r&ZKVWyNko*oZFmp8*!i%bib=~=%+gk;eGjnt9;j&ErfQh-QxYj2_?q_@w^C3FJcev_$*ghxhWX4p%tr6C>g5?e`L-;2 zB7TFX_IC*w71N7|8E!-)B3xixG@8J2%rGluf1QZ6lXUxlB{g^`-?_LTq6 z{A@gb4|_g8s|KDEdzX%*VB!kvQC5~c*0veLc5CMmI8q+fqX8cE4J*j@?%ZTmv2`41 zuZYi$0K!oQ(u=+XrOr>#EiT0R{IbdF`m2{=FG3v1pFSEWxf`Gx!&cwPx9@zSgy)l= zn^{%HkF!zF=pS`!Ke9XryO-k!bC=0qQU*Pv{?%AQIMkotM(Lt9YnD$9Ym>*KZ>~4j zzFfrqgy)pKeDJ7KJEn{qGoaeY=A3+ZBGE>67neo~<^+=jliJ!o9&nK7*7m z)2jM}qf3*YoOV7T_s(x0b2>jM$`8fCuohCNL+p6Ev*)|_YS^dha({KJ6P9ecJwUw*04uT6gXtNm1BQ$n)S#I zN5K=D%+=HSvBg7Lo2O<^b#50IFZ$I>-o!@)Bmk%FFC{*w%c#~G3Oqa8^w$|j^A$i z&75|5`})sJvl6U@(1!8nQuRZrE|WYn0Lp+|kTlDiIpE$KLvo^=Rp$uQDRFEo2LYRjH3l7}Jf zXni^#5cO&EC^=q{KGb+ce5|i?%shOv1-nr6y4IsmA1Gx@pWJU6k_=K!Z*Lc@l-J+nq_x(g|{R%z9=10=_uD+45wmiL~II&$- zHokpxS08e8CLPFjsVu(>90(z6(Jxp_ekW+dcxqKKv)xbe)|K_6ZN!eNY8cOJF`TBU z?CeV5c&m34^QG@TH9z@j0ITrxRHy59@unWWy08XbW6&afm?>st%elY-vxzXb^b7hA zUFQ({Xb^HVh=kT+I2&uB$3cAjR{ZK*ton6vV;v!+J_v{WE;NV`vKIYhd5AfhB0H&^3BWVb}%>28|%i2be^(H zljgykwNu<#W2J=VLDHt2Em02?@dA}(oIns*OMVw~gP85>&1aw8Yrb>xB`r=wzpL}{ z*Vi}9iuWI388hm!njcPauY^#Z1=kUfXnMZ4ZHO)uZ{BA z-Ovcp?1gl$>w_?4LNHm2da8t$WjVj%w*hlkXIs9h!M?~DGLa8_w-I@gJkY;>ZLX%Q zPv=R4(CEcINCi!H)%xibX1~vunRCDEt=TTxYq!ElPR;USe3UrE+N;#9)HzuU?Q^5W z=n(Rk$Xc=``W}XGH6wo^`@#5Aeit)(g27!&xgUkQh`3Kh^|RV8VVCVnp6I16NtF&E z-th9e5VDqp7S^5}4%sfrifR#rgw9G8;y?&0E6xdya6SFSG@s0MFWaSBlB%o_xErc= zl=M;5FlO#q>{)&!r}=lq35@+S)rpzoo+>q-xs~LUX)ekbMd@q$xSEOUKDZ;GLww#Y z)z_cz6(kq)1`%3^csnD?WCe~}w*PheM%z?h@3(|Z5L$wX;um`Gi}{yjdPT) zZi#$1BfQgqYpf5Gg1&End?0jIKAgEV>|fV-ne;fBXBfig8Ke)cozgP+@O4pa7b)cX zgWC!<$n zGk5s2KQkfxBJJ?dol4q$!+Vgl6DPm(d=kE$TV5E_!F=w$v24u66knl%M#B15Ji{MQ zf)q*)1XXeuN!~J*?dmubjNiQ>EAORZt%vRp+Q_XD%oU>3fOL{aKM_wjI^B(7hwH>^ zuRF?i>E%5ti~FPLK}8cuS5iXfB#2va7d1Uw2q9gRDDHX5ma^Wjjie+yDG*i4N@QC^ z6_q9J^85eBf%=fpIu5i^HTo#qB}p5`2mBi4q`)KW8ed;(bTM~mKfg;xJ*w;W+#ydb z8gabAx)XAT%B&RMv*M7pEAh#*ShBBh9xtD=o_=uGoVSkW9C$oBwEL*oA3%J0pNZzW zS2zqKswux4e#`4-LZEY9)Sn~!pu(~A@F}a>-Mi+6uXG&92jVk~+{fb0CO0dyXFOi! z$(QCkRhQPk{nj&$Qu+PS-0qAerXD{t6O-FLXU*UA4tVTECu+NW{lk^fp$3biTv;LQ z^1FBs5+P(Q`UPvr?_$4p<~Qx_ADflXa1cby-_fDLPYHYyT0rp8+2W(K$wy~~UJZAF z(7W=R#Q;$;cdBps>tZ~|S_sW|`&!hpRt+BSQZ-{{ROnp$+%D&`Oca(YoGU~xJ_ybq z27$F?S@3cAO7XzS$~D+~hurgUA!*fg(kbOp(oK30@fpVbTp58yg{!mY_S1Km3QY{4*kUw<_4*sn1xu0Xtv zZPDl>-pdpx_9V4@{O~t6TUU=~17=rd*cRFq;^t%R(bogkf=OAVD{+u~5Vv8x#aCDw zeL9MD-h0fG>(MmdY@gV>DVD%TpO;0sfG^e8<)z&2={@ST^d~%!@&+RQl)Xsv$HwZh zBg_`XN3g2xs+rgp$_jC-_Ni3vPdSqD`+U4S`JX%?dMTL77s};z%T!PP`R$e?qeBbF zkY`8_Dld^9qzob=3Xk;di~r0OD)%}0sPtf!ak)Zweidbo=OGYSt6k1qp~M`*t{x77 zwa~^M4nbOz)_}DT+AvN{ea==JpGG~d#$+1>g@ABE5r7N+`2T)m%pPxzNMe(P-U^6ZHu zuZ>oMJn4MQtkx$mYJu2^lOq|8II>Kmn(804w|#d+BdhG&m6@keyp3%k=V(2Kaq^ur zfl?EyF>idljkVA+bO@9c$^>OK+nMg`ekVIw;o3dcLTEnc1kM$QI=3hVep0qn$U5}7 z$nh(6PSz*Oq;r(C;(~OJ*ioAlovGRO^`<>NzjbNJx;3rL?!B4fE5b9L?7uZv8=bMQ z=r~a4*avUCk~_3vsPGax1lB^2gPur-P?1G?5TPFqf!GlOThehvt}{sa;Ha%bphU5j zF5N4wcY7xFoxtAv=AdU%zZ74Y-eR1<@q@ni=_AGx9S6?Ou-`@JNa1HcWFI`0zn0zj z73TUY8RL*;U=$|H^xZI?jQ!rzvhxJiyWLR_jyRE2NopTX6-ogqG>pgZrpLussma!r z@UpcZPV*gqQbczc>ETGtGw`d((nj4P?Yagbrnd1Hgpe_{;9PJbMrYLry+KvhM{0hj z`o3em{=*~e%5blZZJ~`JZe3QM@2C5!EE1Z+{D5r=O!swcEH!wv{&MSw3MJUKH@r5s zi}H< z7Nc8VDbudzWLN8H#Y=9r&~*|YwRx3Sia41UgX zC-tI8i1r1}H{Mlp95XhyGDpmv=BvQ#@O z-&!~H8moHqFAYbo`O|#eo+EAgEySl}OSt$O^db2MJ%5iSB;Tf2;}xwAsz077gvYz` zrN1$0QK7G&CLCVARwJWug4mt$O|!onHeq+ZiDgI$_9&gI{OjKIG=ERbiilgBK~R}` z)TbSyLZ|)|GYdr%MH%Uj$yq~&UH4?}(1`2Qw=;k$TK!OeA}?oVe$gQM#}i{__-+?h z@s+L*Nl7Gys-FW6#^0_9$+v5EKbj}BVUv44(N+-$$*Stj0cQ1rV;Di=3`><`gE%JY z5b77b7D5|_+4Xx*M|+}+10itKSKkd?R(uCb&F<7}(n}d>!`@EuO?HJ4QdXovDl1vN zys^0bdfAm`-A-PH@{zrkcKc%Lj6UZo znBQElWeudAeJB}9L4P*6$Jb@~|2uoDGGd8HohK+JFjL&-(x7n^$ z=9B+1JMUgTujTpLx-_}LbJdFSor!9q}`_Q_(lcf<;FP#HcNKwF4o|2NU0yal2XE>{2hf8db*1M%@wFV{Tws-QOq5y~9h`|F&9gF0JIX=d6nkmB|&A@a1#qhtruKH0D~yESL#7HkWtlF&qB8^*g_{zSU%B zA5XEl>7zdbvr0{N(w61O%ro&}tH$g=^Y^!&US5wKt1{WSHZ-TZB8U*!l3|QbHSMx@ zYB92VqzWmKWs-wCzKn`o~5>`UAqh<}`sJXzr@Xg(=4cZQ8gMXat zd|EW8y9d>2#bjsk=Q-R{4|Rr4b~+alcjb7_v&83Fi>-z2sPrax1@XzUkgk9cII@GF zTIxGRmgC3&w54E74Lc*Zh()C*L%G$?9~EjsD{H`P8`zRz zG#F6QGb61g8$X}fXbs3MQpo29Nd{Z^+~0wEFTTv8w@r4Ax69$)&!4+svh!D~9In5@ zK2O@v#}6Dc(6=i~v~J~P4IjM_xYD^Z!*(aI$d@S zv3FMWw;J>*$#XQS@ebvtLuC9J$9$K@TF+gpq*)2pLTDu^@+Xn9lJe|7qS%>c;-~p^b^Qgf@ow_!_{2p3R0`sA2!t-RsVsrN5&24&`T{86-xv5BG2= z1%%e`W+3NCp-$Dg;ib(_`^=6TRBi%8TS6)5oC}QzPc5<2dIB%w*@iGrhB0^BGPC;+ ztyy}_Jlf7Ej)O?8VRU)6O4L7XH-9QxiJj%sMtQqp84sDHz_HLa<+{nx^5`^P4|ZMPY1E zeJ3xPxzFkPQ*2AhD$^>#5|ht;YIc610&8)np+43^M25N%wl4nfx9Pm7JlWg4ZO%}3 znPPMZby_t;yL%w5Qp_fnE_}nx-Q*N?Dm*H%5)%lT+G?y^-f-&Hf; zEAjTps#Bc(qiBUL!#>__ij%nPfsgF9bD<$lo3-L?799uL6}GEnMK~~~PXE>KOddh2 z28K=L&5uNu>5fUh+ z#qY{k@^%gW(&n-elDB2$chPI}@OM%kpE}Ppi@l|dI5o>p_wAW1PO&1j{I$*W32axJ zye7#Yl5-&ip+R4UkODsw-r$8mk7sJwErxhmiMNfAyi+YHA=-86rvKY9FpIzcahB(R zh^!@VGV2gc4!rHz@L;Ov`y&(iy$MCTmRAd;9=1f653)E(uPVm|$tvq5(&{jcQR>fc z;|mV-?vi|OUFE~3d9C{M^SmGZ9Jv zIU3PQbbTNWd}9J%jih}%k)@mZx%%_-448YvzbHQNwX_Hbepg0j{Px;y_I@Dqez@;P zW$r=iINVpQGT*z>Aa+#RkcnILC`p$e-h&hGQpt7|wUH3m7E*=OhTCUUf;ZgYt-kc2 zf=CZO90F^pGU@z@*Xy!5y{fR60$*q=6F8RWvs8(NW<`oB{cS*ngQ)sqR4Ml3YwcV< zR2&r>#2L0KllRFU0&`>-?mm^6w@2i%;J#hH&!@jXs8c2Q@VnYqZ;=Hx=_*SMa;gvl z+rnCio1aPT|Fs$S^kA2Bj3zPORo@LxOT!ngSbzL<)$I1Om-XKAmNV;pTAA>MM*#9Z zYLtkuE2gOO!ds2_vLNXk<6XqAbYs}+dxUhcN4amqNnfHkCmin={UOet*26P5Z4%Fs zlIqSs_)6N=n%z?Q$qIM1#X!%;R}Eg;=Xu2LZay<}wB{3Wl);uV)seYc1e}9adZC=* zYMP+L`cn1~8NeSweE;4YGnlk1Ft?^YKganXMzUe5Tx@^??22cz3VS7>%7su;)G1Nl zNxG*?{NOoNuANzF@ED#^PR+1TJ}5Uy75(dn{*hs$56+G%0fDs?B^j<4m2XS)Q^j5T zvAZ31SysV=9u*-OJX57w_t~5_*?Ia9ozgYJ`Vcr2c0O<8BY=D%QQ`CI5TGgD?`8+# zcVSgOHw@KlHSZe65oskEw({Dj8%33XknQr5?;3>&O&rsofKb19H3)1;)F+=yCHV`* ziK^@ks+Kasd{BML4kO1wUFSMPzAbIojXc|}oU^WLD|a|gKy6an^3TsyTe=1nZjhBr zA3|U)#glAZa*nl7&)GsSf<_#&7U@Qo$-7cLAz3QPUt}$5iSoOEm^Z$a`R9>B?7)K%RY!-{Dn%;#CsaZgvz397`|vGbi1-W!|jZh2gm_Y!~qv#`L*jw0w0SN1E1csRMxI@yuE@fnmERd#Cu$=FaV|cx|np;v4*<@Y=+M zuv;oAnTWFFNqvvhx%vg6z0kW9go_I_rT0NEbL1AsE4~}Lw<{a;Tu%GunFAi|2N&*6=JPhOvK{H+{9)RVUMU4>W0CQ0R$qd& zOK7o*GwtiH?6q=HcIeud9;D>RZNA1nQutb(s+WrI-ZE|13+C#sW3|y4^{;bInh<~3 z&vjp-Q?+v&i);H%Kl7(2#%MTjyh41ceJVjehtX0*nVHdfkZ1B7_*Pu^XLGPK7rSX^ zAklWS!$BCdJ_tBO#r-~LuM6rV9=UW-8+A*YE8*yMwj_*O)})IN*pf>PqyN*N;!sc` z-l;~afEDCw+JVLum? z2+ttOnUSvCDk>a0eu*e@P6Tr1hicgFJZ6J~w-tg=xbvP|DKs$d3z zu{uhZs2W>$fO+t68N0yc1RJr_>{p(9MQXEZFjH25&kOMi(nOwA$w$-@x)EjB62kad za{pA{w&_tC=fv&SFH?Ls*NE>r1Vt}oyOFgXDl4XRD=3k#*}r=3fVSc#Mgqd7ATnHT zCGE;$NV>!^{h$66L{`qF9aB9Wg6v90NV1l~;SIO$Lb7g!(|mKgWR(@lkZRJO@D6l0 zT>1}u4^Vv<9!^2f3{pS@!TSV*2<;-s{GZ>=izBmjU@jARk42oaNc=gL-@Ub4&UKUGx%NRF2fipy@{#>ffB9X(_!<6!5W{M` z?`v?MB7LDj3FCL?`f^2BNkLy#Rkf*vUKFiTS|Znir9;SHBKtW)>#J&NB`r3n%0|Tc z)%9Er82`_;7m}!yqAXvmzA@N*PnxfJ?Hv4sDeVbA3<7J(au$8qi3Q&C%`Gif?v!-B zc86T^e8b=ka((7Wa%#K$LpnJ)adP%Je;Fei@OajCeP$P84J!0@f^DT_ArQcU?w8olPyc&eflvVUMa%cBYSZ;`G&) zi2mVf@WzDOycR|>dW@nlkf+1ZfL7S#zKZVQ#>`$EXnLg+YqzBU--%0hZ*f*Jn9j(C>esZglC!EiJ$X|JBC+r%j55miX$qRA2Kw!k zc3CDrh!iS0QAzeY>Vw!WO8wywSWC7G4Ap`;fd9(Ke;~QeraW*-0|iU`o}Qmj7m}mi~l^PQ6i}od)w{ymavAb>CTcz z{H@(~LVS4Nh+0-X%H^<0&V)6!Gr8qu$$8hRITN~XKF&G+r)_<^L7;(46+%>AILCKx zhJsj_3C(xn?p?Bsj4S4{cjE2HTC!c)lHjA?{>$dPfmf|%RpXibMN%apuqDG7++er) z?3kW*^C5l<^^E%0^}%si9EZtq2#F%+$8#o-o^>37tIN#PgOAyDw>086T$C+gyQqJD zHh*gktBPM_3PIhfKFCiFV1G1_sz{w@&-ue3kakywnLHUr;Ro}rr#>3)YEWU14d%T( z)pssdcn0;IdkN$B8~NGuv!1cL*794(ElL-?l40cExWe52bvgTqdrh=#x|m%IWytR? zbzW$_`%-E4{Z}U2aBV7o2~V7R#SsTbBEy*1ah`SO&|ucaN;DAytzGAX>|Olv%wId^ zXJ#78uyJ(8QJe2aRUB`XJkpk39#c>oIT4>u)#+v-^V-+Dty-lzYn}n+_RyF?i&$`! z>GQ*E-@g;w_q@11&X@YpI&rQS+n(A+;~X_OFlMT6KF@p3`Q;F^*Q_@u94c-9b*72- zJ`U;tbwg6h>KVu6-zCd4&zkweV3s$kjfs??taN>p{OF2VsotN~X`aCh zJsIJU){ecv^*)SyAI=fKMVaZT$!EwiQHYlBdLNT}AB%e*4F}dje0)Yf>5AFw?K*b5 z|BBkEHMH>TG$_UoDIfA5vP`l<3Lownl$SuyK>O!`wU@17bFP|Cf=|RTDpEIkKSzBi z9blg)90#61YAu`4myvW8L~Kym5<-w&bvMUvEnMO;Gxhv~-l zJioi`g^62RzWJD0^z3+syCevKE%C9h-j|-qhbP$Mc83DnzEAOWTp*&1gJ)8F``I%3Fqw+}`{>#kZNi z9zt^topZ#25t8gh6vN>hj%SlAbj5n&*Q@5Vt6qjwQMpYfB}gIf=VN<$-WWK{e(?Ju z3n?kmCB-)^m2{98LDjUsPX*rp;Y0Ii$)OCbA+d6@Zw5cDPJ5fZnB-e3+I431oaE4cZ^t3x+ry3n@T9r zNJ%T5_s>1uYFM#0%NSmd;n;^>6y;_ZFOHdHHa|YZZvN9t7WNMrg;R`+*2C}ieK(T* z6q9NaRdWW;@`;mxu|btP+_2Sm>gTVGPcgrEW|)0xaEyiR;`pKCz*CdhmS_4bpFBIN zzLWPk-eEjDmzKwDUErAKX5U#p>r_tno=^4=MAe74r<$7vJ#QQ34I3>HDM1Q(4uTpZ zS^ttdJ?lS6G70;*;W^zs55$4Exu^DR_1v)%?LW&^u+hR1pPq|#%+rknt52ObSJdyV zSvz_-)GWvG)%ieF!Bggoi+gK2M?GV|F^mlfqu6^_a(TwQlVl?8$kX!VSw1?MyLI>> zJ}cUBbyOhl!f(uvMi0{VIgt{iP+uccZ`Z`~_tlaenPW|VD<$K?Udz~@=sDC}e^nRX zfE_h)rthy^;-)Uo-17E1PkU={VBCs{+N~7I_d2_$xGRHull)d=!Zvf;=L0-rKNz6B zk&AE3>NqNO&*kY;Vy`)8ML&iwxM0TCHQK8SkG3dh-mjB`U7hz5!(Z@43~Y(NC;VT) z?A3<9?*h$Bj-SSk9MI%v)ca^r(JdK>mKi)?ZkCwfhLR>#G#=pXtXm z2&|>s?w*f}nU5E|YNmbCL*u+!%V|!(dtyXJDHulaN8ezDmP|5hjQGODw^y-U#K&*< zUv9-dV2{}=3xA`X9Jn)ainFIOjRuB|rwDl5UcHXz^|S(JdY1_dDZw1iI#nO#ZRF{m z=e!v+pf~$4SBfLglpyr}M$;UXopQ|1N8;Y7zRr`U_#_PiaUe855BJwo?6r3*+C|5H zVIu9gE2r^;m%d1??*TUe$0=zWC!$k_P=2;xmjBDGk}2Av-;1cTfg_S>e}u6D!Z+uWgD9 z0y>UC3ktE}J$|>27kr9mznJ2jY;L&sb`b~m6(057`p+y`y|Q_BVOQ&+UIFYF5HWI7gl^MT;?vFULK`-dlIoGWY1a z;m8N-iN9%)*D@2jC0RR0=$-+kpmXk@92@xR``68qO~NEO-`UoEaR z&urIog=b#9;hIlGKZvge8^)&k?abV7obDHZw_#L1a>E>T^K%xug7}Aaq z*b;vg@!kUS!HG&+x3|%)9p$4#Ol|gaoOQ1~yR@;mHb#v*oZ@WlB(g~MJdon-@QPg^ zeIA7~7MdaLc6W|>{yUh3@vOjQN?Tt)^(@QLq6Cj#Rl7IWq&k#4n0A_U9Dz^X3v?KE z-u(ASFU{}bD5^t9{n6|TsiLx+J0XRJQE{cn=k)#7A3YQy%R6cqE$b2T$w#9C9cPYW z<%Uc)^BqfZWVSctY1I8`{KZPSs`g3q@vQ#QJXY(fKYOq(>f6nhVA<{pwR;?~#U z=B!I~e9s(VdM}k5hY?6xJ!n$Q2#na z-GTY6Hf#i&G;y+tnnDO{iJxJ}Ih1+Y=d`}x_<_0V4?- zTj%57HBs&etwY?L_JsA~r#?3Kol0!nyi`Z-(PA&ssUppZKR?48d3a+;za@mb87LFv zTz#j}03lSZ*dW$Y-^ogFZvyRAK^V6BPB;)k)rt*bE%lvnykSjXwN~eG&y6S>6}BtA zgl<=vg5v-98Omha_fwp+=iCgTHp-A^ff|`%-5T{OyHLH2sVFh*ub-aoTzjTZ=14(5&trxG_3c9+ik&#T=_|{$PAPBwiZ#m)pC?$! ziSexV+)C_NFYXPB2(OP8qgzRjEe%-db$Gy+x$)D6|Ft#?Hu}a zSJf_^w0gF_XRfaq&#*1z39ZL43hepSD)7lY^N-z>RYh@&5ZDr5r#@IRFy{7s^YMMJ zX#E^H$39P%t2}jx-|ns1&7kZsL0P5~DO8@+hGu#hynp;(5VDqp5c#iSV=kM?xjqV% zZ`;$I4@xV+SOjHg7&ZR;b?cr-W_uR5;wQ;rw$)~Dnp5fnaSOZszBFgmI6A{be;e!G zGt&XheOTPztohZc6pQE2ge0=9;P5gC?DIU!=3C9J$IUzD%2RqD#D0f9M!S~^_fIpzK8p77W;-LC zeJ|4dlPnQE9QIUMCJ5O-#L0oa<;Giie{9RFi3J&YGW4}NRmYxvoUQ-mY3tp+Ue@yf zUz^O#D7N9+Oy8b(k@<^O4Wv!;m#rs0V@+xu#Tr{LXkPSqq3KTOh{(M&fu->ovV3_l zwq(eBz0f08g{S&yIIvIDd1|IlW(P8iowq&KXKQn@4&T1O^LVMYa6Lfhqid5y(>UHE z@YrW#8Tut`7xD2IB-2|2oP52_UlYb?IIuq=KErt7_IY#PjR%2ljeBZ75#^@KDsz?7 zqE$|ecW9?U=I+wR+W!*zv3Z@QTW`ke(Gsm+RcR(NQesPnQRln2t(T{lWlNu840V9= z@l~4cyn0T&ys3F=Tlrc&UxxD3WQpzD3}B0{yla`BBok>zN{~W+i*9pQHooCtD{8sk zqp%n05HK2ORLPMctF5Lfh4G99{f+;6TSjbLmR{+9vp2v@!I- zd@oO|Sz5GaiL|4hbsX=mT4$a8-p6u(Sdd}A!`KIPqj^#HRjVamQk;;XNr9i?cJ|B= z-*pJo6xKq`Y7p!mU*(!xTAao#@{=k{Un0EEAy(7gRn*G}7Jrdt^1HGnF@8J@0&B^# zz~NnApG|mKoM*sxWtnP83Iz^?kiSIMLTJgk-yJy-0x6MYfkVJN9D-`emIOrRj-ne= ztNy_w{qXEp>@LbaZy3GO*IO6Ld04A`B{VOJRua)`Vb?PIol4xnq`ATN>t9>OkizWy zHjH6gC%&ETG+QD(HF^v^*GuGFR_1ykp5%_HlrH`2cjo|f>xlG0^8q@YOJ%fB{*L?j zDb}zL_nL?Ly~dD|5p$xoXLl zuwBGw7!$tFWp6s#p5?haMbjX1o)$mdQK!NlufN~w6MB`E`F)BuOT}6Uty6_39q_DL zc4sCC(yyJ^KnPsL({UiTC|ZA8cJRA1oJ|vi?V>H{I50cD z$~~W9`@GSibMMGlRKfUdlsnc!XjPv$$GBb2UdVG|46i}BvkAH-M70ol$5Ou|zZ=H< z=fAZMd{L3T`+Ply9HL**H8|s!O7@7gUUqm`YfVXkZv z)xKFHPbeqfk2-hYnk#AgF0I5Lwk}CKooGYLklzI#h(oqZZApAomfr~x&IiCg=@3mp@6}Fkbn41Y1|;Z7~i$naH{o zygpEyL1Ofx&nB9GUY(6D{)OkQ9Pu_{SNcH9Cu@IwNi}xA`xejKJvzkkwv{sXmz5U3{| zLh?Z}!Ld*BktwS%kYAG`Ld*es<7YpHo(Pnl_O$s`+E`74TW?Hv_C1l^>YzX&JcAm~ zy+9SeBci>*6DEqws#x@D z4;EYEufAE`tVvM=&Hg8bvRUuXaEjcH64`TrbF^tmli*ynl>t2AJ3q=wB4vfOu&f{i zA4$hm#+mrdw!1R`t%8!260Un`y*d3`F5AtV|{On|HnF=o#9)&-88kL!1`EwJgcGOO^J514d_PV>$%dE{<2(K?rZHe(`EADk+I5oeKz*i7F#B zL3F-<$TVlvw?6%_H$!f5RZZvozrTL7dc_oB#V_hnUx`68oaX(-Di_8RbB{d)+8Q zwu{=-ag?vl*yjDqt?P42@|${Umjvae%S!O>cQvE1d%+uIKyOwW6cEaDVl8h3#HzW~ z*q0r)1oj_^*Z4piL!NYfphP2MA8E%r1nL7Juq7R$X89@3n)9wV(Bdm>Nr#|zr60sd z5ApH6?XzXs?cbBECBJwX>HxbK0xf74m`n392C9QuuTvo|@$Omcl0}bqJm*Bn%!-NXit~vj{Z9ti_HLe-*C#QIiswhoaH4aFJ#&n;Bo6wQG6IPi1dXY3+@&&o zmw9IRdg6tyfiDi1^zIqRj}RqYoaFqU1GcUr|McGd`WezHu6OcimgU^>9+R z#JMb!o~0B-kNT(K&w*kce~arlWTF=7BZWFuu81=uCTUA#SIthz7xKKCjfwg++E595 zt%N2^L}&>?|N8k&lpLW#1xbn-_MM42Le?qqhJunphTF1)@`KznH0bOgvQmYV=vIQe z8EPytY|KchzSB4e8Tk3lTlMmZ%&kxBdpcGB>+J!8z;_7vse6^PU&A455d`9sa-x6T ztXvLc1?&24k3SutcB1#BdO|9w(L{YHUP+5K#JxbB#r<=uL ziQ+kJ>0N~vJp`{uNY2TB$Z}QU8h=Z1l>^yiqW|N*xd%q$fIyv;S7P zAis$O5b~GES_o|zJsvG?Z~k|M89M0YIex{9u=Lha&3nz%!*1|H$O=*LyMA?!T`d#EZCIUuy2Go=+^OpFH2&Gwx zLqKSD1-0aNf|d~UFVCw6@Jq^C~{D#wGn?bF(=QozX( zTECjcDE+M*etUU!J+`M~V;2YBmRnjj$(gf`&Vd+wgcJ7_M_F})Ja^mtpRAbPIqZ4U zybQ4;4#Z8Ib6)Pou*3Xz3ePR#4B=U_NQ&1wj?2t5;tk%bxzy>{C3gb#O~bfT_b2Pw z4ms?a8@!s8AP&UM5lm^x{`&P({u&(L;}D(wG; zvFFhDp8WxFYot&0Y0j#b#XS#Ijt$~H4IM)LqSr!b{ai-&v}065kxZHX1I)f9#rx-~ zErVx@k+-m8gX%j$)cs|>RXMJR{R}^WjlBr{3VJ2Jf8N7yT}&!(Z>j3lJT*e#$iQRj zrzTl-8kM)Br+T$093c?5VI11L-umaMBKFo5I#ozXgtce0V?sR&BLG>>>aWsGu@gtX zpuc)J1pa~$I5J415)qk#}htv6Sg%ddMG_Gk1G7=0KK)f^a0~sAzswzOfnlY&7fHUi2L5QQh{Zxhrg; zf4o7oX?}k5-|gnzV)xAP8LjL?1(Td19@3iEUGXT;Qe@Pao&ol_-OZ5Io{K`Lm*Amt&LnD-5(N`d!y8M@?#kl zU$UU~70;8=dCd;@$1(in>0v^fBp=kQVa(cI*8X|jWb?ll;=^+siU-T|&J$YRLgaB$ z=UKemuIyTs?dWHkn!CEkGpx0%f1c2epu2hwCtwId{K+1rcG;10TszYtuon8@{{tdo z&x>?UBLG6{IIu0OC4Gz-KeF>aBvGnG>&aA0hxq7fIlD&sWV3c}HG?GSqD0j>Adr&1Xeh_eXkz5?_ViBXI~A(W7K7q6#UI-w9gcpnv@gxrP1+C!iGP0z&QG;BJQ3 zPMgek{`lco2?*p6Yau?WDgVT3t@KfmzN>vfG0Whuc|2ClKK|Jm&v$d;8A|ld z;yj^>JdYP?6Y=qUuid#z__TpNY~%j)9k4P%mLbO_d14R!6;bAANQty7szny6sA|=y znmuyz8Bfy*I#oysN`$`%9Uo&?O)TYker`NN+WV{$d#PFZcu*_Ko;Le{IW8?eyqiHI zJ@yZb4EQ^7`C{xkpOy5C-X71eUDPI0$RmIX1MF(Yc9_IF`VtxMpeGWm9|$39(JvC3 z%JMrwQ_J)xywCiE8BVD(BJzs)dwRHhsGumzey$+!m+T;f1~CFqGQkKSHu&%efOMOg zlUy6s=)3eQE=6H(&>Cc!Xs5EY>8ud4Ev$vmhS93@B(q@glI-8IEwxdt&_K$UA;wo6 z;RuKP^V{Ggtc&fu0!ziqBcJ-s`*6XP>w!SmflWyxSQL1*cZPL zC$RAxGV&q6r$2U%dl7_?wdm9&){@_|oHk_qtqf=OckZ3@;9qZ~@SIMfT;b=9PG+Y3 zAiwkT+;}^&ZXK5oNjuRi%fttcM7pfzTuIHmOD5L$GBdtw_;~J}sfFxX)izlV%Ehy5 z#d3!7jS_Z+xcGla(W8oVNp*}@g_l6weBb%OO;5a2#~v}XiI$%lvlC+0 zLc{2pyO8}&`At^bINjQjLY=Boh3{JppZmqSm`~>e*Fupe9)*wka_frMYuWd2nf#^D z6lZ@U(m|{yA6h$G87sc)E5f)UB+H}^xwb@QeitCVlc)BO$L%NkwXjj=*e>dy$D&;d zn@b1ZvS!A;qGfeNSyBG}RpX3=As)U4V!XGdsOedE&3b%zcMSq-QTfPdBcaL(+GBxu zSFU}va=VD3w(4}W=vhy9I$#GUb`n8(n_d|{Ap|Y@XmdPRtupG11wR4 zz*^Fd2_MgaeR+k|{#*(B&S2(_=UtlI_cc3JF(}6N`@Vi#%k!0~>2Ah~U2Q9J4VLI! z)STbrx;491ckZc`ZpU0q@f8|Knf>E~m=n}6zUv!rzx7QF$HwzhXYNfP=j2y(s@7Nd z+4J3xW!cL7ZM4xj@wI8;I2uQ4zT(yCXODHDEK4lV#*XHB2YZ(ja{#P`&_s*;^J{vR zUX(niZi%u!MHyI&%2(rPUK0ti`dpHy;F@Y|)mWcK6|RdTh1!fo>mMre=9Zs1dl4Gk zmisHuga;E{>B>yE^u~lNQ>I(KKj>zH7H{w%g#0D47D6k&iE~_G!C17>!nWf z(dyUc*3E-D1pa~$2bU+i5Lsu!gq=>YdGcLwy`8*|CBKusg>ksjMY(6EO$|r5*U~D7 zoXg5GLi72@ygSyU-Y>B7b&^b#L*KAB3{CQ_-<8YF562oz!FC z@uiYX`~|arV@t$`SnZ+`@qu$^D$6w)+5fp+jjn7jx!KG-7!@D(?G$axIGW;Xxfdqx zl2O~TA5xqkZ?d68<#)RIW*E6EjI}O(Scgq`s~)S+bt=ygE6%ZFMr-6rV352>J|yju zCp-_UL&y~<(#OgTQ^KcaWlKVXdCpd}AGsNC^8Z}UrIipLbSILepz|RqB5cSlmE|}n zzmvUDJ*5w97i-DyV#ac|a}(>`XREVs@^~~^p?tnfoXTGr%jLe*Wf(ISE#JI+ZU=MY zys-@X2gNA&_`3i}L0`CcQBO0BsG^nagMlVyXnee;TjW+!C1zeVYF4p2zxtDTsZVc> zs*1@|eaF{}+|hc@{_Hp>4kJ02awA#MpYRN`r%ZL$^bu>*t6mo63wQbH#vbZB&!Io} z;^rAUo;8c_8p|*WL(Wkm0)xbHHBPkkOe4Kr#Ag`w8>MdkFS@;rl7(M~mX^ zt@WomYr93cQ88)_r7rbB|BA>`S_4Hj;;u}FHm*DzLamtVcPMlS$t_tTLg<{|e^8Xw zD?Qun5on?D(XHZC=LHs(kpE_UFs9yAr%8Qbp@xAFs1K}#(AvtjEmxf>u9Z;+mGwAr zPg)svx%Eu5$4IY672-fiOU^})!V&WL+hVk=mp5{(U3966UD%hv4*mPB2gjwAZzcI; z4iKJ6$0u)=^Akcn2b;%hK4qqy9j;j-a*I~UBmK!^tQCbDTbu3TR4N%fjy7aHUSEM3+eHTcFAPbi_OUe3VSy{f9^Kt5pp;pGVy4FYg zhBK5RN*86QL!d;l7DDq^7k1{gQ_H=`4sGA+!Ds??j&d`MN$U)I%gGk3ZNg3ye?c#y zdj{BJ(X3i=o1yiB>~&7MMV-sC(7BSYU%OG2v$m9Oq-Q7?Bj)By&c(ZPHK7AR36-f2 zN*rR&`F}x>zoJ^m6VGRb@^dcX!O!54~?Fy+v zYIP0bnaws&ewqYb{X3ij&APo${W0BOglmfyh{nKzEDdC_xd`6Pz1A>z|<6e+qYP^8E!=7KU@ zgFqEpVp@)=zQ5iOSrPcEC4sxN;J-G&bv0AA$Ft+WhiM9(GvDr z?5P+zNeDrmoLiDDAs?NpBs-oz%?W)@2+c$S-hPWb(>-h4!7}XF$)}mjqmi#Wp zC`A{~)&sYl)V%{vi2t?7`AkuGyIo)XpJm?c)BBjswmiYr9A&QIv>wo?3&zS~?CTEk9H95B(f6 zo=?_xs%^F7mSM}iX413TeI;4VzA}R4tuM0m;HW0srT!tm3%`5o`uxDJ_v5Uue;aGl zZ1mc@Viys|sAfH;`9?f1zVoP0?S^Yq$(?bc3Mtg*oRV|Br>gmfTZ zcB{P1bF^*9AEMb^`+Ye>&)mx6mUUUN&-&ZdZ|-tu!brO;Q}2>|h(7o*2&^T`q7R-q z)5Y#&3 ztkU&aE(BViq=YDxWkHqo*9dmM!rNB6$)nQ|LfR|!c?m(#+Wxt=+lR8!tpxVA!#W^( zu@*vSzjsI6%34?!oGV+@@0egLqShQDPa7%@y+J7j>J#Oj%M+@wS!8!m7|7Z?ug@LI zcPrYpaJqj!VTmX==O)I$C15ZD&hLTDYLVzoSB9Ek7JA$dY2+6f!u8Q)7(X6=?W zv+j2jtLJOC=18c#!58kS($CB2jPIXcO=LNjiQ8v*qDhtcix_ZsjlX;{y)wJD;90Bx zVP<1LKuJsK3fujwcxCq0r6$(gQSllC){;F=t8`%3`rJww-NL+lFt-bVwGdi|Kt7OjzPR;4wt&{yBU!X4?np~9$=Iu`ZnT_nLH&`I_I^b6LK-zDeNI{o== z^ylbBky=sH1>pa~wx}$39praGRi(1k?WceI&GY%^UUwBoO0+A#&5>?q^{BFS7Z+b6 zo9f)T{~td`rdtVWmcKp}Uz<%!G~I{{bt^N{UL9XCB6}-B$XcXZ2~B1BouGB9B!{R2 zDr2A5A&^^y)*(K)Uxb~zBhE8O4v7+3&UdVeMxlFHbiQ^O%dxM{LhzgzhQcO`HH(EIsUU83xdd+j%KZPD*2;@GD{MEYI13QY2meTB->2a|Ml ze}(-{&JCp0Gd)A2W>$e03!0vKWBA*EY7Gh3OBSq8^38sn&ePN1A3y$Pt%JPvH0H)h&Ly2Pba#$7&X17*E6wveu`)ZT6TwNW+2c>N?-sr?P$d zoHXf_lx&Cl&}kB<;AuBF~fwJ~n+) zHL$1n%buzOCo!}JTuDRg;kU^T?6P_#Ji<~IF*noHhN0s8KXQvwFpLf}D%;&kHZq@K z@eEgGkrJd(SR=Q1MkU#w7ylXK`b62c5g&iExJNnLOq*=>KgDmX!@4o9C(HXdg7Z;- zl(m=an`|aNrEVP3FGv-(#P`)=^4cZyRbV%UmDGF*u9%}=F^s=&?6Nl0eS{TTDr7~p z6CX%B@h4@--wX@hwGNE_%}nag7`C-*#uT5-7OC6rxs5UQYwJpRN^(BX*UEiW;z{mP z3C@Llg>*3%!3f}HUlF6E#nZeNZ#$uUP@?jC=ACM|Q6+29FIY={7gXUHNUVkZLw=Wh z2p)(ZajH;^OH|%9L!76V-{l!E9fI^hzhEtdrj{QLfjFoo8oS(AFc^OY!=AhHpLFcC z*i&(|kfQ-=lc=IUK^f7Dd`L?0yg0uL@N6~PfBB53XJ6gJ zp>%Z|IeS+yzq*~1CB50j-m@&3zbGG-5L1swtPs8GR)UcXawyA@QH|h2{GV)s$nXIUY{opU|vdpHE1xg#I7@OaK_ZWdR5t(slq=H<9ITO?@S2R+V1 zacKAM@a7BJg2sn^2yW!zZE}K;H!3BB=pX3S$c||b>d>>kpl-VohNO#cS(a%&)tQ~s zolQo(0SXYd8fDUhcdY2ph~l(Agc$_VgQ`BqVPmb9BcnqL$NVpdYSa2TBCEJ~eMr7U zq`#@Bu=uriiLe&UiY2sRtQoQ)&~Q&DtKnN?Xm8t@`%_dxqqKN!X4-MIklTi#9K3tx(Od(_)Qo@ma zP@Mh9UgrV|XVqwx=uu_sBHHI3Gc)gpo+(1j)gtYRbh~QNc0LxR2YdFP>U5h;`{(KK z>IOl)w)<;q?Uus!@$!5f4(@YOp0k!W$=XH!GkLeueM2F98xY3~IU6MP&Ah3{=kdQboo8JuQp9f9uqEG#Q8yTXW4o+tU;A8ZS8$dNNE z=Xe)DdQ=+8fOAfj`V+5=Nexo1B3(XlwW&r4;^XX#RdR`$~tio>nnB4%9Q^F3t{O@kP&g<+pSkHKG$@Kv_kt!ipcYY`9kV>ZHhk8};6VHE0K*)B4= zso9|(t|6yu_KJ3_%_hRPmr1(lCDh!2^l{+%qt>zsecjb4dJ%dRe;1j0kt&NUg0goh zZO~}I?JA-7B3i9+<&)5{H0=Tiee{bH`qv>&G&$nPU#KkJqDv3*wHX6V@N|P1JN0;s!8_x%t zC2z5gju^mD&xlXQ0erarL(nV6K_P_=E zs9>iB6Ex0|TO1P~b~01v@9 zVEi`r2^_<*B~_nrpvOT7Y)OZ}F$yU`XbB&77~!L=usshL36#rMmbpZ%CSOi<{z}Q=ewTdEzkau; z_MLNuY{}h~o9+DLmKDB;UJIv+v%WDRsnv1NoLsh>y{rhwjVlS}ofDPV?L7QG4y>eL zyo=sW!@=_!$n(vp15uWe)**;0NiRZ^Uy(1A5QHARX3hsSDUhrLjttks=@0@(20)0i z#GMs~`~}-pWu*_liw$X4WyB$}7Q^F-cV4mAc?_3x>IeC5<#hXjbt=i3 z!1OZp6@IU%*DH3O>4u%Z?TpRYK~OEszbxpNyepZA(``Zu!rNt9Vo=ugN9x1PpN9~c zwh)FONR*YA-)alnF+fLn>MU6VWxHTkVH{aJ+(U3gXwb$JA~V+VJDe|y^*ubD;?nPO zO{MH*CG?N75^|CdXnnGlYDrNQ$%kQptXyv=q(JS8KLLTBL6voAs;{V0wRA74zGouH z{KwC8a)h;}`CSF!4NJ+z#XwVVyTYrrWEjhiSFz&WPPd-$_O~nUnC6>2!bte^Z=aTv z;h`sl*sNp8&bBrp<6h{WY0kniqCAjiim5w6lqDyT(#=3hz+#j>1Rr-MrZ_dni?*H~ zrpnpj5D-We){k6WrS`s-1%qb=;KC9%KMx+aXQfA=vHe`ivfIXN!?_O88Xec zf0U7sd?`MNGL)PPs?d`uZ3=u6w+=Cj=XyCkR&ZYDsZ?j*Oi`wJv|NqWApRd?UjnC7 z_5Xhvdz3A*Z;8m3kmb4OnfoAn5+!>`63M*+VXfSHt)>d!_*4ZAJ(*N7 zw@g&JseyMp-l+Pl+Ek-)E_ZdHA85< zV_Qg}Z*P>>S^qQyzadR=nP#jAZCHtCue@&P*V=4ATUO{yATV)2P1*CQc1GSP{DK^9 zfvKXuNd^uY6LmzcSMId_<5qFJ$eZ6FRS3;E^r(g_De-d=-V2FAc-}F0`D})9(6U$~-E`{-iQ^KUJvPUv*W49>i@{d*9r>mSgupL&5Ssa*zd7fF z*}Hv4jH0Nj(ZIg?YS6y2ev-G($uhwedWyp7n;*)&pl-FQ63u-1{?EhzK0VVI4KOy$ zlPa%A@wiQ^AH06$%kX5}80FvSY0e;MWn$EtEH%fChv@QAx|bt9z87KdGG&E5%BRHi zsA|=@#m|AkZ$|7x10EOX)zHGrzLV-Ko@07Atq+92T9n;^&sm#Poj8! z`-W|Yhjz1zxKj-rXuD|BCLgFl)S4NW&6WTY~l>>`V3Cdm|m?4Ql-rCEDrZxz2}6t@!)EY*aW@P#7$_?RROM1Gi zCQK3N;d*S=JC*buB<^Oav$aQ?x>?g3xX(M2<dRuva`LOKA%dQ z(@%5H@*&;kf2&Zo&V3o`y82&#HlgLdIYK>{%hbDcITB$g4dK^{c(Y%w$QK&*V<__K&J^eT6)V)>y>=cBUxOrFKFL94-hHJquQ^!O z8_v6d#+@dMg1sKI=|-k?OQ;We`KY2jR_Jo0m(rrFP3D9CCV4CI+AjsAvWjdEr{hx1 zQ&9Df?A&dFU>FDGxl);}VmSCY;ih{0(`(4=`_#^2%nzckq}p1tR3Z-9w^Nz@IX@>~ zX<2x9rYG3<&Il2yI!3kKGn{v&_ z245cqkz+dBe4z2Tt$bZBJ`8LZB3Jw4|}bNwPw1=Tkp_YNb9o@ZiiuLH^ub zwOsWBwJw&6Z`b2_+2@+tyR8A@-j(NV#DRYBRPFR=#w&V+Q+aWA54PXw(!_4{_5^|7 z+F|CNSwAOxv5)pXM1lS#q31N#LRF$L_NWnsWB*Y5!^L;n?i{-SEz3q~JAxm9YE z9&Mn$eb3=VjhPqOnBI4$In~wZ?8C3C{;x;p821vrKGM#T=ACNOuGso~8$*v8QFi73 zk|eejkK_CmK2?kmIM2kr352HlCRN3byrwwRGdk_<^xCVYmb~c8Q|r6ds9WTux*f%_ zTjzQ@h`tz#k~Ij5&hNPCpR3vUm?!@AAOOV?C|{t zC{dKOUq2p)+QTuh0R-OGQ9P_uMbdf5g*0P#5Obu90by?}x_R6=XJ7v$4 z+=CI+feE3h($+{i*D}!&8JGR%8YwZzi?hrx17dM`J`%&4pJoQz2f?1jy@RE2XV;O zfZX~XLsRAJ!+(=AvSg`~giHvG$hel@lEy($^h+`#7U0(CkGih@SI5+BuNcE&Y-d1t zXYRDD%zkH56(7AK?aUL$5;}VIv6yQaz=yY9#?XF!;+$$B4lX0K2|@I7Eh=-n@esPl z5^Ow#mV%zKFm%qHQI1%A`S`JqK8L($+DP$f*&R0Fz}z%`1{!_Wv(9)E-#@5bjYHcN zQ{q2|NXE0@aYb~Nn<+op5yZjI^;hvkjgqX_bFoMHW%O5sW7BiD$|p;;^>9!IUH&G9 zvJGebN%J#H`en)|bJK}R@`iG=-2w}O>U;_3-U+I+`96i0s}|0xU$|fvQl(llbZ%0D z6k1jb=a4(`jep%qz1qs$scP)42XHT-w)tnqqP}J5Z;aS$$7*|=`(s7~yeLu_iI@=B zu3t8x3BvabREzD(FYD-4Q>Ag_4Z*d1eDPL-`pC^n$a*}gJPV-`wZ&eP%Gtfk>zn#H z)nc2Xl8+ssb(x{nUD!VycJHrp+3i%htug0BZPFO*YjEmc6J)OoIuje(584%%wOt*$ z_Y2p)_!j$cZ#FX$tVDvSV(TE0#D5ZW{N^y-spdJ%h3REv|2(IPJFsN|g%qu>! z9#zZAj~P&kTvk$!cGmFA*^y z&>I*KJ|9}TxpA(e@N5s~aZXebg@nU|h_^oGgP}bLuP0Io`9MniGLLG%)vhbuB8j5q zT^SDT-V=1@U8%9MI@#|$@D4qvZvpgAOBZl>=NYs_^|^3e4#w!w5IFnwqrRX4t#(Y_ zUKO}u(A(j;U1o|Iv*tT(_tQ*K?caZr;q*+<<-woLbCRoDA!T!!3ge!i!ngPOBhWo* zx{<91v(aF7Aj|q{U0ZiW$A1HzLsP`jEwi0w*Yby2Zt4)e7?|S}&#$F`(AkV<>xANS z;*d_@a+%Jj`uv^rIrsXx&#k_1K+8wpDnMmCRjl=n5V_+3>HY_fps`kCSz{LN3!l03 zj=+SJnMSsr)7|GdCpIK_Qb38QEON_#54;|DJiKn_4AJ1u1rBneh1P^Q6aJ-%7p;rG?M8E0+1x6SE8rB2}h7wl*GaH(YS5+xF)PqUWjk z&RVsDMH(EnX1-Hvn-x<1BlG!(<~xfAvz2uCtCE=WbTjqe2R71+5ZDs)q4fdY0Aduq z`oY@F8^Y%tAxMMe$5*o({%|F{`-iE9wId}cb;dz|lZ;5l$6-b_1_aosjx4lyj<*sY zCP|deN_ED}NZ_yNJa0f>)D^iS)hX`i=YD;n>OhORPLCBiA+ROOD$wy$`|wi}-I2uy zi{~pWa9TcNh2DGVLb%ZE1? zZ*74`8FOVK9)d?m3w&2HCTIXnexml&+H}A1F#<{6Y!jZJ4q$qf0y}SCgp!)KDfphSC z%exN_dldFG;zLW8N+c7e9p&SfwLVM;o^4YtTw&4rAc*X|2A&4}7}t_T&ZRh~8`I6S zmh_*~>PPl^i3j0F!j09rKE7otK0?Nr+J`XP^`8?C|EG6&bx+l+5lp*3yYnrP;F7$k zPs>X0zU2nZ7~-wnv{$ra4bk)8I^v54iGu8QOci}|uQTXbr$_IC-d7@BT4cnYn>esm zlk^21gqo*EC~pHp6NI)xD)}~Qa_&<<2;j>;jlz?n4D3LW@ssf+fy{@eM^J9VtkyJOd8_Yam8$^@lQ^~zk3 z72LZ7_$_sqDuMju2z5Sp~Wza)s&^h$x2j~O#^ZTg$!@xioX{7K%9p)IRukIG_}TE&_F zP<4S)M5Fl;XFu!iyY{dV z!yzR|p}H4&;yt4K^r|wFxHoX+r}@tQ8s2~dE)TS+-X0kBR$rQ^475x1eNzZIUrt5DlNOd zvB}1^&@vFWW!Zi91$xMto=>E6607@?XJ{Ou6BomV#g{GBqqgnrDtcD@)1CH(i39Bw z@mbcI8HK~OzSSp}{dO(y%nak8Qv?SGYka=rGt2tVfC8F+QX;v{X z@!8kH*RIbL7@uPlj?uYg4Le=M{^*a|;`;ZtcUt6~!rCXI6bh8fa27jE)k}vqWe&=$ zCkC#wy>l{+vb`wM?(;{Z!O4%`4h+xO6rNkgoO9wl6RBm+wI`+X)O5cu`C9V3TrP1> zhF7L|#j?&8+-NWD^|X82$3qRy(b{v1cL|ruMiT2$!ASfGA-3b#*ZrQA@E83G+T}9E zyJq%_g)REa2frkHu`K+$AHV45GC`{h{3lAvANsDfk1R+O+%Dlzs|L}Z=IZ%*=3P3Q z0JUma)sK~w0p+u|W~fn3)#7yq6B;4nJvG}Bc{siufoH{d(}q9RG6Y-VCm)|Pe5IyL z|C=Nl^-qbq*YoAbgi!3klxXXLIxB(+p=Li(p8ez|H!Uk4CP_@1nG!vpsoTPKSqeEJ zuw8`yZwSt8g0+x8pC+;^l4$uU1+tWl%H22Yi|&jR@ya-FHzCk|ND7oYnrJ60;cP1e zVaAE1HPQj9C}9eT zbG9DKLI|`ztVMhf=Xfc*m=IK6S+#UI4`5iw5aQtvjEO440(&Hfdc~7by=TuVks;?8;dGQXHvvm{V z-lf*tlKY4aSMp2yT`q#lC|4S=R5P?-Em=Yvxf# zp0j>oD@0o3vht|1$)1JYd11XqHoM3-?)YITHz8BGo^$(N|op zk|2BhRH7y6ATWu~_?eca#7nQPb-!wvD6n0Gz?LlQfv5Y5+N%=et9^TIMGYeDtU=<* z^Ch0FvhRJ3Ns%PVeTC#kenpQsYK)3O&>Q;FJ9|YqRtup`4dNTr8d?wWPCxBQ@f$@x zXGvLT@%*K(&k$UTPO)MweooMqb$DJ&w`PS;+?MAb5yq`w@ExRi?sZIBS@)$v1?0Q8 z_ZIjDahRt+Rn{TFS%*+lT&D2@tw-f-uh-E2^MiKwz=tQvm5oxPv-Tx~Y8_3CAcdIi zQGG2d&$-RopSKq_OB8#XYo9^7Wnbd?6~mY8yKv5Zz1MlWT+N&i{qEJ4kIdVc;k(IDl^UB$tPg`R9N^gZXywTgWI!!V1S>m^- zC=tu5@Kc&Q?9mJEimx6N_y!@6TFY8DrMOFj34ZecJ(wMkaL7q`NGS8?*>9{xcYe0!{JDVQH?s|vt^L`P`P}v@n^jZyFyA# z90%U77zi{!<942)agfK+wv-mVv^Kj8BWkRFs2;D@nZR38zvHow%j8j2ukEzauHJQ- zU817N2iYr+KK*XWhz`4r;}Y<@6pMJCA^Tjom!mU#y(E^e)3R>w@V$NKAKStoj2Ni)KYFXRp7$Z&PB_Si$NO`7PCj3sBP;gcSi8y>JKeXM4^`i|r$@KX z)AAwOm-fzERwOBN7a4b7DT8wNU-W*oiW#<)vKv47t@}s4cv<=SK-`w~?oLZBti4! z*C#8%H$H{INVl4WvIf6P_r%5HK&!^l0DFOn1IG!3z?Mu1lu2=?U{=qNrkzf-?k(rd zeIh0V(vHx1LyYOKZ(bt~kz2G%69@8veUKv@Js%8SJ7d@VbX1#($}^xhK>1Mi8=k#d z*2=9>_h6f%@|N>KLmw@EDwwsdN#QK=2B=we67Z4F>|a+o?%aMM(pxjjM&ldd! zuVt_ll~uaP6F=9|o&Nejxw`H@-fA+RrlEZmE|WGpJX|Pi)(E!U8Xpamubuwe9rnf1 zEqIR}LlCqHp?TLa9D8J{#bx%|9G$bQazfC!#I?9gEqUuc6kmCs0p*VUgUcil%X+?? zE#8@2--BQqrM9?CoU?b;I1mEg{?H?Lf=~Z zLFVJXA+Q$uN*@Dpj_u-zjL;?o+AjJMwq4z8eV8O8TEbcg?bj!&kY1z&y*5FZGkTOR zmB~t2x>Qy-9MvCZ@0hjI-rs7dz<7}2oxlI^Es@7|l?6%+mj5og;CUak61FkAIf=^} zhtElp7xj@hh^K`73RCFUC(hYQ2m))Fd}tWWJwkAqECZp{-rarI-D821Zi5*@Fug>3 zkuHU@s(e$(8*#9&m{g&BP;TU@<9jVZCV6WB{01S=dW;#pCo7ttXRio)^K-?A7oGD; zAycI}M?R2tey;UVNUgAZxa{g?USVM?88f4B=$*p(vkv?fipfex;Tnr6U6d%*GNnrp z>Xe?KQ+m8Es-)nue5j0T@0PVMR7&=HYOQ@+a}xq<@#-)^$2j*qHMWcROfQ;n<7Id1 z<0ssg$0v#xUoVt(K;8IFw6lCj|7g>e)uX9iFDZ6Z&sa!S1Q9PQ+AGwux;FP8_qD?( z-S#a^9B5aF&*X#KB~5Xe^g(t^xDRYr{jm5W9DDB=Uln)8&wbv=FmbSNm8bCwU=F>|gVx;C<9$NqYb zgF5Fj&1+4n9-Z`$Ywthl_Eh)w;Yh|1q-WDgUKvwbItyQOFFlfIoOPyKd*&CSrCm%a<< zw@eL|e=a$ioP7=zwW(IWxXhXagYue2bKA`?opebFCu^aBkC^gVd?`ZVQ3BU;-jnV6Q8`{ z)>Cr>vviIsMpH{NjX`Esa0DI!(KpDA5#i)4Zl z<>wm54JCHlFFHkJ@zkKYt=X5);`}Mm+HxtNsWqp_2SoFQMg*=t?V}NfzRkD`NswPM4Y`pH!ISK!^O^a~MZ6vZz){>pa zY_zc!LN95M94(!7U7ZtGw;{nVNv_?+H(z)sL}II4{*4&a2TvZkS;%L*$|8Gy2n6=2 zdsrLj@8FOU#BEvUYSfYSKAe&H)(QPxs^;7q!#&Qu{h^oD4XbktdOLq=Kl_u?a?S2D zneCsyPgwBAzqLN-$%jQUsK z<7})VSATU!xc{Jza>>HNS${88^BJIo$|w5s<>Th>wzZ;Sfaww9Afi1Ay$g0q+BD>Tt-(&hHYNSc%aGnJ1E!uaBV8;IIp2pB+)F=2bI58+T^m@|7dcfST|VRR`}0G8~XuT30e=~(2*;Z z7zb&JabTJ7QN90$U<&ExcMWm+SP_v~Gbj%q-(^sRvO)?82mjQH@X*3p`Yy7dCo5iW zMQXV={q?0wwBz0Mxj|@Nm|Lb@TYE50x;~a9^}VBi#~F@GwdW>;YW&J8kpC{5CGXz% zsMiNsQ!nn&(k1y2h5VeQt9hV*`3*sEIi5nxLLAH?)ryB;e3td)%lZt2wYCymZA>qD#L z+VnR`9KO47mUB|CQ~J?aFw%OUqN=%mZbBfpObKz0&?bbRXTtoZHg5>kYh!D#^u>U_ zJJItJIo268AHMf7Yaz6{VfFai_ULkV$nc1|#u$axj=jL(L#kDSklt}KtzFH+LwePj zqHzD0B=9?0TxrgmbCf&QLP`4=NQ1?ly-uAm`V1U+38~J>Iebpeguu3_%+`mvO$hW$ zSPP*I2z4UXk042#JPY%w^7|k`>inXpXIwAg9U659XuA}9$+z|8rNd^F(O_(9bp5y2 zyty--XL#==@+x;^fv{_@)6SqA4QQIvvZeLnD6d&0gZa`Aw=0_nvF5TU)f zn&3I78v8sSMKLG(D>Y9D`E$-4Wh=`S6HB;V58Pw;E3`zKixhgLK=vx9)`*T|)VS@% z>dQiBy;z+`0FL3Wy!oBte8rmTvfW3m-S0n06m&1@jA{kFw&?ckB_#@GQRaH|m8^3U z2YG6;cEUkr#BD-gEiTg-l{W;_OSQO6v?H`-4Rq>?>LcoG{ry7FdqXh}ow>nw5n5UM z!0B?p9+hKM{d~&^8r=HN$x7DOuPds~{bY-qkZ4eHWJuvqpC2fO`_;g0S*?dn7X@zB zIItE{;y))G2*I_8bF9VBwFZA%K1=?!by$G-Aek`dKE$sEv==7|jzt*)wZ_`ymP`ng zC_|&93EHwYzB^Ms(Wz2k^Bx)YDKTRageK~f6#x21Z`hW&R!*w^F9@QFTOt{%yqv?Q z%OC%#=XTxm$`-V0Tvai3&J+Ue5MOhyj2SOm{Dt-v*ol#Q?etp70-hkWnJ%exg z|BVAF={MTPr)ChtrpsYB*LMp{{BR3$i&DTo@2wOGSSgD6EA&z9$MniX<#LtfJJn{p zd;6Q2rZ78@iR0Y8HATMrTiaKA2ff>x+2bGtW{NRor8K2Z=uxcZjR3LO7bR^%piHn9 z>dAl*722jm7w7l#S;`4zQlpuhylj}>-OK(>%05hzP+yitPo35f$w|r4OT%@U=7zaK zNTdoii27Hj1(NH?pYGbcrSG$eLiIs!u1|9^oJT3E^wtJ2ZYSDI+eOZC&Y*7Ec&@fQ zy5@NJ?^fz`G(^IEVCGFXDPOK?jyN6;;oseE-ZYJJGxkzp?DJMRW0r5)m0E$!VTqo_ z;b@s%)|ROCp~t8yeRMwI+?k?j{LY^`S2ZTFBPp1@u9`2 z`Nx_jVt4x#t;3 zKCAAaeRGG$IqDhZ!_W2Z5<+k-dV{t2x!${rG%h9T)ZUd@WqS|98rXkKa<3aaasQyd zNihhbSK-K>pPOFWgz#tdW-Wv^VrrvZ!+#i_;oz7`@`aYO-7d$2#-8vY$c#v1RQcz0 z9PI4^i0qvo+6D09bMi7sp-I)A$3}{ABX)TDK>1)V;^$g}2*I`J4c6l4+FyNeV}fs9%NP2$a_7uXG-ea5bJ8=;0My-1XC8MO)~X_gbWId08(Ng| zQ`3wE{W*@0-ds(>TrJi=&~}k06N2B6EpeHofY6q8Y{HA~laJplx-JU}9A7uDOpexi zK~rc_^;+99@}st|xnF$|H1^N&?769PwI3z2_oIxpCADv$_Wld$m46(4tPiV-sNE$2`%y95 zWjm&JnI}DRA_Tw5QOn?b`HIKgM@m)^%LbcPGN^WH^u}MV=CGKU&U45rH%rw1O3moW zt~>~?MQ>2L{9OC1{gbB4SCen|ATZt~`EZoU&-LvQRS!Pz{{3-Tu|%B~L0dx0H|+|n z#E>F-29~sz?(Lnxa#`0nP_Z4Zgpvvfb_32i)IVO%i`ERbL!+ zxbCRTDw(+ZhG!|fol(I%qf8Y^k;_CC_X4etn#FDtucfXHPy8U!pcnZ-sjHhdO4PNt z*L}flc;Ax-Rk%`w6j~PG5WY-;pv|CUd^vP(_!3+f#r0Cldg=3AIe ziAbSkfd&Q3hp;1sCRJcp1|JB`(#^q#ROhVJIRJgm%8w>DN7TMrmcOs2_O@dh3wKF`%;EsoosHoS=SxqDaO+LAN>LpF)eL%7@X}zxhT4)l;)?dC)gI zFmAs-%_wMX0ngd-N(isK=oJBVZH#pDSgc&<M=w<77*6B3IQ|WH;qN!eSHE>6-seLZtlD3qRfEPV7ps5&kBNgLr1*9bA3^xm zj`VW5*pXVX6Rn!6+#t9XSt9Ky6Es_>Wu16oksIAuQ5LKuyzE;{JMu&sx>l>`jCisv zIGIU%so7usZH}FXqp=-rLGAE5J>3~?E6A=T+k4r*xGltC-d6;tCJh{T&JLp}_3dl* zw(jC@tICDz9OJedyy3>=1I|Di{R43ze`^0@`G@Y5XKs?s+Y2L8I_eqqufFY5Yse$2 z)_4DX>O#vKM->jKZw6I%G_5tZU9@TSRs5*wqQdNYUhI<_L_D-_z2pB$X`Fr z%Vj{{hVy-(RK}YH)mK6zPPqG$|8re3R8yyDM=BLvwiK_Ij`M>hT+_w1gN?vY@k#M7VX?a=32)@@V%ac|#y z(j6#F2-G=3ldQ}>h!UOstly(Zn=D-u0{b1;B0d<})Cb;vh&n*sJQ5jqi_r{AU3^H?pq_mi{z#Y5!HIqRILVrp|=DI)vf^$RNF3X)~r^4u)B zYV0H4j!C!Sz7&5Nrh8ZR$r>095Q0Yls)f+}Tzk>n=7U5D&(E-|Bjj`A>&SV5vf&pV zOEjd*v=ao%&{&5vAadiJpw%62?ojuKjQsM=H+zbA)z0zaXo7b$A$}E)Sr{zqO6wX@ zY;5Ir?UX1vqNlcawnb$ech!z!)fzJW`&RB30~3uH4##tBN#$pFq_%u@(5di?_a)LQ zj<=sl?V^pDIL4>dmLKf>KHRH?34xp=v}Jw!^b~j42YBAhD&gxJ6BH%ENd2_r=<{Fa z_sV9z46d&{owOnavPg?G&n)|CfvnQWx=gmqJ6nEzg1}n-H`U%QSsoBr%m1eOzaYAQ zl0W-2%}MVrLUFU66}Ro2KPz>Ad5>CyDxqd^S$gj5ooOs{mUaHDC7WI@ z=>GCjACdot!dbt+SJYb_s=vEXR>{r9yfU_=@(ym^5dLQ1WZC%Yqb}Y-pPSA}|LP0r zcD8KQw!WNlQ~#F!7l$V$etCV_E*O)#W&J#4xIH=HXFIEIKQXOrMwISk?b0GqWj#&z z%BS84sXJLSqAL&Z&7{FsH-^WRo-8vWBMqw9`iPQ}z0;g=>13516jl4D)o~vpMoWQ)?Wea#-8wQnkt>J+%7Eu70_;meX!v$M1l=lZ8d z1iS+jGs18N8j3i~TSM{YMf7Uel4bok>JGc!$#UZBcAX?bd^dHj`c|fZch6|v5J(Bu zLTJk>wsg9?xZ-Hp>wy#(<%4qjr1)INzd`cd2R^s&xuJuoKkZk0<%aa===ZeTJJe8_ zJHFL-I-43S`*s8SlNRMgyFWV0i!V_?D zp+t4Z#1Sj>&OIF?$VWU5KeEJ3OjO=!QD*;MUVbMk>+DGwx90|d8KD@0c}Y@vagx0r zMYLmlg*>U;JJlAs51lR{x1a1Fkq@N3_m)(L`#-l&f7RE^Agek}Qlc&I$|*N>a-i{i zck!iya!RC|#CGv6?7VUO_-}Ib;??{i;v=is>{#C}+b|{i?wy>|$)_txUJNht=7Y+Y zcoIGK!xc5}56ab*{O5js;sa^Nc1>CNFj~4~;Y1ZeAcgAg%+zyk)-C7lv|fpVH26su zI=!Jr?JLhXI+C$0rgmD{8b$J{Rf~+o2-=%vof=t8uKPMsc7JA@ z`|8dVb<>xQ4X{U<5U3CAov1ame7`>Foct^23d35a-(Asnlf61)wAe81l}sEb@V;gA zM3ztEUh9vJS8IE;hh9mK)Ub=2oe%k(8EAC#MAHRykDUFJ=(CI2ZTD_`m?A8oVTuo4{M z&|)lWK(ncK|MLyS#u|+c95`kmKFfN`eZ{`%uDYUS%SPhG9h#D2M?w*-h0rRa^@gy0 zb7oah@P;M=-(ZA`v=NRjm}?>a)*r>D>I7@ad*C)7Cn-z z`v>V`dnYS&>W$8kg-3Lm{DHO~EmJsgfD z7_V5?yU*Swe;=o_o}zBKOg4tP(Ku?4yyEWKGC(5s%QJmSkUz`1=hQ9X4|g54pDXaF zz*?goO^Y^~p=mcEd`^-C#-d0&@8M!xiay%#5_ynE2m(FzvY0Mgfm@Y!~sF5JWHMA*Zq{^HGGP z@_;6LqbQZt`o+I*+Xt8ZZM#joiRYioP^Tuz%XEnJJCG4wd&UZ7{i(8z8*|QKy}HZ4 z23>a-zq`VI=bn^k`*IYqc8?tXJ2|@Ie130bYEy@lXrLZFr#YwpOA?43shV&o*`d5R znyP%sWyOLH^~AFGezg%h#@9%#Wqm*Pf=mDH$R89KSzwHkH&qYZm=cqT;>jVNa>}an z&llXvuWfhp4elZ)EKQ02`lw!qLmW7wsu=E`{IY$QBks!`g9Zdrg3y-b7A`0MTE4(t zR3{{`7D^XmJC$YgiSjbF>{IU1QHciU2yH^3KF~@~Hz)-vbsoMtQ#60=18+sRN%}mM ztC&`~x<_U|JI}KvD)V#lD{2*I$)C#7-?w{S?P^#%<&w&S7CJ?W@DVNb5KT< z*G|xmRo1!%w|ZV-D&68bHNzP_R=34`5Dt3YsW{`fD^yB+P_?V5*V{4XoQT7e)x<~Y zh}qMg2z*pI(ZGT7L41}qZg@=*+I5HhX%!P<|HJc~(TZE53Zd1Bl!NsI{rA+kH*KT@ zwP{k-ZS;LowkV@wWy@k;LhW*yG^obJC`p>imep=dMX|E;VEf(rrmRp0NTFIo9$a6R z9DbLK%zM)A_G(JB(8CGdoKuaj(REAw@}_jgQSX1{#hCF=*?q1ACAQn4#yrn65QQd= zH*aYmH~rE;cKvBd4jkOB$%nFC$+oNdM0T$0?h!5%4%Kg>)VrvxZu5Ars7QWxyZ!m8 zphW9Ks*qZhCp`U8nKkMgZ%6T+!YNVG8cC6*>q$EMxyG@!bx1yRv4Twfah$;i(vE(` zvYdvKE^W?vWa;|D(3>#nF^#vPJsX ztT<1fa;uo1BJ6hqwjBI;O0?f%s+?km`mS{;0|uDsmqZ}(`kGKLpLuZ^~# zG6DZoS`6+o&3+}JgF%&n11MB`EEn3zPio#EqutgR;~>fh<)%zL_Dd2-FLI0g#j2}< z`u6p>;+$O=S*bgCeEUJUVM}>KU@a5J3-{b2udH3{ zmOBy@+@m}T&yItrY(g9{WNl`H<}WPr7q(j^xG})HKYG@otK38@!yo_(dTsRgO*{&K7$rpGVQZ{Zuh-y1@{A@1oeS>QoVLkQPJt2 z?e6A_CLiS0=C9XsL!Q)4G@FXb-0Xjf@CXVn}b#kXvIhnBkX2aT%59Ckj z<7jDFYw&Y!soPCiAwCmFzdwtLZntiCpZQFWA51%W>P^G7K1@C)*Skej`E;>c@5i9T zTFAMhET+~`Ed|RubGp3fH1;Vs<62PS8yc4gA4wWpQr{wvt0{(keutZ0#_Y8Sfjv0K zEHyR?lb47e)d-&n!L{fO>Vu!_(crDAHN^w3-r-I!siO>zagZwH&+N5muh>8QueNCX zz$k+$A?#cx3Q?PC$NkxZZpYwIxvfombyI9=bm2z{-Y(gU>#5NX4<&>~{n(jy1fn0l z&oKk`DC{{%VXeL@k{PGRF3T#pu7+%Q?)0`()7uLi^)K~FiKaZRYgKzFCA#UB+#t%U zH(ko>HwbM)94dL-UKRPvuKlbdSNEOoj0xzShQ-l&PVqUq{6M$)&aZ2z+*rv9sX}^@ zD#T~#!^``@`%!d?m2WRJ@4;$yv8Y`B<9+h@u68y`5l0`Cy85bdP#w8o{1f4St0xMS zE>dVxwfSf@xwK6Y`&!|4>NY`NR=d?bPuj*d$HiAG(;{xUR9haouY^E7BPDqH!m=to zSV!LY=o5k9?TLm45g$?O$8gTbz4qvqMa75Bg+#fdK3cDu=QQ~r>jUE}=A3MoM;|Kl zbKM80&D`m(INm^}9<64a7Qww#Hc8aaK-c(q-ILw8!xD$aLXGo0ZEwZ)haXjce< zEven`Y7IsIH}8`5D|EJr^CfTVY;Sm{o_XJ0hksVv_1-Hcu5@oN5j)Dq#9^0dD4u@% zE;(>sXM3?T-}!Fqb%$<>M0_TW1sDEwzkI!+yuWG*LsqDBv`WkB-E@`Rba`npu8Ct% zwew_#^J67_{~S`N&dE&u*}YJ*zPz`5IRgi_YmPXt94jLxOsOEx94;X`)KGUEX6H#n zo=iS!KK-&A?ew$z<+YvySC`RVO&p*08)2_mQ$b9+v#r4g-lK;+vCh>=5%t6VT&Ib? z`;M#x@4+)6Ry3UJtwzPyLTJnCJfoJZu|6a_^!_l6d?4*+l(DB+dSGkgdiLgH)6~vS zx>KZhfe?LP+oEW?Gv#(|uV|H)_4mQs0-KkVvZptiA&K5YB?^QFoi-t`CG~xN@e*yu z9eT>Xo<2do+$YWHQoew<6Z7kuxz5)OH4en5cHGO}8hHD`Qg*+lCJux)Auf$s8lG_X zbrogw7g&oZ{JV_Cf%sUu^fyW1?WcI-DV_1WR#Bf1Fd{&P$9)x_Bc-K~M4GBeWN z7;6!S+To8jRZ)$O$X*&h%?%KI?qoaP* z(UOT{(3XtA7bB{RPowQ6-r|Y+Fr|B{)U3d}i>iy_+uN(01HL8VEuPqtlJ26pft9z` z5ZCW&Z`@ys(5CGoM4^0X4&NGzI82ClMtbR6V_56_up(=f72dhfO34R6TF=UY)O5|+Tge=ie0gt`iY|CSDJP;e#i=K>3(0m z%U-480;j_(TI%Y{p!~<(bJi8xRhbZsH^4czWb|4CN1q>Z$EVg4zy8I2?%H|#z#Boi za&)RQ;tECK5t>cJR)p2q?$8WLM`XKKowLWE{>81^U!4(#c9BBliK)_KE$&nmJEFZr zx4|7ExU*$hcMLx3K0fMK`}seE60slNoa*qJHBxI?Pycg={X&b1qTC1fNVG(>KIQGA zPh3n0Z93at+11nsj@#eddd1yQE>RwxGGC2LTJAT`@-2T+k}lug;2~x0Gg}ptue=kn zXJ!Va$~_-jB}ZAAR59=5MX^UA4#Z7V-6BtnUue&1nrPrq5pryun)i3KKJx0d*sjrU zj2?xxut%8?@2;pQ2c{0TCl+Zd)f!@KO&_U3iR3L^L!w~EDicDL8g}(F1VROY=x zy+W@%gR4A)tvrK3KG4INI1mDdD60_RS7B~1lB^isnfhAT88t_YAP~s zZ*D{~SPP-^hQL}`6Vjrzy3=d`-Eyo>St$NhoTW}#phT(6yAGywlauR;vL6LKDD;*r zE0PaC*V07@u0?OK7C+b0U0DA>xX`5TvTyg&0<9sh9&A}-JJpnL{?X8WvwWh&et3}?b0)mtrdPvd-s&rVK9$el z96cOL!Q0!$GZV3Xz*AH5`;WP^D_pf-R5xKFRT!fnh34GZpcg!Y(UOJn zF2=YhH=`v30&8KrCdB^nkBZl$`XmSYL5jR^wB+a7GfYdEC5FEEzIQeXV>K?5tXOUu zg8BwUeDp8Y;xgegaZpW$;5XDRLr|HY8#p{mME`+a!qj<}iFddw#*~vAmv>S*Yy2~i z2yH^tP@Ip;d_Pbtt659r5F=TpP)Dyv1~zc>l`1dCmhEJmdqsRE4wNqAh?gkipy!^T za>y!Pq70#_>hSNa_D2iKiuwb)7(Nk4H5~0?{lh!^fqO!VLhpPL>42Z>wZ5=Eh2%kS zE!#u|nQMK^^UrkWOng$#*f7?{H`vb^T2mGG zeXSSiQ@dP?$~Xg1{_3;3qVRa_so6)7$H93mKUext)HnU5fjj8NTC&M(nhERgcB$Pf zkE!qZvQMEL`ed%ttSaxg|Gu(>+}*vCOg%Z*SV^UQ9NrDbJsq`v^=WC@Xv=+`tazW3 za4-aw`MKtt?Sw{88Z!d({5$CRK6<>_Ud@D`I_!>KH#`RpY?q}@_)G|XL)f{TlPc6X z*CGhi2S3+1kaOgg%LI)S`g{}T$l;VX7kH=2Noyz(%UUy|aJbgDvjo9Tx~42~80~Xd z(l0lT6g!d@JvdnJ%30Rz#Shq8&@^(xSh4R)U6Pn$z zeE2&!jxsckan`$;w>G>@v|8gB@=>eY(V^b1WiU=wW%`#7Cw^2@%p2ZLVlB~3ebri8 z?=(Nk0SZm4K>Cw~OwGK>({!>1*yS_I{_L+G&fO*<~SLf_{Os1?e zmg3L9b%R;gktJG5lRXPPEAb+-?6S`M#p4sfvaIM0mAOZ;T_s1>dHqO_fee9tkjhjG zq19=Tra^b}JC(%Z3GL+UUg_TXf7<6fKRqLQy0PXQrJznto^R{6zPXZ!yk+rxm9;P zCXjaI3HzgogY$ckKDf-8LMR&vJ{JUPi1?9>@eIe z$tus>JF)u)xE5&>rAuXQpZ+FEY%3lILt9p%oqff$P6?h@dHu-+PTEBJCW^e89^2WM zu#aIJx>vEL2s@WaYphL86=rGn_kk_%d{NF*Hgv{I|1=J63v(>Rf8=TeCvFc%V) z2?8aeM&zxN?b_$>k^8%p5vVonwWjx(*k`)<{%)NQ88c&X87)!gTlzKo4u$9c$hU=c zKzV#HBM?LD{61el(Ltc)R=dG&nma~pBU+i{GtyYrej2!2DJ459hC z0pY=-bh)n(w_MgbCz{yz<_5v~VBM&507v_ZyK5)Nj3HH9xhEDlO%IVJHjW@AXqD<4 zck35-QiEUYMw4@nI6TTAw5Cb_tNRCIN7_v*@nMoAY7KiZLi_dO`ykdrXtfSEYj&XN zmv!VlF9(hBBSXbLRi4jn9L(lH&|hwsd|z%p(a?thL2nQO`LnFUW2TEoOPSf;2;!3R zU2Avg%xH+)vabI6Y~ahv+gDYfj5e9l|&!n&aTpujaRp_L(4Cy*J0k zK1dO=Xr^xlLa%LE(@)kBD-Ko*7fmp8w;?4+A?rhX2j-A^DwpG>pjPhMx3ecN9xJQ8 zX;OuhU^Hm1M)53;aBv(=W&im})sH^8Fw~y)<|A^-Em=0Ug<}Rvg!!PqI+G`loGNEg zsAs6K7bh@JgfAxq#|8+&UMVL8wuM$=Ley&6CD8rB7V>(tI|bV7jO%lwC419Yo8+2a z)Tb*+piFw)y)yeA3w6Ii_L&LF^`zp&Z7l;0H~;Fcdi`O;t`HyEnED1w-HJH&>EYhm z67s>mmbm5T*guH2B)Rv}0(B~r&P)U&r)tl40wZ*}$~Oy~l3(ev&jmpgD?i`a{xi+P zO$cg9uiVDzLsDBmt=13-Z9?FP!xm2Ta+&-t@}$o7MfV009-Sfke0VT`y@<-MH`cKa z+OazQxxS9LqHbNd*4(?%#+r~?g2H$-g-^#b$fzx$*6^nbCTrVID$H8dDlXxNe5cpp_pOk zXLUU9_Gynq8JM?F<+9KaRNh)tmr=8pb!!(H7&!S}S>?vE>O8e?uh{QQ+iknyHZi%( z`++C(B^p+O6e4cRdSq2?ac#i1z|#FD1oDB8E$v4OIkLkm3!Il*5r^uY zQQ#J#RV1_L^}t)hAD7RZ-C=l9>sR;yy6nVZCHCO3oX52Xey&$F(H}_;5&nY z#`uBI280~+#ylr~=bZh6B+{p?er`hG8|+co)6@)mXBWsKZZYRB=FC;Q)0wx4v+dstA6L7`q}xd=iQdK$?AvIS zrtM-av{w_N)x*_Al|S!x7gW?%!ZJZ_$zsx)Yut**4mHK9(oNmj-v$lugA|$&tC!Xm zo9^2dK5#hEfItcnI`>;i$gXnBTdeIWI|IMB`^p)H=?zPi%KThM$iCLq9l8J8;0#~# ziyCEu5r51GM(8=;4$bv-1b~)^RG~H*g8n9ntr@A&!Jk>`&WY8M_UM}(*JWDY<>!|5 z{>+-V$~pNA_Iats{UF3QldI(6wQc9bcg zVjA^LWcIo-&9IPmzZ^fiW2#8cTqZt{Kg(+V?Bn9+{(D@);kVV;8$Z|^_|N|f2exbS zadt~dacR!m?$wl_K|AW>lP(J!%Fm&7zWUu!;_Pj%M-|gfe4upsIq{VD$^_y-Td=HB zch(kNoBR-tOi2{zsa4j{5Z`5q_~`!Y|7*5w&b-w()ycKRpF6$}4^iiLv0c=;iDPZe z1aV==XYTRm6V+KY^{q?|J+FQ5rTOYxOD!MdNvZ9{0wQ0(&2Ft%+Doj35{-i(WqUvR zvUr{|;Ieo2ICA2qc}~w$8V9zdax~sMQbhl^!%aC}ttHaSIw0Mk3@z(GlkaW0;b*t< z$aV%F{%QWk>V&b+lQ|loXFzYj&k0{P3)y_&c#fQ7WMD$z8-y^aYNt+kuett&*9ZMo zz{cvEb6&@99Pyv~{ey5N2^A+~f9V~J(C#aLONcuV22}!A$*~qft2t*%d9nJXboZkV z9HU1eA1D#kKklg{zAc&Jrl+beav>_hG2HLxdR0x29Yo(k6{|O@QXo`1IjFKr@tMR# zuY6c#d(>;MxkpPl*2YIm{Z^L~pI`3gN!P!5t+8bQ8o6*a$?AS4dLHf z-Z+A_{O6>P>3hqGz<1qbo5f=`;~RwVaTCP-eb3m-+@Iae>RU4GA7~k9$Cfp}?;d-^ z4Mk<^Rr)(fy-wLULSN1;X`pGxmek4q!x!yIhX;9_qb>OqqKy$%l>BEm+ zaQ2I<1~k^@1>w)55#ppr3$;$aBz1vazvJ?x#Jh{scl0Mp${+f!wT~=F z6fH71drp!|-=F_9mpq)hQSGkz-iaHNBKp4$kcAfazqk+TylQv~iLukp4^xO`qSmsW zDlOdyuNM=OpA8!HA|GmHHM(jO&5B97pWXkZ`^pTRuMct!6Hd|zTo9GCp({*H;(B({sA4_mvA z$k1Q;KFZwB_MiJWl01E2TU@4Igt#>|^e_Fm7GbAy$<3Nuey;mqZa0~c6j2|1FPWAu zLhu{X8kggtH8uL*B+>7t3}w!6~J^$GZ=X|DqZbBgKSd06I=Hp<;58VEL6&90kYA2Ci-}^L?5MrHO_TIW7YQtSrF z_*!f+8sg^4o9sJZ8|~?m+hU(c-i~T9PxM^n#svs|6JLv4(m4Ka-;SJWo?OnT3)P_m$C z_0~Odc&Yg+6Pxx?s1NKnmbLfLH}2M+`9Y1Dy5S!AROKUZ>$^&St4Te>Bi{O?< z#<|y7>(ZiD^#UQ0 zs;B6)gS>a+@2fP9nEN;g;lD9!A+%*Zx$!f5M9D-Z%BXcX zkX41pN7}=0p5jr3IQ+Q8#Ha2)0|>vCC4Fd&YADL+eC&+fYW=7-pG+DmianST8wVTp zPjTGqdX3biYM;tA+3%^f_HAkhOGU_0o)4%o+*_fgNKcJ}QPR1N`UaQ(-VTJ^aP{$~ z&XIG(t-h%q)n6Q+Y>DQ-KS+^ftX(zkMt@DyRGB!`j79K_Ma@jIvC}NYr_h9$y)Yrr zcHe4u;OQ~y=0!axr>Kb5LOCn2`Nc@u=bP+Sk3Hp9=r>dpxg*sn?r2*=ZJM$wX)m_F zul1qZpo7UdS|YZ@y;etkNENRd(7Bwl?`Ue9{?cA)u=0gff#&N^yZ4%iIzb z<01T+1xABvhV{s2?ysvHckV|D0_GpcQ*J&{$BMXiuOMQ31^irF;>mZ)%XXn=a`eU> zE`DQxdPcvZ?vF~U=^h>$4Ig-Rn&@%&{OHO?bO%pHc<;n{(Hl!xDqr{und`>Pi`Htb zXT`C3lovB_Jeb`lJl&8!h(ESt);ax6@;K)=B%fioX=|qlnfDMZ>-wuxGEe=v!%c5H zQmyIxUo{cuY`dmUe6ir@%!B!MyZw$l?(I!*E&LABgz)LoaXV8&p8D@U^sbCa)r+rB z%UtlrPWPi~CRNz3DcvD8E4T-j-sTovKSkXw>q~K2!u)8nnOdSKb)TkqS+S%^x++6( z%y*d(IKE;ngpS#+O}2|VK&_!w5)OaHf<2YWZEq+LN7i33Mrqy#Bs2t7uXZJ6%G(KK?tc22juYD2p?+hrIf z6M>^X;y~PfeS$!(Aq2Lh?&f$gtJU&-Pq-C-n=DXksLf4#(xQQV*BtWTdE>wlnXN?Y zqsj002ew^Wf5bgEbc(?_a*HPf)%xD4MfSr}KeTUZXHtc>L@^5QlB-@@uz;KYuTrAfrh8Ss zC9P-5sz9+w`%4L-C!T2U>74zTI*U^-DO`41V^Mwk-3A283db&$iEV4O@Y@y3%R7g6 zGfuZ5AA>(ji;kGiUnnG&{4!kfWL5dvZ|w!vYCAtYn*XfU^Ujx5{P@&0=U~mg-hQa* zsSjuGzM!wAGW%fFqaJ!Ue4^J%d&ao265k*nP11EQsCATl`=C#f!bclRcf^H}hA%;? zkXn@&=hf@sEi22)5tq9fd?4*6=Y{*W-@5DF-`p48dDxH@>e*1||eU`#n(m67(NMvVBQ|_j30o z8iKV(UX9B%S|T)K(Gd6s<7kGamXv&UB!~a`e4_knf3iL8i?rypp86Yu_%nBWYF6E^ z=B&*;-Dae0ae0TzdFG#PLum6<*uX`HTZJbr%)Ir|EIDdTM%0zOW|`r6)H+Rqk=6rK zW2+RFb*W~W{msAy?hBbC#o*88Imy-OzOz3wSDc^cRJuvWrO!V!-&s6ZKUZ_krVoYx z-PA(fxT}dkN{~W4*J;WMeLKsCq-$FH-pfC?>2|HV?C@q8MU~$>5ub@;YTthYO+w4v zZ|9E{!-masYR|pyy!XlMJV40>{)_3zcxI9Um|M_lBvDOKa1kOGaJuvU;L! z)K~pgYP-RkC&}xVd)QcuzNlK=m)1@!X+oT+z1r?IVWr#g;868#-+bp-TPs9Vp+r&A zmQ|#1ez!=0Zt}gcWev`;*P;~E+ESku?xMnV#iW(3Jzv7!5+!X)_rt$$aT8J>ly#y7 z1h$JjnK(Y*zQ<0Tf70ESaIZjmF>@&L7t^^HUtvU_sb-Ko=iuk$F;v#NP$|i40318h z8>~gUXWai|UuSyW$CrEKh`&Y>uaEYbb=_J?)8im4nY#vQEki|Ql2;9oDvaBaLUreT zN-6Q&z#{VF+0_l5qpZx#ssk#F4p%7tS@^X!GX=(jID5glp*qpnXkGY3kAORK!&HH9 zDqYBk?w)_$JF|~1sjuz(ceFqF;7#|omLrY+f!f5rVp&7Vz7_uShSu)zJyQ*;5C_IV z>TJ~5sqPbLmBohDL0Nxydi2;238D3soyhsj^ytgq=sS_N?oE&O$$qYS)PSw_;Fagx z;sx$Cs6tsGg=$TI`Zl}dOT}fRQ&1p|fV#i-$f=z8EUWfUmEFxHD$74A-6L?cOnV?B zI_9eWHUoQs%7(c6dYjMcZwT+WFjK9)`koX06_xq)g*rR6SW52_e zENj%VK6dYeZQbh4CkXUQUoXmVGRNzA0{SuagIcfrW(yj7i4__`a-&yrjd$LRH)-F9h5-6_vKZ1C~* zjq{?v_t2w{!IKqAJZSIwvb-$xOcTS}5eHg6bD^UQ)CbxXTBU+Gm`{|yQdd59qJ%&_ zW4nk?0cBUzy3HcnlbyjT7_8Z_HH>ZTDy?$6QkvrMwR>gj%|eJ z^J`=!cv`^sEA*WA)qR?XDtdF}O&z^13(b!fJHnAHLL7Z=$F_NEqTAM8H7(JMeGy{M z*V5fkUG>2NEd=(|qg&MOg4C91>ReIdMKMGl(#vI9rJypO39zik79X$=w(lsX?mBOy z&%l0XTD#ACQe52bOM&reee8JmYq$21sxtUqU4gWt9mn%QSlE~NG9l@*4j6|%$)Tyz z5X(XfyjsjHK~Nc?)%Y>$1N+#^)#bohP1LD--*aNWGdaipv7*qt=%;Egt;;^MPrRUR zXPY}UA$0sWS>n@+XS++Pe(X+s)AYM21=Or%b#4EtJ$`!~dHd2@DqE-@C(!+aCDlG2 z-9K2NZAP@#wgm6)Ts13d`=ooladT(*|I?fH5>h)48!lvgU_e?5Dh=dABK z=brlg&*#HkpS{<2J>z=TxYxqImN|#qDW{NKvP~WL?0ZuT8t92gPp*=+pWv1~@TPm) z504mqIFtk1N6Wg+K4TZ@dcVls+|%$YI?=fPRyF>>_ECP%+2>t5cXW9%wV2;Q39(0p z8nLXLPuAJbUaTy7t#4x>3OCM*wDjs@C!;?nTLb@gJ8)}1v3|umgDbQ%awzA*@2lYZ zuGPoB;oGN+Rb%Eyn#o%nzxgW=ZZbGKGV{5V^iHp&c{Pge|4EEK=yB|?lnbMT@?7>` z%Ee`2E_%)}hVm*;rxYSE7o~4qtUTYcGFr}dm*rG<-tXW~sI{C6(U#S%Q)w}5dpGg% z^E2&f&iu&t7t|NBSZiso!Hf~!jIbQ1?99t>e;HKW*+0#sffh8m`p==_;=g^niI)#7 zw6P^a8c5r+o_Zt0J+|d~XX90q2KJngo@KR7-DGcE`iXm?WPb;}8f)-9E3+ayXR4FO zNvHe^3cR}n?~I!ve&~UIU zyjKQwXduJ|yJ(*Lt|58L2t(!r_e)91WJntEJ=Ph@w+7&TE*NQOZz$6 zUug!RSYEl@Qh8)S&7oh$#6dsTb;9qLcE8L>6JJi69ofB$`k%SdYO^Cp>Qj$39LBn0 zBCzIQE<~GhP;II@nd*dJy!CkTyh=T&7Wu{A?mHs`KPl;@EvwE4jhq2}e{1vjTaG}T zAU%_YGp3$1^`Vk(yQcJAk>(v`YFRQ|DsphmXlvd%dqRuO$(yr$O+~`w3YO>O+=%7 zmUa3UOWb;)sC(+=elgFW`iym3dr!Xf5_{`J@vTcUi&cW2_sv&;#dpT{RksciG`#Pgz=+gsiNivEfSl+UtSRI4TePd@E_UL+0y zo{wlPH$}Ks`%>}_d{aD+b`MuSQ#kK<^%7qCt-Dh44xdraO$6qm^vvH?E)%ino04MK z<*?iAw7SiM>l&TL&Ua^G-IQ|~C1*I_jdd8-;i3$y~8}?a=d)w%lcLa~&~h&n@SFmLX?+iqgNB2QLr_JUvF8`LhABwNoV3+((t*NN3{muTCzc(Y8u+?~L;CFX(-p$730+AEtKWPN9u?BA*sZKE`R~CA0S|aJO9?FGdXA zdFQWlRa_!YFcPu%sIMTHC$c%o!Ti=N%WWX96b@e z&qS1d_Yq&a=hS(xT-UfYpx92D=I4}_ZSA`2o$8-H9 zI-{M;xQmetY4nyc`20MjX?X(8^2*|k1`F(m2Bv#=7IUu;(I!I1E0^PyJT*7aZl{V- ztXiRkL+T~ zfoK!)P0I?RLmd^VkrR0;aO^H@ey+HZk-_E2fN$`WW>b!$n?>~3sP zN__dXUtqatO_PSaE8gY1;t_#1K(xFaxX@GX{&VBS=Z|h^g}OrhU<}q$P~1f?LEcd& z6M=ObbD`(U);Y4kwXTf!`Xxv`v$3>bsSJ0bDf87^jbBk>8HFo2kB$p z$)SgSyhJUWS2A-J6z4)u$u&A}b;&!qCwfAU_q@KGu~3M~;rZ^okrPDglj0N9PeEKI zwozzvloqw1_-DT83=!s6r`1`^ySrVMa;Tr0E1|T`rKIIt^qe&k1x2H^Mwn>2JC$fl zIi#*SA8Zh6y89;4>=wU+lHXDAJ`Y+w3IJwaOI%4V?P1ypB#aG5k$*V0}ALML2e$hcZ{nf`LKL1l~~5 zhWl~Jb_Q42-$4$|-V)|Q`OSI|LDDt%rguR=ytKe5^9c)zMUwMgFLT$RhvXmSKd ztLH-F?IF)Wvgte|kGoh|`7kf;4;vg>$q<-Jr)5d-3p(i4h2EPN>v5om0zg_2y#Y0f zC0W+UM`pM!2UHhJo25C+&+weSJiDz#(Y$k^;$9B`b!gHs-o&)v4`WI4oSK_wxRFKG z#k(cb94zJs8!RoHd?DdTJ0tI!jxQTOCfM&#K;vZiEMsfyYK7^?Td9w|A-G zymVulGxJ`#+iX3xkbcpn%=|#_JJtQ1a;-Q}_S9wXo?+AGs2}t`^hyIE&t6e8Y1IF~ zHtONBDS1vA)kiTAm)@xaap=SRkPx}q_sY(HE%C*##dESJ+SzVLpSX;4~vd%H5C z`g7auX8&s|Q146fvgAEBL@zhoV|JFj-$L0bIRbN`W##^o|9%%*FtUM==SDeLCzvbh zw`03vSy$@T6eauhv1?ru5R0#5MecuEae`bSw{qRNQ`Jxv-%XI!oqSNvS*N?SeXptQ)98Ltq5a$qh*%MID}ehuwzGu?S?)3Mg>in)O;uPCo> zHEv$uz{e_0eXZqdFUvk0-P$9*8WwV&pW)dYC1l=7a!xBbo?Le})TYIBhq%MCm>!kO z>4Z6bajDTOv6WG@GipT3O?^0&5YZ+A`=VIauy&z*$$PJu3(=O<}8$5uj~=x}tL+kDX^&mJ7f z$Ogz2KUenn)sDC$4?gPIyr4FU>}=9lKC-HFlil4d^J_;3@9_LbC}TS4^EaK`roe@=D8k>&L22jmMvHKe_66kUDbJ zsrLLxhbnw;xc01|Q-AB6m<4(KK`jGX*0LUG@sM-m+XG${MH*NxKUXtF>7N&IwjOZZ zAJ4Tj>Nz5iL(6*q*p2RjUUi+OSNslI4RvK&aLCvj-S$oEI)&<(ts3S+w47D@*NtM` z*%9_Dxwf1&m>(H9Ma4vng9E3?NbQ{?9+ui&GR+otvBsV~usxqRuxQ?E!-{*OZGN6G z+BVu+@~GZ}K_Jgn9s(a^J;SQh&g)kjKizvFViUC~eKbosn`o@TezYA3K@6Wa-c?u!+u4S z_nBNBe>-BI=~dF1e#9>p_br-7cN#n$@r7&EFPhg-?wiPd)Cpr<(G(<&*o+79jx!!4 z)2QPYy*?@-qCIe#VrglPgwuphKsZc^-jK(|dmp3O=BDq)YnRcw)^hozD=LfM#MdY; zN#`d7+8H%%YWLe$&fEXKZ;&U8Jek?ku9TL}Y>%e%g&slbk+9NNL0-agXs$jTQ_=aM z<6Rz&KJOLHEA>aQJlg$*H1u;#gXEF-xI<3{BM#OAm6PSydRG=?JM(kS$A8tFCG$(U zcm|TvjON_*SKj#o(GqJHa%)*Axt7)+MrrkP8msAF&}%=qPGGrcO`V^(N@jCJn+R^n z*lOs<=caM*6}<$#0eRQYwH(Szu=U#AMC~J_mW-b#?gT`QqD)EUa5N|890|_un3A*a zlH^B@W(G<;s%tR$0zH@QN0J^H_eH1|hQ1*8g?Fpx%q>46v}9|#Blqb?=yV~vB7 z(Buj^;XW?gMsuYxD#Ed);t_iMkqki|&NfH1+*RDGw$tXN#_p180i)N4yrZ2=U7>z3 zm#M20%WiU}hRcLHjrJSy3K2-pyD8SWW90_#Oay$xY3duI)=dPziO+@Ti?#N{@P|Xx=J052(J| z9(!%Xy|}-mSn!r#eq&oSFSn+ePeindzlQMOu%9sAQf`AsCRhF3_tSsZQZcrlx)Q(pu*+Gv(ddHrqS{$5b;9NAHfVud&soTlfN_27oH zzD6z7sgC@H^j=VJKq07X^^^TXs2|J~^{=q5$S>BvIO%@b=TG;`D?YMwEUNYWYhG;S z4}Ds;=gY$G)>KP$T+~ruu7yqKMLKx*2ZiO0Iv5jKPsAB(m*n6yYnuIy@+r+0gy39+ z<{pk^J$>*4_nxmxi~Ju00y#l%kLQX?r=RXE5hrNpc;8j|2|;hTrN>-|wyYON9CmkP zTy&RS^gI1NEtJ-ZxypF~@{xG)f@_xqd54)QO)D}I;*<$cB^I~g4C{x4c z^CDTl@LJJh?sx8*;TPRq@;u8D-HPSa__mn0mWJgbJv~axKbl-&6Tu4v_6tO^z(dK2i;#^bBlJU zBudrxJ6xYR`f$85+rj@8x!s|EL`&{mjqTE6IfxT}PBO`zXL8-(xLh|N1Z$D>qdAG^ zYU8@P;@Wfd-69YB#p}Oj#lA`@DaW5Ff2h8QIe&!+>PPbk5_2KivTj-Ts#||*MKRb) zGbBf8u_tR;k7m^oDIYX(Q&ZH;9nX;kq!#$Q66BWT<)7IjLoHxG$g=+Z_%)*We_nUH z{wHg z(zC2dZ&wssYuqLMMaK35diq4q)YX{{H`?WD)pc@iPIKhR)v*=OOD8g8GxW~ynXz>v z`Mtq&Wklf~x$ak$(u}y9^}hUCHo7AoH6q7qf1Y>OID zu3Ufds{8553L-E(%|V@@9LyEfe@%g6qW)4VU!L)-zkM{n64IEUgIdIThaBqsBsu0n zEhI&VfftJ9IrkRzX4Q}@ z=+p8$uTl-f%FNZF2^-Q3U7>#XD@yf!)Vt4q?}n!@4!u)hn1R4t@+PXhj8}?Bzs?+f zrlL5xGAmU1&RzoFEL>1L@6W}>yj-T_tvgQ_)t8?1W(^oY{X|Aknx8AKw6=mq+(liX zo#gF~Z#*gPXkOo2!NRf%l7r}(2+oC^P@11BuJF55e8XR&Q7(S2Xn;M8?;y2){Ba2Q zTGqj`m{P7Uai;g`k*J~er#*WB6 zMHpphPKLi%;vSCbm#jQG&Mqxikss(?b|aTdG_YK=M*aC?ZRfYz_3VyC0!BBaUAj?kIUW(6N%hf8DsqA|sb;S)*@`>Ic4`xOZJW~aBu~&T(m?GNZcwOk8>u(ZAzm#i@P&;Y2 zi2AZTH*TNI_NS{lms-rWuYD}t@Llv*tebL1c!0eBb94hyJJT;v?-(VJwvywXiw&K9 zP38P2F~sq z(u`de$RWlUW7mrzIo1i(f^4Jou1SIQ9CIOB&Si{V?(6qg1LsA#GZQ65PE4D_eo=!4 z)>@1!W)Jy`iCK|m1Ju}HvfKmr^>CFo#|GG^#$4#HCIWVt3X~AJLX9XdQU3?!DL1nN zPZ##S=cBt>0_PuAY4m(^P6nyt{0z!x(m?H^Mok(TW7a|BFgXJCgL+Ha7j-Zf@*a;+ zk%zb=>b&AgX`ZJ}&K2qh%SC!Dx0+v~`3qh@!*V%I5u6e9Hz<9#c^+6QLzh^KiWGh_>PQsN{edFM(z8D4uBO885w`nkbp;=h&X37R*@#q`_$# zFC#s34xk`u3BhQkE0i2P4y}gP)cHvc)Gpe_Yz_8){i99)ULV-O;aMl@bK+bm&PE1`(Poy+*Ya);nw1LT0m2XQrwXTHi*G~Bz^f>G@m|XqSTn1^BW3Zab$U1by z7Qdgii@%v}(7JGQH9m(^hm1EUlPL$zg`>wI@0?b1$avNZa>8lqmzrGRxR%=wl91D6 zP41l~NbYc1R4&rca?l(Au3%v#<204av0c$Xo8$K%_(djutzuav>z#6sbv$i%t&-;8 z_u2SW5`HaB6jbX^DdvQvMalU&bCrmoH}MFX15gP3ZW}ql?^sN(eCwYO`wzV4%@mD# zsIdHIv#NJO4{Ddw%CCrj^$QwWMBcgAuecgGs-}4C<$K(HXVRQ@T?^;&**jb=Srci? zZ+;rr5);+ViVb1)a8O`Es6l9`1eC>psAcuzJ1`RA% zOHR>8|AL-p(B3ih5=x_d^1ME4lKsQ58^pMCawjS12fx8Gy&Y*_Y{wXd5nSgdug5ot zz-VV699%!e^+>FnCIVL{(f-L1ST3TIB8(GH(1J;I6P)lnVhH6YuNjT%$48Tsfa^8eLk7SL|`j}xsWy?^eB~Efbrk`H`W?Z#9_Y*4BFyF z1`|PFgDtMM&&b6ksdyDV)5){BJS!;X4e|`3n2&K<^#J54H}=OF6Fr1HkI1tiz2P)@ z29{)5)Aqa-YH>p&vCwh^uKlB~P=_*d4=&-m*siX)`${_lfw2qGay=Vb1I&f?HxbJ| zXkhPnv4tc5dHO+JQTs~z;V7zf^>_B5x=l7NPP=$VMkMK}1ST~(_~?BV3?7#aAviixN0E$-IXJk7H{mqq*%jpG|H z2M+htX~oq)At)D@q!6iXo7l_B)OCt1^E+7AkQ4Mbd8c=Y&6_I!d7F^`9F~@C&Rj7K zrQHkD`q_22R&`Eq@8F=vAw81@*_tiS(z14$2Gb@@dtPoJsNOMGlxF)gI(ckIuSDBe zR-gA)`Cdz@@4U1uVAMg>6{6*cZpHhd&odi{#d6OC>jdTCbcXkZBlXBu?ilSm*X$;z z!lQl%%SBF18muSM8P;vAsb>Aaoo85!aAy_vaLhekXeqQNqBTzx>5_4UaV61$tdn^A zb97BaaI7T+=R)+~Bgiw@9_%sl%;l?fZ28aG(tu8(<()41UL7npQ|-V;%Nml)Tln<8 zH?)DN-POBSg;wuwAR1RpbC3p>OLDMAEbFe$x7p?Q*LE(+8J755%oS?E}dhgOjh!EfSoA-dpw86>UNf*hT+(wOscIqUdx+8%MJp4#a~k)gwRH9MI3%N{Am;HQPX{?1ZPkD~HqRoFF&9%I^E z(r_gWA!)S1a&cUXv|}f$dfH_g)MsECl;-DA-&JR^dI-)%Z!i}>C$u+{>dLuSDUoI2 z_&nLjTi)R|>jn4ec@-QnDBU3oW;eMKn0%sxXXhH%tM$RLKh2M=6|tsy# zd+{85-rRnmo#amP8sFK|?!4?C-Q^cUGqVH#Dta|Aamrm{{8QP11Ako!9Ie{b)573# zsuoz*=sC;Ww6&F;8yA_9qqL|)%UW~&&Em~#AG9ledxyMDFelQuc#3x`BFcgC(H$e> z-K9BdMwse0wu9V~nR3*eJ>Km!Z;}}PWyv;-pxzRCqKUY$<6HM^=^}Qi%EJt<7C)a8 zse7@ocPr*gvvVTn2FM#~67Kp%JEQ$c@~qA3bccfFAg+)T=2rFk&UY>&Dm;6?J>usc z4pK*5p$;vpM&Y~N{81--*6v9T^1kPXY>#)U1z3`0-7!4q*6e<-NyBTfzNX`g;FE3!(q29kB-21(?WEu)s4x>iFuDA zNvwWBFN(5+@%4i>BKNS2y3_4?ysjAD*fDMNTl>T=0mID zy*pWH@*Ea<-<{Nuw8Gm!%7VysuNU@WBGzp)CI)7e5cAgd5jo!< z@nN}me~?L|X^~uaZNF!Ik2D!=L^z~p){m)sce$VbF;Hx{W|4815YjWX8}IGZD?(r5 zwC*j%Bgo@87keLhXmSL$&YX*VTD7(DG!TI_v?uOqv%ziDxxMJPy10W9qRsJkCAn9v zbHpw8=}h0(T_1H&i>TcLf2ruB+K*LdPrA#_40foF@HeBxFG|bLRnM|P%^%%Te@^m^ zT0PXTAkxEVXIUS;dCa}x{Q*wpE(2{Yi)h5R&a5}fdZFoh_oo$VrJBEFBm|;4t++x2 zzaa}Un$r9{5y82T2Ib=Cgtn~I2`{_DZmQ%2`lmUE>dlYs*dkrAHJJvLB)@9wa?+kv zUG>}Ln+Tt6$7$;CN-adVKW|yjZn{I9`mU4jiLYBY{pv07+6lU?87;WD?}EtK)f8QW za#e8T;brcp|EcVh9q#uc9CL!&HMwe1q=>juqr7ib{r(Pm1JXd+@*el6T8c9drTOfV zE#x=Vn)>kJibLYWM935VY(C*nYB9nm`LX1rANe(KgirocF+UpV7(w z^X>(aO_k`(JQ*#ag)>_<>4`S`E>kBO1!+NXrDYEqex<*bmaBkrM;f2#;>lsN9H>R4 zXX>ivo)_&ucU5v04)c6BrbR@s4wdg78vm00*vQIG_a%PfDu%#ZXeZ11w($zP$*xLb zOorc!AMA;!QAy7`;ZfDWNzMS#I&!=HvGtpc{RH$eQ@afZzGVM2zOuNo$n%C+9Yp<5 zns$q+Go23Ievim#=d<_JD{lBMwqz!aGlO2Tv!_%R`{dW;$UBy6%5ld}w~EavCGF#f z&H8~g3hBu)VV{@n5$mdmNh2IXS6D8_V0lJk*8$F7A6j0dmbZOJ=mvADcbpzRe3g(l zf=7OxTPU5`G{wAQ9HcZqSGsDqu$+D1se^XUWQBj*4L@G*b^W5)-C?<5NGf1d2-$6s%)K8 zHtnf1FYr$P`{9$_6`vZG zJ+g*V#DMEEeZSQ0Y4oX4CagD>g}2M=QA%nU@21z!sn_@Q<({^%FA;zrwrF(Xw8@ zBo^B-o^zVwIY(3#+n>JSv$i+vspL+)&GeFchRh9YE_F3<&83F*XBerf`!sst?v}VT!^-;w0hI*AHQlM&YW!SY(GCQ z@QxfoQvb?VDog&QkxR4|a#k}KufN774TU*$z7Pb)ePncXCXf-cze5$&S966M?@ToprD83Jey)aX9@+b8R zitd-QBD8;#=67k;Vc{t{`!OH-SNYN&yU&-j&xAg7yWKI$L20qpnvydGsYRnKr17|K zeq_|Oq-mm2=Fj?K~-> z+IXgpXu7JXTSBfVVp%84FNoYawvabxY3gd$<_7k2CvFkeop;b$YOG~JdzdsxVwRrn z!mWB8jUZFJJA`S*6Vpoae?m|$E=eJ#k1Q{atyTBR@Eb0d=us~2ohihn*IL}eCQDv@eGi@bD*6WZ{`cyG;%YtD5=aw1pc&UIS5Nm|bhX>kv=sVkO&$x%0l;Wa`8T?^QZfZ&u)oi8QZ8V>SH?iecS@(YyN8z9qF+Eni%G^D!B7i%6d) z#F=+X2&?Y1ZuZcw&hjxik(nDTZ?v@}Jtxv5Vx_#}T`t-H=^2RF${4j?a%AD{#iBH?_Ni7)V}iyilI&A^98xZx zdrd&V=@+Kt$f4{3y!*3z`_&0%FzX!PS!X%Z z9N?K|IWOuxSM#FePfUqu%ow4@HI$~CZ|E#NN|WcyeyNw&L@+1u9RA-BoD1m@KPC;z zMP7oOAUzM^pd8p|pfsIELI|!ai3pSf(HikYxhKT-6|1}`kL@;EjnjjU{>M9!ig{AC zmdheexDI071K65SP~c=4s)gQEN3O=*YSI0MGWLo#hODfL8=`e)20hV;=Jc zL|{pZ8^#eQ=ov~Ta1HFW`Zdn<(w-n7kTps%MgXRv-s^E+l z&R@%~0iPHo#vB+I`sLnp#>_U(g=0xFGEDxr{pMBG4(f4uYFLkiQ^WeXCF@|hyt_n~ zxqaKbFDe-8&R8zaow3ZGB^~r7JeLu@Qr^5M@2>5%<>S!4+vXVS2DFySt1?JWo7kKw)jw5T2a3Ah+2;_X=wchWBV2;a?*XN4=+6BMNzrx z;GGXi&vkx^bo!i3e;9Ki+C<}`azjYISM|*6wfX7 zhc%6SX^-n3Tjm~JR@r&y4ZVuoF8g4t-KBMv=AX$uY%gB%z9g`$gT+p|R#Uahg4awb z7pKQmh)3XV5v`wmL(}>>Y4?sg%k3-6s)%{L90$v#G_7+JhbC8eGPf=Z&pk)UiAFMn z)(;{`SJSsj=|^@}JpdJJF$Nd>9i*NqQV8}E-M@=o!|~_>5f1Mcr1qS9WR%88WYF;96-s_`AcUXHdEtxAjB2{fBDS zS@WJBn<*j=^>flLBGAs5OFt)XuW&08J55nSwE-t1M4|ijr|ophSJ>EmZ$HneZ+12?;6hj ztA67ii{l%!yq@=!eP73-om#1mr@=iIDp%QG^_JNe61l=$+;7uplKjDxf$oRT)^t9T z-+A#!h^V9Q{$FmWFl#E&P}~v?^;5kvly+zvCHaBBKBsjfPYW!04CU3q=;>nKD22<# z_K|bbUwy&`)dP&wrsM@{S4D}BOkaxNp5R(|zQ2+Cz@_l1!!+V>xQ~BU9V>u7(%}6>|^?7`&`MD{sl#;{VU}f)Gm*A-Ri5}GRs8y zm7XX?b1!OqrqU{2seP8puP7J#E^CzR!7`Bz__>mt_$MU&K#N{nK_BBfZ&~kUj&jSb zxxsnwnKYvg>fN9D0%MmdTm7$mm+Jx1<1we4Q;MCEXd+JDwKO7ESgDUAXQpx@YJQLU z+DjvgtI^DzUwTvbvZL*T+iwsnMyAC)kt9T}Fk%=qgr;uJ2oi^^1q0#ruaq4523lK_ z+S)G9J!*gN-XKOUG`T|kAcvN<_o3UIoLAMY3q5{#F4E1kxs9wFKzfa zTaY+esmK}cETnv~t@M(} zf~9KqG@dK%yQD?tN~cv@60co_!di=Uu%Nb9A<(v%3(+jMLSQ{WbaDi~;WR}!EXlMW zTa7G*`r+ql=d$8U)kCW1SU)(epR*KE6pR}DUb@x#&%73gS~bfo~9j z@-aebm%NWPs_T5b9E_pZh+JX03A%C^g*0?p^+mO}hV9 zqvm&6KJR-27ry3*tuz#Db80!|_a89?=F(|D?XroM1ie>}Kh&sBE6EjCS`JkQbuQ!` z5pli?(yCmnQPebBg8ouW94~iZQ$NA%A!*vg)!a1=#r|<=o*d|}oTinZf_yi@ufkZa z$yL4ckJ=5cne5TPog6xivz#=JN`}xQFGN_flUv2RA~OeCyo6+xcZKD)6CPEN;S6zw6=-%H)&{o&GDet zdfa%>p*Kt&bD3PBU*Q`{^Lab^c{t2mDSPNQ$W>U@K~0+x^jCR_;>sTe&+rg9N@bKn zMEjgZE<|(gL>k(fCOt1_ti>S1Ug_4b%WIr5|s%lobb zb%i>#tn#P&i^9Xty2BcGv@sW=aaW+nmBaq1B~OfS+S{vi8!4{#U+Zq@)6vGVa6KDo zbLonfmR8YFT97S6%oF1xoM#W^eP%ALbwbq2=p<@h+Uedf;GCf=+^dM(TGqmnwZ+jk z>)ppjH+OI+7$Q(_ihq`dsFP>VHyBzbtmmpmnZC<)J08I$CDLI3A%sF3ULqxr_baxP zMqs?6Sn}ZxN0hAmx_jHON`~YpE$%`j8vIi|nP{B|Q+rkJ>t7-i)iCmLZu+YbiM;<^ zEFs=GM#aY!)`%*bDS<|fx=qg&x0LhuPp7#r-tn}%Wvu*CZ(K&8X>T;Gj3ET^s#=45L3$g%xV>y&^Np5>a+`HfQCGTRX|;A$=_Uem zv7O@)9v#mz_(sd2=rL_YB}yxyT|#;qF>Qwx+Bs-R=*3%RINkn`Yt3!cICE$lx!3(6 z^@a5Fqvr&Em1!*B4~s} zKxtK4dkot=If8vj)28}ya>8BW_~CM*!=NvG*qf-GniDD9RrM^)mXjqRZ=q2GMIDN2 zP%gAl6h*H)=xg(0t1Y40UrcvU@A$=t`Bgm7z?k9Dh-x8@Mm!?w4Mr}|q2x;al)jL6 zPE&gY7K}saH)wOM1^(jDtRKV`w}Z@~$<>DAS2q1`#Wil75!2+?vf5wI|CAXhS52Kv zfjT59Oq)mR9q3B6YOFUUxBB0-AX!t5?zJ3bS<0IzhdJ^J8}#H}oLeStS~{SDn|3jm85k>#K#ho zca4Zz(1<0hMa-o=QPD8{svv)jM-XRKsB2FBfjWgH}Ru8=F2TmfB}+looAnN`7KWVfVV!2SnEfCc+A51{RJ|U&SNZl!GkA zqX}(I^vZl`kJJ6Px!(llx&F|D4$sQd8ZBx%epQC)sD26SMEjCzsX4mJ9>9D5c8~jC zav$6KprI>_a0Sswtmm3W!4^zJpyWEOyj|4|l19H#tu7BBgs`_6=Zh9{y8&^APae#-8;EacE17k9@rEG()I ze9P_CyQ@*7u)mA7OHok&2Vv)t>EYU%`BIMZ<7b9G-}|QfWUt2^v>JZVkNtUrhNFE+ zjZ8U8m^3s7>v=xd+^j3|9+SZ@w{3a(gxhe{5MwlfeQM;^verJ_R2+M{iRk|25*wps zk2*P#!M!Z+OK*9`cO>t3_5By|WZE3pIeCmrcH;hnmcpzb@*I{omKm$08ZmeE^P%e& zA9a@&8|onMQ}<;C%0yKE%9P{KtF6R_VvWS}?K|1XFUo;q^<;7=zlzEMzCgaKe`Y<` z(whAs%Q|*<19$7uNg{h-6C2x!p&K&;tNN?G81cOf<>^F=%Eelw(#qyqS6nv=LU1nR zP}aet4aAZa)x`gPJY(1#TTav)%bgJ0y`Da|K13th%LvO=nFh_>(hDYtSDM~!W5hwp zQ6ogdlssw!pn+?tG&VRq>byJbno6SOD>pg69-kk{nt4@@lNY-f=P|Aj4gM($G7Vkt zkcRGA5=un|MrhytI|M{(ZxxwWluca~zi`B@(!YYp9FgiEzgQnpK9)gog`6NglLpm2 z#^D=EC;F9=ydZ=baj+zh8-qq-x#+uEyUOmmER~CW32nm?BqA`EPUp*7d!+cD(1cK` zINrCV5vj3FG~2<4Z$1=S+pU4v_om-KVDv#WbLD9O+9Go#tmPx$eZA)0;;#JSVsqtA zHpV5acLmMK#7l0@`)J9D#_f$-i&zP$j@4PfS&~B$Xw-{%NHBV$g9Yt02 zN$l0+n{q(kz#P$$?{d3q(C`raMoVkbBZL`uSy#GTKWJK02zvZcE`^YhFV??8M7(z6 zb77Ao+SFz91!(F{%ifnPTzv8Og%rEJi@vE}6?&O_DVtPrGD=#`1 zKqDNJ+>=G?1a+l)GEuJn2BD=zM1D+5N&}jP%9Y3=^#GaEy%A&;KmRcsbdz@ zWvSMg+bDXj(kjCJ6TTn*4oc9vCn$SrQy^BdjQuNz^k*CGN-lK0*Ha>yRs`I7x!qcjJ_GiuR|9xY z15v=w#x*Ize*g1Q&X7(1*h$b7cTv;HwTop@6pi*Dyx7k46gTug{XjpE z3q3!6T&roAxpYbSu^O%{h;MY-AE#Z#Pa*ZDmRZPS;x?I!#iYMlb z5K5!Dpeu~piiVPbQ1OUpR5Q>94d_#=`oVEf`?No%T|x$p76)4yq%H5@nbN}Ta%!zR zzU`w%EW!Q*#ud3Ms8=JWR*K)#F4t}Pl9ki(UMbI}>ao;qJn4WNex{$(@AZtp>+7xt zdM&8xV!23l2IG%(QVvh-wkf(3&?? zEV}ul&{yv@au@6Tv*Rl znrQ6bSX)$;cVX@L+?=OI$x$QbZ60{@g-%<-)YaaDzt}&wRHs?d>F9JWe4E3y!rba_ z>srgZRe;ZnmtRN&f^*UMoYAz0iJueNvfyqfyOddJ9=$`=>!GJp}C^<7Uqil>R)54i8U?K#Vx^^HkR9K_pHE|e_jpH zNx&uzybFRY#h$@;Pw;cK+YoL5qf@fH9wb>!et#UHd+8`GzsQc>^F>^}{mCZxgVNPR zmGUi(=z}daMk1D){sxV64d{%6P0=$B=$wiAt7yHRXy{*1d|mUY$j5K0H@dGS&p?ma zh7i?1I_Q3LrJks~rnbQq>J2%RBQJRi-*|ZopMT8Tty$V+^&^q1%#j(9iLN@sl+tGx zsdVo03{Qu=caSCVPB8N{N^dY1qAhFdbFaD6TkduDEiz*}#=+$Ksi~~Ra)%+&Kn|;) zndS8#nX6z-$7BQ2JH6rb_6eswJKcUoJtr9w5uA%HNa*AUKFb1gQJT?-G^i}ndpv?m zvaBtCWx2aY&30!@GWWNmeo$|03q=d#Alsj`K+n0ZBqI0?BIL;w5jr`Rwachr>|POi zgSm)?M&Ql8B~H$kBW$($hU-!5&dv_-jmPE<#Fz_LvrL5INww$X883cAH%0nAFQN3R zW$nU^=j!K{wffQ&ckVOYME?9T4wj3n3kA~fe2c8ce%1W51+g?gC-2dEqSUJD3c)rf zH045cas=k$w5qlLYu?_yr9y2{eXHNWRT3Q0p-i$T)8;m3{cd$S441|AgFT$RQqlM) z1m)tA6k=|*EcXVtjrjSGS`KOvIYACta{3z-Xu%g>$cTJX);qa}zT1wB|DQ^m2(&FC zuq4YW{nbgg$75&QjQ{!_vrH4(#i{Gd>RJSn~+nk=82;&XV zL+`Py&BOP&pPd~d9-Z3FMlE7L2(>QnPlr2;(awm#lH}>FFTY~H`uKF;l&78$#WrU| zYJ6Kboh1MDct)h@*}~}^K1vUxAIlZ@hn}$W&o;AP-aSs<^`mn&Edn-ZDDsDU zd;SA%-@5;DP;%58qAklARNd)OY>_?UxX;io`W5<{F(Yi8%7lG5^!(%q%!T#Qvi3c6 zz4O!hg?5w8wm5z}^og0NV*S58U zwz(zrbFw+kEn&Hvcgza#%&kcS=XWtzMld75Hy)b^ybn@)Mrv4lMrv3;C%;<%LOtDgXil-fH^ zm)c)9%<~$m9rV9cMik zL<70v=ZY(ZQ3%dOZ!i}>r;;oS#!(Jh>biEbW496W8Mex=&>lF}$5{jYoa`}i?n?Jx zC9>SpA3ZF4WV$sN^WTifqd5<3Z)>Z7Tv7CD7Q z&B*%DrZW8I2WOL>?3!|7Cq>uom<}ao$DVm{HoN_ zjL1tv3(K2mR9}mI+On2DKhhpnu7a_oz{t?!=+Np-`hRIV53!>Gihur7$Lg_8D(j-^! zboPne{hD}@i>#)4NU33+wgm2tl&j%uf^Pjj9etlpnrP6#a!tvx2cXNvd%R70Ql;|8 zx4z*WUU)kjOHNvlceu^GRlKpQsIS#McR0uiO5SRHMr3I9!s$&vXdgD$qu2)V@!a&? z3(N1cFE8v8n*HQdK@zer#m6pf^Z9p$LPL&EcSs(T19|7PvY@oNXA43g4b&*5xjs@p z6OpX_&|DEl{elkeTfsAsb@ZV~t$#sz{|C=t`(bYS?{>Y=Scd1wcs_vUnRpIB%_k;1 zKN0ul>vVj-opgedbK8fu(Nd7ka1IG`QAvz8$F&8IWpRv4Ty@xVlUq0Vq^C8_uO$$z z)BiU_YFL*PFZn3B>z?`DSvy8&vY=ZbIj`MHYi7~${@j}0jorxlHwJ8lr)EgWWdyfz?bKXM|UlvMoEIP;Y$luiu~ zoFebMAHj0`=kBlESEoJfX;+T{Euqt?VRN1V5&Dgp3(=;R?0hv-o)Jzn^#1VijhT^3 zqgC4MS^nqVS|Yq;pnd*Hzaa;Woi|lda-d8m4e~^)A3RUJ_gyu*L$6Fk@cbvDO$3ge zwS<eS)4Xv%^NzO3{3R#y+8fHph%2)l;bW#K1o@nj+wRS+DghsisI~1r6zPD|hTjp7Hdv<)e zOb>6rwXCc$GsGJ|&GmV)bkJ%L+rucIiNLys z2rS7&P+3*KQT~d$BD9V^@qGsN25hOxW7vD-EKZ}EqG!3F@2l0F9Bj8~maD^8M6Z)K z%c*-ZnlCxC4c>s#np^=w&{x0AZ=bT+k-6uUO!R#62~{_Beri83SId&wk=|eb69Q>q zq{foud=m6Bus)-HD9t(~u5=wlekon`I?L;eB5liBIc~c9+Xp$md3{wMj`fcASdt-Y z@Cqf9AvyK{Vr@9ZE>pYHXEzW(&uAUmT2<93_7Z(tT4JqbIzfTdG1j6MWM#UoOFc z09l%bJKWBT5)Fym1u!F7{-w{>u~ovU`hJE6RH{7f=4u>C~_}O6_)M zJ;ygFMKt`Yyg_667*#*m{#;k&Y;op|&V{QXq^8d0 z5Mc}G>Hnr`5O=Y8V#C!JApO?a}rRh3qCQF3hCCV!R2O0oaYM3b?z?S zIya*&Ysj1`qIJa=+-n~88*7bdf0L_C)rN}cPyFPyIGT5Jr4r?n_wf3LisRoOcmMa? zsE_fD)+nN>RZ~A@bG91UmhHjOj_M#;Q^v$IkBGs)ec^FcFpX5OAko;S#r#UXr`cJ zqDGiB*xyV9_IKI)sAmyRBYCaW^tgSDpZC#UZJ6Jp#(xE&X%vi5UtQ?0Af#4fZGtWf zzpnZJL2$W1J61aBENFaRslVDWzXf6KDgFmhD?uF9(wrUrib~Pj7>ryDaezCOhdvZ^iIy-WFzw+crc`injx;WgkH=ocW^w)>}n9K@+Z}fS6 z%EzJ_i6NBqh|s$70}bSfxS}3Cw*a&^?r5qS>ES30G3J~M=0dcAa5V4aufqcB>>asB zIHr;Om>izu@V#2T_az#iU!!G;L%>N~=68^qMx5`;lf>Hv)F~eRFxbO8za-vE6j%Dx zkz7Ei6HgR^yhLi%q5tWpsjFP-%W`>6s&Rgz%BxTsk?&cJJw|(|mOLJz?92!(Nl{?V zbXn?*6ooM95kmPCrLZhY)4d8~huD zsW+CH{s!TTO!TF{iwxR#Rolm3IBE{_JzkiO`5h!iqJj`g4o$-kZB)TrsXB-VT`oq3 z_*N}GSJZ<45PhN^?&V?x(q^fZb~Oz%CdMNQidS-63(=XSm+l_$NUshhbF%`zy2j&Nv?e28{&^#dca;aAu`nlw;XI+xM{Ys5rouFPDB zHWAutsx^rAEWI;1qP}3(bNFIiN*+4}EMFu)m5cm}zl6pETdi$ z;|+DCt%+JFC^B$ei${=Le4f6lO{6uQOVvBhMbA}Q*AL3CT26ignl|iDIr$g#yo3?j znu;EC%em>VH%jHU*1KVo`&vo4GJ0ev6Vg*=tKqf@^rR~0` zSJ~-P<-GgI_J(3$>)Da_I;s{@e!&yj-K|i1jehOI)N*EaEtLLA=XPP{$K%cc3897a z1BXOI|CDywt5GIh&kI6C?P2t45UnZ1*&_kLB@v>a)iirni zRT9{`9jN)>U zcA^|OuHm+i5ZopvBCuS}l|UnAd3vJ|suroVvIl#NMvj%_VVe`fDOEmzEvY`s!>gUj2DvoH9`!!7|KA}rCuZxzGJEoXx0|^TZ6LsRO-{7l;W#|9ToojFeEX5i9`QEUWqIp3 zF$-#L;}Q4^NSG<)7ncCB!^gn_9w2?FCJl*tM#T4gbRw* zTT910{FBaQVrfEf9E+0h{-CZ@jpAHdR}>k_b}#1aI3V2WAEXuSZaX`2qcAY?T@8bX(>6!l>(a{GFBTr`d_QGopmFgO@7`dPw%?C41Lp>$cy|lSZ{p;wCky+ovuho= z*^mRv#ooExg>=WO?(Vh$-&gNE;UMp*X{0Cj`}CeHHio;~rFZT3y?EWsKr8uO37w2~ zrP564C7wOR^bbB~XCI?)zoLOWSjJ-di_1b42SZn9pwb`A~_I_j50N4Ia3trq; zLOh?{d(*-`eVwz5X3Fy!3waR$^<#3i`L~nyGh;fs_YXDq8XygPokx zGf*IPMD(bmR^q$0q%T?f-nGRo{PxFolRMQ}FKiFAL6G~=*15@XBV|=)(_S#wNY3WexYD$ci51z;-UH}cFpW(3>sK2)@FGs*XEI;+G{23 zk~22i_y+4Xa%)+IZ|*6kPl@;%j;!RM-cb${@$5DCi0&IM_@-N9@wGR=PdX1`5OR}tT?Wc%BjWT_= z9qVSJv~>?C+sHBna%+Acg$SKa4I^59dH+ls_v$m>`(CL$#X(;}4o$8mU0+5N84=vH z`OZH7udS;Os;Y?M`w~$RNt!ahDlID=GszD~gnRL#3_kHGhT@=RO{t`mPcu|Nd+!`lW78#%J{MxF$cN3iddQolA@w8lE^$Ta-=lBwY~T9y1zB~i{YN%p0j(-p0msB zIY(ICH3Qs=p7W!x748CFnY*Q&#yo#PYHo1|JaDa$A0bV}!=+z0oYZn0X~OEFFA)*u z`nrs>0FH~Yi-?h>3Ct7xzV={yCmHqp`yH3^;Iz$%1~@0~cXywocQ@~nZ1zMMU$@{r z3VCzeZN5Ycqy8>QnKDDhvCx)~HzAiNPh=}{r)jTL1PW52o>4+V;saMn9Zts3iN#Ka z>x26ay&ccgTW~z`VNQ1%^mDp^Kq~YSyca~cN6Ko-qTk+{$?G#%_KN&)rTHmi+8|by z-f60_)T|6$U_cjwE<1GR?y^nP9eZ1~}A zns@yqBO3U|Me7rJtPLMd=T!ICvKOSwcq&RLa4Ykc*o@Q5%ga^ea4%h2@rPGcfmcE3 z;l!8y`$qpn?|eaMQB8_m9i%Gv`q`rOQyB8lW3bL6E-ahpAKATkw1c%BA{(2R2ndt} z(L8&g=9iM-E~B;iTRs&c4pL$C;njNfHqxF+dnB(jUPgOGA0^uExSQSROOqYi@zM<8 zM20+Y4Y|Kc@?&!v3$>kHk_4$x=ZNODim%+GK_3jHZHFZZ8oXNKR;s$1Rw5$2i*M8W z9S73Q;ZtO!!W9(}mKI%1zL8n_MzR_8QG=MtY|-mcEiNpx^yr5FBQV+#lE2^`_LgS@ z%_uH4V${Le`g^!jG$z%p6nC&i>mA^57YICL%q2NA)NMp$exEYxW%zQlL+v zom!l!c^cw`69C2~Jzn|p;|Lk!PGjC+RjWM^Ys5j{7xaVZ9|>tFOJiOB8f)C}^!va) zp8vsRHSPmGwDouWt+RLBVphiD=+5~yk=7T&^b?0qo1#=5e@kWd#4y@>W2}UdAQhqs zIa)ZA?M+Ic>jMr6R)Us+Bk??z@_2Tw{j)Tmb`tb~UQI+q?@MEwybh_&iB6&4wR0=! z*Uj8;>jXd;-jKvRNJ|GH2dsHKdS*!DJZ9HBBwhPB?&JCCtGg~`hcx9ef@qy z>&wh2UZujR|7^zX|vHhL$u=p!v&E zjN6?rvLISSB-@{)>WxC}^>rCCMj50+euQkwdVxK4ERPQ96DCN7-e6_3TPgg37a35T#XD1EFl3D_4LA_I0>oxP38AmKhsNyh?8?i zF#EWp^uy=;Wt<`UL>!6dO}sdey>=##R*vc`#3)4INQ4wAPIkL;JH33jR`5P3mFP=O zPn*tCS69($NfqXSJP^$*rMI2M3OfEs|A_hHiNSiV+P4Slp2MDuEIRo&R#>Tth-g^fo*gN_O?%gb@EUZ> zlx3~G?Q;`VB_L6sxr>Sj?5c}YICBxP+a1iBZI#q>F;uX2MB{$sU3*g6u(Hewy87!8 zJUi3cok)dfLV7K7u-p?ttSKi}*tNLtM16b~8qUh>g!%hj6RaKQA@YdN8p>{MYoSYf z`pftQ_no+F!Bg{Ux@KI`Ba7v!qj*OIRjF8LjprcG|C9?M><~jSl&Y4r6KYr)+%B=Q&-s`!pXRW=~+G`8(|M&N8 zBdRazbFD*$lm^4@{oQ-y;od%#I~>@bDAV;zFWqQpT?A3l9Y%AR(WyM>&W2CA#zP*j zm@@I8>q1mLP)qF{Tq4^yZ>GAon(pNfKkB{u*q*`{*X#1HN4)jdw2E!LWxAKW@TjLX zh^6wddbsr>KOug(E*5Kk^=bZle_ZMB=$0SMxvJR9>(VfO`a^j^w_3&Ctpm=E|FR@6 zI8?FNo3r68E!DV7?~8R<-N2vpdmA6ARu$(4BYxiJ-MO{lKOl%I{=q(PN&HNQ3eiGT z-nLs_Rx((TMtG+@expyRsHH*#>cM3piX3UFX4ivNzIiI)4=O+Mu(ezLmRkesk7Pva z34a91RAgO7r}9`cVPPVcsLW9^xaOa_rrzbm72QduA|8xR<>3w7VdNz$mYvEhZ7Kq( z5KU!k-DJ&^5k$rO%11DFmV_gp`H@uoi>iBqY;ROSsgCNbIF*;*Y0K57kMsWAY0FGa ze=UNk2+?WV|AJsDLNwmja0QZhvoE$3Q}uZhCnJryF6;&5+X<{mJn-7k3gznURYCl1XA795fM{9t>iEJ z<4yU*?yG&2{m=8qdEdQ7zR8GB{9&B&(}VRdj|=g8s|NngijT|qJFOi=!N#%Ppdl84 zXd%v8R?EM6c6ZYnF<)_+BHYc1XUa$vH@~OsZOpr&Qnhw@!DS3 zQtJ`^qDsBdE7;lQ82Q|Pd0+3~_|t7!^YkeD&~+g$TwhDAU%Dz*@K8i;9BpmVI@U6d z^}4n~1X>rV5bg3n1X7_+LIlS@Q@E>XzRB%NM&B6Z<{vXT@yYjk1uMrMGdYpVHYZ-v zX|{ZS){(+nf103n<=be8X4}kg?MbEHt>0(G2i<0`|5+apf-(jy%LsYohn%|AbUl}5Cg-?y-2ZVR<(U8X|oV#Lt(*E`vW5n}lJ-D8DY zVv**9Ci@TlF~)1vxzyXfxMlq1abvyZCmiu+pWZT#?cYVb_Q4p#ef@}x_#d0bc%75B0g6>dmA6%Mg`Y4tV(L&rcXK>-e zOrOGt%iqleTUEYu!UXdi47BrV5udIVCr zn%8REICf`AQ}s$CS1QatD4`JFHk=h(F#H^~PHVpVhQ7hYC)zfF2-Hsq%!%khF6#{F zqo2x05LK8_lM(N{J=R|_f4RxK7>QgaH1ng#*Z-gRMOCa}-(cQ1f0_K+;fj92J=1O3 z&ASPJ9+%vEO21%LF;NxyudVBoC?EfI-(YtwYJ)|lpJ7Z?9URyvaR;do9a2*XsmeoB zPvjz=+k2zoL3bEUWkfTA{ziR_D~yarQ*HL4k(!Gjs$*XrB3s3g3eiGz`QkEv-j$b| zEQ*q_-AF1fTU-4bf~dGAiwaE?mW$;pX6QgMHkiYU|ELf;G7atP80SUH)i^>{FiI_z9BuSf3*g)WaQ9<46WGGVq3669`lB-i{1M82xBX(3)>2ptseh|AS$jYRrBP&kK-7}S_wUjMrZKgW2+A*_6r_*@h>wfM*DEt@rTg^HAEh$Q$i2J z1G!_S#+n#Gf1^HTQOt>)cWo98F;Sm$INd=iL^FNVNQJgSsZd%Mff}Ohh-L)+jjGJN z5y3sde$z*3$@tkRAtCl^Rw``g*lIBoF^{q~2t5n-C1?>B!FQ?*{pl}-I$hSijl`?qm;ptdgJrJU`t>UUI9=T6D= zF?PezQjuT3W&dDdT{|WcLie>X-8(DYJ3BpRIMyn1YI5}uBHODm(vC8yU%K-;t1apz z#HH8IitYKTk-F&_mk0L9$WMrR_x6odS$BWi6=I5yb^UOCwzr|{VLj(cy6ZxT^Tm)*1{zr8AxrDMM=MO5QpM-e%mnQzT2fUQ*vvX?y zAXoimp4AzFd6%S%`j`{31*3kh9w;wTA=*WtMbU#{3obI5kWo>e?krpUt{H736^;g+ zC~=-xLVoUSi{o>JHVOTlHi|*_Kf!5oSp6UnQ_<~dgWE|VfSWxFLpfaJ%6Sbck>FiLFB>Z)Kq6O)xAq_)kP5x#BEY)NlL#_hw$; zpCe9>j9QcB_jx_rd*$at=J^9{6^mtiJKNdk5+O7~X+)t$D2!L^^-(7mv8#Xhl#1FS z+C^YpNQGz@fjkyWvi#Z&xhn1=taYO%?gxMVp(mnM*O5)QOmQ`L#2<<4>}CG!MxrZ~juNTkYK@L7g|ZWxp6-ty?Ir1f2&@Yc$eZ<`zfm7;h1O+s z>WGZ*kR;_vn2JCij3z2XvsBi)vB!4@L^C42R3r&Yn<^EK8F2K1yqSlU3gvaFaO`v1!Hd-McX^TK z!`mp-JQ=-4Yu@!~6&E5Mf_N|$mC0^;FrpFRFX~hN)+>kFy74&m>vjxp%Y0owJ3rpc zpTD(Q?Aqm-X7tK-uW^U1SM_acW$blje>qUNx+RaVya}jihR@_M{q(Zb1uYGY_ z?8#?Ww7sH*&D6u!9P-xfcSn<$!Cf9ymmSH(#w8r>7~$BryHe#3&+~e0Cm!+m#dl8iu6xp!yUokj{5nr4$C4mrPa)K&7 zV)T7EiMS%fvijD~=@CeU)=iHXTr(%(LFAVnfsuh!$j{XrV-!7z5$Ym@$nnS@WL=aH z`MHQWSLGyPmk`_r(<2&I%1w9;JxFo2?QQE#mk0VBsSxcVNJFj*B}tFKC_x0)BMa(}Vm@0f8 z_-6z^pSx6ucBPs-Vrsxy|C`2B0?yhWPMi>Mt`wrm4^{nhuUHhhVNp*XvkX32P$uH6 z!MfKP|Eg^|3Rfvh|r=JM{w<1JfO(8w?&VN2TA>jT4 z5m=LpxcB$$a&6V&ib)B(xriY{vIEY8XkDyHh{wLG>OcJLLxrc^+tWu|bzhzBwZ80- z*I`vV$8IhU>NB`cMM;pK5O;LS@_W~iu_YPj`1OCzHsitJx488pKbHsDhpmftyXe(v z2^+cyq#`SDFVktzw19i+^a$jKzHt#$7ms8xGSVY99hy)s!nIY%C90nk!}ftZkatK= zafLjvUW^47K~$V~R~1i9*lOnOlLPLlT?F1i#6y2fN`s)tU>-=7-XE>zObmF;fK=#B zJx8{9ci|gbv;CY83uONANx_cKkLcYT*TiSuo});h%%gr6L8EQH6OOzsnyf&cvZGnWgROah00_#FFO6Vf6UPPdTE&}f$0(lGZ>7ol_*W`8fo3*T~+T1iL zsPNkn@1j?)jz2wSVlel4+qxdAG0FJjm7m(jUBuch6LoKJ#9O)7iz5}HU8zVCwmWKz z61oU&!GOm;ROVPhi?|59gI2(rgqZm8r-juv^zzSKQAuI`i2rT1{kdPKcvGEMC=xrY z=&Usle`cP+>=>uGB7Rzzvhh_IF+#jDdqH9C;vE0`i8sramf5;?jqL11JMz{XdR`uz zbAAJVz@GLBts9h1G?LJ$1}z=RM7;rOh?=8>E@IQ6!;W>)(yWtmLGpR(4Rl&M~T{gUZ(kZJ(4v?1X6u{pS9J^(>o>E3K92huv9M`*D>DsJ6qnk zyu&{ruwF!?4P8C3-ky6ckFj-H7R*F~wvY>J1R>A|CGcN95}9HGNOsppXjDwWivdD0c~w4uMolXG{s^{(M9~B@==& z8~sZ^{VW^g)T0@QBE2R!BY0`Z0pm3)>vrfZ9{Pu&brD2W9)fG4nq36dMZU#)k)J^* z`j>tjue8#@WtzvQGQSH%bZ%Vn+chD=M!U|z;k!!?51psX+fIaFDnzI9AS#Ym-E*3H z5iP{#TRxD@pIIW${j$Hp_thd*rhC=Aqh9ORI~AVz{B*C%H%H8SZ2GOO=_jeVt2fKR z(=rvl)rM#nk*s;LBq*V6QOO9j6>82krD{$HZbgVrkKnid$UgjT7njMidWU@1PU_ba z&QcwpTpkh8>E4OY(>r{^?{#>(*QMG~Z_R{_vEfIjd;hIruai{tvwqj3V!aRJnAdT` ztv>ZI$>o0aHkjD`X9Q7kO^C24-RpZ=Ly}5R+3sT2GbD+%7rGPvqKYJ8Dk^V$!N~5Q zg}A2ZQg!3kHPnNr{wVS7#a%y7_j3O};(c~-VQkg->E3%wk9seUTW;QJWG+#K+)*mz zC&Y*b7ph*9j#CexR6`*Tj4|ZL_0!*|BAc)t7xufyDc^B6Jps7CsA{rop0`%Nok`bG zLPD31Nan#*be-*nT%ziZop+VJwdL}l^__~XXwI5`%~oEeT8uke?dzf>S`p(4KK(vEMWG&`_2wDfG>$qMU_O;0frb?EIwTLS6+R+tzQ@n=W zWNNDqS`;HOeUubDFt%)sB}+fujZEwVNH5ir(KmVa%@7xXHMvqHYt9x$el9}4$(YFP zs0UiaMGy~;M3j)Ov;WPizOVNI6zY8dKFW*QzWUf0uXPEn-DSjG1W~cqkP6ZIDS2!Q zzy8Cm3+o@(#z(4CW{fGbbVeL`yLw=L#q5k$Nbrad53HB?J$eVV$7CKIXPu=MOg&i* zU0+Q#dA~rvIro=&KOaXjmw#X2^=SN;>ET?dkUREdD6PAn0X0Xv1?_Cx?7QMhZC%^} zfx8}%3eoy~&aK6AZq8BJb3mpuhC`hiyks!c#sKQ)=SsPEZr`LleBuTI)7lBmBqdWv5?Rd95e_-@54}|@6zWKq)g z@khobuDghuFON>#VF?L=HMt0s9T9ZBdL_%xMIaUWJiSyHB}j#6hlgpk`NP+kmP7H1 zWwxP%(Cf~jyeJ`BBs~JDs3tq&Olnci?l#=lS9)x$x2PT4O7{jz?}w9mKb%5s(F$&q zq(dOptNI0YNsM~r>u zeN#|2_R%%1neGiakDt|kn7K8g)-{c^=#Zy4epF7&INFM?Qwyd%CIlidFCi78T?G0T zsgSop6l$powN%cou;TaZv)Zsb-2ITQ=Cng7f4F@Pr+rdO_E;;RMclCuN`J`tQRE{cyiRef-&ju|LaKC#qQo;WNf%YP+lcxP zo;AQ7H?AJs%g`tcsT?#wq6+We+ZD7szS$6d(;|ep2&AHNLP9zNLYAEYVeCHa9DBY? zz2oPa^B~NAdhL&ks~_{e*!WG7<|qkDh!!z#ZApH&kA3?{@2!R(*Ngl@Ey%jrTPB!3 zwLDuTk9P?fO=M9*Alk7yFmVw`#TnJ`7W#c>$!|!byrdJ`jmvgt|Gy!Kifgh6y&q2L z{cwePKb$#%hW4tBd-iH4O2~sW%6RI8>*9K*5fG@YLk0Wf++AUd*4Z6&wDN;;L4OLs`y_#$#Vm&uQN! zL%X>=NOsPNVHx?^k)@T0upFZ_HsCUiYN(8(@bn0#A_T=1jXtPm`$R;gboKIe+dja9 z;I+^`)aJujC~|$CXa|&WkczE9=v1kAw9T@UBvfXdQW2apkP6Y}ol(i}39lS`SNL}S zy?2$JCsX7|Xm}(tBiF?~V2dI@Lh#RKAC{M>_*o5S@tB(a>KS2}fuvajy9#7|&K5Cm zveKz4=Dlrh2V`B;2`w$e-#xa=)9&-KbvnN?xr)YiVyt6mdS4PTpQ|<4uMo${_Bo*ar1_>;y0vG zD%6R~Ht*{9IsXwsR9urqlu4!NFLPg;)jlCRMPj|mQ;iU$8Oej8Qf;~vwQFgvgzAyNt1@d4^2ME8jW^6xXgmrvf@UoGtu z^>Xw7GArP7cSpS{b^f9n)~p&I)oWCLm92(bE|y0)FH)44ZK3sSo)6%)ZNj7?kc!Lp zEF@@A3L`GmHp>q!lBKN+tyZCL5rH*1nL%-6P&9lqWwHYD7UKE*t&uZk_LXa==cwUr z^G%DQIT>tSHGAcIGoQ1qi+LEy6h<{_8@73h_V5=~Xdk3PbVyI_kf?Yxi3qHT5jGMr zN-!$9Y)9dYAq$6k6#2_fC@4GEz>b5$oOu1(@7uoi?3l=miTRGL@ag{0#;Dim&!c8u zONb8##Uopa2g_YKISTJ!zCugubLTEUC{JE{P!8Rk=~y?EDy!UHjkJk62(%TVh4^{y zmdO9LA0@NKPIB}>30mK8yqjg_8TwQ@LeB%v)4dSIFVvJB3fjvfkGq=V{2p3C zi1{T0q2m#G(}GC!B-69h^tsMo%&;P2d!q5F^N z-l>0-cwd~;H%6;V8>{a(eFm+{tsGloRvM{h+y0mbY0gi=HZrmjJostbMey@7`U53Q z<$=-8vb%`Bk(1Ra(O+XbHf5MSUjLoHKd~~(dZ2!(Jb3Pf>ZP)t3o_nh&l-fHf9Xe5 zR;uvXfcieV&K413;q9~9o;C4}wsm*rE1a#vxWcv~M9UrPW&Nxrv4diOSs7*7X@6R$ zC#*ldn>^iHv~IuY=SddVy42&a>>P=xQ!0WrL@FvXT8J&{ACBC#dVb{cXY(9AFm_QV zA#S~-iu&lY|BHR~Y-`6Ks0YTFk;<_yb7zZEi=r}HJr!Z~us&caM5k(wJkW03Yim8` z)=`^&e=YX$3$7mPtIqK5(PswGN%^P~@!%hw7oMZvQM2=(I4_FxrA$qKUBrhICwW_c zvU`{iEySVbom8hk8u)Kje=|b+q2`X*Z}#%hJbsr?=mZ+!)BOI?+sw`(-Q!&H`&DXG zqqF@=9hF1`?Vy_XO^MwD2Wb7?#5|=AO|R|e{%5&^puJd|a`q>7&?V5INL1lGF3#_| zdfY9#spf+Z#D-5?F5BER!&_MQfYAeaptM4?+kLv)k@1>br{4|7J)7i@b(h;6pSb@H zgwobUi{|>-Ua2h4y7PZ*uI^u2)$iB*nAzRN8lqHgE~zvx);4zd?8wr0@}2c_Z1cFj z<4SdD@$_=nRdB9f@BZ3$zWV8k3jSxG*H9=4Y0KHpm1^V^Azxgup|IfjX?m0~-FvaJ z-KCYkvcT)EJxEdvC@t_BUcKKuC#07OC83p{-8az6hWn$DOvnSN5G};0|LltNtG%yq z)2wL9oTVkB{;dgqdhrCQufo<1>0{W)~HcVPJuLxt<|>8*=?o_gx|#Hy7W ziTAZ%BNsPa92;G0kdt>Y*Sb>mo*Ky5(uMMiih~@fFe*_(Au`36a&gbeQi(xM?4nK> z$9mt=(LQoY#`lqLXXmIFE6?yw9aU;HM}({S?jPpMnQiWmb-rb|LW|OvVe*O+vvb7N zBlKcap9CG+XVVcy_eClcGwje3U`nk*`ipUysat&?94=^#7)cc|kJaQ)*;Kv=B>9A1=Ez?jAew@$m{J8FoWd@7cEP!`1xfCr^+ajxLSOdwz_A zKq^;{$|Gya79FQYKL2%^)1Tw2F51oYAhvVL^RM4&a|yO)7eQm3jn%D1Q71&Z2&BS# z(<3m;AQejM@~HXk6rIJaR45^$^|x!LoT}d6+r@wOppxCLE%4s{u-NpkTYoC>x?O8~ z&PUr9cs0K*E@vk>)TZ5*kV>?!b0 zxXPe?lu*Ch_ht)K_uR||6RFY|G`+b>pLrK6Zl+%`BCrkp1)Dvf6i~QkFM)% z_F3}N4~|$}MCsm_<)}BGjb%1)`wz^uE~0+JD?JysMbz zTd~aVQwVY0%*v`wo7Vo~Pkxjbqv*BoS{HZ+exaDQ-*#e;L{&H|F9h!EBYq)|&JUcS zhOBAm?>O+6Gg`v22=Wu+;EK)iF44e`4R5NDJNg6tBt*x*j#oEc-`tA8&BdM<-Jxa*M;^L##6Ki#RzZJDlLd{2pYaFssqLcFO@ zu5VO!ay=rrtpECqrgC}&QgIn)&&dK&rDy-jPHv(1aroR9*Z&+L7J-q02-;1>`_^0p z-of3NSd$R)_6z-KzbW%f`1+aC^$d2gSM`bB32jMszW)AcH)+jrr&GA2$=%)L?0O;| zO7qZI`*sD}9qmJwrt8+ah+rzZgH(K-t!wAthzCBuQkiGcsLaozMCT&x)2Mx}SgWL}$hk-2*4_91oqi0Ss>V_nDt_0zc>5EuT) zcAmHOT-$Bh#$A~RnyO@ zXkxd=%`@~Dbj&!~dG1#i>sbmrA7tpt^@ouPc`$DymBCSo^uSpaM1(V5+N$Lstme4C zgwd%y>>V5JOohBt5msKOeK;U@EIQ&wiDM zuzp7bQXxMhQrSOIih02dF($2^||Cdo$*zVo1=P|P;8#I%G2EHLEO=U z>;u|=$Jf(Kg;Z1%qZwf}r}GlnqG7p+-b+nfXM~js>qRRd+9Jx^ZHV=jXIJOj;Ar6RaqM9>_mm7j5R8U@w8;gj9^>?Jy-qOpD>+m`9NU9Yv&)>bSD)rFcf zKjy(4qNc5J?}cbW@Z2&}(_f2Ve;^g2g&@lkJ?-VB_nP@_@+aRrV%{bvN!)kCiJDtf zSZ|SEt(@59y*MEvq{=dpQ6{_J?e2TZ^f1+%e?nUk)tXLq9V*g;(PmdzOz$1^^>+aj zOGVs6ezpa3b`80Zt}7~{|RAz&UQ=iFm0VR)NR{%lc_@9 zMF|gvZLmD5u%>@Nm|R8WSSr{5TtEFa?~;|B-GnTdDsXcx#$jOeJbB9;J@<9F4>49xKY-{! zw+X?CBkaDn{NdTbcZcn+(pAM1gQ;JI`{CU7VQppgu;na=A8|>KD6=jgNRQEXJSzX} zb({KX%iZ$D_2UB}j+xaL>}zp^BgBmZUYA|JAFe*{8gURvH6SxPXx7ozL{ibuN`^CD zIIC9P+>%A$Y!p%<+HznXjG$RgF4N4Wi>SP9ckHr~!N%_@yTF@s6=mlcev=aly!n;g z@`iQ2wXOaQK~!9mowF?a(zwHe?$oS1U7xmD>~+=>GJ<#~zGiL^OqC9i%7YP97uL(y ziJ!Gqc~9GV7h~cnp1=CXy>r6C^hT9AACB%Im3~)>d+j(=(_h+)6V{7Vh}LfpT=!J$ znW6R7Z~w_u2pO|kaZEuS2 z^CrGzHK#K9pLy80!ufVYAQhLxC?W5W)hLtk^SRDEi84M}y4KYvMU?dhHeYep)>)`5 z#wh!2+x32IPLrBy##@<+xs$eN-S1jY_nOVN{ukn-Is4_sPY*Ow;j;lg4}{n0%$o40 zPyT|qqH^C!sWHa%R&&zB%Dx&-P{wjR{=XpHQ;7AMXOF)r|8r>o`L)k{-Sz)Ftj`R1ML>lQ|_fG;a(=>Vf!e{JIm!^5IE9j zDvmK~^Dd7ter)ethA?M5m-UHp{T-8aJ7dwSE2?e2yN-h~=Jp1NK+TZ~(IizkX3%H6 zI8kD)V57vAZIt{Q!ab$i(VWifON@$;A4Vu6qQ+{N)wVa8l*nqF;p`gQT*_R|3H{p`3wKh;|X>WgkNSZwRDHABh-!7)unP9Ao;MdKd1M*FM$H zZ#6N?+53Sj{4F1gdXsOnJ5>_aRa6S2-8~&0{q(;e@HruA4nPqP8`UmVc|3@hIjtuV ziJ=uR690(@){AJ?!|*VzmfKoL<&Kse1n6OV1KTEw=-X9^Uc%PRIPxuy!njxC>vlxO z)XCW=v|ASNu(`yx4MJihV!eFb_MB8V^PxLDvM3KheK6BnRH)%<$WiflC?WJ828#%! z3d^Af!#;}r5mH%yaP%akGO-)-aH+!U$xnC5n&XIrM`{TkNqV54k)M55BUG}jY?P$x zRFq`hP+N1#W?3v@IqQEy*gmR^pGIt0Jyv~w+%OruIzcw*GcvgD$HQiy_Vy+;_N5c$ zgun11U4FLI?iWw!K-!S4cw|9kwhxurZbV1F6c1wSf--2X2p4(^Wk*XBqTl#zHNRa0 z`B~uVF|5|epiRTW=1C8AqMG?<#|-QPEqkz_FYSl39<(hu^dO;Z_R**Gnz1@bXwO(e z3CSPrf6P!dZf>Q{eeeCq(lf>ew6mX1(EaZ4X#FiRdz$XlQ^y8fTbUjI8WH}YU=!P- zEI({rVf!GQm5TKssmdgTHkhObOI?I13vYz;mk2XzCI_H-px3A;g}$MA?>oD9b0&Q zA|gf(9UJgjiij5C^|!{!lmEKeKgoYzqU>k|SC8U(g);BdzW(wGZ#lM_dHd9$&EvFp ztW*5*0aJs)3+$Ifgh0)a3VFDiPux967C+a>uXuK*{uV@7FH&{AV``A`7Tc=!mtV*a zB7=Re=TM3Aq9mI?ofZHfJtHTAyt8eCxk=sf~1$?UX z_9mkPK680(mr=peK1UKeWy6srML2$GgXa+Gx*hwJ<#xq#B_o(BL{J~~-mI_X!87{% z)kodq_yaXZi%{*ZRJIM;Cm~yQTkt<4u$^1GkyOb%_zuaQiXhFOy<(3%ZQXVL(q^mW z57*Ndr&41HW5Mu9`U^NICBhl2lf6 zYf)RyGE%XGsd^xSsZc+IaH0gMQuVMo(e-&MB01X2_n<3#C{=kpQnhtkmk=9&sjh~c zd!2vZ%o}4(PRI==9V_+d>qD2mHZ6GXY}-;Xj#D)+(-wLL+Xt8FXT0rdZl!XmNDo^R zaY&=N(|?4XEkl$OS7^~JkdS&D%_A)$Ri`rRItZ%=TGaAzG*63Qs$>sZZAd!mA$c?r z+Q*JE`01Xhtv-aXSC>mFP7B6J%%bQU*Sf`L z?3b-RILp7ac0+|c(7MQv^)S{|dS7-T@9GmT6Xo!$R@CFn$?d34%c`k99Cx?VpQEi@ zsV;b>q3U&R6E$`3Hi>u8(%3V&-)X=*Xa%fEh)S>O^JGrE(7&u{75#R9Xi?N0<4uUF z2WqLkgG*%l=FJq2?yz4%-uf)P4yy3>(us26`8n$ON2ht+SN~;Jz+;b3^S1A>>s+bt z@Z#D8&pK19<$VBdl!P9^=MS5&Y=$fHL*Lj8$C#*-EupRW%)`z=KAcf|%@dtgMIwju zoHH8nja<}^>!-g_Ka3K$4Te(DnBl3jtE&-(o&8HY-yOpdBt|9nSC$9b3hjeswxLDX ze{J4nDzYxm!;yCqjcw^5c>ekcG@ux;sN^G_3Kh8C?5%g4qesXx| zwL9)1i}V@`=U}(3xCoLLM*!At$t|kau5;9JRjd0WuBhVlQ79Ek>+o>KJD_<|8w@c{ zi*l$C9nvRR7k%UK7UItK{R?{zI8KhZFV{J90ONS|k{tcs{$J)?cYO}a&IN^&|GZ5$ zyf4Rzc8qWr(f7hn)*O85nMl#8`3?_kAIMLi(6sep)wo@TKW%dliR}*kjFuK+sp_aE z4X)~sthdxbAl1UUdBOT?=;UF3N-fJJ#wPp(N$rEn6bt+`X|2l$qT)M9g=iu2-n~J! zkDX%1il_%l!q@5B^!luq<1bhGKZC&B$5bRcmn|andelTXk05dEgZWsG`eLUjEt$iE z>f#(sW#lcy-8X+DKbOM{0-typK~nK`D-|M;ipxahB2W*^$jO!EYD3paUcL6VpTILG@H`O1!}x+qRM&F@=!wpp z92jI?W@m2b`UhF|x{j*}_ZE)MI~-{=Hdmp2ke|z=&)lQ2oB!^qhG$Qdz22IrPgt;D z28lgB(ffFtou}NII7Rr&PnC(Ew7I2@kzj=vrxk1F&uK& zD|?BVf@5Fh2baD^Guxr&)>c}(#LPt4QnTW2|AA6rUC4u0PsmRxJd7UJ2X;ipJIOoL{Sg&VxQ=YoUF!-qaLR$G7?m@>l%9^{bkbpS7Il(uByI$ zx}A^QcP+~g)@4&p%!nWQPhMd2BkjdGA!BN6LCZ7M?C-Oj_JREswiTAgN=H86d7sce zc6`lotXJR8jKv=9UR{0EQ2FR{l+cx`=!~CYIg!e$?n$j3J!*`M2CYjdGBV<*6HApk zm%(-;TamPE!*qzO6ze7;s8ywj zzvI<*CNE-LVOjXe{s>1hWFOj(PiORT+3qR(9iD4(B*RpU;HO`@j{b0Y*gLk>+NiYU z^a!M~JpK)VdT_lY6{Febwr8Vg=PZN%;OpFf*a)G2IhXLbjr$TryF3tqRD7K?T-euw z6-}RkR^ZkgN<<|>V6>y9%d8MjMPR*574oJmID6NDGteI>t&z%PH!6i1rfQCH<@zJlRwyA!mFz)_SPgB^mf1H#Y-(K? z8(COUj(p&D|KYFmg3kw(de_|N#iQf$g6dQ3^FYp|yx`Yy{A`d8fmGez&kHv6DfM<% zqqT|Pz#D}JzN#VbpFGVuMG)H^wnzO6w^38_qP?NQlgS39P5Baw4B zQXyKO{8fCss{6vB*y_J8RVWEY21ZPJ1X7_zg!rV^B6;rmJ^gYiaE z**E<4+x=#|!()Sm-|kI}6WAX#!ZGb!>UJK}?Ob79KfIO~TyUo4hrBHhKGO+LXyQ{m zbSsGA`A+(6C;5!5P?8<%KVY~**^vkGwmdjzk?b}S>0JODi9CkmF%cu^Z`9E|^jeXR zRxqcLC_as3>(i4wK7odHqSHvYOgg3Vuztptn#?1_SgC9@SOlY8sVu_wI?SCU!Sk>9 zda6{E$vDfrye~JHbCn%gJlQcjF&YeIB3nH;J3p}wj6V2uLU`RpoV|8m*+|&cmMm@K zxXAQ4iAYq*9>g&JB9I5poeY>#5Ujb(jxt>Y zMtimCIbO@h?Ac2kR}^nTw7R;Me`dSq{d%BdXM~I2)(?acua-<<5ULH5aE77BHt9d#E zQek@(;^P^O{hu!xEvLND#z(uO9;lxXW#0yr^ld;y+*4tC(5f?eEhCQTP$r7T)|cga z&-b(P;<;L!gH!cDc@ga*X02@M|1zwmr0;Wn{6s-8V2b^MJxYbrTB&&5Ik`n~+s4+V zN5~J=FZ}Dd7OMWwnNDVSas9sFmNs-oMiyjh8ojo@;H<*Qf45MdJm4a_ZP*vA9BWVG zN3=edbN8;oJN1dv_sq&vNR{gsn>J4^b=7OdL3VA+Pwy|O`fK6hUz)4#Q5S(!E|1V7 zQH5g>98+;?=6uDNs6r|ny`)D_Zs+-Lq@wFMLm%?MdXWmzOih2I&d4&IPK>a96vhvi zbxkphH%1s9#^;=O(V}|XQ})zHJ`aETTiD3)-KUd|YSgp!!6iU)dpT$XE ztRt!LJX`(FXybOVSMn}UGbd#F92u0)Lw-g6BM+AZJ3goROX}559974EspCtrzT4dM zERmnf10vDqNKEE|yhFXIoud!XYpEkLi__nngs~w~A=>3ZcZRPiF)Ir1cG5Ew+Ex^= z=@G~Ssd^vI3*OmP&NnB09O)q%B^2UHy8fO`Ay$Oi{hDZ=uM~9I$lFdhfzWv z#C2y}YvwYozPhW(pN+jMa>3*0w_P?QU*W0ptxlTZ4S4&o*~5fqJiB9RZ0G1rTzz*k zoD(HD%5e42&x1-o5BmCf(8(oOFSdUt@1~4i_&LGlL2<&X`Y1{AIEc}@KR-64@U;i? z6(QLNlxrDHWxh_Wz(p_>-9ak8ZpT-H-)$P}G<=%FgAmw?xct8%P%4YKaBH!gn{!n5 z9FVE97mf{T{BGZTz@2XReuEJIw|idf>x0=wD&)>(l5pm8CBdV|+y2T$@SS8TMC%#a zsq13B7mqMJ5TUsAj$FcsZFD!xv<^|vz{y(+ukzFIb0)L(VlHZ~}Y z9W~!XLCw)3`Z;R)Nowxu&2sRxOlK$Hvc;qI$#_T18zZ54|ydW1p{ha){_8?Vy zY)nAs&FQ?p26-TFA&&I*<@Dzsl=by@0TA&`<1zXzA^YV5MCOr^)| ziEo}GnyKlpJr%e-9*A}kcn8n>b*0+$gfAz&@u0kS-#~@-L4UZm3b{nprb80~KAHKH z854pH)y#ed(Q3{_{r-|-i z>2K8WAfnSF@Xn*{$C_S^>cUu{|L0#+b*nx)LA7nl=zzb(j%cQ)zxsPDK!x?X2%SN7 zyD}#(`a_14>NfF|KA&3mGWHZnZH3iwy54%i9|2t_TK>6GVZFpV{9*|3P*m68nt$rL zdizUS+A@u)>AK!AWX{Ic`^dJ}lnc8QL>~ENn)B5K?8&f)6XN8zE>`|kSDNe-`Z*&W z?ud8&FGSBtb^PI1yd<}7%`_vjVYTQfJ{rUG``yt}v_~CZ{Qjc!svp<^F4?YTA*&%((cK2Gn=|I560g}jBhw(aril?7c?$2reBJK|9)7qM+@eKqgk z)oSs#nG);8UEWEE?iWVZ)_u9K#-==T*8S04bOu?)H7Gltl&@b?{jIWUyzfeN-1|T3 zZx4(Mez=F)b5wtqEPT%oc?*&K$s}2{phc|G>-$v_7|-%44s$9`)I(Rz*k$p-4$VOOfd zQ=gJp7uv`5d9dO)+3AE{s`T=CPW!+!q};gjdp{_DnBG-2s(*s2a$|PT;EZGDO*V`S z_uQyk&wE@}ja;u5{e4U#74mQqFIV_dZq4YbdJq56L15&&QgPO$+)ihYpa04MGb2PZ zEZP6DWzIx)hGp`?ujCzDJT;)s-wqF~7bOfi5D$8;*)`;#;eq^I9w8>G8on3xp42Bt z5_d#%u1uZxS^H7c>w3^4kZQ=XsLpzaO-&&OmWt=XkqXf+0;NJKTDG@RxMav-+zGgSW=sc;?zz-id>Ztyn6WTcD@Z@xzXbqlEgr@P)JG zj!EaJkGHgTcwoI4Z;2De6`e4Sl3?3LwBAoG*Te?>y(HFk=s<;%;8Uu5a{bn(-$&|g z|4<(H*lmtfc=B6~izWp7?z6jeg}Ca?{{BTJf15Q2tQW1zWy;_Qge1@Kope!R5gVWG z?;ouv)aU1a`xYbU4#pKnqD2h3ufIN-MVJu)-YE}(k!WY>89{f*Zq%PsnXg+OuWs%l zJKa)Ieer%z#~&CmuB~dmF-wl`dr%J1C#B<^nZJ$G^NH4?=vmFDM;*nZ44M(aqTs@d1D3*5#qwhtloC zL_5}nvh#HtiTm$rAWzI%ARin*PGP<1n{s)WHi&v~z2pNfTOP;#+(35iaFtxsF~{*a zMv2RVJZOJW_1VFRiA;_4o>FmABIh$T{dEyDvL+?+Iig(z-a!QFCq$!PqmiFlUm{}* zr#f+kK6jr7*H73P8`Ag!*>+rNPUKj^UP6eRKOU5a@A_2kdBB}#z_|r%D?(ge`GUgg zPZ!5#?HcH;f8b0r=3^n&p1(5ko+yre(%qE`5xAx!M8TYw<+pcikr&M9>5SnpO5B-= zlIjo1YkrK!>OMYD;ffNjO}SEC{$^|WP{-MFeEv8mN-!#29s^s)<%!E4icMeP>VZ65 z4_Oh5l#u#&@8g={`k%?2LMfUZ`cb?BtD$Fr@W-w#Fe0z0H+Y?@Q zr9vKV>}D<(^2@ufkYm4|?C`*O7+3Q~9qY-fv#ydi>aSGd9Yo-aj{bIy*Ew=q?KY7C zBV0Z3`5e(g%>LpGx%bx^@`agG9I22WTEUDj;8xv`6Dpj7VIM@M3eBN4}Hh;YY=I<8_IS9k{zZZ5Go&W; zp?So?InhN>4o9?$&|@Ec3ZgI`WGX_C&pE^Kb=y0a)aj*;{wP$xPueuYy@9mPOAKC7_ z75~tvQNgeqNRns_B}~tQtxHnTit@7h_jP0nWVvmms8eVNr zHbJTI?R8fw%7cx+OSKi{W457-D9>x82iD{wu;)ayo8juTx7lBmhSs`kl+)534VzYeqlo|?cf^+O>L;bz&r|ZQ!ciJT<>plv7 zfD*d?$UVCtHe$=?vffhzohM;LU`;wRj9e4D^YtZi>2Mc;&jyIr>qCE>Us#e~EN?1y zHAih-ss6jCyIQ*BHF>Xo=b-*eBZF_A(r>kmTkgawMvPvwz5hYE{Gzq8zt#hNi~ew> zs+1jvvS`cR$^)bKwXetScj4 zzO9Hy?}xvXL#s}aUw<}Gzr#B^*iqB2bD_^M7My(L_Ts=3(J`XWbfBPAE9`AKUw2P?R@CVszMJM^ukFFlKyfZ3L z*`;Q65p@#c?Xz;_ef?VaOGjrYv?5y9_29;=m*m+`)KrTu$?{Qlw63f9u`QW$_|I4R zv)4CO6`JLFea^LCmO~!s*-&rYL;AP}64%UWr8-;<4>3_^9|`U+(O=+9?4}Iqi3iq; z{1C0bh240p{Bcb~RU$@89^NoBoD4`RX91M3QR?-co?yBF*Iq7-9AWn&-QM~3^UX&)KwJ+E;4 z-o!h9La2eYW#(_OSg#esohZRCU$`D@vhqs#bJLx%#&6uDkV@|g@xFPg*sL@x)q3pf z?tV>>^s#T5vQ#Ju?S|l1AjH-C?u}IIaD_Z2YpOn5BF{Uf*OwoCH%q_KAGV@y)uY~Q zec~duG$G2{&p_*dy!KCJ-VH%k&}%H8)o#0MSe@A3=DCg@`27#mNzX<#yEyXulKS$^ z52n#u5ZETX>L%X@Qdg1eBvh9+(>Ws~8e9Gtc zdsl9T!?vmCeMU5sGJ2W+iau8cJ%#mR+ay0EcBGj7yBrz3LnJjy5J6Psc@WY1Tk#7X ziTtQ4sS)q!J%V5>v=3eHdiqiC&+1pjh4|{s7b0iKEB$`MGZf0cYuPk!^;yMcWy95D z>Jf?S44iZAh}u(R-^KRRpp{cen_oa`lLA*;TmU>*ng< zy_t$*DVc{GS7a;ui_)G{y(8A{9>)G-@`~x+f9G@Tp7q6v>ZDu0kf-&H_;?4$4A`UU zIhoH_$^O5M^!I$_N3hqQ5zqGqHYqk|zf!*H)QHd7u5&{rRjvP*@}m2c!vpJezd(Gf z?FjkUZ@FN|eREZ>LK_Exz8U#!aq#L^+wW>2|M*T0$nD~Ped-SqB|!<% zhI(H{(Y5lt=DqxSt&YhKSLAu8RJ3{^!qsE?vpwY1TeAJ5SyG~X&~8|h*0;tja%uKx zf9{iaOQb>`E@D&BI(hEyLH@2PcRSWaw5!L4qcQpPgaQ8J`O6&5k;)wbfIpnE4@M=% zv3`#FK0Efq^c+RV^;M%@>~Z_8jMR zP|dz;HTBd2Z{CBY-n#u+acno*Rv*3|n>&59!-ML2Qm^A}-?7iTZcA^UdFb6ex*tRY zQ>8;#smeo8U05&IMEvwVvUSbn_}yC~b3UKqqfJnD)Jcf_XIv0_ZP$gW=jWLU?Ni~o zJa0gz{cZ;Hvr-*vaY1bAo(om+hnafa*;<$GAmYL^qu$KhEjsj{wt*uR_LlA#F2qEg zu@6!qTJQd9H7PbDXsm?R1EoSq*j82#{LYWw>uS!Sr}O5SiY&_I{|!M@`1Kg`Eg`AD zKBPTk&aCnF?ceMDc~>9P`%sy@$vkY7XsOCYAQhLb&%gdGJ9fjE#%kf^Z4}=jNl^0( zw?w^Fua)BugSVddU4P~?791i*cl(3p_*hS@ql{ChJ0#%dIVCrwgR8)XXj8} z)B`0nUj~x;TSC76mXP@x5PeC2JcvBlBGy*=TS5s0@<1v?yF7?Hdk_&=Q+fnaxqAH8 z{Ylwk_M39^2Lt^oH%9f$))A9&nyruO5&01>dtp|b^5fjy`rMyB?c;iF@Zz`R4RWol z*tU-uk@1~vnNe?Tmm`J>YYJ^kZBR#=x9gD-6Ma;^_#Rv4uMgQs3^CD!b?FX!jml&z z{$@i+PdxaGA<0yTb`fk{LQuK?l{Ra0Yo_bz5lF?pNkw4Jz;U}fdc|+W)A-})ZToeb z$e_2jydCrRdk+UIo$tmAfe5A|?jc$jt25es+sU8yn^L3^+nt`5!g5xeZ5TdBS^cAl zuPD(S;`h?EbY?%I`N@kBNQL!=QJIWjPf@){g=kwl^T06*?N0#|HS9> zJvxE^`7^yZwjyj@LM)p0uxvk}ma34^-mm{so=5K@5(0T3TEDy0WwWf+|5i1r(FuB% zGejU2^42@He%u=o51b^od_UDkd9iPIHD_PYUwl62vff7+=eYqYTYBAMO(ZfE`5dXZ zOxGDff1?U_uF}rj*YBjZB1FsnV}f}%(ymbVXZP0fZcId{N332lHt3#{S}*c5Pme}6 z`u;iXh@~^4=&2~&jhkh5 zh!$c;^fuXT&VtBY59c^@eRI~14t5?XHTyboz6`n0e(I1rogB#fv{70YfmDA?%MG^v zWOrk`h?b&)ysGx6kwHtQIXkd%SGl|T8ghxMxz9&~VPDV_q~7BRcDv=B{9uN#{6cz) z5|jj~5UuB4k7ddmmNb^*db_s56<)NP5I0|avYhtr%1F`ut{yn6iaNPcp&kqC7U<`5 zdY4Q;$ySLb_KT-SAeF1fgYSJI_g9`G=N&i5*{6?Ex%0aR7Ymu+wFNoG&n0}LbBl4vzd}x-l#)AA@9-;10h1#O6 z$cDR?aXSyD3{{Z^@5u+QjYwQ;#5JAtJg}W(+itmad~j$X^>FmtJ7=_#)kn*nqh>pL z;1_&QCn1_O%uqL<@qnDyys3J<)2N`;oKo}d%JE;14CoDMZJU_8x@0-gzw}+p@a;vK z5iC2=A?Zz4M8LeELxt#&o_J8J-B{gfIPliV!OQ#19EoXNoKal_+5~NdXcs{-%5@;BFbj-1S-}(N^i!Aj87FgJ+9|Ovj4O;|mj`7v?xT<&>f|EO zCWyeA^p5z3jnp--&XFyic2^Y9AGo?GMB_bIs2)%Bmo>Y((f-X-BZH;?ci7BXqJFMa z;Wy~@2&diLU~zMs&*?;3-4e>$V2IK0vB1gxNQG!^-6q$m*B14V2QR9j(4r^_N*Hn= z4m<)D>94TgMt`_#Ui}{{ zmd6h{P2N#;fRlX?ebFVOf-avNHYfSIQiZ2F+HZ{Tdu1r0UdOp-Qsnt}{%Cuh-W!EI zB=(&6PLs<+*QrMqYmA1-k8BlM_m%m*gH(vtdVl!3)bs5c>(1%pOc9qYkAFiD74xu&{ZwHZ>ts^Uv4>+#So9Piq<@zJUMAZ{tM!iNa(+svd8^v>dsaZ74 zgGGrs_GEO(f%^~rZQMk^#8ybFxgz^8721ljD_?hc(4F#lP!8tnLcpB9-(srO{F5)g zP3S?{4lUv$aJCMq*j6@EhjQ6x9NjM&%~2B4oUe!UWGl1@QX$$|m2vdQXk~RGNnELP z{~`5CgHJ0BO9q5g*K7*?pB{mlBNd`eE=jE2u_U9P|1=@V=2{zlzHV(*-bx(ZK`Q1) zXm{lY^dg!Div=4W|WAKJOT_bOV8W}fhw|KbU@d{)M1 zj!x|JR0Q)QJupHO2$K`jQL%*9x@A%s1lEPIn;wC_MJhzQQZW@-ktHO%aXD40@(@JD z*AYRyqAFaqDsoyXXSmdS#d*-=sKokdQKFAZMX+z_4%SOxkwOIpBpSp0ItBHOG39pPR4H=V-UzPl|ePF4^bh>QQET z1X5v4o3(AJ*S39H+h+Ta>=^Bcb`e+?QXyIhy&5j{YPe6U;V3)uL$nZAOg&kxy5?iq zvqq-svAxur5iK>=E$CV5z1~TGLxWb4-zfFIxtV6Bvb5%9t4oTk9G<-)oEgFJI*l1- z)vuvmdHEwb&@J@xUWqSht8NpP{ z+s3ZuVK@<%?$Fqfo*=l)V@6u-wWIKVLNFDfd3`ulsWdFS`|Kf{AF93eRK5rThF z)xPQky?4-_lR0})cCc%RJ$-TfFB8n{FugrusrA{oYTNhji6{IHj+WXv{X~ex)hnuc zkzZwlMwvd%8Q1;2)H`tGfd8ldvV7z3O1?1&d>^1J`& z-oswCibuS<3-=hrsryU4{%`Nsh|0PBeLm^7JUvJ%)JdObncYpbedtt08nGnuvs9^A z+Vlw2iOa>G9?(*Kv{d@X{m@jGLLQ_o@*_m3IpiyU`>;~4?Rll%NJZt)A1i*SQh0IniNdpLEM4o9TF}!^BcAyS9$} zOAa`mHD?GZK0^rW!Z+lRw_ZyHJ-A*P`*4|fp#Re&kP4&6MUZc~4RV?IrAM$N$yA6o zEy~wz(6kSXc1DvPT&9}-9YIta$N!8#DlSv&D!WDpU2qdJ(~PvxsYc>ZS^h)>gy~+cuY})nW_QUk6TuKq@ZV%s?8mHtZ?# zAeE^HpnT3{>br>6MR4w8G|5h7Za1k2te4}85L{C#g8PYN9$Zr@f};c_L9`GZe%vLS zMk=Zc&dgLRUpefR9z+Jn^5DX64|$(WqV=yVt@*oed?W|gI$7O!XQnrSU}+qX}!2cR!vw7#sw zyrH7kaheZ}1p9w&J7-$He#Eey{fsp z`7NQ*edfgc#^1)8zR+JG)r`1)Hn^e0>>_Xx-S^jyosoAzZ0LuR9Rzw1J?o76RG4M5 ze2mKWa}Rq9zqQY8?sqfrR9HR6O`I3)o)F8H(yiBt60{XYj1YsqI!=8&WS6Y1+Boe4 zCB#gmM>;?3lJV9R)in+2Ebp-8pzNqqC=*GA2$TxZ?)kfT=I+yD@`6eF8yXkAdUYHv z;v(=&Vnkp~PW$i|6&>`hed(xo(a{6`=1&iLU%zwIyK=+<|C!$pdb`&h^-8bWtK$k< zl%X2)!%^?Ex_cZdL_4ik?})d#gfenyg(7H!)DK1nRacE0-cfkn`W|Y-Cwak~wTHbr zn>)nuWaf87e$eP6KBf8Whp$itC3|AWZmXnoNnWt((o(N9uZv?Jw1Si29ND|gJLIX$ zk9z;N`+#E+eKPl3oz#x`&&8ViE)T4i_Brf)M`u{g+vUOegEU7ggxQBQhfM8IaV#a< z&56WBD5q0=L{-ef973vvCL+Wxj$_PfX! zqvb_D)#M_O2cwA!(d8pZTSU7EvXT8o9V+zNu%8Z@J-1dWrl;}A1br%={X(Ap9t%(* zI;1BA+61EyC3F!;h4rRKVDzDch!*0^CWBOQkFR1w&l@c^ zM%pjY{HHIyElXov8o?40xnq{#vgPq_2-L$OUbyF={Pnbfh6mS0dhm#Y%6y&mh-&@q zk0YFV04|fIIeIAP6QzrwR+~(PXd$|f`$m5MLqFN?zCr%Vy-{yYL8;eaRXctDF1&pP zZ>8yPXAb*NzH!!E`Qx_(^(Q+t`@&&FmYBOw);t_*Q9EBZcfCA*&urPiyH4hl|IX(zSdPVwlV;(b-RF5COEmCLm z+Q=o>kBSwh#pO|ViKfiBVi5emgD%a_K$nbL!NQG!uDja2C_CcvQc1c?8!K!`K?xG#? z+s=2zHhdEG^7Rbb$eq{3yHqRi^sac*BQMu`SUMay?B%L!<9gSA)hX(?!P^Qmr?r(R z@2M?D2D|S)Xx`yP3CYv^i#qnK_O6sp)tgfW<_eF%BY7C$69Vx)~1ZMYN01 zE7E0WS-7!8*C&5po>W*bQn`^h{qT)y+moM1?%sET9y5##EvX6g_Vb$YV3RSxL)QmyPLZAeeHLV3}m=@G~ssoZ>pSrpp=mnm~{B-$)G z;`ZKZ?>BF>J+X3Sh4w+a^=dsbXwb)g&Ba}Vi^(DhYHc|SQPKD|9^fWL{m-9lb18g#r-R3%THcb zbN^!FQ6W5bZprI^$?WhtGzTsr4#=(yIVQD%O^=0hdX0 zv`BgcQgNATGGl6AkEwM@@5Y3Y9+%0Y%r6zecSsU06BVM_=k(VdS>kvO(JlgQ!n0At z1JN!5>q06-y9k`wLUefu8}0L-v-6_#1{ls?^7Zyh=()CwUPXSp@inT!!2H;d^P=8+ zXH&lF79T$>-+OwDEz|Xt7a#Fn?ASRj#L!yRRqKw|s$XZ1h#}RQ3Hjd6sg}w`SWR51 zh&xKfv$*?T-f28d7>nRLWKk{?6{3aspwR_t?Kn?pmR4^bu6nz*# zMMY7NunEM!Zq?lB@6PP_<{a2M-S?{->ej8$6%HQoT6|S*=J&2%r6qc=!la+LOYgaT zouW^k=CNNRJEdq#eaUUeUR;VEl=z#H`-^@H*PL_5xe$8J|A{kE_4{VpcA6r}JxQN2MLH==Q_sUO3)S({Er|NHeJviTJsV zSKl4$`7gC-u3G34MW-RDJ`>;A6KGmuDy`AS5GuTKh^&tK!e`&!4~o28S@ z%6Gag>+_mL$yM-qi2;`sh5xsgc0tgHB^v^%&MGVlo1I)#=eist=_R+M=iistZ(3hgG zCwT$R;^|X?zdX}D_57~xq4Eg|Wk=1Ocu}}5r_Ahqcbu0NHc_wLKf_)7zMeydnu>lb zeYe%di`~I$l6%{a;}qtFnj>%V)l#g*K|N4EeadEGLseC_#H~F_uHHc^lu*xp{5D<% z9p;#?uc$|Lk;t~^h+ryu!)QwLb6Y>Yxqi4B@$a>Q2T`FUjJ60YL9`<3AxjVuQL84) z8SSRmd+1Y*R(Clywn3k4L^nZoE8A~kZR1@ByqkWYn3!kupyxJT4cXI1bsKYf?4ze7 zqTl}=^h$my%RoEMzu!4mt^0CEZ1^)d3aKy-B0qgU&bQ~Pg2BJU_UIcV5rGy(v_7Lz z-+MM?(%=|b0QF!rS(?+MwjWy*u!q?Z~$&nyp=7bVGF9!Q0yDG|5K9Iigu z@{W;;TYBmNs4w)Yic$KT-Rt{;dity1@44pgyM$haR1Jb!XGCC5=KFb|*Bba_E6%Ia zoBKqI%+Kxq^C!Ol+CBD`la&8*JJAke+b4I$LmfPlQ;KsuM)Tb%N57 z-3S3Kr$8W;NR-_Ydp42l1WKp!b z=;@2P&9ObRo6{0*2Ge*D#~&X&H97RQ?ziI%7;}iR2z{IIc|{728rS9T z4|$yo@-yEJd|oHRV_9mq5rH{5&Wb}fxVb-VcgJ<>tA;*UXvUeFKkbt6`b`eMJ+{oW zWGfcf=ld4ZSncrK8SX#Umb)jHUZ;kAVc)C{J%MO=wjI5W$)z()qo2HQ8)c_mTQt*c zd*O&cD%2x8qJ59Dkk>#V6{5}AxURnISC@>whZW8X<}~#H_%tHhPt>RBrV#js)8tEx zwtn^YS%~1j zvTtYQIZd)lsSv?$(y0)w&!Yi7Zu_T|>WsUjRFfaG&r6GF)&LQ&KWyJjoh}iWlSC{} zB4(r^Feix^^OEJU^4h!vN|N2Wn|+J;p^cOZt)86+=8HLzH^og^P>N5jBI{B*Z@sxW zD|P-=rk7v@K#xIwdiQeY)7)E@7Q07%dZ)s=hEx~!w)(xgn#$wpivF<<{Uy-apPM3ph>usLoFpt42VJlbZibr;4H|A%0vjQmq_c&!6<>Qt`bOXKQi( zTDOBRGr_%LYNN2f%g?PIRMy&46#c)b*!Et??$}cE^Q*qxt);R*i@-hur^nX(S+w)j zBZvy~MSgnc%cgwQ^wXK9FB;9U>(lCChCX`kXsJ+h&X@GyG|B#@KL5J$sB%+pB!b^8 z-YlsQZF=E>p6fGGF@kt-n$S`Yn7;}JKYzf>`KHV}^RtKtA$l%5;5GlY%=@F;?^+K; zphb}i`DI5SmDD3|b&bi^)Zgo(xjx~2Ji|ub zhiEaMC~UIfjRW48B0W3U<#%C2iNJix!|kl&)-)c=^<3X?hX$FsKF*h7BBzN5T3W{| zKwx=rn$X!1oNqc6qKzj8dOp$k6(dLzP7@lvr+NfYahd-;f~m;+FkgO7Xni{6Dc7h$ zmEXnQtyNE~fWTD`@=PZ^63(a}lo!?s=0Uu5E7QKE`e{~i?w31f#yWTHtLP-ZBTlI_>*kRM z@|Jqw4j0q|zhFxQzCi?j=hnBf|IkKx_1460$(Nd=wpqPIMPJ$F*9`p1A*50)6~%Ve ziPH3(cBN2SB6v*!yXnoIU-8xFmxGZ+Zj_ZUc;yGvNJ^I`BmZ#j>eXoxd#>eViDbZ(9`$%^z?8A#>^9_q zydCF+UG>yC)7QJlzAAa}+8CQ}l|Bi<_Q>_=d;99Cr~b9xJx_nZ;(7dZDwI&4VcNf; z8hFD}chra+bxX+m)$&qhUiPRbbdm_v5cB0SC$zp-=Gvpwd)J)g4n6&P5k*nkthH8Q zzEOVbQzt3wbKKeq^dBXqzwLgN|8yjNSdM1IXFW0R-Q(kBcjm!y5YdjaVaz?T=8MkBT|B5n z-}@TXZ7h#obw|PZyXUpZRfj)yg#S^WmU<0KvKuh4d``C^IX-W-uyL7 zH?{ELv_=b9A(xz{$h6hC9bY0_bUEl)4bZy)@ExZV*$l6ob1zW zWrf%4a*N=YZ_6AJ(R#|f1X3Y7qSsbd_y(oIoFoGEKq^E_#1m`Fy%Y4VCX$!FquJ9h z@)C%4oTaa|Q-mAfc2sClY-_PMK(ux&NU7?idcS$6G#<%00K+F*hnkm|-LTA?X6_%< z_uYwA#mSioR>j%LSMq1^leZ_9x|h@wz_|X)bPR0KJlW0YVDe~eMW}QzFKbja}sgoygc{X zRn66-Lvs|C0k6g-&Gr0@Sxvf zdX9BFN>d$t?Yym}ov%C3FPbq)jX!a`_wl;rWMLynpQAlF44(AoMP}RJ)Yy4M@bg4e!NX9y}?Se`Kz>Ukx>{@uI#b@EbaBjbI9tiU;?cvOo(Do$H(*X_B_bNc*-q{4FM=avT|kc!ikZ*~N~NvA@z~FiNN}d2&qSe(Wkejc0ouUJm+A` zgLR<4h~PB!;jvfC9BgFZH|bP}cART_+#CC}>JNYR@BQeTmp5YYUeo`;do=ahvDE#n zx*gowBsRPK>A{*KE)@tY8;NGQsLy~SmYW7t>Tl%eK2FPn0w3MM?A3p4h+_|Tp>AxCIR(NOavIUd9f+c+B6_&Z)h>ZN74L&Xv_)*Z z?D9@q+ifbXSXeA7_N)a~*$i?|)Gu(2wQp*T0K*xXxjRt2YNq1p2Y$w^t)Z9(lN$(?2>%hirlf zlvc0zIlE@*>9nhK2g57u&wdma|X&58OB0W7P%!h)%g79yt0%evZ@W z!zHe}tf3m95jZ|W1eT`beER!(cX7vKRkNEU56oA3N%!++uQ~3YHwMRlB3qn|O$)u* z_3b_7vIMuSx}x+Xe?V}|=pS69LMuqbceQ4?%g=7AY7C3c-XYC#l!9X)y{7%iBm9k} z{ewe!Ke&Yt7kI~LNnRcMf{#3qx9&5*co6f&@t_<{AcFe4L-l?1JO0}xHU6Nn2%_~V zH+!b*vlE-Dje55ezCqcsoE&HB51rlmM>JROmFLi{Jt-cDrst>c{xi9c<;Ds1OFucY zWAN7f?L-d%qo~x}#%kLR@*FG0D^AmVYjyLY7J+k?I9s0`!TAyoq(U^eAC?EcL4Hx1 zzTM3jcdEa2^7TQJRyEbZB?aCYUF~hwSpHJ;7rH!|JEgeH-+XmHH6~W*9ru{MR~>C7 z<5hB0#G}+OeO(5PSaFSp;|%)i>C)Q&`NJ=KQ}XEhR)P2ZK-;PzKeN8X)hkl8M$w8C z$`@C1Fb{g}IFsF@OAF6z;NN$6k@B_{=v{wS4~)Aw{&XDNuZHXTc_3v~Gpd={j+l(_gtlsK;%^VUy8jcTECU3+Z<7v>9vKzkHfM zX~$%7Iwh8-EWvDRaoD;f73sn2avW#Y<6p12YD-i9;pZd|v^4S)dMMm?hda(_2iMRw z`>NS}_GG)_uw9wmm!@yQNKql$aVGtCcj(q5v!N05CuFI>w>HziOnIa3dM!w5uYMX2aap7B?U&eLnTIj1}mK}dTW zMSImP@*e7K&nkA}g(gk)oS#!V(^hmd5JhU%gVJm_N@qtP6|TP%2t784Rxy(14~?<> zxCAqJ2n145PP{@;_W%yQ>eoHIo$5HLnaVvmKm2|9epA<~ipPgT5AHX+yB`~wA6~R> zfASo!?%QYjn~KM&(PNvqbQ9)BACfopN|X$p5bl0{zu9Rc5s@Zwg_58i99J^+ASzx} zh*XG3kiK@=2MGf`@e0i4zA8o>&gmJ_rqWDT|w&pb1Z+;_wjiy zoLBr&|EfX9ec_oa>>M)Qge#>&DlT&xy+{P!+Jhd)=joI8>6n;0Ou-OrPGP##6$1{^Tu_b_YZxRw>j@I@z57h8ZB)B zmwwnr(M_?K*Z32Qvgo1Lp8I;Wx@pg`1hGC!9*E#K7!9b*5p6uNls%D4ipm*pXvgw5 zYv`+$3N0#mpj23MkP6X~2fi8i=>G7ViMAh&IY|V+p{vDE>4ARzFXQ?)M_TF9 zE5SNZ8qa#N*0ulZ{U17J@HzcxH+s&sOCr*#7>$;e2&_?ho89j5uuFaG94te&#DcwFvI%QyfIJ z?CGPtm@gx2nQz+CQjKrwsI}+R4NzX(Gl*xbNgmbZOL|Bi%kQ{dEqMAzciFQmOVLY^ zpFH^sccozK%xR8SQJ2lp8$U)G79>l<8dK2P2G>0)>Dyk-IV5}uNVc9T3Xuj+VMJ=(1M zhpIE+6m{2`CySHVu-4X`64z@@>=~_&^ZNPc`CW%h2)>%xSsysQUNA=+_XnDwy#UH#EP?p{xyPC3!rd6k_h>RD%^SI4vEffDKy zt>0*;=wI>9K6)3njk^@1IPOwfYJT5Ur>WAphpEoLG!pd#sj#ld=)^Iw~FZEiPJDT*>Yq_GbMa^;lu;YCF--rF9P8}Vr zd_k7EurzqSwlX6jZdphV8ck43jjf$N)9KY|Zj0L| zn3l6`pCa#;4Ysw!UGbczR@8CsyM43!i95s~@YDcK6BQ$<{PoUB{{&UM)_&(?`w$f( z__;+?*PhcG_OZm69cM0c{aP~{ic#%XT8I?We%W2|=(N&HOuvNo8 zBld$S=eVh{l%m#>_I6dA<|Q~yUPmR%J_k_>5}_eA|*rQ)4vnFy9QT@Oafwsv}}GQFDL@*q#7 z9ul=`C?WCSUp(0UNs;dRSVa9B3%z+a+VuC0ij${3Mk^o)6%U%;HYxQ6sSvI27Cn24 zzxWRw_HgLgTZdl0*7l_{*QfhJU%-^}37++;DmyeInsx@4edklqP-haIe{u zy@M?ddKb;=oLGKLk$0QcY4;Jdt}hz`sn8195lDq4t4nbFucfW74E#|~4ijG*P+P18 zj`<}=^kzyGdKp&F`^jAbn#K4uG z`bV@J5G<|PMf7(Yzmo6udoHu@D|uku#(cR=q;@_N!94&(piYi+PSJn-jb{%C#(t|@ z?0KV9{-S(u<|DR89@&=KL2U0DdxhSK*V~o>+bfB{)(fc+?Ksz;`j&sgj7x*5$NeR2 zg&vL)YFWP8QTo8==c@9#IRVc!ru!~>kKTQ@{1^Y?8*+mlm;U8qzSD<|_l|3@&zw#v zdEkr}^T1j}X?|{N)PHx*_CGHlZ|Wev;hqywaoX0X|Ajyv7V+wkD{`M0^pIQDY`i|F zKZ>VV`<6~gnmhC$2w{I^2~jqT^+qD5%o)` z{Yc)iZfy0=_=%ps$bK=YQ)7bny#a+T)HErL^Qx@09OL|JoC} z=hPS${C;qv_q*P^OFbFVjvcZzoJKP37TiU2%y1TGret z8om4-0=*i``S067=8g#T7!XRwcFYT@&?_D1lveFyzb$O+zVZHK^A(B5WEekW^cn6{ z=9GOm)$Lh4A?VVl(A$0GLGP)n@)B4ch}J8%nm2dLe{P{-`aWU&j)UHJ=-P?i^kK>G zM$Y_(50|c8Io`c@ljMQrjQkvD*Zh3<|88!kx?j{uVLia;b7)h(w{ki2m@p{cow%u) znzJ!SAdpH*rTgurx~CuLp1wj2sSW2*FZPLdR??;7 zl|zn`bJ{hfZH9c{_PT$l=!;@p!TKL*p)Fv(fADt>{7!*7Nd(G{ROr*0dhn_c(t~A3 zog7EksJC>D@^y_;*r&eZoa;nQxBdIB-ztv3hf+n zx?k~%gmeU1!G8bH^*pBQxv%TFLOsw5vIG%@)M$cE={XPy5>lQwJXv*9g$w|GUwYPUyPeb%@K#{HqX6b{g3F07gDjd)N{&?AS&)B zA{C;ItxTVUQuKyaSxD1dA(GdsYfmFoLc`%ZYrIm=8k4*4ho@uGD-$v-mlY6Bk z0(p=mY-!9%A~0X1LbODn=17IS9p{lBzmMHpr)3c2#1v|aRC8XomYz7#O=L$P6_?YQ zH9Kg8zQruyn|oK>T@kM6alqVZF!Pkka9X^|jEeZV?YB4B`LMs?`7_n}Z5IbLqVIMg z&Cs<=pyo89|6m(goz7d*w?XllXA0M(Mr#%GV6CEFmqRzj`g~LD+}7nG-*Wq2?edUs zxka?OtI_8hZ;=P0B?9~HR0dpgur#r3%1dZ)!{O>z|SKq{10-bJT5e{3s>Jb!? zv1Q1Pz`g-eAzJc41X6L@&Ui6~A~yODmLSD;{f|casdj*Hab0VpH;9ndMIMMiDlD6b zKAi_r$@0*5egm0)$3F2*|<3)E=e3Q$)@Ss_Vi(e;k+-&uX-f(2=d6V^r=Z_xr3$_1}99L;Jwq~ zfcfTu{A78YJWlU!`{-Wx`2%AEEVYuM6TKH^R9Aw#UVPfExwoep-r`7w+<%`uNzbb7 zH)s4V95pHIxPsT#{(95X?y_08sjuHz?&6yceG9|gKkYYn^r;RbJDHB%73|U^%|spTza2-@9;_bbSZ05lnSk$$)m@%Oi56}OvDR!M+ins zMAIi%xMvlPQY)4&U4u43sZd(S*)pw`dOG;pRY&FMlXQy074O^gqH*WLOQ#lvkBuZ> zAa6&+PX~&^34WQGF-0mwJIrF;T8TF zCvfN$orJxhCZvrA6OIL?4VeGA2U*D!>?p`!o=(PqAKlhx+=qF@DL$r7oUR)cBPV z;h{}sW=EYoi}jMlOZdES=&NlN{CI|y;-mf&_t@N6*IMn?+mc$#sSu6)B6`x}vI*t-&RXgfZ4IJcpT03Y*;C7uDq6p{)mTCEG-%{4dEgsLGXf=a zob!6j^xvIvAU5!aJ53+%oD-|OUthNo?(y@hyeHe~IhnTkUg5P>ruQKc=u{y-rQNZ;U_iv%iF2VeDGCYeeYllZQ7pz1e5Y;~Bn-7UeYc zga0>zsJIr`9`dN(aer;1zWdfscLt~jT0z$HtLj~$=Ipr9pY(BEaXuWK_ql9Axn3o9 zkuUXtu^Qdo9lqM-fVXhgzLdxGf41B_SM3gXk32?qvi7dHR*n65cWVYAkO$h$ zaUSSD!=JIaBDTNYcvI%h^iH-PAMb2hH7*a-Pp_tW_iDfND?fJbZ3PCw(FY?AS|K|E zsic?e`*sJ9okeuUdWUr-b=rcWvSeFP&B5Bm&&h@o!BlL~bW7Vhn7k?0_zNO9O;p4q zDi1{Pn{+BfvnSGD8L!x12`x2`F!7X+5*5~SL`U?*qhLuzI9}ItLNse!p?5OcG@>N} z<;8rnBe>=e4~#h35xiPGT@Q?WdWF!+8L_TUwo#Kt<>)Vp(QP-ednS9^s_gw*>Fa%L zR3MGg%Y)0DpW7NmHe&th4N;L)oF-pl1U=VxC>(d5s`+Fu|C)a76xL^~gDZNB3>WUA zv)p!->Y2OZL9w=vv{0YrD4_?+E?1uElRSgm$4*it8J8f<$}ikVC1`KOI92Z)=^y!fPjzTi10hwzyC!)J*B&st zKJgoyz5#4g3;*>$TB>*d-BBQr3cu+%PWjLC-PRv%Dn0)8v1r zc@52}`)eK>IV#*exXjZ&yvE$N869r)a%tX61q$=Uo<5EM#GIwjmZOimp-k9NB2bcO#%pVuRM>KI zkDg@5$cbpK;q+Jb$he+Uoj|nXl)Z44`~1E0a&OjmFr((Et+Z~zS+&$dr3Xs$8e-kspq6|WamnTkdxoW|0$BNjxUbvd1m)_Z;~JWk!PeRt^vw_GJO z$Eb$U?tg!2AgS2jtW^CQ9j%U7@q1~XGp<*d7oIhW=XE;Hu}kA_$%--RmJ4t4dH;vq zX%XG2D0g%G^!stDbMH;1Pxih_@W6brY*J?xEAkWeSMm%_lkZ{;mI$opoF;U31m~Mh zh3M2t(7HB8tpP>O>LL;4BoWAiV+m0qx_Sg@i)e|cuEim#kcVt>n%7t!8}L|>daUo} zQY^t2x=r>LZ=u$Q_RU14sqc_37^)g1-u2fUy)lO4OgfQt<|#Cv;B?8}I#KA};5y%74*%2rSqOxx%p}Bx#c2xP+rJ`J%(Cs$Eoqgs?xps zPS%^8XZ0?+sJDbYB=lpc2j@lgj?;2lRbZ zi(4wgQ4iATDS4s=kccKXT%pc6?mhpU_z$kXXk@tZ{4z6M#yT%&iY|Jkr+Q}B3V-FP za@GKQzkRPhwkF5&Ox%U3DI~%}4uS zjKcCaHxLKwYcF+sH^>p1M{z}3LEpT1(eduMR|cy+*L>t-UdTiGmA;KOczdkpZvIb> z!ZKLcwkmA#Rk`sD)XD6e^m*sx#-@|J=`Y%ylboiw+oWA#YDcB+Ssu2cv~LZ&{{y)r z6{iW!-cEnx3bjRxMzJK%v}KHnt1FsTg*PQ{VkbTLCid(IqSC8OO{wV-Q7Vn-)J?Ib zM(srJ=6zHMul{q-enifD#cnPd#{a__xHyR8Kn-+obBWI47F`F zbCN#e;(+<`C+c7-W>CC}yo7GJ;`&HEnK$!%w_{!t|J#m3g;XesY(Emev{D`O?)85g zBgg01dqtge3I00Ne`f9_s>zuR1N@eXBS_TG+~Xd+cK-}_?fW^^##+)z>Y?vH=g1&> z8K^nNdB@rDeucYr{}lh$MshTPnoB)uy;1BR-F2**_xf zE0j>i66C>Y+V6~UMUHDZ?vi~_Tgl^sS#kf}{4wg((!N3u%olZ%EhqBeG__I4&wPFL zlV4wj?_$1F{#oGle}H{g_jdz5!(t)>*Fmxmo-W4EsRm1_n2PE%Qt@-jN$)s(a)qD# z`kIT{q9iDxiExVV!sci|d2yN|gXEzjTnd42szcc5bKQjc!O#m|aliiBp1?okcDFnYs zr$V%}F3!F3i6>MxQCmx%82#eHf6#8(5lDsOL5ZmDLdMxj zPFNYzjh>XwjzB7|j}|d}{eyn@SvRWUY2S%>g^}T>!UEH`YrU*%!f|d~F-&#*;60zX zMPuZ4i74#^IF1%lDb#k{&v)wi%QCZufi<`58E#s>z@IwgXmv&XOM~$bP4vbMv9t2H zk_TH<$)iKxap7g<6((P{H08Tv@wo8&=PHwHCL&DSNVW6$D)R=Z5KZ*)l#RJ;smv)& z{VTF4r){K09tC%d3!mKUl38mR|HAFakTs;_YU&3hjdh1)+NZ|{-7bwK)d;GXBH*Vmt}`Ub1q|EpOP_MK!` zf*}HPGAFnAd~yr7gQWS_XBBwQj?Nst=(YK;Jnw#T;X=3T!vhrFT92!RoOn^VEvL+T zXFu(`)2qV#(wm#3Y({}%h`Q6m{ zPkrxWIip3pt(@q6dnNZWzIp#E_l*t5sSEx%U+_Tt2%VfCpWN=xd#;1xYe~qnIqNPJtv2q&L}fybn0>K zp&Q)XpSHW>y7g7VzOd^aSBG9=#R8k&x426J(T?-{VaEqQPH(SH{8QQr^>||K1h3*m z8)NjTTpf=OwybNfw#@s^$8YgyX^H6l;>qg7qjS{$7gxC`FM1_fTCY{RroHkHv{P@7 zzS{k4qW0al$isUj(0387zgofxe_T_^cNv{tgB|CSi=Our6CQMbd18=QA%uFMevWg* zk?j@zt33XCAr(r(yshu*m6<_uWo8U5iXMZtK!4R=w$}aQmu9M2_m;vFhdyXaaPy~K z(pIq|0;zBftXwbp%;*NHO=*rg;^voJTqBBlU^(eC=&n3A`1z~L)aYinh*~=>Z=yLr zk+enqbgUoyiF@Cpoz&=uYb(qPy-!MY+@|A#O*79^Zuf0I`VZzi_qPe&ghN%yaqVsE z{&2_rb%pA&Y`Keh;i^gGt=GeS&_uO4zngk=!ZD>-Qm8pvMDMo9Z4%t@b~p9cPCpm5 zMM+RXV=I-km00(R{3MU32e%9KKXu=lf&R8h6U^z9WKraSytS9y_=kJxx?bwU&tDWJ zh}xnR?Hx=&T*)&H`azUK#{54HT<577Gx!lD&rUWcMCw5K6#q0@Iwvgwas zFY}&ykj?`*_v|wNUrT;;UwAk#z0Pmeez7<#~WYaP*9taL)DP+EQe$HLaZm;qn8 zmriOBES{h5U9G=*Q>%Z%w0v)ZTV+;~O9X2{Ju~FqYePx+<^^W%)#$;}>InDQ$w9rZ zR=Dqeo+E69Jo*jPtFiSByY{pN$)m{Iv;Pl0r#H>)KBT?2l;*Qo?a9N4pnWV4o@387 zKq}fX!sv*e^q>_@{07n45%i|d#g+%9SwiF|c@R~ff<&;I85m$@&u=qqf6 z_K|D6$}V}@zu=C?b8mZlY|!_ulJNQ~D$Od^EBcp&FL$prE26KTqy247MRFzJf}`68 zFE44Nrrx{Jzu%jnSGL&Lhvkg*M(RPf%GsZJY6RL)BFLhA&IDSQ_j6~KAm)Wsh}OQF zdy`+c=Iyc0ZxjSrizbY)HR_t1^Ab5DOTvsNYr+?$s`tLyV*0D)zIREU;ma`0aE#q-zdagDVbrmd~; zOpfXhM8(hTx1uB0bq`+cw#U84lVy%|9?M_P*3SN`bm3QPa&vw!67?MIgE~nB+6t)< zZB7`Ez1ODL#9kpUocPVp$qEv|XF1awK?P{XnHz8G?>^Kn)}o?NpAHk%11x`(kbO7V zB0yfErY4_TsVv4Kn995XDt?~n?I;Ph0O*w|&CO^S^TIm8X<@6Z2%_SgP!G~39$-9Q z|L>CUv4b?)wyjST+mCr=mf!E&x7Kuu=L-btgjRQ)B|}eCr+1iEx@vJRg*=ezjMr>A zWwwJTuh14OZFmHlM@;hw*7mS@(M~PoaaorVy@#SAdH;u&Duuu|h`2?Sgs=U`h&TSD zf`XD3>S#SU!u}OTR2fB)2Sx_W7x}R#+VVhcDNPZTN=r6@FFJy(Colw+{N`U3UV+}z zl=4J_$emCU{<5^fyRJW-LK;P)?1*(5@t#Jky;&kKC&>e?i##wViNN}Sk|0_l(4uH* zEE|cyypRgf`u@ShKZ2VNKTg#+bD-aBOMdDcdTgVxc8M}q)V~_gmQLl_8t|P4l;(&* z>FfxkT6P@Y*+7V8yG{*OPPjHUW#gp*+6T)V{a7Ma>3#yuW|L>2A0t{K=H-@zf0bEZ z!YJ`l+mdi_m&#FI=}R10;qC5wymPMoZy@zR1lkIz5N)JVTJut^xk5?M z`!IG{>*^CQ1G)txI-5T#1CkK=Ngilj%oq7N&QrHs9$d2ISk-53FEOq~kC9&TRjcNz zXkTZy;?o?pz1IPKJE)BYSI#-$QQ1(mJMtl$erqQ66S2&(=Ab0m%N(O6mO1)@Oxhh#dkP6XKD%2b$!5AZJ6k7M~o(DX8Yg1kVEiDn$ z)3<9swi@4M38hpKCa%zb5G@h91XI47O?He#5eMCVq^xUVMzXb}H1d|di!l-N#d;$V zNQD;7jzB6bo9qbmE2KiSEOQ*0%+;}r$2+p$etZ9hYTyk^-BBZQ^!}&=dhA?j&Rni6 ztMd9!wzCl%%B%DV0z5Mj*_ZCfE$}*bvXMGE^J;6VCzBbexu;KWxW7YbL`NK`1Vu?f z2}%Td$;Wp_^DtPNXa&im<+vz*pogR9O9a*rv`=;fS`?`eE&U2x7L1}8SM)B^-^Qz; z!yK~$0`G%l9`yYbc}p+Bej-LY8R4qqL3ddqzwA7))}l@rQKjaHz}h7dC>3i7DmHW5P40l0eBAXm>C zDD25#)JD&j2&BSzE)mHwPCz#=l2q%)Sj{Q@VUF!_poFO#@(cpY1E~p%;@gokzV4SrZzqIEiWOZs?Jsw+doWMmn@Aotlqj@Q`w>@Vd}0%ZD)H@ zA#09QoF;z%8^KahPNS|Q1jZ}W5F?!ISt0_<9MKX%^79CiZ9=x9G)p4&AcXztwdbiD zHfar9G_nxAK_=IKZC{i<0}+^$<21VLT=neFJ7d#pbW)$KI^eDP#(s$#s?QClb^3Gy z`x&q3bDrwk(WK+d|Du8V{?pUkIkPTRIZ4mx?R$xN4NJmx7gm_>YUnW}6s~lN=J!Z* z`kF9B=!x~0 z+2_|^V0!?`F92FV;?B{M(oJ67LGjk(zGV(06CVNF%lnwU%f%Y*+M-+*(h$ zEepP>NjPMq^`(}ptyI$wC#fF4`d;^h*N=8j+c{3{O1_~!4pJdn-{A&Q zp(Kr;JK)WHzufDf=N6?@*&-a;3T-H@i`-EsL`$idJN2(PO?E>GWov*uFkfsL94Ffx zGLBdEsuHgr zEEQ`XSMNS^PsnH0KGNmh@TMaVn3=o2lct1gF0gAU%(ynt5vNmv&YKtsoIdh4zsM90_Af zcC~KdXvZPlz`$vH$B5oPsCbVezac7|1LEfvadLU<;H7)K(sPG)3P`Gbf7+;4qt(=~ z<338a(|2t}`Z-QwOq-zb;~h&IAJ!>As;e)anzTX|M2rwfMd&B)B3q>+Ch8llj%d>; zcKo~?)$jifdL_SI!@htTLmLp z)^%6BVWnbULR*o97hOsfygoXe79&P#W<4tgHlB~~%YmO1mlaz=iRv+m6% z>Uw8}d)x;(3VGlx7xL4yAAg>sj=a=!o$?%onxnSdmQcGQ5y%6n5G@g?AtEp*ea^)1 zP1LMUXSj_g$azuJLn3e{mFLB1jtpm`uy)CMj&l|mKX6vW+|{Vh5N@hAj>`$Io>=BR zafH2puG!7y-VS|BI@RD>=azf+_ViWSR{HiKm+vcL1l4Cw6QbvR`@I!C>|J{-mF>Y| ze;50>a(2*SECR<-NQG$K3)@#uJ@v2k?s-q;1lN9F<=Jzu_3oM(Rc7s&y??Gs>qjjE z>47{7YS?z0TCzuvwdtZKyCjgGL}2d)sbt>=c_0FNWQdkLa3&S0u=gPm_y!Tk&v8!J zRZpEWeZ70^t2x1x>#B4~9WdpLc5|F+Y^8`B=7qf%)GsBKL0qE8HS{g*il01TUGxRV z>C?5L8oYXm`?-#ZC<%Kw`IRh9%f)&L+8s4V?@39e$E*50At+~*1kq*&lFnOl34u~^ znmnH+w5^(+v#b_@RGcQA%&97h&u_Cqu*nE~Qys$cAo*!bYyO9s3A7uQ zrao}vc31HUG|YqYTKZb0XHQB`m&&k6^1yu2Gb9g-Ffs*E99)&?c;|j^+1GUTc*qudetPYR+g)qdfZkVHW|%h=l54V?O*a;1OL}$ zqk=sb7KfW3DDyVm*ExYyyGIm<%Revko_Uv6y-fV_O#jsLyZVR9Cj^W36@~3DFZ2G@ zN#BJH`EG4h98S5t%=2<+bf<4ibC;jpRMi-k6JSK9{o8z78pdG9X|?fUf3TY5-}d9U z0P{i~D6P38*G=AFA7Be`bw#=&S|YmY ze6PKx%-ec}o}mREh}JQ&{s-3utvTv}vZF=xPNZq?xQm`2;ch!(ph6xfJMz=} zSc-SJBab{>&FP;Lpnb5OBR|Law?;UJ9j@LSm=hq?O#>?R+?8!#C8ERECk4&tukqh~ ztz&@aH{+XP*{O%U_NILK+sL*FKtfk>BKBHljhFn3nl6WyiV z3Kd39tf?|yMJ-5NL~884VAPK2sl~xJh`=^cA}|6V0$T}*z}krj%t<1!b&f_`vZa;? ztWn4Vc}oP=XGCC5j-$)N*X7~s@(6k@C=PeFD);`m&r9?eQyjkkN16Ac>m_7)WJ4fT zmqo?lvexC^4;3^XgppT(eKoWKN@%1?c?rf^^b+(QF&-2=cnnB&1^J1QaDY@;9uk4R zi;|#(*h-k$T3>&`D%D@G^vyse;k_@Fn-lo44~Km_iNH75Bg33znPZRa>b=F`w!`fl z5RQG!T)402!hJm#E~MJz=shiNxz~NYz8g}^(Ccq3f&Rwg>u)Rp_U^IQUr&E~X{5&` zYgbd5BLd|`DnyIf4}IS20ex;M$-XLq<$>j-ck0dY)b_e{-A?nGDjXHPR;wgzIjr3K zbadwg^3IMxDk)WD-*|u?hcmQj>4=`9585565N+mnm7d={(*mMF|m|9f4HHTYO6udPK9QbmMJQ(;P?l z$dvApxw=QD&^{;?N-Jh-1rPRP@)G1H=3WD&;(1s?M02k+x1_(s`T9$oufN0v=m5=dTGzp7o?1wSl1M%9`yfUijE@-Y_(&=Q1!Si9ijJ3eggQo``6Ph+2@i-bJ_1JL5>YO;Gj?WvxX7ww6ehy}ygx z@jE9<8*!jk?Xr!N`F6L&;?JTqq9p?JLMm)g2@!o6)h7aZ1>e~FN;rLJfv0a^*q^*d zbE}zmwDXmO<+EvMwQ~CTHGG~>^*lJ=p*#NccKo+X8V|ij#*EWmtko%?Xt3tahr*9O z+-cH!hFgC(+G!#mJ?Hh*QV-1c^xc1&FT5Fg7#<`azoFT4PE)>=X0+oppVucCcCHgF zozwCyI$dbTAet$N`*Z>kpY_A1>d-v&R@7|T0&@1Sgb#Y%S zZmy=^nWOj{1nqI17T@oUKaspLFBmka%-jBnLF?QX*Zw6o|L1en)p7k*X5Kz;=@|O{ zabr;U@IG%qCyPL|x_A zirQ$8B}mbSOO2n~68!F1&wZ&ybJaqh7RuvS(gUp^HSgH`^jN`PZPbVVl$w)-MJ1V5 zaGVz&YaILY#Wt$(kNP_&P@zszkN#_0x;=(YHlBi#u&roq45#g0WLhIbt5V1Y{D!EI zA3wJUs^4reszqFL(rXl-8^*NsH?FXxuso!#h?Z&<)hId(pm*~_-re{A6l}O?uebAf z`p&h}Jm)mgM~KKiTZ4~2{4iPm`rfUi4ebgcu&#I$S=1uvyIN+g<@HdMS9Pn9>^e&* zbHRfxN@(OKyggM?M8%~^>Bxo@;a*zUgwMp}8Xr-xl( zN+n0s^kW3QsSZIa1c^=}Xq6VOn&ULD-pWMK+Dcw+$W+Xm(Bkw~g{SmxsjLk9e`3b9 zaOPp2M!dN4+~9`ycE;X+GDkhsyDFr$24oXFCl}EoUWxL+GLR(*kpW`gR#Ac+F{m_+ z=H`D&k%qXsjn|H{=G7y3)g)0Nf^*8`fe5A|H17qH-<{d}$W|;nrTKaFQt|3olpQ6^ zlnN232R*l*2rZ7_9>ouRS5B(+q59FM=DESqop;1)UDru?36{Ss^RK53iZy-A#zc-d z6ahHR(TAgw<77i%?BcYIB}4YK3A&9rJ@(O4(h~;_vZpksdu67rcm*z7m+MMoD;cSy zHM@-98qAg^9`v*E9kt~&$xeDu+~t^9Jp!pXO?Gpfl`pmlR(ClywqbjYLT&McX{?W0 zo^>nSd#8?4#A)~G6U~ZGiU4(LOz^(nzQ@#HJefoy_zfWt&CfH|?*_lk-k0h@qAy`z zi)7(nTp+OZk&%Jv$-?*sc_8nIo)GBaC<&q^0zD3;!qPPB+x>5+PBamSZ9=x1o))E!QT7FJZLPWR#^W`>?&{2dV zsjBNI5*7AKn4jf={Y36Z(HlhYbIM7UM|I^)&;-cPVTe&=w3ei%kdOzozawhJWFXki>>_49&uw|= zS|_e+$|5LC(ZdrrgSPqNA!fqDIU%}q{I=Q z->m2Q%&eOJjx!=0VeX<#*Br|L?UTJc(4t6%Xekw+x=wnqk5QV>i_g@YZx2XEU`~<; z<;$~9m@o1(YwrBynmg08q&u&}WnN->tFq9pxid4K;pVz_#?x_j&ChrL@8)Kz`$e5n zBM7R`AD&@*#aottooY*LJx2sa28;%XmLo`RS)N|#iB<-!E)o2OY{hBvcFqZ{Yx`K( zs&SeSjLt;xn{+BfJI;hb`ToRB&4M`_a}-8rYeOf0pDL;J z612CRr+YisZPJ6#Ooix(1Jx*eQ?R2fw5u5NQc;3(l8D)lmWOs_US2AG5EY_z&ee=- zhyAiq_!9QcB!Yd3+9IUl=hhRE2fkqh@#A!68-;BumKwLg8GSfWf=GpEX)7!bv=7H! zYuzi?oEU67{wfo9`3?CfqbbeLGZ9QhZ;*_^?aGcoDo$Hl-Fo?Ee_xj& zhKIi>-<$ae_0`+ywJ{UDI-X5O&mBz{|7u6W=hazq~!lu324X4;yyni>}5acJ*d(PTm^oS&54Jj^h znzThL=zRCp3z9pL^iI8s(C#?OOYpr^B;k{TD#GK}@V->yptUzrk>}A)R;uS%Yx#Lb zgj1MTbfagUUOy4>wj7uT%FbyT(O0Lrm5lv|>H+&0rI8==un45W)+ajx-ykBp9$11X zJ3qJcB~~tLUDOt-5Y2j6Z$t!oK0mkKUgx2ffsTo$1X+)zk6$G0gXJW>1mA3Vvm&Ik z&dIvNmsEs<^hxl0--;!&Ban*w^Ru_*q#;l$0qQ1IaEnxR>Zw+`HHU1C!s&9X`1hHL0s_N>8EkWi^QlTFFTzH9*58og{*7KxP z27#V|=xPzhR*~j7&ip&gF&dy1q~?0%a=@qWp)c_bc@%vf{=Oo->p*p<@8O%Sn(FH$ z73O4i>IKQ2dJ5kl0=-g}AeS0>I9h?9W0@1u&WrMQKtA7vN|WbBGh-t6EYr(8JL1r_ z6TRuf?93ffVfnKjnNlGFbCR~g768iwZKzlLUOd}>^Z0z@SDnt-ug@L()4ODUZld_Y z{a*g2KfTM#aufXAYQFwSH#qFumd3BRK2w{DWgy4rdcNJ)>oPKUV7^h=Y}ItggY$a7 zX=gEOfZih!C>5tEMxlhlx@LV6&p=UoPF_yhMrS9GRMAg<^BSU;@!PqD=qstURW<}_ zj_8P<`X_H6Q|8Tnl*Zv(1EfN<)EsTXcB8Vvx*`$y1`%0prJ^r!a!t`AUG$3S@x0Or zPZvWUEgnD73m5J2F7IGhj_}uac^(;3VQ-0A(drT0zVcZ(OoeEpxzfIC%97hC>{(DN ziXM|4fmEEPoXn`m*W;)_kD~%EDXLKzMX`2C1jZ#qU``T&<0#A*(PkFM*Rwc*p2bmU z6SOqPmDDUwwFsn=J(&;2_fol!on)-bHlcdQY4Sul*Ov`}RGhZftqwtNmvLs^-C?Lv!>uy8T}IN;U0k8J#jRp!e^YHzqf@Eg*c(_~#li&!G&klDuw&3C8H-V%X!M;@4yIStVt zvAad^#kw4Y-iJ|*()3l<)ed74_8^ zO;r5c`jy^g8t^Vt)KKqd33(Sbr^yQXwzU6&KwDXaK0h(FT7*lA*ADW^BesGq!Riq7 z2GRc;!E2R>2d#9@GRKh@KhG?4{f*8Wy2H-HG`ytJ z+o^Y*{k?VZtZO`BT9$`C%fe5dWg))fTt6qXHLz0Yvn>4NSr&?;D7`^{#qSj6LM9Cr;BnlPF}Yj4 zJBafMIM;_(AnEC6=g3$?t+l9w93|+vx$!oj8#f7u+Tu;2oVK@ZYU&IGX~Go8|*!n5nd&yfoKbttsYum>@ zXN1**X9{Re=KlQ^sar$&IgLdm0#|Y%6{5u#tkl{{ilWh1t5vXuWmSp?@v`kXx7*mt zphcuq$Q}FeD6K?9RC=xJMyq+|$P2#RnKh7hhm$^?GPUPR?=nrT#UVZ5i=xn+Tby(& zh}CVW)v-hsjl5O~yP0z)QnR%+T2+R8Ckk4D%Z5r;BJd5)Ghqv7M#8QhJ1ZJHbIVCm z;W;BHp=fJ`9*CBRTNcz;ExKKyV}#=@+%?6k*?FJ#@OFtP?F79ppW?l>j=tSGnl2jx zsiHKUHHqgAav4yYfl~2v($8^@eY3p^I$xY7l@ml#>3ri;y`CSEv?P^2&obcKpc>v) z8S-sVydIMHO?tR8tTl}5;7?UORQSN@hR4u@Q@w+C&^%>3y-%3aI$yyXe-aYKT;bPTkF6T4zMm`M5GX_V5bty+&Qc$|{NA zHBbvbmQ;wA2$Tf*@pBvDu-C^t=nYaK+HuZXoadg=?wi#Y4KEaNSD%gR9o$iF?!_JP z{1k8HxC(Qhg5$hZ_h@ym_k};u?G*IxIMwUl%dQrP${hWQd{^I&2*S zSt?5NbF0UOEyt)v7bpC>gY=y4mZ{#h96nW^{iQ70)COG4aH5`Jzy@j$Kf-Ml*ItZ7hta)9j;wpYk6btZ?@ z%!%`-zj1}!5rH{LgdSt2+VC2~{z$EwM06%XztzzvPp_?v&=Qd?UWpi$idW>j(Jvl! z=sV3j?hE_nkbG%h%#M%>T1@k9xj$_^gNcb#-?k-%<$>wU5@cJ^8@3O5C3;M@GS_S9 ztMM!Hx6~OazCIN=MfLgKToa>OtSk5a`Ny}B~|$Bc51o=XJ9lIt4SHa_Cj#Y(d=afrf^ODKk%enq+BNv#wkclk0(<`hrK=9vG}dN)hr&@i-6vP<^GDpF zpk=|fHa#+6I~bKS#;CM5kx2-{fwxcrF<(Gr1q zAr*T`CJ%gr2;}ED_w<_UR_yE)JE8q}8FzJ@XDbXEr2AL1tVM)W0)e#_YqR4N4%+Bm zIJREUpn1pOq>)p+_IFdSC=dE@?Gmy_HvjgIP3u3WyKHgDUs)47l{t>8G< zpTERiFz40Sfcc~K?uy8YNQFM;I3L{CO0}Op$c-J}A*gbvcut&RVvj`MoGIQ%b*hY4 zVoti>e%k$R(UplT=zfEJ=Fg5*^qg1kP z+0U71iNNtId7t;BJ?#zq4+5d^UI08JUfxy^VdCnK5mQr|Ym0{T6`bsr9f3TM3ekF0 zRC2oN{>E&7S(DrVwY~QCY2M6JNb`0H?5RaEQMsg-2bTd#D-p;YsXn`SO1NF0FHAZ~ z1inFpEb|#lTLwQ5InFQW(u^_XvcX( zf7ibC`BDCP?{x}LDnuY}y{qxW(}GUlF7&~IN6}SlgXf|Y}f8G3;I0?Gr zzIa%_p&jW->t6IuiF?oF6{SLQM{*KBJhqoL|{%5fw%A>0&|jxmZwHH{UHK#5{LlrGDO+4ONF=lArIs& zcqqKl4-uG?K!}kS#z8D6i9jlBMKQWc1j>sR&2B5CLUeXLFkWGd%BqK2txwi$vfkdK zh_*r-3O&?~mBr!e9hnHsNgx807xP8^^xaMyrn%Q%J;Yyo=V*OCbyPc1_HHZVdZkmD z8LJB(3VjLnz?9* zMt*{a>N2f3{ObZsh3M=EI#rrA#FM$RB1E47y}ei6xc9+RwvXaCeRnL6wHdX&v|vDy zzK=e7^ZmfM*Sm7R-j$t~$XY)XmIq3LR*;(GZ61iujzC)>k0;v|hwaMBOhirHaac;X zxHf55Vs0F2y{u~jV-%LA9znuQ<5-{3!|B$)S)J+R^sWhsz?;l@xRu_^-7nSkz}Bv+;+}f^S!`+=ebY0iW(RzW z63)saKgr{&y3O5i<9L6^t~*7%!sye#S6rVD$n8gq+b5{OuTC>%e#`yE;eS4=^ysVJ zF`J9SR^4f&*DIB_U;75uI?VmzuQy8{|6#J|!(mjDJVy0h=3e;iDu2_MJ^{Y*7sd4` zzRc^kvWvc<0$a6n8-47yocXw)xTB9~2ayWVvIMcM#Ztr4beuWOK62YG+~hYu=_(-= z^1yai-lU8zJ+|kP2aO!rf5{W+3;>$nqcqQ|QJQy7J5Ga%tKF8rT;YeahKODU=6lnQ z;xMOz?~qRC!Ff@>IE%-1p5)1tioZ>uR4i>K0(l^U`8iJ0AYV1y_;Ts@7f*4~m(cU2 zx2H>G<+V|iWk;PHr#jz7f2B0~bfz9GFXziqn|V9VxB+e5C%zozcR6^c@Di+1wO%UG zD?0WkZ!_0-dZ$_(^bGV$EKPk{=(m@tyACb!8!Z0I#W(f-RUH1bTHipVBg3R~Vg<3i(C!j9^I+f&3h&=OtrQ>vN{~OIGz0 zo`{;GS31sv_l;2>KOFa0o!!Spn;-&x+HnqV*Gs*>sTos$^#xn-d5z?`OXl06xILsWbs3{mlOi%8y6ZF+s!yTd-b z>|f!{*7ybyvZt?iVL&llCZIjYQAVeD7jI`g?NLaG?`Me&wf9e9 zqaHmaC6Hs3Ko{jpMv+e`FnH2TF*o8Wov+e`FXB49hBBUqk z`=fZZVZbZ?s7CP$LrO=h0$1re2&)YPUeRc3YU;$3RcQ#l5>W9RZ~aNCX`l76!QXfG8(uQS`~6^r$rtMcen}B) zIRjp~h&(7At%sx%44q+WQu|5nkn%-7=8LjR9tVr>RJl$6jCI*H%a8S(;*I&U!t?-8 zLWzLg{X!~~BwBw-Qr&p)dUfZ9#%_G*k>(38f7L~Pl1IzdgVn6lUv#IRdykK0(6i1I zPuEE!p+pqle}_`f|J(ii+1ft7LCrBI$Jw*5iFzh~LhPdF?RRIE3eor-&z!WtZIu3k zRTb)U$jzP@iYv!#Zl>#z*Q&gxW;|y&8Ff@9NG%M%87Nz0sAXSf>NQhVy$z45ddXJw6K*T`;e`4 zuPuf+pB=R%dFZ^h1{Afa4Cr)QPTTnsy%#6o zTSGZt(!9FbWos=Wkc!hp#W`7om5Tn42WX#YZedkgtwjV{7b7+1B&=&JO8s5ZBWkZ! zCAb$w&-I*4)Nh9q_w>!iskH{H1X{G5a9W^5aGPj(^sP~%UOH?=De3csj&O71y0chO5=!$qELJK+pd?7e&j~I1KB+S-DX*w!xhhR6eG54EEJX=&4=Ga* zU2w@?T-@h{>wY`{;T7?yCQ%>`LIRn!f*08cdmo3?(EdkSUoH zg^-eZL*uKfBvGb}2^qpqW+CaFbGsq)JSD?R2)~fVSFiZ*wbxyDf7c!I``^z;Z#!pw z_Zs&+93>UxK>+T}*QHjsIHW|O`+dZ^WKp~$N3^ED$$;MQJsb&3 zC3B0kGhS}hQTvdUR49qogL2PEmED0&=irE+eA9r^v@@Ge>fv5au@A{EwGY`!o>Q7Q z$S-O0mHR}Twz>C(e|Pqvf+I-GS9=g=wxvvvR7fSyQ7Yb>ff`DhS_AP7YhLIMQ_2f# z21#@I_%{SmiByabONr0f2MKGpjL)r9^1SdJrj!>-B4Y#AywDw{^aiOA?PQ|%1M5Dl ziLfov2z-MGU0*p&GR8Mpmtango}|Jzh{%t2#%TmnVOh~U@D27wkhdT>u3T%Gvb#SG zrD=LOGW2qvb$!tfIupj7MaMhly+}0 zUzCb^OZ;PmlSEUwoInqYbqLfP)6}YEcm(wK-w}=n(I?eCCGMnVO}yCbMw5NdL`lC~ zJ?I;EGDEKgm9-fNQLN(K=w~k@o@LM@JUvg{qj8eDiHM>2qZjE58|hJ z6hk1Dq$wxLnSDVidSm>MwJuuPN%e0CvX$gSY06oCxOP`#OOc$fb^gzZtAL`Kq@o@@ zQqglkOaAmX8Q{58l;qH|x{%f^@}z=%xeRi?SRNDEGH7{N*;y)#SKfziBvU-t!XgRT zUD6U)l#}>_^QV8w=k!M6N~jR+s3~PAvUQ(JbN$HQ-Abjlj1Ve9bK2Dm78$sF*@Nc) zt#8H+oS!yl_HCLd<(C9MC-N-K=p5??^wqCS8I1S&vo1XUN4xt^eLsxyXUkFw>pque z-(Zv!LLgfE-}12KTzE)cjt5&oA|@Y^i3Vi_L|a5Qy4)L0KJK_^?!+b6RR!r>J zndGIuv-B(}P5oVwP;{_T*<0mBbEHDMsdg7VE+5hUR`AVF)X zkUOPCLRx8%v_`lUKJ5e4Ng)DvZ+-%9_RqDh!*ClVdN>IaV8ev*U@?E7B+eodC7JP{ z9dpV!gGNG<#t{{608R;dg(v zRHUKtwQap9E#qjaL3s{9JjghnHDH9kgHHPcqQtIkXG%_XJVErE<2?XhulQ;9}H$Z-DNRrijr|Lf#{+D}&t2V5#sq)o}b{1b9%@ zgYLP|Q>{R0_l9fgOvEU(VDb@8LacXP8Dy!P*J>bNUJ;N8&GN9C7m>>D#bN~TuzEV4 z;zw5wO24r`KPNi+Wen|tTH&@lSw%|yx8$*pXz_>;PkpDXpP=8)7wO6?A%ck>$~(?bYdb`_b7xFLr25(@)5?$*-^Yp^BjPaZ2ld!87e1-S~Vo(puCos1FrKK-|Gqm*FlzU@0DpBrddX{tRLOvDEJsHvV3Uer3N-gCp-=abu@|;f85f6=!l0#IKCMrbdBjj`*QX!fU@=M0GXO^W8ynw&@bpJo) zSqXdet4J?;m!AtY{Y{#0;W|C`TwI=>^aa(A)DLncI3FQp8xhD`BOX4XqM#%wq4pr= zgRD$VyiZ&>=CXE;g_?Rl4P^`u`ud7ohT%f~9jxv!R`7dN4= zjI~c8+ViHCP4w@%d!L|fql7}BMG@_J6IzV)AK3SR;FvwS#7NbuLq&SqbC`!l{4%_` zKl}Vv!IWvG3ejtBW%}WXj6k%qZg6g=IoWwbstvfD*Tlu=6Wtp-@=BZkC!cSjoSXi6 zhR58LL+6(BtxoLX|Fo%TFmdY>OgmVSUcbIBeDat?YUk6~|1I`Sq;5Zt(@VQii&G4N zRFqTawRPcnqX}_L`qk3!F1*w~XT%80;~q1+`N5+!%jKv>RWgsJLvj(AFH#}ee9xszx{;V85+~=65sRtjV^SgycCH zX#tR5As$?3VXKcVvOJd>&gO5qNnJv3kP6YF2lGG#Qpt1dmvHNhbqUrV*R^J!w;x45 z=byCa{N|ohLKS_*5f~-t|KbRg3aJpSr9vJQ8C1`cgcvb`puc<;zt%7%MOZZxE;lpAgqSwQcah zRkQp9o;W^6Dn#pE2KGgf3L{Y?e)#5sVEh5~1F{;var`{Ro9J8*z?D1Q7p3Q1Hd84= z$So%mTuXQ+jgcDT&`476FI45Dv&x91JK`v!kg`#b&ku&d%FBg@Tq4b8fjIR`iC$@27l=huZ}cJ7`UIl4SO z>og@&P%O`zD}PWAdm0Il&4pmS{FX@wC3k|<$L^I zectHF(ew|?6=G+DILJuS?8$B^L>t6CjjG>&@sj9*VIvg+WkX=_tD^NE5M1pU=>09fye=G50x2)mzw>vlai?Pk?;OBBsn%9q&P{AG<@Y2a~UjpkwB z@G1%KXcM%Xg&W!JtSrrW=g!v3SXA_2>k5MAdU6qRf2ttpZ_>`aNtB>{s9!QX zdeHVunNo00Ufyj;l9>B0;|qt~DSk*}3QtEEU`8Je#{lhzAKFewLhQhIPwQNxq2AN0=zjT9ne%3nPSBWXlMl z5+39mi%|Y3l&|B#k*NKVk6>Hz^9(}y1ATzL$>dbPR+1M9j*;+23olY3-lxBap zsFdET^PsCsxb~5G2KU^}$uJ7@m9#{=L_S%Ue)$OWfuuz$i?BX%Z*-Xueu!Wc%1dd{ z!`LiaSL*hB+~)H1Bh%`_zNKLb>-m{W%hO#RsSA%CO?MSz4`9^b`stYf;GLb?m zL~8`r`q&HKGD3RZh`^jQ50nb?MKsw+ez@AF`|VWQNq^q+&Z;@m@3ZqM{@S=Q#=NlI zMc&!`Z4}eEpSz%d43Eh02(Z6{{UGdXWqH^rDVDF};o2xJ zxrGr4kdP3lIrb({TeLz}svONR-x_nvu4v9R1EIKlIH}Ann?U8#phpf5&jYF$amf?-K_r|52#Bl4~Ia_6KY0BONDtkG{zO#3j4cQQfKa6 zksk61_u&V2sYnMe)n)EmDuzHRtTD1uSZlY9mqDjFYK!TFwJD*tgwPUZd04C~2Pr5~ zIx027)K%Gdb$TFzVmI;4eO(?df7DO+9~NU|pheM7c0MsOGmx>Ffedg?2IpZk0!Mck zamWwrc{>AHZDt@NGXojmYz-nb4>M<35Yha1p7%-a-!+A3J)ej?FkjS3tV@5BG1lRK z{XQ!F!wKAnL$n~+=L4T9OZQm1F{GKh#1KwDwQrb84R+5pqPi`=x%kMgit5C^{QSp{ zs6FQ&^T2$Ost^ytCF6$Q7M_j5St@hJ>H|aOb&R@+N-7VFwlGCJ9 z|67Np=QQ4E=LR(5vzLaYCpBZukqXhC*QL#D|MmB8EbTh$8Z+bN^1``{<~@d`|1_&- z7ms&iPSykcfioV6HtQe1UF+ZeKxhAk1Iyye-WirIPnuQlce|>2IOOelqkg;Iuiv?+ z|JnUR72=IAhoz&3H-^iaX|$dLKzUITM4K-ntUo;%H?f;P;C8-~V@ao4d*2f73c~$G z>~a2Adk`ZL`I%cb`)w6GdD}q0^@iRtaz`uNy>wW*_j4P=yBktm8ANOlkwFB-5U8I< zpcRn{`Dv*>Ik7C=MPz)TDOA>uOYP4NM)G83~U$adgn&u**vK*{ZXTc_9ydBM`ypRgfrtb8{1(!a_CyPaM(vUQ#`$SN4_6H(_irxsC((;^bwQ$zv zXurBR`sD5&0k$8gIoA1RRewOE_`Vk3M>h;E3DCNT&?O3^1oJ`!wk5Vs%*GYQ5>g>r z*NJFFL}R&8rPiLP$jlVLe$o8-5F3ZLhKEn+~IMH>amQA5oR= zJC9CtoSu^B><=?TpPdm#*-5;?^JI#ODNAt zLeZN3>V65f0N65U1oq*u_fixQ;9SO|l~dImnalxc9)v&-N}8U_T$Z^V{mkLP#6zyL znoIpb8lvX%oc)0ap`tfPCC~G070?WX?ES#GaOyvhRJi(TtsBr?tn#Ma1;f*4nKg5w zDvofP^SqDPha!=!Kx1dzRgC+BvDL@kfU>TgBcr@z&Pvh}?J_$kD7R;u-XN7o%ZR&Q zZ66$Y)${({cO4MW-EB)ct+%(jp;UN>t>n+P!det-9O<3qTNmG8y^A?{9!iBfuu&3} zP)miiDDpV3x-8xDztYQK4EL#>r?@V`*cD3)kKzcibRNQv?i>%hzaU#y#2+|2$fIpU zAeBo~TxD*Q^XW!8w271tDiheYiyrhh8QeCZJbl9n9N~u^R-S%lKNsy%ZUm91xvhgU zwt_TC#lI~f&*Wd3eo1y{%>~+4!Li>|K{_ZlvH?^bC0D}={aw$ z%iJ7^2)y?isSxdXl|M8NF5P>MfA|YpbJSKNoF?XM_%W-qEtxy-oO?3`AXNK7ZHcU( zVq4;QA0+w(Ki&SRKdR$3_CCuQ-T9OVw&6NF| zWk&?&q@}{WO1Uv+X6XyGwL~Rva0Wro8aOUoKBU~?`C}*_DMwGXLLMj;^3#Y1cPUH1 zZDtLq^+GB{D@07UKCx7DQ*Qh@*Ur$(nzu%f?0g1G?<&UK#u`C&2Ct0i?|!;gg68_( zpY*K%$pt&bqt8yL@BFwg^|Vjre!E8aB!jKRD>~(l!f6Mc2Gh8RH$enC~60j}3?4xHdfY zHX3awe{Jr6yKSdv;N2tC?f8gZ1~=t<-uXw&_M7eBA|5jB$au%}*zn8AYr`9F@0w~p zacp?Z+iUH~FwMi2fIR2zhE5Y|>p%gmR{gD{0?l29z75hw{#A)4YUnT=qI zYFf#sT^5q2JsOn8HR0k2p%R4j;ke&J+~|$0pHrIJ+W9^9f^x$pN+Wm#!D#7UAzDW} zS`@X_9?aF8^X1xy($aesoeJ9u?L)i#MROiaY>9{DD+oDhp*3fzQZ`?d5bKiS2%#b# zoKB@|>_(>42By>oXrC)D8XG>)kLUFN7h7?!4{gOfc%4&6Nxmc+oo`)4AP=#E)&pg~ z_&qMc6n$C`Q(t8@$8wHTh_+G%^e_FK6`kzT_hqSSY+2I&5StKMs9a8j=zH7krFUF) zYc%V><*H`D+MwR-s_^gLYr})?HA?Q2Z2lk5hUfdbJdEGwczFwHy_i6Un z&haIadRfg~UNyk4CU(zBk48&ZL><@k&q2^lL&4naOI{2fL8MMo#0XAu13 zQnhT>eYVY@XJj*M8Kf=A0PLTnk{4}-5^4m#LByi%l40~9>!cBr?iw4mxQ5>#l^G#r zN5u+3r)x5Abbr^?64ZNjKkQj@?IZPy%PA+WXzf4Co${p?N7q+5h=8cDoJ)P>av~49 zA4?^*fuq85o+yCGltGlx)(p}!Fkh(XIkEJ{?OVlvcJHdbIeBU4vEg&8$kOdo^=6MT zClNXAWHRN$>LIdIub88xCdQdt&)fC8is<|CBLc!Y57xx!LHAs2C8ztzRwA!NrSxQ6 zB(58JkpJ4W!{T>uIo6zy7#H?vL8Y^O3iZHmYKk7kqn&slKS9vnB<<@FpDT-^Z_GD- zTZ{_2ocwn6y@R{j`>ADaiEf)-KAP{trrV8s)zaL1kCf*vIblTbR@Y~%w|n|Zg}^&y z5$$RC`^SAYmd37@X>ZPXIp3g!x`uN#1J;8zv3pKYl6-qkbkq1DHm+PO zA(f6XjljGd8f#Q4gBZI=<>D225F*+A-O?-Ok2NXJ!{~EqFV-b$>z;%CZ5ofvL3pu4 zXuEk{mLMDJEaUGT1Rj3w>!=Z_r`-1E(| zrN^0ddWj5*21IMbk@01gNAItfM)+lGh&I=Zv za6)Oz?Hk7U1`(Qve{9R(w=-|4?)$2?6@FtI?Pgle@_s?PzmAA@9lX@utuEF@eyE@4 zeY^hw!Bdk*RDX5tampV^h5Yna!11ngq|$nj_xP8D9cH==(q1enn?g;0lL5V_x`hm91c2TFz3b^b_Ngp*fOxtv5QiFo(M_S-Xd z!?g1U^C*l+pr5jFo@ZS}<#Gb4Z2USsFkjTkAvj8)f0doYWQ3Pg$UAgMBF^k%M9PF^?TMLi^^Uk(qDUE9Y=MYft5oDdA} zzg;l6=}fg^f~zFB*Tj6=>D3;=PdCr@4~rWFxVDKaF}U91d3!u^Mex?=Z~8~vzOVfP znCuWiv__C!<@6b?P4Ic8=k4i!9u>_^(Q`>#KiCMN6wNKj>@uaptJj7fF6G%_H}@*F zf*@qJ7Uy0OZFyuPnBLHch332^y&%!uriC{lL^)l!?CRO8j9gn`|B33tRkjn-J4>cSe ztvPLGgm0*KCL;?ynz;G$GfQ85c2%^YVZV6h^s4ZWF>CD}+E1RS3eP-$ZMgW%uBi(r zRE5jWHWukjYZJu~NOjVbG2zGk*Ji$$KKo8Txc~Cr(IJ)mJr?OLVgD0#va?aXnT?9f zY*dVrpoH3kX8tORpf~7qi4sI>9yrT|XpOkyx^4Y6CmkAJP}f=6YV;jd;ipsA+LdF> z$wdgIOl^=E52kE=#bb5bJIg$G<(%tXL|`r9YKD~Y2mcu1-eCP<_w48Mka{=!26?!& ztFN+kdjW)=3CT)jc{r(b?d*7f=379ZPJpl_*VzgsvHjAFw66WgwJu792+-W}aC+3> z=)Pc!lj{$iuhV=BQc*phk=>sE$fOfSmd|&3Y~EXMTvKXS?cM6~6)qRY30vkRC&`}?P7kKa*a|GdJUG$` zLkP~xp6ATiiqq(GjS$~D*|ARK)*zYH2BcEGNkm)uiy}l4hhU!z8)qSI2bbv2dCiRh)SqLh2X9%M^vowkf%Nf7aGK1b`awA`v`56T;o zkkf3djOM9)sSqJlgcg1l5zxQ%E0(WA)Y$kaWL=bmHD}&iKv)lEq=FK~vJ}!B^Gzr; zVTvP=2d7yo=0r#wFS*q|9#c^*$6v@3dP0y*I5HA3jp%tbgIgRK>3iNo->#`{diYyW z_nBA59}XWKmR-R;;hP4H4%d{f4J)Q4Qg3}TDx5QDZMeg7>QlR)UV}7J6qxs+GFb8R z?xiDt*(v_~vtBXwwy|wTe#F7qidHQ?eVXoNGhdediuS8hkcs9Z_{#1MLvS4PI&(^MTKZWs1c;fH27^3vBvh3gLC5gl4V@d!j-(u499orH(n;*r%O4A73;0$W)gLPhxsRdEE)Ss@joS#yakl$Q{qhoqf9wuF#~asCi4ghHvPwvlp& zUL8$?VeM;i+wmOo#NvCBBKU-Z{0;nXi_-(yWYx9^njmhqf+wG!2Es0T`gy?d0<^Ij?M7)`qL!uZ%% zRz_u4j0&4x$MqGK?FA=|45!^AyIyVzAFY0PNYCi7twzOIChoaJmg-M7H*!HxliX&W(1W_B^9UsnNqXdITSRKEg&ue0A3p z%C2oS@Q;t?FYNY1^#$jRjnTJg1w`A{pwzSmzG)52cbA+MpC}s{UY0CWm)w2B#Lgca zUlP^5I$HJHu_i*^wl%0WtwCT~g8+NN*hBu`5J>gZ*`vc7kCyo>vX`v5V;PikM{NdL zn&{=1j8R*PMES~8E)VB($(PE9q=^Uemi*~&Qmt(dUOqY;d^zvGLAxnLF!H_AA{6s3Q;SfQ!n(Qxe=$x@yV5l;8`skfb^ql)X4#7NV z_Xg+7qdVb&yhSS31Leg!N+YITzA(D%!9lj;;5Skrf4vmL|`#G$I>m z$n`GI>9e++Cfm^sJNXEHqgMear{W0GnDRm@N((=;+wlGd!MPWnZ{?F{AbBNCI*ER) z2O{K6E)}Bl^+2ga5|WCa!>pS1hl?M*W5+$`C~>70HFRk^Czo9pu~J#BDdnipx`@af z6*&Y`71N`TRE!X9DJM>6^sriMsZbJ3Q#q%0oc^U>u2dXjg+~*N!rC&ohNJfCxn{3K zoVV~1DtantO3U+ngiuM%Df!BCLesC19xOZC2h+uErK!*&#dsv_Y8Li`IBkV0C>0{u z>MUU)guDSiTYeld3HG4^g*#DglyUIWL5ee4T`h$V5y^ z@~6K%&tUjaPv5o%nJ6hP6d0_baIG3kb-=*k z=|*SN8GjI>BD>bycyVR=l~R6g?h)R5-(bp!>Cw~&JI8%DCe2#rI=h~^acnXi@YuR= z@bZ&WFMOK}@2bB(+;j2qDbHKJe@QUzz}@1<+Ezz4DWqXSYQ+VggK>EdA4j-N*T zH;+^ZT)WjPqsL!-aWG-)ccNRusS&V!FY-u9R5 z7%c1mdNg1|=NR800{MAfliwcjXD?qLT|4NExa|?iu-CDCj<)~l$*^MAb@tp9o?SC{ zz4ZFb|7V}~qTeq+BaR+ShVv$`v+K@?z??j9_0~rP=06)@$4pL!bVmm5LzOh`JRERv zGMsu2Ki3F(lS_qY&ujMaK|$?VjpD-|*g^RmCDb1L?@8MS$MkCvZ;rQDnj;mWjdi0P zf>ASC#Md;~E=DTUmZW{+_;vOkCW=}4CC#nbucX^7qCK=V@yGq=rk`8IX}Y7+wCVP_ z**S1Xhrs+7H@vu4gqowa$lLQWw~^#o7h?(0A`$&f26!$N&!XbZ3mQSEOsPhoI+1E; z>W@&Go;RQPU;A7k;*O_RrvEl~0OXchD#2~n()Xis%Q@vGHlZ}#I81ii^q=|R(s{Ku z?Rgy*&GyS0?H*h+y)=)95y<^EbKBe8zD$*ehzyU|@UZ8$CExBh zRiq!irq0GO>Zdiw`fBqYBhnXNoNoosTRd}`KlSkD!LL`8#K;|MHO<2yB7=wxBEUB& z)iIMR(-UX2gqBA^1X3YCtq029PR4c2h^c z?VYWIlP}SlqusPr1`!!VY!HFrk?!*$YlsNc$@0h|FfXJ+wCAmy`Be1Tvfbl_^SUTK zq6aI(Nq6ztgGDD-hToqiXP2J)b!F*0x3&&Wxw14yTVcLrx4GX*Bq9QRj#P*?H{Jfa zvfA*74UYidpcRm}+2fViDelzq)cDF(o&8@QD>vVRBd?vF+GRpT`orOM_GGa{3_W-L zqrMNeujupryN%4ou|^!YWMsOg7e~g%KSvg9sXg!P(;koN&uAF0*!IL2XYQ7E8fj$z9d z7Ux^F=9$>F|Xvk{}hLJ@4lOwuxtT zIyJsy=CwYSA}n2$ezHSdeh(nP+6PN8*5FQWYMrr-LMlWTM<5lJg5n6I!dTDi8#LL%@N!OmreFN$V$ga{xlg6YQ-_FnV3_Z?A<6Jn-U+bRbkuQ$P)`_&A zc8%#LP`^~3Q(8;)>o%jaJ(=+jjZUAsDqlj+qr2fuugvzy7Jo3>_7kXnm3%2J&zVQD z`}*(>p-ykZEX!W)RRR2Y2}yAp|5Yik5X38IT5upH!;72#+02w(hG)b*yFb4%V zg4P4;-C}j(mj{l59x@`ZMn)=>P-~85;--Daq>o=zsC<+^{$BML`y3LdE(~Jy?ewOj z&A@`9vV97pC)5JN)CAI)ReKacD zkJda8fmFq%a@I=5XdkTAFk*zBXIM~Pmo{ZPIXYXKvpsz~nm}7&RHB4t-T9x_=9jeU z5btQdyomn5lZ@z_?1;sVKd>f49%vDbK<-F|XggM;k(V9aVO$}VspqrfHjO~dkqXh- z@t_^u;TzNmd3)X|&)ifx;JsGy`BM^V)e>!mHuSuaP2P?=%-JzmT~$Ks&RKcU|C-0Y z$8L?OkL9#H#jfGu8y>OY5nx`ZhqON2;uJ$56-rn<5>@nNBax&sdX!2Te0$xkX5Ilcq`*_^&3)OrH&XMRj8FT8_mlNxlmrEy73oAxsZYdx= znl5Zq{r8e_CS^{2!+CjECcN0C>3er~d~Y-tXdZR&$wkD!XD__)H_dg%)R!>?v$t?wQ!W-tf%b5;d_)(~M3<*tOGY zb8}C9!^8cO_KSsl2D~P&chz5MN$dHmi%$76TGQi1w+Iri=`qXvm{&hwu#DsqI@wCypM&h%A-KH=Aysa{eF$-m!(V znRsUn-azH_roIo();&D&)%1~N>(ewFr8RdL?vdSmH1~>ft$WRG{M^wK53xJ-$Z`>q zQ$C`_bKHj`wB(Cu&wF6w`pEp}FS<_GKG@>ua&B%T$wmoEC25L`JRUyrF+2k7Mt=QaPKXEf{1mT}7gT{Hs92cpeQA?3@eTfWjdPEIaW zH5ryDc}!ItfmGTbHTP{3Kl|M|wwybgc=7u^ zE5cjq(cD|EtzLSlS#am{JEJyZN&?Iad0;H$)IM4JU>&9F6~}eOQ~M|cQemH{I0C7#_fZ^yR9OCtBajM9T5$wY zVT2Y(AQeVWaRgH7xH9*b_;P=V^SQ3uT`fwzjKYYTxGR9FO0x=B`TR`K(v|PopO1wtnb%$|BIA6n(?5!YCko#DD^+(dHxIwTCsL& zRr)Sl@9J9H^L9UI#r$zCj*7op&{6Hv?{LGIu=`E4@3DvJKj2ALtQn98N`ex4-dm?W zSN&e~i1@Fu{h}w19}_+`gYrE+g*=*1936%;*M?QWDOv0CSdDfo(~h0`S3eZru$j}e z7vtW6ymRF6V?W7ykP*0(L(;S#t~f$?P`=1Ro)d4+duppWrRHlJmK*BP?!u~Y-4koA zKO{~1d0yx7pO#kjJ2GxJx1%~Oixx#INL;ZVxX%)0N1ZeR-^jid+8c*CX#`SLE@6xQ za@SWmh#fxorL^B^ZQ{rN?i}MuUpyOJTo1Qzp+@D4{6s4Hi#ux)c9(^GBh{_^CX5%p z+}ZPg8`3fEy5NWy`(?!l5^+E;(2hi+b%mT${Sn$~UqGHc#FCLW(MJ((v4m%epJ zdEBhq9TCcoJ}9II@xoJ$`oy8$lS(xk(bG?Mp z)yN&o1X|tmjy&!9=+Dnu1Q*RJ30#yUVzLMuyWDbGy{^x=~@LIef1(p4remkUQp!{4@fkLT?sFpx2NJ(VlnxQS1F1 z7p#wVU0f39O4VoKrtp*CTioPN zjjG&XnV=nSW<{S z#O*7q(%&4x&&{5qM-Pt=t{h(4|Hcx!Sv8A5s@}`Sqz~MO$DfLajYQHzN|BT(9qqrj zx-4oqy-PgryaP>(<9aL@eHfLVw|Um#aosJI)#=G4F>!BqVXe_Tl_IGskE8Tlx>Y58 z+&P@qQn@|mHL>%vZbcQsTDRS1x+igNs>h2}>EAx#G>z4{mzldm2&pQctxEH$6!win z9KK)c=!{XP#iuXbQS}p1bF_%(?R!bN^yIBLdNcy#3aJonYdGK3yD`?uixp;=*k;PVvHr!2_^Krqn95NE%<75e8JdTt6Q`m zZTr#GcSc+35@p(2-<&Io&AFlgdyrDAktD7~rO_QCP+p`$w4T4hu`G^+aV{&r3`z}$ zwGYmhnckAo=STGfHcFOTOt}#nit-TVcMg zrY2jxG3(jt@t==~ciD7Ng#N((9Qwxd%y=+1Gey3cDT+}Nln}>>IS3e;A{C;GkGw=G z8vRNylSjg4tX7>nR--q9pcoVV@)7bTmkQBlDt<_dxZZ!R^52b0RjY?p0?6^46%K@{Fw8=y_lR>cvRFQSVhuqT65$WLi*rIPmb@h8i&?KvT&$Dt7) zZLUi1{R{U$C_V00P9s_)us%mB-QqY*GI-iAPj3vlFY@`%W$8sXXZk2*RoS$or%@`l zAIJlFn{SL<@@4dqe?>r8+J`FTgLY%m+8vb-dCukBaY@GWrjJao-iKEB=B9q$dSv>X z-8oG)HTQROdrL@l^jRZ{AZC49S^eARhsRasYt2$;U`eHPhZ{zRr#?*lQYo`j_J@wq zf;(ErefyeP)JU~1BNfe4Uw05oHSwyE>B0!4qIv3*TNOe0hDTs{1c;zL8Zv){ygkq8 zQCdik<_)T{vg>*mHOIVAcC@_?gz3Q5azoY`iCP|<7@Qps~(+s;IZ^#|>A zqWN8laMS~Rqdkb4BNd`ab8TIop=axg56B-p-%dRl_e;jKe^bf??H#?Zgv*DKKjhO~ zx#b+Gp7^RV{d^Gw+lhD)_mZ`%>s3a#rc%H;A#w+?i z*H#u0m}n314f+PrB#YJqB@v5?9#jelAwO+hv?xYp*5|fPL_LryPpT{@v8a?m=_k;0 zPLoub+Q&vB=0&^JrG`U(q=VL6W;rll$2(!=(Fn4S_&KxMV?F4kg57QQRLWBOW#d!| zV+n=qI&zP(>nYjuv6hiN&Y|FxsZ6 zosiamS^!CN`;j?OMY|@Ib8HE<##rvyW`-9sZ%8 zH;bE@*(i)Yl!PSgy^NxgdSr+|uOStp^Yy?e5lK)&iwNjn`q7(A{b4o78ji}pw9dsN zQK%>{nxh^Dk)AQ0%cDkIFtH-t;2wU1REQ?&ld7gh%}FZi zA(2#Kg?xm_OH^zH*K^8hu6X3;D-k2;E%V5gurLpl3au-CA|CQfs=g@pYI5rmhrreu z+pFRTq{7;uI0C7#mMD%uDy(;lBajN~kKza{IT%;P5g5COz?{Ug^q2SINK|7S=km}c zDs>~DMWjf?nn>z-&RaMU72T`$NW)WYsYUdb5fZP6kenoU%PStZsV?NZSj~5S%=hk1 zRGK=t#y+RsKKIDzUMixW-MDi={d4+$Ev@`GbRwqbloPL7=JtJ1TWQHiKc|NoZTm9X zrv2tL+NPd9?T(hwwxoFnMCJsKl?>lVn$WaY(VbX#x+m?~rSn_!OhMl_#-uA7aGJE{ zvYFFw52THvc7n8}_6pmmZ2Ms)B3`5+)&^MSo#r5wwQla%DVLw;jc#(S-*V`%c>1d+ zM>0kxn~WPcHam-_SHrOul{QsmCp{=)P`~Vnb*l^QzoFX}$fC4&knRQ`ev+o=P7C6N zGb}w|9!6XD|UeFwRE2%n_+7L|)vO1Ei5H#X;0yUh2OjNU3f+ZSvf;JF~--)(vQfX^a-dd{HO!-KCvh_P@HIe!R5q1ogFMv@YJ& zV0MYMt&2)-IwGDszd?|Do>R_nPQ0ojebN*@W2W>7P%2u%kTS1pYFu4HTVWidpUmvw zo@@PoK5ZX=5p5ge*#(pxb+Rj1fmy-w%?g&9ft2sVQz=5;8i8|@h(HOI=5$+NT51`L zaP($&<;QvuJ%zSH8)o+i(^`?TF2)t2%?Z%+c8mvn@^%#6T%zI%sa{?^+N@wx*`)G; z2&6&@^ALgI;Ts-yue10W>nMzA&wFt7Jilp85I=Rn4rcF%E8AET%`YDp4&1ahb58iF zFW>dYcex~ff1AM(zCi?@?9l#5e>OVX-+lGG(b-Wd`bi_uQ;05(pk2N)&O|EYXYL$0 z^i%)U=PrrseRN`kbq30gI%Q8N(CGoQ1HyR7V>=jcr=&7N2C<2TVa@6?ZbKVGUd zr#^~|=+HOC5lE$_+PcrGXu&q^;}8DWUY(Z3T1}r=H&XdVs=!DUU|wi9qMR65KTNm!diP56y8?DEyM-PfRMUCP%=ENS#KI8a`bpNO7 z!smvB<~EW_b2CL<=9@@}Kn)SC5t-RRJGX?~(YiP;$}gxkC`jHQ!rgP1nW48@ z6V|Ms+k2L&6j7Q+*qEj-)DWGUzbb@~Z=VsGzKNEPpf@x=6SSm@BWRx;N+RD{lUt$9 zxm5p@c-FMuQOD8dJn|bAR*x&LOQgO(ts)#azcyUBHj&!rXMR5LQj&`9$}rJrwV&M8 ztg>g$j7ge&&|_(ty`O{qab1r@d|nejdZ7IQG3M24ZbjIsW39c9ZqRb(aZwd(PTJEi zX>UE0n;gM6W+nvhnjHH1R`J(QUg+O=%USWomsOfu-8R~Mmu#pA=e)JSrvLtocx(ut z+BZyb-t;g1=xiw8beT#~n*EPyo&#_m%$z1Q{@|0PJfi1xCVEmf>&!n%d;Zjo`BQPh=>-KW9c%Nl=M*EsI z`p;e(mY&pXqm6dFCGW0oW$9K!Y4Ymq_824X4D_(N%+tC*bU-uWh zGt8ceqNr~1+_3ca_4s}lv>UaS7gc|-WN7tAZN>$?j;#oLji6HNd9`O&gaZy}|T@ zO(&I`7ft3Nkjmu*2&>0{0UK?U(B2Pkj&?4aIf%g7hwnpXDvU7~SGhcDY@5hD*yr5CsWDzyH{+=& z-FNjSVho$eV317JX&+3X@E5e5xtfhX+e9BvXNt8;R ziF5Imu%33S8BPx^2|XvN^5?<}A&AO7XUz-o;8MieV!F6gnhJOrJ!;zC6HWVda`Z@Y zpt2R(XIabgaLx_RRvaN@G0e-QwH1i2I6}NeXijJJur|)&VeKQaL@hj1gOC{3MbHQ-QbqLe{gg&E7|8EGC z3J{hX>fzD};O7t|9Y={oB1yuLuO$>cEW*}_5+x|RLlcjyKJFO3{q2F#>IX-t*u}a8 zQP!G|YTO5gS zq@w6?h}r>-;`>^BAKfsxMBRan_g)t&QLK;TW#mm!l&~K9I|L#TBV6BEj|~v*c^|y~ zWA(fqmqyEe9Uh>cv3FnG=aiS!oG#zFAYm$Hr3pl~!ibbba888iep%1>$0j?+b4Q=< zWB+{QuVsecM!SN6qrQ9|8T;5fq$Ki*H>X(|*E&1d6M*nM_nZ(Dst%9ozlGgz@KF-H zi#1m&=447OjBD9GVz)wlI6`RzQaR63k8JsGhsC>Iu{k>T&+XLO1WH&muIxydZKdlE zr+JMjOYb(>Ep9S>@A&M?w+}F1Tni~aPwnzb*g1egzVW<+x9bw$eT3P6_0;Ri=O{b! z&RW)%b;qN|dQi#-mdD}{91qip=*n3e<#!wwztyi}yz}e*^I})loiUEHQdx~KFG)-NNW7({CR8#HAyyzNXE&0n z$C55_`B`n^9s9gg+I_pSaL=Z8p26G*RUS6I&dx2wbDNciZ6>WTxAT7*X{oRrxHQ)# zY!RwU_{UN?Dzp_Ms6-9boJI&oVial5u!Lvr< zS*noL=91MY(+H!>kp(tbXJdC4`N*cY0!KN2(+|A5HJ0GPHG8Esj~BB`jjbt z!%fb<;w=SqhF4DH(q8w%_Zs9NZk@+g3{(`x?y};G&77-8+&I`*O?f90`m4mSDYoWPU zS2lAa5%L0bZW(;IVnwuISKn{2P2YH*c9r4i-W%V$nWp)To%^UNgIWv zdoDt#oV09RjgVRmsVFTrWIxcq^mA{}YiM2KaclqUqwBw{EnVBB!q}%GJmsAY;fddM zH9n{a&4@ev`QEN6tvMplR!D_tlEw8!om40ZrrCr4hTz&qVxcGx>vO4Vo!yAOh*W?; z8xsAi?VgUzf2G6z91^3pSKL-%`s}=FMVfy(e?wUEGk?uodr;&BD*(TQjgR7pd_Blk zx8B_+8Z>-bmn&C|R8pZNlorq0Z`WE*W{Jwxl}WGPC_u3|yh^$(8rM0QSB zW`|WI24pk(VO}oHfZY#p*Phpb zQ2z8w+TNYa6kxuHW?DlXP|A6b*Hxt4q5n0)`Bq1Xd!AcrF)v4D#_HK}4j#;t3eiql zKv=7}yv%pvAo3j|KN4M=id2ZsYHoR;KO7>F6D5q1*cBe;`?U~Dh_<_sV)^okj9+Ot z4Sr=x(!Ae?_I>0cXf<4@D2+K~^~kX<#}fOzMn$DY(5fC$QNOmZ6~MZd2O^xd=<_Wh z(3_6mmJmoKyt&^_-%ynAD2h#T?W1SB9)IK`f8|%^>tFRR3#waJhC>cmAAV8ZH8o?W z%JBL@>%(sz2~)J6<$-6{+x;wd_fBAT@Azi-PJnL^{rzc`;kmEUISq_Nw8x?zu+b8$@jQ zi4k+pf--1*-mY?(Bs4Lqq`}7dZ!c0i#jdet1|qn)%x&_ju~5J_eQ=snD|`74x~`w!vvrF04OF z#tzD+>G|O0b(tvn?AdFgukY;@{ij1&yvu~);VmJ5TNGpIX*Qk8Z{p}s1s^IFU8(GAoD+i@_I+yOL zX`gawFGh561X8&)@eqGg3iEYo=J&?_RBj0I$T5qeO+Q`~UAo6*G1>%el^coN5)cpZ zIh7Ad^I8b{oZ4}srk_v=LLx(=gq~Z%%s)xhQ83uH!4JR$8 zNZb-as0h8dYi-!{&woP*l`bD2H+?^9amJA7)%W|ySSMo7;ukaTbIbPY!v)KU2O{td z_8BoJigh;wY2`Kh^y}@|-S${z&ptgDoeCf_8X}eCB(1aNffgkm!mlt7S|8wV875Mc z&fHsU(^cdCHmA#b8qKlKK-{GkrL@#5losAvk3u}i=g2P~LEO!Hjglk}k?qM4chL|f zp|sRpS`W%gZpWsy+=oqRckelBPH*Ifail_YK9Bmx@SWtjXyNzo-{zpvr2YyP zmghVtgOQl)4~+c6(M|~QR4&>{mCHlk{B%Dcka#XK`|+!hF#Rg?SKnL`XeI&qY6yN`A>0?@7&#E4iOusOhgp z;LWOt);HJVO~A;HVi$S1@gUg*y@uWtyICHAxgEdS+>Re?`{mel8?$OfG5WxtW7Bk& zjMB)jI0C7(ROSZ$f;^B)-&9o(OiU35nB2T z8sR*WwBH4goA%KM=o_Kuh$rhxn<{B);mm*bIi)@C&VLS$%KFSIef8DRL5DR)-s{$f z1NtRWzyCEfeapo4;T$tc+4%R+^rm0e+tp>yd*PQhHrjhVU#j9N*Z*=CuSO7+d`SRh zM>Oj}w*t|PKq5Q!4M=wEKS#h6_vDB9k_I9 z1h!Ggqc{S&BNd|UR~G{F)dk;tb-~-ms#j!f&OxeKLu- z(IYIC@w45RBhu=xtDx*8iBKV0->QORC+q>>XwuFB*!fB`2ViSBY|o{Q()E?OV4;@+1`2;c2TbI6{lcQW6cw70|H zJsjAFL*90Dr)p}^17*iL*xvG={emRktxmGb*X!^;bX7Ch*$-(AXpFo4(L66sJX|ls z+@~Ly8~7u01Al;dArFcY`5J@0>pn1d-ACrGdv$+1A}I2ueJqYZD&49%O_Hi+z>K^b?zNZJF-#mi{Hin_2=SWa$k*49TwP6h|P{x9=50h<(Uwk|rMijv%R!3em--Dum!sYV-TM1iK!) z*#G&>hQX%R6T;@l)rE^rK1TT*W5L`mcHn`w?^Ex@yF0+{T^EEKfX(o;F(3^!*Rc{=4b_!Fw4VA zW%?kN$9|z_` z{9)#)BQsB3ZRV*1^b{f}E#oUYPhAutRD_U{wq=A+=`y&WPmf^h#FPGl7aIma#e}eS z+Qz&{MBjK`mo~Gb*WbUfy6dcK0$kz6e05#2bjBXR#3nEL?adc;(C3S`n-DHMs?MI_ z)jV$Pw^jV)Z3Cm$8+r%0T3mL;u=M0>H-vjGK0bxKJ+HcXi{RuJCi{m!S`uKs*Pb=O zj2<=?;DJ$c)mNi!{JfS9Q{O!~#-^#H&bgnTuX)Vf;=yr+ZxAu?c1C>pNiO20Yxzyd z;O;4;LUcCTZHap8E=G)gvYSF6Z$Z#sUbU2#9(w>-gA0Q7p!kv5)9KIaIWn2uQ9HKm zZlg}+bR#A2fuuB@Qg?eza%ZD(ot&rytr6>|4GiA=;!VHv=0&AgFWvU^gmCcV8*NMd zg`s4mQ_b$}*mu)5MTu6m&iAEsR z#a|3f|9U&;i@Y_0)&#?u`BY@}bDl0F6|R6H8rKsv56Vk=eMp69bIZ*$6~UELCizW{ zSWx=w&&Hy5{nU%mx*z{AAsq1Y25V{08$YgDaKbB7qZe9qiBZEQZLdyG+JpBOprt); z(jP5?D4ZOPZBU{RxFZ44o_BTcR>3>BC8DpN>>Q)Kh(O-vJ^;UUa7S1Y%|53@A#imX z(dNd*R}KrVekEP)_18Sm(unrFRgYH$_1aGIlNT&1#fU>&p$$Fnyg63|o!(t!M=hu! zO5&c=Xo7mJ;zull=uI6Z#~pHB&}H|}{ek~^+{f}U?Vbr?ICG=zGopl&yX6&QykfrE zx(-8oAnVLNnU%Jjn^rQEJ^P=}tqY&(^QV1oR^03P@g5rviVx}8#mCcG-yT#J_C9c} z?Y-h@F3(#urb+zORSn`kGg}6wHs$D$d=#qfGe@tHlrg_o%YvzWSZezX<{O<^%(qB>@ z`u+u_=U&w=e(SGJ!HSPxNiW!Tz2$-YG~%M49xPpR41Wu|5Q1iC5$$=~-rPL?VOUKx z;4N*dHC4mHoxWNdetf_M%5GvSuG{h6V@Xqg7w>r12zf&@UXrFB5~4k?qSxo8=lqd~ ze?9PEYhAGq`T+IwybJp@_mB1tj%U5@D_bF=*9hamBiM!_75(M=kmU~K4_~PZm)HH< zeaLiwH_cU2PY-YZCOzc2*|Bx&@@V80i=qbxoT4HTqYv*KvF)HOwR9H1-4U*D6(_sV zec>|SF1qC3>nxI>ghI`lqqdjKustQK)29E-50}oXwP``H&n3chV@cwQrK-7aoA}x9 z&aoxs{hnsOM?E@U**+CLSQ$>bi@qe`#qK%PSLfU}F!=V9m;6`$+r`Hk2Wui6v3lND z7atUN`7Mm6?e|J4=7qHcp6xVIvh|h0W49#zKKDK0V_Sr^8uF$yCXM1RcJ3W_Jvs1E z_I;kM3@@Iw+SWeE+ni(Au3IqV&Zqrzdh8IOyx8~EJnBEXZT!kLr^XK*Q|6l+7sH+Q zT4U>4%oq8IKiGq&)=bk`FN(xDJu1_EOZb~uu12lN)K`p4#^-jLlSLrf+?-}^Fq?04 zGGD2DxoI3!b&Fr#Sxbf1MF~A``uct1d(4;L&)ROD(qqxd<>A~1$p6U*(Z%$bn6Ha=*NgW@Zj%u}ra^1zls@v!&MQ=LvV&WZ2w9q3Z~G@tli`&=Vv zAD_ITvMp&uo0W!k3!<4`v-sRp`(VxH%J8NYtL=DT+C3HF@kg(*&+^wxwoIc=S69%MTPhDRn*g`H3O23)(u3GTq<3QzV_VmXyHRg#Jvx05}+g) zV_K?xr!|b9UwTm7zPm=CbrJ1(uTPmDtvheG`0QpSO7jUR^R<&R`1T~^?Rh<${16Sh zqhUPwpb{k&BCviGe{gRGHJ3DbP;5nMjgU8FMM0q57%_GJ=IEXGn#AcLhbpO160`#G zaQ!RdQTqeOm87@*^1vLa=9ldde_QUwfAu{yz%J9W(Akt-F&D`_rP z5L*d4Uk`eN2uV9cmv39g`-gkSk8iWgN7=F5<>`^FgUAQe){^X$rhG{%^o^A&4Y%-@WgVb5|IaTIuglITwGBb?G^cSn0Vg=R_s`Kq^F&9`xgAlzQne|G%-MbM40T zg%IKo?A261wKVGq=7GHlNfQ;KH4k}%k`ND(kfhBbY)alxlt}uIH@Qx9k;oYCm!PdA zos0Ioo8LSQahX!pX znfa?vH`uy;mxX3jR6~1&laX%EMHBNz?YhUkuDA!*d?9b#8NsVP+xQPJ*j~+%AwSKd z_a6g-<%@^;zuiAq^<_2^frvPWUuqUHu)q1UL z9n1+!{Mwf~DLoL4I(go=eHsRn2kqu>o_n^Lb)FCo9J7&c-@AB1c+z_tY#Pz#)ZYsq z`q!N^qV&m;S1QCajV6S#e@IukYnP5BTT&`Aq4^%3%tD zRBr%3@gK)kzdL!huDRLSi!*62-NDbtPo$dR#k0{r6Uw zxGIJ~DoImLlr#NUsxkL4_v)%dYUop(ez~`nkm(B{P!H74HQcHEMlweA;9?XTM zI{I9e>DDeTN#hEGWB-Q!G%drqf0GN)230_R0sx_t`KnumMSK85+Z z=brILvGrPq!1Y=_l|mYDomj8UB)hVH%|{Q#51++r+f<5V1^bB=U)p-jB5dk9Sc}IM zcR|p4JyFw-t&0ex(yQSaL_mKicwmb(ReGQ|sN)cz+4yE4D)W$aAuS z=OIF<#6E;ZyK!sK>cTG3o#zaQ4qa2Oq&lkah;ZF6YwZpyv>{o=^^ir|R>mfjPG#&S z&)HVF2(d0wA=>gV+VGFwkZ&nQDJ@Y#X|YH?LbMe$MaGs9$V2i)w2l(=`JH!OFK6m4 z4;LkPoP`4D`il9%K;%PuUafBxWH6rm^Rd7**#(A~q%I^6 zcZkQ_W*h80in;OPl;J^(cV92<^mv8Y0pZ@DR4A?IjXbbR&?^3`wAWhQ>zlk_LfCrW z4R%D2{5RqLx;kNczgcaBA(8*XI~4R^hP~UKYR8y zYpcK7Rfa3KSszx`nERr^ZrWCh4{H~UZBt!(YTHiAAJ}6JXHE$B+nYxK_B5bxPMP}V zlxct`0P(~r^3zh`$rq$TX|+Gl2WIDLcvm-G;nUV_v4a^!T;H?w%3se?BNpuAQm!JyM|+bos!q zk`&{i5zUr7!;t_DeKWcc5ogU1GnLlDVhIt_jK-n;GF{R$>#Tb%yz?>^c|C^~k!>6OC5p zjBAS_WGqXgMjRD;-iQHXf~%UfiAX-lmu80~O+0X(sW<|uBuzQl(ROUc=cU9$B%wEw zCaHv9K0@A*B$CcWQ_k{B25v2dzffRSF--3zVRrdvt(zih9@$Y!B$0e+mP^t&+SZ8N zxlq!BauT#D9~*kbE4`gy0D{ zwZFjaXG&xd`8?1!Vz>V5e$7G18`4(NM1^SaAoGwnB(J0iEjp2Yx@M3!q^($Y`n?;n zXx2P42jJ5jK&OsnVQ|zMJI=gz_kLkju-T>u{5&jN+=SK&N%PZwuL$C!Zniap0%xTmt{f|KgZzQL90 z@P&UA+VhGbkcXD4&!j=YM@tr3%_U#*fuxBCdegKYMG#0OY0AmkDmK0GqL75z=B76*vIq`OQrU2QKH;f3xOBiWKq?%`a)WRSrVlkaZ*y71hQt8LAv%7^&z5?H06u@)ap`}3Z-M2h{9NdZ@VCj`N$)SOSm}Sg{=VuFhxb!{ z?y_!Uc=>mK*;N3H9&=}Z#pywpdv>!?jFBN}k{!_+aeU>*aK&w_tcFO1XwN&S(`5ht zS6ambKI<54y$83PVdKsM_@D{74p+OkP3A|-Wq{aO}lR}d&gMY;&n-r-#3PrzQ%PT=Bp9M9Cx38)U)m4 zS!Ty9+8ui}=qEFdf>MjoE@|>6#<4DgNF`~Cb}5gP)|z9zi*+sS3pe{HOex5%cah4~ zsPz?(OuiPpA`n@1n`S`2pMep)HM6?gu ztuPOgmw0@#XmvVuK*I8yJ=@lzseFV)yGST#L=cL8Nt>_8JEObV&+;ktOKaj8udg?2 zB5Mnjk0x!`gtv^RU0S*yT^w=x)Y|an7diTnO2-vT#8P3rBDy#NnRll^(=Hq(VyzJ(rOeGrNthH@l5+_YUs3(Fok1 zgb2(@Bd|nCn(7a+71kvzl~7@XBZA9EqophSj%)ho*$VBmeZAq~vY%F2yJ@Mm9>r%A zsZWI`98o8Yz}-ejbrqb!^t^t5FZYi)qkiCkz2iRs3omOzI8n+1IDb$?O z7@=9ISo2IBPVtIVVqLZsWAb?*LU>bDnsfB09TsdiU`2IPv!l_SoJypgd0J*@O+WD+ zPB%D#%K4rPm;1@%>IX~Xk^nWt*hPzIJ#gn)&yRUu7fF)4kBm^P2Sy@NA=>k{n|*k& zV#$8hd;Mf~2<4PPDIZvxvr^eMzx3dHi@d@xaL7ttDlr6|1kvdkB!682kbc_qqv5Uq&T#odjbxAfOH{mCtN3MRa&V|U!Z zig48~Tv9QPb#F;z$Nm-BNBpE}I9qB_DvVbx73s;2#h#HU``r=We_Dn zwALIo6f2IckoFFK6B~4Tq3+9WSgCF+ax^3^E|IwWTti#bCe}7hKMtyWDiE7dC z^+kT=#XALepHUKE3xHljwAKT;qg1Gq=WQx`*dIA-pJ3P1H4n@erPaMx$%~>y>RQrV zo^y#R)I+8>NQG$a!KSby7TfTFC0v(W^hIu|MJu8nwByFiU#m8Xc+nc9D-&4H7e`2~ zPb2!z_Pi#u_opV_>A4}wd)miOK`(Om=iV>KmlKvS%xws^Yu-dZiqw&GlXFWB?%OFkj_XGRnrEPxh zad`gP>8W!>-^bsHLy5p168)n@_#>J|Q#UIuk>?@5s2@&S8vlf#TwGFluF8h7zM(X{#%UU=}@k|CpF|6scUKfwVpE=|}3T zZ$y4S32RfMs zq$~GF^Bi}c7S9gi*-;rq5bFcAd%Lcuhcopg5y%PVLUiQ_%q8W(Gs05uP9}Um&d|t4 z$KR-9yxyr}yw2A#UNNc;#(tIcfwhLV%W3Q3^lUrQv+abQZD-G4P)%VCN-uiE$(O4u z-#j3?P-ZKrio6`mA@XRZ7Vbfx5z6 zh&HDtv#(mAwIf<0dOZ19@o)25g$G|gMel}A3hubK)SNxXGl|kO=+iqDoG(d=-3;7y z@VsBW%T=#OszhrxE={0*HtZT5@41e=vlmHS>DvRozCEDy?E!^cAtwv-Ck5A}2u=MU zBCu^^E=0?7GH4B)CJ)DQSQ^*$e&4^j|FdD+Bl<@t?HM00eXA_^T;F{|YhV4&`1p;I zGNVJ!Lj<;S%!O!)z+aGF)o%HQ_8|SXm*;Ko-ZcEV##4y{AD^N|tQsGW+*%ei@H(ZD z2DTM5^U9u$!jTuJNm?m+#bv5G@fGyge;g*WFs&lD<=dn=^4z3BeJ;Bm&FAT!F|hYGQB}_iLT`JX!jU(Qcjc(B zvYr!r8OaqQD&rl|vUi@he0;pO_VytDPp34ZC1ThQ&-kyeo)G4()sbi(7!!AUtkm2l zf4Baac*-SZ=Dzd2qsPR54l5%|(PxiveHVKf?5|J@dbBjVO{i-yp=(f~H$Z8d)UckR zU^v~#MFjGWxe%>mo>eKfQEyULdYo7x0&}6~tDFYrl0I?TlzYRE`}Ov3UN~Bz??Wx1uhelMtDdTQ<^|!( zKcyw2_2EoLzcd9jP@_l#H6jtHAIybl6YJjBvF?j?tox|4SobKOoDbqUE{>L)GTAL!<2rYMO}F)En^IK0HsrNR@Jb5cf=Re-QU9Ja1g8yK0~JS@_%R zO+I=uY#-?PBv&{}Mg2&wP!5c~hq*8kpQM3xfCwx}B9JRYU`Y~zykB~&?mt>=*EfGV zr4cO=IQIEO&jA)MD_!RbY2d6;(!jNFE{n=VYv=Da zatlUu;9P`2%i!-8fi;NwK~5^y73v3bA=>liFK(~CZMr_}ySkP_i$hE7fAyHS?=7Xq zYrFPD>n1ohz%c`kIHY#5&e1Z^dOYuk@mEJ(YX4-;w;$EMK)=pQdp9M~K_?dkwcnR% zJ5Ky31m)tAEMm!T)6E*(mp86V&`n?aGAZ71_M&lnXPNI5rCrK_b6M0VT8tirPphK} zk6#)-{(J|~528j<)1G(MlBw$X_o{{Oe)n1esnh-A-)`G(=7Y$soI9fyQM(u+TE`c? zYNERI^FtDwQu4kt(!;yYvOe%O(2L{81&hbgYNV%6O1s-bk}F(QK~AJE!B=9Ccg%%o zX^B5wT(OmKo!d2JeDej%!gpR!ho1Lgy(0C+#V?$#uA1kge()A{lfPyKb^7fv(f&M7 zujwnj3t()Exgv{W+r_ly>Yosli%YTyoU37rLOIZ5c;1fY-Bh3BZHX?2v|2T!?+g{zofZ5tbcczOgm*@VubLVBb`i~x-5;$b>e%|= zsX0y7&bDj)u0@qcU@lHuYu7Wc>j>ZI8qI(Uz-<&Mh&bQ-`f)4}lR@@`_G{5dw2D z?foM#7pE;(xTA=?V=hix8vlf#TwIbxEPkn#Y3En_9TeS{Z#Qsf^Vn`^;^_mO4HIS_a-yM|<;Pa49pMBw4KYLEdrhEY|?6?Bx-d3pJu6$~}3Q+Ijka&OUN#U(r5Lj!!4f z3f>sJ!+0XruH}qsidO+CeM(5YC(|c=nIG%;^Cm4$=?N`z?@X4@?VQq{cYX6C)w)ev z!#A6qrr&&VI>E7M-PvQ~k89dBC*9+8d%_?5*TKcJr;gWg&mF(mGj#4TD|qt7?U_g+ zPLfoFvH9^$18g@gKh+6Jh}MT1(Rb5VpQ@TvKOj2%%UVJXtaFq}oC?$TAoQ6{-UKmVTmc+1qXV9AL=8f{6osP7uKQ=^8} zi|TfHMtBBX7ey_2UgM+k{1*;BC(&oz6cNP(`*W;Kv(}eg-$hQ4Lu@xva?~#M8TDVZ z(WYfPhf`t3Gkmby=0Y@|zp}Oqr^19)bI(b+5KUaUU45L(;M~c5xAFQU0_TG^-6|~+ zNB*(Ye=M9FZmK^_%=WNw9 zR!3d&cdK1nhgN!uRK{_~Fdo_e3TbYETbh+{|0r?k1Jh<)#nqg?aOMggX`N^|`r6bFN zm+t8rVJ<|MM^IURw5lZ#Sduv#W@T?S~}iG)ay&=6MB0kB2q-H&-|8Y^JnVi(h=cG-y1% zQ+oQ71@Wi9mj(m3(W$4xc;6?bnYYg>Ltri{soe@jR3y1>HCbJ;-kf$fHDBN_dj9*c z{+k7~eZXdY*UFw|o6f`t_5)o@%DfKXY8X?-Kix0FDMwhdL_PcXx!J z{=UWE=k?X+ubhM^Int(j5;?@NGEc zM7|S;2=uR*3(?FG{cGjW_n@=~kfT@Pin%ph6>F}1&6ThctPj+i=UvmLx_ak>FT+os z>7a1Lg0?H`L(7q+f&5~*NKeXvXHW4oF1K?#yUWBjET-6o6kqW0dugtp3UPi$k=Xh_ zx!uhAJnyB_^@)=a9fqK>NuxL&4rOnSZ-*7-H^ckJn-uq>>9 zd^1qeU=K$$xNTFKYLI64R&s~2bWzQ|yaiV$Gv|_H5K2Mqb1$jrAv~Rz; zsp{7+FWh!So{2Etf0Ny7Mth}r;ScL`gfBnzhlvluoTU^-q(mBz-d_-`IMm9-x#`~& zaTQZfMmvX;rrkeE)2N?DQFcesVN&KjVY+von+wsNmx(o5oQ*Y^Sr^6GFUq9vO$_E4y>L1f!}N0;o(&|2%OO&T1UFxl!mxRlW1=^dIscBN{$wezKgy)e>HLDSK)?6RiaN?Dq$t4U9=cU z1GPxy(%vn#+LEsd;+jX;mL?HM9osf?>v^Z1-&*C*Z4`}sTCRSeMzMdCG>|%SHFA1E zyyJA{s_8dd{kaqOgnb6)>6Mmo@#1mzbtW8z;eLXCZ^?h%Uw7KO;gVT${(*B2iP-kY zR5keMYT=R^X|eB&JG`{#^}_4LTRZr}VU1#9WAW`AH5$U@r8>o_FpIC#wZh zYDdG?))2Eh6NC}hqfhlnqAB1&n*gmTDen4hVGGO8uTxX6J1}6{SwxVxfLJst$4hzOd~es? zs7h+v{rsvb>iqS;gr_ghQ#9`3=t7jHI7N-l2s9`9U6z?!V;Vn7#NwBB2IHn}GxwD+ zmqf?cOp1PZ>BYpO*Y^>UAAe9$Cep3cf?Sh9Igoe0gGFltn)bLVYMYj0=yQ1rIYADu z@3Sjd_~zCOw+FS`&aYr7EZ5y?OJ?tRSsFKdQcG>F@osp%j%9Jl_q&2!`~Eg%Exch@ zQ1^|$Gx|YYQQg_Ul%Rq2p{)iY_HurzbIkR_hvVYEGdH9qqPR`NNdM2Dvmc2b4KeZxF zPi(NrZ#wyf@Y@Dgin9jW_Ku4a@95}O`UI}@?M;VFh=#p5%j`4JiP(?dvu%*mznt%c;NenpZ@8VBykmnij3piC8xk9_bc8;}1-)+1t z=MxE+QZ6c&jatUJq~#B}>Ued{rHjKcqw*B;`@!~I!DT!DGVMbmwlr0Vf`YNdW6zx- z&IY9)LRC$a>L|}Zc$`DdNl_OZA)DL1V_Jhk-%^op6-m+(hjyT*ief?eIZsqF_l#EF{(7S2731Sx?`ZcKyjK@wlN}<@g)_~z;a!hTJ3Gs#z*IVmI_NsFZS81(I^A;gL*T!=pr4f z*vNrpxpWCc*(DnK&S)0lMo2OjqCIcvkP*?Ti%tl)JoK7=Th`U!>h9y?ZF_g&KnkeKk!TAMN#rOo$__Otz9}- zFLPIld_MVkjmrMX8`2m9!pV{A6Y&>BxcavUJE|m7&I8yukT}+2k4pI@0;5H8ghwig zBUM(6pm7`JLK<9>o}d3YH2Q62)$ras|LdbQV149YJ3gLsy&W0o7hGHf%!s32lD%?- zKT5lZf+fbri8K03nUN(+i26aj>H7wY*84YmCq?1#W@1)^vxzyY$Hz@iw5P>94`P@? z1a^H6ITK&DJXep@`_Qj5v1asbAZL&`PLMQ~)f^oSsDDlP=Y+fb`Y(=;YgE}~UQt3D zLmhfvm#=5}_s)1f?DY0v{i?1Ti~P{5AnsnHqH&4Ulhsx49ozN!J&M?==QY{royqhe z&9~Et#(bC7juy^ovT)|mT06ww&Boj%{h+Q~3`(lOcDFV6@2-1e*s)%|!d@8VK>75z zz4kBu-Eozu$I?92b=i)f^Scx+G^t!hhJ(IntIyCoA4O-9=Nz!p>>|qcG32&^ zQQPz8hS#+CSXc>KhD5y5db|Hc%fY6lP)nt@O=ERV({5I?X*+{wF0kMAZr|FPQKNB( z6>r*ki9$|xd^}E%mUae(cO=u5({R$3M5qO%rz7bAS4bUmAzF{y2h{c3d#6NCz3z)P zh|#z?#xvQQ=MB5KVN}|9WO&grXDj5F&fG0MWS728a84Rqn&b+pqf9QH>6T`1ttnFSce*G~%iOwr%2qR}G}(7p^)=Z8+kh zthKX7E7G)GbI^!LBNVk?j2-OK=pU&D5rNj=(j^h1_50^ve(f)6dtOxKy^TJu!+rNb zzV7?Bnp>?>^1|MqCNABQjDBf&iikIlp3_C|C9WR4v6{N4Lx-qn-9{hFLhT}L&#Q4q zv*>kw@r)#Q5tNf@ zd5Cbo*s%}iLbQ&)w{x^Vc*{gBkxoxs9>3UTdrUr~B41+HWDvo*=ody)n!j7`LuK1P zIWEDmh~p|pR|>U=xe(3e)4wT!z+BEMiAJ-pSNl)>InqeZJu>mmY2qDak_i4KHy5Hk z?~%_AQWHPxZ)o7S4Ri5#t6fBJF8T#?@%M7t6}=aF1F{9~?S!sO6m#~Rm(BRvvx%Bj%Q5RcXXc4t5 zYY=bCGAAS<(%|nzPey{~8?y8ZrwJ_)5D6hd{U8l@3!fy1yZRBY+z}0TKYzJC)v-Ic zHTYAH;Rpe7=!N9$8OW}rXMo5Q=4}^>zD6{Vo}}Sr|57^c*zfUG3+x*T*jq~NW&!%F z0rKwF@pI+C6=CFr)1+Nq<+SyIYfD(qoF<=$Ex7Vq*i3`U#kvveqM|RF#=jdfH3lNKw&5psfZNL|5BLxjKJ3cXu>|vMaT(qh+5F!-QHb< z{IcJ*ygT_sj}u|8{#Wk|>bIh`1*$bfT-&=}G&Dc(tK7UN#2r`M|EhHNH9~%|)yf(~ z+ePY#z>-{kJx+{}cSK-GI`Y??UeRT*)%PDNsTCo=CpAM7MZu{#~e8; z-T&&MfcFi>_)1u!8@Daj2((HV^$7%zEQohRJKd6%I4#=s3-&&l-p6<%eID+<0a3fd zKJ;(C`+*Soefoi-p!ZoMQ#ZY?;pEddz1`?F;!zQC;zq2?bGW+Z!S>Phg)9B_yN@%k z%TMs_x+u~>3l(GP2&F}OQt}_G9U0YoeYO9uhw_BA55A@-SlHFB6w%A}OxyE@j9TPh zGvN5>iD&YnhL>*-1~)FV{dsm(b$NEwXRTz~zs`x&{HOi9de#;+uuUL6&wK9T5mDLX zm;G^lI|}Whw5SDHgXlA`o#V(rB2XuYkap!TsR(Ng5m=JTPj=;2m*vZHSdy0f*6seU z#|$=}0c(xZ)S_7Hl-9G-v@431_Vfw%yXUPqyH8ZuWkm7(?`uR@F7?zK@^+ZBQIf{G zfhVZJwH6eQUesN@IoDaoM!t7TsaZ9`xAtV6W8HF^_6NECDXsTEK5wp`U;KRW&v$f; zHcZ|fwENbsM&bKvlE%ttxWD+?&%^3V2a9!v?llVH8u8Z5EqvU;I_%+R{LkM%KC1b0 zo_hF?{P>b5wwgE`xH5rgsa>RwT=Ck8UD>|-{nMj^uN_`o@2Zaa4sT)bcKaP>2dnq; z!l1($JIpviY8PLSM2(^rkhbT2cS$q#`hePD+vQSMg-7iUR=mB_)CY3tdHI8GOw1ip zJDmT^RE4`eWeW@Ak2Y>KC*pCfMoNxl_0l`K6Q=LgHkSL|-ET+tkLuLEqxhl^4vNs0 zPzzG>CyHA{Bd4rh)n{*>j(c7dj4R$AjQXjEo)0=*AzE^!TWT=4nVk=ItXmq~-_NGq zS|7Dq_h@~Kw-E1zu&hyG_Uy$cXem~L$eEko+6Q=bV@mrvd(?zpQU zM5{(EU`x|Garu*?JCAv>xb}UQm{WS>`=}it0!tEguDG6Q*1%RmX;)7)>I1t{&VG^t z!S-h7A0;OYj9%GvLt^`-dqU(FeH3xXCn!A+JcGir_+?5e7isIUP=4BPQloKn(a>h1 z4dSXiwnxv)Xg5LHMXrz&sjI~K)71lOH$(?o;yMrjjm zA>=oa@Vw~VYsSX>o)?~`)Vm9(9-@Z)S|dE+=RVQ(ckK!ueqp!qQNowNJDR#L^JYX> zFJ77;?Q-4H*nrd2R&Z29`S>rTuI`v0^D8P>uPlgXkN8`+t|Yu6P3^<|>3I5Z;uFzs zJV%I~cUM!5@2L^KacTAfK<13|DH=eip!)5*zn@2@|d=e$F z+_r5C8&QM3*&C}`Ginr)MsjtcH(Fh#wR|>+fkao+Ytbr6{Rzy#9jSXQ-ZRE zr6w1rDc460CI|1Wv)_ew6>F4imo-gkCr3^VD$IrL&eb3xzB+ee^j4=A5{Er^ojFbQ z(-eCi4tb~ZUhKhzwJW5K^dya_&s6`laSfwxi}FN|gJTrzeLU~SI|`KQc#rW6C^@Hd zt+H|ibA<@&8Nf=+9Ywxzgm;N(yh}Gj?P>MV*G>0-S=}~T{b4g9$HK0K`lcr3N`)ws zqo98=G;V2c%ffQ?-5hhv!_sh=ltNDMjv}HxZ^3uRM_rDX;rAOBi0EP%foM(P_?Tv2 z)Vg%f`D?y9@c0A6rhmyecNmEc?^8IQSdPpqLuUTL_c@6xzUL_s$U90a<+!m+m*|Q* zL;dZ~9jB0AjFN_tlsvCbn;GHySH?v3)wGaX4z(g|QRrhlum7-X)Wd7;DgLZxiH~=j z@$U1DpUn!U+_^n-I-yGa$bj5i5?)^Gu&;)y58C z!&9n?xdD#)ke-fA@$E3RWZ)~|^XC=#SZ>EbvjTn{0dMo@)$=Vgj0b(UFkFQ`3hM(; zg=%}~zQSMr!;q-s#q)gh=Xfq-U|ym2aC{==)BdB>H=FJVy?>a}Tw&@XMahV?JpOfBkaZzyF>D$d2FIrprs>60OTgr|A%oq;O({j3e|MAjU z6Qg^-exbO_ZNtsk59)Eq+EH3Y(|6B1dfOH1gj4gw7U!3U8boWCa(p*sw9&5LV1?)n z@Z1{G)6u3!jgOwc`TB6y>h5MurpmMAWqPHto^e*J@2h>j+P`Sa)zQXl3Vf^stQ+iu zJ+JDPcB;O2Z8&LWGll%39C%07^9FbQ!f)}&fT+z|xB6HXo|7W$ai@^{vl>UgUVLj} z;A?^KKIla;im2y3HRB@n+WDu2kFTyFxI#`;p^lx9xtFfjmI|(nTK?6>KWfwl;Y;eb z8XsRa$=D9pC%@mI2XeLkff($UEv#pXGe>n&{KheqS{|xxvSBb8C=&myUE> zuR*kA&cwtQ*LM+;qqJC(=e0RA8P)mmwXls}GeVz%buO)a_R=T)8WZ|PKmWWz)H(K? zvJJMIG+Z5*eluKk=tl|k1{8_w#$)Z>K5UzMO=xKQXvm~b&OYS&whH;h(~YPFy~A6t zYqaN`Wnt$Zt46h+D+(U$Y~y_*?aggBr`DU1C2~bO7<2Wh zXp)K3){A1)Y%KTrwKD^blr6cMd2wg;dCzCU*N4{BQR^J<=)0t6!1oRCM&{vP2OG$k92kcKHKL=|T|6P0 zed@n`8Znan@H~Sokt~L|;&%Z^6VuM6Vv5&Ql%&ec7y=hX$#A)BX!m%MPASXIMTgkvr9CTqxVvLX#E z7iFs0O3*SeZR=y|Qzu7bm#zrM{nA>DebD2ernQF~S`<$Fq@lXyqdbM{7swTAA=_$= zc3F$W32V2!m2CX_ay7HTfyUaMe{Gd^X)jW(wH@nK)*3yY(fJU;zvwj?kqgl};>pqx zs>8c$jW5ApT)LIsX>xbbWmI{*g?&>0{J3u|yE=^RUn1}qM4*@Oyhqi!(S)lGi$)#) zsIYcy+p<1dhtt&P=c*YwFlHh~CUD;=GR1eF_KWJg@T0G~-t6l*yK#+~+s(~63e<`Ko&guIMuWP>~SGksUD~bo^+0`%4+j>yD zi2g@7l$O(EC9{$f0~Je+<*I^;K`aeYs;3ApdBdz>*P;j?pBhrgzKMGw9{A?SZ~ znHkX^IctLPiD%B~l*SnV%Rv9?l{;9iL*C^&+{m#j!`mkQ5O!WGX%yZuG5D@_d3v6A zSyVNeH+*k+UMSlj)-!UePdfQc)ty0}|LmoCQM-XOqodo)bh~DjUYVj@{Z?tJ|4~2D zcdGLn^=;WOnBz~cnioydz1o0VDOb|8sCTd2ZE_*n^Wv6QMSb%>@!uXk(8oH*dgj(_ zeaYXek5zvSxW})vASq}}T10&<(UA0H{C2cBv@2|Bo_FGz$Eq%^Uh!-Eq2+*bhwsre zYV9#{Pzz?6G|iRM)S#+|81LhBg0Dy9>MHN9R#C6#kBr`Vcw>0m@48Q&TxQw_)&bUy zUhBK%y6BK+U-yeoKf>I#JnEAo)!@H38m>_9F727<7p?}6yJBTnc=8Wn zUw!r!Z3*AFLp#><+V6))j~zV4-*(}nV#ZQYPi9O9aMf#F#a^rWeM;_mrBIX1yAfjT9u~ zK%RX}QM~097ek2S2_agqq+Z-Q3U{}PR*&r+vd1BvVExNFzv%7LRp<4u6;Hk?&q&VF zqOWy6nA+g;KmHtU?o>xDyrY@IC^yIn%IA5dJ6b5x*oJQ{4c0D3w?%sUM{sOhtQ$RU zd+T&HulI^X`o=tAaYzH}#`EUKcWz7iUoP$_JRJHi*H(yz`;%v*=wz-vBdX6yi8B-DR5>gfHm!Yhi~oIy zZ5ug}yBQ6isTPer@|39aXNN`j3${lr$@A{5y*Pa1%D=*o8(tLQE(x|;MC&*8hI}4= z=wEB<{meN<`mO=(tMp2Do?93{U(Js0IZb_{lUw&u#_yK>Ou6(M(yOiymY;0fAk|Iq zD6Q_$9g`)WzZ=dxdx(1P&`~~GAD2t??j2nepZT`k-|@UB#vT{7D9(!xx_n94b=gE6 zhr{|r)B@_w^NwxyaroMcLsXRy&+}0ZEEnlXIq+;Po@k@*d>Y2{_O+~|n)F*5Cco{V z&uq^O?AxNP(ocUiQ=b;GTEOuf)3Eod@nj9B-&^;aILn*uIYaI_S-WI?Hck#9ww|EEgUVTa-WELLkrdC6JKqvM!y;td-@Cu@{SfR zJzVj-^`jPTyGHj+sGdNNgLW)!xBEwDMDsH*zpuY#o{r17Pq&;Becp@H$@JVMGXr|3 zp1x;Wtr@-IZpJr_CI#GT`Fr_Ri(1UopedJY*3vj@`POjx#jVx6Wz`kx1akemMC*BN{C&7@%Pzm?k4mAm7@JJaqY#0S$}ktAJx_fwK~0*JGIH>~BktGI z9whF>N(BFsn~O`L?=q$=%7NZMa>X8t_wI1N&c1fDzgVoaN5{D+%{!R5kLM^54cA-J zIYM_%+udrVeP{P)BCBS1K;4TWHd<_jJBo19VR?G+Q(FUjZ)SPg%@dcW_1*9zYDOK- z?Wumfair*@(86W^@yxtVexox^jnseh^nPt=@Msr0O_fado>&$fIjcHkRQ_u9eDtfgXgmR-HyV)d~LR0XKnrHv~`jzoz?YHk#2PnlXH(exqim)|I>!k1~n#)C$W*dU*O*zmT`_n5dxN zztnFlt1E1GScBLKRZaT-O;IQ$H{VtUqXn>A0DALwRy{M#kEG9a5|Smi9miior@OjT*!eOqD-FGVBv{T zmu^kftxdl5(K66>(JEzqT-IS}cExMP@Kv$?pYG3-k@Ik5iLXpOD;m(Sx;nAsTOZ59 z)eodCXhf({w*r-`-NsYa`28NRx5-&r;~AiCum$TieL(OpRD+z(Ma#PYoQn|b4RX<* zcUsTZ(M!!*sTmWlFl~@WEGR9uO({A0E9$TK-lc2jC0e`j9X+BaMjxljn*N%=a#6e7 zYOUYJc8_%6YXC8fA!c z&$|+3@u=#)rlH>w3X29GuI{-gPvL$IuJ7Wyuc4u9-u_X{U3=0=pF+&0lM$uuD=0Rf z$tU^x^e{jc|tfjawVrz-govn$I#$hs0HFHCFEd!E0%+N363(jC^-e`oJc^}7EzD<+0XI@@3 zTrmypbJI)%({`@*PYBAzC0PW>ANT)F`J(3)(aM1A=mKNfv>UqqJ@$qoeh}%?`>hCAT$YQvBWJ^vu@Fi*jasfUc4aip9C}{Gdv|gsj5Fl&H2y(y**>DX z&zT!6+q&1>WYfE&*))BhHe+7}H{9?SL{K^xVOtd;s2276m}!?@o~9i@`<+^p`?F_j zGx{;@j_nv{lOm$EzK=5|USBJ-_LAM!CZv163$P4i|i_Meiz>7Od8s3W1QdC2lGqg&jvUB zo9F663!e9?Uh%4*S@FVn+MFhha;vp-1ExZfyGYq3QP=hZ;#+6#H6BN|?@UDN9Ld$U z&tH*URXb(LKx2vIqaGeJDEr+}AjwZ#GN{5_h}Ng{=9K!apB!xLp59G3;W)Cyl4wMu z(eWRDSc~Db^*;ZEpj=#%MPxjjY3s-przsc9v3~^S;xv0|lHS%JpJ$+x4u>zbryl5R z!>T-6o5I=+SB#)sh~V$`%!JjirNL!U-Ex}BMKsrkMd&&=HPt@#eT22i->u|GgC(S2 zFc+dF4Mbor{%&wj{Q~J1|pafk^^%gnz^EX^$Wxs z=j!v#WZ}u^-7Dq=Z(eWH_`aS*&@bEeenJRXH%`)uS9Zi95xCNfx!kIA?y3RV=(!!r zTRYn>+Le(*zl7;LGJ0x9FV|C3F6*7mYF&0dfM_!U$gZ9DQ^i-V7^=dVHG7zR5}m zYdtxLsM-@ZnP?Q5wFR~%@#>?F()>^z)wJscMtZz!MK4AiQ=PbKmBz@*I+lfg5#i?5 z+x?@~=PC9E=iK z&NB7k^xjIp5;G?5zHVDku%=~BeOTV;zta0STS^LBaQO+r)X7SSD;_@}w-SMpV=hFS zF@w@$1|tVr3FYEC=d}LUd@tMJ*^meX~%JEmq^=c&% z=0bGEv+c?xx9!~Vl@jC6un1Nn7cqE(t(8jr$L zf~#CkkV8td1oW>tTbt?i%a1bLm|^52ulg77u(!kTMit(QcIn*HR3r!Y8Q7O#?<2Sp zJq{uGEo6!4c+2I9ZF5_wPuJu{XC8XFSx+D2rH`rR|ipLgIS(*{wyoThfinzn7Q zG6d%0G}VpqSHAXFrX6zK62F{A4lP&O!&Qht-Z^b0$2pGc`*1!e&ll+(tb?9P{L*Yj zImyxTIc+8XCj{j}y>a`ny$-c=p55V0$ffN(ictGQq|>e>hcKv!;$>#;0>B!3t|h_^ zp2+R?I4hxAW9zXs2(~N6aL!(nk+b8Zsp+irW>1Jc9C|yqS40SC=L)rmG}x|eeSp7G zSW}3=lJr}q&L;{4p{*ZGLK`Hm-XHZi-x3nKa`$nh-dJi|ALx-$TGWC-n2{x03FSJW zRT3RD^49m(t1vThT!|Jnb1?nE1V4^WRlfqse*ds>28C$n|^8YRz{a z4AOh4cFl6>TZ6M}nfkuktf7ep_u3c@xD$t3cy3~8@a>qg_{xFw9%w}f-rMGAW|bpQ zCrHD6FVS+Ge#-a$okdmEuMbK&koW74xl-TJvGP^S6gh?a=97vA9i@kxC(=qV`&_I)Um=Z(;kpYql*YUNO=UCf0R<9UDWOZutnPmLDd zm8Xz8Y5~t0={Li2PG<5ci(Hxb#HK_b4U(L5AzC7kIwG(nag#N|zR2D4E6L7SZEv7Y zC;0kwg0@K=1*(Gj;FBX(O3(SRR9SOl%Np@w6 zBy{xj%TSfAYztkXcSgMlyNbBw5Dh1JiJ<3saHm?(;8g=cV=wA?cv=M8w%f_i^`f{k zf#q_VdNN4^JcG~`%7l8;PY|}dCA{$WLPhn6oVYaY3A^}^5`n+CbTaMG)Ej_L6xwA! zNV;9+^65#{tRumXv->GIQP-)UEJGP!tnF#nz{nZDLxQVL(V!CWYl%TF}i zS&U>F(Ul`mCzuQASsJy^ZW)#7*P5|+&h2-{?X}|veO@eia$>>1T1MTcS_J=cl3o*g z_z#;4OA>NK>OYsoyngZUm`h_`zmVFUvAu5Mm9iGm6y2*~xj3?@l!iX1KPo1Pb(v;& zns)vuoi}}C_Pf^U*S{ndeAYbLew(C$qa~y#<=~ZODwkK!Db1_rls0`-c0`6f0QRp) zPtqVcXpf%C;ypo1^KPG|fjth=z;e;&>lK!Pjn!kn4+z^7bX4w~Wm3mDD1YwRj$VJ? zH#G6eJ$CFvde5zMI>n0hB;-&$LMDDuKeU2Cr_ih%4wDiH%tdKlDR%j3OpU)#npcN; z6mDr?AI1C<@2D&OPG@<=nN)Fx-knKJ!dcavJ}T=ii8^wE9D3gPKj--;o>*l35OYFY zajoTYD9@3xH9Yk93BtnpyOkVIo?$!ST!^-F14JC^kBP?)*%rKea=q;NG|Gi&Q6Gw4 z=Q*vK^?kZ6X5IqPZzSjV#8lS%a#_SLrE^;_aVSPI;tahTy(|~!>BWdl_uFff| zYFe~ffpFenxj>WTQV!yM-dBx#g{o<7MwUo>G!R0v!S0i}( zGpSdgc%GTeT8yo8@a^SjP@B)C=O}22)WO$}jj!rOr!11`Z`O@5HAv~58(rG$V5zB_ z?fX&e4Z2LMtD~daD71uVaKhO5#ywku;`{2Q1&s)G;^fG!k10bx3fqsbrH(tbgTh^8 zYInS=kF-4x5l9`;l_RKJ@?>xP*(B@XNG7D`d6jul_Nb&?tXZim?r}&zoK78CFGpAC z;n3PSOI2`*|`eLE(eu-=~Dz>@<~4y1u)VJ<{V8fY1amWUNK4~^yqU-;Mf9Tm0- zY%3dfjgI+twvO@-2;>B{TR8%0U@rDPY^2405c@~58YN~dI7`8~p`_u~ zspU#Du0VUvy?ciHg;AyZ=J?$!Wu_wF2(l$a?ZqSE>hGk45|Xh(r8 z5qB_LuH4-Whml z1GV6IBD*5JTTYVt<-Kb%J3mQ~JV(3cz5(BT1hn8#&@f(~m#gGW1v@f`({=xH{xG%&kGE(UM5N{+>PY zSt&x{U4Z+KF9=S%(ZnYg_X3zJyI<>e`0SlHzA->0ak_E@=5kzdezFisLoTQf8xO$J zaP7k)Tv^txIF~EQA&5ds*bkvIbx@(TTge>_dmqEnC_!DNscibQ2uB^cLOEOw=F$*a zKpI(pRZeoqg&Zbx5RNOE3+1y?*#FuaBX(cbBKTg3^KecMD?QS{T=bpMk_J+zwA~X% z4jm0Ex$}u>a|)%R_9$qGx^*=0J}2l(5f)pmqlf;=*_Ew9mrMF{_uYB8Tsf>iXRqyO zS1vhnQi3*}X32ADpiGzs$&I}@eq}EA9S}xW?ib_))Bit&9ivz+0K#xZ{*~+5rPI)V zKz-!MA#)*`bw&TCBARFN?PYqc_xRWC?Pa3Nenldvm(jIl#?Cm7&P1Rx-zCD8RT90o zZe3<%QDR;V?pkJVU5T7}47o zXlV>jqs&U>FtJ|j-Fdy<4tvlzdy#U`FT}GQQ}NAv+f$QVc6{~0SJlZalaCmT!TUkJfzI;ZbwcsgH22+D=C$;uJ#7v$ZG5G^C!I%&Pgp*_9N?X*BOm@+a@ zidS){rYL>f@NK~>9Xpsbt?uZNN1F0U1m-#=q%{YNt{g$5Z7PfDahlQPX&{1g5xT;0 zyXh@$FH>3X>^!xlg?)zWuaYo+wEjv;&MRpZ>B?F=mCj=ZH-b#V2pQAh;S}L2M$ik1 z?qroIU(_J&54_arw5)b%O^!9qTvaXy)f(0yp@|0nrG!r0m@$c3&+CMgcfwqoMl#+i7d-fk0bi@)1A6MubL*Khw#jcD`Ui^$sJg?E((!?v2yeSFY8 zrNQlocS?WppTc;>-P(_RPrd{r@N-#2gVR(l#d@KaqAd;dqE1)V8(3Xo+Ij}pYAZ(A zIj*&QLJS?3=P!QejqumW!=he`3gaX0D-HawtQ>8Ylm-pk1nD1o6~_BMDK+odNCZkq zT3`g0BoUO0^@9j3sXU_H3QHY1K{VNw9f4B{yfb*wB&0LCG9I*Ygj^5syiLs)_=}$Z zKCJ(2zX&-w>eNEh1~+UQmB_Bc|G@(3%3{hmQ&eW{aN&P>bEs1$*H zBKt?u5dWp3&H7aedKH%1U?cq+ZT=De(9VTtz?S-)Ul8Bf&Z4<|`ZpC}xtI&lHYejq zLe_~(TP>g*vV94AdLe)Bb5>>fF$< z8nIffP*)-s=t^4@N{;OS+egh43gZWLH0}4NMF^`!X?>1HvH}|A5td%YLJh*!3bhX^%W@@s ziCgz`<3wBcgs^2%Bo$sAlxQyBAe5t#1O$3f>wOrNGKdVn;AG=#Q?%c%dxK2tg7tl8SC$4M9EV9jFi#oIqKlJ-@!4D7<;aJDORRXOd(jNYhyEa|-6-`HfQzjlD^ z4X`%R-YQ36u8Mr3twG0?w07r-sC{UzLd{jExl&jbT07E{lDoRKp3}DAioK}i3N#9P zMTForedl)#!p!JTFD>uku>J*C!rC2&awk?Gzz@nAbULIO#5Ra_g*BMVRZ8RRpDQbE zdSv!?vOd`75+)bHBLIg;r)B#y_nLWHb;E}i~ODe@yc zZm0UsSc%qpw$6=~D$*5}TfPP>NAL(h%F%l5vwnWHW7OFD6T*v9U&}Tob)^xZMnoE+ z@E7z%h?bJ$*ay82j+`X|+ZrOUZAt{vz+8xy2=slJ3u#LPN{$G$H;F)N9=tH#lLJmf{Ejs7M4@r=RIy&W3(_#Ow+lQh<~{XFb* z*tOAnBbpT>g5MRP)ks9kS4j}TX(fi*r%A6}=u(9>KZj7e-T>zf(#2 zJY1C-(UJp}CP-)a78$=xOS$;FrBTt_fLJc3Ese@vCdG33^*T$VvbSaVomtAo?~htU zhDJzo;49gj)?>spqb*nOy>ha;;qbe{>-3vp&n(W5`Fzr!&lJRS4j{`&r$2o{Cpj=#%y}`p&s0M%4-e+L3wFa~j^hz#2A#hg)5m=IbY2)@5s&PS4 z@#PQFShOJH;nHa=7cJDtVEhQBs84l$IHz$IZh5M(cZRVRB9f-`ibff-*N6W6|Aj~z zdd#hnJkpXUwB!mU#5!l+Wj%w|RfP!5g?jV6XK!nvP8={H@#+J4q6RS+YTY0rjVRU# zead^hsSl!#wT5V`-;9&Hf;p#y4iJn*Ql@{vS@neg} z&X(;QrA4h*j=)^94Qd*ZrjgJz6#jxWh-jg!h!DI}`Jqk^YFp8+<)9Z^s7qFkOI&_K zoSD1V~JcY$#L4bJI%f$ax3LP-pO}eH>Dyu z93};kX6!89)+WVw;%GGFMO%+-s+JEr!*4Y=FG3o~3Cd&;kw%0XVd{gmi*jH|jwkYq z_zT)D(vvL;wTl|XRv>7=X~X4dXZiM|wDk`&U{1qZlhZ2EhVJ<{VIdE=(y&B3S5tz$qn$F@Jm|bTS2&@mYW0I+l zY|J9tpGRZrt162|`0s`ZGm>EsfcqbkD@5QgC@pGTA4(fjKhiWpO+#TW)HIeP<#@33 z?qJ8q+sQJ-ogeq=0@)SrTB3HbT$D-f_Tf4{qLD+1z;ZDcqNN-pIgdHfGsuyp!=yxi zjtKH4ZcJSn0((nDyZq#@usvfgZ2uC0av&#&mI(BHm9qu%$@^)(0Z6B#FS9 zLIjp15jZQtT0^u%;4dHUofiM=XFK-Ak_5u+TJ8$$%mmv!t%MX+ju#- zKYLNOM6AKe5#({WXF-pHo=DIz-X}9kHLHV}m1gi)xg#=1!$#t=XgOLIG;}}c)-Q-F znpe@>uu@$iSCQjAX(E4RxHY42qGQMIxze&09Je%DvVZ$SP~1WG)POM5+%NWSczGJs zpJ!;4LpVedvtzg%Ip8jd9I;l8aMH@y363jgiNsk-w`bN>d4$zlc?8!WuFy*~OKoYmofyi+ z+LdU5P;N(2j&Yq1bGcghMN#~cc`JN*n$9F&(!X+Rw_FYJisC&ZZ7y1~=C-oGI%mnP z-?dg*ar-bdjJ0zvC;9#nTpvV(ty0pHx{|qAyZb{p?b`Vu@0j3jub=^zDA(ScC6Z@Y z|L7gz{1$c9FW2gq{xWag)7${xhQqoMG!)b=&`X+hW{x9$iMW@FJFZ}FISA)vk`W?Y z-Ovcx{iRGDWM*DE&7Ly}-mW4an!=EdcERpHik%6U6{Mf&8G{ANdVdb#73F#!Xw=*+s8&1I3eo!JZ zbt`hYl0XhcG#u|JEv7A3lsC7|WiD4zMh;Ux;am;Mdd}slBHKlT?crEH9qIOeZ-rwP z)mA-j&Qr9LPp^xU7sW9gwqS|Co(yv#S|ZQ`AOcGwdHGMzqkh!)BW@`_^P>G|o{@2G z`Zoprc?o!J)Iy22zr0Of`(M9vV06hdi74-X1@T!QmLI*+Y08#Y5N+}$h@c+llJ5zT z*83_hmz3P`m8!Itas43Gxuy|nu9W6VVOdx=$gQJ5Ef=i;$^|=iwoAwq=tqv0pjS(0 z&)m^jHFLt0b%HZG$rYV!%be0v_zTKGXMgx*`|Rm9I@c!ZF#FYY^?-DPr4LVL_xsJB2kAFf?-LOoAC|F!ut@qvz>*;+? zv_5PT``4B8?Od+)L{@TYA7mZ$U;0Dpj(0?45LrzfJj1rWf8V~(g3a$p)H|}ac=rI zWk!>3oXDeaIm-0B;?Is&pyMy|T4bN-=wTbA7DZa6|I#0oHEh*xJ#Of1${qESOJDk#zFGbTy;hKm zpj`L%3=D#EQAvy@1pmpsRNzWPgyP)vFY3zLE3ZI0E6E+npyV!>m7Fzg%VtV0S7r5) zt1F-(c&G1zMpnE34;pF1l|XP=j-KT(Q?mxaQrI4cM=WkX+pc)=I+LMcYMxS+lxsXS z)2N*oQ~ z7d&bb&VJ+~NI$H1YqJ(S@1~Ir{N%^Y)EzzY6qbcFK7Ow#Uf9*r z^Sr48`}j{xy;$8+?O-)$bx}Nf#J=Ez?RSKT7?@Y6&*kh3UL3zr)}XObZU;_RrMB+9hR^1HY9x1C~6wL64Ri6Q^LQxeh_^- zY4?Z1F8@z3(ssG?Kf2T9h zmV!PZt>`WQ|3Y^GT#sWt9HSjiWLtWs9os%Cnb!U{=AOaLEUC_)e|COi$4f0#&^=F~ zgzGPu823KQ`Y7}dSof(OJzz4X*A!F;;~%0!W4X zKA9AMI??tkQVxCUC7@BNt{44o__TmtjivPEgC=IbON1WRR+tOXp7-hPgA$*d=c^~5 zYo?GBv@x`4K|}OKuGXyYa<=O*DTUFd9l}~-W?f5L`~3IbO#Hd!Vs-K8nxaLaFF|e{ z1*(^y#})+?@r3k4H#jIl52aHd6=uIn1m;4$RgOTtBLYj3G$Escz)HlD$Hzm{S|*U&%PSyBD338%P|jy*$@O>H(S1c+r3`=Muh^?`n&UvC_aV;8BiLWD_u-QC%e^DtNz{FA znp*qdiUd(-PF#I>QAJ!?I@$`dQ8p<}-iJ;Lu`i)C<>bGViDJ&Vu-3376M?2!N9*x* zv>uA~mW|4V(WU77i_ez^ji+}?O9bY^_%)RyFg6Y5LbQ{CQYbB_^}kukDP1{&^@9kj ztG^#CP8@wk-LS!%Q=;5RLmYvKI6VK~rNJ9F(I{ho2+mdOxx)BH9l`9u*9p=5*LM=j zo}8wh+q^1~ThCnoI2ttf2mKHIYfY=2F?@P3`&oOBp3`)zE&tjX0pG9JYnC^@;Q#mX z!=ovEliGe=G(3#ghA&onp1yIYbZj+4gUh0Fhn|uOC|*K&8ZYGCRs7rhLN)Zexjwe2 z73WQi&zxgtTWHhf)B?C!T&IAU~dT9YtC6 zBKMtMSRL?C9o4k!1=>P94}T%;mam&!PfcEILimU-HyP=8)ErGW`m@Qa@o8&~2iGMJ z8vlFZhHDDclLO}Ys8N(j%AsQdhB_vo(lG%QY7{k%ZBxIy1PF}kh`A6=^6E&mnYZYu zSK;`(l>STe-febQ5sO#vv5fj<)vMF5QSq>iLJqW;O2x-J|puSV$k9*oNE{x0rqw|Fyt zuetp$5vWnDXQ^EscQDj(2YnrPP}mj9Bz1)d?4vLjqCM}R^GErI9x};zADp?nbgMM_ zd_7u#5t-}h5l>LvHMCyeOANyp!bof*_~$m@5atzZ`ORBk?X7f3F-dW^&T=BTD!b^EaAezws`r|X0)gX%QGoWmqY^d38_q9M6Z6Lj1o~P; zd)}|--xz-B_gDA-@T1TbdTr#^NNlW-Qlu+v=Ty&BAN-x_iSqGZDr(zyM||tdt=g)W zr@wk_M_l)fzfD@tp<=rRK(mQ&FE~ETJL5`q$gw|((Gqfk98&pqMnoy5j@E~1Ygbfr zl$-vz&Nzwm&>~1k_-*O6;o#psXZc^5d4>l zy45d@KX}!?EcU_n(s)j%ieDM4Tn^%dIb@lr{PGCqopUjV)-&X4m*ijs(x5bb*Yk(F zZVsOaE>JZ~4px`FHZ>l&Yp>bu!FtBlTrpSd8Hg)RI~pJTYmMLGg^@(@=A{xun*yd$BcYHa&OV+?|%d*9=^-z9iiF(~Te*EszxTrwsU45H=`ovBqP5;07 zqI1&a5&TOSx{hTV1MV(UgW;hSX3ag{hg+f?ZYKKJs<4( zdARKyyO!Z{$#QpGJUxDQ1FdBd4f^A~BE4dhiL7bQt=JVvbB4+6I@vfZU)^`0>Nn#X zzutq12-g5M?3xj9jOWG&&j>1xXZd~O3HtQ_qHbwmn(0}t?0@M_oa5@_o)hDbYtooO zawrkGG`L(uXU_{LGE22>IoeJE{+q&-31# z_UfwiPtDcBmn98ssYuWB8gD+KxYr|1)uGds;0iU0XwSRu&R>iB9@0|1FypKUbGdeo z-iO-Y+-m2AJtsC$-(037qQZ90t(Hd`=q=HUa{96kXJl*8j{GV@P%i#%5v5077!J9- zu6lZ2C&3lkmGd#g70%DGrd-;KaIQ{v<;J49>&CeAM`>Pf-#>zKaY>9II`n5(=(#N3 z&DuXg_r%#~!&ok&ZRy-Y^Dnx^8cvuVp;;!0(7%|LO0#$xO_EQfv}_+1V@Cm;i~S&b zQT|S7NdwEm8bsO>QBf|US2+SD=QL}VwcvS&_4bO-dbG%2+GnB~2qTN?m+F%P%V~%A zz*Rdgo)~}sgWcixyqVAa+_7x%(W>qPy%hd}V-YOL^M+meNb#|cZuJM8J6Me25RJQw zp4a|el{kFC-~QqCuM|7gh`@6PtSkCA6+L*+uK2P^G`q8J7TYL`CDCg|J7XG~(07S& zBUYJnLKaryh&#dzu{m0$A?M;-58oNygb_TZh5msbWy!ot8S{&QM}0ZX#ZXD!h`=d zFS5}H&_&<--|sV`)(56n5hwf$ok-y{om*kFeSsJe{7Y^wMC(z^H|O{RuALCByg5HY zTS6^J$%&iN9W9~_-{$GHj4AOiL&?je!W-`{%%;0tIW>M*pWmgt_?L>X2G5_cT}w-& z{*q|hw4HIC^?#bQM6BAjJg{r`B_;-;KIda{J=}6d@Z#UJrcYMV_Pjq=RgLaTywhxk z`r*UL**e%Td76H2z_yPqQ>Vq>Y}ymp^4~tYY}KT8k0vG@FA>}JPL2<{+aeI{c~w7a zT-@rqEBwVPCJ7p-H`$`@YjxDB$GR;`Bz8_02-Gg3J@39FhbFeo-IbW~>@NGG6rEh1279-|j7cUR1QT2~AwP!?r2wLaPGedB;$VZU@0 zHRH2B>dz)q;<>-=4bDGvPBG3uC5`4qw-lfAWpy>UPhZi0AOcJByw9)wGyHP<1H}_t zTq)}L=;wE8TiR~?)r5UJ<9oN1nzZMw8+bxAxYmN=(TloA_)G7zcEwlk-fD6=IjGeZ zRy#SmZqtKdqZu8dyALc5@_*iGa=FoR2}GSD#GI;)qrW$tQCxe-IT4nN-tPYxyAn7Z ztMC6rAt76Y?Af=mh2eefcr2+%Bqd8^Pg1s-F_?D*MB~razD>|&ppe%_uPBWJ@*`r0i|E8Pnk=7OPpwI3K|{3ClZ5r#nrG(`kb1M3kFlHE7q?ZP(;O`;{#Zu#q_DubE!= zoLt{B!8KfTRH~eLZefIQ8R^o>Vx&uD^IdyQB7~_$zhEu%U9VAx`^<`zzjuYbddx(D zGC>W8ePdano-^f3JO5%-5su4^F^vOd^-=Z?XU`QS{kyxK?IMnzT^TA9W|s5hEVF*V z>MW4nU}upKTX!{%fv=2{hg*H>5-uDiI5Nz44FP@5a0LC#=e&wGJ$!&{*{Zl2_W=%S z>)0rLnj|S09J)VXelQ%SKL{G}S=R21ZIRZ~Cflv1Ckh-5*f%(iiI!joKvCVyN{_2P z?glLD$e8+a-0&f8bX+`}&)7F8H;qI8KP-YZBSE5mmTp<(`S6_FRJ;j?9`g7YX5jk2k0`RN|gWf>}6{qw2E6BXgFcU4~-1d2UHGtq7^4; z)O0bfMiZN`p?pworcCFZ|AwGirX>v#aKi1>Xs6^5uzm=nJ(%YS`S`fptVPag7GX<< zrm*fou$~)k3mYXGg6K8l$CQa%16`2wg%AGi>>ois1qrf$nUhZ95M4%|3{~`RSeQ{l zZK14!{R;I*?-NsmZ2N@YgSdMM$_Y{26DePuc@K)O_I;EOA|V<;WXJ$VhA$zXBELlW zwja5eGWpKyYA6bW#!MG39GyY&Hqjkv8;O+wy~Q%*GSwpJYKdKJi{6ECHFid`xV-?ENlI-Q=#2YH4?qXhM2`` zb@%Dc<^wu^5VoZJuP#gt)jiW(?CBgYu@;rz*r)Mv2;y7+(cMH~>qGlquxb+@3P%@6Jq z=&p!fqtJNG%dzg4)qc0{cagjQPLRjy))&}TaK=rLh@0VH5f{-?Wc;iPTJDtpp6}UB zzo1R7a0ufOPY_rO@mW^?$484pLw@$xQ1oLrWtxKqf-HI*!u&!wOqpsSbm0(K3#qlN zM?N1Ixo2Dp`RVBnf+R{Bhja-_6eZ1ZU|W~NK|JyPpnJPRufL@F*7x#`c_h%-HIevY z*@68Le{fo2%=;5@n6j1?#5|KYb}4U$@u$UcY+3t0E-7EDe9Db`w3X<2cAK-WgW4Y` z&dolN$~c=DA7XaGR&^(+?6T*s`|uD<^;YXp`IOep_I>xPL&+$8e~8 zSH?4w-t8Li4K?RuUYfLiD1|2TlHrzY(d}2udSgzy9e!=is6t9O=l`{* zM!D%dbzYV+KU*4Nr`#nbZyQn@%Y)@-=Ryc|8|IkompB$ItK37syKk2%AzKt{&-5;? zgV?i{<-OEdJ~zFAlA7{$zf7MK?buJeKY~8cV^_by+8m|TS$m#tji+{TL`2b`v6yl!uc>fAs@Ow^729YnJ~@Fq1lNPqNHP4L;cL8_{)T6l47^7 z*itOow4a9;e?bVNF|=mL%U|n5P;M6!#T;uPG~4^c_B+I(*#}WMkQL1j{TKF2rd`rL zrc9Ke*5(lA7t%7OoFAG)n066@%I3S~Ja0Ad_ld@joqXC;DyGGxV7_YzgN1ei{pU>f zYOg=z`}L5&xhXgLWwPfk*WZKs1cARG1eFtJ8;C~36UFHDvwfT8 zDr}{S5o>hzA@d8>TGlnqf8kURLggzGDqoRrnJ~4eErM>)lA=v(98@lxbG>g5{0O;E zYQVepdLdsWg1}nFn~J^%^-;R{A&lHKgvwVW<}`fNU(bje-^Y0t__ju%g74zkk%8OMHM}|Y=(PnBPv}Mg( zeXBjE)eZ8IkzFOq2j81CP%#yH)Fv6y?W^*XEr7##v=I)%XK*MU^Ff$jh;~z^T1c&W zQFZXR-6rdPf7Tk#sTM+*GPU&I5JpzU-_NoxG@NR0YgS7RIv;}96>(9{ZSd;m@|+{> zBn3m2=KSL8&BcW$r$#&#kL+@zokm8Y9d=BfC(C;0t2gXUuUs#y{?w7Z^9bI5P#+*w z8~IzOXOsrf5at(>qJf~Y`L5?6W_CcTkaP4FQnP#4CVSzm3I4b;?NVE&OgKdeNXY?NncesFvb3LR+7($!EWSZ z^f|Wl-w@QUX-VU#5xrJ4thvkXqH>cX?dYpiI3L&+Qo{K#TdhP(PHlFKlz&4{6e*ec8Zc$5CW+p?L+Gac{=<%Xo@%B*KEH`JhhGJa!{Z6 zcspl`*KJc!>#=Ks^5r2~hNpV#mg!oR>reG|Ua!k<^quO>T&2q#2U10pAdaiMX89B{ z2#Aq_@m_fhbOsUIGtg+jJ}`4dkCFf;EDMX66+mx}2KAM!Bu2)<7=#>x_9SX=;*WOn zx%&LGY=3WH%G85oTgq9jzY~tYUPAI2k$lEcZTk8{&#nwVukGS{Xr}3XV&M>`7PUlW zYRSjpQ$!{DrPbPOr*119|LV#YvYltjlBX=buO*JDHvQ2rtDnnuMrUe0XkOvccLPoJ zI8|eJ!dTjx?W{Si@!`1Q5J;7&ML62#LHjruRpu9}h0umVKccm*B3ero(b~5T9^9(q zy;6Ue*stUdx30L3nM*j#AJ2-YcE)*HtzZ-=E-UkC{dI&kH3q*+_5NC?JP*csaU+wl1~-ub2>rLd?pH!Ds!?Z2$8=QLL1G%`@`rZ z!h!ngNu}+6TytAA<|*q((?!~8#WC@4^Yh`~s|oU~p}VwAk5S*M+hujfX3BJjG^QMl z(6CwqRt&gSjQV<)>pl@L5eKbsv~MR_AwG5UGyj!NMeNh*J%30QLq{fi>(9_m*s{nA zWp>nm1(BY!dWyIAw@gRbwv_Kt-pc8kmD99qRvg+baU9g1{`2GFDE-yofOg|P5LZcLvz5Qqn@%xj{x`(I4OQZy)%c;U#ruYl)WRX8V&uA={Db~W% z7KbphrFo90coW5gPV{P2#_Ya+R$V%!`dM``_J%2wq)kh7y5|t)7i!m(sTM*P4uQ3h zLJnbmp>|D~@R>LxL?MSTzaRva&G&*3ND0pWXeG}Z?N zrE4(IC{c9AvH=C{>Nr)w8%34Tlk#)=IY5ovsond_CdJORh}+L)N|{Oh?5Fq(L6{S^ zk(KU`ca}JjUI(kY(_WwM`wklUG-x^9tD^SNL^YSygIkQM4ZFTPl+Wwkew^J_R96OdkVH zH^&HF5JG!)>pnnegRdY&%O|s(vme~0dsCHF`+oV@(kzE=1PVgXFZpW`Rn!uF_aS2Y z68hzq+Sv>uKeY0b>6jLIylF<{i!(C>%Dv1xGnEIO?!oRK%v85dS$V7Ts#{m2_pV(! zH1xAn27$H6tH<~B^;&?5TEI%f>dFjn_AQoeb;vr%CsrS`WRBY5t-!GWno2)pd98|9lV`cq4 zs;J5jp=(9`xov8ZbPco*A?W|~N55$Osv-0)Q)>yjSFw;>#K-&`W|deYHdi;xO2$U47cZ)qprpJv=`&&1){JcaQhqP0UUxDBb^! zqhP!FapadSLg+GCLW1a|J|Ap;Xg;u(#$j422w~Q{pl>vE;SflPsfEy%wX%E#yXwr2 zQrzFzkEUxz-0JRA)T&0Om#~X{Q&@jwz)Fog=^GP1N;D-JLi2>>%Ry*aAr35G4nnt! z^1*V3>Ir&bO5Bk54teRAmm%bf^G4o@-gxh5?UR4B=k=h^xi0H@lP7h*w>jsUDqbrX zB}7er90-xe6G~d+@c&P+L0btx70QY@&p&pN59}M{gP`ay>_>&|oAxUMEf~9skFiazuyg+U+FgCsXm;kr@rvh9%WC|~cK7vD5Bf4N_rSFO zKrbZoUH3WMxU<{h;Kn_J-7Z_!^6#&dN#Eb=<1lyh)Rt+N@R_p4k@up?r59Crc19hA zJXzL&x3<`EKaCZKN`&kO($yPh71Qa1%!qsC^I_F5I;u*Gm&49aWiAs{#qU8g!pT?7 zlxgIfp0%vGXHMC792g`z_Xye8F5UL*c=e(mTbtu}xY%^HUuY#r#mcnU0An{%X~k4n{HeN4lW@8~Ko@oGH`DM=hb&^M-HOKkn%znzsJe zF7r;R)1eK?J?yTV7j}B6ckO%Y3}k&nEt|ivK+n~Izn$}{K36b;gsDychQ+flo%0_1 z>Xb*;v%sq~A-e42bKaAV{>~xLBNp)?wC`0cl^?RQeOVU16AWr)NW^Vfhx-(3} zabCYm^e;2hIe$sNl|e~!=_+667>+KB&Ur=ao%V**=^RCT90x*}TEqWx7zDOd_#8Cz z5$B*jf80E|s~s2LUQGC|vA~gmd|=P25JEL(*v|}VE?%7wCq9@IcDjF{Um{_ja|q-k zkZ3{_xedOPPK;dDQ1ps->}{vwV{gfbbL94k&iY+hy)&Jn90F@SJno!VtIBC_tE$Bz zDn2mZURt!3D7U6Dn;*y%=cDhrhuoom>l;Pm{YRP%wW#^7rTfP6+A`tAIc}}2cww;j zKWs;lsxQ?$Ao8!)7UBDTUmnS7m#VdBp0^?4Fzr$qy%1GaX25}*&-v?|SFihN-&307 zKnVN=slt|gFK?;5y#4uswU8%M*8S0{$dB9Zn?1rlI6qnK^k*u|mVUkZK&Mo7R@d(! zao(_5tNdGoSD2)I=-!jG5BFR8IrrvH-&B}pKOdhYu-&rvq$+P*{bHHpKyP&%ae?nS z*DKsx9lg?nGJ3Alj;#G1#q6KI{L^0k?@*>0kSd&AjB|nQqSrlA$RY3-gb4T}s=g^z z-(KK_LFw8CkCrm zLP5JYqd1PwKarifhsWDf&m=KfksrEwEsdkcvc5jl)y}D~E|PfjG_iKsbjQ3>M+n~M zINFOeIp^JTPR}(Q`N)%HegDV3_L)H=#k9M2+SOXjbSPdMt!k(ZaQ8v|5%y;+m1vcr zcRn}q2_zRn^9A%FbJ&~s=OMq+pX&^PW7qEG&NF%)DkV`FDx(u1$h!vw4Q=- zCNLt9fuLAH^tzjTk4+?K6YIya-g_Zcp13s1_f<0x)UGKLw85wOC=3E?nX-<4K`X!E zgnpr@Lxy(bBcSTPAczvvlBNnyMS@O0WE~)GN&9F^L4sda9v69<8X(x&0MAZ*w`6!A z>YhF^&D(z?f2l>Uw$|P-UB#5uZ_I-F1c9&5uok}m;t==?;(K*zva;N1+=WA6EqqtT zAtwDX*=zB#rq{gABR+~Z60-M|fo*pW& zU4)>PD60IVF;_$x4t6VpCpz5wG6)fz8Yr{1IRoaugWTR=O=O3a>3-ICs2>BuV9!sL zd9|l}aY`?7Z~HCkUca34fwZI44OLnLp-fC!jUJ`Df|r3D!i0`}9H2x=&WACAKGbU~j6CDh|=* zp?gDvmxN@W&mm4+b+w$D*G7FsHAYL|2|!uTU#cM8fi1+zB8M60dxnL* zNq^+}+TdtPs#o?N>Zh+d58R2 z7QF3?odNTo)i@v4jqkW`+Fit;8%s0ogR~+ZUBipDK@?o#R>0IB=#9mG^o1Vcz_&Dci zfy7#95j5ZR*%?p5hFpIPwet$j2IibV5T+%S zeJFT+2Jh=K;LUkP>}v8p&VDi+z& zhE*d!E{_+B?>X<~j5+B;;J8BEDyPNvrgF0QGgAIF&N)J0ODg)_+s) zi8Ci`ti^Fe`>B`)Bmc3Vx}k}BUmN!7eUj_nnJ@Yw>}~2nx-0CCe>3dut&^LVnRIH0 z>auyAO5(k^;tT>;PK5R?sWH0`S^?44gT1LWtjKE2<~gocNUb{K)GsO< zcRXQVtkyvwy~&NjUd45qb`F771MD>;EArkkWgQzgH0qGsc35#SzkUaS?c&PGaiE>r zv_~;xpAhelJ`aFpC#GsrZxwTfqXbAkp+&Yl$)s)E& zuj}XKm67TfUBhm^CJT z4Sn~C%KM*+O?6vvCxo=)nC1`|tp{r%G>5=nP*&KIdJ8aWcWBTXGsIAp!>!2M)0Nkv zzFEgPfl^Qr{_Za#d;WCHZMHdHtp+C3MnZJ|;j`W&GqU`?DOc(rul2gjJWJ}5le@AP%G*dEyX=9U-tKo>dobM)$8$w+`)f-UNQb8(;~GX^{)g zq8I-5IfRH8`EqUjo_(K8F8YsuuV!Lt{T@n)nljxLAhiJonuoaarg>-1&a`JRH)b3H ze?f>KlUatE=l5;-+v&4`GqtbLYwaz zqT=Y`A-7E_arb6^e4dW|xpk7m@jSL!%-gwK2rdeE$D_zOZ9J~YIIYSGa7IuDB{zF1@D zzBS!BKT~H+&abbG9#gNK`s@vLdT6}3wZUcvf%kO?t$enN9#6lc)KoWjcoKV|fR;j( zh}u&>@@8baKC6txnFnxbzN>OovTI8}u~pe{k^ST4m+h}=MPJMDZn~(yTUK5kUP*a)vEAxFCwoJG z*X?o~c^M=nWst-h1;(qM&9#>EezRp*aqeJ3?Sf90Er>wu{h~HDlE#_qIwu*gxcx70L%slfD*}N{gyB zRL%Lk_|(eFFlx$l-dW!?$7`RK?a_A*F(#DbJ^fI&cRs626l)>0W#wg~m6VMZ<&OQq zM@e2bb4l6E@qP%$7{4oWuejgM={w#oHGiT&3lwtB$CX+QVw?w3%#heOoR9O@4|G2+ zKG`nvD93>oLBto!8Y)fJP;<|PQb3-#bOWjqqDWQno%TM+2iC&A;e3=z%uRnNWu#m^ z^fxv?kSdhA($p=oB1Psr8EUs+2D3V&q`7pJ_OX@r5lZ{`@zZEWNtvY{{Yu9`r?Eue zOeQL|%K!+hh2yGl2&^@yNsh9AQw}$J`&<|fln+8+OPs0=wR5}`DmUDL9U;~(LaRPs z_fMxt-~O`c?rYd>ALW}cH;Sm0)E(r$PIB^HO~kc>-Vb%i3VR*zD|mx}Hyf7qM|5PQ zb8blPywI58z;<~LHY)j+``Im3cTuNARnrE@omhCMskjx&vmOM#tXD%plurMLF&G?TNOEa+gtAUtK$V) z2e8(>O6R=um$U^*odMgHmCfF(BVK7#oZY_SIOaBF%=(7+{g?LxAp2FuOIOQx58UmK zs{kS{iX$=jZmDrqu4Fy=`^GLl1l9`5aZ#?}9{8e++^}!A`_zVbb?+Q-xaqNfyw#s% z`ny+d{h0f08TnVKJ#L!1|G-~RZrGA#oqwc=%u;rrQSZbHY!`Rl*b=uC;VumKj0mkF z*Vk_7jz85%{J1M#t(=p+Ipg&FFp-pKPP7<2)vNvRnY{P4bFV$-KJOKgw{40S*cR>$ z5w~UCw&IOQ_OH!E?zVV=ZQ-cg)MKhQBwpjTtYy>QjL7Gji8B|~Jr0ar9IqT=qoT^% zSwz-T{ee_H-R!Klqn18RAcZtL%wJfHDVGw%4iTXwY7Bp^jh$FHkEwde5ojY-3CG{-dFL_K!v)^p)y!kO}q;%FwdTj(9K<>03MW z?S1^lz29qLJd750bnSyMZ3 z9YI9JHGuUz{~As!H09(pE45zF^YU7%*=SjKio;!aP^Ni)p#Ot%{Em-(Tc6Q5Wcf8^ zvNWUavaD%`Z;(f;|7hP`q=`6QF3oHC*aiPq56@~`@1j-B%ud2#%7g>)@%`@QW-USE z2(_##y&KC>wS~{Q`Gsm>-(dS2H^7gGR=Es(i*i!7YE$Fnpv`UI|<{53LCcCk*!*Cn&nmwDDJU&p@4QcmB+?0*;c8imFLUa7BcCkc(5C)cW_{PHTNR={v08w7TuW8FIWqq z)g67~xg9U1w6qu0oKAUPW7wUHWOahqZyJzVpQyb5g#}rJjfXOgSBfb@`*!+Hcish0 z+d*E5gecmq@m@qlvwC~;w(Uuo_NT3eF{)5jXb)0&rmonUv?4{kFtn4s_J$Od6Ggwy zLt78_lVv?xufDjwLzZ(yODY0 z9~LXRaXTFLImhAkJ(Hf)bEJqgI>e~jQ7gq+@{soOM+%j<;Y0E6-7VwA^`jbzGR;z) zX05d4A0bknP4?diXrI)eN5ZmYi8Ic^o;pj+`i-ZZ22bm9Aa&X&-c|I|^hX;Cv8_>K zf$btbF5Ra_N49obce8L?aXTE+jxDM8d~qux9iAH?_7AyAWfDksK4^W(_Z&bRoR9Jo zjzy9iH4{y4j%N@KH{HC_J`Sn z*|AH!9u&do;~7?i5t^WSFn3Qy@yNCaoN?%RV>#LPFN zA*2N79j6NBx$@K3^O-0?Nh3bXIyktVNIEshZ8e!wh0q*gnMk53&abuonEk@! z9x#+pt!fias~N1dsQFGU1>=zH3_+AEicAp1Qlq_(vNx!G5RH_n9*6D3CK^j*a*1qky?{#poaS$Dra#LW%eZFem?nOTI9 zLX@=fTuvV+hP=MhUk42i!fwih59bPpFux!KmCbi8-P1dMv$NBR$rI-~sMFnPXUP|| zdr6R=e|E~*TSVuNT6p}F^WF8=_-n9b4g2mld*-9X$+AyUQlTi(rfA)}uc9}|-?)cHrg{6eTu@`lQW-?k)LBHA`Pen>5)MO2etc}~s=K=& zBUg#FC)LjEzp`^-AE4eX<(zUpZ>pg=4wMf_>#3~%^0tPj?Mf3CFwT)%96c(Nzyo*4U;ivF`hEW}vz{Xa%FVJ~7~Wg9T2Mwb zINOmypj95BEvruL;%;ugJLQq&QUXudcw>U^e^geI%GKPA6ZgskyDzFYKf%i&Jd4HJf&kIbXQ;6Au*^E9aznPoFsN zpIA^nINsE|?T<^iH}7a7ANzp6K0}^R3YIlzLo?ZS*LM4FRZ^euKxU!q>~@#WGoOs7!w7R3;qyRm$e5vU0{h78w$^ z$E`o;0fF%zk#qD;;iJUROYvlIWKh|R7~(q|Th$4|{9>SK4L4<-!)gR0K?nxQI~;QHGY~4prfqONQMA`xDu?LXRB|fmD%9%qw+xi=6MpdiAd!mSz8X z)BddS#?X^RW_j&y@olUUbrfIK@^XgBV`Jj|oM9%4Ia#1ggn7zQ6+|&Fz4%$TT!V*Y z=Qa5(cSomtr5tU!Lo1&0Vfn3%yZzZla>x*lqvc~M&h0C8)O5s!Xb3=YU$h9iJ0Yy4R&TC#ZBPIo9 zeY|Ia9RJ%=`=UD6Vy|Iuu0NCJE$ezd?}c=?TDH6LKqEPMUI#`MY6hfGd4GO6MlP$h z!oKOIg*LW@x)yQ!vZCCXzN|3E0OiXxa-%37X2e+5x4Zkuk*%J#cPrZu;yAuH%{$uh zynh}D>x(!v0c=U{%E(&Xh&ILKXV*MyY!S}Zg|!%rQWij zOi)(1J_dS$v?-nx(dx+0&H+pqcK1A+HSV>7`h+9cb8-mWIdKTw-C?^(A%_Td#T*CX zRyKgO4dt+^ciVUW*E^Ztzq$_M3US&6%<%c`wkwfA1)5V!&$v>#(jm^gQ4 zpGc<$^}^7p*-f8>%y-&lDhWN-LcTeBl0BtHoVa&Yny20q`BWi=oGLuA;Az5?2_MIS zF|bYCYl^dNqA9DjDr&y#Xv!qtyxR;x*@3Na9_^4R`2MeU#j*ygciSV6xk)Rpu}d}{ zCNA|$^OjaQ?|T(K>7@Dhbv@h7k05`39D3QgSX=jAl?B64LfA3dG^c9i+<~F*TD6da z8pJcI=2bfB+>@*+#M6>xsp$A}(bBf=H_yaNY9qmwEvxc(pfq3a(vX> zeaPL}ZM409AK#bYNaR$h{04Gv+2`D`kHt&mmNE-c)*g~H=lqL$b?iPRn#d1p#0#V( zm|Z+Ov}Ik)nPZopSVunBltbWXM`)FQa6*>5sorDuHzWEBlqlLVI3HhLHP;^AwT|4< zCtk&k3T9C-w-Y4C5&6ENoH%{0`{WBD#yMqSG}$~*3M#_*?)U9)TUC-t`EUd}DgpEu zS?K>-@`3%)=t{CtRtH9vnRhe?5n9EkUURMd$=c=CQllLyp$w8HHwUNc}&trnJq8y+mn+wWKc>*^5$e#ALj$w+U z1aX+}nks}awdfbDWxi{wexEo(cDwedO}a5SRmVkfR~&q|6d&=2e{p}=T~zjaGsOCw z_J$_U5Awv<52VD5E2L0UMbzlOu)sNiHW@xYVC=GW0`Uc7m+Yb{qmFAb>LBg7yXSns zjA9ZED9nKQK{(LUDezUYWZ>O|UQgsR0h)o~2)NCFSxY!TUoi;N&m>)h_A@oPCQ}pc z^pSIvh-IC7F(fAyX)35s&<=w>SHXAU10jN1aZ#)le5Y{*nmRV`i1uK`$;ihCtT+q; z=OaR^h(PE1%2QT3pO0Wv$3=s(B?AhHDuf7rK?vlDAYkQ`X5}P4g4HsE@nl&z2QNSG za6XcBw{3kyzV*avf7T*IP*!h7;k?Tsf?s$ogjVZ$urFb{4|(F!eN9f2L+-iVr>aPk zS>CcoDLX93fw*Zj1##{u>b}l5;b)w3(qE*Pv$||Oqs#vr!qlRcdi_a0(AvYaa2%$V z!A*Nc!V%<;!kkeQAI#*8q8MVPO!dR6=k*`8g|rh-wTiV>-c$j9rY`*(W}^Ym1ANv7 zFkv>95Q6uIhS1z2y~qbeNh3Zef}N(u;30ZZqR5BgkFU;VWRMOwWg7W7AC>P%VrB8b zP4C+K_s5IvCBuGnI>L#Wx{z9*DuGn3evGU*dSpD57LuH`V1yF`c5YR zqR_PN(gBPD0@eq7g7SF z1lL_toBri78W9KLW)OasV`F1gmOD?|dN)Uds3Du9YUOXw`~K^_+?geYiDPd}iuDKKI9^Uik;FKMEDj69 zf$efxwb)w4zHjU?H}kon0%KTW1Wb-2=#j9j{qWAbyG?FqICy?%-o0AJ|Ck@uTI_NX zhtTaChYm21hQn952VH{1`8a?3j+pNki#jBO=t7%g{-|O+IR0 zZl13?H6u2+5x4J=B8?wel`B7qd9-2Q@cw{UNQ^2ReMq5YUEidleEG~~w^QSe0&%n* z@=45_j*mp8OKhV{P$oF~__%6YykV&Hs!Vt8F+Fxo%vID9*b>hRfYLQ(nq9~fkCblu zoN6J2`L0Kzib)=et!`@3FIdZb*Z$P#Np5P-pd$eL17cCNkE-J)Vsp>$EA z*qiE2+&x#yr+OZC$Cv3Sun*F+K8g8(Ahcx-?GSZKys^Zc^%mC*sM~qmTBR9WqZ!%` znG{=vab@8BQ783EIX(2d`{G;ijH+)w|0L!igcPc59>F^nwe!+1Uq~jwJC@Dr&eKFG zp*h&$?n7?MEyd)>oDSmtJ9fsrTY{BA)an5nIME;E4<$F=u zz2HudILEyxL1_rwv6?bLbBIyT3>N!3Sc2eiJ|hlOHv3(wOMhXBdI|Lh?oreWo~pmO zzg|~N9!#OERzV-2+_IQp@7|$l#sVX4Zpzv}+!G zK9q-PutVB;TcTH_iPqXEx1c^r7ea1 zQQeLF-5`{enrYvc$!9HcjuK&1Nt8R{D74Qd?)28p%c5PzWp;fS)$wvOiq2;^yOg~I zVhEw!QQMjCdi|)}?k2Zu&BOMgWt?*yeK_)!efEPpWdBe_f9Gr3rM66&G%CIxVzLsr zPT+}-uQ&lrSOmN61d01nY$>QuqaC#~LUZjCz=Ro9SPP*oYvSq0BQtAd+Ra}YDo{Q& zGE6LYK1$%dnlx|JNIvF$6qSSbYP90i7*bEJIN|%Z%jb(moJoJ2^Iy0G``rw6X3+ax zeLjb1Bn$_(8@yv99FKoBQEqId-%Xgd=!A{<%y*3g-Y80>-MsB8$OpW&lvpcxU%5FS z=OrGhEZ)8OU3cKYctLZUc4V{ykoDu0lfG}Ig;o*vW|ZN;H5~C-R<%Br#oHy{b;}j+ z$Z%l0xDxrEveNk08kvx+Oqt|^yC@EUzg!MNOBY_tGCs^KBIzPemIZHkCDy_@$RYCV zB{q$E)S`x4S`AE@q)zqBUzn}6xEtUa4mE?JsxZw!Jh44POp}pJjJBh4Fdyl(jWIb4 z4r&X>nE9?X+<(1MBxp0HHAE!0g1qhU9lnM$zfi5q&ESF%rWXBTps8%WYtCV3$v8)D z13gBZ?`&}(a=7H&P6H>;WcP!3`@Z;k@=yLp%^UiI9Ws-s*~1rMXC+taH9+7J5Aew*Z!+9;_c=@lX;4Ss^}kOEz?>d|TdXm%7)sgPR6RB0i1- zrHeg<_FX;_5dvj`5ZF>sUuhP`2ZI2f3`D^m#9j+}mU^(km;rKSxRu?r*}pb=(4cft z3jW&+XzHy)Dj#5YhiB|4q<+wC?|-|d?!t$UKY>DbpQQ+TIl09hBCd2 zx)yn|tn`NmMh4byA&<6Go=$LIGphbB-#3b66IFe-64@BV_V3-Pj+BbAtk}CpQsA{!qQ!S+}l4w zTg>NoKH(YbIpz2|y^~Hz1To~L>)c5z+ijbhFhk(FgzHt6N7MWrxuTTkX^_E=p063f z$s#{hNITX--9=nzdkmG3UMgcuVO`cZ3Wp$Wd(7z`MQGON!t^uEPSgKX4ya8~vikVX z&)usgEQs9ijuj}AYVT_Kke43yd9f@0@#iK{Pk)*+#9m~aiQkI)uJKzkvZ6U*%Dz?$ zf9m_+X?^wP=@ss@);~wC?fVEDS130wE9HL`%g>3NBM$Rj<3I>gi+;gc=DXIrOZr|T zf9rC6WYH7-1@_v!?{yDueEH;Md(fAzn9w)VTRI@eqgbUB)2Z*by6g-+<2^Y`mzi|c z>;BW;_m3B>h0vDOu0wN~I>wG<#&r}($(+9wRk>&Vw>ex^ge5OFt_b>B$9pyNgK!LA zk>j1XL{ZY{uP_Kx%S74LyYRvwuojJ7GrQE-ZI@`z_UZ~t#jII#THOi%u44sler0+r zo>10|>7KjX#1Qhy^8Xi($%=Fz(Qf!a{w!<%>`{?AOLP|3;1?Y23I03}G#o-8y{1fh zFlfod3Ny17e+kMsYYAe@$l-2wtNNmG$9VP@8KWZLyJTWH&{t+O(5gn|!CQ0u7?$R{ zj*Z)`))@DZ;x)w0za)qy4<$LfRCZv}IEVw^K^Me9{e0WH&TQ-=KFhKq|X!t8^phfiw0#&^7!p}k&S$aAW}eFG$>m#fF}Pd zgb04&wGi5}ZjWo^-jXss9}Y_fwc?^YY6LNoI6vCG})Ek z4^$oy6uBe8&!b4tM#BYjki3x4$0w!B<@|kAJhG69M~3ubd@ziw7w|wO!qK3@dFQY9 zwNFv6tIsr~v$@7h?}PWw5FhjkpEB+EWnEYQUuTds-fbiw!}%eV zkKTOuBe8`{BsQFD$kYGkL*-baxBoG3GoqdNGdvZf%1|=?Xo@o?uRl0droRc6+9DiB zUhM3*i})^&18GOO<(E}hjYs|G<2V`g^Z26|ocqtm`}nA==lO+(Q|)cdYKcMTLo&#y z5f|N;9CnsHYJ3MxW)GURIgi|EZ(H0{?0K@iY_Wf)lYC6q3baA~OdEMK%BL)NEf*KX z_k6*3no&wtj1L^I$OrnWafrIWxv51GG0@6?x5A>(eZ3lpO*sjS59~GMNqNNg9B*G; zB3Tf9!7rAItQ*KD_)fCQ&j-#yq{{f>srrTJ-Jo66yBdd&$ES*7Sr`pK^MlGXc2Q## zqzWlP3XRkWB8aky^A7Qmbj>W#5c>aNfxqDVz?NdGf#2^zWW2a&P_`g;8*!c|s{#-~ zWOfcs^zcz~>07dYY8`bs-SxjA%uMxXTHb6X2=k{oH+re=zT}vWLW!8#^lw<8e6SWm z7Y>27>I|C}!xtO7zN{LwoZ|JUO>b)BqCwe`f!t^g=8bkA0)Gk02u=NQ^XR#uVG|mP zKT9RR-ayTB(22o1f4TXAeSm%QV(atHt8sew%6rg^QIeIZMP&o6&ILo$(~qXL6yFVL zFOd>l^*L1&%X}Vr_~C|PaXBH4M2BbCu#<_4a_J((AD`=fzW5P`z?RhgAmBi%uwA5( zkM^JsEEQWK$TtvtC+R+ajyWh%NSp}L0fUrASzpa92h}4sAb6j+EP|S6Vr`G zBI#Srz21@GI*57&cdr}*H4f^o!XeDgOG(thJxbvaSPLmc2%i@vXUn2Bm42aB4RiWq7p%v{fCi{Iq4bb%R^i_!SN-E z&;bOl21u`2KadZtMISqG(LOxAj5z&zW6}0Nn$xeY&c5EW-7FQiSm#UKKVp_MWwFiy z>rMD&bU9}tA$ zN%JB9DlY1tX)mt$ODTKO#v|J!a=IQk6j$P+=Bzc8DfYKP~T zxM4UqO>O!&%z7}0h@ZiB1Aa{=U2W6bTtK?&=GA$v*zHlvnzV1M9rwcb_QkBB0!R45 z<6);{WgW#FM<~akRvB+}tus!UcMtkI%N;|`ICl=IP3vxKm#OR+ch0lr(cShpm4>NU zlR>*BUr2KXeW|m{a~un5ylKA}cgTKW^<4sM;Yj2V`TGOMmEksjfAAjEy0)OKj12wJ z9x|s1Gq-6hnKF$;w0>IFpqDF)M%{1s`vf!T24zdKRn)>fyl5Q^%9aeE^`4sgg#NeAwKzbx>tLB!CDCIH=g&uus{f`MP<{HWqmLs z%RaI0KJohL^bpeC^|myp$lDkF7@YwhX3t>k?bK7ovV|6}S0>yS`>y!iwaH#MYl1Ib zLlvEu47XU;oc|XD)iNzwcdPLpxzNW#WUR`{0o?YByLksu+(Q%fIgQEUrs%!s(khdk4p};vnDU5U{H^`yFOC>e z`Cpa=9C6?d$FlC}d80ge$`NtLwlEyO-!a8$Hc|IK;^QOH^crafBOfZ8?^;$TuDV)I z&Fn8)d+DLzjBH747x7tEtNX4M71uZ-e$Z+g*Cp&V>`nF3yJt%=Y2l6H!8hJy5ZE6G zZCOt=swCd++(q0nWg*-3AwG`d-|CITeid!ly9J_Akk~Hb<0}rU``fz3VDX z?f0N*>yNgzq9q9dq^J4>>YaQo+iu}hbS>Vm)y^C zit;I%x9HmRw2Dz^%Yb&q|sc*zu}l%vlHD!;*}Ke;K* z(n1f^9L@Ze&`XcwSlRVg_r_ywMaIC=0^7yd`q=-L)x5?R?#qAl3CVxPG92i!h4^CG zxg=%hqS1~!OJlR-ectHB-`q=si-|?GOa!mf$*}u~?k<)8 zeCUfE80T3Rr#iPjuBCwZ*d0A<3vqBhaJPi>09P{eomM#itX4q#&@YIia0v4Yacj!? zp;dgJHvQ$D{gdLywef;O4Vo&X<&i=!>e#AxW4;-N?K11$sS^CVR$hcpR z*x2r=1{w$DDB?H@(>^#7Q4D%7)hw@=kk()YXk&TQ_6UT=q%4h5?ku7Oc{g)Qz7nCTrL{#ZL z36*GO_z30a1K)xmPnK2x(lq(6m>2r>=Mdu@-y0yb zWlgt6NO9kU(4B|)xWZM2a~>~8$i%r*LtQ>UWMeJF!6ANJWXt(wdW8O**;pV1j$=Lt zE8IIozW?Yjx9{zT?8HlH-m18>{=U8Djx^6o&_1cyH%hksDhunxI@`IXBa63WUKXnw zE`JmElSp;l>=*3YFOFk6amTBZor>$U{pwJ?$xe`C{f+j|MIK-9MfzWzQvFw3$KIeQ z*2*fWY_V%yJ&cm^C-5&SYJ9FI+iVPE7_k_Lb zRdak@Qmr2(-FR!*2WoxXl6Ya^$BAn~5IJn2fv#4cly)eN2ZhL?C zfnJjt=ZFLOQ&Alstt_u>-(D;}zJ=kyy%yqAvRaxfXCLV4M%^7D)P3}RtXd1L2XUsU z(_M{4?)cF~-BkxCsd%r!h(qaesygS+j-1-JGJV$rTvqt91Lulm{kEaFTvx4%i2PPX z;2sD0KpCnxMOl+&{R$1-&)QFAngO)|@~1Lqb-!9}|E!Mit}7#OcZc{mj?kz>Zd(qi~mj6sq%i@6vMN(tq9JDmOW0iFl<2 z&F!$8+$ijYc4ztL56X3rc2{=ZYmQ?(_qsKwKjj`OH$>ns*as9-xb`UnQR~hoa`T#N z+^f|N8P7FH6;iAG+c*E{{aMssR{N$CeKiysNH)teE_| zY+cuF+TV{CUUo^2FGY%nOZtjD*Abs(9ecC3E6O#I_f}Uie&H<%z7h)VqcYTBkGFy&*y?S*4$LSHIK1E#?kpR3RnUPkx+KH!p%Rd+mhnB0kG{rtT_t z+=3yUUYk0Ry?jB5B0kcI<}WN>X|dH=eqB1^FH5TZaV2`O)LG-9x`Lmg{bb zkG;Y1cfueyE~~^fFSXMqD=6;E4~=Btk&n3xf$-~9Y?R3B(Po7R~(0mzw743j%GOUwIt&6qfHwKVQSH7 z!ca)%0D`0od)eBz;{DuCrWR7gA$n#HloPtma;H0oY}A$r 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 F{{WKJRBr$P diff --git a/resources/profiles/Creality/creality_ender3s1plus_buildplate_model.stl b/resources/profiles/Creality/creality_ender3s1plus_buildplate_model.stl index 24d0b4f914949ba331fc43e86a0f6932223d7877..f2baabf4ba762c1ecb5291c13e3570fcb0155fcd 100644 GIT binary patch literal 437984 zcmb?^dz_8c{{JeM%H1$GW4e%#3ORC${j9OK%8YBMBsr*rQn{yGwj?0M>P z!o1+HCzBMS)T3H^p3r4_o-iXRwC?5uAc2xc#@AvrAzIDSXd#d*YGuiv|C<+lyEM(`9nm%-Ub{K{Q$sBW?(}s<<%bex_~nKVriM11+V0C? zYnOg0Un{A^phJ@nxEor0;g&`-Ev}H0FY@w&2UlvXS8Vfk?RNW|kOi6E@y4m4X4Q99 zz*W2)6J0G+So5m&?3TJ VtulH( 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

  4. #ABOK5~#ev;%==L&U>ef9X3AuX0 zjDHY=O)--zK~ioGjih$a=pz^uG=BrB`Dc2NHhr;NW`3k_qT0klfI+`iM|29psqi91Mq8GB@n^EKCttI*Pdsi_f_QZspb|7eU<;j)?V#kplP!mu9Y_b&Kbmdh(DxZMc`F{nFy zjaN+`d4BxM;}kV&(yinLLV#Ag=w#QOOKjLS7be2!GGb5KRD=Zl7nkL~rr}r}Zr~#RXdxxgt>ah}zp#Mql?+5AeaW)SOPmO(m0I)(w+l+CghxjvE1_{= zvi<^c6srd87;t(c7@F0bh4$+@1Ij29Z>;%n5XBQm4ft?vQ&ktXHZJU9i+^AA8hBZ; z5Z?EHxb`j7*=Tod>7IY&F<(N}NEQSN$6&OplvX>yzHOh4ESy6$PK0AFIdXjYt3_sn``Vx#v%5BbFVktSmdXj>p&!c2ATqxS{ zwIkyZtC}}4O`B{GPa~{nVdMpnSVWzoPNzo-)@jh(#6kL2;p#>gZBX&k8O3AwhU%F= zm3dx(lIn1kE^##1hhCMb{HC5$iv*EX?MVq%h|b#vWjqcZeCdFKL)&%-1C>D*WoB*p zCp9eyDRZ64|F|x`6>0jz?&I2<_4lpQe#LhqWJnU%=Yt<2so4vS#D9fCbKP8D?O$&1 zfW{E$C*$DQnwgDjOX-#TmDSbX+3q%#8^5d=480TUvncCmYS@9bVgz5FUPDP0a@lQq z>PL>yuwDd<1;N=H%j;cPCms`)@AlbU|1 zYRZ}Ie6jSbjJmTB#`aCupSW}3M-LU=xTAK3ByRMYySY_#ck<(3-dC&u&Dd}r!6a80 zbXSmi+~D%+|5?)OWXp&0P9eBf>vcxtgc$XF^c6bQc@Y`YGRnhp1RA+$UOW2oJ%eM@ z&lh3ebLBevb1_i_%tQZzI0xPToYthuJ-slY2%JhKbb2u7XvzUUwrrH(VH8MalwY>d z%?C;K_-PhZ4Qj31mhYvGpN>E{U^x?R)+{bRy?uI!!R0fgpf_eFw3A(>saozWIu)6$ zapz<<-J@(r;h|B%prr!tWZ`_947Qbhbty(l$7o=pp(z^E^OHJ9EV&|IF}$Rs>;g$8{~0_-j=T}-yKMG)C?1V9(c~en*}sjzOKh zvnE)3O$7><7wt@PjPic;!;CZz#-wy(WH}xq5G-iaumwh1Q0eDj0L%upE0m~UX1rg0 zro8xpdxS9?%(ewzx@>6TsJ$5*?!)+rwV9S&6J_G;lsVr9E<*EL^4*%D%IiVpDvlhL zwh8xT^V){+5`D~jp8Y5(shF{}9 z>{EK1qIZ5+8W%f~)|LD7Ns2j7o{nY@&c1~`X$s0A#BP%Z4GitZR3XTuoRr>c`8S~~ z!AJ08Jz+z(=OjM-L>-unSK)GgCTVyBI0OZE;Wn8(9<7?C&EYTn1t|5rQd5B8@Ba^A56*vt=O_U}9-EQbhf;FHg<&#d4 zCi=5+8=+a-FCibPJva6{)l|!Mb@p)HvoyZ!w}T`qqDfXGDG5y&TgV(cnrjh0{QtPB z{{t4y4VwwvrOzsS?hAhQKXqO~eO{s|_+q%axu$PSQkE8t%Z<9$Yf6g0|_ljiZjeLUm1UDucKlC)?FPZ!YYdr=Xn{pN-a-|j*pqsV|)N&3)URz`4c4X0_9^X=6vawF;sgSH|`DWa6KIU1si}oPB$pt4@Z{u zzm+SGCXL#!Cx<|m6EDHFi&rqPC7h^n{~#oME+(JTvXVHtiqCHFF2=PQ1`$rVDKekB z`nuH^*&2-v8c|E@#k7;<*tHstv=xh{>590Us)q0=I3n=9Ch579{n@NQ(Q8KZqf7SJ zwL~IL3gUz#_Ti4i=|;A)0z7CCW4d@n$K9U@KN)=%3t;SMAq*{Yc!(!3yVhN;pu7}WYEVRYMKB$Z* zDqEJg{{tQVzcLR8TJryfk-s~(zLPT#oZ!Pm8SB%g^L-2_k>3UL^EwtG=zK%Dt!85> z_nR?L^I;$yTC~F|L>6hXj?;|#ERFj2d ze8@$5P_^&!vw+W&uNOzfD+s<_G*w~tD6plS7avigzt^2@lYrYyd@-rtJ~!KfeG?~k z_~YR56wo#}k~T{Xs2=^ktEM>DAGkeN;_oM8$+TPB>bXTU$~U{EhQA^i9xvp^uPjrC za^Spe6blW3F|&>N2p^ve-1QUa_wp-&$QSTRbAj6}S(5{WUic=+mbzhbmC%7G%PHXg zRHzF47;$_%Z>p7F!)NI@rc@QQ^52`t641gCHPFawpJk&R>9w+jD!wyf_tQKqRtJar zBML58IB_#AV4yQd#ce{3?y+*Z>t2w+{5L(N0BzSCN)ME+Gh&;18?p(uIy)t^ha)3^ zalH9?6>h8Z+U2RTxFO4$h?KO#a6=Pj85*W=nqX`{AGN@A zS{4ld*9`rij=bf5xb6V+(cF1kDl;D}?!FAXi=A zr=gbQsUH7_V0C@RkuxOKz;er(54*FQ(xnmKE1z=-Yho7!^d#VD|@zP`Pk8~?&q zp`@@YbJErH@45Oxi++l!RqfJ+=(ug+ycbiNt$xSzJaNbR{h5geC-+Aoj?;5A+A%E1 zT#P6ipO*)#QaY$}N3BvvWwhHS`NdP_<~_&rHluf(GCoux37A1dRSpYllq@q(XWo4P zkfokFRrp#po{#FE-0yn;^e&V{~KMVyDpF>9zXD(wob^OLBa=Q9lmauul?Ll*%km}eDdC99@0m)oYsqB`bXb)KB8cl$r%Q8l`>g-qTRQO{}yT7gj!SzWTK1Vq<5m{@bR|JpkHU-XVKdiJ8M zoH8@>)yolMPxzXAU$ggJvoIi|rn4RdN$?$_#eD}xF6@#>R4 zIKkRZpTg$eJ1k;)Zk-yO3?81ocbFJJ7z2rF#g9B>C*9M!Cid2bX}H8%GMy-v%}y^Q z;>inm?|z@d+TOT&)#I`^$Oe^GQ&-$M12a#twv&C9 z9Wsl%pW@)=jMHKFXV6iq0X1B(!fohfe4#HieI6|#3}Ey*iJXu>63ZeNuq+_(Lc%Jl z70b0Vbxqt{lx87^EOaI(Kozd#ptCe4lTegFZ;{fYOcIe?8%nX1&fj!d(%sS0g$q7G zulzGSm^eco)aL>SwzjAZC-`A(T zJ4=YqLno^!6HD%N3i9yX_@z-}J>(8SKx7Fd|&9BTBNFYVyBaRRM zkun~sdCO-itFT;8O%Bpc8=Qnb5}A|aaYT&8RCu{Qch3IzX6o-{fBKLBn+WBLjSemq zosAYyUJ$?CqWWdc(B_UCUUN|XkMl$jYP+66nWOFSVfop)XP+l;I68W_Z4toohHI$x ziD#q?+odBf@tUUI-htwI{iuG{q)ocr?wOm^yV1E9%v%#@(+6xn^i9H z5#9F#OAyp;>!UnP*7bCr=Kmw=8rbXJo^FgLIkDBGv2EM7ZQE(k*l8Nuwrw}IZQF0! zd+-1K0_WLh@4;GY<~Q>=vZEVh>%OB&j;BrycZpa!O3Cv5;0%IoV==(4kSWS9H2ex$ z&6pBpfavQ8c=BOpFEb|=1mE+j;V!bzjdWwYP*2#t@=mexjN~sDAP|Lgu!k|BAbH_t z5H$aGxhiVfa`8GQNs(KhJo)?MFnL77Fdzh6xyAB+am8$Ol7;RinCRY2uk8nd#B)qGW%`7dE1(SDt35WzdG#8IN(Rf8(;-2l2ymlsUB2h5igpv) z4-0*w(0KwCpuo$iZ_KC3}__uGb*nO#o1~pd<5|cMB!5SGnjKEF)x%1 z;e214V*+gZeEj~C7~r6cx+ZdRzu%ug*XG6!(Z7CoisriF^}Rx(qNzZLX?~km?T&sQ z`T+Xcpo&8eS5;pRzHuLQ5rMomb!R9Cv1$Lo+R4)4kunk2k7|Ut#d0#x*dwOTR4Jr) zNu)(2Nw1ld6Qq!0AE4tZkJ~kF|FR~!#|ibjPeqy^1*9{*8!e6dg{X|GQv9@;7`GO2 zr3pilb|Eo70qrLeyVc@1I7jg^3V*{m1TdT+O4^wvD3N$vv4-vrv;@EuDv@@F4*-P` zr~xr8g)1-5hf1$vDXZb*+BrW(`D1Nh{>R6qLprE#Rd)_OITjZh<#barhVS>iJZrEKqJwg{V@PhO8?6W(4j35kac$B6S7#%olL+b9acM=DGXH`Ht+BW*MYl^r>f|Z?B zDz3#0)DWwLU{m3E3Oykj+14Of;_LQBK5P{Df3V2+O>AJSiMw(aj8=0}ftA`tBP3FA zAoX+PKW1YSQ$<&D;yC8*<081MxgQct1!I}`xfA9NtS29WpBeC`O5DKmnLzF+l$xl| zq@urWFP|?ctg6cU$!`WDE=IKWW z!dwJTfy|tJ`~1K)rdfdsB(FWoO7nUGYVGo{!T1-Uj9o}ib+h*I!GQ*pLY+=olP49~ zdoJ{@8&chKN4<8+xN~;PFJ*HzBrRcbyRHo%B|9PGiFb06_P0f?&W9A=6CUa+RLI>1 zMWhf^wCYEBl&_b_#Rj2yEA3GEC$L+y$JnlQqL`7FZiV1L{}J+O545fqoCi(!%F3R& z>-dQmOCqQ5#WtIV(ELLx><7_RC>7{Olnhu3*~62 zYqTi!^DdI4LrE&l%he&%Id~!xxZoWP&S<2E<4mAo_ebl3F;88>E&P7S7kn^sd>k_l zqEeP~jbhg89QDGo=Bfr{t)w85y{Pt@pEb>G1WbcJ{S#1%LAC zpbU0Ueszn`<8yZ;6gD>Y=qq$-xQcXXCgSShLQe2lWn*TG8$5jkoxHg0_$MTBgqIAQD=DlBkTW9%S-N zXfRa$w*(uDsr7YJB!E{_+qbQzx7Z&ds|`YNH}C&elW)uN(;wt1kX_+X}w0K z^QVqqFYl(Z`@(GN$o!JV(Hc_2fSKlPQvMm(wzEfU_`VE+$uxGy#jhdG{%wK1=O&O58@9b z5JMIN`~ii+C$`z;yRF7RKx}~Y!(Up&P!gp-m@N(6w8gVP_s;tvE#33}X0@cE81XS7 z+vuLqv*p;+Rdu6wVafEYJ}G3)V~?cmak{px`GkOM+?>ITEjZ}T4Q>7LA|dDlI>jO@ z)suH;69`n06mtS`#oF|V*;bjg()GT01>nT)Dy;>M<*?aMl1=7xC==K_vBc64Z`s2P z1pWJArhEl}WxYN?Ab`}!-w1fc2=&&B{c%c)srk}{sG%Y31XRfluru7>OAuZg}| zKkkV|iV`A>Wh2z-6bxjeE-JPW`Jz@kRO~Gf#UBrh7>4fLa5?>3dvB{78Xy@!pe3bK z8cHcjJGoX9bt~qxV`jJCDo;BS+wUkJ3^a+tO8q%0F(w#2m344G`9cchO%x~d?R4XV zm*;6%*5{e@y`J~xbMJkruIERKz30MsDy^*U%Q3#4f!@bf=hKvJKRRmzoLrUH;zJ ztQCBrkRPwfZFv?EO-vH4t9icO7wcz~M`>tr4Q`CCFvK<6KJuNbC>~18> z3sU2bY3S1fEfQk92kXsV&;>CB|6tEC0Ym4xYwTI3@ z@qIdn5V}|~qBuT$$Qh>0|9(>P*d9 z#>O(=z1^ATE00{ASw+|cF?3v!H03WnJN`uL-LI#2h8IGh+Y<1B-N0Pd4=sNCCd+_+@v>R{HotK~EuQr;6PYP^0SJGG2Kj7BX zKD5_+7&bIMoZIW-+ObbMYg1d-UL}$XQdLhz^ zTKHSaNbHPb2-HXLxJ; zxS!~l^exx@NLhQ_g7zMb=bu;v#9T(60=G)~k@5_Qa0O;#)tSCkl07}0f8+eLfY~6(viK%Z-`PX zrkP^nupRih6=GWmi1nN#H?tk{dMHC9*~KCYIaG)c`j+1A?0GmFdEJ6%k^_otoG{jW z(TE30$S;4=(q$OZvPgY`EHH^Xxe!Y8aN>AsHKEn1Jsd~)Aq@|OrJyu>uy%@dqtcF)sYQX&6MAb@by>vJ;l~-P8x=eXH_SV*@H^ z(U-Bz44d!GRPvDED}`?h(o(m8l1se}SJ{pLW$MY#)kX!ILV|&np$>$PP-48I)XNSU zrZ2G}7Bf#5ak9CyYq`3kET;TMJWEBX$juGRCv+?e&v@fdjGXsUdX6J&*^m&PZ7nzo z|9NPDIV)}%pTxr;Qk#Yuma`pcP~+qpOh|NfDcHM5V2u(R-u(@Pras{s^W>J79lPAw z1((SpadN-6nRx52245{``eSd-+pO%{EPh$%2kzSs-lurpw_nk|ueu%|g*etnVwn zZ;F}kwwrQCjT;Z=@UMGm-ts%`TLep<>=sj;*d;xKPQ8r zzma$=MJzfd^RW^flqcVU2lgetyN8K1HU6|CLJAc^I{fz5?HWzxViaycPK@Rv6>t2d zL;bseU!sl1Fr7= z>=m|*=6!$k?7U7e9h)GkR1N)M;FVFe}pX zo=w)Ue@nNVtw+b^_`BSN%{XuMh+)eE6OH)4@k-vV#?rHKV;Zcf0Qoi}!~oomDZ}vr zcCyIGuEtt0_-(OH9v1QX;q)JOrS(GPj2X%9_!PT+VQ zGIQFgitBElc-=w0uW9QWCou_N-<;r#t*P+}Wzo_tT(Xcq#_U}?H+bvc-+%gye!SKD zzTSOYMIS@zgq|A(xann!dm~HpYdm2soX}J(6bSmel#gy^3>Qmuvl-VQQ_k>?j<#@{ zJeuULEUBxeo-s0$;6%jCR2|I+&Po`-s5wa^-eJN)hv%i=;1EiE+PdM6GpCbFC7z6J z+bxLKk)&*Mds_47UMslY>)!^}s|2Pf8W`z2gflHGFr>VcLA8T+8w!4;1pQ=OP&qL) zBbwH;!EIy|(WGeiTI<6x=lT^M0x96mZ=OMdWUuPCQ@8chtic>xxg9KlB4>^>8?v-z8k<=m*my?cu{* zmT!N1JCDPyWKra@zdFLZRPwoL8#7o{tXhFT5up4?hoW^V*}>Ss!`P zZwE$)Tf1Vz%sz02EL;yh3_+`M?OndVUyXFT)~8)mRTB`Y;-Kk6;57MTdof8UfZaT> z(TwDdr(rOqCAFL8L!1<;5|C$noevKg&Nj(!fU}E=<Ee=tbKm8p>`) zX$vD*hM@g;dA}qt8G{B@ijZc&~OGhYWBY2nID>?cE{16rj^wF5El<7jBM>ef)ZAdINl z>M{?4H9HInsg4#4_`;$KpTgnl1ajv8CBYCQ)<&5p9-R5xp@Xs5ostz1Ucfnv3$hf`9)dohJ#>)* z=4TteJaNc4Rf;x_trm>#Mfxj%N(-tc9V7cJ*pO_|Q1#LNS;M%-^^(j9o}auY^@)QQ zc?Yh+BuS|?{({7Taok5CITV(XCGt%NJ>r}=6Zi0wVTyrx<8Zy4vU0vyn<(z}@-HLW zSgESk=S8ho?3x={vHn=8pdV#s+xLt$_xb7f^;{3px;}EH22VHkAo(e;^U@v8zPKP4 zusxn)W^(lTOv=zsM>IHWV=PP$YSGfvCFpI6)(K8A$i}z)o%^X)D@@@xGIgcmm2*?y z)-yCA{7)BnV&SP<8&Y^J0_mC8)N?JyTX4p2=Y(4iR}*Yvz&QS8bJ5%lRF>HUG!Edw z*?8DQOu^v;+PW}IRoR(3V62hp42wF>a8BH8^rY6d%=pE;7oF8l*=8@r=$e+1S4O_{ zl3ZB+XuC^m*ESi2PFrF`G{7b6!_s0P-M6`R=o&R>;QJXn@HFh*LdAipF^B}AM)oo~Q zcVf!_o;@usE#^wUQsFp9e|?f3T34x+>LLCZrnN6u?=a=;5QUW7gkka9V9Siw>+KzX z-jg36H1ff3RnlRptlsC5sPGq07f;S7S;AO1=CXwcBT~*X>|ZXmwrO+YOM(gOH|Ov@ z-=eunbbim(Pcw}%WyNW1d}qC;aoS*uAEACkn%gp{txxk5Tn&m%aI78V#9)8e``R&C zU!2Khzq}dK$e_O46nB{a$5;O*fgVL!?m3lvEozUIxVbt&d%H;e{hw~O!bErtm zJ~p*Q2zJbp^t%@RLY7zeuUftqqkw<-5f2`e{+7Vf*|Aeh5q_zId@Ty9EV>{rVVTa* zK&3S6QZN!b_2lgo%ADMn6PJ*fSANshX{5L=Zt}qKNyNEB8_h!j+A-rsNsx3gEtj=; zn9N3&xZOA7SZnFSKFnE>nvFjE~~|S?6+o~h!88y zVN&H~qUbG=8C6Jrn-fFzL;0@u!f*}Eu*ACM75>rBfBrWl^>Ij?(Q&AtHmH=BINC_) z*t5+GS2prEi5(Neo5K zB)Fx(`e^AILX5v%jy2wwG<|qp& zu>>4J*iTUsWKQbif2FSLMXazSTOeGDhoS}upVknbKlqn)yy5<&52Hytwe@YJu1YFGx9&D2g^RkaU0H$2 zY{yJxHrlw&=@%AzfjOzLpmpRa~v%G4bVaQ<@8RSU))%& zq;9O!(-epJ!Zh^8_cV|WKT!vWG*X@bRuY(*4Q4d~8jW^PsnUF4MW{$^axHUqcZ|eh z<%jy+poATyB&W;5Ws&VtNHq58yO$1U6|B}$FjdfaT@X+68{Xxl;Y0|ct+{rpP*3cC zp|X$Hi`)|raN7T6xK~Du`f$<7h7Ack^1yiew3~dhf1Ik6NG#tSG9^=D`3O(^2Hb9X z9TK!~Qttt46w8ccyRLc#>Enp}?{zxUBIeof4*s&0Q5Izn27F1GUkZlpmd&Kr|4Yg7uau#H0hM09YM z3FyvEwiqLG8^l~A2A!pd{+YA_tunJEkUdV_u!N#vjb((}zO%Z3Ml!iZAQTTEJt?ca zXq@$K`Hy8Ine_$COF*JCk55w*J58m($2n&$eU2H*u^`S|bnT6r?nOV&G9}@j$3@1{ z8HEhAHXC_v-go~jp%n>=>f6tipH2_Z#5VopL#NQM(PGJkb~^{D{Fs z3Gdz2y|Mf(6&I2%*-%3{c2*Yq)-oD5c81Fe(uHJ6_vq(owr;`LE>B?tr#X?~GkO0D zgb_b3jd_^xzs!n1o8am`Wr$ZFW0N*y`A>4)Ae!Il6L_Ytd07+B2X~{YeCucznz1CA zehc}PWuDs{Z*)}dn zhSBO>R@kW>j|~onk%WZ}cf^535oD8uCVOfHc;vB3!FYsHen>4J3L6x}}OvHHkOB*}` zY%|MfP!>`Vax4kD<{g@Tsy4<}Yjd$n1huJEC4nP^SCYxdg<Cgh}BQQgAN#>*0#4*M1stLghvRr%D?O*T%55|TXE1X$F%y}t`~n0 zShn6Tpyc#SDLJ_q(Jpgwn+}dF@Ck+OvbXJwg|q<`mcU zLVR>Jjso=vTR&EjPuU<28Jyz^61hDJ#b=TwyVfGuRkvFmgIfoD-@jy}fno9z&I`;i z!pmijPwV%X)%}n=;qg8Gq-3#R&t^qJFZ=q?o9~tFO)fcKmh~BsR)$O19FrnfC9+ls z8Q^bI)q1)a!WoU!+On^heR(dT%^Q;!zsNdAn|vwPu6ysaT&VbioM^fw)JUVxNlw@r zBj1y0-LWr0Z|oaB3#FDp+P4xt(haCXqDqrA;4oMC1jZ@B8V;iuTx?@tRp; zO=G4@0x@!+O1pWa9HTCk+&o;l;BYCmdNABQTRHXdFVCM-7?mzo6i8 zZFfUMt`B0Q8_w_FfJ*Po`u-$mB0nB9n++f1kGn!&{PVR|I1&kzL6}tpU2+X#83V|2 zBjw@X8&f!w81k1xu)7KuZY>hwRRD$rdPL4Q5rGn7HL5Rps8{jvCrh6fxH&xf`xF}qq#h}_;~9HM+SO`3HE{gl^R_lWx)rNYkc zFFTe*?qUEJ=IeSZHU0a9V8N&V-k;(2?(^MSFMKCG6kYKN#CO1r7)7?aYPAg#)+B;g z7uYgYwbNvkCB_pwC@D!6ya0x~KwvWz5nQR2IJckHhrd#Rmg2UuS#)c-}jy`9rAnnF<8o@YfvtQi#qQ zQHU3}+E;_Y0|4RCw=5%?Lu?CUyhfOUCtj9*r$+{5@l4VU%O*?mmv`EKB7Y){M+jrd zPL#FGntQMHX&0!%kbm51wM2wyBOJ73sF-c6y8f6P)E+nh=I;01JyxNeSI`t~Mm{D` zYLXqvKK1Pii&V&R@xBaG=*F!8=H9<$r;vIm>IvSDRXHen2#|4m!NOD4UVbZ4Wfldv z?`+R!56Y$LJP1lbdOB^l@y@3%oN%roeKu(%^V*sc*-oWpFMovqn(mftY9HFP=^RdtoUS-`1sA5@`#PL^`aISJMsC&Fz z2&}w4 zs*7Hp8=~QSCZ>)Th&F{!H20SSNP%z@95~$AW#IL?&??XK2ok*|4Zc zMt0W+L{_%QG>i1HT4s4K4u(IfO-*<)kY{@v@G|{81kW`7CUw8p%+S?`b)@|s|Ec-l zs%;DGX17zf{#vP$2QQr>-(Rb`4cL z@kqv&W)RMkZk=6C4GXYQ%|&aDckgITZ^k&VDA`>a@kbr}a$@rAt4nRVl)x=Wl0C-$ zo3{^$s9C1s=V8^y3FLwjGrVc&%imtqa)%40=4!AwO(Zsj!T2 zY~mUSb^1~m*RmuzMKk~x27Ew>eUAfBX_}^$7tVF(B70~$0)k)ugtNcY;I+5%uKFYi zCf*QBK(dQl+x+VQUPso(LtT$xqT+YlSqXc?bOz)TvIeAXY54sK_(>s80gcjt2g)bQ zUb)k=`kGHWZ-YP>E6^1o&V5Vi2_Zo_;kYY(8K~6_h>s5@^w-R69p@InXZY1^FhkW^ z3AwSb;KzVqF(m01ll8qN#7q>2T$}AP!ThO$ z`azNuEyKm-Dq|8-2|gqt165mXJIc2kP>UHe;uSeB>Vozq@8EbAM8bEetCWieK4(aD zc)D615#i?=+Q4#hPKNebHXXB{5V2$w$uG|H?{D!$@ax<}{ACp$W z@~FbFjTO&2PLR*_wr8`T&avLd?4?-Szw7ALzw~3FEO!3|s6%avWTlEwdI5&YG>4W% zNadO}TVFRX86`-ohA1ae_$x+FE6di@L|%SLuD6UzlXLwrjkm?TId5>-p#sf_H6h4> z|2lGl{t&||VC^&WidT@12NB=P;#k^D(l`lLJz~kCsqesWEoQ%=RcYH;p;`R@&&nA&WdY0C2I7$9%r-aoN7LX3QMJ`*O-S3lNqeDGzOCX*a&xeHXp zx~htjn6SOj{2wekpI)FjUmY(@1V{nvX-{A!G}6XrNjb0^)9)Eg*Te8v+O9`9BMO74 z#B~OykQjL4$na)8pMfVI! zPW>6q`tn~fNy0Dgy=z9Q>=;jgypDIx$*XJcE12N;DKVTDh`-W9@}IMpOZu153$1gr zl(udOdtumXF-XnNc^y}~Nf{W>KCAXocyu zlw_uYeV&=xoFn%zex(74#?C5)o2Iks3FhsP{R*mMJW^4{wPAV+B92a|k;MNbqs(?@ zBwbJeb^ZgFr(dUz&AO+d=V&ws7k2S>dwn*e*y{o3oZ1UzEoLWtlCKRJQu;IBiI&S? zuBUR~@KjPv0v2Zd0=TBJMX))wOOM|ouK#shp#bBFNWwca8t`7{-m)z@uk?Hj2}5zJ zoG^HJW*}Lh+U&0wgg(-}TrOEhz({7Kt9lpT?Ax_nmw2&1Qs_j`f(=H1X@LG12u=Qk zF(F6%7Y>QCG%on-h=PS?3;HA=WD&NwO6(TqG0VE=ZDs({sWWVNSNfDnnTjYKkM_F02s ze?ia~RxhEGx!ozyRYVk_M+QGUJv7Z!6+mgvK=KsR63u;zEs=Jl?yt54B15PYD$EF1 zS33t8h>Mt3U4j!2(fhH)F)meRj#dyVu79n<} zFQs0bzfJ>_JiDaI{}~KLZ`OEPExzU@Kz$bdt$vDf-rFX2@Qm}x-k@h6KgA})e$6Nx z+;ol|_FRBA0g!h5^B+<-*b^9>Bfn$?3C@5M^0mRyfLGOtj5KU%8o+_E$emnD;v?K% z%P&~l7r(83+jP%xj8g;O*ul76hJ=`UZwd(i4O5m4xdg+6`@+)&hLaoVS;T zhA-LJR`2>xXI9HU;kb3&APdF( z)+Yy3-USEhck|a8aH01v-v4D}F0R|j`t}zpK`_E5<#YgO3T@rnMCz#a?`ovOcPtZH zVVRVA&b3=VuB=5oz9hi{M96xUpLISNCE66kPp3Wn934jU>Jmk!_ni_%NR=JZ#78#< z_Ud3ZTpPKJkpa?1W6wE5JXULZ@Gc1C7}+CTr`2z;;abn~W9^_4f!PtHx|I8CGV}PB zGJ`8EO1ZfWi&+5$fD|RE*KBu2zL5V4(unrfEgcxxEHH~A%t%moBA7j*i7K~)Ng6rm zqdd^G3~-KP7@opg%ZLu}l@)sCMp>0->$N8^(!#ByB*A%AtMP2M*ZvcNfr@`BWTTi& zs2x#Hb;WGr2`82P^9}LZnd8`LG^f-3i(;bw4Fy;&lR1ZcRqMJ;Bslz>Gg&BUUV`UQ zU;Ect8&*C?S?e2%l+k)4kIV4MaXs02xBIC6cbP&U-e*R%!q(RyOH}%aw&sEoOEC-u z+8Mu9U+68|cv4N&#i(7=B3IFF?S4>CwkpQzpalfJF&Bv-qFNh*F(*ZrITdLBJtBRr zP#AYcLd^7{w@72ex5&W)KW5K1mJPGGs406$wdjbFS_snLDHb7wYlrDa`6?X+?zO8# zUc*%PS;bs^%Nslv^o#l$3m(7x_%#J7+*8QQHyU4K|6zK$`m7gdUZ~Fq?i1Sq!a0d)KbAFFH8ZIIxUGLk zPhwU$R*Fr;6oegph3vK1={6}3l;DFqaD7I56%qr3#A z1v1=hc^CZ#SF|#qD-9jH{M0t36O+tHEU-j<1Yvrr zk*rvfo#y?j8@^;PW_T`oPKoNAKI@1^36@1r59C_wbGN4IULoU?gpx|gcaOZ$-()U9 zQ=cD*9og)rSS$&#B3PPTC7NU&CGc&ur~aoJ3a#3{1RyFN-AiPbjDJb(cc-OfPlvEo zZI32KLzMzLN~fG5Q@Jy>-fU1nLFJ&cpd42WVDieR!OmGb01MUiyxL_5gDxcc%yh=# zc-5w9WX-_8U0W3|b3sPDPajaT3Sh;Jhg2^3mGdMRDR} z@08uXy4(A6C&^~2Gmc?*grc{T;M^-IX~Gi$m1M@;X}_d@{`gt7tG~2fU1tj6H_#N&$y)w)p!T{MP3`ho z?1#*I4 z=F78&8$b>M&hUcFS)0(aAw>nGfjnS&9}%Y2frL;0%_igE(sr(AHH{CwbdnB&*$(|U zLOeLuu!p%KDAVyKHe)}O7~&5 zEe4uz`;l> zRQJyM#$1J8ZF4ul<|WFL5-8}$O%?tk@ZjmPcHE5rMk5K!>L+#QicHC7d-Ex81cjdm zY}}Ay$UoRR)A7#`%s-QtO!a@^5b5}1pVffX%L*N8Go`Ok?)3U7S z$J^N-XDt~cJwmHK^0WF}*c&9>)=^q9@te}546%;&byQNn?OJ)u@dBS@OxDxD{g$Tw z6Qe%KLgV*VS6#LBn+*6#_}5T;Y^N{;VMUk((s=WxFmzFXGC^hrE1?Z}5KdT@{0djM zFG*<3EwhyZ{-=gx=?5Nu26*9e=fqmoTdV)}2Uik5p3!nKzr`137~~wCbM!JVRSxn# z6~3diJ&oJ?soHG#(|SK;IuVwn97549=L5Rh^aQfX+itqB zxcLwjU=^SR(IYq@wDM?+z+g=n%P`a(wz7%%Xms5q@fcD4TTV`G+RAvwh zKZzMpuJBX4`&;USr?jugmomC)%}rlbTP$FBv1ZG-N%<*AeUMi+9BQ5{V4@#|Ia*_8 zAIZ@ic^|dqL0-e~^$@QHtD+~J6wdtWz|Kzw?vG?1bH>C6arugNOKHcBv#I*NpzCMr zbCY^GDQNpW+Up^nGI{-p9654I)Yxf>&vl|YTS%NSpP(7x)$<(Z;m*WAvSWE#gu8#z z2lCc^zaXx%gWy5|&V6EphC90%4IJx_nEdy^$gbzB>MCKYX+hI+t0~S7V$tgPfrvdO zUpmm~%=yf5s*sL#CVwr91h*vcsV<161ec+2kF!?UH!?QD#fJ~|`Q9v8FCXb_IDaHtbm2DWxw$+n=po;Lu?lKuKBoc(a$YdiI_Bd5 zzN-MY8Tr(QL~TS0=Z@BDzp2t=|LYw)U_ZXXefoDjhufoFu2qv|Df7QQtvnQX-nUa< z81g&POM(mRTMA@nchrgI2vruS?-`aj`Sxe5n4>tSvD&6DCDL6+TuH%K)s ze5k|f7)T$_-+@WC$et!RVw(`W(Yb~p8lIfPd$IV=yQyr@SZzDN4sM!PxH<3cWp$2{`o zO0<1$jp_K^Af;AgJ`-t+u&t50EIXn>pKK(U7-Oztir~1`byX|6oL$DhO=}yt%Cv@a zLQQ@BpZ1y?Frp!y%YjPTWuS}R%eN01Zlc`J5E*hkQ2o}n-kC}gwbGFKW%G%_#l>VO z+z4fqWZ@%8OQ@sQT^22@J_Y@XN0x;Yezke+g zx18no3LZ|eS=F!F9c`?za+f%HPCjNWwg{-3I`0LBW%~0hZsooMUC>rX^_vQ>p z(IXqESwFjHsE}%rdgcGC9bpCR&s$$v&iN}u2(E}UZ`f>!h*$`#N=->N_;KIaHJmfT zwd(!SicQm?SFJ3OuTY)=v!0P@A?rK$(1KaD7DZMJ{z)>YaN+^}%WUW(`QI9-E^t7F z^%bx{eFP`vaM5@eYTz$<$>}0Gr#B)O+#P_7>b51`Z-J&!mZ6u3++at2SzgelhLz%b zhPDFezPH?F2n{^WMCcpS6tOlAU!CE7uwygE-^5lRv7b3dzBbnC%7KO^^SBnU|8RO8 zxn&kwbd&~au0T*UDyt}(Ig)C$DRb9{yLW!ZRRK=lS_IlhL|(W$Mzaq}O{!pw#SPS1z)2}4443M*LP}w zabxc-{HxL1$ILSa610u54i0b0^H|O4lGT+^MDphYZN~}A_Q;KFR^zN~Uy$8dzTS=eG~Rjy)*?ITEN;1mdbNiW~AdtLf~r-<;|fg`K^In zGb{6qbbX`6^8c&y?A#pG>!m{gLp)gSVc6KhMOzzS;!$X*mG(Q&Bpp*i>wEJJ6+A8V z1qe_^x?xtMYqk1V6Cc4W++Q(Xf6sYRVSQqr_ygc*fE`9+pY`Z~AreHYWtt!NF<68= zeu}&Ks^hb`)Qp$sJ_aqXa;d><%W+Jfq4+>v&F~^4Au*FU0c&1YmPT# z7B|&5#htQfiKZ+3&|Ww)Pf5vtP1}cotZx*$ma2~ZiH&Z|Om&uMgUSAc3LzLIc&FP^ zx!FkY_E$--3b=2{?9_D==grI+U}-4z<$YTq2azojgH}WWt7HW8&^hB(bU{~4qkPXE zdh>3P3s_D|p%QHWYrP-KMEq4SSXE|86&Iy2n_6;MU3O_&pK}dhs#>^VJ2W(H<<`m{ z=+DOsl4+paQ~~u9T7*LgPt+K!4p$Zbj*A@W9$5M zHg%9aUPdGNKt_8DVTtDdPx?}omyQj#B18ecWn=0AgaLpY5Gkkk=%Ww6%t3~1v#Bvn z&Yc}}395?-54mlqZ=Yt`Qt-@8JdcPwrKT{TxueG!d*OsWOKIkBaK zr1}Ix=n*;I>AlN%IMe-aNv{J0MEZqi7!W|MOzXf!Y&&d3Vb{yp> z8;-N%a#n-Zp|eRu4KUx zdK&B9z85+c$*`5H5a}eqId4>~B!O-Pi(g{0ROch_Iz|K%kF6n__d5$w?7)SK88H!_ z_o6y))tK>ZB=4e$Rz{oLA3*pAC!^{e3kI%xD3p?ikIZe8d2b};k=_{F6zGFNZK%2@ zuUnsk3g9%K30FNmIPH7QD}pBzSssGKr25MJboHS=iWw!fDQQfT`14mQgJx!Cwy|Xr z<(UZzj`gaiL<7JIlg4u43gwIRsZbDqIAAb~@$lVEo%S(`2dmFVj$m80x};iv7v~+^ zq_*{wc_kNXd@M_#;h8l%k=g3rUsRH%`=3ILuQcKpjt>-i>iMU!Se`8aYaW- zjui(#vTA)w;aak45hX{218OJ64udJ?l-L3zI^)NG;o=8I7b5wcE3;RpiL&8O-;`gzPyLU`8ny& z2aBI&@aTm!;+T?S5CbY!|5!QZNuRTp(gBxTYM$}DskQNZoQ4XgRPiuxhE}uN3li-g zpDU+R9epgXQF>#dV=DP)0^j91{W3;&Gbg42tqxTGH4;2#*%%hyJ0oC;l9%yYP=`+{ z47l-yz`Nz%Sm74Fhd>jH<=0oWV}0vl#qZwkr4MUbMJYDi%!~?}49ey#7Zhv#lMB#w z&u`Ig-M6l0hu*SA3mD<(ND$EAv@qT6ui}eCJ2Q4$ltL4pb+0Q8h;Xg>&3qV)dk2`7 z*N+Uff75$W{2x=_6j*1pb=$_attO4NW3!E&#)>loe{s`V1;+9SG$1EYR}+XpTLlg3h% z`otgRWskQ(k_bCki!p&=YP2u4qVG{Ea?6TsRfi_LeV)+&$$onY4Dh!{2Ro^TUTn+E zNu_4AKmhvaXhtDh0|B5YJ|u`Q>S>F?8$1yRGk3v5H)?GzXt~XON6~f(`$S(zG{r&= zb@M%IK%uzs1kpKd4E%c*pO`t<|4umXW={kw|CvL%UQ2qh-{)7<7CXuYtX=ss{PuD2 zKp}ap3O9auoz8SXijFQnS6~fVg6A#C1XJ`I>d81>IlSSV!|X@+(}K5lQxL*>iM8yp zNK+**lKO60JH#C|S%|d^D)ypJEzxS?nC-(bkKnu|iz|L_WtC_U4BV6<)1ZT8l1O*= zmAabvTjVEtaMpfzk)U)j*7-K#%7491^vykW`ZKSaMo)Z%pmsU4a}ia5a&u0a%;E$Vdza$8+b$Gy9wZFuQx9E}QG`)bff#Uli<-c7vSg8m<c*nLr!37=E_0?; zVV<~lz~x6Pd<8KWr?Bu}S6T6J4>1HQJclc!A;bu0v9=G`0PsWrN?oN&dD(>_UKWZg_> z*;a^U18mJol{5ruh^6~v>(z7+#HirBm1JkC)h`=u%7pA1uvcmd3f(c^HN4qmXZp)C zZUIJljGxN#RZ^}A-7lO=`Rs8a?idJq=mR~=15qLW1agzue|Hz-3h$b{4LUM{hEZd{_Oq4*Q-1%*puM_nnr~;U&pyK zlHu}3(_^lRgy|icIXm152M;H0Ndf@BMpYTPUiXtMjQ#>YVWJgxl96mM_ESGk^KuR*rh5UC)m z3y2*SBYItK^)LJm%LiFa* z&2Sp2b;--*=IaDx$4C&mU}Jvqulpd-FENkf8KZ~sV655&vE=8(*>k0Q8FMzp5z#RD zo9BIYgCTBGRE4~_<)k*#{xQBR6}xIg!JD`=R;Pa7JJk+xL=ZPYo9qCpS}R#-J})d7 zqZe;;{PmcbhuwW}Pdgp^p}wG@gpT-n(a;q6Y;CB$0#V{0QlSGRee}ks&Rjt@*Cvgi zMU6Otn3vK&(MLz&q8)XXsyR`WQ<#XXac)e9D2z|7cIzkM>MvdSckUj-wj#>GpY+iN z88!7TPIMCk;|fcAd?&)&T}{eKzHSjD30;}vW7Lq(!`r_^rIm3-!WMS5vOBJ*ddia;~21kmqn%lLs3lnGl zHx~PO>O|pATDRUc}3hwHaiy1gykTeSLNcjN_H0VDGYmrlE=8Pm!NoeT926p3V`V(NauPFu8#VVx7Pxc=^FzN=hpJBu z?YCqBz>6cF_2SB{aC^wrG+06rkV&|VZ5BhwvF=%Xt*xa%mAgxk zYm3CyAnnCYsM6r^wNIw7>Aq+%bswV$1%mHLEV&=vs4ZE{Pmy%p)fjr*+C1fJAG&2T zV}CmD)-UUv_p^o>UGiglF_Ql;yndkf_4#ZvyLn8}A#H@AJ&3cKFklRbd=8|w;1Q{i zJIDW3gF$cKSldM?K?0ildiUj*9Y2;?vrWsaM2Hl zjt&iJygX<#u^==Q_&E9AezroiVgBK76DBi~50TYP#{T9qU}P-px1WXTN8n5ci4M&C z!u`6pAOmj|wZcXz4cgCcqyM#&(Y-!H1+BkUZ{@uGn6BFiV`Mq(n|{e0(9QAuiQ}(Q zcpk9}BFwgQJ9qnOn@Z`WTvG#w5Brcukx z;a9V;9vs}zkU8E(A~PNCiZq~QqRhFKdy2-QB42`l)oDw+z2i;nqq2dmd{~p$fnpAE zy8Rk5X+Bwp#hw4HBLQOw?GKHgb}uiw#oNTD!7`by)ER~9FOB-1h?emt{cjFULl`N# zd6G}5u+C-AMw;_wVjEEhH*p>g{f9%TadVmH=RXHiyXN>LDRuncK2H}jIDl&Zuw66?27#~4&~;Nj0o#~`0w z;o|wOJ;-hl#Bat~@XglScV*^@@aPzc!2l018zCKzvHwDnIzl_WK_E3?BP9DI*eKGO zzFOpcHyewF*Q+W=nxvMb(cO}{WGEDR?G7?DvN1+FpwUYl zg7O#{_hBfSeOZW7lZw=>FT)&PH@%PjzN=ZP72F4_mMOcxjoeDAp?o%t@T;dP&4{w1 zC)n#k95;x9FDUTH#Q*B2 z!^N}VX%llf!wmfkzGhMgD?x30Sp8LDRwd21SXmuFLt*9h^+=OPgptP3sZ(CWlS$70%jusr66QcY7l`BtlNeLcIBIvw7P# z-FYO8tfa{DdE7j8YKp2{v8wUJ9?JX->shMgc*+ik#ubWRCyjEE3@(DAE~ zipQ}iV1r?R2bGw&Of4kgBab*e1E1F93Ew4kIj~qZL;;dih<&We!_%}+K)w;CrZcNk zEKC19^@n1tQ000Qz~jkHv+fq~lmDZpMK9GlPU};(!IEN&(Dxj;aZ_bV7=BYSuH=HL z{<`go%5UbgfbWaIA)Nf5(DTWhxO}#Mi2ss~afG7HL|jd^+8Z6MxUW~MLLSbrM5{$e zS#|*Wt@~T}{0= z2fyg2{skI5aK zQ^hzTC{;SoQ7VNe0Z-c(YSKB0d+CX3084liuBC8#P^^hN9#c<~yc#*h;adtmQ(8w6lhki3_U_$apU!(dFrv@{>t4zl^zr+a_-5^1v#5|=*d zqEU(UZh8J8My|(fmzKs7YValUbcl*@D{ahtZb5B}$tjQAF%ei}0;h~>G-(3N+g%0;GJy5|`C}-K#^mgAg$bJ&R3$t-CA_kX>WR}GJwi}ltHvi{ z}<+ZPd9v_GGz!Yac3|TLDaeV|N?ZsU2 z{ZV>TAPCOg`~yje@@?QG(}LFd;)fDR9^4ihA`{ZKI9)N(8MC|QEODlE=n@~s@+H(6 z9tUxv5Ag}VtGla9ALBfipt__iI8xjBfI?Iv7R$w4|PRzB^g&I+) z6=RJD0o3zKLR)A1Y2DdNc8{P6o@Q!ms}R@Fj^6cBSm+3W^wbG8i|lUU#4fUgY+0)m z)tyf&w-6(>$26YP{kGqw^X-{aN1krI*YB{%13VYz;V)WAcw78<=maSFva8nab%Bt6 zeqnAS9xd-=HwWz+<06>~Q)IiL*~Ko#9xCh{1-vH+!W$e;Q`whOAMZ3|%R%{;T zK@&uDrf~C@g7rv~Ezv{arJp$>oszu4SQK)c8mE;3e$arT^VFBx>ns7beSuv$jC(p% zj@603(N*KK)&sr?H_aVl<{Q&$vpwwkTZ3~;2ZIK~Xr>h$J3k@ZF))}-8_HXf0?yQu zr2arRmBj?kb`gymb4~tC!_e&{>_ae@)3frSx_9Fm{b)-foAnhx-pzK;VCz*)8k5Xx z6FyGHT?Vpo!vH79N-5xng-VdmMSm8Ajg7H|apq+qAoq3$ry&@PXydUS#-6R%Y9SqF z&e@;%b25~3ej#D(z3=lyu(xKhTrOArev78V`&*Z~tT|Ix@;%A6JDuUIwmW~zpc^f; zV$fA$BzegAsZ(V8p!zc}jUxEYm;F(8gQ#-Wie>I*$Ov~K5&6=rTY?lBiZP=cwWky)T(i%zfHGfXF7Fg@jU77vFsKYT3!#Zl=N{E}%@=fb)w;piocn zEYPff_$+upw$z)SxxY1E1Pu^+v9~4L=~3;DTpmtRWMX6oYdL-<%a;}NE<<4Ukt;}No*IM-DMDmDzTG?i zU+(DJ=^eB&NiAFYb9(6u&hlQ@r8YQi?qPd=WOBB#F??-Z>6Fj0P>@|+*fB1TYtj?V zAzTJI{hvPAeCHZ+;<<8p$+f)Lw_>u74EK{>+N6IE=bvu}bb{9rwMcW@k!(LJW0jPo zTqc@b%A5wdIkoAGWfh#qvxiTF@-SeG35oh4-#=T7eGZlKBviIac-?XZt*nWn z^XkYFpaR-5kQGODxqpJ#$V*E`FkWTJA%wddl!iDS(>0nT{5r8RPWk@ zXU3;L$7Lo(d)ac{M}Tsbvl($Z!D>z~khZ=mANCu`XUwY!`PD=Cp7y~0@-pqW;{v!G zT?jO1{IDC=E_=Vl!Q4PXTRe74OKMv00@K6T0G3Bz?jv$_mZ?qUIo+@jlH5cA!>smC z4Nc7Lj_fZVOm3h*_UQmw^_!_r)a6nTRDCyT(Ldo$`Bv&!>9zp*%Sy`G#v|Vpg@;ix zuKTHc#wzjX3Eq$VLWKv42eZHw`5QjNwxC+VqIz%R(_qELhcpN9)+@_@&?IgSXKX6l zw;;O)uHr9Lxp&VXtwq@4uiUqo;F$aw%#)~W5-Lx01afXeT($Ya@!SPX3B`MDZgi-* zH}nw`lk<0*Re!V%6|M(iec6O2lVFSIOVPK_ z!mxg^?iep-6xRX_|A4K8q}x=L$3JWsFAUKDaEp9zL(@FbVR72pyjlHQ#Qt_` zm)zS=qTu7})h%N9}0YR4K?4?0bdw z97ZfC_wu0wg%xW%%+HlJ%JSB};N5UH**f@2JFxRZ6a$}BFZ!nAMtPh4uQHa1RL6qJ z2ec`}nsFJ*DNUobT*q{^{Lf4&^&lK!5UCb|reE46%5iJ(-X`*b@Softx_T<|;umcm zE&8TWfyUIR<5^nkTElG)h@xJ&=~ zYX}LbHmA@01?6du$5T+PJlx`c-G|1ci6JCvQ zs->@AEbIdhfG9CPW42y0{DZ=dv3r+CJSMF0tv`6hK@2WKGhdlWACk}M?Ntyma|gY~ z*L}2_9@Bx=1vFR?kDuJ{FR%%2R3QoNl%d7QN`%YKDX{fEAki0mxdW#@5Za)|A=AY-ZAQhgsfz;5C`R5nxYD;pu#g_HE<_uj6%eZ zJyle)m6bx+@jZ7q{3{&@@$1)3><&$9pu<)XQXnv8PefI1N$E|GW0Ct}Bs3J@^X81_ z0CW=Yx#0kZ90>SZ8{D|d0(d4Qq;h>3ywWiRPqDbkebfK+u!$P$Z3ZOUo3j11n~ofU!!>C ze*3v&WsW;Ztw1YiL{!V|6R%6lL$8&l7%&JZ!^g?|`Az7G1nZpbVI&yz@>G?xJ};BB z+kD774yM0}V%c%9nLzHp1cBiWW17{RJZDa@gBbfyEr1Z1W0;#)tD0PDuP-ZvB-P@@ zKx}=nR&%b=ylZmC6IFv%Ys@aCHNar6rkg?;W1V-+gIjhJE6YHjrlGD`TaNU@Dmwu{ zbbdHfTVgZ9bXHdgpExbf2MHid;sNel%Tycw1oSa51=_YTiW;L6gcs{8Gt$#b2XUj& z7b#9|8b~iv?%Lvpx$XsWlOFmHHE6%!lCn0w($C9ie-s$RYdBKXQo%HGC*(MI- z#x;?=*10C=`!>_Z0K5r`d93gIl?#-=P%QF6n3@d?Kni=#hi46leB%|)WJEFxy#xJb z%My5N9`71+8a^lCrishl9?uFoB6@FmyEqStyJ3>CN_~~28bJrYwf|8t{pYo}y`EWX zn`6+aoHotDn1dClxPW9mm3W!Ym_B%tnv({Btk(66&O1qU%cy`bWh}78I!6(&Z@@CR zq^5`oJUwH=;d0GbJopGAZ5;k}O5Rmc&X$QO;H%3+#Nk?_!)B)#mW zOj(Dz$2N<%W@g007pJp%wp%moMc-}7_n0HdDCB|+=|cjI+Lv$!*Hzp0)&J=KqY(}K zU1D^ux3D$y2PGaQAX)@39gCc%r6_UA4vt+gjbt11?l6gELSyu|A6l7gnt>mzp1CL8 z&-oMdgi*GH__}$LmbCmPy7UAc+YN<}24NVK!xw8f_lIUl6gOXBXIhfDPoPJW>vndC zbp@l$pcmT`lm{ZaH)*<_?k&0B&zk|sV7hlkcL#yppUZ~=3FFJiDg7GTmE%^uZt<8g z#k`c`zXo9?9D71vtK>Q$^tQ^^)`rTq^{~f%ngeGVoKkVL)pdSL$R@)M8zQBE$JHNhyFwuG$2&LeM+hbJk!5y*a-Vp-0(>0Mqqoh zk9CGq)<%QH{)@4-|tx4$Al(FqcCN zUQ%ACgTA%z&_xkO{H3@a1)hcqUM=iUuU0~~xFpv=5G$hzCB$D}nc3OCeoG-;nI~W} zA1xo>Sbq96heGI>DEUWihP>$m`yl<3nomu0!dR2$gWIwane&SCWQ3>;Q81Yz)(rHJ zp?(JU1Hx?$K<0Zq50?^Fx#tHy1(@L_gSE^l8wzHYCL!*MkPtngwZ)j7a7TDn2`TNa zw2;f;aiq$OMFq?i9yNYJ2=b*3a7xXGg;=a3r87uniKeYfBcU|?z%$YP7B`~6tFQ#X zR}a(a@yoC_2laS1QT4V4tme)kp<)TJS78!xl=M8a+T$CD@tJ+4Wjiz$qN?~|ZXb_nB1sght;q@6NbiMBkq zm?N-|ZJWH(z9+*sNbB{oG0p4h9u_zDdELrp;l%?Rof8U7kwrze|3G}$G=?)wsWxK_ z%bO_MC4P5VB-|wQ*s8sZFz#&7L>Sg#J95VQoR!}Lw-wIZ2JM_zIt~an4MM>6Ex;wQ z*p{GG9CF{xO{zG46CnGgkgs-H;iH8x#{1)cH?CW3W20w*zl#x6v}Rt9s*6n}h`?*2 z_4_;I^Y59@T+QdZ&Cc1SM!jU0+*}beBdrq4c3rmhVTFX(p>83!gTv{+35vvu z=%`a;{sn|LJU~`qlk@J^4{FDy11NL9_$dP0Z*uOvo5|P4yV#C8RYeobgVEeD?2wI^%s{b}yBNmLGU65z#C*O9&&!2Pj$+>~0FFa} zjv*XNRlx`5mS=cDjSq{fC2XT>V}8f|gbhhbk=KPeRrkL!bT7nmQ9~fDlPIzjvadK5 z2yt;26)+<<9=G2?qqtv0+usIY>o}Iar14EA+LXH?F5l6oT|yhZ)O&=6))~8|~Cc z=>s5hrSm4~cx^r>Mrk4A|3?kHv5V-=JIcJ~kTk6`(4r{K&fbn%a#oQ)E-+<-dqT`% z+QP3_q<}d1_=R}Eb)`&zvCZX>8JSFLPKvav`Lp*9j(pNf$bT4T)ID!DEuFSE1qt6f zN$QPlmar%`%X`3=MdZ4RNyqO1X|Ui zkB&*^I3=H%xH>c0J8QIS7Pyq+rrmYQ;B+vs55(r{MTm*o*!=I;DfDCWc z)H_YR++Qi)?UE+_H*_1>p{*3-4%XgB7|MMpt&$2UfZbZpDC-T!{yd9NtvJjrhaD*I*EkWmYEv@@$r>SitY3p6riFVm8}~wb}L*N0 zMlP3N_RAYlY>YXiDXsGEn@R&kD6T%W?a^*1U(qsq+&tpCJdclXhv|T&nEq0m_P86- z_N(-IE%k#%M2Il5@Bi8}qzHTrQ(lKLYfT(6Os3y=a`uMsxy`a3g(P_JwYk<894F`3 z`p@;XGq|H*#m4^W@+Bne@Txpg;vCTq6pLuES}=KS*2@p3l7$>yMj;!X;9czFJC{5& zKVN7P(!N!6#oAVd6yzXTf2|@I3jHY*%HUjKHls`72wY&H`Qb-y0Cy>A8)wCMm0@HtC*+(WOmQh4Z_HqwmKQ?cnkXD2(182UPnW z%6e{ofBKd6vL5x~?rgQ;b->o~#?5;(dPAM!iID03hHJA^aIm$v(#V>oj%$lmllYU? z=IK-)CI8;ei35}6P+)^BkK@8&C_$XJFwUF=H*L5{VgXFpc1fmA-A(IrGGQ5p434ix8Fk-8G0z_nK(gk1wPMOX8)OXj-y+|C!sFaNNap9Z z`}(Pl(W?xM_cjO9^k7g2vj z^~Y9AXQy?@G|ultqZ2q-{R6W62ucV(Z;nI{M{pn{u)xrtq&P?uK^E^ixrPqokd>-C zLZh`X%rqjOw~DCm@Vp=o!;oL94GIbP#7TZ3G(HtZhjt_^#VM)6(Vr~t5wa?mjuI=d|cVL@Y>51 z3!?uOu9`-8A?hDmue3+aD3NzmVevo}xZHiF+afud;!{sc1*Xgq8QaC%vSNpw*5V!1 zd4-QCNWIw{=^B%8oh;fnqy49!XTprw^zG^epdz#&_{%jepM<>L$g;B1b{`d_$h4?= z*F1q_>sR*^%-02auWi(RM6Iet#?CmMAFk5qkHI z?0#@QBhg2nt6A{OEUibHqLYb6qwOZV1b<0I^PWYw{cU7OnsX_;7moy;|jg@@Z(>Ob2#Ejmfevf_x=sLcuRW)IbGCTfH)&$X8a$506H>$(;2#`bzlHb@9G&k+tsL2l7KLY|*NH z72uinQ;NaYVu3W`YE#JAjcVF45jAf+7H-`l4G(tI7BsM;VO;NUDEa%Cu;%vtByHa3%!ID-R?+y+p)IgmyXn1vI_ zN9Dh2dysN$woKXF2L)wV0hrWc9AMVk4|I1=SJS|1oxQ)mC7>t&nf04w4op@IS0_fi zARv$-2NBM>d$r&P%`1uAkJ;t6Fw6Cu>{sI%>6>S2S4{cv7jCQ|tg)j!CC{_ML{~?B z<$toB{fg4}<3cezRUSx_Vh-)X$E!@7~8{=o1P=!UkWRM5P#)7Zf@(2zLp`zsRaou5ekD|Ql;hh0AdphX-a z%adbLyVO##>_~L&RRdHMhF&W&lvQkRd{6vB(u(tHv%YS(OZgpT{VIkNUa#%6AQUgb z8~2``760I%!aUCRmpzl>OW_ zRplgH2-(t1mqmI!Es1$r)?!FB4xrIhKRXq{Bo@*nV=j;F+|ehEI9sdchc&NG_<;w# zqP;fGcvE`Da~${zl}EQMUG&F^hEtI}uq-$q!~tn45FrJsmhiUhccXhX&|A zZ;iu*l`E=kFJzhPn7r-I$PA&c&c*pGE)J0bceJ;SV2&M|2L7+i1}Goqc{%(Tku>HbD|(odt2&oun;?oGv$)!`X? zp%`fWLBIb{g~K+fKo)p=gO~}~xy|nl=;kFjhhs7734iinA`Qrwz?sbNg5kzqT5aa1 z#2n=rkAPRK!#)toHTxb2MZqc#<|mmLE7Bc~N@bjW$bP87w;^|g`@}mRY}mnU&nUt> z5qe)YR;v|XRMB^WL)woTQMSNReqZA~OQT|JPoA10KfYT>KWBhAVU3V;gncHK$2i4m zpwV@Vf-J1)_zgI*L8PWByL$)BV`*iRs$4j7aYyFZDwyaLmO1V64+JBVih@m2&|6Rr zIc!S^=MKk)BrQ9q2?nz3&cRdA`F97M8m7qO7As_`Me{d}fY>eJbs-rqHG2}3Z*t_P zX;f6`3M=3Ua8UHnq!h9{84-JrT`SH0F?rb#hWQqbB|}8la!6u-`)6yn#GEc@Zx1|2 zIawz(w{3^yOaf{sR!&-|0ICyJmd+-{Pn`%VK;o;4SyA@{uMK*MbuvF_f#e~MvI#*m z9ZwYOwGployIwEwz#xZlSQSZ*b$TV^Uc-iPC<;XQx6vynu{l2a`uNA{aRp57UD4UD*z*(_X=KQS&c3}teMVY5ro|+ zTff&O-F66e<8mjCS~=5w#<_BXeY&jNb5Ft(qr?6L-saEcYxm^#!3tEg$K|8|77kv3 zs0aTlq-D0Qzj0h*omj=51ua_a6iq-?2JG4dkTNTC+*h{KX_lHrpGb~ z|7m1o#L8pyfGjx61v=`9I`YhYW3TWNFF2Bs*qnn11lj28#zUH z*1UL09A1Z1qn_X~Xy zs_xYH0__$$$Z;g^>SeDTu&`Ly#o*xU9|kXa;@~IRYwjE%hgggR`pI>-CCct0O>)01 zR?snKB&(y1*G(KlABUkTaPPWah783J2&lV3mXJh1G20}cV~y9yIU3c9)w7pxlwHPh zU$(A|gqI<9<@mypAhlI{*=iU3f*{`jJ7LP2{&iPGRRVe zMcbGA1`fob{8mO51KW@ZKaE6S(mAjL+@ZQzr9N9pMlFXm^0V@xUX73wRqrV4IT_IM z|N6d~?pw2rl$5-xDt3vbG%yv`NL|_+1cCe=J5q2=a=zGjdsUM|W-7mdA}(i|8$MZx zC8J5>gR{_UN2CU8L51w0FDEW>iq{FQ0F^%_c0uo&V3Uk`-2KVRj8|#q3*{YSnO|w4 zSBoIGB~9>VXe=rr2O)2@7yb&d94K4HCdP7g%@SMIiPq z$CDyBh{igmB2O?Kb^hKV@^lp338>Hb|4d$!4;-Jv4eFeuiI6N}B!XMmz-U~bCGgGbiP#?1c>2v0>S4N7XTY&>3dm-$v*3T39Jy-UDzB|DsHuD(hNT7xIEt<65eGUMJIXy_oKdC=-EIiFL@ia; zk8WrV-3-%xU1n=siY<9sHP?aQt0s(@wSp66sft&JNgp=Xgy8Fer?#i}qkeQN$-b`bt!BoK0_6YLY=fEVOr((Q% zl6Xe~15P+pwv1N%w9&<_!i1en>*i9dr8G7`9e22?*+Mgx?IqYCK~7!sF_X-dGzb2E zGq4ypl4C@-75onV$;#eYa6Zjw>_`3Q1`gUZoVaNKGAo&Jhf4RbsAB@~JsOt*cdaDY zMQ02TVkfP*jNAm#1q?*u!@TJGw#wrVo2qm37s(^q=2&8Q*ZW$LI&GBjZ5%kLsc6PI zwK?kk%*_&kTpwP{b)fGoilV~%`wTzd4u$z#nOPg%7pbdR`Ah@8n!^=Npwj>l1NRAV z9W)q$Sto01ZLi=Ck~E-Q+k|*6^E6L~8!8|qg+dDaOpr2Wp^iTc1`p#gdO8MCnrXd1 z1yC;f;R$zwf#qJKB>@4xD`Qb+tJ4eB0EY~X5MuMd+mbaa#9_*)hIISnaQrAGP1JGJ{wCo_WVW7)-4x^e~ah zG~}0E2`5bKJrkKO9qsUVfT+OGi=I9r4&LsP2}B)KVhCzPoCa0H#u@@xrk=nQ=>e}0 zuS9D$1hwWLe$zu?@%BGFsNhK8ucoQJ9|_1#u+Rhk^0F$c)PXRLbn5GMuZ@*IU=h!E z{F0r9ZcM0s9d4qC7VsHoi=4|A#$lFCF1Mc#e3GagO=F7cviyi%{__;;E?1qSZ))ls z2)C4dHbOe|!;W0O&4m$y4|)$oM!#_d z_LFLDANNoSQ55DUYx>6B`F$dY2|55q3sF!&$vCAy>XN*+wLbxS{Wq`_ zbV1zu6sHc!41>~C35&v5AD@};ZRg<>*ws0EM^XC|Os)%~l=HGgmq1lz+C!-*H%$PA z51L+hBv>@~J$`dPh9kjW1>G2bS`!$%U@je{(-Q5UAgx({Ty?!dc*AoTg8JJ_ zwIkcLwQHy||2K-f?tW`t9W#Nk$Cgrou6hEu&6eW(mh$Y9Zs0e^Kur83%)k#N?YoTE z8zFG2nEXBQYtW=fq+@iMUFzo@*O_5qX~l?9h#qiDn&}AH!etQzpv#P+=pSfIKLZM? z^%s>EvA-cFbb~79Xl-Kh`t9UV_c^VI+iS=E_+>GkEFB(4E?CTod?w!S<9nhL!_cpK z&}O@cb<{N|yY&qZ{*})rCevhJUAM){x)qc1ud}eNApxN!WM;OHrp)5QU7x!`tZ>fk4Iq2hUDMa!@Wp7Th&|3sHw9yx zrVaf}vnhn5c(X(K_|@EzCW+>lTl(?MG>vC;ym{G?eh{2%7o+L(D zdyly&t4=zASp0q@f0Fds2D45_V%j2^3>jF4T)A|E9uV&BnS@3sWohS~`(lJfcx6~E z_#HS(vXEz(d>#<_LH0}SoRTYOIb4ywZo}6hEdv0JsYa`jg(uU6T+L1w;t4R!MkQ6E zv$VOb1gfOG_I!#Bf(-mMKrwGs5^w&?!TqdUb$)Hv>xa}#jjBefA0z^PzPqu7#oWq# z#oBGEx^?@}vI`6_@df^uA<_q*)v3$3mZqWhx^3^-f7uTL63ITpsc*589*)=0NIE<< z0+&{_`#yu*q%aqdw?u3Bl4RtuiZEdljL^o^o;-%&F?JZWqW<_>XAEGi zH1HT&7Ax{XW>MIYjK+0d|Gcp;NihT~zky|zEuZb%9UO97K>uA44sF&*OD?61Cm!)> zUD!lRq&|!P6S4yOiNRK;X|3)$gNbhip!S-HN%g27?$%4od$nlcgj7gKC{HM&dXAMb z&9ahBlS--KNy00%a~Jo;(K_GMEHMdlb27$V*VQzK9~XeQbU1zea*vK$%3EW;Fhk$; z_C$?1FoX9|5z4S55O613uC$TcQ^0W|Fi{m#H3}AE39KkVhq4pPLn~{cS^*N}RO6J& zy}>U-0SVNs6dZ~9pez!$qpl9o2PL-h!U0i|O^Ge=(H0o5>-q5c##N-GOI5A9u{uhZDGtJ66jrOGaA$H@jB-8-G*3>58m8u)@Bli}w= zH!M@V{hT1oV*qenO*n+WeypMgr_Qu6O_yfX<2j88%z&3ev_|P1`S9LTOV0l0yqV=@ zyjgnyLXM_1`J>Hq&nt169(@6OjlgG-6&iV1?Z|j#m-o_C<-w4ui2yj|w-~R+% zp#THX=UdcBv-;3tqLKR*(=JO%mUMfVAZaz%ARaJMbg+RCl{tQ%46m9yhsRl20l zi5d(XwS8TaXiT!#%RN8UfALEJ4aU&{(tZ{}Aj1-^}0ynR?}>H1lEpEA)!B~}2!G_{J`DIc86 zdPu$$1B$<669InA_tkV`%E)6)ha*@8#-bBx#7;^Lq~Eib!L z#cbhAU&gpbLx0qP{@c?W=UQS)79T`V6rIqonWqk-$EzT}rRJ0$BEXd7qzXsflvp~U%J zPu|hTBb;b3X#4o$;!s+Wm3%w74sU{MDUhf9n+6M&sW;lwh|RznA4K*H9)gXiY}2Du zaDM^!fGd!8Xu&tBPtu(<>UxcOCIh>dCr>F=2~iBLlUfpg2T@>_wUfs21>fbS!O_Py zDRH9o4l05DX`0wB@n^AFmqX3B^rbYYXzV#|Hy=FKT zGCyBVa(a4QKN$eFB&JJffB+K@Vs1Ju^`Uq4(-F?7t>o7e$v|>eWMd%~dD#)I!?^Tg zb5)1SXdf0njBy|8g_w>0Kq^rx{GbLxIR(J=GdI& z4cgI(9H8*c*f1=hu_@wWCA=^i7TKD`EY20%Jz=&xi)ZntjXncN8ZLQh*^#t0j8-~u zHBJ?uMrjSpOgGrqqu-e6M{Tte@nC9`eRxBz<{LZeTbiIcZ_iFDydJi%f5Kz3-h|oP z?2bRbbekP9T2FutDSBT7<@m`hJbW6C0_z6e$(K0l|HslfHb&Yu-8wcW6Wg}!Ogyn| z+cqY)jfw4vZQHhuPO|%c_WKX|!_{Y1t##C@6=RHd{yUoCh`U$PbD@vbM)SA_XZd3l z8E&q)_8_=0*cgFxgt9d=u-Qe}nO$xGb(BM$PfD+T_M_L9-n9ahLb?yS?1`oY{gTqK zR7p)X2P?}>=CkH(p({lNu*194DAX+1kH%XlIr3ESTMG1k?nC7KhUX5akqffKKgSuL zF)d<-p=m8zj3c7QtWcM-;3~yydX(0%Btw|6NP1|)qI#ebQek)#Pkl1a+0YCh0oEe% zC!YD5X)R!9Q`~kxZZB{(CHS#?@p7~A0=={4t!w+8)7q;GZ5Lehi_k;k7O+Z%z4P5A zev4No9#Q4~!ILbq+wbCTr1#^{Ge z3-?O|v>*+8bG%$tl+NYbKfLE}7~Fxs70`kkiM(O$gCYRSfu>E=AnyxXacUQNAs+7E z->fMw&*9xikNHn+pv3d*KdT4c&B7SJdS zs;gQfqr46@RH6rb4a$bdM`V<_JDhP%;lqp1|Dg+HR!)&Xj|C26w%N|pp&LnLIRajn zD9C>bn+0a^!qfqWSp_;3qlL@I6f$4*6B84U+gjDwm+b@lD;XdamU~yp|LCIhM}s;V z(R?jnf;p*&|LW*A7)M5!b4M`Q08kuErhS4jBF~3cS|0Y z{LJGmTV&>0^5E@t64k34{nZK?;!C}HF@Hff%&zrBSVosdi2-^65D!OX9^0S@Eiz8T zS|_Yb_N9C3G~2{#-W)pKcZQTwojlapyeJznj+;Fuk$00ETe1-sb)^M?9_GfV* z{4z^F?JZER=OvIg@1&;-mjKcHKP?A2GCgp*$UGWJfG?%|sRc5nIygTwK@v)fJ^j-} z{D|3DR-Y9{E?X1Bf~b6SbBy8vR$a)Q3qp!s^KA3RXr!wxvwXVgoqw2`1 z9FNf)*oD)`wyS)O9gM`?lBCbolv#}qNDfQ#o9e@S_V?GX4a{0Kr#oM2xW&Fd_p`?Q zu0)*anOZGZ*r2IGXGh#PK&719)1cMv@Hh#rKmSeYyDr@fH8S&)VNk$ z#WKezO+H2?lOp_spXP5x4X6Uhv@ad2%IKBhDqhpsd%gD*{TuLJ2X*gX=%m#LxpN3j{f)iO58}}{o!!U)ju^#OW?uC zJJCJQg$gvmBG@NPDpRmIMs+`s^=fja=2Aj2nS3+pMF*_MO!~VdMJe#Z9h+_w4Zk0W z@!W$wtmi`KuP?7^5NetQ=VBYey$teyOAQ{yG^O^0%{L#hKp&H^9v&W$qmdArKk*dN z_Y_t+n!zb3)cOGZHa)=~19!QI7cZD-^oz>D71T;cmlH%qJTk(8Qk6t+28;v#Os|3c z)}d7{8qwuj-qOx$tsD4mc4ypQCCG!7xc~JNal8PmWmN|pic$rPiTjj)#^YhA*u1n` zZ|UMR9r+q($-fsGWMk*MYRQ}8|IELwKXPJpWFzYK+c+~`Oqi4n6gV;Hf{Ib1RCj(C z4T)pws%X_4i90WpI#b{vHu~AvxEPlw+SR1rPvw0b3T`p83D_hRyWigK4Zw5mbo%>j zv{d(eJKOtB$o%Wt28OF;a;@ljooUzP=IOs4e!6cz+k^f#Urd#*@18&qxuNteij{0l#p085@@kIjrCSB~aKs6e}_D!62` z{vyi`#fWmiajrV6^~wONbE@h+IQ_)FVogZwcBCtzUOoVJ6Onh6{`bhxI}ces4!T`) zTzTG_Ao6Q||CNCd-kWt=V`mXfBghd6nqCTSR$3e(rYj&za#d&qWA%SJmtnH&{wg+BxZ1?dAjOT{yDR@6OIEH_Q;^rw;_<0k=oU2ysI7E zhzubZJ10k>#{2G0=)Q}wf2((%=`zq(lKv|#WvN`Wwz_DuNMZl_+#0@8t*d?J=56NU z@-r5n7on1~=I@5V4L#@7=f1Z8)po7l+XU;1|HnDJ-wFRs2)p(2vfDM^7Wl1s-#U9G zW7Uc^<}!oVJMYeGYF>w{r{&v3>(#%j8~gU74bH9$-J6EHCc#+HIwilkLg*P28^u{o z34`${ou*5Mf!k3kp49%)TbOjV;Hr&4RR2$uS2X|$ccU)Y7G2k*wpHs!VuD$&lgDrj zyp`*sP}xCL;ATNxud(=UF`R%3^utIP9Nu`|^^;A0z%Fy~cxWuJs>a;-y);ZuZdMBF zT60XRmqKi#S+7(DYun-X5A#`F*Qn5hhQRN@W6+faMR{U1;b>VGzb%GTgi^Epkr+NwQQQU+fA9upr^?L++XN0y4O-M_+A(hsc)+4GYa*CPs` zI0(_h=%~=`dx~aJC?{r*PmE-7`^LCyNb92Ox@?%ZTwGK!{dji9&HKCzH=p4;i1sR1 z@gHzq(S7JH`W07tv0@)$h}_X)pBL2gISXyLRMC7}{@V{B_qpk>Xo*gEoZsa@U0t04 zL-%W_!^jtJ*v|KtAhy6o)x+-F%(qmV^EbZ3OqY9~@5?s)f_7KfPv;pgr~fgg-(JkiAnn6xzkVw^L7f147UVC9;m;Kq1Vp5P z%%@85vNKcsb9;?eOL~_LeB`DLAoYx4SRq^iVeaj{#sYeAHwTMcd_2(KvSj&oqk9^k z+H}sDHOpHNWs=(WGsZ&oBc8&Dw09KlzJb3qnp&a%3Vh7iO)4P}UW2VdjIy7S8wsE1 zxjiMRa_4HsHxl0r(Poq!5;PEpsQSBwAIcbq!sfATh=IvoR}Yme*F z(QPtoE)6yb8rQ7FfwdfklQNxDN(6l?jibSExJ+5UcJlQ{;z&amgL#R?KIxaXlgLUl zqFgYy$29o^3Kq2WUC6vjvS*<$rB#JdvrW`T#8d$#v)*k`p6%s!*IO+^+ino1j?>tM znM{cZos@LRO6T#B%#l+GGcRwN&&TkE;Wz%rZj?R%0Z-8HCvfUq@U8dzH0yBxdi?!8 z8ho|{G!2Pq_WZvd@(M4HZ*Q5hJ&!FNmNm_Vt=r+7wIIh!ez2qNJzcr6j1d_wpwee1 zdUg3tAJgN`tTnhE5b8fhZ`9`IjwT)J&5$^nf}{Y`Yl_f?fD+N(1I8n zE0ZkeWBg9S)qg!f_BHpq;H|CXJU^j{;D1V9*t0&M-Ma>NpMCnJ zN>=Phg@UxZ3VNtxc3K420pdeUxBW*Cgt+|jkIrehGs$EncKh5PSRV_>XDg7fmt7<4 zJJ+v~o@n@*|I}YUpGLYwCcxpcmY$Ke4St(Ylpd5 z*$H3zEDhC>sdW!ciYTT_#(^|Kwjs8_s7vuqM{i7u*xgNmo59sb-kJ>Ce;sG-yxphu zT$&QT&q5ol)Ht7?WIw2^c7Of^s(nr%6RlaCwznX!2yHjr(0l9FwZUE9_My-OZOGGH zp9rtdh%2J)T499WcPD*o=6P43PhQBel>}7kh7NVGq(uV?)M=q$hX#g**ch0plA$Gf zwZM3i$x+9_;RbnJOk3Iq3)YK&2Z_&W8lJ{oOD`iK*30ZNS69DR3+ZCi=Hk z2nsya{QlCio9q2DFx#8nv&{vS%oa0x05#t&-HD<`do4zzC4B*dbI%*){~5LLsv6Jag}!w2YV+f;lF}*xQs%@0*_oTsO}6tq)t*yuE*Ug#J$| zR2;%K2WUK`FnXR>S^Vp^HvOCW4EiQ(X^qT z=MS2QO&bAepaM?`T$3k4ovC6_1!x7XzJhosIZKjzO}Onw0b2Ed&Eu?ghlGAdmV-d( zSe?xTr7ywn2h3e-{SO+zN^2MNwBWZ6a>R;I$@t19xE0sKq;ff!u|5o7Wf5}?#@~UB*)cV05T}29kTwfY2UvSz3{9HZNv9b zje!LT1!=o0_FwNaI}gvTJ!fdFtgQNgjh@fmBmb`x|L(^;SUi1~IdRM84kL?+)G1mh zC>q@GFtsZBlu45rGwaW__2Ze9CV#h;*OSIfQ+`ntrK|=#neGBImT~@6S?LTDr??4^ zJFR{R{V^bc3I}F(NM|g8BkYuRiaBX-=WP&u(z%8gq*W`!5PIb%5`e8gQV)&`bEk!b z7z^R+RvfV8@fAd(jX3r9TY{7fX6Al_w`FC375 zG$dT?kX_t%aUGn8hmZY@=pRG#xcP4WntZ0b_l{db0+Iu{HqU2`N96^2nAz*B#)>aK z1X&4ss_w<0<#B;$2qwf}C)jJ1qNO?$Sf`5y^4Q;h*}Ffv*$9~UPq_w4g+)>3x(<7B zAD+jb`mdYnlb4$ah>EADgAeEr$qC){oqWjQ$UDdj3+6E28E;V;TK7Dub@TEUvYAlL zchHoEu5^P^I_%j|bV%BGEWyOVuu^1{E!|wa9b#dUBlDiv*yRx%R7j`fXrPZ$(UFn$ z!33STVWytTZ!Nb+wLaJkJpd<-e`frApV+^Hx6E^(iVlLsW~kK1>%68yW+60Ya52rU zN*HvNC%x1vj)KPeL~#RAm||j(7iMzgkyA0!3YN}AN^}aZXm8IwiMEpH%rc#ZinlGQ zYQZ~QO-v4}d!8$M{6@0;-Z2F|M{?Z1r)c%x&^Y`3qp!We#x7QB32`f`H5Cc%Y^>NS zl%KSW$MYhqQ=~ne6O$rx_%rGia5fuz2X>oBvhvf?|B7jH9M9J=qdQHX*`@Y$- zoy%#u;HGPHLBUTnK7MUH>w^~!&=%;_^z|C>6CxKEmP9@5Mp$|H5W`^}I;B=^_ARos z7jl^8|CZl$xlp&?Zui}odXn(vG!6Sq@3i%TMnHT!dC*H`8Db8!ZG=DQ44w_C8K#w( z>HssPJP|*Eb7P@^5OCf*GPo__JKG1>g;-LMoU9{gACD!C$kogi2EjkN{GUHEC$7aH zSd?aJ=4153%*>pM)Wjqut_WSOEPySVCgf**{5n;mjVsDwVx`(e9U5;VSjCvrMkvym zLTO_t6xvjJ`H?&E1&DB}Gy)C^>tC+&G?T*V{u@=6^5kUF&;zpJ6m`A3EWdfr7HAf7 zc3R2exd&h!>)-NkB^3Co2lW_No(}oTf5o@T(}h~`!~#lGY#uVHK!Pob?30GE4pDdO zd*lR1DLsl&q(m*;%p>+PfA0i;Y=&u>Sfxg*P`+348&$nWCXVLa zdLB2F%GEfM$5W*I8Ikkqu=&4p^ecv8Ja1Cdjdu1J0OO@#? zvuo9E(yji11^NtAn(@Ore@Qp!19?a4<+pDslDd8uSc|-zvMA{hV)b}ZB!`cY6CCus z;%J$8x$fj&ida{SESTSFI&N#GYqWX*=bhWX-khAr*y%d;a4m8xtn z{;xuO46nP=dh5TPr|klPhkGLKl1K&0DY0=YE|5|`5i2&RHL)RKjXCWxzdZ=EAvg3u zIPAY%96-02dB#{R6A9ghI-W&b_qX~aRokXZ->n}L_^_ObR6&S2SrYL`s+ir!SoBNR z4YK-svrL7l8)Xz>g#=djvrM)4>u`^rl>Wd#QQd_s!~$k-7`=7dTWuM5RBy%Lh84Z5 z;hJm2x}tTmCG+!b--}q0BB>qQm$#!~2F?zX=v5zeGXLzb?Q;i#iknG&cobuyXS$1n z!|f*Vck}ZQqtA_V?!)B;5~1I%sQ&wWZqN7D&gWB69449lPPgywrZeMao7GasRq#NO z_Gb-;w*vQ7Ud~jrm1`GtylDwRO{mGx&espy`B+{?k zjNEOc1p?Vxy+(@JVYbR#NmiC;YmAl;y(UN^1#i#brZx+)d zPfNMd501Po+LYH&DQPwsQr{&xm0#aw@X6qAL##~aUs`!4aGO0N`iX7%wstfX`Itm~ zTr(^^m}1DUNShq?y4TgN_Uz%z>%!E<4j; zIFW+Fq%^s|58Gja)j2u|qgw5RJB!1PeU-`Mb{qU_N2ZTR)OI&RaAw8Y?U_r*Z|H~s zOBeKF#WuuT;NT26uekTG4x-e$!=-2^1vqGfreg3+&Q*Ib>C(dc?iwmo%EnFwhJ9Bo zbeo%DM9f6>R;ks#+a?$9O$GNOF#=%Xnaw-c*k<|MJsc+5as9joZh8PEjDUTB(FM5w zE%Z$%;6L&{(#MjOx!!j-QHEighnblJ*eABWOJVhtE;O;}0xi7HPp##|CbT7x?iA+| zEFY-&5k$&#C`*@hd}IY%!}|CTXL?F@uA&{$EZ$I#G_%a(*r5-YXnwEyIe@Agry2Bn2{)i z$9NX}hExu-4XXki@m?}RAiOW17XK&jBd2&ob(n!dzzje;m!^&T`E@cO?bZK3XcDNS z?Fjn4|J8Th=~&YCe_qTv@f$>@MrWZdV3w4HA4IR(vh3U3bi^XmrS9ZlSbJe1ICUsI zzIQV8wbvL&qVzk|JGYmnHYcnG&`035roP+gqZ#HJGWBO2t3TLi$3a=nB~pZf`d=;s zv1O-$E!P);GL;I2Y9lC*00oD3l{+GvjJL~-+E_sf9B znRUd!**uV<15*l?vqNZRf9`mtS6tT-=22vgOMhZ2Q|_+cq6L-D%?Wqdr!p&VoO#CY zl)fzTTe#MU_2zo?=rTV^dfwBg%n#4b-jX+a9SqrfZ`f}=^<(zj(~iXA{o4WGk&{x& zWk^XZmnh;63m*ws#W<{|yNh|crk!gH3Sc2GiTau4FxJ6U0M(TW{puB~aEch^wyj(;?tpq?;F>0> z(HI}?jves_P+X`yBj+4c7R|HI;V`^77; zRJQc;A$*ujMy-*L!!ThM+pPD{HxZON6WI@nLUBffOBSpt9iwAe_c?TGn%&hu&vanE z$Bk?0rc~fPRVrl`=$V|#8X3zS_eyJ3T*zWbv1xPYmR5+iCxsyJ6vh%c==^l@d3>V- zKI6Ac&W6fBN7q}W@1WRBG%ByDsIwbsYw1Z)(|t_ScD!C`;NSo;&3%H$b<^2sFtO|k zVaALr-MQf;-2|C~hsx)w#lI($24hoRAtP_kR?r7?hVObNC(6{t)FY;80THADsi~n6 za=`lFGASb?1F^3lRk(76-2=0E>Ha`*cv;~?qDa6(8znAUV=YU6`$DBEQye+ozzxGd z$4Wz3O@G6xu4oe>nn`STcCc~!pWQ8zZ{VF!EkOkUczpSkz|^Nh9e7qr`r z-|%k&0YFJl~2gkb9tl`{QV1tP!=7r-67giofa!65t z+CLg~^N*c{hRvVIMlFoIsAN~~mpx(gkj}pma7e>q>4xwm}z^n1<-~L1}JK^dND2AbyiE#KskgR z0SU2R$UfkjaxtYwMW%2+Ap{b)Le?N@4*&r3otmb9J;(^pIB2YroV$R`6s6#}4O3oy z#1AAb*OW{{qnS4-GHMOK_L(0%7UWc>*ST&fb^Xz9k2dO=T_7<~t_!vgkgaEMF0{*m zk(6E{0yl>oHEO}g^BDTN@OGY zfTv$QuOB@R{*0;fO;SYb->t3-Y}h1Q-@TwU4)MV@)OqM|D)3aV@Y!X^x@?MjJMEn( zB?<-9R(#>uMYTD@khl0=5dA$*o^t(sE;oI=xhMKDAUyvQGw}oDl@PK4CQQm%x*5GF zctALskUav+62K(Vws?+NpWjrYdJ_C0#U7J!(;cHL!sb#+{( zzTC#pa2tGKEuLLW6!F^TgpStCJZlQHA^1NF+7j_#ri^uRg^rQ?RHxPI>8;N8gAG(? z^4RZ<7P%i?|6ixUpI*)%PFCvjH9_pwD+BMY7ls32^aLig0j4f954%4+`(P+g#gdfZ z57DZm?#)yu0}=%qOn$j0QhsJkLZOTtlg7Hl-wBY)II1L^I-n5*StqsWP{_2*RG@ID zPlq5W4$HFKr<)Q>uW7F3rF;-(J?g}}gyiGoYhD?Zrh|l1%{#R4l8!^MgZ`!V9rh}@ zo{19V{MtNsJ}({#m`Nx&p-vb_dBTdXEDJ&&dqY*+vd4^vTObXXq~U8Hz{SUHN7bT& z{mmVKsau9cDwO59<*)Herzt_n29<9DGxdRB{1-DbUOLz@cP=N zP|4=tsPdga=($}o61Vf6aZ%gz<>2F#2Uu;rdANF8YXvNfp1xW~`tC7)wwx&&IyoU; zc72+qRzF59!ZFl{m|+ENhB-r?OX%-I}Dpo`3B(R$Lad^)1uIjEu;6g znw6SPYH8_pIv5#!>?V+UpB$hAk#MlnU(q`sUEj^!YB(Db;0b8&VX_rk`$IPB)mq4= zrtzTRy`XZjEPYNL8hXYKF?bRU?@O0DM#aL+@pU z#`V{9-+oR`fVH&lJOAk#4Q55F=JnFKvVo@+edu4>;kL~@tKLhM4E(Q|>iRrhJD)FC zZ@0j!7M*dvmxLAn8L+#TjWhT>2ho3fS5ILU&zqzE{%z6mS%~p|@j`JJ3PvV)+jY+S zc&ywD?_{<#^ZP2la%-KlKTVX>fOe?PXu3T7$6K%XZI;FZWR+7J0}nxCLwia_fZo`7X-zgg2QR0{HqJtsG!27U&8T7?BaIc~PP3WwoR=tlz%bBtbU!85u5ZC{N z3!^~<+ioX=LG#@g^~{{{&$@&Hsw;43I29bGR6{SeXfq4u3EqKfuAd{HW{*R z-d-6NIzEl9KArJnF0z`On%5(#pZZfTv;3Z`Yd)HddAps>BxGu=k7I<>!DDd}H`3m4vuC zHSU9$EjWl7dK^OXkmjLJ&@FfH{0J;~1yXWf2FlO$6QQkSkDY8w=WNJUj#i(io1X7L zZ(2gYuKug>b?*#da%Nzqy9HX{wNEg3Z!f{*>AX1w$d`If^!9@AJ$1qZ#bOyfSfIy= zXt&`Fuj4p$bX$b^NoBL$kU%yoJ=wJtt6!-u*L@eui{x{0T2SQwo-$z%=&${LFA>cC ziR^D#-?^Q^4aLeTG!6?xvU6XmADY8E9iVNu2JgP(i8;wI88}{cwbMhW2mFo)1_!xJ zLvH@vY=hX;!=lQ(q?Z#s?|OJxU=0sb7&sWfNJ#vOyvVX1Jbr-(pV1*q6~?ISHbB$P z-7|t^pNg%Ng0bN2k?zH2zuglrT%S7ls=kWcRGo%1pzcftsczQ&)=4&Su_2ReGfc&7 z?_RyclwMn2BFG96jh0a4j6w!ns{unF9DOiYqF+qE zb;gZ}VfppqUZiL4F5K`iU3Qn2ONkBTqG&6O8_vq?P~YxTT;YoaHTW7*ghp+kwh{cK z@?3qAK}B=V>KDra_V(<=BtKseSSzXpaz}lppblU@*ax3M&NcP{Hk7=D@!^;-$LiUUDx-Khw?o;(OrDZI^ zqrBQYax!_)hes$3?Y`RB5_3U(2EeL!@hpIwN|YTK$1@SMCWXPY#1}^@R-zWXF31_o0jB)$Xtg-g)r&3;9#)$}{#xhl{FC)b-Zwy7!0B|hK+td6 zIoFdF;NVD~)A-grjIeiqPqOLrP)z`c9pFB>4ufalLcZ>JAZWWD=7$hUunS}`6%{3A zVqt+Y&+`>vFyniznY#%R%aW`IwRo`j@e@Nbut+7*OqoN1cw97WI#_lgpU$Qgmts4A z-6-8$wt`8j;6b0L{alk(Aw_Ea8>#jmalSt3tp@c8_L^){eEEIgnr_cdXo>jv>;4zh zgAT<)dT!fYNqa)@yqMTHVls~s2%;xNrpxDRBh`_}PfIM9h|I8bqO%JRpJZP(XH)^w zDt`J;q_%X+)_;A;5Vg<(GLra#3}4-C`KGm@8087?B5GQML^$Y@V{anXMMNT=v;Kq9cpn@ztwT}?lUS@S>aUcsJy;W0uQ(6qL3 z5O+|yTd7gApWS(PW=SvUN>l6WTx5q{XY`t@tg&Tm74Uj|?Tgd%eOiJhb}A)w22Aw$ zSbfn8em<;l%nvWri$ttgek>wk;pYVK-gL*vQ^$UnD1F^BE&Hac+(-6mmf_N+Aj;3qifvGQ-b^AY#P zOVAUZ}~=~)x^&%4Ydg(NbhrVkC_Ux>j*`MB*Jw2YV^rui@! zjqBl4tgF7B;b^Z88PKq*%E!ZHRrv`rQ!@PHyUY&bFjTdgjYu4}n;^Ixc428H$6&Z$f_iY zhje3K6!*w4luTmbw85#zX(c8tiw|%7=py1dh6@f->qSWizB+>$H9}o;5GfdolPZr;m)OAQhw*I@Z zkMugbs7@8tt}~pw$iy=3R1j5=`HM_px5HAC(HU~Rvo5KOCE-Pq z&a#8@wKnCJJgA@T!^7>THVMz9E8`9O6l!tJ( z$boEDsIA)k$TiC2A*r;hy~(d{?z`OPdCeDV8>Qd3%kDiNFJE^pS$5wWm|cL8mrsx_ z0y8VCiU!}0c5C-59^Z{%nL1pyrJ=JTg+CXCKesct~q#XBam9u)3NKVwR8! z&L&pQq%kShF?9&?6OfBM!3#DtZJP@$O*Z zIEn>E`DlY?$FMC}zDMoP7{Z^YxFsGT(JiHuF)FGiESPRV^AvTUm}ih43#6)$H`EX_ zFm=^z_eYl8n3pkUZE`=R^XQ2XN<9OxmY5Kl)o_X%=(vJN(q{sFQ)zLjW)_c5WQ1+D zA<`Ax+UG1FQ2HDEoxdI)VJs}5axpNCszS7jAO2Vo#4{&M@DRJ4wTlVmh248=Xaq`z zQObgozDG|$Y+{w8ka1hU;q-@DibG_gjTfg$Bi2BHFd(F!r8A*zqb-nkVyxz;H_ZJS z%Io`!h!p)=yEl{u#2_l`{GUeap#^%(XVUCLBp*Bmxi}tnPbetWyEYgVa63I@3@(ms z9Ui7u;9~|bvROb0#_c&ihpFS$!~aO*iZi(AAq5Bh37^nc$&@HCU<;US z>iF{0WOE*g>)!172?|`~LKX7Qt1I1DiP#(5gSVOW7Y|UZUKDXwh_6BukL|6elblzi z(4NFtO<_WucU9|c;6N*15A0Yu;@IN*Dj;A2a|D~=I$I+^3?&PtFtvqTT=GJc=kVH(gJ$jQDLQy&t&`+2*=;d1OhZK)piOe|>>LugCY}_$(nI@@$bz zd%?-GF)!K8L#UzU@H@ftXQ$zTM51KlxH9HCq-ppaPI_`XL|Efd-*Xij^x|QN>tZ6ze{1J4ac3@5&`-dqcbU@Pacu$p* z1cJ@>U`_s{@M{`5!?ii!XX6?FU>V1zR*U$`Mt>jyErKCXwG2N3q>}_mQ>RC|6=n+0 zs1FNa$7szfL1up0D~6U_ykNHQW`99)%vvCnUEpyF zhJEyRfXrJa7~2{mBo0f>A@v=sh+{iF;!aUi|Mn7VHLQ@S+$!}oOhHiPn|0HPcF5e) zJJAHDTv<<@BYuCT)B?(J(^6Bv%U86&UQYyG#t1n&mW%%2?mWb7aD2Tz;{rUpg)jpa zwB7qpSK%bDyJMPrKKUgyEvR^qp^&v;$(%)N z1tE`v?13bw2{2JFPZd4Gq7<{7OhRaq4il!bt{e;IaJ4)UbY6t$1P^w!V{zJSf*|=e z)da_+G@1N);Ej1)-(GeQ$j(un0s;pHK*nribQvC~4GlF-Km*@bN`t~OFjm7U$A>9% zG%8zEdPg8A;|%*Hq31I^dKzW7M!d_j{Ekma<0?# zFc1j;9TyvG`($8dT&=biD|Ia0-m;!oOT&3;xtvIgA|EY~>>RO@uf`Bs$^;>5NnYX{ zNA79^2miwoE?UewgKILG+%;6HZkKKO?>F4rCy0c{tTZ8tl<1tj9jrxR6&pwCoAt8e zmH~Bb@5(vYZOBz4^B<00k=0)`@EwEcXdRzVW-~_w&4bY!vNDz+Z_=(XrPR}rtR%cw zhNR?5QW4K{cF@p5${-P%sSsL`$uak`Rf_+N3&b_-gsO}N>=PgQXhrsc5=xLPWIc^& zS%&A-V|hocS@GTLt3X|`V$8@^iNqKNks`P^ow6g9Dv=1Rkjhn^$0zY^3t~p!tq7<$ zQFsJG+NGn8Hln`~njIISl$%(LwpV_yJ;!#QVRu%Ntv-Blln@|(>z z&v`fxffa!C?8YW)<-MGdRR)DU;S{u^qob?RWv{=!{0Gwgqt@YnFW-ye$y(J`j^R!-FPsqjgqbdppL2QGzZYwb)ZV4SEy6EfDB zy2{1X!PeV`Q;24=Tca|*-1+W)PK@vojmiAOJEV}tp7nA*$6iG^IKSTeem)|$fP=d- zpt^SqrbuX8(4nrJ`>~WYPO){jaIKimDw#ha$=V z+kYgbbw9qT=Y&M2Szw%GJI{@-Hz(0%P3_UgNceUrmD^LN$!q}j&5OPf&Ev^l5kbP zHWw^1nHH$XX;NxPMo&7YhN*?4gQ!Kp>?)liz%2fQ0IW6OmK?2e&!7g3lU2%MuhV^d zvrs9nac)dBDtOow;-GnqhGpeNv;DifG8zb4_=5@;Jku$dU-oQBZf!kei)aa5I>Hj? z(K!_e<(TEo@AhL7;uV@&XRea`jf>e!*bB`$<_-JYjQTF#aU(f$7@@(Zg&d4SwCs{>+Rd==I+Vkh>!%OZEBLJL1sElj*N@5Y;k$QOsJ2Y7M%kr<EvTV^p1hqca-eI;MBZmQ!;x-rAMH=XxOg1+jt3vc6>bEN*hHrKPND|+6x zFX5g@?H{?|gt!FQZ?^t56&1&9&91yYC%h|=AovZV4G}ar`5~ySZGL`|$8Gv|+&bPb z3PZ6*jeDZ4DM`fxg|at{j_kIrX^Et);fz85OV9v$Pat8gspOM6BBKbL?nApcy@ea+ zP^FdK$-hjXbsCi&H3_tk#7$^6LTX~;So7IMXdhCLXoV!Qes_X;6;+2agupsVW<4mT zAp+?<41`#NF|VoJljICyLlL5ZVStHctdCZ29KJV~x{gRm!+r>3o!m|tV(@S?OQ3*& zU`#h;^qvhLC){$AkPBbTR+EPvh6j34%`wto%y=A-~KM| zd9UoT;>U>Zv|JEhBJ}KQH%k+#FG1#D^ICNw>yQ!JjSpC)& zuK+2^Jt%K7nH|6(Ac4GJcNg_KCzb!^0Hq0PB7h1l9v^gx?Kgr@8Dv*v!f~v4+8gRTVTn?3>r`^(MdWo)Nbs;P}FfbD> zBIY#MZ@vhvVr_>Y2_4!&M$pLEFI)-g^<0Jv&~UA<*J|$Uq+4^*V>{~?PZ3-FOkiDz zWJ_+qExIkrNtk3UNeYf8UN9a^#eT^;RAH)6GKdq6Y~DZ1gwyZbuvKQsKY9r?$f(s8 zNhWpTk{vIG+-#P8=?ned-zU-6hS+*4Rnw8JUD(p8N!eD>Z~Zb?dtAm_ZL%C00qpNJ zY}ohQz59MVH~Y^s-UP%n@zYv>GCTxpSoC3Q;{BhU`g-FN#`V4487Z(`f7AWjw@$&paC1(^x@ z`BJ$F>OduHndFpVW6jGZ7|EnkHq+ij6Bm<5&7vaXnRg(Uw|&*~C}Z#MUzy^276d=t zRvs@!(777~yldC)Jo0YU+}^*w{BG6Gd^IzYnh8DTM??4$l?Elsf|IBHG@ zY1d9;&g5XYfSpLI9IrZxfw|x@lxUST{$(>0i*0#44OT7_kZJbXBYFfIZv2VPZ^KTz8NLh`m{N!-#og|u}zKV4Tq@PvF=*Xo~$&yx+ zVWHp*W(w1cXy&4nW{jyi(BuQTrjX}eA{zq-BcT}P$;$K36r4Q%xu~7{8UY`Q@?3Mq zlEIwN0J4|x6IE5OY?`D)peqYgr4nRAsGC*%^OVH{uZ1=Wu0i5=f8$14G?~H8sSm@3 z_9i0})W+j-9--wq=Q))wd-x=i6@_>@JI)4D;M? zSbw>0pQ98`pNHGMn=kWJ5g8!P3rN7^|8D*p{X4q)E^o`9oENxglO^~&>+?xxFE588 zR|jW>wFc_U$jinB(q^q8XOU~Pj_RV}=aFb8Xo=@?hF|1q5Lh^plnb(uA*ipBvJq;U zD05^Y=f4xA2##oc1%&{qGl8qV$;&&$N(y!VC(|^*BYL z6V1E-hcjlffKR)%D+@qZv0eRf5+~V|P7Y~MwM1c&V)A7=QhEJDqJQM%=u>DtdMIuH zcjcbs)9XYMU|$Rw5#EC!LfCR|9BO1FBC3e!0j$eUVIPm2~whxO4n@{DYSIQf>z0fOMq!+9; z5bQf57ry0|)-b==b`2!3dgP@KKFw!i1)Ay?x=Xh`iKTOzf&aM#zL=y?i|{BSVH&1$sqN>Y7^PX z>8^8yhKg1LnGLDfgXmkM9N9&7+)$Mi-}oJe8C02x~Bz*2eyAl9DGmb@Y0&w@VZZBoMd}f z=x^T8r7hT&G&MEqROc#Dr~Lx7OS?Fp!AUb~nJS@UkV5^ME<57wEk)EeJUZ0k^4Q67 z*;2R}Ob-vvYZuE=BqcC^zm};MNCy+)7=Da_1o7+%#<9+kEJ9lB>&Ge+p&dRfrHP7q zsC!w?n$k2EbS0rr(}%Y^Z8o!!d!GJ&?y);-N)`Oxor4zi974})KMv2|NBJLiMQgKs zMJ=e=URIvYPF2=BR;_3K3{FFtA$(Chu@$x?01hX*#->D=|FYK0-bh9X87e&gQ>-I8 zpv=cXH9)ArgT+v^fH->MvQR?^Z;C_5duz$z6LF<~nSSARlhB_dyTKWL(JFgtLDqo8 zpdflGwCy*tmw6ncQfV=>f}w!(+!M_xVMabxP*lj>o#OizV6zbVV4{=hZsR_Q5>HUz zqVJ8wbQn{y3nYf<9<(c)qJ)rsDdR7GlRx=|c%tW#Q#_8c6c?YL&AG?|%4v|<)4q8}7fENc|zHSdW)>weL>9@YIv;)BwB{?t(B9Br$))7^vzS zj`4}E*&UOfsLkSAOt8y_%qy{tJG>R*>C|Dagld6Fbz`~jH&ID}b;h6bWkiy|&~xzR zw@8W#f4OB;VnP5S^|w<>{AL(`I-TR5$xg68{yzY$KvTa9h0$uI_L^F)@tX6_yXeqa zXI=Q&#l?k>-f+XWE-{RCXC zrU5V^;MDB7NmvAUZWY8Py*k_IO;OaB$C#=HY;jx?h3QLRiX@B+pFe;c*{>SRsQMt-e$yn)7A7JyNB4D7 z;T{9gna71LR~vvbx5SXZ=ajPW!hIJY9WpemHk%t(O>W#) zDWy9b&H9>lr@N+=u-47sD(SgLo1Qa6e?0VNX^~2^DM7PF*zdh zi2u7aYc>*3A=agf@l56(_r0(Nv3z0e%n`4b?9cK1%3Ym^OQNp%+ul$0_1r% zS3w>x zB^3h{Al+`h7I*_G7%%oF@O=&hniJKFHrk|V`oI$xsQ6qHU`i5MOn@AZsH9j{?C2rS z8^;%-g~_5;`0JTSCU!b4S)4Fv$Ky7#K){L+jcp04{wzaFGSl^1BS=E}^SQy_>l+3J zhF`dI=h^R@nmS{TKNlZ<@WH#j@~v-u>(KWB)8>UQeBr>ZT^FsK92=b)7#i7LE~Pt4 z<;o7fklI)(rKq;k@cS`V)I^X9qZwi+V`Q$u?+O)*qAG6){qC)B+Ucjl`RDJ3`e23V7K;l@9w0B!&zObF z#M#Y|qJ$VdP?J-xZ%mC!GUzfWF~qOVG65cFEsTJ`Kv7>Q==Cc1FB9Ed9mLfk3!AX; zSnzzJgBk*Ar30kWT#2vYez+Mg3t2-eS$Zex4S9((r^XneIv8gHFsG8XG}&08u2^To zoi?+DS1OUl>YE5X8rMt-kGgNI!#1y7lHK73yGwE~ley($~lzk-rvOkVxIqv>z zrN=FtX;A~Q&IEdq%M|#kVhm@)Y2DCco-;}M$pS#nGkykJ(6Q#MoMw-O4=RfScJgC| z8p<9g5Ui_-`|TG2R)DiEfONsbx^W@hn5&-T`9?@^k(u#0U}(Y7Wl(ReSZa59L1~@P zUpP~&GJ{Z{Qv@nb$SCr8?=ErH8;y|4 z6lEB&IYp|ty@bhJLaWKu8Ia0B_gUg{#RfS)ndNZ_#|pgWbg%exPDul#1NB&f5yw;~ z;1#d$(7+%q46%yS?Y0~KnSNfSQhwgh&>1ruHk@+#($eDJA2_i0D=&D#3rgcd8`h0Y zjBoYZJgwQNZ!;#{UaeKur)g=_Z@a`4AR9n0R|Rcf8n$Ti6EI?uE7%05P+kXxaW>o% zh0Z&E)+9-h6~`&g+9LPf$w;feat#eEhlr$rh`QHTB8-@Y2oJoD^8_0W4JPw?cE4AFXeR2fRDRg@B~ zPLGYOc+fA&dhXZf=4LMY_RU}4bJbN>9fR127$XAc|J*S&G`t@B+sFjO5BxJT zM`6{fX721IlnJzMW=W_l&rr+bPnj}xK!XC8Q{3QmA_bSzK_Fxaaznblfi9Rs2%j1O zv+D^h!-hsDS1^8H(9gW<6_cxBVSWa1I7d6;!J$D?jzFE=!NDO?-Oy~+&3nHaGRH+( zGCItJksEHaEcV|nd~ODpJ>f(qlzC%t&=JQumFF_bi*=e27R_y!vp16@Z!KRK1e$7LoJpjimz6L09FQCu?g4hRG~REV8+HLpxJB+pocyXuVzI- zT2Y>11;kp}a<(w87Od)nOSzm&1jPzoZJ{z`!$6(%Q;rMtE?$%g=*?*D0l1Fdym1?> zm{+*_8PP=l&_5X>vYk-2YU=bF(LbX#3k8&$; zD1h$#zQS?fo_qIG!)~+L04S*6fQ(sAt18a+FA@Xzw>TE9Ee}^-F*H2#inVJux{IE1 z$!+uV$3L;KwD6fLul(FKcinYYE5flD5kUVZi;78hI8oI&@9c}UV(?42|yX(`n}snDSfVnLiqa}b0SWlT%NS%7d7N|EHLW{@;NXncD&`$yvn+I5&$dKZt;4ku{ zbDpc5KF1(D5f?>}taMSxpPTS1%!kba8JvEHMlJ1Ln@u$e*KSEB8PeWOYXs^7t)x(% zB>6F%q|rp8lm?oOpi}}T2wsdRBZNsnyV)TJnXJsfnQdCMI3r*ka)(OW?}oq}Tqh;) z)B}o+d}ch~4K_$YnnY%$bShbC1dEXLO^8Y*A`J-tt8%4U(7Mif-ne@-P;u>iL6k{V zBb72;M2_A3eY@yU|r4(KwQx?n?C)(`k5@3mOQQ5Jq=%Lbp zOoP@;zdU!q_c^L!;26;A2q!s6V47e7?sDyvkhx@A_lJ%*YAdhG4py;bL2sD8r`&fz zi$8yl^h6unh-~L_YY~*A&&MR{Mbc!96b@Zrp&XCjo$`u|*{DRZm|G+_b z;K6$-K`}YG3N~%r4C~i#phN)U)jU(H$~t{HUCj&!11iXA4LZ(3e;$-sRa)JU^Vvt; z%g5%>!vMBW;Paoi>_1mm<^;o4wzX?E!06}-ICS`4%Dh+ms$fMI!Ca0p5F|_vii?v5 z(aBuVnGo{qvvd7MDuv2Kp6Nc3LShQ!L4H=0#&OSqJK>Zar-epxXNu0L1@LWiI*e9v ztWr{3P*5_BdSiRNR{t+60N$}`a_zzY!`_<)+jU)MVr!p!@0%ygGXVm`L~sH~f`dqj zA|=X_S}Iww9lO%DQgX}bq}xuXJLyzqDE~?-|MDxpy4vZ)F1sbSC0nvYTM|Xe5+{)$ zK>!2@67vi^JmAgKy=U*7HSTpD=&p3)#M65!2q5s@z2}}`@3p@54b@upXSc_0e)p%Z z|JloD&YYQ8F3py|mJ8^=1z$z8`6N14;O2IF{3Z+yuBr;?Nkfnc<%rDZYgC(VJvz0H zm@$X4VVq71oPzzKIC?gUhz8gDc(l1Axs%w2AiP;eHsuH|B{Fwb0bZYqKyJ<27VpPQ!* zACW_hBgSvUC}O)lp<$aI@mOQ32Y0DcN6J=g3c;t^HTJt~w4%pvgyy*_jtgXRAk77v zJ%}qt5RoEMQyQG8hpBLk_O|J|V}V^rk=oFZ67rqya3cULQdBQj4Lsp-yvC6;V!jlG zifM`GvlJ9qlwrXFG1Wv%O1VLo1}vlyRZJoZMRd2DqVCxTIY{$mC|Cfq^-C$#ytjiC z0_t*-gtO1cZei+w4kLnWWhf#$5_7t1NkwWika#U94J(11SDrTD{j#tyAr_NBRF+P4 z9To{~UzFF)G!MPM8zOSGb5_Wij@f!H%H)Em58$*37|s$ha_&Euin6eY(8&h`warUP zuHbVkB2DsQZgC+=Nt1GZGH17rbSn~=^qhLoQqC(T58^t~pb!=bijk&;1e(?Rpr<$i z2FRWWIT=wyK#2Bag`YI_C3@4(*m=ZBUw0QLrQ!rh*D)-n)s7FF1$6!(i^uBPUA=ah ze*NsNCahky8rH5^2ivx7uZq$Y!te&OTQo#IW@MPphYPDRenv2`0Q`9auck;Dn+;&; zp;@>bGU!3{sAM!MLj9|^+__^Pyz%Bwr4cM83A1pNoaA`U;Uffq0ywBBRMBIAx)TUE z+{K$d8#oi}m_2toK#`j<3o6WXw`0c-R|WJwp_BxpJ7ti`S+3fa7)-j*X`EQMnUpclcL|pz_E};KrepTyRv1Hzjh z?)&!b+i>mLbuP4|(9nc5v`;1LJKJUjxFZ#hXckiJAqvkU${Yq$N=OC^9;1jI z3qs>M$rVTTnHx1XhakmTJ=xar0EsWUXd~=_{(kyP6hRUvPw4;U@r4sz-(wAu|<=W-!}CMs~aC+F;Q;H#5t0i^aD4$jkvQ z%F-;zv`Ef8Mjkb@&0@B_GLa%U*B5chpdv4Vjba-bmg4LSaq}dh8KqD*#l;|2=a`QX zeV)@AGMqngFuJD|-k{4JGr+^@XFvX-DCWl83U;2~yBWhc?n` zX;(7uTPGS4qyyBTMw+xV8tSgY^n->pU3I!wMv67L5;@&^ZM&)_Sv{k%2#vDN@De5H zb4vES;`g(2N+2{@KPS_PB6R4yMYh7j<{KN0g_OPK3r3v_&xci;v;-2;p2*Qgn}g^Y z13Y$|6yY`Rrt8P|AJQAJfy3{?22F*YSWM%6Mc1%8r`N7upzd+!n*ZTq$zuyyM; z7#oVL5SA3u)Pr`wI2d=H5H%&%68fj`Hw@atW^d;$K?-~CtcC*S^e@ci@t03LbdaTpjFpntnPJ_XZNfrd^C zNS~M`cZFaUZdlaK&diwyHu9)3<`jhiq9ghcIv$hKf$S!-p=UNl};t zhR8O=y3G7|lN)NXo=IyT+qjeQWRuYo@TaCRg1GuKj-0#uyO@J4VnP)~Ch-CeLP=3h zAANq{BuaH-pbFk zrl*^^>evYIxy#L%#X1)*Tt?^-SU?sMAx+K-a=#IsNWV|$5msD=!kiz<=o17p@~*so z??tOtd5eo3a*!Yp80kPgJv7C@b06hAD8j~04MDt^wONH6XDmgh7MPUaruRDDXOX%0 zWmN>nlJC8wg_;%H($vJ#(RoTk;O#j>TEW6xRkSe*hm!!bt3+g%=mwD~Go|yH&eNfk zX;4y+u%NZHs-Un0N9LBB1CLH^a7~bO(uVNg?HV--SNNBlqKJiBkzWHj(^PyAU%H3R zJt4Z)@i$3iD}Ly*ejr~P(?V0oqc5{mlN7|De0Z4v70R6z-gzN0=Y_mi0o*WC?0HN= zX)1{#<>i2zD8eqfg$kr`8;PmMeFg`IxphQ=zRWE5%o)YEbcA!eg(;(%t`=r$1IMwyC zxF!S1)oQB6snma0u`$uw04Aqy!^MkdVfUVUO)tXFQBoO*HIZ2yA9L{>>XSpWq?W_r z#v}W#tAAkCIBo0c?)lA;u-489a7kXx9rmb*d@8*I9K~$7-QX29t2l}0NawuvMsO*}s2(8d7La>GfM5vHT zH(oBr-3AK59C{T&Q2Kzv2rUuOvHx#jR0yfcfi;F5I?h(J3wG|f7fziyK|eDwaU1^d z4}TB7{U_gm`yV&}pZUxeVB^M3gw)M;I8Z~yJox%303z!-EIz52=z_7aTT}#~PcR<) z+}xb`>^5Z6l#)V@FF1rZ7e_@=81=$LKY}!B3R~tNCo4*Ivr<7+5?(kJK?N8}tyC38 z#T&$Z)%3mY-X7sscCs(`9b9LneMCb~l)j*-pgB$i=0Iz+(?!K@(~uyId8Ty21#ux+ z1PdDB01u}jGRrysJo8miH^0EKW!(RmH0YRi?^N(t1C}_SG4klO( ziq;8A*#J8qQHtlJNIc~Gxlo6VB{Aq+$T#R&pa7xj`+E9%O^}G_qwd{>@RPA%MGW? zQKro<}+y}&lOC*wxw#6t z=%)SG_CA;P7|YOVHP^MeM*iX8;EI2^e(jd>nWrB=K0Pz>;^^4buYcz|-#7$prn&sJ z{Iy&_|NrsT)z$y-?CdmKXcY}xR&3O*X=RC%xUdT!S+T~(qOjr@s(yl5_+B}ME zN|;F!gsCuV2SKi!sAGv!k>l!eAO@r?`YU~C3!ynBjl?NrrP+dKKk)_lx#zzOuf6dS z9D3(fT2Zm^di(7+;PBx?uxIx^`1JFigB?3|Qfw=8hJ%btdtmeC4U|@g=Vf|onhIt@ zeHPgTpuZ}La3e%srUqi*F(`ta`EFUIoyV0@Y{yLHU{0`Dv&jacqBuj~1TiF}+R!W( z_1U?IDf2Hy#HNMbJbeZZ18FoFmFD6)iw0wKvA7oQk<4WR(McM!C$;60NrZ6EV_eAF zlz8QuVqJu(HcpR{g-yZBZZzA@C@LntB^MfCH;Rb>Re6k9kg zg2^3(rXU^RM$6wD@+Zldnh;p3^tYm$Aem14j`xY8`<@crh{yBko5 z+XutLYd8wJ`aGSI3n5GqM9K#v$e9bOXr(&2Xwg|JLgjqD^Eh6jtRXjCQC(|55opl^ zxMqxwPCFl|tD<$^#;`sNqm5Sh28Bvn4B}Fh^v%Auc2&+zSRX<_LHxoTdGA zMHUy~1Tx$8XUjHoanX@|3^gBi^-qu9slh^~3R^p9J!>Sp-xe1atk9zvbh)NvM<~4s ze*QKIO_f*OMa>vKhiKLL{>kI?Yj9wYis>zzx5BDbs{|~`9O>vNU1_PqMJ-D^83ikf z2vn^lmA+%^UZJi!oJ@%SLmJ156)WMwC8kAm2&`xr6{D8m;@vi!`qTEBT6$rsC&lVC z%!jLh6IKSOS<(eZH&dT=mlDGhsp`HtckV;V0KoIc%7|Sz zYg|M%wa#-9%arP?pa@)QqOFt{yrP*AFAnSInExl-Y z@yDL4Hj;PX(A%%U#3UohC*D5_CqH-(wr$-(9O*|7J`P>2Zr+rp+VH^#v$T=nNO@kk z#kApRdfgn;J9?^OoBqD!(X`qZDUuj1d?HE0Rj^H`XsA~-Bb<#!Mmsu!G6grL)J-~S zp;6|@TKah@95v0$tL)h^gMXUP;A$ggZ)Q$AWd1a}flxxCBp?#%j>vL@8zJ_jUUV_s z%4QBO93dCp1dq%4h-J)nhLMXd=F2_pvDpJ$LiN?hl?H*-%`AG)eN*{LS^(SEnR{pUj}Qqz|JdJPzgIX6gCCn zYn|iTaZ)rlKbuG1`hUUG5u8V`jqSPUED2Sgl55l=OHTD6r|=x(E^7fLLSRM7-Do{6 znGjiVT@xp&jake(jo?IgR&+T}alKDLbsf3cK;&O1PU!31lER8zVK^yK&lOIW5S8xj zDX6i)znrc<`+LWa(65o<5m>iw1FT=W5!SEY!1kD~DD{G9-+UXoYipV`X-2JsCGH&6 zQrs1wJuSAB)sGAg4#T>&8>#|y1jZ+B^2D;$WqKA!9y#_@Jy%c%sG-t9@!XUfPZbr{ z{iCxu(ySECkt8=tip_g5B_jQJO{S(N;QaYBaNoWMT`FNNiq)M-pHaHz;M#sVL>*?xV-`&;y)ezQvb=AoF@h2a9{H5yKUp;^E;*U?A zI&|dJsZ$Hf<=*nwasmBU_k}>_Lu0pZFg1g?&x&#eHG7~<7p=l@oUWU-BX02HECn)# zD?oQHe06yPP!UsU2%3se3`s6)4xbtIbm?)p*<&$IJXKkgNG#Q1o2^b+3Xd-*175v$ zg$mpaYq!JK{?jMn>WvHVr!V{=(K-;FJbmUvID7UK{Mny>2R`=XC*X-EKTcwtPGXKB ze&HCK5TABw?ipnpT_OU^&9K;~RTTgzep65A95|A)9afR8_NbUC>*-oi63pxj7hYr% zZIL&uT#bD9YRuGy)L2xu3k1nN*c7+__r>KyoAtrI>z}G+|w2(-0Jootd zIn;v3<$Ry;Td1pv@#q88He^0_`E24cVnHb2&|pcHWG;6O^C7=v3O=0W*4VnG9Y|O-DDNoP2SzY72W*&g<3+Wh7V~vUT~aN zni|Noz$gjsc-quhwdovT@z&QjKT!ie4&F8P-kTs@_EVendkhs$+ z)dD=!HdDiA)a}ElG+K;9_NDg4EI1?;{~al7_zf+JobP2996I-N5)M;3)ROt|8p$SmqS4rH9_o~TtNT7_>@s|C4Spz&@gUa^GEXu4Gy z#g8;_A=?EO6>I8yLzDBy=dHYAbWzRGEhYpU#yjoQsF;({JaIldhWb!}>wKma7n+=! zfT^iT;xzvkU;FQ1^yX!F;rri&D_1YjqJ;(Z3oraJ{PdNV;o*m$fRBCbX|jsKg$fHb z{CvGV-Ow{IKu97L5v8P?JI=}Q&_s`-)KCXGzM9G zS4$Q~fk>lj4FTj-v;dHkEIl?T<6Q{ZtCwxx!2F!O1BmVvS`OkkxGdQcjha1*TyK-7 zF}?%RZ}4*cNN7QV+1`G3Y?t8_;FcSBiD6mp!A&Q(5Kc5`o zonI@K(UMP9#1|!yCIUD*hR}YT5YMXPB?+ZQGfN^0E;47G8YzklUnHsoIq0;y2)R|a z6Ko{)y3zTKLXC;R(ENt8veaTeYM_ho^2?|{@AU@31-pn(usF)#-y^5Hr?=%qs)ZEA zQGBD(awmfn_;NksL_$=ps+bPK8=z#(`I6}{)$8E;q*NCC>}SuNs(yV~UAumIjjeZW zhkJJHvf!ptc)g6ogFK5?(>b29vxAf`{QOL-61SY{b+&A}8-@l)>M>Tb!&09-E!gkBf1EbU|M<(lQN2clHxB(6UU~IL zbnKIp0=y$>FL{3+P8XD@9ivsK|-%rB5QsehoC7O0u3(1|gNy4c%z zk&p*+_-HjnL?=ug6K*)V4G{gMQAi*_E;6(TkCblJB5|dS^fmYeuLZd? zlq6&;oRy#rj-v)+6t%Dc3S+5`zaWdPZhCD(MUk)T3i})&7R;T&yLc$lYI|S|=H|iI zxb$w`dDF28Zca%Ut2YSWeDp7oUOd zu0C5MNFTb`5oZc6G#eOaU;W+U0$cj=c?fqTG!~L#TDZxPl1D?#=hy;_3U!@nm}^at zse_}yauHQP=97j@WeI|4YY2p39VmvyfFEq8P{2o%sE~4z9Fsk>up~qp#Gl(w zACe12D&+mh>7={cq4g!Lt+aOHb2~lnJlP9Fc!T587EUk0_YD`xO{8YYq^LvQ-fa@= z;qfezm^WF|P)L3^qVkt7pNF6P^hd_jL96b0m?Av=ktXR1+H`>~;6heP;X_i_5 zCpU3vbr(#xD+_Ya8SEc{HET9dy5zzFbLqK&Rxw>Nd(_1(yg5y}e!S%6QLv zllf&Qr&_9F$dgqFAsZ43z3JxIwW^4|0Gqemm5c05zN%4SyoY+GCQ4GQoilY40<#lM zAkIHY(l%o-dQn?M33+9yxLd z-h1ybY}&X5o_+Q+u=m~vC@l=#J|-vIY$?^-O`jjp<{B@xdK(H!m}hs2{(%81Ocxf~ zhFX>4VGXWv2qB6eE^nSqDUv-3s!krbG2#0v2UfZ3QIh-&yP>8(jh?2x6oY3m^3QUb%7wQxC8K>y%QYun18-dJBvE=FdQ}%qep_LkRUk z)R3a0_P)AdMzip90WjhPu2TkmO`;~m?6=GJcvW~#P19Z9-#;M8cbl$34N(T4u9=b0 z(m9dX^F=`_MOODGb&n9*K&iA4zNTo+MuO7@iz77&5$_MQjzeCt(kD=)$=9s<_r)CZ zjgB~&!iU!on=?d5&Eq_|q8J?YODV4O%tkBD)CI*)1q$^#7OH@X_o#VS5nB;7;NAsh zFoLWiK1(zW92(UoPxnNPHs1f7pgG5dej`&BqWX*LlqcwWvf~Ceao9vBaW7Hv;zD&E zsJRX7w{3!4TYrOv>0oM?}Kpg(I;X5LyuJ7GiZ~-OqFmGMCT@iuiI>i7#fRq zapc&%aT}~zwGJ*_Ih*Yc-7p~+#K9aoQmVUgBwtJya3@L&OEife;rE=sF}Z0J&>9@n zQAIC_JHN+I941j_OrEB@Q9zy2@I&&|)iJU=`0tyf62S1B zbj0ecueaB@wv;FaIeiKdI20mc`WV`=;fA+Jjun|#OZ18EMlP@fNx;uWg`O6ssWiJU z8(r&2+dED{-q4h0ptOocBRiwW0NSpXCI`ltY=n&hy*W&3Yc+{$jDAq@ROrVJ(3pSiUw04MuVXa5jfwdDAFG7IOtHBe4j(B71y~-A3p=es6ntTHpqVwZ* zj>C?^q$6n35+DU3X0~IXsmK)l6w+%j#+k?OZKFRVSdy9;z)gr!-7{Q}cuivLlJPlG zKd@N#g&I;Eu#iU=6e|89+b2@YxFD^i1iTdHxS@psdsTNzPVd7)a$sPPinvZ$y$`u( zFg=Or4xQ5OUC)WtYpOy;vjkJ&np*!UX)B~!jJJld1RqPS*FnQLjM`F4Vj@#z(7A^B z%&{s&`=PhlT|K)@qd);Ao->RhZ#DuItLz^x!93N^U;-h`d0j((22~$G_mrGFZ}pd5 zUcd@XKIf%4zK9K;Aeq7WDQlCtNHi6;knC=CSI=)Z|2O%Tw`Gk_LT6c|W5CF5ET|_Z zy2;Y;=&`rq@Vh@Fr1;*w55N;oe1gJT)~?+E!6CmM166kkoIjEVQa?pKT!v$FJ6~p)8Kp_0(u>DTnVQo3=3!zzL3pQM~kEf~*6mSxs7{~#5FWViF&obnDpoO6sIf zZ0kcCeq{7ioj*YNpjs>^iJX?vdQz1(F7`NLCkv;N5F~U4iGswa)fb5won4&zvevK* z@pH{SrU53Wrf4I3>WMGFx^=7I(v=V4Pha?>s(?O2i1)Q?SKyo9`~&#zcfSSu_dg0x zKm8nR*tn5i4ATv9)5DO1!NEbI4Jf~o1VG%h2+D=1{~)~=ipk~>sYX;!c)UKW!eVYg zQ}Y@ot_;pHNn>u4#?o3^7)Y|BIxZAB8r*h>!h}&Q7Id6c=R$$#ZKuPdVk{Pr;(-Nf zxlrcUBW`D-jYa1-;ke z;w=3;79V}RD~Te(R*+HNA~BMuzSUSrHgc+DG}nS$*qDe+yy26xh*S|5zqpI7ca9Bt z@+K==(Bc(Lkl3t>PkshFbPjv_`ltxT`)Rf+GI83Z1!!=M5;kfkyruJ_R31l2P{#)E zUZZ1s$WBBIQaDaMBt!i*K&c24?4w5eF`73#BHmaib8LBonqfRI*d#DA%^dPJA>$3A zn6PU}A5EUn&Ewr8Z;{V59?o4`cfi4ipMXameG=BLUdQL&VBZWNboXE=)gm8f^?t*H zE2)4+*CTWaL1ety>|0WX=g%12L^K)r?+eSEcB!bb{&NBkNTiHp8~q|U!EUM*oIX?q zfX@x?aW}`V!_}*o4TVsSg7Ru5wJn1aRA z+qx+Yx<~1K&`}CmFkFZ$h=LKNAm`0iYjCjD`a<>hUl<-4iR;#EJUjQu)OW`wZhiOg z;a6TA9UYxsE+3b_{$3W)_uv22aP{DBnVO!I&A*e^35(RuqtQY_CeVq4HfQi-RvFhK z+ElhP`e5Vm=*Hb_fkz`>5wMYRUJz+BoOcUQj2T6Z&R$GW&LqM{jrU&ao$S$(kicx_ zn6DUXX;!LuN5uHzg{#$qIRyXYH~t5>cH;tk`@6pnXU={=$AY#}ufP5ic<1e(!LD8R z!gHVcxoR=Jn_dgKh%+-BzdN#Ggo@0yYgSjEu|wws75^vSKSe@BJjVWkKIp58Zrp$| zi~<~wZ)wbVu*hLjT1&!Q=GK<##~aHWs*)tRPoY#Fnv&e>m!%r4FYykR`RyrBXn40|3P~x?n0FnRo|%@U!Y27kEKnG7hM$N20; z$c_!_V_vE*AzI*!v3K>cjmbFwbxtg<0nBp`@|o!vM1We@tcjcIh3P4B2O&*I{{U0P zP@htLhE`Vxx;i~DSI*LNihqyaL&!TOR90)`xpSw;8~K}m{0CG_KYs8jc;t~MV8zHv z@SaM|?&@_X7sSPc8>J2F?}D{!FTkbCr&)Jk%|qslOK(#%DTEro7-~t2wuhy9MtNHL z0!#EU$rb6I&QarETNF26!(+$Z<^mdE3C^33C%D8|)g=TIORDu}GJDp-MXzUM+tDtT z?BhzQ(tTK+KbZQFQE3+BIvs~J`JDB@e&GJ~Q$7s}wiMMqwxiW*{np^{%HP_&@viID z9{AGK%+z;IoH+i&)2ELtCn7Ev(0_lvRt}Er>9pG`W@o2lK^C-7L}lP;cAOX&*lRR^ ziLGQukivzda*6vF3PG^4%@2zP)gze~V@8W3bYd{3?6*&0P!BN7`T0FoKOoKgYw3+NXc>`J6yrk^faAM z^wk|093Y-6`z(W7Ky~LR>YlM$REeLjA0H|woG)Tgb1DG0s3)b%_#vPOpy=Ee61WhO zIh_O%QbEY0Uo3q4`g&*;T_mn?N5+uB3Ton7qPViBOT3TEES`}m1Qs9*(hLNkkoW{Qfm#gZ?v4v<7B2|+or`Mq_*Vlp;g7-^Ka92;I^wC2QShV&GeT1ZjzNgC++ z95)_I6r^n4@@59bJS4cvrgi`>VNndX3%X!#Fsq&=gFLk@LXiGq0+%6aTYQA ztE)g!lkI{-FLkW1zVXVl<{I8CfU?gsuE#>NDaA{gC|M%V?m;(|f}2?tui^16h!_;l z#>mJD=5kl(3ZIoTXHLTD)9=F{eEoN-wQv_a_`t((@4XL@t4DWLK;!2vMf-r~Z0nYL z;Jp)X+cTnjhb3fss)nzTL!IDZWpPY3k!76@0^q%%!4pJ6s1>PtzRUyM=`3_#z;kfs z+(~Mva9_+E@Olo6(xfb5P?9WjvWlB7q?}v};3h3Xv*RRD_jtw}uwrvnwGmBq&Ug@% zsIUN^Q0GY-XqL~33Wtqi=d3@f&%Ca`zxm7k{e!=}YUS$bgO5J(T8iaQ#&3Pf+TrQyh&VKdx_Z^s=yk#*2rSs`ju4)io76qs*qV?1atY5oDEW#FS{F8Z? zfi~^r7QoVvqjjt+G1r+pEgi6Mr;}{7r8#p%v5O0N*^{olVZOdR@@z{ybpYl3s`Xn@ zi);<*o0cmXvpv#P+N`ofG&MUj2kX|}1)Db91Jl#D;rNG#szvlDor_o%7ayK_A5NV< z2|xVd_u#REPr|{2AA{kM5!#?8CMLN!=MH zuRV`}6OFe~xQ83^ywFp0l!-;(bk$JkrozX`ap-D2sGC_#9>LRpQ~SP{`H-$yDr|(G zvd6L9$pJF|QC&TP6n;nrDraYezZ*z6hNp&HN!pzn@>$nC5Z?JXSA{Dvj45ZDKMYcpYst=Zoh@mzl`jy673rhT)So9?mUm@Z<&&a)@pN_7k zPC|C>z}$rLW5p?$b3*gM@4;pOMZjv^XW~~8PV1D6IQX$NEdXKXL4Phwp0+94 zk5kIiXK*b%0e|!@fDIeAz@v{m2|Mq809LKoz{PTP8gMVcSZ{1N78lv+1Ud3rLuz7e za#PXZ3QyPBW;7YVS-Itjhw__iUj_#FCOlvFqR8m9B0=iQoKgqIZe54b(d)2r<7T=# zwx1Yaoov#Pa?E9>ML`Bg%=6xVl$4u)zLvr5S;+9y3MVM52k!97HMhX8_knFTv`S>v_>n%H7OJihAC%kT6;V zG21ZZ&YDnZiQR_Ov4Y3Yu~b(Z+bAk#7lR;0v4#ei+W;z{6C>%i(Z$R)h1zT9_sW)e zDckQs9myCP7^dQ-uWtwr?*9}#u=jEJ@bnRQ|Mc6{202Zie{5_NzW2hPz>k0YA{>0| zDfrlvA150qJXoSQV61Re7!3{$z`~pq(y?Q-3bMg#b388!u87-9Mckqx4uuKz3X9P7 zp)ERgR}Qk;VOe2HHe9)&DwsHFeBHc)1NbOJv%(X;DvquZ#f!oLCax!bhU$24+_*_d zA8xMrl%ZQl6p^5!af+N5GIda~m{B)Ws9NS`Mw8O%b|Kn9Si%d<6cVImP?M!#brPTR zka@=d*+3@0=D)4yg;Fx3M7t+)py}%GBKpN5a&^u7IdjjIDiU;DtntQ4Qw@W0__g>^ zKW8kG_1Y7UTIe`fG)_%T=S>W|DhjX({rHfa5Q1MEtoG1i($D2)}n zsdSi=F4Qaf7V`*?Cd5h*T_Yfr3Yl1FfK5((OLwA#04{1f3&eu(d9`4~Mhg=`12qHP z(AzV_4H>5Lh0@V3P<-1%jTi;UbV~YuF7y_wW_QY(zq(V3OHHK0ny-nXxY4m=$#Y)3 zqk|JroA0_7N{QU!7|E|*bCzfx1@Ykr`Ug#qKt9+hSks}XCU~#zq%r6z^Hlk+b=II+ ztf>+8x!H{QeiwQgNK>g+ph@nZc6B}QoZ)MA+I;TtenGxHok>T ztDbhAE+(d7;PVos`NG$^di4@~`#WE+{_Wqwy0x20tiEs0e%ORg9IMyEs+H^D>a`0j zQjNLrOBQMEs8s1rM0hD2T{w3a0~%6hefd2ggbZg}0E-L10l0&f&3u1(kJG14!lq4I zBzPy(iem`b2Vd>-z)h2)clMF#gK95wB5(#PbdsWa1m#>?c0&SZ>8N{fE&4lC&m6E7 zYt)!b(=r=9$j(PRH7;$co1A)6oMb|))xEiD8ox3)F!+_vt^K8$g~i1er=};qdHwp; zm*08k)$_|G=W+r4xBaWpD4LH>OpIj%c0#f;m()ur@WIE$5+52Aec(7(HxG46(A9|x zKaJPsMV$Sb<&o5JCNScs32V^>pJ-r&dVy+jOtH0+^hVyqibzRkywF~#iD%G~3HiA= zW-EeFK`b*YuZgN+MkPHhWFbHy6J#4z9+{FqYoHq@ zZ!o|DKzuJOQ0BykJ6JIi%z=RD9aQ)iw8?+w z;6|-Uf+-YDqd0Ow_N-73>b&Bp3n@rpqs|8E1i{ywc>i-;h$Es{h!~NtL&&ZsDdur% z5~LNAAJK-e)yy9tMDv@bi0Zio5zp3d2uZWpfVzF#l!~yQXBG zwYlh#*;a@aMNT0(;=PQ`D5hyr66MSk-DAq7Ry#ek$^(yJLd^6JyLXaN(9G3C{fial zEHWCOgu@(T=D$}fqvZK$fs;&7ot*OnUOV(zRuM0X^7yq%NpCFe_OR>kbPuIm4;B!Y zHc<;9Sn{GT9Fv%P`)8S-hXysgp+_i4p`hoJnqK61FV52MB{`>*9MP@?zCH_RO<3JW zNa4WaMgb@y(@~x~Y(7()X>>>@LJbHtL~XRky8 zVwyP(H0abKWf3{JXV}BF-j*(}RZDpuZet5B-aFM?q-)bk|6>-|BFA*{!(;Ho~oOl7mM)Dj|9K^WOCWj~mj znfT_pbI0E}bLPy%atXRzK>w}!y6?WnR#y+fHX5ymqSjukA8uBn2ciKWGKPPT!mGZ% z#T=O$@)$EfwxRM?Jt}ZRRHhWCfCloZ!AE}khf%H0z|blkt5edLq^&gyUX1Yd)!Q^V z6sxPN2Uf0JLmL!wy%!hf^CG#lGq*-M5#`s=CCFKB8n~cEH@XPmFZ|4yLb!ALL$G_t z0l0YOLwNVSp9oL7q+h2#JOQUpy$_oDSd=zy-V5_>5o2oC zkA-Ta00cw`QLu+##_aTr(Hzt|uwh7Z7Ds{DVkK!5K*o@Y{^50P=*B82ZW*P?ks@zl z!Sn2bO(i%C#Ra1TB05@&5@TM7(WxMb72EL8AU6ZZ^_J0kDb{L*iEH4F#4kfwLgs|) z0H0IplA&1KAV^?{pe9NQviM-fXJ)abpNu5ioRp7`V{F{W`iP1%K*u*TGb_AW9%FOS zt{%f|(S`IJ^-(tTGey@7Btw>iTpLZBq>o&tESLqpCpZzW$VII*hL)&Ql?pfD1x=hVXk)n95En`V5p(s7Ns@v@vxupp^pe9ha7B zu%U%#2=ynaC$EYVi)?vjQ~6B40kKfjd&~lpWGaH^U~YECQWMb{FG!KiQQ{!}*8DTg zq9Kf!d@VEWz$3QYrm#r2%e3E2{o_=D8pEcu1H^l$N$*e7 zfkhTn;`tsP8m4Q7jSLpqQ9uVQwmUL~!A24-6Y(@59cQLmlRr3pEc-@Fifp4%xGpEu z^cvoA<&H1&N_O?K6}&aqXf7zV2`aKnQ|A7H^8(G22z?_$>Z@bDF?tn7$8NxebsNBk zyCCHd-$O-#p-yi$Ac847Wu7{ydx%hOVye>)^ZuAYD~R=I^1^)8GdUypd;(e9Yjb)8jpHmybtPAzz$B?~bt9?3jb@y)X>hAf^1_y_JW6i3y*B^Y~ ziC1rrjs4-JtEXN(b?VejSQa8K7tnvxzgDbRyQkWK`zh{KZJs=*(YZc=phOyt+@j>F zf*y>h<1&Ys5hpYhS*YT|KT0u)Z;-thM_*@`jx4q^N`-jS>Udm{W{L|}L6>?5%UXh| zeo4l#os#Xoa5ULd{bHnKN)YVqHH!~?(;12;H@?bisB<1jISGs4{ANMFI6^$Y*3G+M z$KCtj=GYZ@^PLyr%=zQw8;dV+`O-P~z2E!SuxjNh_{1lkhuwSj!5VbvsE%`Ta+1-h z{$A+r?IL8&nCvij7f~$yH!3VTrNv!)RDc~$7|~`fD3EV;tJ$#4fQ6Z5 zwefX0kVX)h45I}pI^;74bw`OZP>vRb`*EV%pav z&_sQ26|pgg76{pz404gh^oL-hY(=;YBa5!OMR z5`q(N+J;+8e9JT!{CA}OsAhtSHSv?Df~$HzbQn=_D*j=8qq<{}{ zYeC;?)FssTtPP$Z6gBX$LN zqI1uP{T!S=eG=BM-$>61GqHk%RH+UpC-M4J-k|O_ON!K7{7Zzm*p>$IqA?nVYclRg zCrrT;F?3WX>vfV>%KxOvv_S)@tXR*kJK1d{m=$SQ;`kS9)ES4wo1oFw!cbk`^{uY% zFZcBheR}TMByN>=U^_W_E-ThGGRkg6$6&3#`WtE*G~!;i{AE;$6WN$hAW$W zDHIQ-d=S5`oh^E3bQn9b5H_XgV223xuSQW7{zAkJ(JJzaZsv6;Ndc%xH1aG7ak8L>?^`b$BdILXGkQ zho=+^Z{+l9gVbJJ(lA)EpCj;rLlP|^F4G?xnt0eKj3%Kz;94}PMV*f2b=1c;hsnm* z=vsm(79|}@I-oAazClVBbM7V_#tqI~X`FT>wUSCX5z~S*%IKV>f(g=iFGG$xQ!W~z zsKuS5g9;XRAY61j{>e!`UpT5pdIY1=)%^vXeB4IQkOm~r>&=dg3*J&Zv2(n$^4{$= z?0edDtm<}A##|68r;z>%7_33*NchN@zEo{F!Som65cBlwVQ)Pk~e z6`iUIEfeEb--BM&QS9OHvot9hn+3_qO_#KQrsg+fhmW95ffSE8nK3Ox%+c!Y4#!pF z&vcWm;(#TAcEl6jCl6}Dk`dfOigeesB6DF{v!-i0t8sz-J^r(4sicw962t^y@^PTT+aN$_$Ad(zW7q4F# z^K?q@CB9}%7sAF7(*Cn*gCmx?)=8QL}slnsM>DlbujJ+>U6x7zT zLG&)X&rn>=38IVi3y%iZL7X(`)H1U+f^*8qG^6ZVW2Pm!m{xE=x%VC*)}Y>r=Z*;UB=cD?`ei;>D%^MbjHBErom0l(U$M}D zSZ01FWTiGJI!Q$wBW0g@_Bo0XK79BH%vOtfA>32k#D|AgaA7((O{hmfK@*J}NFv;@ zl=4VDkKKaXFdg-Tin)Rc_cG2`?}-~hcU9c>!KXg)3-I`(pN3;6-h`jN@jaNFx+S)D z^YHfDufx0Vz6E>s+y@_j`Z?IX;~tKkt~Qc|i8dVm)$g+xSpw{PF( zji$-yDDrB}nFF9^pQS$0ite&o1y2hoJrJB#ndhY{x`rSe#cD_6Pb?@0}i$OH#$T2%RXF^Ej8tXBGb0jt!D&bKxa-H1;UY#5o1i463G!u&lv@xTY^Xl+0NQZ5~N+|@gAFKtGsFqN}w8FV(Ggmkev8WqsbePbG@_J zs&L{!y#E&@X%B4)(YqL39_Cd%=?YvGI!56aC&zDQT97cyLvrh(j{P$~-@r?~uKKKb zoG&Q1G;n$)6wd94T}OI*2JQJ&cb+1Z;=vy2bC9RE80KUlWx>rYdGU9+iI(Op2}eIS zozAyA`NB+9Y}t=E7^{WDphzf4LSZhdtIC;wvY9OEnkn#nU$a9I?;k@|gN#Kp{ylnq zt34k1lXn*B9>sMHDJ?+yiIS!u9chmE7#f63Gu0VC`5RjZr;2Kqc^V;3Jo>nJ6iMW=@%h*+sEuJA6!hiC88<`BZgY=PfF$~ z#6o?0mXw|mZIZ(KS9aIX=a;FP(LgBmuco4&8g4M8JcQu!Y|-3ElBPSi*=jq~){7K! zmP2sUTyr^bj#&8LtycH?>NDpN=-Rb&FPu1W;_7nQx?Dj2 zb$zv}8-M@A1tXW8lDL&95<^=hUJnW@mRY?H=2TMa#*HkIoGlqP3Dss6 z=U{54DnRC|*X|jB#~*$U9)9Q(aQ6HOc>U1#;q=)Pz(UIs-aB>}PMkOjTefV2haP+w z9(nX}D!#G6L3#&nU>Nv;Xfwu$Q;~|tJv&S2vW7G;HybyaK1vwFqK=&!bm7hjaB9RF zkD5@O6wQO#6AW{FauP(c$S5K>`i-C|!7I{JrWVBL0uZn;NL(1{6ha+HklukJON=p} zr*U@Eyswk<9;RYZtlO}$<7-wL-ADzHHK&+r^Fy?2hKj1Z0Te9NwxL8ukS4stQr&MlTS$)-e&9ifQq9DNx2XS#AIjZ8b5FXc3Cw zqJTpl$CoM=6?;c;jwV`UrIZ63)J4P68YRI~E$|ZYS*v>o=IQu`he!BW0`hm~ZCcfo zQTELAv_)U*@hOF(5M;fS;!ML^lwxA{j(*Z2Un|IAan}iBfrtwwBB*7;3Gkb8#qG6dJ_l zQQbZoMWhKIPy?Xn1<6Xh-tjRs=>9+vXi$-=IFI0UZXvo}HOYmnNl5eHqOTB|M~6N( zHgI^%$ek{UF3}cukdBEWQA~>eu5L@p$u-;jT5_&@erZmm#t_gOutoD0x4 zP=oow2k*g#^_z)8lk7gpAvoTF+KOKRm{>p<$%oxUuijf-o(XWtyheGftbc=T+!E8!pjn0t__0~|SXg=m z|L}i*{^EyC5~`8tsX<8XefK>Km#>_M!$)3)4I8!+ayB-016HqI4}CrTgx2B$+f)4+ zzc6fIV&WE!ONRzm(#=2E-v>MI*(c5dV4LINqi?{zJqJvbLO!h3=C*6^*37HYF?GuP zK@GCNzaPCm2A3~hB`dioi^t6D7=2G)&!8Y^L4rKy;rNLo@Zkq%XffHdcPH%Iw;R^2 zTT33q6B85W8{5@vQL#2SI6@meieNbXxM9blJV*T*UjXu6m%!_|-7HZG6a2h0v{~TK zZ&<$-4&47F?A&obo#z{4mks3@AHNMJPacQ2-~Jgj9jjKYBF?BcREQJ9E-Mo($na0dqZh(?njx>QIo+d3MJosx*Q83A0t1AuVFJ zWy&fSs-b?vW)bKXPV-o`O*_bl8f~-|>0NQeivpy!xC7)#I2XuWgi19jnz$vd7mC8R z7umO#{G1WZs(v1eXSGw*B7%|TXjXLOcpO%>$T4Y7Kf$uqfhtBU#bH6cr7AhMak4U(@g3LnSLQ{fV|2Vpr;pO+9xj_=Sh z_4W1Bq(Eb`^}?5(j!eWtb-ntae}Iz`^%`NZjq4+#)TK?-vU5*8xi9!WzV^I=|FdfO zEX6TJayTLq`jB;2^?gLYS&H!K7#K1gLb;(i#yRtOlXIDH z7`6RL-`~!eP(B(mxga#PXl8^=J<%Wwv{XqRr4Vkm8bpm?YC$(`4p=l3r@Lg&-;M;g zV6m*5tQPHBRH!I3i7lEBJD~zkklrNJ6dl3lK%2re0g9aZAcpM8?ULf;Sg`5D_w4WM z6+}JB)Fx$z5Xcb#>EcLsYq^r)oZ`-znKo5(>%k5DR6wKa-}#LALzT*k&z$3ioVjGZ7%ir_;0$ zsVaD_s%ym8u-CK`gyO=|A}OQ%dag~t9a9ZoO?MQQu_mSi*IehokYLX zBkmKpjs*!a`pw_`XD~7{0w+!!hu)rk7#tXczW(a>{vm0OIoJjpHRO8}N4$DX^!>($ zM4R5Eh(9)ggp@by0bZ_ngc?^GY9U$%`a4^~;3Bt|e(9tX_rixBI0#+n>7JaUEv!Yv3kjY1ZE6-R9_T*B24a9I)yyklip%!zVK8gkt z^080PPVzZ-)_oBC{StCo=8{A`<*#K5$N#Ob@XRw`8vd96{J-2YG~B;qcw~5IwTR!- z)oSdi7WsR6db$UH^x{v8H-7de7YWruQxFfYVf?xN{$cpVFMk!@KY6rT>}O?B;RhBe z2*_Q_K9_ab0Ev#utkzaErRHOc+_l80f~FZN<5M?bd=fYCJ{TTa2|xGjufWHj z_yQa|`4+tO&P(LtfnT%L#_{sY--n<4icHaS6N7{V@nZyuiM3JfRElZ)Jbm;zAoLR6j zt)-5o90Wn1T{d!XV!NnlHg1~JlSX?P7#N_R$L57N-%&?5DL0*(W(d)lsDW7q>b2(o zR)6@81ci9YhZY$QbqnkU@kwYZr+R2kH3Q5?sX9584(E zuyYL+M%CI=tp&K&p_5T8Ra7@;D63BhNGdnUuc7oc#v7npCg5aq||q z=boKaA$$zZpFdA&G9x2H@Z^(E!dq{>1;6!M{}sIa(u;8Q+EsY|GoOW3D_6pQ^DqAe z9TTo;zx0bkaPor_@XkAL*>Nh0PlzN5#tYMPlw!$;M~VOfH4T&#z!WJIJ9f8v*)FkU zzxq<>h2Wg=>>9bIl>eMVcJ54g%oRB9b;{AkB-#T99+Ugf(bODG!xjxX!DUT&Dl9}< zdq9n*%!W}qdijTF!c?8OSksl909W2ieWy79E!Al)$wi(!N0WAkQ*i_Mb%8zQXJ@AA z-|+caxpFO>I&}iJZru(;11rSs1w=#Q#G9UTAF`Oy8inZYQRgY`YlN&n0GE);_jGj+ z3^kgqXM1}4pB+gnVeMys@#gI8)C-IA^M7>q!pT>zUcGvAx!heYpu-ox_{D)=`lYXK z+qiMv-qkBt?5b{{9nDr_Z>!a{v!|zPL=7^szj5vwZ;p<^)bs>(rBpmqw=O6_;5g>X zS1;0-RuLZMRHBU)jz3dXNc*v=Uuc!T#t%l3Lmq7NRWT44qLpeLa1u^v%u`+QgH;rW z5`V=)iWi4YF2dve2Kdx-pM_n!?Ul0}ywd0pH8E7k zt|7v~&!hBO`bnnJXy^oF-)k>;vI5%*1*L-MrXJ1KunXpFtN4@|(x-BJ#=hb0QW>217Noz*y5s4P6fEWz9h+?G6hQSFc`OtwrnT z&v)Ow6`pS=4k-7Gf{ZRD=YGz14N=YO!5r_47!dLHZjC zNr}2OKTj@9I0?vZYfBSny-S>n*iLl>UcX;OyeCf{h5ZK(I9E|c=;?%1%`%J zP=k+Cj`4{xn!4P&eUt775`EHh*?_TIqp)JdDh~6K&=~M>_ca7MYfWl{BnyfOc{1a| zoCsJkK6}X81G#VXdUbboudbTnUxi`#)sdBJruOY!cxh&4>buu&ocr^$XU|@MWzXrq zdj<4w|MqVeTZZ?Iti5Y^?aK8lxA*k)>>L>yxw~4-HdG7S#_9pt+Sk{&5hzcj?n!K; zA)ioGn>PWRJ$HdN1Tt{Pggg4ZfX$n?R*PYE^ze{1RLX)2 zZ(V1CHSlN<3%n4$VL=2dfz{(QiieLPqA}(Lp_J}jLsB^HssoMGsvgj$xj|U0vgcG; zhYw~bzgQjniIazDgSv435^UYJ4fgNf2TwftP_+Qw3+K*WhSMKjs5YE=ge&QIQOve> z&03-c;5ZRCBV4e9SK8$&B^T2!j@W(D3VZH3 z09UV_hqn&D45!Z>qft4Yo9oxF!0-S5@4(7cYhdra_rudqJzFhuL(oPV$ILWc7mU=U z2xs!kog=Yj_RH>6MGsp~^;QKqQam`>jibgX5U0VGgN3+QC>pC#&)ND82tAHQ0|63i zHJVKmk&$JUxO_w^fENi3_35;RfU4<-y) z3<})}E=ZATgZEa4IN!dwz0q zTmp1Z06j`!Qft?3gw30_(z&~G^&*A*;2MO8b5GT@H&;{*OHUt74e#Igu)9Ycb;!{K zbHkp@9Vn>d4oyXr2MLC<`{zH?(y|~{1+Lyb%O}+8#$P?}gVlBaVqgEj7e_``&+py! z@VoO1(?=(6-~Pi3SI)dTIyySNTnhiKDWHG5`07{t`k#OP{O1E|NRHxsi!{)8`f`R+D28(;5o+PpZtj_EM?I+&x(R*vDpxM2W~*Ka|>K-X>_r8 z3G1YQiZ{d@n#`jmlsmRfJVG(RRkK0k)|jo77{y9tQ>UUV{9fERb;!-4#ST#tq9AW5 zf(#Ay4lQa*beT93odtRASV#>Hu@5k!*(l&kF1lCk%e)VI;RG(xCMMB}8Z9)ELzXpp zE~D`=BWPYJ?_Lk2i1p4NT9h_gIJWK)+Ea&wXFa_=bc}efk&A&8@SL>QaQ@KA2@gv_ zDLJ&LOqo9$BoPk_ZjB$$feC`13SUvV{+fJ8O*O6!o}cVC_>!(87cjU%A~L8h5foQn z9UB$c$YYI}KUy>zj@BSnkTJ@Xss8-rBsKAw1#cxOoM8b6x<~}cE+&nl#UesN%sD<= zeR9pl&e8?z_Kippq9UvMPo#L@AF!C9Fda$%REm-{m5Ow`bvaw{LCs--k?>%m$y zhi61}k|M#4u(MDtd+J+qp19tqTL}3ui?a-ZAUy@^8_@ZK8W?Fv5V3vs*=J#LYD&Ub z5`6O6XW-?RUWV6Rd!4Q;20>l8c)40HABJE5^{){%4h4}&xxnlEZ~o2iz?m~=={#ex zt^!$g(cxwWpX=)PC^VwL&l~$a6czvjf{tqpITp&=;BDHpg^mv?He2uBMg{D=IhdsbDj6|KO3qmpo8gxSHoIxO(YZy=>W)m%N9_wok zKi1zr{EybG+jx6^VgAKxulVMz@ykCsb?VgRWpw(lzkm+E`m6tS-KmR7$X@nz#msB@K;^k{dWp>B`9a`^^1JTULm zsiX@opyy_SGo3Ho{?14T^6C)PR4-gk2@6hXpIA&J)^E&xR*%bMmS?z$6Drv*8O@BI z=f`$<+JLH~0Ho~6N@pSn_etWAlkxUS+n5kVjS_vVapL%>qH_Jdy$1++B9t3Px7Fvp zcI_H`@4KV0ZrvJq^x%WA?e2}RZQI7Gz`hC}oID2;<5RoYEkvh!@R+^enC8NJK_eQ z=txcg10K7Vj=rR}Y&LGx27uj6>=_AM92U*OEVxt<#Gxf6O*m#dGmfju=MmjSa14#b zh}wb0P|E$}TnA!ZJXlIm4U$%<8+21**g?_hMv)sP$N@og9O%|lNDzdHtH62O^5(9w z)y(+?Yr=`gPtnzp3O7X9@ng?m@J9qeZKZ&VSr|pvIxTrFlrEV#{yPY7o`uc9>>2U6 za7^ExpO7t^I`1w`irb&!J#B_zZRX}c5 zA>C1YMO8$(`NYer$0?a>g%t+R{i@A;0HhWb3$Bij*SvE zNgFy^hh<%Fh$Buz)*^48$LXJ?07B?_UHyEuBjfY}sVC9USEk<~-Hd5ZO6Qn|`}RFR z*XhieQ`H(h&RUG>jd8Dgrz)m#-BWiEyvI2?QCv`}KeHIIQAetlAW*rXNi}Mg7HoPg zPn>)g4(xvvyl=FRtkKyGL|?6EFK51gqBT_jF1SR|Z^d(s`|riYkq~91@k~#Tqn|QO zP!1n`vub+Qz|i0@efH6t*C@mb&(%oPWMJV;Le2Tv>UypwO%6CmrP>q~TsVwtrcHa~ zrmopxC%R=j)rjbt)(Fz1N6UH0^elDW0Y{mP!95pZNttRI0hbeyoa>M_;&Qngjn;~R z{^l=K>+3I6_ww|X&AVQ&is?VSar68OXR#ylQ26rKUugjyKKt3v4*uhR{Lgo+TfJ)g z$f}XOWxI2C^+4`!G+R4+dwW)*#r&NH?rtpkm;FOcTwec+n(y#mQa{)JPVQW!{mjlz z@<<%%2aZFx@BaJX&>JUmQ4uoogQIr!0mYFl7%J_=7bcF$LX|?gZbo++u+UzBK?$X3 z*ytN91eo0x7>%axHRds1=`59^)JnL&(#TFY&?#zb8!9Y7+Hq#*tvkgfdML{ zQ5c3iX$^ui8t^MW~rm9783R=x>5*;2q@F_UB|5-S7_9(n_ z?YZMTT93CE|`)zt^ioRV1Xz5SpZ8CTf10hUsid}c;hKekYAR`l>g)bEE5w;|>d(kQU69QZ{fv9MSwKmncnd5M)xOXn@ZP|C5*uF?gn~qC^9UYM(giDY z&Es6-sXh87?g+ZEvM{kDO-8D@1Jsd7EqtRS<}K2*hR-lg3GkW_AGgio!zj;2Arlpi zy|?>BCuQR9px(rE9MMnmlP|sRSlkPfgWF@bXzKB?Cm)A3YgSR=jGym;2OorY-hLa-UpNovs)9O4gR>*a z?c2BHnPaCD61C#K5d;klCDBEq(2yvRGO&&W5oY-&vf!`6_5|k0D_^-5;O+O(C1N|}z-v&=<;!Q` zR&_o`Mpk5yNs!YhG$Z4zYqD!?|5g!wktquh>we%eA;ROiF?xmQ7y2`3iFo$hhgGw) zt!j+cQ2xNFGsk%XF*`*?^7!N!tX{bmcJF$CoMTk*h<1W0^@~eP0p6e8gw^)(Q%;5r z;OsWD-bmN;T<|-Zl4(5h&s!5(5-ZySzauK67#2^($0r0ABEiSlND5Uu77*ZHCkisG3 zJnCiP6%{i{<9Rue43Dj&8+*RN1+AgX3F2Z}qFTuJs zn+OGDi?L1?1tHp6{f@$@pZ>+0aOh1Ghg601eLLW(PaJ@;(QzuI5z%K9oX-Qs79%GN zok}J}aOguAK-~pW7VTJMYT*PezS9pLp~ek*w%S;bf89gHRP}(v-P`Vk3zt5CcaOaa zm#&;PZsh3AQTWcczX7kj@*{Zoz!TMHc$Ct>@U^fY#=--+glpEWp#o*y`qgyarlzN8 z6o34^lhvZj3l$=6C?>%oj)M<;3ZSPcK=y-m5DZQx8qQZ+qofmPU`b&jD1CHP8Mo1{+DLAjha1tOvkz zL;)RD5uki*PJ4`0C{I(kNOT2pa#6&BsOXr{CMS%@xj8>0w8q!%PyvayhV0-mMAwm$ z0--Q*F6#+ODUS0DItqQp9AlQc50ud;E}7C**fmmHN)~>~<`$U_mZY;)Z(uA)s46qM{A)tj4BeN?boIT~UgNtUzQWJQ@YMPW4eI z5GrDndJ;R?HcW~r6M;%ImK>K-Cvz++VM1)L2&v9 zIp0Z8=^|LsuVE89$uVJX$ZHNY8RR?Ngik*646IqVhQz3N9#JfJ?b>zt{O3MP_s}=K z@l6;T8>43Nz=4P0SAOLe;KGF~@YbQX>Ak-2#m^Bn?dxCvckn;`&;JY28}NOuT)AS; z92aU0Mv`3<(nLoa;jr487owyPR!!evKV3`mqo?~akj3Wg>@?AO2pB0lZb})d*KFFv zsuUdr26KgGaxOUxu9T(PEav1&3aufF)@E&k^tPgkrds3X_S)ncvKkiUE!ZIY(KFp= z9?qXX4J%eWDn)ZW`BK=4=020a1(C@5Qg~3xp|N9Q*WuFTb1YRP74qbq(C~8=~W7 zOHm#3{69e*KuBe$x~E+_!Gzmxl&dP2U>3_D|pY;PC&kTsHp)7SMn8y;py2 z-~GG(_huK(f3x+|Qe>dUfrUHbL&HY`#+jR0E2L{Mb@~Jkyp5ABJZNlBX>%!Cy@5j>v^ZzWGhR?}gQ10` zEM);rqAKT+HzCY{5jH}@LlT=D9vL!X-2qKL;=(gA^?=mC9VaM&!ls2($yx{oQD+B#ZG(B%W~4gVedfiYsMu~3rwz#O8W+h;>$k&}4LjlLjq~u~ z>BDg5{0Rzf!Jir%yZL{y_ohL1CD)nQ$@^XvYTv6+Kw(Fr3R`1GH@chMWK(RBk|>Fk zXbmmN@>pYeevBnegnrnvLvlzXMR*hw4w;Jac;{F$XNH>ANL-q1k={|h~ z0R_~8+V`sW?oH=+GEZjS0_X^FsDA(htVS)b?z=aaFVFcF`qsC8rA5ho;pt3 zw(a2ii&o$2*eWa65y*l{5m(pBu4?KQe}GTCA8c%(f#AM#7(}U*t2~RHobZB`+tlQs z;%&J^uqWwtY36yT%F}UzTS4Z8S0Wb6vM~3=TUd$cE%vANwr&=f;`_k)#-G|+Ykvjs zyl6HQs}l%SX)9i|!3?-Rcs+Yx5(dxg;cS4?;=-b*V#HkDAZ!Z&)mG;cPS~>JKg(4* zc@(Iqy{QABNHXo|A{d{b*N|T3sv&IT*m+>hf>LsH2nhvYOFgCCX5tRXxW+W~;!iKy zic-`vU+uNvmM94QlvtsO4M}1nhe@osD1^-3b( zz4S}};1}rKchAw+zxH(+8=qhYp(9TnrfWBDP>ng*V~k+DqvCt_?p^w)zy06P*uE5EYdQY${z|!hRx0=^3d{+0DwVTq zReo<*j{)KiKDyWGAGkqBj-2wHPs8S;2f=aPgV|SN<)G#|QE*kkJsBGx;mSXF z%Z-gKw6HM49i5K$t<>Jy86xXRN3U=18JslWPT~u35$9UF#9gbCjJU)~`MuZ&iK&9O zBDK^n*F6+a8qvH$-awqC;5x-B^M~L#1u~xI9!TpAT>%|zVddwPcT^IW68?q0022J_ zEw#zwoy5;^Tnh?RNkzh`o9JHReH-jlSE#J|L-TEa{)8j_cLdNEKD_*&4D^j8XP!Mu zTeh_^57wVjsQCc8Q|Xa1;&^0sh#=j=#?UVgz1@3N{PNmvbJlpRiR53I4F) zgbPUJ%x$c)sRd4>O_@r#YJ^2te4xF9fOtV?!JD^&)%@f)W!@Og?`vpiDR?b}5sPCZ3WpE<(O#&GRGRoYhQ>~pJP zv;R%J_|MJH^Cnu5u#(uKElBxu$#@j=H7P`Jt4w(dKTa_#uhPnzndoNHceZV(&W;^S z@wj~bJ-Xg^-fVb_{PWnv-hKD`^xk`K(XO3)=*5qIf_ClN%hv>YHZ!t9O2=2~z(Y+evm<~gp`a*BM|%)uh;q=woXI2!QL2>g0BJiSHYCR6w&_{ar_fSvI9tP6@RiF9n&(pbcAJ7LMd_ZT< zo}=^UKM3vzQG_!8ZU^#Ye&4%yF9LQJ*RYV#9XfDWYiw?|Nt76KPUphT9A%rRDDwor z1!zcr1}+k2+K3k~CG0o4zqjDg>`Y9_uR7 z8)@6!4PA=NQD7_vDJGk6Qs!4E8eC8)+C*F4FF^5;yaV%6JGb}H*!k}~;Y0r@06NRc z>G==O(XGCl^z`Xdbo|sIYH6zv9M;%NGAbM^{X;3qkAUL18bTBYTRi3m)nh=o(vPh| z<0BIMP<>{_tutW<2_Ke6`wtvs*M)`o#au9njzkTi;uosUp^aE_gH`*;XL3~-RKyZj z9k7*yG^{_`I%`nT+4`h*l4oY~XUn>B025i1=%%&uAXOrhMfsaj*--;BTZO=6aMeV+ zu)vi9zq`WQiG}nwvXe(RliIc;cWmEl?#(P;zj%J$ym5#6`i5v<&u%(#(k$#p_nD1t z7XxVs4iRo5PZF;I3#f9bf#w(In3v106V8q+cEqqP;?#GjbJPJRM9XzMqGzzOR-(1_ zW%JsbIMwUq(HH61Q_s`Y8)xap?eol)6W55rp*u7*+)rD#?x1I%eUT0vc*@9MXTzst*xcHO?4cZ4JrZdE4NnT2;j(p0Bu+a+d;*< z5G{&!0nFUIQ69tr*v5{5zC!OUk;rmcoiH(pti!~@&03!os2ZZ7V!>8T9N1fSU=yuT zuH>$R8(sT?3zJ7Hpvk#e%yg?S0mzO7HC}we@~3 zNOZFo5v42=#+(7ra(!;=FcEPSHDv)TIK(Cgg;nP|f_YqHzz9A9SfS-F0#q#rf2lBO z<%O5zx>VKzQCj0-xu+xGLe5o2>@rmlAbldgcIM-}m46fWGmKzoAlb-B+!}<6KeRu`1-BNS8$YklLa00MJ)9H@t>_ z_R*n{JY44Q2R{8 zLR3dBYpqpY3+WH+;?R*r^a}Ea;Zz9~Lr39X(y>xGP!V@_{Ci?MMdENQqF8_!JgP(Y z+I@6F?L-A9Ev8Wji!IZS$38l^0Lj6gJBVzxSho1WIU`|ALZDtOSn#~b9q_UC7o0F1 zFHz3y_+&mmy6Fz5;9g)aG_&!}lj`%20H6)HSj8fON&m+8zDt*{T%+U1kI>QM`>Cb1 zKDRjKOxd-5q#CRrXO^KiR*hB89`5nz`*FmqyyQeaJ3MrcE0ESD!$yEGA6T!`v7<-) z^$K96km~H(8rs`{Q7#cHd|i`GcGJ;Gv*0!&4qeDnUrm!YRVtxElko;mhk$LfeR5>-J{uFM*5X|P2n2D5?eQKK)u)-A)v(cyIc&aJW4HDP7$94S7 zPk!Ej%>hd>QK*_L&-1%wfb^Z)gVfcvg^nECPY0jcOMCWiqtUTRx^ZoQ=H?b`#i4BN zqna99sG+WrIjoCI^L~Qo?ZhIAf(jxv=Ch`u`sLX@S+Fs|^@Ah5Zh&;5P{}dHM-Dzq z2YOD>_`?ydrau@P^b6bl`@{6gD}Q0GtC^`CCr&=YRgT29aMkiMb9_;e#5JnXWN#OEp1B%P*UdUHoS&0^Sax{mO!5Ln;5}^z=HX50$&*o5vN@C!C zk_T6w>zKuMg@usjmrFWx)B$l&lj^Sr>ej?7&C;B(RDwW!cgpdqJvB+@yaRLi864Df zwqSsC4b|3E@TQ4QLz<;IyDafb)jBrB)L~vbaT~0^HaQP?i5SO01K+?DCg!jPpH?2L z6apHQ&H^M+p~5S{G+t>RX$J7@AxJI5<;K~sflh#GF5GW~1|VRW!E8$2g0GMie1$h& zYqiq3aE3TBO~hQD!kI}VwJWSePUI3U5+s2^@FaGe{#hwv!6e)GksYHA4eh*<tA{ttRlPt1^@0t%F8}F}Jj|!0!v+hr$TJ z$ll%isi$YZIRxzGG{UZ~F7~pA0I#yLNL|}o`7rU$_peZEOOvNm;4m11WFo$Byl&*& zGy+vYM_sH(%U$_h(~~sgq`nQ?t+%yw)}AFd{*mOnZ{L3J2d^V)MxgG;p2umhde9La zEC$?>nS{*K#Haiv{t%qEmUAN2s0(iQcok8X$cr_FR%GXF=IMsgb<+`PI@fHEJgnn` zOk}thxz0q6TM@k^)4`!8m=c77@5azF%y(!);9MhpChXl1I9HgD7_${-9KpTHYs>ID z$gmJ$CwH?;zM}?-mkmk_*J%&ewh&`hq6<$T^N#?aD~iQ+;aTBsPEJqIx4!*t7Fs>` z+-d4Lu*-mlO_VcX*LmUKW3jKwPe!Gp)8Y>!G;gGd=zJ4u<3SDIJ~TMOfK9vBus=bY z_p|@t0p1*&n;LvYROv^PfJBhxCxdtK2tmXA{6P$vQyX=-Miu3USE28VBYZt=|Q488f*cj)Z7cj(}OBlO(!AEUO`4qmhn0}e0^@B*J` zJTEvvSYCJFJg>WO6q_7Y$L|vy@RCdYvTiOxm9C@(C{}Tbe7YVERJOw%c+a91PyIL~ zs;jT}JlrI)na6e;*Jqml~;9BEstMCaB|&q;UD^YNPLy9+8%(|lFa-|r-n zDp>zs6?Me?9OO=2@P1bA(5szrwFuD`Xe)`W@?m^VPfziE=BRKS&`RqLjOuU?H*gHR zU0#;?bukX>@SInb*VDkBud1?&L50MROI4VyC}U6YNa2;Hndhu}w+hyylxSvVhUqv< zOV+0x^BrIr<4fk{=FMB_)QM-Q+kj*M<^4SeY1_6gJ71H?_up}5v0i-n-@QU(=DFuW4FTd||hhB)ecV^-&?%sKjpihTK1PLAdsKU74ic&zZq zjZ@sOyCZk_UVz3C>luXhrM+)=$R|id8{#xd-Y;3`M7b2d$j(q_xvq$(TtvkI?Stfl z$Fde+?dO2X@$8&u!(>|GYtoqxW6MU%f#y@BI<=!QTHHRZwOh^zI!25 zI&?3kn~V^(ib6GM6yVJMiSABKb)8>>*)}n?lp;?NNs=5Li*q6($0rU*GxHD}bBHiU zM*8Xa(dT)tmQz0XUV8$We*^%%saUzLTsVQKrh%pIJ-AE%{;x)8@1AaY{v)Sp*RD?5 zR9*QLsIS)#F9SUB&I?~+A zu0M2+&sB!DuC z@)l8D>Q40b`%}M>D~M52TOouq0~_yyf0^3EwsK;X+KHP)QtguP22SQu+9l*AF2;9( z9>OBdd{ayFW`FM)*r=2@(}I}3o7cU6|33ZoD-USv)~$5x#3AbL*-1NgZ=w75CKyP= z!K3Vh5)^NoRn@fy04%Wp2^Bpbx}gJGkHLjGS(kM=YI!RkCmoJXP7EbLn(vVT(u->@ zLc5My8awF4=YEck9sUU2==+cc@7-jJBjv(KKD=<2E;&ExlPAxZjcYf1L&H}W{>u0* zjSUS>=vC&5t_VYT44H*-c5cpAf;VkqcM`N}v8kp`q`^GZqE*?8Lx&usz#AqPkqcoO z-VZbfa2?T_T>Dbt~|8 z)s+AuAFkxQ%cU9?M>y*!S*T#~yJoHl9mTje7`mOp`(lX$Of_@COvT# zNbVvc0B3#80d4E>0MNX!VCiW1y$IQ8tZ$(1Jr*SI+1*Y1_aEYYvD)m1(ou_3MCG|? zYhdl-KNNj%{sM`Eawj{@&j2RRZ zrvys#)p?;yxhQs_P=WSj?K9`i*j%FC{k=5#aEcEox$1xHO)R!zV@pP!wbWVe|IV|UGAr_liCyPS7{=P@yHpBfvR?U+rV!&uhq>B`L~koiXd z(7KSU24I@GPyyFAHV>z-?*#>a)Z;7A8v(W?@pyiR zdOVprEK2#vOk8Vetwi5>{e8N7Z-{2*9!BX-_JshdUw-)$v~%Y^+TVTDTdM`pP?EQ_ zqtG(bS(>XH+crnp0|2WB$ec1d@f#Qe;?xSwthHU7An2^foVAx61Y`l03TxntC5~DV z_*VABY;DFWE32)A9X1!IH;VV ze5gXe39669;wR|afBPoA^=364JAQzU9z8(YKKU%oOwZGm%eU#?-BD-RXWuzn;MLSJ zCvtXn+AIdE6qzx2&Zkrhr1I!Jud~b_B(&oPcu|%+NTEdxwf2&E&qz3|t81Y%r(dR1 z$6um51DEOM?F%$LJHZglg@q76+49B{*X}g{8x>(tN3vDlxv-Jg zPAH@kUk4E`NE%f$C1}EW83(XSVuh!qvXpw?V(mBTkS=FEoY%Q(0cQeKbFEcfA;i)v z%i*^?P##73bTKc26Mym$=WhAYnWH0=BXzs9Sjk$Vi93$td`nB%`>MJL0W@0J4^*RpwxT?!ub0!^>PKjK3zaQxp1$jyztK&UHgFk}w+W?7DQ|H;S!_ z&)(bBG9|BKneuP+=VgkcG?TE=fZpzemsqaG1)nP-WAy21RRV z**T+lqbmohQxzKde67xI92+mjEFaF3Am#)`0lybjED_hmOSSJF_|8NYbm#6)qa|JD zWVnnEJhkGkvThHc(q6Zet|A|7nWya6O>>w6_Z-4kfDtqQWQ|ifHxuQOC7oxsh}hf# z3SBV(Ln>)79f!?R6dv6a@F!t=;%k&FqCgd5%sh(Nf;qf#A;UwEb zptukw9DuUG7Hbg0!eQd! z(`yFZ_qh1!;0a9;sJ82t%#oWnF4J%Q=6}tvfNX(*fngdQ9i_$PCGU_!%2sD>5k6&s zW#Yj(`9o{$sNo@idQ4QetX<*-PQj6gJVi|B=~}`i<~5aqpR(`FMuK-Gp4mxMz0drC zLPr#f*!LoY!H^FxL*XPXJK$U@+XPX*9|fkdZ7NptTFbg57rsW0x(T2yYb0Aax|#y^ z5Z?n**3kvUiP^a+Go~tOa%zm%!$ouWtFLe7J!Zm;FYLeQcCSI5eelcR%AAoGs`ptV{LsXK{ti3+?l4Bqwf8eO`4(VUv^(5aKB=+x=M z)V{gNE}9$FzB+HxpF0t&joy?$L_8S#8Akt&4QXy}nFj6*(}R1{w7j&+6RpJDyN&G? z;=#3kdyTek+2uB{Q27-h)FTyjEt5ZqxSiHTz~O_ z?R8u;HcM^?6{Cba7CIG!P|f+dg6E7%%&oo)wmr{DeoOT3+vn-h#T)e0kzP7_>;S#^ z(Ua!+EYej2q=$zegwP4|I#?`PTRXUlHoq{-0vrE$RcxOas{Gp7cIC#9&U-?a$X)vO_x_57Fao^C#vaf&zwy`f_S@g3r%yj`-p2_J zj={5AS;^Qzfo;1CkQQq@pAhNBxmDC>Ob^)HzL~FNbL;yK(!xPU9CQq*rE4RP{q#S=*{6x7DNvU_Ih$FHE+}e&#i5GkXvcMXw!hj06 z4S?&Zoo$%~)QUGp=GyzQ>3oK@#L;e`=(wO6u{RT&JM9E>a9@b|&v->}&x_9KB5`~@ zcDO0q`Gq)h&&zcl$C(amfaRzzF%YY7Xy8OSR4O?kjzX74HboXLIr>hB%q8EJWj|*L zDsaG^lkk-71o>!p$IlIxZXu3aKs5ufG_sOIl@Ie%2ep43i_Rf622f)YhKLfJ+!Se< ztE(Z+&{xTnqtO(7i(4$o@am{+^BPcDX&qWhC0qF}mw22*tVvlEb`hypD2fC3G&l+c z4{OO1!j^dK3H^=1pS{oMehB3Y!ASFF>z>XV1bb>u z?5H6JP8Egz@SIOnt~1Q5fDT;RSf8Y#YA~)50PoV3^K|~*%d}(H4tBcgdSMH%gQKHk z45sfJFuk_2<~vFva-}3_k-T5DXnmr?kd8XdVb@bGHr!RAbyVS1Q9^FwaIaLab>>rM zCF#@thy*hQFfPS1?bBD|Shp;4^RW9O))D+=4|``NDx!bhL(OYfqibWmzwG_@~)7-}u*Ik)gnC5Yg&MM~kdTEurY@pO2L}*LrcA9uNMmu+O z(}P?gnu@7h3aW_d1>0rk*Oz;`9}cI=BceoL!Ijs z+Ql|!!I=UeD>0)I>hbS=|GRYM$`yM0>C<%NXb&~FHgKCEa9TICkOGV75g{Pu5ATnP z38SyUH}%%FduCBwr<*tXIMCzbm3QcR-=!#UfTGHh_?Iqln-T3pY@mtb1|<|)K;HOY zs|^M7%$uc)WfoU4U6Pm;Vk@3-Hi}vM%6uw*teSjfKO=FV$b9B~;EM)+7HsTR`D=j> z8u(wxI%NJn_rfs_XBq4tp}xLBDz95139v$i0se?y z#X`(L8kNCZJ70%tO6C&fqD?Xuoy3bPMHQFK1+(BU5)L0c7^a!INji4;MRQM9X}~Nb zV-t7%?}UrTw_ksi-ul5Cbo9tcbM42dYs)rDm0cVmjr-PTc92lhg9=aH56h`5!=$v5B zR_AP6Gj*+fmaL}Xni3^8bHQ2=0!pnH`Cx#EYAm++9B5NEa^5P*I8& z4hb%>L^#1hg}`_Q@0V#8rLw=jW#^a6RT=g%SCJ}R=v8R|3lzd{Vv9kxA)A}y%fK@% zR9hXx>hdy6oUFB@J-nnsFL9M!t9dBpBJ71LoB6q(2DgkXxNk^=w~EAtm~+gGM-aD?>-)nw3*Ko^l9C4AqGZM*6C(bEPj@20l4cG|UL z5Bov4wRKSCri$SB6ZJS{y;F~kyw3kyZz%9!c;NjZ*b8ZgBMi3+qAH!90nSC8 z+)*eND;ezL*)gzkua}5`{SoeO4xUFo!YXIprgId@d{xSG6r50r4LoPO z&&8!V`uG3g%hc0-n0@!Vx;C42u!XfH+qZAyIs4$jIE{?lH-8_nn@UW%ianf#f2?y6 z+B!IOMV%olKvsF3BvGzwq#V~ci#@4T)FF~}N=G90sHhMdCdm3&UN74W0oR4LE=u;9 zu)|YYV5_()vrbl+y&G$OQcPGxo3g+^;{!gY5htndR1`(fPk{rz3~N>f#&$fj`^nNg z)l}E=ArQ8Q_a6)~K<>M9mG|v7^?5(P3(CYU2tsr!_7wngePh7mXnDNAarG z0A_SyYHJ#~`+@6UT3)>8T8B^m{M|)_g?Vg_<+4@VO2B~^dvW5H@_w#Gw4&x_=(WFn zjV@olN~g`Dcl1Or)z(!}UdJ6Nd2>fvderARry$tK|FEKzFaDo@NjtZ7)BESYM{j)h zRhpTd@@-VvRFkMhO%4F!)NHFlV!!1UO6Ld>i`gO;m;;{C_Lk|0E17s+Gr(@iMR>Cc zJyAYpl`F!T_U#?Y;smGEwQ`e47-HLRT;+3ghE&_cE7;KZcA9xlXxpGV$6mq^2r`$q zLQpmi&Guob26-{0^NiJwXIieWa zqaU2VL?52NOx-=Z>FH;V(eaZ97)al~HB8s9_tVPi8j0Bu-b1rl49fM5wo+s^LAy6* z-kwUHNak9&A#F)htjExi+#~Sf?B~`?E3~Pqk~*upJXq}P*ku-tIl6Z9JdKVIIqtBn z^1XldZ94zKyJpkfXWqj{*iYIf4w{8EY2Iw$IM6LDEb+6zyIWjX z;@^eVY-3{s^RGdX@E*>otpbs+%8K2Q@&_*;K<8VQ%Gm%a%ca)YBb7H5{XF=~A`2tX2>Gn=B9aSCXNgeN{+GTlYn^=Ev1l)m}RZ$z3D z@)7Dx%Q5Q%s5wiEbNpI(W@0~yfQ^0odg<`tBL+z9Vlm&|?!A^8;oJ0C5LH`W85$TEp#Fh7G(0>^{rz{$!TbS>5ZUt5*|ec5cyRwQf6oxO z13qeFLo-cHk8=kVhn+wdqMYMI*bbwLl5|CALxS&PEUjX?hmKMPgGMQ`{tGe$?3*2Xs4v7?J$Z(?GS?%Wxop}Ti! zd2uNM>A@B=kr1FHiA1A1=fvUX4duDU!gt%bnEKWkrytvR7kF*1>Wu7D0 zKYid5SzdC%9D;yFP?UiK5YO|((%w>dz^|{ePkmCf2mMlc%@a^nq2LdHk{hsW0C8sa z42*#~Gk?b??o-#6opkH=6$ZwGcW=>weMhN(@CF?}@*G_o`_LQ$d+1i*WnQ~rp3v0T z$`-yYO&$FEK@EbnBo3@7P}Nk`^1g-wBD#qXBeGDr%FR)PX6f|)6S({%0_g2~>b^+H zp{IrhM?OC@Gox&(7kQyeNaQIn?LYt|#sZAhN56jGfTNrA{PR!Ko_$@ksk*{*EhBmL zql&}G3h$8^mY9%lzBX|CF5T|yqi??UH#9hW%U8xZ8LOhg5%G&&7$YJ)wDjS9h=II1 zyT||+1Iu%|gt8Fg>qgwz0k5XAA7z^T`Tt=qe$o>iGYf=r>IX}(BAAnHx0ayC;iI;do zzCSudw+AmrLPt$^`fr+zv5$Gu&pr1svmy7gm=iAw#XRinrl)6llZJ0J+Ra6#!#JT| zra3@ib#Qb7ygqgH(TtND)h;sl~0Iyv*zYi^q-*5ZySFT5_5JtfI6jXI>4 z3DrX-%E$PMyPJ&yPgoeFT#Hz)5tXUQ$q7DsdwK2wp43wZg7>=aBvng1X(wfOPq_VmtI)t-dCcd zVj$mI3%=ofKQw6ep#Iw)C=cHqWB`-6;2IrOG6g)#{xLm0!G~)+6WI@2S~}_ONPl#= z)83LScDIO#!H+&D^{D+^_(TvWd11B+ZW~I)w8enrU^&IV6K9RREgphp&yN^_W* zVSUNaP#;~t*+^}zTg)D@jkayuZr09r^S6zfTN@c4oH=uX#+Wm0!1VB4F1q+`o0edz z?2!<&P=5=bi=8fl>qcBqi8DF_g-S*IbEHMXFD^xCWI&k7?GKu3=^BSp$X*;M4U%qyhb{imk@#=eY=Jdzu&cIcA@%f*o z%U9l~-tMOi@SSFxR_sj;_06=rwBUg8yjgdfdEDVzFh^jPfRETi(P`gQS;K%Chcq0_ zP!(q|m=t^n3oJXamlq1_ZcR!bJb}wUB7pvxpZS?F^Wm3YdF88rI6JlaCw;dDKRq`) zt1`+Weg(M{EGul1(VDmo!BB3I72&kJI9VJW=KcAJL)kL{c-dSH}NON z%tlwJ;DvO@wtf7%0LE-twZ7t1>q|TlvMlv4fXRR`1XPLVmZoX=-c9EGa0IK_bXuC) z{HDV1O9e%Mimcbf8(2VNsT}NeZ1uhrtZ5=ko6J>`MTn(Sd*WkJ3qn<#Av&+Y8>{v@ zfNLL5oH0R`GDaR`iZr<6CSAs zrp~P3$nvQ*FBX==m6&I+#*79{_kR6daFP z`50;2)weVXj*OQ|q5GJoQJP_*{MZ#Mz0BD;rb6{#Fdc`u1PX>&v5CbJUIf+WO7lB# zFxb4glYb6rk1L$Qms()W@y3+%NwtSaN3U?z!$d`PY*8e-q5z&1C4K`05V5}Dndd|c z#V3f##G^a);7F?VQo+_y2*et$-5hLCX|8h{CaRuHzsZ8*2Hz*=03sZ8;igN{Z=s<4 z`y}@)h5PG4iE?~Zts=*O%+cj4Y&Zf(u`5q4;nY0P78VyNh6w)u6X)z&N_w-vEw0SG7_4*IB4uC zXlbu5t+CA|^OGU!Ge8-FNjzIr`alKf-fLYiAm&4LxwE5_nwlCM7hZUy&OtW`RdAW# zUhI`nq!VxkW=W{5iVYd39ZpTt#KTDrPq}^j7G1w_)d0RxGtUY)L4>M-^HB zY5QJ9um=qUUISo9;-fp-wo;n`(XbW6A76!zILzK&Ev`QKlh%gB!JMhGj`lI~AbleS z*Bh$MI(sxFl1SxhTG&_C*Hf;Vc6IKi+4*T+%L;`B1N>%aeBuEO4Bp_1XR`r|sJ?IA z(nVXgbkf$YcJsM<1E$X~PJjg}_J^UNyXL>AeTPH3alB5ad&cQxq9dgFV4LqGAcpQrD>`4#%~r+$TA`|vO6bD#My*$VK;q0?-1082Rt zSsUtG`0!a@*Tg^=Nu`SnoSRu=h0YG#H~@Zabi6H`6gj$FdrgyFqZIFPbR+OZ! z<&wH$#wpvW*vRS|H?NzM;`Ure#iD6Z=dAN z=*2fO5^Z@EuqyaXUpbqx)Qcs^i;=)H6h5xJhK^3fnq&jZyj_kf%=qe=b|ESv7PB^a zSX3(*Ko?48!oUe6G54SVb9E~OD}ZN+Nu3pK<->{6QdU|kj)7JRNqH8q;S|lnQFj3u zzxPn3#Ab-r4~wSEwXtus<8LXKHkCQ$J#Ie$_sHlS7CIi@|Fi+h6ZF-ue3LeJw9~0m z#|?85)^(OI=>EoUondaJGGGH$501qH8zL(#V5;=Vn1%2|IiC2Xx`$Svq*|D4jg{ zi~-GUc0(_tx-iWZh`NSab02D1k)BAEB(sY;?&s|6438N&e1KbwiZrU%9LvhS-YKUE zx)Y6yZ`aNt&$T#}4a@O7W>TS!Z2YTW#*hCG6qxY@THD;$v!mLr_W{1OFVVLBxP+6 zoh_Jh&OtT|h!~tTNPPIxfwl8uW1m$_<*?vF zED4$FW8Mb@eE|O8&H`+)=v&$FCA9qyym*lI?cGm%_w~@O9Xnafhr?NHcSbp(qH|uO z$R|3IdyzYIsEC`)HutVz0XK}PsVN4^5WY=K&2VT6x0bIAbz89)Y94pbDePFGgy$J$uw*cYFacX!eh8(GEiWRG&Q zt<|FT7LYMVT5Ri7lxFCClyi<9lnZ%TT%Pl<0m|6&s#$ARml*g}8ZbRQGfDUF4^nMi zJyQ$-rr~?NwF_XngPNM_%zki;PMQZRh{d=< zfEmZEr`7?3$9JL96~hWtS+u$URA4QY&>hIIKW5h1q68|Hh`ZSVqtXk1l>?_JBHe#5 zXt2c&`tai0bo%6r^zAqPiaz(*e?(WVy-&}b`M5cZ-RF6SVjU@aNW!5D^8$Mu-U|+= z>s*wo^x{h39D5jsb!3gxBdOfs273haug&)$ofqS$%6u;hi<``AFD@_ec*DUBdpGV0 zs?_+meebp)%J-_AO+10i|B(P%)~bK-%b)toFMQz(uf6b*Q~&Z#|M0KA^Y#zuXfM%xt^dw2 zee<C)wMe1h7(ZMOlBl{^TrAkWXwu*!OQb&;zhsGef8?`YpbhYp;eXP)^8t(k@K z(v|le<_eWkw4v@Bkkr<)g*KT}n)pG+ZUrIG!A5dh4zU2-U?88x(Z=3>$hw-Oz70*j zrK(+}Sb3L;@EZ6zfLjKt%5Jg{6+jHIury=t!8UV1C|dW86es4?`c9`-P{pFpvIW1z zf(6k4*@c3wHmBv(d0VH>mMrsWg#g#q(ZHN;RnfVR6sb~Ig|=*#`K_TKff-7GjRh$< zv|zHPVlQOA2UbU4``Q@2`)-?AG>_80-o5nGpMHr(?~l`!%YEiqJn+><8@F3&KOf40sl_)#T(Q1B&WEllvlwmd++~3D9;U6_ zxbq?19qDtvwRRD_c<~%vyLOTG?(L;xM^ABVILAYq-#<4y&({K*F5Lf;3v;j@&IK<( z1)x~awnd2QHNeX9;NTC`hx^13JtX z@Wh$kVm2KsJX20EN(}I`Y$Z@(oF}#L2=RNtV_#mfm6@idCd3GA`lmq0_vzE0d^N#D`$QnCbkn5HRB~66AUXP@McoJVbyk&y!&o)qL zO|z3lXRFzu%zK$zD$#nD_)3oju4za{qa^4?TmT7Lt>}XBVK}w-mbvcWTEdczLtirQ z)oraLgMbv{fe*Er^{y5EvX5c53#;dk#?AtPn{3wQ)fL{jAwKSC@8k{v-;)Bm2pwFc zK=?@((WU}Di(FBm;M(X;Fzu|sVCjhU7ecFrg;_HWmY9mcd~5UlaGluO-EF|r7TUe5 zo9*GcyL+gkqk}0>kJHBJ934hPdoleY-?a1;gUG>PZf=Q2?%!kT(ek1>)Zf2Pvomw- z#6sHI_G!14fC5-kU35Zv8>mrZ07v(}LzL}K*@AOo;sI-KR@asTmC<{jE3XB}3*2m1 zWMcAxIUIE7z&AixyV<7zpnV9IfY_*-9L!)s`d&N-LYBg#R)#^;8y_rVcMqamrm%Ol z2=@8v zs)e~`%tu^1_IJ=vF>etbM(prW!+U#uEfRp|ZGf3Mz(Ah^J39yn@$Y&Eq-zb3Mka&A z*mEb)+}m=N&OCw3KOO+he}3z?erx`p|MM^W^(%kzk4@Wj ztSEZbD#ewbz}O&>0Qc%^U#D{)oTraG_Z%H&$BsJbzXvNjomUL2T;d^_g?A_Y-tYf+ z^#A_(m+4!tf1T#nW~jNP-CWB)YHev_9`^9PekS09JfCs;RfCzF+iA!4-Lzxpc5}@W zM2~gL)7-Ad-=@YkGZ}WUa@LC_C?p19Q!2BPHnNK1_gdjYOl&1Q%h}Jt@0Wq8tB{vd zp>Q{!a|#4lzCYG)?%SkUn5JlQdenfAWdj_sv5mWUYaQvLsk@}aurwEaMwz!+)4(Z z#G=>H-eorVE?)F*4_skC=|!_?h<)A7n^)=9t*hK}K5_C49Xxo%3OmhxLDdegiI5Tj zluJw#NFolowYOScUa{dnF6D4(ahcnN_WR0F+ue33QWmWiqDo*S26A^rx-y<0&Q;H% zS#&o!0ik{F;-L&4x4h7*i~Wu@405=`W@alQ6gJAajdEdb@_&70|&GiR7<2`)H9 zMX1WgykMc-+3LJzA8_XX!$aA;28tK#4ehiX01mx92kFoYPnmUh2OT_cn7a4$P(x#F z)cv7c1pLO3tk|+rMd4bZ@g8+R-9d7Ftwf^_#+Y(3IMh!!Z{469H?Q&aeBz~_x8vPe zECMV6sDz=NIf1whh$-lT_vE)@$XtinNn2anxZ{K`z+!KFY=oxGTFp*KzJ}zw8Ii4; zb|FEyR{$^kyPa60bMp=wo4DuaFT0aeRtByvWuE?{BI;uQ4YdU$5yM&srh3U91IQaEHSnf+{*J&T77 z7zJ0qsi}=Nn>Ds`^A_4=#!P!hi}~9`&p-DxcdzHno^bBmCHleJZ!!%-#K+S0=7X}T zq=x!hYXPbhA574tww=oYQ+)tzl@n8Jehi%!dunKO95b8|Dy zV_r6Zx6bjGLE~89Iatl(1Y-nMZiq~mR^}N1V-2Z+P6I&L96|t$Ygrh$%)a8-7whYr z7&ybR147$6eBG=!phaTrq1%D(6YdW=x)>I6v$oAXfy+Ne0F6IWQzP$HSJ$NPoqe z&QqV#X1z~c0$c>50V3c_J2yASlWcrq)PVnC113lLzsE-JZ?I*vo6_w3RKAVo7BjTg zrKOD5XL^O%$&1d4t6VbIUIBYMvv?FNAWjQ5j+NW2nXPKVsx9;3C8$hBmT)TdK9t^9 zQ)n&DzZam*g0+J0ECA@1s8`7M9E+gM^;6mC-U6LfYWeqaF|(K znq@92yrjXKKYH+4I?!{HgITWLc%K!{QuTT`IYHn0+pp3)?|hF=o-jcA&=Iaa;Opya z)`0_j(z?1@yO}O5aC@Drhsx3z@cfXPiT6@tz)YRl5CFKrT@$B-M5)kr)Hb2Z`DOTc za8J3Zt9DjowxR|wg$f~F6IF4kBvW)q^kD)S`BcgvaI^PIO#ii3xx_efR#BNxA+zEc zRQu2|g1^obHaDk6uB+voOU?~;;cbz27Dt$>BUXv5R=i&awSbI8sJ=s zZVnDMYmTc8y+hH43gP}LYYXT7J7mo20Osww;<&@&{Gnr8E!#yXiYV0l_onJ94(CXe z@E@%^2Y8ZY7p_A&gHQY1#>dC$D_{AWNS@-rGIt&_rhZ_4S(~^yer}S?D)I7(v&zHo z{q2A9-_k$)hyR6ZiHG1TolD1i6aebzVZ|1xam=|0-q5j|nw+J<{@Zlr`XzS2xNd;* z;NWcrBI5c1fPljr-VcBXDsqX0Q|Z)W%}mw^2_SKad@2*C4oSUKeyzi6v^2LFaMa3c z)70cRgD7Y=`2J|hi_ZDLW5?^n!%?;ylQ{=KgKA=}12!dR@24Jd*oc&ZIa`Zc}+Z?$}Fr?+(zmZ9BPu2dV`2^p3Vp2Hf~KGd)Eu zO|48p#GZw@1b{owmU68I7%%bfhcFO4XM7!%X6!lj4NVM)7|!GO6NcLfZlum9RsL8 zWT4#K*uh+-%_>~pFJc2z104^UBi zGPY)lTA*@`q=S1ZKpyzfyx@bgSXD=ddQUTu#-e}q=2_;!nLEedkHzl$-~Se!J@+>4 z+1o?MkDQ{-TedO)MBoL+6aWUsCB`JcCEiydDYy=R1#l4QVL_}!_1Y}10MV#iTEAFJ ze?S^&1xG6ve5eoZZ$%NJ){HC4_RLpy4kXHpMa45(Hp)Z=A6XmsuDq3F*tCN%Q9?38 zbyV!m@=%Q&#c6GMmHmBf!lMN@XhnkBq9S*Ve07n0hzxmwVGs_9mo`N_Wb*5X)WFE6 zBMJpXK&wX+z9*F#!Mi+pI9UaX{*a*@}#+A2l$o65Ai zqeL@{2~90k(9pvQ=XjBD+F)a?rXBT`K85!`Hcd3Mq&z>@erMu1s0C*$n0T%;E)(M# z?O#bgU1eGf@w$Xc@S3@gJ}J$Gz@Yl=2Y$rewdxDSc3YgXxxBC z0V{*%-=hXF-=V4Lhh7&F1miZ9GIN0>Kl$<}=}-UX|A}_*-bLU4-h1@wSKo98ZD>FW zuIS<1hy0icaMT~@oQsJ7`4Eg_OU|I@Y~H+;Iy$y`QRKtPF}_BzKcmRyX?)@yZSUH{ z-B(K!G2^GEky=|ixU1&7My|u6^ah72r2=h|C~|!X6r@M2VO7M777(4|!$gG#No}OZ z3zAe^<#x{%9n-d!F6Ww~0@Z{mZJ`HMW$whfF3<96pem9I6rR-4*QN}hZEo(Mt2fTlkwZ_@*I)Y* z{n9V|2EF#iU($d6%m0)BvOrD0u3S4uA9?m=4z&Tb1epNXTjmyQr5LnH&^FF~@Ful2 zchc2s7ukOG>h%xI_n$NexJ#U1dH=yZ_8Gs?cZIfW*=F|qF@7DklB=oVJrP}QP%QwA zv7WzK2=#Fc6QVsta1JweFTva2ZLpo{||z8`o6_Xj{6 zA8l5I1{$t`I zG5x9A314iwS|V`j zhKknxAro4F;za;lFKfdVMXQP^)AMKTYrK8-n{?#hGqh?Jh#NO=(w;qgSgnnOLx>Jh zk-mAOkAY$0ys7#Ano~Cx3M@1TOX0<|qLMhO|KC+$EHzoL_I|JeOtDk^`X7DwK@NG-WCW4hPr_8X6lJ z#3A`G70z=M<{*v>jWtAdRhkeyy0UKOrB*(UTR6wsxiTo{WTK+*oj716#KYTXi?(b< zu_B@j5FczZ17a(SDUC1I(zkAIqT0%o>MB>Mq5vva!e3unSLSCk_^8szbfvk+1!}7= z@gYWRELYYvjm{=!tw^|%87iO~fC|Pf_|gz_p8 zkAH#_1oH<{dIW3xo%;H2(7pTjXx0ETdwAD=uH!m6 zL<(y>e0a@kAx)I2WNFIl&4B}l=>PuW|HbR${K67_^kdJ``S-8W!-*+A+$#qvZC611 zgCzTvCz}>n#DjnyoPi? zk!puA>p9$!J|l=Koh@q&{we5$xJ$d1vS=J*AD|K);pWy>GfpvHml;?p=bc~RLQ^rS zzia05V!uX38(3p>V#M6r9cDaTqT@%OGl2FUm3xo!xJR{G4nQ2I?GEpimDOC$E;6lc zoyQ1QgzFplXV@8Iah}6W&@ljY0zei(c*R^ND#xhwHa4`HF@4Jb>upReZ8Tp;MY_GC zi(|DrH*e#EDySJ46AcC+&&*ES%JGV=C}X}?qta~Nx3zd(EOWw=U;!l_8+gT ztUUJXXlH!k&;B{R@R673qc47vmKN6N;lqbc#6>O|w_saXt|f))7b8Gd-(cr>clnRy#AOIk`vP!e>FMPIHzs{F!zr+-HEN(;Qe!TGqtVcGP%|l$Addp68=49 zYx{)FHp{#q4&RbEAsGABCY8L&%I_tg_((afp4jX$ug?75`=k9_wFYSH>+3U%&~4gd zHt7?mj?saGz0}j&ZN|)i`Pv<`z|Q#RjC+OqSY5q?4=<>Sh?_v>zQ;0goX{%r{D>S- z{f1?2leBjGM1~Y##SUhRok#u1Xv` zc8UX9P+7)3hxk=HPu=F`7MHk}a+S8NwS~bTx)-2)%+5^ny~ARtT@oA9JN$+kQu6%4 zQ0&(nuonTQt-MP3N#;5nB6v-`ivjtsMJ?}0co#b)a8=lCs^Whuzh7t_5`us+3LOQi zBB-vy+D|MPQGHJ~Cc^15?dqza4{n&vqC!(cl}!OHl`>i@+lpGj0FpHWXqVPf@9&=J z(1=EaGw!Rzv0E?ugaxYDeB^x#ePnFDnl?AC((t5hPtUIuXmPdH0ICu-)M`(4sxWhA zX|3pa!cz-KsI(3X5I4b*X5EFfh;1AM(3{M)q^@(tbC9W6Hg$2WyvkjoAXXHSQ_**F zyhJT=p4X(g8-s%+4r8{eY(1GVx8<-TAesHIH*Jb4n2|EXJv$U5_U!6r3o-y^crbVG z-AA3Bog5I9I0{lOJyUBBNXU7wr%b(=VPEz8_eW@8XwV!kuh7u&0I%7ruHX^gzxFgZP8_KFDx zT`0(G@7inUh4~+-UU(mPzYyHwc~_#EE`^;)1V|eptqvA-aiASNhNh9HZs^F#BT5OD z>bG`XJH5fxLj`vZ4sSAZ0kjhlyX(kV%N~RkB`PMEB+lMXdDk3eJzOP6%z|k%A6IGF zV2N?swR5kzcT?oN;!YZ@4k zgD#4B#+74p2&gxEA1cE2X8dA}!)vaXxmj<1e%Oq4Sfb*9SXsA!|oU0Ko2YYu)t4%=8~GHre?sqi#7 ztTC|f;m(@Z`^rA3(3Km%d{*emylcrQ(WHo(7@ltsi`s|906b7rd(s6tyoprw0Y(ufN}QYbs%k})7*!K3#awj45~7#762 zBeC{pyuc{y)RBp;Q9{gbE27$5iG{Ejy&WBSe8yB13p%iH?%jKcD`c=h6A>A}VBeiv zbi2Qg7sOMiPEv30KI-Y&!%?wUu3Tk-s5n>PcR~2EW%G8n^I^sO$`UVNve^e~DDvSo zF?Ucl2(fyz<01_zMsC;JP>+w;i??pMFsdV7kYVAFNt9IqsAt!aK5xBS-1T0U>fB98u-TTMfG3 zgNjdSe%&41H z;yR&qc3~G6i1`++m=FKWRIJD;1)C&*2Y%=OPot5abJx~gW)60LGUf}-`82QAn(z;Dm>;7x|#s%Y@3)^pvHE9 ziSkwQm?OQpv&&bzW4?9g*3GnM?@sn*$6BFWcaZ}!lFWB7Byyc8X*x>XOJa*W^0cNb zvGfbe^3YLLIvUoMSw2%Z$P9J-r4{5Ac|po|-TRuC2^jZ*SYo&MK%T&&^FU zD23A#^Nm;So`I?}XGwrU#q=sGMzz$zWu~G58`RV^a(5DkW&mguL;#!-{Ij;c%+5{_ z{c(la{JVz#ZKM37pr=`|?V=k;O3PQ#cWR^R=(j&6_vrx#ymt z0|$4ra4>ZqvB3t*ww`%Vn?Zqg9@-N1bv4`uhN8Ewwu##~4;~D&L&AdxBfN>RiGNws zGf%%jKY06ZsaRWQ6SHD?s#NftjsEa;t0dxolrr!O%W>I{J9^4o;z&pQ~(2ANof>TcB5e zP^Nu5GOF98IoRQ)BPAN0Hur1Ij{j2MW&JMQn0V;DrNL&$2?Q2MIjduDEY^LaT+4p6^)Y^K95AqOE?(glT_KwXQ z0}oL5)|+o~yOqbCqfQlgeNdhTfqQ0S?ict#fx{Cxn${jJc321^TXNkarX?gvj)o!W zoNTREVM9Cq>`(tUI&|<5+Zf94m7fbfz{=BpWNj?1muckQ1G>{cU;y$Jx_jmp)GCR(Li_PQz-~iX&vXuj)Vz(9F-E$z^KR2-^%vH#BZmdEO$CYifUZau< zOVN}A!t7kBa4sAbl@$zHQAtLXwz;v5*J6B}XC8ACi(vQn9HM*o2C35=xRBb3v4%q@ zoV@0^Qr*hbx+dm5&pU5rTbaf)LBXQrBHB51*cGpEZ$MwdHQ}1EhBFmpeUXT6^{S&^Ule3_{jRa`;FN3MofZsG$KbX@p8P%rS2`QC`*uB@_!4(MKd z!NUS%&IE9P*{As?MIZhI7ZT+HW7fd;eDdeV51_FkH5IF0ZfR-%t%ZfzpE3h#pP2}? z5@HeN14A}MWZg4^`28>a+b@3icYpT}-g*9oGrumEdBYv`Cp@rMSISxiWX+EpW2wMsx~f8 zvIIyAoouuxs^J*KHo<9)Uj_>UL?@LlMQDxVko6HbjNjPI9`{7VbKtwKE*jvqL`Bd$>Ke>AKE!`V$A;+kz-1a3x=!omHQwG( zHNJA?f&m^^X#4h^bl|{Kw0BRBt)`>WJUh$RgKAV`V?DPM0iwt~V^R8}wTN&Q%qebn z*Hkk#1kN9dLIIkq{jT~dKFAWNU={M>30`)UBgb`i9OEQWE_@>iHglPE-;fkR?@7yR zL*_xUr7Bn|7cc5g94L|IdELKN>!WK^X*Lp6>9Ocf&Mi=DT}BggM1S#(l-ipUx_DEw zP;bvxq7QFZ(1C4h^ug^S9o)W7XwV=rbah>G+8Bn!(rUp8ZlPx=aAKxeLTF(n%XzlD zraeh=ARkoCa{&#cP*rd#tcmXoh?s9xEb2(2=gCkQb#>9!&aGUn#kd9lU>66o_KiC)Bn3|yfv@ojcTd19fo8E5cKMwe$`Xn-D0OtQt| zgw9= zX$;=UK?R4EjYWxA6Bk!mMUIL4_dCDyJJe8b-d9y4?cVhigLg+3j~pyqf~SDyRM!5) zyGTfvs-TJ?iIZ%4p{(_2-4(P@(#jsR5XE6H#QyrQ$m8ygxY)2Ff|%NeYGT!?V3r12tM=}YK-6{lQHPkoSP6b=m6`7vY+S<-knAVnduF%%9c+Re;OnWi!g9Um9 zyn+s~1mRv&J5x0v#DfN@vEi^eWcAao9eZi~;TY2|0GQ#d0+Bx|(kQmz_v3dWLK|~a z!bp%52ur%e1)^Bj8M~LEVvO|zMGb&$RE`-K!v!N<=ZZ7#QzcioR~fgU!p#3J*@Ryd zd@QhDXTS?zXcXJn;?Nu8s!QD%64hz4`llot>SnX25ou!QNsXRJC~++4_36m}Tpe6%`dTX5&U* zvh1qY`0$5szy0C=bM0dLzqoy8;4|an4~tyQa;aRtJ*<@jJGQEKd*GHC-H-fSjFfz~qdeYJ~4!jYQrJcSQrJuetmby`W)wKcSJ#|}Dv>^NPxbct@?zD|R~ z*Xg_8{~B|NUis_4u%|^%1j-_gaqJQic?riN4E?AY-PI&qh0D@3Fd;GV@OqehrBcba zJ#A{z`i3gXM#b}^Rc=%<+S@w3$14_hv8Iz&8zwbc%%FDIzzW-5Ey1$R-115m5aKXl z0AOMk&kC}YX(Sptk7(vL<9i%6gngt_TOCnl+Yu<2luy_rVMrvFDq_CLRTTtojQ5S{5?+l zy7w|idSv9Tz29z8#{B|+nA>0ms31nw+Fe!Ut1_7Y#>7=^ln;&Y40%VDiKD^A9fkSi zT=kydg$tV_3l6vJp%X`6pextUQs12m-kuKhkm2Ee8XD@SHnTw-J$8z^_a2~4RW^JB zAr;J{tEysd92Q9UYm1QHAM!BqR!UsO#ayU`#nI}D0Tj#5zA+0O0}|JqG&oWy?I}iC zmPJ$+<=VFP0JEh%q1sKF7M2lc06IZJODkowL0FEp@Y0z+l-Q~^0uGojFCatwSC!>i zCrmY{wA2!@ts~3d2av=(88H9eyQ6}}F0a%4iss+l+Nh{ulcKxhiUohSMwGcWe5|Ck zGUk|aKFx|N$`JCcr$vuNxPP;%9JMR+*8~w@p;*P&gn6M{XK0O`RMxEH2?d^a=Dgt( zsgR02pH!Azm=WA9ATYy*y}*9Tb4+zZ``6l<)ibB}#PO$jOoMNHVE+MXZELZS+$yRh zOYPBoZgXcFf9~zK&e7|C`vazxSj#*`4@M?wYT{ipw_Z2vU!MWiQ+$ZT{K33iFWHpO z<;4{i^xeCEpT-{8ggywvmzGwzng;(`(Adx(hMFIs)YBTG`Vt&KUY+oMX_sm7HLoZu7C0# z)Zue;j>chi78|)Gu?RA_nj{-KD4}3M?1v3XLS+%=0V`(SEF0k5$#e?_(6duaje!V{ zE4N6uOe|$dM4`+_W?|ie1>vg}0Hf21dp&gb4(;5&hX(K7rmij9nR8uTQ)SjnD;z{P zP(6p2Eb}1`U>&aqK_h+-<_y-LzMrK@SHZDN8rhZX7XJU)%i<*9mG$ zxuUN41TOzQ0qD3IJvKJ>5cI&ueG!A}aetnF{=~5P@JnC%(%*b+ZhGm@E?&5NNP-#? zXAfuRW8!^+#qr|8rE@eec!y4(I!&ieAEC~!7BkRLC0+G=xMDG(s_ISF2tC8bTFC>g z$_z?WR$wSb-S)5n zSqdzsz@?X@NVLimGhf*y1(jQuf{E8HnVi*h>Y$yAaA>P20xYwM z3=NLjjToJ()si`Am&m$a2nfog;$>40rLA0aDtxqqv#2tOwFieURGx$yVbeU5Tnn0g zqti6l0y;lo03f^ghmdPY9e*D@WjwRdq+!9gQ)R-pErnnW%+nH40GjSU9{0s9hVF14~y zjDm7Rn3n~i-y@_Av9m1uAgs&>1?j&tFn(M?=W*bf{h${?f9UWXEnCeGv^R=uCAH3{ zr;^&>DNl+6esE|+`X;EFSSLF-Z{nVjkh-YD~c2V%)=uC9C`(TdRVlKlO16|`<4mq(FaRBHX ze4`YDWdKyWZ)yLGv8H023ndXTJyZcS3IsAfPpcMi+;AnE36Rh6!M0+;{(0rY>&AN?!8@|o|Nk57H& zE8qUPJAFg{F0nVdHaS}xhBsF=EB0GxYA&%T6&o4>y(l~XU z)OFIX)NyJ%PL(ucmy>2?c&}-izNB&E*l`@$R%FSOBH5BSh!aQ?XHwEt|H5`pxT>mw`YF`nI>dgWU@L z@W1|7CpjqC$X^!@LAgODW*SoQ3x?1*7dd-kvny{oH}&o|jj7`UVu z(2h^o$c;}7^K+ur7whY=%ubZEl*-4^JNXY4JP@^vmY_gxuT9TR(B#Y*18F2r-Fw%Y z>DV0)QEz`2oqp{rG(6JhHY9+puYK)V`s){-r=7cRqhog-r{?C38ljz-*E-JUN80a5 zubRK}lq6n*t_8{j`Po zy0y)$A7>9=$T*glsko-#XGvVq9=kOrafz{s^N{}g0_4{N#$I-jeapw>E~Jb6&NTL& zteLgjAJZHe<*s7ic~F7^z!c6zNh#y&5O!?q*SFB%r89g_p@Sj-S^`R}zcTiE97FD$ zLS7TgEC)a}WD?LyFD@@giXVF@*Rk}DB^qWefSdx1b4!a9G#rn;u;9K{v1RHk{~m}y z&K^K`Pemo4ZxlUtSkKBMNjtb8h6f10 zv}w}^+b?yz|5{gfleM?Xteb=0Lar{_zMG&&e4Mp+((D+*lRX|4Kzq& z45X7pTHX~p$YWXY>8TlQqZT-&Z(03TMgCFA7bgRXLhMrWLXhkk=qOA?&5cs}7F8DR zXX;h|I*V4cGSW6o;c^*jtfBt!hkk}`yX_FY>z(i6L5PlyE40^a$X2ewx;kB~qPU;~ zeX$=jQEyn*I;-b305ilktZj``Z7rIGJt;^_3bS^pu#aE}Wn-yeT{OFhlq1zkgYJ%~ z$gRSNHC_c*gI12w(g+Ahwq@xo41$+aU<(CySh7hFiQrNB8}T#Lz@hsKwAy|t!Zi&<=V9@ zC(*F-K;OH2>PD(HKxF&Y+i1tOebhhLZGiMwc@wo= z7(C|Hj&|zmyv(}&yYD_ht!-PJS1nQnp?8LbUtAX-Q?L$2|P^I zatxc#eDlP%HE9 zK-NX^X2?N~69$|vaEB;5!X+iZocoB6||Z+X;Q_sjJ4uYX0D+Kh6}FOdat zk=P%KA9orYqtu^=K+-`DG;8USlWnD<-qoT@TP6VkBA(<0cDbRjeI-e-yjEF>n(RH0 zBB0Z_G&V0lDyq>nTxK0OO;$fw>^!%Wy?iTx{5P@7`90~@06hFVG{l*b9#P=%U>8AK z2*g%O5bU1r-f%wFl5+sLgzbU>i2Z_|v^`1_1&#z_e|Jnu#CaKrI!v$k$Nt5}s ztHnV(21w#(0GhbIrRefr$}*r=!QV&f-`MCd4Y*<1MWG>=hRY1^KrH-S?Tz2B}mO z=MBl1Smv%53VRG);;Zc>!yT+xgkEU%;~xWn=8wl7J27p(eDvv0KmCXGb+!L;Vsi4m zJ=bqk@{PtToDWivq%dI+kgkXL>p%UoemZ^THadRqU3B2kE^1s`PyKx(G&*86UXsGM zTuRvHi|vcx9U2uF(BUSLkdKu0(Bi?lzjF~90$*wuGfYt+3$cIhi`SY()&yA~e=h2fqpoak_XuZiMK57-ptg`}GiC0$7%{0>C z%~T&>^{t64PRvfavSyv!$htHKnbsZ9H|2=-mCD9AgQHz0a$e#$J!HOz{%wQQr-N8V$=OFvz{dWJf# zzNWGldHmkq>(tlR!y4KBw;!fmJ8$FHh37(xac(ZPPA~biC{Qe(^J#p z2w>jV+O_NWTmgtD8scLU4gGZ)^KhbN<-uqpJVZJn*5a=~oj1zV)t6G0`PtTu1v++n zHA|{qJhMo%3!;sN?4o8(Mr(=&P^a*1Hm|u-+U3&*Y>!VTtlf8kCw2f5oe>2eJj{o5 z(PGgt);8=18^+qkwdOo;q>ZgD=G^y~`{umQCDg}d4WSk|*87)-SA=B*X7jG`0$a>| zMwn$ag~8Mm2Kq*55Z>TZGt}2RNZsAndDa557$zN@{55k0kX?ns;l*r4B?xwJo%w`D z8?5xm*Z_52yF^{r+S%O*taVG%Cb<_ZNYo)zXf^>dyj;K!g923i;xGO@{n9V}g4&T5 zXwRPgeC%$$K7K3GA<9YVM1NkUlP6D5OLH@Kpdepz@$_hWM+G+=Xx%!nCdEOtvkb(N z*D70SlV$$28^b_b2Z^!1p}3~N2{8^NeWVt3v96QO6TOhS>o{93>syr>kM(Oe^06mf zi)UwieERD##CeyXzgeR3Hv!?l4FG3DS#$qk4T0Z3egcM zu?q~s9*FB$G|ZJU$XBTVvncxHs%jbRgDoo7QUGwq0?;+1^IciVM3XSRWgX-zI|m#J z+=%QpA4jn}2dQ;DNu|h;ZlJwx678W$R}7xc0M+F*(V3%?rq_zRlJ(RTB4foKR$|~> z>ALIqJ_5j&4ZZ=OMj^oaw|QOw>Z(GqVHGa_BLdJ4NWb&3PV?m_{`5~j`&$M${fBd} zoqu9{Vj`00VY@kMON75I&}S2kF$SFVWt;2k6kjJ6Xno2V>2y z9@j<#B(a#!Oizi_rVu2Z5%Xo-mOU8>Z?mMoN%-<^u z7|bi{Mo|_!I`hN%MN_y8z>;o(>T6W)|^Yit5->KU}lIC=1)^>Aoalww=GV^!n&{4iF zSvMLG5hEkRT%17O;Rgxn)`Nt>&#i0AzxmfcMLT!ykzk@g?~8YffnLOGw=}gmEwHtu z6FxN2*O9IOn|{tEin0KFdV5amw{G(VKj$5;pBT>+cvJ}i>9OjChzPr`%R{yjCXmmN6NrG-rp0O;8a zp^`(saDGY}-;LJ|79Nrl43%Tu#5tUu9p`R*>K%sGt-|GhgaF!pe9!m1%^)Ot#~=T< zr{6s|Fz}I!7ccKOH$-HIC7is2GUpl~deAbRI{h+T>1d}D_nf4Y_aCDpNB2_SjbXal zaYH~uhG8L@s0YwRrG^CoH;vP)k-y;qqVcgjIv_3)s-@bweGf14zxTVp$C>m0^oM?k z0kqXWubc#TD!nYwDTP4GNj0JsvlNb|4MrW6{w)Pzld9)%mDJ_ zc}B&o;PV>+)C)Sa2>YD4Z1B5zJq6h$*mxz2a&a+O5D(sdw*j*Aq7v;xs;Z)@F5wR>*k zVXuAzq~RYPxx`Gdu3NXRg{_SyCPz4Vvbw5P1`a8(VhY0zoc*!FmDDxz@@;B6py+I) zQks|^W$#jWnXheFPe%_uK)3I`n>w$Zqx0?GbDqZe-vgXrV}&jmpHmE$Cm3X-7{GP1VMB`n#ye=Qxenlm zi~?)x)-AMg<3=s;f z_%nR6zwwQ)Gb0UIhyAyC5SaJJx33bf5#SB7htbgy3gg&AJGP!1S7?JNh+{nm7Su*7 z28Ep$vQ3oLoQa4dmqXZOS?Tw-2GK3$ovjwB(P51 z3OGl%kpBH`*yNQ`jPN~qi@=zp?Xd^q+=I15hY7_hx^eJg7Wbfx_tE;gbp}{&kb99F z&FVWJYI7M;V8f>tYmx1G>hTjcTJ8+2O*mS7T_MW8EI~`m`j(d&R4&2>jt2qf_$$^d zu;D14s~LDNG1$b zW}$O2fov+(pq{XM;yPlk029kO9u#DoThTD%eHWBbMv+`ri#zMgvA~*b1^$qtEQ@6x zW-`{Y^hB)kYU`?bz;k136D`e~f~YEXI)6NFA*yUzh0Fhl0kplxzwbSd{mDl@@`=yi zed4ZnPL54Ib@BYgO$>BnYaAb`AFywgi9O9cJ@=KrqI2iZnnm~+ow)B9-T%;0YQJ=i zZH!<`C6;9iI-n-uA*@47r5!D%@tL}UWMXcv!hV32j?Q*|-Y-4(99Q1G{nuT4JhZ0^ z{Ym3E)J?}kfeeJKt}bA0B5gH#n@{WuAaXSA7M<+v)3cD!sP7p$olJA z>=PBF;TU@jN~%7$VihO$b9_h(+U`^zQWt<>eh<|;1Nk%y5+Y*;CR8{FjJb89UGZii$V7_QP0h4w{Y_yO(r_%c*Oz@eRQfP<-+Ax zXxrx9tm`~|_L~Nnt~DUNm9}i&&XM7B^Q{KZjPdd2cAOj3irJw6n*}s>(0k(jL34)z zNay?OI+eay%7T`;9Za&Ur46mHE+6uz%q)Q82JnsZ`L3&5OSkX4hxYBg%K(@zy4djw z_4HiP<1da67cZWn_V#nktlxh7A@hEANGs7i6(`nZGprkgbrZg~Zrxhiv2!~w(l5XK zGP9dR-l_|WZcTL!FXZTaI32o5ZrZz-Xl&i@(Mu%e~CGlQw z-MHBRTBKY8(Lc0D>RA%P!eUijWFyi`PsK9D3XY!WCQ&} zrWm|RL*`g_c6HIm>yY;xfyHQqFQN)D1@pW~_{+Xs+?rja&H>Y!)=q{R7<`rF^yXJQtWH zO&7Fs6vq-f>%BPVT4bNUv9XbU{Qdu$Zrr%e*TJn=(46mx1%CnP7kNdbgRVErL3p;q zJ(e=W!RzqBKasP8v%`Uu`cR@cqQJ5*^TSlum{w^$YI2ecl#)kU!4A?m8xmZQZi_0`TGN@!lNx)Xs8t&p%R@U(K zX&HI)nMv}#9i8H*Mx5-;4Or(R$lc_K?gdzjpfiT!Rx)1_*$BLsp))r3{nC=?m*GwX znO#{E98nxYOJ3GQKKy=>J2cV>6@P7+9pdYi^AXH?!`7~eItj_z!~i=|dpaAdUW{1l z%~wQ{sFiH&iqM4FXDy;Mrks^O+F4_1Q&LuEE0JR0dC=u9FUxCX&*uu!T1%M9vJ5RQ zFK~DYNTWibk`@dOS!>Q4+wIliynq~8Lwk1brZp9fw03>Hxp!+g-8PDfB9~bo36* zf=AZaxTS8-CVa(FZh}6d(0D%fp$0r;C)GH#+F%80 z%%Z^=_bJ%9vTNr60LQW4xZMy{Uad16=>Iwow>NH@cnXK4yW z3EPl>Ewv=${Y98^H}Dxp&N>IIHzl&EVvsD&BKLdtBhCB(n=Hm@kOt@%eG6_ZLj*AI zqc_Mgz3iT#8f&!dWY9-I1BRXejyJY!=gkmoBmh^>jcW`#H??hJOE0wRCe6>_HJT*L zZXv{mSzFsEaj)}p%t+(8)-^Plg|(Oq*0GFe6bR>Sw7uWNDR7?&TF1Jn;Ce$V62)9& zV-s!Lx|go?Hh!*|l|-TRy`Ggx+j|45I` zl`9?8eXZNeAW&45Wpe}Q#&N`Tj!F2Ex?I@S?C`i;--%7c%u=;~l=Fd2VNFf7g!Yu} zz+TF-AAnmcw~#?gVV0u+_BnRh0tel^0A3)yz&XS~AI=@lAzJq~EfACV`}f^W2M!#f zT|0L%GmpPFH0CwRZcx$%N`%d!$PW&?#Ohn6ga*MDkrbd46Vsf?2S#~tV1&B5uF=3i zKW~cI_zN6ZRKWlWYX}Nt4ER8685b+nLt0&&wGhRi9@_f?UWZvqwtn44_QNe$2O;%Z zmn1>~s`;F{$hjccB7o%vf%Y_VmWH~11aoSZaYviHre+TpqLWi&%u4qSb_N=H8$9F( zCU3=j+KNnMqI-|{u}6VBQpSmX6WVEdJ%%|qbQ!p0 zydEoU2g_C-Gk~_Lsu~_>uBmLG`VH%t%@u&UKwZ}_NMas)v{(4~lK}JDd&nml=F^EO z9J~%bQah+g`Fjn20?P_g1nla9DT3jlEJQ`hQVe#83Ut1Z{#ZH2^vo1hv7AA`X_>og zqFd&IyKF65Ne2|QlM%~2N34F%PF@xa-e#IW>WX{Scrzh@AQR28C>G>;D-^sHqAhOm zCRuB(!-oY1?y2}m^RV9sbj79=vP)DU;`x=PrghX%yMbEUnkg-rwYsU1 zN=q5P-<%~_aE-enCYHVx4>`xQ8s+`%0-){3Pyh6LA^iNAKmYS*|76RSEg!jhwd<|J zgF`jeS%8P4lT^W5rUvaY-3oU2e|)N!PM_IF4?T1rJ@K}O>A=A~^o7qq#|{mt+ic9m z%+_p0DwrE!*?^I>B#*-jMkHVW%p>e;a1q~s@)53npLzDrXkh3@uqlK#Qw67e73Mk8 z*w)yAJAg8)W0cQ=+XOOA>WiY-4LrjB4EiN#wF|26Wp|8nsw|vyqE3du=u7Q zgu1&ssJB;uG#Ea}A;83ffrVK=7Oy1H=QIBnOzLLyyRbf*m>lNUhZdp)vt*9RBqx9N z$2b(fXQ2>YHU6F*683Ycv_M0{Jsc4W2B@)q13moE_b^L!@$$=@ayUOf;}-kz@lpE9 zSDv9)U-@eTr0=FJTek5ux!BcZ)Zf?7QPbjmow9oehEnaOA$(eaH=VJuF^Sf0T+8iS zbRd=!@g~LM&f(FJgXk~~58;^KnVX$+=TS89Y2bSvO#P?A!t>^z2z#}N=UD)?KuW(_ zVz4|hImzc>ib3-<0|6Xk$W1nGY@?%h+{LUiqIv0nVU!Oe#Krs6~(?4 z8>VQ)p*xOSEo8G@T3j~Ac-#QUDIVhMHXymH>pJ!H+%V^A(Y)SCj&)~nYwv$jowv1< zq)1|d%{_u^3tCbf1F&k?OygiM*^R}Tu*|MAnV$b@zF$xvVfJEWL9r4f`*ni2 z%Zfq__h7ZTwj{E>%B)edrpW1G`5yopKr{9d>}&AxX13RWPyo<|hDIh4He=4`;;Zym z&wnm=ob74xy8hTXmRR>2Veze=InJ~D6r@b5EeBtxu|I`2%K%Bk*oVbkf;ng@fFLhg+wOST*S4r>vH#VGvs8J+dWaDpiS;?&(@^IjNSi?VQ-FPFHM0 zhp!;A0O(7J)4p@ggsR^o4Y88Fsm$jF&LNP=EH2N>P@{&eU{Aq$!f|P=U(4R`_%O`S#LnP8qbnU3=vwzx z*1NvpP50Bk{J=k>bLZOWlb`$)4`PXhTFlHCNBioggUXg~{&G<_hJ-IXT=ZA2o~MPm zIkCJcRyd0`D<`lL1^&BQw6U+UYILm=2(!3R(ff)jj*`@ zG?$I0`bN@GWrC_#4A%-OB}g@Oi(C}>%3(&4ZdhA5W^75=XdguzvGKnJ9{l$-a)UZ{ zVM%NYG+1a8wSdZ;4V+94;r9+fcEc)L}inC?)4m^+ z$1HNMFHw0KHvS6M5hvVn$V}mYYZYM)_-cVm5_rHu7Y)}M94pLXn2nHwO)zlGX>3tA z!ANRG?|nezzKp#ULf{bK@wB&?uuPrTRm=ZU4Z4W~AZdZLb>_kUq-&Ph##f%1baISv zUL?v7Td#<+&Vp2#5K2=Z9&pauS;lS*y!K)pE*AV+9jRQ!Nw6}f2lfT8x23f8uC*(R zR}>ev@X74`4h93D+{yv6#3$~NB^#H+ap<6-*n)Je*?hK`YpBWGOOSX~a(03o!_soX z8vIb280meT1pzfKT!x9C#1$-dw#eztql~=9&0mS`UQPWh341A{TVu{aLA~fXt0A^2 zsnUt8(EYbU9WVq?%U)J0NfKwO)^7Hgr|NjZ9e|)fwf8QE-l%;lX-Ct^I$(LrgL>6E zH&Usy6k^{B{WzFtx9&$pS2*))DvM1Xx|gucTU?TW7BJG#y;qrHc*BM^I&|nT-MG<9 z_ug|aO-(M)hUO;1!#cMf6r{DmUKtmhUeihE%&#sjF42^^hQ`N+Ir<#y{W441n9MVW zusok6$;V%M>91Z`h0EWj0NQ@M``wS8F<&0|+@C-D?(^raJk{Rbv2$4$3z;>Ha_u9o zS6OFNri<<8IFatyv3pq`{ck_?LHg3OU!%Wz_8A^7BHJ>KxEHQd)oA}L<%Yj7)jBxX zEB?8#z~cn7f)juV`&wWFbZnQH{>8>&J*L^%y&%bFmc6j<1Cd4xLl>1MR?{eHX=~P0 z@r_mkOEq)jiC?uWY}n*ERn9y|MHDd2uD#^7g4Qa>>U8bRZ3lk1WfjiwN0}~InJ~KQ z`)pa^u#y+{MkOO!^|B^b7a`eD%T71$yi1){TNh$GjFd`CTx`+=wr69^(^^v2aL!6ifNdPt*3_8NS1)v5Xhto9e z5LYB^`IhEQ3bA_jKEyqqN&>l0Cg0bo#Zg8KB+o_FXU@U0qkqX9w$~kKA#LEdqJ6+gxi%DFl#( z*XddVSh2`*!Gn#udX0HM(*~%S_q(vb)_<+7Ep*SlCz)xkudAik&YhP{Douk8QuKuk zloLrp1d|Ns6VWP9aZ$3Yk>+4p+BR)5o5o24ln>JWefwF0(cIEvuK!BM1`2yiZn)2p zS+s(63}y{{0ht9J%3-UYc%GoIzmGaPIt^I9MwibVKD9}jbQId$t;#0@puVq#`<+d%f&$dVd1Lc6Nvh~p30%&b+ z+s43QVsezN=fFh5H3-+alV|9xLk^U>L{RS{l4GOw-_Z)M`Y5;uvp^%9DT5zJAs9{h z{@J``YhEG~o)0^)5sVf`(Ji#Up=Y*Re*(=Dg*Jk=(6<`-DgHhuPnvZZ>>=1cW=JVu zCSx1yk>)Kc)f$rm?Q|g$Cj+J1-FsM>j+i+cL%qLaave9U9i?QM?>VrTC{$4tK{oid zC%%_neCf;VhEi9zj?Z;5uHhPgq1^AHi!{x31Z&!Odnp z-a&_t9O6Rg$dQ8vFwdK{qmj05-pB7@{rY-MCG-OYnVofrWL^qK5<`_3lE%yzIv0?( zK?0JpRbA067iRZPO1-7!#Y^*xbEjr!CSDqy7(8dz|Z-3;!fANbi zJlE9R^dmjjdw=YD_w}tMjoG#F);x%$jubovZf-(z(a_gk_!6DFaF*^nagrXm|0Eqh zeiwcI^Uu%=U;nyqn^)RJdNCMCi`+(xMGMs@7GG4D0=7N-jMsr1u2@l2*N+Om!MLg} z7S+7G;A9)9+EWW48K|bBC)7!B{5x!()it%;dPDoVs8h-|s#Q{rV%D7U!V$-Q7)nN+ zy}7%ULMYZr-Nu=@J&7Mzt8fo!tz1IBTFql-B^XhpX;?D&=d`7%593gd#Yr_%Wh@ww z2b#IWX|+|(k);aSR{$af_!uI^g8JB7-$8Ay8|lkm{W4v?@)~Vw+hI19Cc4pkgEt&3 zieRE-1C>IC&jsRjF)a?jpB9}12c8e%64TQYJn4^ibycOXdjLmR5Fu+w1L_>Q>!zkQ zTD!K);S@+1#Q6iz<>D -yJ#)(ywHmY)KEl$^HQ4^+i&u#E>VXD7|V+{p2>JGbrU zaF&6=Yt(V=ya7}fd_o-L8~r^rFmS_cs2ge5?tN_4#(F$>r>7-qZeGtV!5HWmXL4IlW}iigZ52*~$dJ95!>Z3v_#=ZB7QrFVWS`PC9?? zEOqyEF=)Qlg|EFVqd+UWs-n(Z1L6o0+b&IH^GR&bleXuBPC?4|gq%Sz^mu*D+%ssa z;_J@Y&snWEr7kQ233Q{Q{e1nP3ntON3172w3p0H00~~XQ%%-|!HYJZ(C*8EJg#i~> z>A~S%PTGWqnmZ!44Q*M%z(UKj=&1)cSrnKA-YF)~ zNLwSiD7J%hzSwY`JV%G;y?(u9q2P`c?EJv`LjS&Q?K=A0)1MNVn8wb-!Kk)w*xZAA zsju$_gQ&D@zHf?2=w4B1k%k@NwS$d@q^25VOKmOd;}J`Z?viD1Berlf$70T`TMJ8^ z?#Eu|rkI6)Hl%8}Z|4_h_|N53x~u^9cCIG#bAWnUQs*jRtw5cQJk7!_!^?`IC;+dq z)0taR#13Xl(yRI($JR9}b$g`+&UU}ctX*C(xF{gIEdI)wx5c$CH1_pi;9aDV0)Usy z{mar2)+<->F{rMurKRyjE>fToXI*khW@K>gDk|4-N0{v(&7ZLzfPks5t7Ch@!-o!0 zPtU`2^7wI<$?V;;*Az8dcv$l2ktTjUYa6Pxu#Cy6I-|(xu`#!RSr!DWLB@r373=KM z!XhX8n%AD0*IX)#6AQ9a2hasjt6NDX0AJ!pQ?B^=->MUabukeotzD?}F;nqyrkmo+bIebhxH=ea{k=YRjGv?`)Q!g=Kz-!&L`*vo`hen1)|7ad}O?54U7zsFlw`ii? zpalkz?1Q1vxUAVU?-Ok9_HFxU%ch+S2C*T*bpV?$w;M4fy|mF<2_8x zOwica5T7^b4lOgA*_LPgBF84--1qkn(}fG?=;Fombn((fy3~HbY+#*Ei^v*9z0TqD zefM4W(07=%;HzJLkuILUB+#H>TlLbZ$ecH@bbHb`b@yMYa~KpA{YH;=xCV;YP85o; zm^&brflV2Vuc@k|^OwHCohu|^Mw)~O)(WoyoAs0_=1^2)P4IgAz+ERw`S)vTCAuBO zUw2OjgD9}lR`V(V*SFAps)bx**20gnyd5V+`B-WTgl?66;)eL*H~_x!O$Ac6Ledds zUS}OzKZZtjJ}pzBbCh|frj=0MT<_BDSay-gMGoUpO)!UPRWmSRn^S1e;{fbiU9$!G z&ay8Uf{Q%Rv5A*qnq;N~0*X1D+m_}gQ&_a|!$SuSm#0&&e3P%qVucKeU%qsK-DEI8 zynpWzNq{sj45^!q_4S-bu(4$$%c@ZL@jy7%uO!uYb77XJCueAK+N=*VbLQ&=cYjb& z;Futg1Ox<#0I;f%6@X2xsi~&JhmXWKs;y|AYi;vmPJTtQP%D>>(uqVhmH#*iqf#n-XMWkU+dQVMtd`b0mT z(@DfK4&AbtEKVyph8tx8YHU?ioYS|%vJa;YJi`LZ9j-A_R=l1<{ z=@D9*ciwR~1L&&C2724$-$#oJ8ExhHnI(2Rasfv+04*pSF$V%S6qpz=F=5Uh zaET6f0xT!yd|fD&mQGL4OugDS(EZZX)aZF;09QX&0ra=}_^$7I)1dkC{!f4MFaPgN zJ#D{y`O1}tCnqK&KhTouP>2O#9ta@u>9e2vjM-o>(gP3NNB`nqyw?Ee3-o7y`e$at z=`=Tz0lY~uNM#e|*vcZRD%4_4T~!4jizl;8+85M&T9{{UnJKF*OtlO|0BkYao5%tS zfN5VV9tXe2%u|)HPi$6Cky{9$y-mtRN@8K4F}@QAE)NlTFWa1{yOmPtvEi8Sa^?oV z7!>PQNJK1<#=?vRi5F@9e&$%{G)a9Mi~~1H&SuP6|5!#@8EE-g8hB}|1}#f+dhOJ; zP6NHP4o#x+Z-m$J%q-2Ajl#AMU7u0GYNayI){P+25CnXRbx;KZoG2K00(*y+SZm8x zbN&&ZEjm>IL@++wVnkA3LBKa_5S4LP=W=F;8tNLD;T#$5W4QA@RSEEIU0Y&`T0ud{fvDYeq=7t{G_&HDLe(81jo3&+*sx_KO_8Gcz~k=1Q|$AUp{p zNcq0{nGgRv`sttkNeNo{>4e_+;G^uIQBLGMCQ;^e>EXZ{hloVpS6RSf>~x?Z$V$qY z0vky{v-dM;hhg)kJ#^|^f#pWEHH{+HDQC_~vdGNo8a~GWKe!Gd5rOn3*1;<)YZ4F| zQ$yo=?wkOKp(8Rd*uzXUe5IKYCr>nIA=_&8u1-=B-()E#9kWDjEpPtt4j*xDAaZ3k zi0draa~yfDd&S}QbDnA7=#d+m%KTW2^P`q79RMP1*(_eSp+S|L4NxVL8y>QgfpP9q z+4Ud`o}Ag~B&QonGjHvgI&>e{?&;t0T84**>5u;S_h`$u9p*kcL5FTXLQg#Y-E`ZY z+v&`iQw-jk);CdW+h)3Ifb|)3f8zJHZQE|Xzn<4A@dPJkronompoMMY?Cb&;`jB9t zxWzpHmKm}Pr1@cv0{|Jv0_-XZ{}RHSN(d%eVjzj+$%6+^@bSU>g#-jc)hOWbnCNcI z@vKBp)Y}0|J%NeJG;9~gt!Lr+3T+hApevz?#8!rB=S7%!aN21rCGlN4%uR?aO|1k$ zWI#g=nMF|s4#k-{3%tlPUcKJyj86+tdIUX7;cM3Dg*C8TU%mGOLSrU2U5 z(nfb3J4SDM@G;u7xrN^UV;|xmuOIoLe?`MXQ!Af}W7#`# z-wzM>^DGU9`~aAFU#hHBA82z1N{g3E<>k}kQ)8!kuXTK5d}bIkVsoo-cNIYYy+7Xh z?(c#=`q5AQ$>-kK*FW~uxw98epaq>{E~40tqe=T)fG-xPt5+}6zJ0gTgAd+MAN}ah z(n~MBOrQGHr)YG1C?H8A$99HEbJla%YLvigfF;0`-sFo4bmPdsCfoM6+F@?tC7u;dQV-S> z^^db!o z_qdG>o9UG+7x}Bz zPC%AZqlqg`IJxre+O*oo8!G zkOr{Z6dA@8>*i4`u@5>xGP+|1FawmA_!ulPC@ZJSOmJA~j>KITsj8xe%FAVHzjU5< z?Y@nHpEyW}!wv#zFsO?40?s(Fl!S!97WJ~$WzIS<4IEOee&0dz3-)s&0FYw|LjBNxG&SY-}S@P-#bFv zw(K&0pXWWBbhgM!LG8d6&IgE|;n4vmBqq!;1aQatV8FcjRr5|t7e1EgGcBMZ@iEG!!JEWpZ)C9^!#(rOTYs~j%gNau43RYAq*TI6rlrA zfo}v!`BCHciVA7B%Cvf3*URa8NEzaPU*QK~;)p>EjO)QXfw8JkV5c4yZUe#l#5ZBi zpOx`i%HBH4fn_Uw$P^TNCfa{W0-Sx!RM~0#t~e8vc_Zh~vVh7|K{-hS_hj9W`aFT(~fnJu1|moT+b4~bE|~Se0v^x&Mlj_(c_OjPVavA_XJ&C zZ%5`^{ecrlIMf%*7F;#}XKZYOE#V-$Xm7tnm&|4ky)uS6?a-lTFC%8;81NW?T*vZ- zS_VIrRT2emheg3)A;KL+9)@wbdtg3}A3x5&*M7O1UU~Tp-Fxp*9;&pRgpeh*ZD%_I z=QOYx1r}{VF%a4m+JRyFJ6a5J3w>#xI}-@fz>pG$J21dgDS-O8vlg2>K_#c-mpI~t z7U$=WoqzC*dQ_ukHOl8k(=V?LC{NjP%DhN1K)at=cj$SSZrf)(X^+gxKV zJVmcWbP2IuV{HZFhxUCX^u%jwnU%)%0x)gYblf8rjM?KFb|iDQ)Yif?7D6R8J2QYO zSX^FH%`v>%dD(nkVepK|^E;2;P20BaG`};)@2UNAhXGy7JcJ8|84?V1v;-{A(}Dr9 zU@&2chW7_sH>}5H?gEx_om3`w;z|a~C=8@iTFHA-+;+Gbu~D+51e>|L35Hu-y%;<1dFYq*^tC!oH*mNstOOotEcH?JFZnf27PZZi)y z*H&X-8$;G*y7S0MX8hr}lvp+{xwA zz|!*kWq{?W*{PSNW(O|}3=H%rSk6|V>?(l%U-ohF;>G26J^9FQJ@wRY{>eMv_4vPg z;p^Z0KSqXzn?!2hy*tA=R;h9ed{e#r>WkEI^$Oi{_r3HTkGz@gJ9(U*{`?o|%&9Z# zN2!MEQ6ZnOMX3aLfTd6X!b616S;m;6t&mX*8>T|BlP?IkiWO9gjUB0XaRm<`$uMG( zhu+lsPQ51CrVVy>k+?yWFi21==)#gvIHk^#5q7sooMux1u)1tmcA9~0s(Ro|*k%UL z;^)jPwmufXVTqkXtUN@un5uQgdtu3kYE2W%Oh*dnHFDcB-Ifv096Ro{(ALdE9PJXf zSyPtf?CQWg8^jhS)qd zToBlUwYrASm&C=VPHUT}MUwr%wE^c299J;K(6?0s09MyHzio>+tP7NPm5Rk;NjK~$ zkSRn#7s6?F&GjHU=_!t3M)Fu&%QpJXN8ZCe)|b0pp~0aZZXbF_g)FCm=2W^u6>Gau z=son{8|ghi@cq=Xp_v-i)~khNmh*Y_IznS; zf8a^}^E1yp>p{OJb~>qsD-cpIGl_hZuPbUZWsGfFo-H6%HxXHTNL`0!&AAyj=K@`c z8o2EkV8b5T{2bnP(K>m+jUkCrbxbK3Fw?+m3Rp%&L8E|MQ(437kuTh(y8~c?LJnXd z%i36$bG@gN*PC?)NY}wfxT3-rId*1)6UHG7KrW7Wp0l@Pj*435k7aiP`1UB`3xV@{uf9;Jv6y zBrC-=4m20k!`SQG%w-?RnDPN8Xg^v08>5ksPsaGc^hRzQT z_FPvP#wu7|18)>hls@~}FHlFvWt}#TbFtg8dOov-T_ka&xaqKP z;D!a*!6N1=akb-0byG}Zbq`^-wCFU~>=*$Sx$+U>*^0nlQnHUuRRKg`TB z$eFqzh~_%UN*XAU1{z>;?N-t-hD@1fdDvi((0Yt!iPuM3jU{D)Ml#O=W=?BoUPEMO z$5kePb~g`zshK{@2Id&l@Ud%5I!vV;IS;!NXX zZOhRD5>or6=H@nuZ8yLNIyeldu-1-zD>TZy`q}DIDQJf}&9p5tazk4pTS9=!!qOaf zRd9`hQCYvPh5p$O|2Qo#rS#uF`3Ed7!RCGR=waG_U@zTq$5EOXS*DNv+=r;XZar;m z*}?;ZbJJxyaNsr$4+sNdoHK?dR4y)-3_$Lp>(_ed)Y+Hm{CQ}V&-12huQMw*!acHc z$4)wM@Bp29^;HAvx^KZaS2B~lfB#|8g1VtZ(H>iSc*`1xTXtSTAlJ+bFT6mv{rPTs z$2*?jc9_9$3#*x|P@8TTftX?`2aoLxwaQg3D}DU}P2UcCajS$B6GQ?o^c7 zb3RLiU1P0u#To{~nRZFoYRwh^v4TeP_|UV996|Kec&yp^8D+cHFzAa_Q|f|1bp1h* z2y3kpSm}u|8W`y27)%!dIx?uqu1@1CYP+;5wLFZ%~^eu!Q zE49>C^s(~a`Cu0rEVDL}GO#UjGqSTFj`b|K?h*Ea`Qoh8NEa1IgQZ`yMkF5i%0x+3 zB@e!#`xv?N?s^s={>OuYu&v+<$hWaKgh>{Y_v%31{D zYq3J&t?ld&gJ=Xcnb(Le(>xq%%sE0K0(T4Oy#atBUqPxYilL?rP1Lq=8y!A;J3Vmn zt!7QTgMRo2KR~U`Tj`&?>z~rne1VQ0xtrIahWeoEr>`5NQ9+FYaPNTihZDxg*bvW# zOpK55HCDyf2g0Nllexv&4s$L~&(2Jp>g((N#>m6~q^2{g&~z0*|Krg|zw@z9^W}&C z;?vLkx2~@KUp{y4!ktpps~@GcwNXH2r-{*_z3EMFqWAvT57LG6 z9rT5#pD~r@NN$KK)_=p^m8@kdaRqRg4x z+n+n@J$L@BwO1I*lDR}F-oR|ioE{&Z)J}Cn(cl(JeEWC}nCGIpb0D>F(d!t|Rftp3 ziONumv>gXV`gl>_v+FRM=7R-6`xnP0NhC3g)Op3()1?yK4o_zc{y|^Z*MFTiE_k`( z-?+%~DA=R}jeq81&?6^J3Z(`)W?0Y5=)@q6PYzK}Uk8nk53`|vH3!Gc(dBl8h78kZ z{_OL#v{$pHh(S~aZ z>yib5SpYIwUm6LkxUpq3HD|4?mF~XY!9ZqX^Jc1VXp}CDi(w|mvfe7D+n?izqLoZC zgDCRd?bL2Ku;>1I)abuFXZ5Mi{^D$hl>Ymu)5&%8d8+L;nnhV7W)oKUv<(VB8FPUrI&r(Q-N8}!? zhvpfMYF=|TZQjCzrj7OM&Fiaku0xqxm`bN(*>x7+D)Hb0-)ZjE>*hMVVfM#Ceh+Tm zC9wVrJHMf;PNwo8-fwi)1zyUvH8r|cijOz;%QcmitW(D8!t>yqESdMQ-V}n(EzPuj z`%b#^=sl*$K0xpJ-hWP;Hf^Gx`iYOx_}C2n;CtRn{k_Aqscj3*&&`|TSoFb4WM!Sc zTY{Mh=#__thiGzQlqRPqB@tEi@k`4~<>h3l+Z>NG<5L4KU%%1$%GlV@tL9%%ts<~h z0R3&DkAC8vkABH~J@yy>2v5d;i!sjO*niDRX~Y=hN83)0%{@vvN4cKT_X%!oxUQ+Y|M0Gf4lWs#}4p**!k zv;NVR6_L$PSl86)3)Mq3O@ioAhAj@fEA?WQ3NpIQZ`R_`o(ZCM9A*q#i(9;cdp z?k)1zxg)BO1wB>IV=StRI7cNJI7}-jMQ0#YhZXbZuIm?R>lX1?o}DWjKpmS!U))sC z+Ao(DRhwIsW8i?lY;It4pi2d-I65kkzW94(MHPjEmzlFq@ZPl+G{jM;r4FHs|DJ_> zIL2V2@n?W2$UHDmbFHh#Y=%P&s;L^Wxlr z5RlnPKF5%w;PLRD%JGs$9IqH1Gp_{>Aa8i+&Gg}){kQ!0t5>^e&z>Fh13&PC^gF-v z+jQ{Y9XDxcL-z)vJa`W68!3=ggg=YjKxRby_Z{Rk#HI}eYK5)X<*N#S1Gd*W3ZxVT z%%>ZmaLQM-b(GKh*bfCo6&h7fO;&I8m_-Y z*J7;8%uuIg4r&3|<)5j%1n0i4ww_v=T4+O48yD%d)%9{-wRjXpT0(>%6N%xG?PT?l zlg;4R&CHH}`QeA}>s~IMeB1Eg$hs?+uSC7-InS;g^D}CW6bA*gc5k9k|5{XlQ7nhWa}8`oHV$V>CUn$a0MJjhpDm;bW}vf8w$4r=^7wJ$T1X&OUsLA zh6cJ{9GM!qpc0JvRSCu_fd01sc;d-Nzx0VueB$_{-}&&5UO0dGr`p@wH%37$tYb2Q z7MHcl>FjE!KC>tsIdmtTyzd@*|4;m1^x_Mr>BX16DQzprI5>$=ZcNrh#{z_z&CvEK zgE6zQRa6MujMg9)3k$X@l&QA9(bhwnLs`@-GEAuBK{fMVK{c;7n1P2a^yfN1sXAy4 zLn)P9a7vO28_j^27h+|h%Oz)Z2dy)Mah;TAfUeeimSrv{BHs{=wSe}-wWv#~V=lX> zVGFcV?dxIK$$CcH;lIpEHB?jW0t~D@;R;qUQl>Bp96B;>!!uBhY|L-0p1=yU6B#^Y ze_RW);-YE;F~AjbtK7;W@b=ldE|OF#uu>?7z|_Hu7cz+`s#S}znC2JfY2GZzRT|;| zuR@q?pO=SDg(+knvEFkXvm>p zw}#^(p$U0bQDhqhy5q<_^!VeCvx`Yz-yl8rrLWTN-P?J)!i7s%$v071<3*XCDrcPRY zwe0dL<57?1DCGhL?P-8GFrNTaC~yFFID7?q=`_x_$uZa(OXmU!g}7&z4Jd;48OI+$ z8o)2Iy7xrhTcQpPXpQ3&!)v{L-TdBh4PXtUn*vR;6;hV?W;QvXn_ZD-+xw9dY7hkp zv$raW?DLWraOJ*7sSLkacORJn$=o0`_Yu<6>(i}QF^XX=qPY;kdYXu9!*XGn0q_!h zf)^JU%vNA{vr?oU>@5w?{t6_>Rtw;Trn*8xnkg&GUD6cV2q@9dCT!lTW^{?w#*^>thc+eE*Lw&fasf zr>D23v#W~+2XD}T`NZ{x!aMTX7AIP_G4puuI2KFGk^~I*BD~g3n_Fquj{US}?=Jez zN8d#!Pdq?-b{{tHX)UGOJZXR-S?nE<+ga;aNEfXQ9^Qcg!ZbcJMZ?2`Jm5DuHAeIE z3p(V@^AzcFX?dtrTIif#SU5A=Kl|du^u)Q|-gYc_v#VhF+y5h4Jp|wS<1?T6;?~i@ zsh>N4{?fY#2M23X)hSwl83oh9o(&Oj*Vwp@?!D_c-F43$yoh}DYp+mOXE$pI0lHXv zVKyFsBmn@i4mm|Elb}GK%fow-=!=<=;DJOtL|Ccr8elnO;=T}zMP3DD1O@wC(%!&&)V3V@S@{WdMjY_-q)Gj`|@ z1_6wLY*aEtm?@C9?LU!w$Y3WHefzssE1kMj!^}xetRJ)up0SL@O0VlM(K#Icvh+y^ zGQ|!qRr|Qe1=v_^q}95|$}C$p$+!4@N+1us@CGRQNNf~jBWuc@VZvjNzf*>gIypvY7Tm8sr-YI=-2ESEda(9Gd=8Z>0=-NI6d~* zo2jFtn>Cx;cWj{t9(d3^=P2#lcPL8w%wd`SLCk@y%?gEn4(?iGq|r%l6rGXp844U|pkI6b$YfhV%pA4ZzJ@ zKc#ZX0SCVZ#9s4E>RZq3Xv{#xw&T|*_$$PP9BXf1lYLSEb})IakqgL21|`zUvRAM-lTa)}~?W1dr~5MODm&D9!w#ef>R=}JjHv`!vb(21~q z`l0_m)?8TBVb~C}C_;XSewzo!*=1u{-8Pohy0MxE`_REcDkZ+cL4>`83l*vXmo+(3 zIiU^pvaVA0;<7mbu^qanfO%G5e_ZSRgWdG(^Pm1TQ^5UXch561xMMeAE>{Qp} z)adD{iSgI2_h0QYFK2ocEUyCS)sJuS@%z93=^dq|! zJ^*xuF($FBD<=w&#k!8;W}%J45DdOzBR3ytDYKpvAqEPRIiN+|J6M0Gz{T3_B|0IW zGP~mAz-4nxf{-zH)2pMV_gwoc#bqmzs9c!BudQ96^zfHQb$yL_b!Upq1 zaqNI6ju8qSutzq+nEySlgSeos2}O1O5EqYXv4-GQDQm3R_E7v+bK_I0=f?3e3q7;D z^>vL3VDpx9xlV<%`SPr*yjL5?8z4f;M=X1X4VzC zz3jATa&glu82>0>GLIa@0R-3>2q(ARJN0=;W{$7${qrRmLD==<+~14{(laA}keRmnwT zhr3srxthpXPp2h=7;)vaSrJ)O(u@nfp5ZRDAS_3N9>=SFHU>j2I__Ju^dfT2xjtZE4q3PF# zIXyLhwBt%=;YLq4^$qm!^@DY!r1oxj{f|EUF1p_UXuO|P5?%91K*y+CC!uB@zHN!T1sE3`Ib znKH^{Wj?I*!^uVTby*#@9ZX^ntyX<@gGodCx^VK|fyb2cVbGBaO~^tpmr6=yn8cQ6 zpgjd9=R0=nainaX1;Ey(3Sz{B^`fKvzM3~|l8E36k#<<;7dxC}HTR^U0bsYmqKUus zqWaBNx`8VXvSMeY2uTYzikaC-Y0cI(DA12rP_SNCYniVw)>eKkuvK#q+z))I3OL73 z1HcasUT1j;&R?woZ=2h8@E{s%Yl8$y`TbdX?rWc>e4KN}I{&4GMcTD%HyuBDlG-m` zq*q>jnfC12XFhNLTiw9fO}O=DmKv|Uc|(i2H%HCJJ!XzsV@@<}0rcrpr})~oQlFdS z^T-Wy68SEV$M{js#*1>VB+9)|pQsnG+b*ai^X#uyd@}zK7I+cgSF`hz{Il9>89D{) z2;g9^(M*d$aq-ZiPp|JN2o=F^0%+nI#Qg;D2hfM1+1voA`jEqd@#5uI^3E8UXKwGi z|BVWuDOUtWEBt`18_%t1Y+sONZYUOihMU6sfBb!P_Uvo)8=v@19dahu-CCL#u)MS+ zQPs;Frn1P^XK)a)09vqX5;%8cIriJ-e@0%nAL&{iX+aWeaV%ZI3ip)<{TNJZcS?s2 z5pGjeB_S<592!OZ8exNm>vLj!gjrgw$F+5Jw6>v{Hmq-?8&s38NZ&R=O}Z+q<~DaK;o*uiUuN`D*WA*URQ%Mpwb|>c=X8{-5yi zkstj?&EETuJ=xpa|IydZp5MXjsm5co#KXpf2fMcQD+cSZW7}?e=)nhQ`;N^t&^JP7 z&RjB8@MO?FjdJZrE3J@$oYZZktbL9IV1ZHgz`4jngko`5p|XOQ_wb^&qb;LqEA&JG za;$nk>-dqX53|GzmmQ;^$5Q9{jCTKq4I9m8i+LYS zJ_b5;dsrFwyn=;Z8Rp@SLq>hQH`wW***phginGA)+A^1C&z#~7ItoFpvhj|wi*D`y zk+-yqeIF!pQ8?~QG*OYcv4lMKfeU3lGat=PSL53{vnW24S}CsQyyKc{jH_D$AQ zzU2}ZM}7c02_nf;4Vubwh1kl>OeX^i?GtqdKy2kA9Rx4vy<6!t&Md=IXC`~y+fO`J zLwy4Wbij3{rn-UW2Vm1?r9dL@CfBo;W*B&@os`>XevHUI5dRCr=ybb423 z=hX;9`?v2uVy?$2y6?n&JkSo3U}SWJ-LDqSxkizJjtj^M=pW5KGrqL6aK&7!XU*Pt zy1S?2`qgXa5pzAX3YJ$tRsrSucK?7z4Yp<7g+Zzj#n95pIH|U0WGpHicOttuso@)UYHER zINdO2=2RGG9WE>uWx#g~7(F|K5T@2VPQ0Kh;$zgVH!M!SIISY5mtaY`WEIllb$&$w$e3;G2Xteiag2CA*AcY~w$Jk;0Mnfs}Qx;ndZ zp)o7@O3ywM-Q*dp*9|m~7*LFY01oRY0Puw*!b=w}@O=?c9#Z*7*ax0Zhk%JVX*tB?a-Dr=O$S z_uj=o&x%Yqb&ISL8)@Vo&m-gh6)X@i$hX%+U$ zD}T+d2lw9l0JDwxZb2ZK3*31eaiRCSm0a24C+4X0TI%oXr9xE6ZZZJSxQCcoU)GMA zI#t;9DeumaIq&BD@FICDy}&Ct)OTBX7k+Ft_Rfc2-H70dQdieVYa2IEGY@FCGH7O3 zkBUmA0Ai872?OBd3lzLAOTgG`A=DE4wJXcL20z~Ff%MP!sr;Rb3#Iz6e(fu)|F(q< zH2yfMrdS+ZT$sCNiuSW}3$rgxOb?$O?HuTuqN&MMu)O-Q3ZVZ1eSG#$zqr4zf8=9l z&z^g7bZj(=R&10~l&3jOt{rB81=O))_n6J$nAxn?&}(Np*q%!k(Jasls+)!m58B08 zq#W8>tq_nUI=h0H%!AQTkj=l(4j|;(qZxTUZ$zqnE5u@9XMLVEYB~+HcPTT{G8~wx z7TUH6Ve3OW@M1w7+v$~5o`E2Uk|ts)t7Cz4Sq=6R)m*36OIr2M;_RUSJFvoYtP((- zO-s}kqURRu&+$vmK+iv1s=#&d@fd$v#NH1Ha z;TPAhZ!xc99i2M&^#DLpZqLK9c<{l8`TeeBmf!yN$LWbDzKhPEZ>L}V)n9X7$17Rr zkm(GX{OY+D+D>ylpD`IsxyATcws^lw6vs@sN-@77n z9Otu{xtXQT&WmR+U3v9;&5yhP|JZYX{nvk|t-iYPouB{WUw!}b((-Mk<>lU`<%Lr- zvy6L zOrqLe=USjzV?^_wJbpjjea~UuxXz#Jpq`#SUdZhNj7_^x6hId1VktV?0)Jnowli&6 zWsZGj^#;2zUB?4>lJ3U6zwcjr=Io~I#+EwUDVsPLIqz-@ zw8NnjA0r&-86%6UeN)_Of@QF91z^JO7Bm_=4kEI1(wr<{zNN51An)iO=wY4o+`<&gIM`*TP;lVP zv9S!GA7Q4{v6+g_ajpE=d*4S_J3HvP=bq0ECq|U_e|F$zMR>yst~$p)JExaKuJ`k= zontwQ!>!>HSzv6BSCGJHpTiFguApRdjwzwdTa?#H69uv(%CXZ~0E}%Ii<5Xnk&C8x zuWf}k+Yc5NcufI#MPSC{cR zIr{w5Utrc5`dG{;EP)&d^v_`tZ`U1{9%!WtD}cTIzO#;uVrKR+zzO+OlL5=kEt?Ez z-oTP9xJgjv?LIA7caNvT%l7!WfGNKCW7nH8U5LC9fiV#*mRsrQvjO z>dp}|LeA>R22`Z(Jvfas$tD^Hw1g)EGv||4a0DtWMymJ z9sHaITLuGxQVPl@E2A9cb*%!<3p`K+Rtm*S9DApaf*n*+*AGZB;KBmnY}?WW*11-R zb)qXKtVLa<%zv4Obil+lHa2nMn000Fsf8hY^Kjhz`$jp??5!T7u)FP8R{Kxz+NWnG z=xZ# z+lkpwpmS%>^6(k0kXSI=NBN){S|Q5_Efd4nm}AUC=?D2RCvWx<1u@xiz?w(S^~K3l zC}1N4-S)~qyNw}QX^WRJn+&Tp?uzJR#gPw?vBR!jUJ}#P^ax$+xsUBpZn-j z^tr$IOJ2*kV^%70G0##o)j%hDJ!Yvd+9_w7Nsfq!v^c3^ySPS9>jR?K-i?MOW9-wfx0Jqy|Bt;l0h1&v%Z0y)thKwAuBu+DdS9lyXL|Ovr>AFQ zK!!z@U+xG3iYNlgsDS!kM05m|>%#9<^zysl1Nws^$S|OSFf7A5(=)wPcP+hD*S=*| z?psx5X2iMiedjw%R5xCKW#@eJ^i)-5WMpJSWW;;k^M3CuWn}Wapg=9(k1^jNN4%@P z8=-<}s9`X{vv8h%4|z?K=QUm%D3P+5g(A9MMEm1;&wUAuPh4WznGBu6M&G5(0@)O1 zvPp8uh^`r5h_>g2_%(Dez|{{!xgeEqeTmmU{K}8M|NS5R{N~MDerkGR^4HE?xUf~< zL|Hed^o2sAY3cUhhY?twhmU{aqj2KXJ~({)9dP9Cn<1Yoz`1i1u$0Q0sX)&#m~;W; zrZpAOYJi)kZ&aT0r{!5>Ux)n4&b4c#Ql&=w%v){n73i z?35uC6EBxj?1*4y2bfh3b=SRTw!!NB7N%QGGtQDNk}`@ALMAmojR{IXFK==&yY!SggsCx*@n_RwsiC)XuY*>NBF^qB9l*Pd!V z;^xL0`srro=?08Z-W17;fLY*8O-gwZ0vmzktb?ebtzb;N^pQhdmr96~UGFcAedew|c%*u}Ujoo~yS$!~+mHyi_|4YCnJa#xSQ_9GohwLe> z5-98SKsQ>F?PE-PZg8U1@Am$Oc>>#`Sx>ABF9vnZctAnzFeVs?GpoXYJ>^-1f3o0$inW@*tovV=)rjGys;Qu5yob>@VnIB zEE5L1J9?mJ!$#=o-9k3man*(6$|u$xlvz@t_Ky7&u6?sDND{kOX)@WiQ4NuJNHNXP{2y9 zOcI<+;}@xk838luuGJVzdrt?!zd7*i$^mFs|K)n!>wX;3?w`E--GBc7z39a+e8g(a|qetMb2uLr^XW-&_^wllV&5Qz3 z*hM1YsjhCeP4gkf+9?g3O1YxA@PyPh29)$B4dt~RA3hhzG%eM@NT&0eY4o&|!~loT zir)=c=8({hI3&FYjc!i@WY#9Dl)*60C`(6)KsG0m-?3zSRQ#~gLemXU-AoxU)6Iv# ztT0+=#y&cf0_4H!*8RJ1=^zY$vZqi-*sU!+rCS(YHErA322$*g(AF!pTdiyrBNQUs)D=O^C5a9XiCm6ICw-*d3!fjaV>uj^7_N>C1@$F^XWvM1& z)7_qi^?E{{*XzZB99UX$Z%yOhWqNR7xt$oR%h)KuvKS97iHv7~N!vxnQ?eQ>Nm9mr z8&7ToPRd$Qj#&7!2qTM809)DMnWi(Jn_p#0s3!sfQ22esnF?%JMTrp(e2DE7a=Y+* zC!@j}S3E{&%|@&?H%m`XPf*ilsaSw*+jnX?hn{(|K(ZWQhkCFa1}dI9pl#GMWxRaQ zkk1#QbwB>uFT)Fe^x3q{@A;$mkQE}%>X^ZdI@W?coOw`+U)|{YvVMIh4Pg6v`=t~k z8U)~X1HVgZ@YP^{d)x-}Z3k=Sk1hce&&@h!!A;6Sg)MoOK3pEB1nZ5P{3d9ibi)VD zg467mp6+2LnFc_<&J93@d$m#xqd{@LT+Ux8mNKWZxuugw@4ojHgCk#kHYV*Uha0Ry zAp@s}vvlsE{h&SYw;LkOV3|JF*W8`ol>^YOzGe0Hw?CYTe!S(e$3Fen+qZA~^U;yf z`_t*PRvOx&0?LrylPMY$XFW809L6r4gWGO73`dUK26x|g3yhD=!lkhpP^pMb3Ey0F zNw&ckYS!;+V|icQ{0;c@eG}S1H)4>DB4|nH5%>+*xL-1`sHer}aCSTlnqpJXq_gG= zIf6UVi83RF`rDwfN;d>;ucT==(9#xZVxm}M2L8g=X;=c7Me$WbU}&*}O5ba-R-p9J z1}rNO5o(RElGA`CQGm-D;>-lJrJGf^Ierh?*#0I8h1#r?c>B{z}k!Z*{%h)wyJ`1 zj19vFmW)NG?|9s}#=#&)!Qg4HZJW_Ip3s&hnk^;q*0BE^Z~u;kaFy7&N`M*xaSNV@(fQ$p+}y@2>g9tLPg^f; z-MRyQ@!^Nz#V>ggtXtO(Z+qL@;bR~BN4WXs!z4$Ok}uXFv#d+@PBhqGUj8n$94yc? zUdq{r{O6-(v03mv?|C<5vsviv?S_H=9k6fT)v%OYAn=V%-5dKh!Ooq#Vb}IOG+@kR zig4-D1$rN3W;?q!5MhDmzx1w`{T($9hmz7RFE;byakH)RW;Ze7rg_;80imPB$3>>) zHS{bYzPAWMp2_sq%z|Lx$|{t~m9SVUL}0lPf#qxjmeVJaOY^6y)dF^MYA1@u@TGREyn!>kyphF9DKwQhK^rzATJYl-nEsj2bKwINUoizWA`;=Mi zgr6{>FKTN7V||6P73C(-5`kRYuLLT5_FaxvQd_N&r66_mlRP7#eJ{d5N?*pOMj~*q zg_trrKAulN8a3FME{EqCf**Xn@Qj6>l4*2wbQ1fv9D#0}#zkO)Q`Q(sZV7R%VF*iy zL`)E2SWs&aq9qSjsLEQKIpuNQ+1YI|nKn39=W-l`uic)QeB&~ChXSA88b&+R@8^ja z^A?}-x1>5CVtLQ8WkSycZ%7G|HPB#I*av{PY*@|IggPQwjUdc7&q~ka*%wD#5%~Yeu z0@%K7H#6QL4d`n@4LoLb?x_Pf+d_)>z8wxsc}yrTYaT+eL!a zNT_CRJf8KEp(?pTIw%&hbJdl~u}Zaks=87=kxI>v7mG_622y~3$F{Alt?3LVcur4` zo53cV#l*i8WGgXHvN>6;{aX5Q!gv{e_xakmV-M$$nF3mwQnWESD2@CC6alD?k zt7G?%&~9)7Yie5PR6~)dle7R?AiP(2r1O<5a00 zqo$Y!GwtLxEgK)DJ}}T1Y0?-sjCp@3;^7>M-3`!|$urtN0m4ehiZ>dG7{IXS$xRBM zX9GFGH;vFER$Q~4G3O4sd?-T8nZh&zscBo&NC%d4g`Cc%DQ<2aME1;QR|6S>05lyh zlywwq-X*gxL9ozZMzVUSuSAww24h6~FIq=W&qfF@1ti@d4KYz$37KX{zSFI=EQU_d zv^?sjTiV$L#OPA-bGNs(NB_1_vsEUSf=nYtj5K-#gN64D)9YPk^JUw&DUjyd;9C!3 zES{eo1J<&}U`rRS0MbP4eY_a>jsx&363#K(yZCbP^U1dI5;kzQTwc6y(!dxpldWb& z{53Y1o*i6cUK?kMF@fZ+q14Y zc&^}ig@H*Z8zKpVuM?CVf@(2%F0QbRsR1|p4WV?w|8Sb+Qw#N z>AlMuN8z%;su#23(0cT*x;wlp2cTVj+v~)M6ZMB)@x1rH_r34^=!4ID?(d!+Jo8X; zVX+^(z=ahLErc>Z;F~XF2WMr8x4Gsr{EC2*voBBNLCqNA1FPs zuX$SCm_|kv5#UGbJk@PZnrjX|z#EIzpygZ5GlHYFF}YAt*FspP|2DW1afyad47F;e zv)F1SD*!dMt#z)R*70i4ZP~LK_E9;m1RUe*n<;Esze)X)Zy4$>dclDz_?aX=3^f>) zvLAL8@IViGJYm3UJ*=|_ZxcBVU{cx5H{Km>N0Zc#<39Ff3R&nY7Z#uO)EPvAP}1HqT|1wlK7M(4!+Bl%{#H#3<{-; zr7976W=Vo~)gUW9!D-$Iqm(fcd$no?06Z{KgRC>Bk4M+7X}JEnYhZNb0&LyZ4^vaK zFgrUwjMe=Iw?eF$M&7DXU`tkvwJUW-n@z2 zXi9|&WU_e}Iz0yYT#=+pYet`> zGHX1bjeR9*#HAmz@%$D#P(?EB4Y9Jk9MtM7xl$>=m@A~uWitz>XJ;p#uB=v$|7XGS zm1=f2xzO3!m5Q$0+txbNTxp=`t@W`p15O8^UH#CNv$6Xgs84_TsqIsj#(#Zu^z0kw z=4O4Pu{23qs&P(T#Z-qjf}_2A4#2(l+zb1z+76{+6(+{#BJfj@%qK|uGkK$w_C^x4 zv6;TF^sXK^+z8E7H&mQAceE=8NLkwqN~)L7n2NrQfskjaH33fet2+ z-SOC%B*<^NM$Zds7OeBKA^S{At2|sEF;bM)=&`+&>AIKO9qI^hl~QPe0wBgt8)jNr zxq)$su*9=#{f&)CBh=;tY=Q^_2j_II;Ma2350<0Ba(m!SeMrmUSwHQu#{z zx=G28d0gXi?GeZz_SsjF!anIKXKo_!%zoo6ypeB?EvBX zI^H;+PeZ9(q)>?Nu3ls1XWC9#wi6FjQL-Ym&wBFsXAP)@xC8-N^}FwW7F&54k8Q9b zuNBt3QV*f+JseL2T+2L*H4HSwogY{}FnH=Do!@be+N1!gRb4jqt@NbA4BU)Ww%IRN zw6?R^cbhF->m#ksZqy4$-$|18XgfuS&7d?#$Mr`ae04O?>V&U;{nIctd!7cvGV(c) ziI+{Sl-OtN>-;rM%J%!p&xOFZx|}DCbZBX{1&6NSxpdFn&w&qq@Nb~2yOUtqY>e@ibmAiNChW+~wz}|g(VC%pDT?;Ff709OZu$0b0 zK2v~VsY3Fm2Bo7m*sDH_Tk2`ag0g-KbsD6Rb%Ay|QiDId{>a%pkQ_9-XDI!HCqyh- zKIH3@ujC!kbLg30DVG|BVkT26=SK6z{Ha1d{mguF{&cNYo{ko(!nZj&@0G9o>EC?( z@z4BrHkAQ0IyqOr)`b#?uM6i}v+I->k`Hk1z3U?j712%2xg-ogdGcya+TqBzbnK>cW6^zXk z$PR50>d<8Z%SyKx1S%=e>U3vc=z2~5jW+?osenN}AOOrviuQgcRvI;q^_uRGN2Vrh zNSiAJ&>_FC_MYa>`GE8z9>1=k0kg863J}1sw$oTy8DCZ%uA;y*gFn-}W-*-FRl#T9 zT(I;AcHFY3-6pgh)fx|7^_S3^bkJ@nb^@GcrHOS;7@uG}8d}-IC4Baa^_emAv`@2Y z7zNKaKGf`Xf}vcvrJMQ&ptZGyfUpA0cwE*`eEnmn*gSb4bYwIALG=U{pIy}W@<2iM3WwoLu7?f_wPAW1qNy>;i)^DJ7p!-E@Ycn}bppDts z#3(Vo55M7U@MnMd`|;TFHJ;M;F$<}=ZzVc!ssyA(XrKsmxhW@8s^?JDNj@zR1 zGzZT-a{~V5Uq4Rr4ov0SzHKL5eeh~HaNs}$nD;~fKtFw^O1TP|bOF*!`3QI~!OBXF z*ko!LR5qKTBqKr{Wi79#c-{wUdw6#@f>3)b``qlR^~ds}Y0XfCs(%xJdobi|ny1qq z)qpF(Ggau_UMyvUO0}{Sea;9hX9v?u^T(6v6oTcMXhmiC?!-)c*Is+`Pfkyd|LXE` z&;&yK#eHN9(DGQ4na=-vpo-FgSybo2GFp{EN{i&;n|vl4jf>1WWoVHHgs2BG#j z4mdC%up(?VSPi7NFs=XtBoI&_yA?L%G6*Vat1I*-wK~3DGCv4@vB^lL2-dlKJo5^3U_mFqc?#?@NJkc#4VD#S zr1oQ_T%ab;o~}(Ky^z3IPJw&89SBOKJ~IJ+^t=zC!&(rqk^@V04Dq;oB==||owQ74 z3*-BRHRWi5hcVsg%F-R3n=(Cc4VV;Wu#hiC0Q#BFX?SSBusmt;^%(iA67OP6@7gPy zxEw&or5cuaLTj|WH7u`)9S57i#Ql2eyTdbwW z<9cRTt5LP+cU)&*&j1{~<40hie;XV>^$i#reF{p^phm@SuV3E{1Dki#c~FahF7DF@ z?t3AuEU&<>-8&(l&%hU+_$*wC05rO9U^-=`QUDuV#n@+iKePQL%|sFVTVtC^KA)ra zLPmMVwteu5m%kQX{)!jzH6nyUz6>+76R>&H7TB<%H@e>70I(9B!^@D#;$*R_1j>@Rkcr0bEe*?cfzCh@dNFo9USP7`hI>zN%q@6(xNV|lqW z7A^8rsaia{Fh6r?AvJq00?Sh%8}7vS+P!D<=55!P%egxmjbLANo!Jv@;@)x81crm)RqU*+&qU*s0ciVR50JN*`nR?`rN7fy<>ZaG69Uc20qa$a#mBp8q zpoJ#UP$r|uo3Qj;^`NhJ6CAnoZn*Wf>!Gc^6=o(Eq8m?9Kd%5IvLgYf4=QUn)uf{& zBPtaRZ*B@ulU_Rn4QLTm$q3qjZg_!^l8jpPIIbF(myLo9g0)v`Lnj>yvZh)k;AO%O zWSELvF4TbtA#b1Zo(|c*N;Mb;Y{R9PXcb_i{9R#9tTtHg4{L#z4XBj!fzdk~R`7C3 zg3h=zsfA$KL4h6Z>}jCrX^prIv}DMN$59vZer>UTN@MMLmjOncf=Bk4TsPX+kyC)2 z%9rdd20froR3#uP#t9of5fBWYJpsFRUIo1yHb;+1Mj8h;D=QV+=C+n~qOJEREX@<0I{bq3Hp_>0X>Sio{Em+oos7D~5<%OarTmWpPE!|W4sm5BD? za&!!E|KES~#c;>%N8w|SegKBg9n)*V&>eJ_KoE&*X`r=jU5E3)(cr8( z0qfVTgZ6c8`X4s@wYRs!y69i;#tj6Jv&bk%|1wK?3XUpQs>CQGd)o*?6G;xr`J**|Rc+FBkNIy3Y$lT#B-v5tJ6Lbq+URD)Z{ zF|a$g?}NLK-UWva?WY^i%=7{ji)B648;StzHY*8E0}VPQfW|57kO6W?nr9?o0`y@; z2D&cooN)S-WE=#RrIbTPcGn5q61yB4`zfg%#U`FQGsS_CevrnxVL&-aNkW~5sJvbU zOFmS>7v2xiqD|Y@h3sOh($IL{>Bw&gVrW^|K2Eyn2|#yns;`Y_+X}!MxrOti(6~+Z$Ps-5y%t zEzxI1cLZu$)cZg{E|-RHn|~fbKvUzw?KF2CV0;MFM!^@E_nKxXW*HWUxwt; zbhP|>>PZOo>=Yh@CM$wo2C$fcA#RL}Qo<%UWTjD_vv1!)xZ%1R;Feo&g&S_X7Pj>F zKuc>gy-qs#1Y`}TfUTzkpUig=mw)CPqwuw_9+%e&96$$#{Z+v`dO*SUZ_43EN;G`i zpu}?1F^P-X``!K>Oc0cmZduZ*(CEbRdl3O-NM{xrrE=k7xl(v0nVKG)nVWdhfn`^& z9DsK9Jz8J>^07U`r!V~e=*Zb0n_rl3vXMb(UF7u*1H4!R%l^Gr!<|Qtz|~jpCDvwU zI!V)_8dL@Z6p*AwKm^&LWT#bgp9IDs*)<^mR+5iKAm|1z0dSoq9uia|yG$O@ zN(ar-jer{jrR<|7fi#CC0JGPonNc#+#AK^9$$(tQcu#oJ0OyNe>j* zQDG6fQOL5#Q-BOCzuq`QXal!IJWwR2gY~o{1+jb(>Lwj~`rotU38ul&ie|UKG~L`a z2=mQy!q}Gb4i3mKKtE_zac{AHMZDEE_QmWIh9L+;+48 z3!~$Tz#3gY$jXq9iP4+0mOnaX*<6ZPY?K|X@8~2zmdmH$*on`x>|b1#Du`abDB(~I zPFE~(`ISvr7KOGmg#p@e&uJxo_rQD?)b~t97oR--G_2NY=1pS`IwCehq1I*3RM-I7 z=DgK1J<)!7-jDn^6!Lla+LND&jzfmlu^N59P&bUsGJcPwOhP*2+;zu;aQxI0dgcWq z*wIm?DbY&rNzJ+>kqUTLBR0*!13eQ-u6iL_THB)S>4j}ucfr*M4@Lj3g?(4;gMoo9 zu)ed6UV%Lk)#@_jvt_!rluK2({mw(s)7NS2^659KwSpYFDm)=*!vIeV^2Q_Z`LrsaJg91E07rom_g~$&;t9 zSzfL(aplMKxO9_O%`rT^dg0P2OwLTeb%$<*d+xal_8-^@g+c}9XOq#*VwKoxih$** zWgQdCKm|iO1cxU098ryNv0;#iUK>hp)PzjTBYQi%SNSpor72n~vRsr-h(I`6j$T^} zdHs}KEg2=$@nVWuLV^+m!BX$4ZoV8%Oi6plw%4WCamZc$LVkME0jn-}&v3d5w1lBz zvJx`c&@-xMu(Z*h(nV|SqmdkVc4C+1bu2tvM{R->h|wn6TWyVs&Xpky3h3zuG99p@ zqN62CtD1R$gDfbik?qrbeh=H{S^<6nA*2zPQO+`+9jyo(avMAu(6F+)O281O*io9X zZD0>I4%W$y!;?WS%v#fI1*fmIx2}(nRtVMA3gin}a(%#tG!>jNv3ri}wMP(s~v zZZ;bM>0aZN%ja?^tU&~LF{byMHVCf4&#{I;5fgqUcx>#x2Ay1V<}%<%DOUo6qG2y)TQdDbG!8y)M)a*1b}R%G&}6*y!!N6LYLjFm?j1_tJA z-ZTKacJ70N2d;%ZyZ6AZT{~dIhAtW~q19xyybNHrr16tXWiG+YA+;+0fk_n2SLq!DTWuuKAf@g}mM$qc3CL*95zUoqnSd~{$s)l?ZwWd^ zI>-gji<$(K2=d6OBB-P50Lez$(77W5)S%80-o8Xr0yg$;fnY-bg$Nj;KW}FQ4AG6j zo^H1pdC&Vl(9J3^#j{vn5HXKu&lA=$wF6Gft{i~=0WS<$;ad$*$_meqKur$5_Vq8p$mkFpzWoT?e9QH4-3?bkYB2}N zg(av%Lo>8A-Hyz#WkXi43q5U0Eo~7v4p(cEz2Z*zX1vJE+K@=gJ}H`!bYtmdKovOttJc;%H%I%u5n`n z!Oevb2g6!6A$?i3Zr4ta3rzrst&xr0&@C{nm@d^!=UKri%F|e`I>FiAzFwP6Udn_w zr5pC;vO1(gMXIP~CJE#e!=^y83V1Qz(I(1SrQUf$!5E&($3PuCq729}#0G81u(7YJ zqc;Ltz0lg$O6;KE=b=I8X zPjvX`*|14Ay0x~!$unOC2u+jd=g;kG1F)4?&^cZ)U>?FMj(0jj)QR1b$7wo_<5L|x-RkcH*nlO;3r2!WcszvJ?!Dbt1aGsPBVu#4z$Au$@bQL9cHlO6q;&AUMHxkiMQt zGTIk&eWL+5J=K76r6kfz^Q)ER@@OufJ~lT$F}ReO|9Y)fyBIB6b9WL~u3R|){X<%> zd)@Q0(U0H$)TciCw_E%BfB)>cbN_8&ao*Pqss#xMV1e>9mC1v-{1SZj@qdA#ks-M6 zp8Md?wO2uJUpLIpB_WeRyDAB!QJ*NIZRHJ8N+v?>G=cx2iv#9;2Nd(&1ehp}fhLqN zmym!98;T-mBE4so0|u@K8``j=9-9iI8z5S%Auu4|mjLpXCSKZ?dSz@-BnCBTjx{{DXG-q1zgVU%5Ehx>2owur?R?ong(_X!Ya&Yl2XBm7RB_+z*GQrF~UC%tzXj>}g z#Zr1^YOu2?UA@q?(3e)&f~`q;tLLg^1r zo;dNMbS7)}O!1AME!KP$&Jf)oBak~gHwl0LkCU)-+djDWzWb=raNCZ4n3-CDOgbkU z@Q9HO=(WC(mR2aEP&Y(rdqpiiCMB^2wa?5FGiW54bhI7>8+hYwhGyyEitA{?ZE7HH z=Y}Cc@!#MJ?K*-CC*tq`*=TeEh)!YZ!bhOYo~%Awy$OydCxGWmk7SP%7eV_tvpa?g zrV+B4Q8!qLfGz06nnpO^3SnU6PEBK%Xzg9CS#z8%2qmc3vIU+I2t73jkW4r3--c-D_e7=`11-=i7(o*<|3O$I zKWN-v7^92;C-fxaPO^?L0yk(G7J=zY7e`>r=553-BX~p$H5`nU%LV#q?QE;2#Ux2lFx+S%IR)v=JT?B^dgFaCHa-N)D`k27qc6i3 zzxoNYndE{Km~+T-i9oO8%5p&_Y^w8t{kbvmv48Vc*uC>AVwHF7+)aAr?(XhryP8PP zUM^Om0don)#wIDPZ*^sr)`@y}C2?uuG)gsxrQ)r%m0LnK=Be~Op};l(JL0JCk=4|v z&dl&KI}}(WX_vE0tox_;60(;A2Yd-mM66VbqF64hluFr|Om^u^K9@d`$)-=_N{ge* z%gad`^}BNA%GGzEoD0Vf;4%G&4?Xs>$;pLx4h@~Trd%m&Wv!g{3>bV_V2Z&R0+ZIZ zb~tqK2DtOc9k6%b4p@$Ewv!XH(apE0-4n3TH6vt6K!a`41Y6n#?A?qvS(IZm$fLPI zse=u+unX81n!;BosSwEPmEwQvtMnRdJfu*UKr*2S#Bo82`exr}+ns~9D`>Fav~<)^ z0WtwInmAw}R}s=^Ho)B1mA`Kg(<^I_Sml8$RLnPM2My_360r8%0tMQg%)8=O&-3B{ zPoJJnyKmYq=UXW0*^j>Rik7F8x&F6v4Xm3j_5{@Y8?Ea zU-Z)_zqBT`(A4(ryWpB@u8-L{cnsqD`g)+FqdNkM7YNkGt?Vwh#fvl5=CCWjU^%D? zHE6|`7K=p~yLcX`i5HA4sI7G!?A>z>{M0L72O}eA;n<0?j*e!z+j|i9?>hiHw(pGg$2REf>Ll&->S_&2#WLih?&t7O-O$oqJ|NP3I{88xW zY>&^h#3Cu>&!*-C9Q(#FeCdl%atfdi)oM}X3)z)oIX_!0WKKn3`P4#s;Y6vlbT$IZ ziw-Qia^=baXjk9zdgPJ!c3ri1_s^dmJoA?E@$oI>pR6>?>}~+DWJ4oQKrq}Hfsk8o zxdU#y^=8=8-v^m&fgC$Z<*IIklj(nKUx$E$yq+7}Q6F&d3ERza@*rB$Q8c$;u+1rA z6ye=qV5|aF2$(nY>jM=fPLbf!MT)?(FcIFgZjjb@1ok;)OeV-lO|A5z7COOD0cK^{ zCD__7v^1}Z83sF*EY=3a?5_w-il8N|^{i?47?99>AMn7&%oGR>z!Rp)&0+{WWm{*- z8NAB?85oBMVF7QP4e%0%A=j36o&}^p`yVIB0*oK;S?OX{kd`-oYdCDI%)*YsI!&>tp2SSg0e_7KmLd+xahUjFiz!MX_OzvCV6 zfRBIt4`C{W?g#+^!99qt^M0!H#%VK+)H42 z>(>70yV*tCSglkke54$Kop)f_l`B^cK)d>m*YE%SUv_WX*8i)=kDYwW)YRm91suWBPlAGQ zLg_0d!-N2|tE-n94G-UWEA;kuK{AhqPeUn}NAxp(TT?ys8PLH)5m3RoU36Z>{qYqQANso*N->88YtQlb0Y&bfUbaifkO&hnu-aY$a|GukX-@bhjP~H{+=x%6h zZ;8GS0pxN8YVJdzTtZek`u-`9j9@b!DD9+&SeMik;x`=g-Y&3Hk&#=J2!c%UaeecS>IW1Yir|iLNrW_ zHq!oykLPlWrEm27@CzeJpfvG=mtoP|G%G9jx6An6*~gRcXVy0LIFA`<#kfk1Y{I;k01fi- zIcz{h>46=*;(1c8Lf}0i_4Emreq{4Y5rF=xd~fA~0-oh0A_4Th_dW-Vb(t9eAdtgH zkq^+Vno;avLz4DgL+hO0{18~(<2gx>W=T6iscan@@Ww}PpeAwKF>~gVGhSg|5 zN!I4R$C4vqB?T(?7nWUww(dQo{Vo||{|cQzU01GLx%vSu*F^Y3Qm=Z|3kRbgFa6*LKY903 za`D~6XGZVJ(J*>_lVr@nmvRmS*~k=PGZL}e_*{ZLjM4m)v0z_puIVc7bDpTbwbgbV1 zogEtp_@Zly1cLHB!{$%;L0@mGd4JZQJsBdR9kDeH3?oEiaQjS;_hC&xVr{-cWv?F5+KD( zae}+M7uVv2QoMM-^qlwJ`~Lp&J0oN4oxRsH*IaYXrK=Kg3Q35VHxeW~KwAl{NGpg% zVwg@FYu%}chqy6uJFOH7?a;?_A$1*z|K>2ugNGas?V}de|T(sT6&pHZ+ zgdufSG;<#g0SOVgGLl2g4^Ubi_{zCItAJ9L_&d*~;Wki7o?J$4Xm2%y)(kM=D!>nXLqTR3h}Lort;7aGG@E<+C;{pqTM^nde=*@LP^mecsrfr3GIki&lfM zgHoNGs2(|Kgt<3cJ>+w5B5biEciqsX*SJ*el4B?1hz>N^3HQ-uv4=WCoOF0QxKh!- z5UUTmdz8n{&QxxtZ<-w0d`lgk?twVm_FonJarEEX3f=?1i8{yQYTB^%HY)kPvyBmy z$vO9QkJW{;=+h|4t{eH`g4iM>Q&)H86Q+fUGsU=f@s(_$Eg(MFKu8<=PTOsPhFx$D zzF56Yf97RJQm#A)K%5uQRb%T#d+#Gdhy z70Imp?8uXvZp1_iQS_yaTFO`VTt*!nsP};%L<%nGP#X)Cc#du8J^{C##DOgd65e1JT0A@gck(XOY>fv9l z!eO+h$^I}fCl`E9}f2OrKL%IMYVb_ z$sjdK*P-Vci>;&F2o;;Yl-5ZwoNI~j>Ze$XWkNDup8SYDAd|{l^fnW<)AvrX=TTZV z$Ds}xcp}#$1hP`FZfyDFUOq#BFx9xl^gP8N`W9%0T5L$vu}g~R$t#7b%K9x5pLLHd zp0?sBj4k&OQdtR~lN)q5VJil2*yI=m7WUCU!5iC@ zaj-pb(TgJC^CMcpOF(-M3LJ^<%y@r8fi(~qtQvE5-bIBC3vx{it9N^o`xg0|uba%D;tNuN@oOj;DqpFaH0OaHCgR2BZ`tCyEw;;khb z20=?R$B=^TygbJ_3}+p@JoD@L$4HACAtC;rDt^jnTA$5Vxy{!aDB~q)n(B<{6-;l< zp6d|U0EiHU&W4#D**5#gHUM^nFv8n7GeXKtu^to(9l>S9tb{aN3=pgmcBls+A+PpE zfCZ#bllQhXxK(Zg6G8(^N;G4DGwzQFu5Sq<4VIWK*e#JD)M1EJ(qV4D?qP;u_4Qrib3$;&~y7LMRm5D0!z`LWh=*tzBR zCi3>%m+xw=$JpDW32i20@!7|%w=e_YZupM5|hpf za+^zA-#}3GxQgsT^^r-P3?;S6sf2=$FR<2sp#U&~Pp_G0XaXXDNtCN#S<=(>Wb};?hFm z+HjmV21?qzNFsjB0|bf5&j$6FurL@fi;tag;SpGrSh&j2A$v?PKs2 z1ulLp^m=M}M;%`y{b0ncKtNw5gAxGSU{#GcU(CRRMhOCUSpE5+vi}=R?+3)IDF*{< zR9x?jUowK3F1L3#9ImYjYRnh&N?Np1EhdZ_OY9E!?zkYBm#w`qt)xIck?gOeR4$^4 z3}&X8s{_?~${Wxs=E@u!Qh=HX*RgmiY0!@b3JFD!FSxzF{-U{;b(y9Y@ZSUYp3CQB z#d+vw<*M}dJ<+h%Xze^WxP(aoq~9CRN_1m#3|qQCh};`i(sc53jfHJTtI)b#r13Y* z`LnpVIW}TQ`Bx#Vin)eD^HDY64UQ|>^pD-IMU~knkq0%Lo06wR1Pk&gjFeTxQb(;+ z<>C%D(x+fe*+249r*g`G!8ld%Klj~tu#B{Uh_@7^q>t$-J1PAm1AeUVGv{gmT8?9< za-X3As9NBUg6)Bd4cEKGe%F4CrJkOqNseIqj2@mLoaROzO^@t)nIeT_bzokGO#$mE ziaLKYt}v0sDc_)U^9ZAxnq1WUf?(J$0+e#%FOqGCGDp(V3m*h!LO1q!9o|KP@;<%u z;))j7PUB4jsSCt1=!-AdSbnq!*O--{Z(`EXWGt(SR5jL&K>cK1n^`-|YybrMO(WQ%1~26Dgd^r*XET z=G)#-^VX$w)3}UM#>3P|ml7JTN^-6Mwb68lr}uf_eamIH+%SO%dx^WGl85qUwES?O zd2rYiB|>o-a*TaH42iQptRHo~XUas4XF<*k%{~fsTth#Ssj=Bgg}g=Sb32co{SL$F z=7k|}d`_#dD9sJyAS>D!pM5P04{+X{Iz=8BsmSR=Vqyi@ ze^{FijMXSmc6X(EnOM_5TlrCR_y*?b=w!&UcQ5FfurrWK`cfO}35oOinOk_9U;2s_ z$km=^!L%Yqt?qEE-+b!DuCm1q6JCN&XCN_Rur**Wd!#Wj>|K^e6WJ;Yq4FNbWN8wi zQ~U|e2qU;}ntSB>vsX}wM1oKfDFlJY)thL-K2A|egk@&_{`rBScrA(1g`Rv?%|F3ZB?Kyr>^P`Z4mUvJU*n_GPdP`$azVV+4NTO%?w_-lr)3yT z<50cA;q_5OELQV>)qRBrQ=ebSB=KL^(rxg>XqIO=Tf50oaWt|HNTK~vj6q6Wr;lIz zfNgL|g+Y5N$B9&6W}$QHDba~ebSa47e2r&v>NoAogP_tD764$spm|xA(V2mjeJkaW*EA%j7t`%}}<68S& zg5^#J{?nCCe&AH@k%*yj1z;?MWuJMQzNT8Cz->Lx%ZYrZz6884hw+LP=QZi(Ou?jX z*G7I_%#~$Rq|LUa!(N43IOg38Kaa^)6e;jz}390pE z2CGiXyfyXKW&5YQn#!DqRcD`*pkD!|YD;ZS-B$?=NzbR(6I!`tq#Ie()}REEJRZj6 z`EMW7+wX_gcB5;(<@M=q&TvJRsG{>8mr7^9 zSuW)1Pfo>>u8PV?`3|`a%>b~|7t4acg4a=+sM3p?l}q199V>=SW{QgtA^pZu_#tGG zI_vJ(kH!Wgh#BKiW#lA1z`CX`qaZroKzy^hOfqM4hqF`9c)XnkCZ%qgb8oibrK^$_*2l~Cwp_*W?77%3^57oOe*PXy-(PM&}Q zm2leR2aSTYQ(t6bR(6p2%5+p+xeL7NAPJfXR{Xn|bk%aW+R&Dph}zGcZ{g=b z31XT{xbaGaxR?q!CahKJ4!gt?44%c@L`uBQMq1{~?tWV!y)-I6X!NZ!9jK>2h^StU zoQSMw!NSr-yyJed8;D#Zhz-^}F}J!Cd72h~wghekcv}jL2DcpKIG8#7;UgLPrt^cx zPI}t<69xb&hvz-8(7n7+5}!gIbN)U2t9oBFpy={!%GzRGwECzQl~5Uu#2+1W376B8 zn3%2ewHX3{|7GTfTP)1Y%lkY%qr7VE%6*S}i-!sgC|66Hk$@;KKVR;o&HVQN6-2D5 z`^%%Eg5brHIPMT0-^**ZK?_O#ekL2O$UX}_X~ZHPv(u9mpgbmJ)S7cQP8+{x&$L%240{SC=7g5-(#Ic5bUw zu*kNZOM0k6VQ23IPs8`SfC$OgB_!?|5ceyTDxQ{Pa^bXY4n471YJTM}+Zd@@WzWhM zi3~z)*sR+&F%}A>=uJP+pk)mf9_gDpDgCAQ-1%q7IV(*Pd|3

    inVWc7+oeT42jYWI1hKBs{Sq~%?z_GJJ!E1*tjC6D)}ZsZM1Wh|zd~!1|$+0J$7LZ_z-etfkhlHZ~ur1lG!@jOS1d=7G%c4lN0e!C+851`}-X zT_@{#DNLAXlBBoIpHf&IG&huKJSxun^R>7Z+Ev(A?`>IeIXoy zV&)QzK(o|4ozx8%4B+ks&b=l89)HE4WN17N5NwQU_3heO(gVS=id~!(S8e>tqcs@y z#7|+uI@NcmHcr4Emet>nADk^$1Oz_~j=Xgw8)V82h852-a8v+L8?Jw5W?aDCVHRV| z$ko>Ab%TmeaEa|)i}z>QC%hh^4wmCF-e8rdz+Gi=$tF!x$hX(L%4J5iVv|zEgc^nW z{I)2NL9SC*+R3rhAzRPiNlZ+#rnKG;`Hz9?1SLQ^puPj6r`*WELJS$A@ON{23adLK z-E!l;sQd8(%d3-fWcN)#5KHgk1ZpA-K?YJy0C4@^M8Ax^UK655)fyDd6mdS3xZT8< zyVoy2)@hJZB8(weX?0NjSqzNcEi^y~KM79yaH7DL_)EKPanc)9=W%jKp9L!HMUWE9Nh~$ht%%*jU5hXVi#dE?~o@zm>LI%>VJPhX3 z2cwMf8N~JGk`em`-bOuKjwC`ZVsz=2Y>5t6d@Fz|%H-(2+Y(7Kh7&J6_@@gpa5uDG zEbdGS8zsQ5t1c6ow#qU5Q}&Qy{f&N)*}svZ*YD92LUFhf=qQj5wx}_Ck`Ca+nmmbpb&T-Tgau zF1095y~56%+%Mw^m@70NC(I^@6>bk8U*1r%Dky%*gfwsLY9?U7a$Fy%F9S*T!#*Qo zBU$^#|C&@X4bM@WnJLy~7S0i23x?hFl1zfa+<^qZFf$B>wuj^yi-$lYT3t0n!Z|mj zMC3n2{6We#bL4n6on5lsKP-S6kJ?*l8`oWv1iK}`XK%9vT{1~Tjf?Wzv;FA?SMaF= z%v!@1eBa*V_0N9nF_GeurKz9;AcaX^^3hJONm~hnesmtAvVR4V`(@ihL={>%=%Z`7LN!rmI$d#Dh0nO1nWrW8kR$~{ zfvxG8wqgy>ysWP^Qh-N0rINoiv+XUUj^+PBx{S7wn4Lr`39%pyxDPaUH9%a+B+y5s zXOz((6J=7YfAfH&2lwz+gq8sks#uHhPQpc7r-y2>-_@y*6bF87BWZu)9ceMk?NMki zt&#dGYu3_|qGxMWKO0i!uAz|$+*Bj0n#EjnoIZX3!1aqV@H$_KspqZGn9B*$q^chX zH3>Atch1%~^`4H`o;Cdk4E!@;SH}JmquoxIKToOKjBDGakcs3>8mK46lV%n!2SZluauo5rI#5z|RLJO%2(Oe?eYfS#so0FN2}<#`>m?rd&TDsA?H4 ztp7w7+xgHSYmk!wBRB#B)S#+05@&L;2#m!9T2EwUcgO){qQq7pY`~(P7CH4ITDiYA z=DVM|nlkWTX3g{=`>9xIXz{S6I9{C<^%4Jq!8Fy!nqtzLBd#qHHXgoW)~*ShaRh-+ zrh{buvYlAdIys_%;%cASDD`q%13!~hq4jH*uB{EJjS9Q*>SrvnMKeUNKi!GcwQGvM z8smZ8dIy4LRZf`TYL35s*Mpx2upPivu?`)!;Q`%fvjmyJeG!mkj^dfy2FX>vjv}pe z78d7oH8he1Nkv>H=&wOdoOtvS>=??inV1Ho8!eA0gVccdu7?511dW9qjS~n>nUz6F z2QkYrSCdPH7yGyfBZk6Jo9B>{?v;f(gnW>u-X))i2c9fyCILz*$4kXS+M#rr#;%c# z<-A^#h#bl!-j%?#HNk4M+Po*6g{TMF&X)A}Lj2k|<`_dn2Bh4M1I5dEoSgfqq)c&i zM94A}CRyfbc}R0zBgO}F}#@N)AkrK zrzK#bmw%8>D^vl*7#Q80=)l;>+vurlcy$C%_T!VR05+xHx_@Xs0CxKCUm|92iQDJZ8 zNz!%|Hh{w>w3IdnYzR>`mdDFgn^`X`@;K2e0UlPy@;0(u%`)V^TFJ8Q{^O>tmJ(s; zTPa+$+qa`m)b5%&SU8@7_T9DT0^q}rgB7iS-!Y|Lizkk&jR%~8`!VV;T`xJNB|DrY zm8T+%wxrFiDmG-`xP1Ctw2XPFd%|rrwvfiz@{i)*@LyW`^Vl1#qJU|r2W}Z-EMOE0 z1+{xU^;xAcB0#P{yQo~4|A<3NDR;)Gi{rmn${khkx zR3(MDBooBivZwcwc6pMJ~h#foLh?n0#9R3m+0u;=q5`^7k&aeA|0 zaH3^M@Zn*;tH*fViN3h_2BF)lkY`N7f&%SmB}s)P-`o*HZF=zBlf2hMe)7X77?Yf% ztcT{H#=-O5&7bbm$wXHDOQ`-|-5PS(?oF$D+hO^5{2UN|k^W>&gZcT(6$~AE$Ya-b z_-X6iT(L{s@MB8w(b)ZN26p?UVGJtwQUR3s^fNr`JR$1<&JdYAw@Ar}ITNV)s5RCVW25z1TiCRu*{&6w>k4ADDm{C??ie*re7|ntsjxldW6C}7a zI^Rc#t?Nt<_qScNj8Z7AgB@0784>7SKm7AoNVet5k)xadRFSZzIlW+Esk2wqn= z_rbotO+C?$8%e9FFV6%C{+WxVKxCiJk8T$fOo*1gF zUrnkl-|cD}R$I=|m#WR$V3)(TA(cMS&eoqPTY$}b(dsb5E`CO<15bGCenqrif84_t z^%%rqR7R|V%3Vt8cYIV)`}jiwDt&M&SF6f_PWI7%jG=oN26l2Lbfn}sbx7Y z!3(3-Xj8BWtjT8j&B>5eoH5~-Ahqf($llh3-_mA3W^dP^8AL!sJA-J+7DKoVD>XbZ z(C#WCbVgLNZ4s56AwT!rk@N_12$ptB?NK*nCMhvkJoI-HcWoh#79SO;l&P=b;uIPk z{Hmb_RE#}O=4BIyW1^$uPnCrGvJQ(OrvEnz2*-9kK7Q2Mzt8!-bbXdZL_~b@a7bD1 zXy%LmX#1AMdd2lCUB=`nU}7S}&B)60z+kOBmu=g%8l3H^JP>|mRDKORQe;)sDBM|< zd=LweB>!_xD%k*9!kS(!5?@+*19Lez0fzqFyL=3r$N^l`L>EqkP7lBEXvjEsES3^$ zR>ZgI!|gi@CYW3$x&95W6dh8a;V)GuS$=UTT#~R_=wEkqH=1vWY#f1iYf%4E(d%n} zE8rM?(7;rX9uZkoliW>Dv#y7M;iR<9U_)dH4@VUCyeRy#gZ=AJCz`G>>#&IbR-4nn zH1N-fjf??W^~V6^=n`J|B%tMkX`Jsf%0CT&(qg1cBnSz(hhTxIA1gv%C_4rQksP;Jx0xm)x z)g8w5K(^%sv-sW{_We0MG#WeTs6X#1>`67MfrZyn6}CMjA7<}m#Z`=F19!MnPDV53mRBBOfPF+HhfOECj)e+^VO>+&rdp4v1Jt-$$-pW_0TQ-$B)NA%S25ATzH6Pr9Y+V&Q@F-nVUytXD(b2Fhnu1M54qcu0I;Fc*^c_mW$1R<$N^yBUgSHKqd zLyOr%N=oB`Aqe5f!7_`yoIjxa*9gxEP#fZB;>|!h?Rz-exd?K&4pZSo#9RJPb`9E~ zktJ!h4Kb@69&2URC>z?#DltMpe}m{gzh`Lk(HnU0gAF`W9>GeT`W>7Upa4^r8jazxHV3S}=` z_U}@2u|8g~ddvLzh_kmWwrrXC-^7@%5*?f8UphY}v=R}e+iiliho%#12ZC_l4{+6B z;RP_KWueX~3R$%*jaZHPSV5*@Sy!x>o{EV*M{?X2Monbc3(Gjv-q-4pApK z%)+hl32?&i5YSe$R7CU4^*ob8%>Gs;AJt*j)xcPJBG}E|x6;mbTFW$@CwyT7reFr1 zcoLk3seMS`OUob-y=|Hpam~ zf$B6VChZd_QW)RAs z8N$*0bI~#UKwLv}E=n7A`XA`H=}k*LI3%dz?O@G2n|ccHBV=S1X2= zhD;#2CsAM=P14sY!Zg7e(N3y6y9VzoO>60@&F``N@cz8tnaE~Ma zyz)|F_^5Z`AV_feI@#_gNZWtWPycSO;?+0KZ%fJ&O2dIbV^U1*9UYcGkiIbKe!xv* zKU7r{Z>D%9W%OUL_wmxQ3WX^RH3Z&0yQL>cEu7ou?1l)+?Y&dmPQgd;Nt#fE8T>V@ zWX5m_Dq|deTbai- zkP9#@2GO=p=SXf49mI2-D5Z%P7OSikjp5yIGDOY$>6pseHgWLtjZDR z(zmp@iHsQg>n0X5;9sPO)ATG?;RXzLM485mxm0wU8}`0PUWQdXdZ-m}cgZ1c4AJwp z_Hvc}>3s4&yZ)ct^8eF`bpbR}4!>mEZW7z9oq6nT`?xi_eb82EPE{z}o5q65*Z3F4 zNR)JI4E&*I(I9mE^SyY5r*dOJ=}sf*X2&qjcLZMsV&_b%h}0h|U=n~gV=DSr8mw#< zGe$+n0WOfJeK(^@Qsp=OS7^$%2N;LZ&z2vm-@1Dc))IjTT+((${@uA{KdpMHI~CMn`hrA()g zNLPHR5-l?bP*y*Vp4(YE;mU4aRP26y9wdWWtQG79(f1(#%;SR;wXFGD8kvmk>tnjh zb`k>MBX~9e3#s3 z)~Yc;kl^#n&d$y=4#*<|EMFGxBoThccZ17fRR#r0>iZ*geyb8tbszbDGw{`2dlOI* z1|^mt^@$>NU`=K6i_~s;x(L8dci-@S-8cO+r4|HX;mL{=uFo10oky!vU)i zElgf23b}rF$eg9(3Ce^$aN;WAbf~1u;~PejIh}Vp-O>XmDQF8*(Fq@LZ^tYt=!o_F zJMS(zfu~RGa*m&L(Xd^mw;-4McX7Bb^rBQG1ppNwoeBl)s)^Vl~I?JWVt!885 zs$22+Uku-4vXUA+Uhl-Q0r-KVqv2Go`IOF{iwpmET-oAytY8ZqGKsepj#39uc+8Bk z&;{h2mP!LzcN(jens5+(Qw!yEKfe}cY>Fx-SP+OwN`*RjECzo`0*_2x&LDeuN8Mh3 zKpC%CtFW7?6lkQpf`u_gYL{*tllk0Vv{h*apGJj*S&%UY45(QSrrD*!$s~z%Eb>jc zKG_A1>7bjile+j>6*o+k1-Fck^G6TVyFE~gjI?J4a{MQ?X4#xw=8ifdJ=phqqnELe!0lGoEPGeJGCH>+%P!Kzz zA)zo_v~KPf@n*Z*A5)CVdprBFJ}_Mmi`#y@`<%OmNSWP_bE!Mwp@J~&O#)z&Kp=#4 z>CGtaMaXLp;(pyVIdHjXw4XaP6WDb6sw`s zBd2$#s-}M@qW4$GN*TrxVRn^Nf|0_-l7j8JcF>4o4iFAQxvHcPOS<0H7ouU8swF@n zUWRFx*5Xn##*=KZLglFxXJb9Om>(ptC^40UbFkoFU;;2l^}X+s7`WRvO4J)AE{ttO znoOecMJ2PAfjh&#oqR{=JGLuUoH5J~&W6=;qGCtGMN7MVc#jJYBdF{-Y)wEDqGfva zI2J8QPyg@NBLJXPuM(>fb>yfUiNs2x1$eYTY><3_4U+KkI-kv|u?M zlqMfwjKqvf75cp@XqbpG(*_a;UXB0B8_n<{wzMQ#OGsFY;6H#g*EtT-7-`}~4AwP3-w>SatFJ023Z2r{M z^rcFlWsv~^+fsMoKlA)*R8TJ4{_6fV&`X34~a8AT^q-il7JI4ZgLvgSy{Na{@8Om)w}Vv9rD35^vrz7<+D2ZTqG! zk^19ZpZcYd>YlIMabvu{a(au(%?$V7vWQ1S=Sdd>lyuU@cj(b0&`+iQ1bFD8gDtJd zOL!%d|13$ZFR7_(Y#_9ACUfmA$kgLzBpHQ+vs!I#jT0Lq(I6JF>)ipXfw?+WsMvhC ze~^W@Lj5w#92(>+(2ff^TI%I09XGE6+{GD zRJ)Pl$$f{zX$>zI0%TKT;UUMA!6$LW6v)YzVbYevK&=+~55f@G|5&u=mtNLB0yuD3 zUYt?!^5pIJL@yTFx#63XGjT@*TG!wX$RH7W!FddcM)0wpa;@!>(zF*ekPzIEIeQdv zaNg03AGo#z{j3;Sn%Qp^F;4^HCFs3uqacUY!$v7WqkPnCuIv?!DOv;#qdevvDJ-%>^)|xfppLWysw5w zZ%wXq?szNu;(ZO;e#F{6zCpUZjmGv7dc7|1?s_ZsdlJ0EbbP$s6BqzL1{Xd!pq`P# zYPDtf+Y@9<-~+WnuQt92ZjTyYuv?_`-d2?q6@9sQZ}Fe-$zg?}ypahDNMB-Sqx zVhY*b7R_H7Rn%4lEgNb|%oUjvnrO+}p3&U-cWy;(dU#_o{42GzaUshF#bs>twlG5{ zy*1HK=ok%HiDh|r-2z?;VzdewW+G|>5?}h^e}y54bX=aD&nKQ1Mjs5`&%3VBo{h~a zuTWn?V&0wq&({zb7@f72Vne=2FNT4|T&7im4G{^Xy%42+;p#}y&_M0}UO15;qQ)c2 zP0J-dQwQol$w`1%L3Uu~Y06QM$>;W)ikbxI#;!2PP}OG|m=26t&Did*bhtB7;p#3~ z)|(i@Xl{8#JCFU_uQbba2?4pXV8T; zB)*XA_hZ3{FA23NyO?L4N(p$ zDA0X--X)3@W7N&z9uFOHEq(@(NhPxN+3V+FoOS0K8%l$zpe^Zc&85$vTkhQ{t;UO@ z;U<<1JZO?pWD1x+6vK-rQAFTU*IjiY%6WK0?pTUgdE1#F`qQ9bg<7uhNa=28MMjrv z*O@Xh~mtQKxgWE(azw!#7raImNt{HbVFXFbKS`rKK$D?#soYQe!cc-@-t zNoYN2_R-Dz|A2}cH0|jXhxsfX*^@$11e||@Y@9h5eLlBXo#aP_g4X4D$N20q>Qy>H zy!);OUn_ibH6$=9e&fP`kbEEIrJhn(9OgF7nIjLSsB~Q;M|wz8$PzRC&rnu!Tf3CBD6UULY09t-hpr`haDh}jO z8XMmmHgW$L-gXCUy&p*KEPqXYgDl(V1wgy-BLbme`^`!JbRRe`VQ9akejqjQV)6 zHlu{waBS?-6<32dK6@eEk8^vYNl{LXoQ^K~i(-kMcuTj6R367^j&Wy!MMQfys^)ko zm~;|lTY>G7!;8?Qt{GI0TAYo`_n)Oa3aD?mJEjNk4?5}5ZKp@+XXkHrtr72`lXLXm zW*vGYcCWDCKN++%pELqOP}6PNX{VSGY*0W72wJ&W!7mY^38}dxn$yfnSBw?-rpYy= z$aKQh^qqIkQUc^>59niTgv~p-SQPWG+EF3Ma#n@(lcW7rvt<8&4biTU3i-H$;luzm zHVK!?^)IZ8*@pL=#!N0v1MHEPm#iT6a5Opvx|6LMi$z?G7CT~ho*Z6Zs3luH5W=sK zP#K{n!WJK-l^iCH+Wt;K3NCqi$EgQk5~7_lx;>cj65rHWskhqb8ZJ@VfP9*B=zw$2 zW<~_|Z9Q%MIC+@$7X-+*@A1akI7Hd>sA4L%&8wUvT(0VKkP}XaAM(kp?}pAEGD)8; z6L(;7E~q%j(Or+2#ciH+(tw}Eer`>E#NUN8`RVcac;=PHec_iiPC+E!XWP$a^tijr z)GuV83sqluJ)cj@n~3k{2~Ppo(AZ8y$t`#AY>x}l8vw9<2%it#iHFV!X7oDLpM8y( z43H41D_B|#yYMflkWJ77oh&mQvoa}T7Yot8ksD2s?@VcpQz{p2U9vJUD}`MQ!)!Gm zs*G;hbqk|K0Kac=nAly}ZoLnE z8ne=1*D-#Vy!dZGyvM{r`L+v}`bw#o@q9dT&u478MhYr@t8cCzfM`OHjg4j-DFrNH zr7Uh5@^YK$Py4?LR1>ESIlHGF3>F)j>~sR8?f9XAYZ&9VZmK#49?)O^OHkJvTE}az z!z?+H4@vRMgO5bU52T%`4AO%*cT>!=#l5OD%cCt0MQii7;N*?oU%jxev>3t{y|w0U zJCQd>w)Qxdoy!?oJ=lF^OY7Y_LJr4y;%KM7Os128Py`$&<+0z!h)tjCr1f`V^|bx_ zmU~hMshUdCX)f^W$3u9{5&5<{%1=M`(9s_=Zu=gS*YoiDrLDbDZ$d~={=QZ;2+Ikm z+u}TSb6!j)VVd~;TeOc;s{ZP3pp1!n4i)LQDWvB?-|d~HerPjN=Naf7^scMVxBAXp zGV9Gi0b$T__bs>EwQ7zZKQCcm|FHgZ?kmnp?IkhSSufk0sNmu0x9zs-W z6^s9D(K_lz`!#W$x$TC4i#@dAFz06e9cQyjTk(*d?PwHK)S)dSYqN%Tr6~rcrD<|` zosdamBZIg?z>qqwTQrW6b}imEvvWWEqwJNUa-I=Ws+*!6cvI9%Rqqu_;0)$&);Y+% z7?be@g(7ATfm*%R0x2g}eD#=F2b9bIoh{cXVm{bN#9}6c1{PRGGAKa^&^z)$fP&Xzr)dHp~wA4@8s^ zWX-7^&vHo7x@J{1wM|;EnsH*Lp);cri6-q~Zkm{a-? zzzz<#>vK~usQXp*o7_sH8-I)EgT-r4R1m8A(ib!a&l|&~AZmZ*oPdkaFZ8(!OW^%g z-+%r%Mv0ZUE>*e4CP2`oRdb#!dnkl&?w!5aqSQ2Sk|eko+V&#bjULTlfdpJrn>Ho3 z3K=#S#Vn4bEh{ciLPCM5?K%!eO(J=dgKm{QAkuG51QU^GUC6;B|Ex~aCqC3v7b-1{ zjZgx~$xlomzs-ibDV0IjAGpau9SpwuPiT5uN$FoQ>k%=B!|xwR(S0K~dpE%X%rfq48ClZtLIpDdlsFwkFHrjh>B*N;SLH&7FHBigB{+ zo!SHB$(fX(HxXwWwNGbr3sUU2hZY_nk^)TMNVc8HdwnIhDvJ++K0sUyzb+)n=~X@X zT@eF>YwNX$_%>zjiBV7SIj^Jua|y_Qx1wq?kJ;F50lU{>=4vOHVdco;Hq%uFkvJjA#CGdR#ziIcqDYrYGMe0lZ+J@hL zCAnDng1NXQ!mYe&vR;MGSh@}nmDCS$F6V^i2Gd^seal7R$L+>{e(QjoX(?xvJhXO2 zf(caxBc3VI0ALcf>1Bz-t?kQ0Ca!c~ECj2|ac5XAhfHiZzI%kp1EILlv$&8K6&x^~ z5x((kmS`GI@2QiFb*4l`qdX1kpuZUV$772W1RZKPc(-WSoz_D!Y(z8S2rT9rKB-zS zt$#owDZs_?(@jTG-&NX5=^v`VL^L#@kqRW8HhT08wnKVN%zzi`&q z`EY4o_bg3M`QP>*Z|c$E*n-%j83shn@8{f0VUL18gd&T5A8l|V42bCFUWfbr&QqoK z0V6*jADpOYKNB}QPBvCOFtN@lO-Ej+ho6XtWf1pH3G9JkOa{!HzPA6jwD@j9)u+!9 zx9-vp7?w=}D*FAB+%|-nNb}C3p81x8drG^8LgkRTTQ|;|%&lx0@gt~Zr8*eaKmK{S zHL+z384+Ce`(e0$)I(;JA_6#rpK9&%jzDE&g$!})P(WR8k`Tr50&O9F6^2i?KiqNJ z>V^uwy&dmRevfTaRv)M8zZ<_SAbqh_=+qMEt$sVpkbOLj>)-CY{a&ekG+g;U;@myq zeK&k>3f+0Qm)z+qN~|&5jG5v4w@R*NH6u5NZi&jz%KC^f<;EL{%#>i!Sh_rIvNvI< z(U%t;-shn*pTjXB?H3V0;zIkim)2Noj?VVa=hQn?;gd@Sm8?=zdAgk7n0@XS7V{vQ zPE8%@&~o8qY)lptT-<{k^-F|~2|}&hB8h+F^hG`>s`Kj?2MAFNeSn*cFxoNQwlmrW9(yVAu>+~A;61stUMWNS#EPIoG!Zv>8 z4)WO#BrFQm&T(yOFr-d^LTi&Ex55%3JPImd2KhI$t^rxWS8uYBzbb%FwT)f?Gr{ec z#XOsIw=y>1ic!mmIAMjpoMSC*hO0EQb%?*-1xrLISVnDuF!g8G!gz>3aoH>8wx0B? z;~1VyVQb~>npFJIpK_`t!S2nozJ~|8Q>$B-BoHEG59e?An+a9I(C_`_Z`e$JR|J=9 zH-xUY$8CS05i*3ooiG&K);kmx#`V$*{fY2};$uMni(8}FgZ4Ckb|@y1fSe3QLtRI< zybqZw5uy_&G5hMsfVD(EwlqFtU!sYG+n#z3PXkq$Bm^O#QlDbY%CzqO-!K$FjT{cN zm?+wEszn8K_|2SK{l@Kg)dm;Lp&fDp7c!}BzfA0#s&>JWON*@$Yr!m+1h)cETih&* ztbkuI$2v5R{vA{5g^f&Vz%?{|O!l5XLt+JYQM*ZgcD*{7pZg2CAwaYzBXT`t{2uvF zwJeR5dzy5hfvyUt3c+4=B=Ldq-f5LbOu7ALJ?x=@o`n3+GaX4o9TKB@gYM> zXTiq!wln|{ia0Vnm@qgfC9-5H4NPWkZpeAn`95SGqZcOZLuaH2!UqHQ&GgELcO>7t z62smPass+;5MZ7XxZTN!rQO9rMvd#TD$w9`Zg)3f=w`5-cyoCCtq5kaV3JagiCZ~j zl|S4>qw9ygTFGHw0Z5U16p0`O(}GNT(Ju%O_!7{W!WxE(uui?tr+WQUj+jG#wg)DD z^M-be2oSX{%q{plUBKuQYYl0H4ZIq0CrdrXj;`YT;Ln8&WUhUk;s$_)_BEQdNanBq ziRafL9*!bMz=vvW)#_(H`Bf7Y%<*|~_@G%)vj$^j9~{s)i{PQ`s{^zM8|5Z`dpkJ^ z_#5be3KgdYL@9ar%h@f#{0K=yHyOhdm9klIvt_7RwNWA`X<7hBDI_CGNK+9td&qQY zquC$0&~aKI>#ij_7Ha;PRI*(_t6mv`zuv@{%3W%d_uta-1wPZ1s?}Bs5gKQHYlm|!UR%hOdKfD0KrC0q(x zMHn?bXigc{G7(c^uvk=Was~MruGWMX&Tu^)w>_TXg4QaX1kW#Z~Sf#c}PlOa59`v7jBtGJj4XkC9p4gYBRiAHFC z7v%EOz?1{iHCRKk3>+>%UBUsC!N}@nj05&Q(l5oh`L$#0{%=p|T&T)j_7iy6B>~t5 zUHM==MQwM%bjt7Eb-?!iRMz>;-DS1%1mBZju3VwoahS)GNEOaZrPCGj(Y(`+siE|vd+2Ha3UVi7=mMtGhkz47+lFQSW%O>Vy4UVquj&WAZ4A1ONg zr_RGbh+=~bD3hf|O!Vy&MKN2Q%Nmx9g8-yvR5mA*t8ZT#Ysqe;{u>wvvKoQQ|J85V zEFVUI|+##K2vidi@-u;Kn%3S?fiRF zWRJq^?aeEw?g{kVhQH4AK#R%p3QUJp%=Q6H>G2@~=}Y9Jc9>%VeQ0;SzG5m!y_Uk) zL~@+76N7yG?3#-(=h^PG{eAg39dtMkYl@!LfVnLX{-u%fm02@#=&%8Q5wuS!u)RzZ z&O1t?8@fA0FGX64rBB-5OF&HFg zDe&=^g|sR#4X^FhVO3-Y=hh~IhY#50wAvi60`b@Q$<7C@E1Y)$NEa=ZLbw}rGc1_=23(JZXfY4%Bibrb4;8_hyDEDnu1ub%o5H>NA!fUWXQyooz6}4kFbNv+r_T9>_RS&7QQCJ z@JQQYsBRF~ET%TlI-OCnID*LKi)7)_;KQ|+RihvGCH%_AMA$esWX=pwHn}6r2UD?T z?Mbai*fU!oic?@unv9@RSJ1$qN0=0Td3GXrkR;cn+l75t73a|^khq~~Yy4~a_#OYAxIX#voN>4AwtU?}{rxUhsrGKBsye^@ulV4=2TI%`GseMY`ts>T_7;rpnqqFX`|B<02LY% zaF@R=oqxeJTQYuW=BxWa=pufydkRm3(j2g$#gI(#P(PCwCk1%C`e8x6zFOp${!FN? zhXG;Q3L61RFAm|#r5t@F$|SvmafpDxqWtF9gN>tukbm;X6)yk1d&k?w@k*r1t{ODN zMg$TE?I~=Xna|~8DvVF zpoanBfz`E-gm(UHnlTlnpmO~9rMb?I?8nKVBkh-Zk{W-$aX89(TN7J5Xzh0Og)f26 z4ykXl&|L;}xAKw@z#5PVKT4=wcqSqm4rtR4fSSe69!cKd~Wxp-Afwo zw`F~Np$6>bQem(Jn`Z>N+UMado_15t>n7I`3z^|<$h8UE&aIy-bj{uXY zBl}YY%-WW^xFcg%E+k7EHJWHZfyQXelEY**Ix|_2!m^Myvm{1gf%h;8bBP5rSR@u} z>{*iUSx@LXgW7Z5~fwm81E>;W(E@xVpS#h+cxob0_+B|pWy>uzRZ0<}x-YgbeVs)?P zoxOCSSnFK+Sv?PUj?Fo9(MAKl?EK_s3Xjeylal$&3l~pS@!4!#Z0wdZeKRPPqEtFM zIYmYFdi(!k*Xe@AGo5~=L=mAng)oX*Wzu$9U6n@Me=0Hk44f-P4&cA(92G2S$%OJV zDA8Wq!`uQldNv(BSJ}Y=M8*7Qh9*(k92jHq@Cxw*NfYQFk|yZ~U~?tg^o(pFA29PD z56unZIoxU@6QE3-;~|G~_>H`^>DYnBE$z5-Ax1j+`MI`I={-GRBJ9*t`+#arivg3x zGxoValKytPUJ)ZiKr|2MuRnX~(R3|5S)~vZEiQ#{&dyXs{PcmP6)EAQA}M|+e;uHM z%^juNX>nB{)q|x}@dD8yDE?+jB3MsV2UjbOU%R7dXuwU}WDBF5IyZ~yf#{=yyvOev;?xLB z=`jsU<3g?GRfwJ2^IL16{vrv#!6M~UDyj4vTyVv{GhdA0be~}~4e_G~NeQ5#ulM@3{++aMJ zoYK4LyFCTwZILzuUeGrNU3YGC-a?`Tzk>C?!@Ku7N7FZ2(cSJG)J96=guh$}W`mW3{z+)>|lk&r3V>08zJYNMt7R>PLM& z{okxVeG?Pt+D0faHuc^qAW{%DOM&Wu6^@wPAy}SNg*Oo)vjXOxiWF$f6{=vm>zf&v z2|&j56^OGF)IaIOq%&4)qx0T(B;lX*<9pDUnf=n1RTC-XUn9gt)2H_K(yFRf=m?8J zwXV^;-B#RU0C2N0Wf( z9vY;G*eo}2poSvUptpnEZU+2#n7{)u=KWnUhZkX;-%h~!2|1I`I}8`T`}T4g_(0e- zA8bQT7!kwAWntn@EyWfe6k=#nxh`uG(B8pB(6ouweDWiIGik`q2}PTBSTgs4R@ zjs#$)Ikh8KZ&sL!&0j*~QfO_NJO+U@k`ZVbHZ1l6e%i{PhNZD3vS{l{k>;uF*ZTHC z@+3D7+_lAMC*D%i5!$2v>zjk>$mZHx2QE32^yB5!*t^BY#mlt}OCl#BmjZKe0z-Jev!P`WZgTA9&m|=6r<+><|g_c7t#{+~cV2&$;t5oUL)3`R2f76KsL1*6*o)%u%a^?X{YlP(gfcOp{p@>ji1d*6Gz%nn?Wae$v4f7 zvr7qoYLzl7z{q5c3{AZ2=|Qe-GpYMV#>_EyBt{3BQy)6h2GV33)jN?jcU?H#EFn-e7 z@}pMV;Orkrz18Lm+#%`Dl?6dfh@8;*czxi-y*jR-BG9)mJw>_0TkV4b9NKJbe-YvF*Ah0_Y)Rg3!sIVkZo(-F zJfRqg*pq`~e7<0>d&2R%Scb__kE+#hBLl`DF7C`C%U))v%+K<$CyESfDjti<=>sf5 zhtd{%FaYU-(ON5q%254utenlv<<|W&N+`IH^rv;KfZvEjr=e<@*kC$*L!yEGH!sH1ajtdQoG)5vXs!p$^4wQs{<)tK*^}133Og>YgF}d$>e(J2 zpI;s}372@}$#3swl*NYYP5fVvp&!Pk28(UvHO|Kr@daUz9xAP>9);f<)8D)BOgtTN zJ@+FwVZNJxG@4AfqoV2e7BTd__B>tN$*LI3{#5@*b_`5N`#c5&50m3KDgcG0d83}I zb%)-wvv3bYQb=r1fK=&rT|EV)inI|>JC^LUw2;qtee#;M^IEg(fh>ZLd;KqZq^fj? zu%D6{t8^Cn>=7D&c{7Qa2jN$>8~Si@af5`vZF@f;2R`-$Jrw zGXamyAd-D37=HXpOKGR8ERlQ_WP#t0Bu%|(=I)#u_$z{qU3z!F4Z7!piBZ|ZUs7_jO%v8pI0ak$)(FILVp*ap)6{ENzOoj7&V(k zBh#pbgEkG|#1?m9fCVyT!H?{#Ey*NBb_Jql9h~)o!fAH+GCT&-o_w8rQl_}D$TUUW zX{RoV05>Io7t}J)(iy;4u*#X5T6T`hY?Tj%(_AT;hY#rq`tD0ce7obHQb+9_ZN1Bb zt>iD4-J(ep*Ow0o3d(`kv_|j2Q0KKU61t{c=Tg7ds%LewG*m6HjUI&HO@Z>2bd1zBMf?cBRLdC5!_}~P{_`<)%?)-5WiNP#HUU5 zaEb$+uem6SAK+SIV+ps_jOeBkvUPN)2jrAXS(TrU4Fs4)IP;H{s|t-(P^=1YQsbW+ zDnbK+Y_=peG%I9K^GhZkC%i_@6@AEfLWELHC%A>^FLE-SxKfB-zgh$ssl2gJ&aY|2 zBqSnpx&bI8`>47a+yL-79UQ=`m7VD9CF5to@w3!-hu5i=QA&KUUcCi8op#&Mwhu_Q z`&}X#643X8EX@<+KI3(E0jz41E?l0#_`Ws=+@)j{DNkGH|b%cFsYKe{@3)t?&#l;aEk5(atP1B2!-~ zk5@LBrc7qM!DV?Ukz%~F4N*0USTzKh*y6qdGNW3O`4?fVoQOT;0KFnd4arrW_@O{s z-u*w-=08_K@c9O9j@}wd>?rM`0fGwh816WLVxIcGG$Cll>bFb`UO2tgDWy@hjiOc6 z0smiVBfoq)Qq7`px!wiqy3V;c6WtlZzyS(J4G6`Je}=^^CN&VK$R`d=BNcu+E_NsJ zUSwv=(Ih~6!pIi|;#haiDxqAWJ$S3qgm5_hyy_xU2M*i{k?p`YiYV33wqS|~yVp9} zzvtsMGVD>jMt02-tPA{S$AaaLco8<3fBTk8=V>*&wK#DPW4Xa05|+I7v|(Qja07uh zYOmU8jpx0llV#Rf(28Uz(g$!u(jtwt&}S`Vtt@8Ux{pdOb8O~?J;Y;*SF~{B!&ti1 z|J+8o3`8oH0wgl$sRH=K1<|B<@LT(_myQb5Fs)G)v)v=DE)+aLyl=;-HO_?}%Ava? z=-Aq<@c3_`tX3P4INamB?PHeS19Y`}f-4K?lS4k$5#GS&JnlgiM0{HWbo{P${ zc9wnbeM44{5NcoBSp2}*`+%mZC?|g{(04k+S{i5v_ZlN`IPF@wiE>+JyM1%wCl9AD zGnE}F()=oz8XtlLbC21}NOscJoqrPAAm(|9_-EY(gH~}uMcdfYEwL@3N$Cv4_Djs4 z%z|`nJ1r09jbY0m&ro50;SpFaIkiUcTtuu%UBTo(EMqf4jkq9LI@Rc|#Smx4^A`W0-Aoqk)-2j26oPhYj>hM0 zk`KkQb#)?26DaA+3ygi)BjkD_aLlo>8(s(m6R8z9#^R=Eg6 z@BOo#0Swi#2q49%7{A{E)uVckRKXf2(n&Qh&vxm9CQ^YH}*- z^6Npwn(M%ByvOZ=Kn7UeHX;j+i<30hd%|WfJ0~FAa?2lUvOO&F3 zJIKE9+y_%b0QzP)H9$}Pb0Zf2fjs2+dL8p_x4vg|zqX3%zuu+pTn5@gO3aR+)+snx z`KR>f2S>unF=I#Q^}-h5Q)*#lk^k*IvcG#^Zt=ONnV6VBULl9)UbvA_l9~@hf#_Z_ zkm}K@s1Py2C7?^9Kz1D0(gSOvvb|}h*I)vB97OQ5PaqU=X=WxeXcm5Q_~C>EqIdOU z(odnE_A2^Kpt5%QB)qR zi+zXH^+LBg+P+Zb44uYpxEkTE9q^^!I*sCU1(9+{V;V~17g3cSWf>=HUd2IwGTBrM zs@~lDL4?L(0;sM4vFh0vajof$epVp523m#FMfZ8!`)idrbeVTrlP*xuP-gsGIZs4B zcmDiHbS>VNrn=>)+x;w#?G~>d4!d05UrbgS?cfZ0{NT$rx)jsL>QCRy6Ko}h^KJNc z4+Ee`xr8A-|P0_Rk4aI*ASDgBleGVP1xB@t&SPm*wFta0| z>@`uY&1eD&?Z`$G&ORY$=9uB%KI6<#;ZUU1Ao{rB!!xCwhhfjuF!|6T#cIYPut=`E zIEADX_vA!%PTmyA@IJ;yH5ni=h33F>4N`g?-$j>euDVxdf_iT<-1xIC>IoI|E{ozPG_sZvG+1Z=9N43 zXw*Vbn|WY1XhyW?f`ie>&2v=N2K?0oq%?8ca*s)6S}632n=X~|h7CX*yVp#L7Drul z%MoXwUtSm?G|-Ye(avXTqJ88#N?%2ePbxDg!)TimMN)g0fvO2z7^UP$tKf?k^|$De z{4IFmeSA<$!F!yb=^S@fMCkA8UWaE-DN__3FB^p~=R z?yQ#hBB#)6igz0qKCi+LQ*-^kAJPQ|)hf3*y|QVp{z)Lpd53cvoSTHHN8)(N8 z0%<{V=y$S=2j*gBo(>@`eQ=+i0Xx41^*K&XI7nu?xchbEhSemQW?5p@0rHZb9qGW2 z-MS^G0%86QzRpR}nIVieozr1=0Uf=KMB_Wkl2KTBr1heX@IQjW|3uKd1I(r}_3rP+ zw@)MYLgKiNP$g8Y`?V%HbUHoKD5x51zzv<0w*lmUHF|Wj#oAfsmy=L|QDW?~oj5FE z&(ZD-E91zgUI848Z{MRoE~-;oO%zE}tj4%eJ%qvzJck1Vb*omnq-IO^X)toZ6StNHN2_ zNfS$1+1cqG>zP0=Y3o(e_7ZG2V{tJB<kl&>zeyY+aDyzBAqS=D2}Ra;Yt5xTb&y}52TK|Z%bfmakD9H zaD~-YLxvDXn@h!`AaQ-KX0QpR!x!Ms0@|RRd0P;KST`@YwTv7!#?L!kiuem4IP^e={jwUyfa_gy$^!~>#g^Ba=rqN@G|>L{pyW8>3HaJCO441EaZ9}@X)?xPw8*L4 zPmIHY^Q39SpgOn*D5UK_FxUBzUr~ZbPa2_uA-e7SLvw~rIm~lg6=oLGUa|}p7R4fv z8KL8km(C~1%S!sw%r zA`#r#ztMY#=A^Pm6l@~G33VfCZW4u5G5qfAEhO>WH(RyB44^|Hc9_XJWY`>h3^kMa z1(U&x{WI`jO=;=Qu=}P3snrac4WR|DO1;*{`&L_zmc-$ds%2B{w#|vniET_Yv2EM7lZkEHw$opqbMO6rLBG%L zz1OO$h4RH0|0A*62tAH;;l2TW!XZW0aDkx`QB1Ky3^%*q!!Y14 zSL>o=LRtORS*&3IKhZQ-U7+gwUoLFdxnk%H0W7%i!fl~yFexc#A%3HHFpNXI*1N%_ z2uk;?eHSgXr&PEM4Mj_Cv)VJXI@s^i5KLCH@$3PX`$j{8|1T_D|6pc*7|Quv?YT$t z-No|FZY=4XtC1;*q|(4tf)MntM=;5#ld>C~GreIExX;3*7VVj|FTkZO<+X3n!%AEI5wV5m#XDBzZ>gpD8#nC+(q ziK!=n@J%!d&1GlVwTNfS=s~K%i^agPt}~8mr&v`~^c$=Q5Y`mFrLMp)52K{y11+fA zRi8HJi@EQfM&rwFsKg`}_xC|W2rj-ztIC->X*%u?kJk$5Y%-vEsCe{-#K-lL&)~F`+k)ASI1@tk%!sh7@Go}UMB=1k#EF@ zwGeiWsvm5;Y^m;L3Zwo5u?fp(xBad#!0v}mhig@g3j-}F0i-4RD7}wNpO{HarR$w` z=+v#5XzhJ8{=scS5nP93DWV; zlEXV&j%y4;RJXN;P2fMaelF|Eoz>C(lA3PAem&J}M&$_b%1(prtfF2+Bm9(I`P;j2 zax&wd-7#v`z~l1v(D$oS>`FcPnV%@q==NqkU@8oQcBwzkxMpDD!d9cn5nQL!8F#5_ z6-oxPCLg`O1UUE?nMnYw)+_W+*&y|&ISsD>JT}=|-`+fy1g&;LSaTo|YKS$>ShA?U z%aYQ1xbQtP|DUIV_qrI zqF|ZBr>mry2&WirGSZuhnVp{+odUUnmKKQ$b~)p|eZKCNC2_l)v5V zI2SI(G>@+r4`Ct4C*1`~ZN}x{t4Ygp`k8Y(S_8FK>Kz~h$Ii`j)2wFmm+SqMY|DD4 zrHkjj3tYm0@%?aBm4a)B8kp^rtIZ{S)}?2DJO-!)ru`o4(Qljr%tZ28Twv=h zSAn$4Q_7tWOOpT&uWMWr&E%wzs;23#G|jZft1C}eHFdR~VlSvvx9P}VtYqZ=GsOLv zFto_&Fu{kzbVp`>Gu{y@P>*+b=a?5OJ$3> zK16tmq~_i^F_0%eg-xLvIpL+V#m3?|BSSI0j!H=n>gA^*_ZXvy!JF$iO-8Qi+?sxs zKyW8;l>&IMHG@f?e+zF36{`M7y1`onEdTVDZnr9vQPOL`iJt|mOu~2A28m-~ z=HYra3Pk8)DSvv2HzzFI6vc7cv$k{6T>6C!?Amksf1S-tL~=`iX2=@2m}Z5aMH6)F zls)@m|6ES-H1fvC_WByPKYA$p+Lj?LO6}$N2(t@HIy8N0%X!Dq(AD)H8oEbqg9EoI zwG>Zq2Tdp#C@eT08RQtptFK`}+hJSL*xvCMmZOS9Yju3ZMWDWWa`-*@)y>#_htK;q zl2GgR?1Qhy$3xk31e6adKiBNM&kFAEdGvB}?3V03mj6b%dtQFLitwF&=DT`#g?<4Z zO)gh0kkcT4na7Rp+=dVa3V0vE@%ewPWn<_3UY6%WQt-RcHrNIa**RS92D^S;E7@IK z1}@&z^Gfc_z3-XM_Ctu~eW|s$pY8V?@vWxLmBG@o6-h7;S|>EGZ4_-J#yA%|o~oZf zcP72IDAca1#)4~$$O^h8=qVS)jSfB4WkKU(P>6J96rdeye`%Fnu3B99J@QF-l>6XJ zvcI7x-3Z3=8QW*~+@2F(KDXq4fTKXF);{0-Hl)s`>O>m>9r2KXV8`I+O>phHJXdnKo3`2#O6tc-XhuvK1~mviHXVn zj}2E1V0j;K26)A~`9kW1Yo46$`?x}RWwl#xhJL!*1ixQDI=L17W8R{azdhj&Apj8Y z`37_@mfXDE`0Vz*#N`FdvD{3#b>cC=VGUyhJT$yLT>$)Gj zB;4%ep`jmUg&@s>DddJ1{M{?5{1r-LjogyN<4{MQ?7Y@0w-;tR#SlhR)kjGWIsN;E zU1CnNK$2KhYa#SPGT$OJ)m*pRQ<8SK@gDTCJKr--NGd6A2311TZj;iy3-(jpvmOorM zejT__tTJQRS?Tlg;3I~hozxKe?5;1wGBhnoE5j6!*O=nQqP>?|k+%=3luY$r>3SJX zUqKtZKS93i61_k`n$9pKqF?I2EeHf&f4~t1nhmbkwi$m;IO+TMJm_xgh4Cn}fj}mO zq85r^7`VFr0mml?AxCqgpP)E}A2LF$6ZrbOz4UyB*NnTD$aym)bG$R-UvP7C+cI#^ z_@Sqe8`IYZF0nJD-VFx4_|x$ZCqwEz8;q^|5R6@SAvgWwev%@8%%^+4)#UiXM)N&z z@|X!WNYA%j&A#qW74>K@@>!0iBtet>BnDE3ypE7qoKa zpU#s<99CaP<6|y@H=0mG^ULx{Z)c|1Vyg&4_D;?P=LV&deFimujoU_FYNK{Fb5 zgb23f@5+fEeVTmG!tf@{HCuH?yrl5M0aOn4bv)rcJsdM{iOli#Vx@)+BCPqy-KvzX zcL57aC5>HpP#cxHRvMGVEiw%yq%?GB(Vf?5ld=|ub)=d7l{|zJ?PSO9-0RVVVALxl zOc`;1wdInl`tAgB_?`ma2jSf)$4wJo@@y zL6e4A$!GK-kuFnVX@X@7P`-6fF??nMTM8~h-ic642ZO!h+)I)KCm*~U zVGN#PGJW$k;8x6m9<6u3(cJRlF^mwji7U#HrBfxJVhCbxs=he7O15i+d4ExfVj4&w z=KQW$#@v02qP2e*Ap;glD<1TCTLILa-gmV2+dl6G!%v&`XAk4{2YnKuygj~0rkr0h z`>e!xV*1+9PlAUt0ejXZTs)(WW#aIA4U^a`XNa!We*ZAP7Z2wKBP67QCU~W*E#;O9!yiriJ4$& zU_#BMQ3f!+na19$^Q|Ub2$x?{rJ<`B86fApFy#*)j<|`|!r0;svaWY2((93~+AQU< zoUIZr1jJWTYE#W10+S(xC-=xKUb=8;x|oXp*w3ccaW$12;e6ATnDA!wZJo|lzobCa zR&6ZFj!Zb#Q%;$P>F_*62~Blr8CSoQ+tR#%jYv(Rv=FFOB3z2HNR`Q;HHd4$?QwG} z{7&_|ZSU)BXoF?>D`5fm7woQU2D)s2wBhXEi;JeMak`vue)_HM;SYnuM4n*sIX-QE zInleD`p=E_yB1$NO?E8TBehe_grzd^$y~&fb|%7si-I|COvhK&fyve*pu&r!YEu#f z@%yz2dx{C82DIHX)UGk@^95xgQuDCiqiUP;;f|DrY}fWI=0|D?PE$piQkigMUK6Jc z9YMPhnHyC8LWs7>RSH^J-WFsWIS8_vrCA zja;RsjYde(6lF23z)1+EGBJmyUedmRdQ@?obnD1mVUndX#IWy-+2!C$QH{aaqtn=v z#OcPvr@T$ULQM3HV{Q2(T8ZSx_gEBy6dl2l>G={w6R<{ci#JV0yARW)9kBRKMw^aX znof5Y|H<-!O`}@tSW_m2>OAaR59FuF3Fy6w;$@AYO0#o_jb;=uWr!QHsGp9MOJuN~ zlH$>t1C@jMtOnivDyfneG-A;?f+8BkOGlHll`dF~yDwt&iPQ ztvX}9<6i7iY@lJkfd|1nMmP;!+NB$~VhAZK?O}-<2r?SenZiKkK;qU1t<=t3X^|VD zaT^{r$61ikf;C^sKb3dw{?$*EHGaey50!J;Qdq{cxUZIuQcK5rx94%blUIyZP8Ts{ z^Va4cLVs_Y0I?;p$fM3cm~2rh&|%Txaua8Fe&DvC5!9Cc@B(}ApOXR`Gy@LtBv$^^ z>2r=yf{GKo$YuVuL~kA|--K$K=yyDQ;6%GNJsWCweb)D#dVNmA<#S>gsPm@e<y#8-!LQYZku$s;%eEdt;2a`F}Q3kZS58t_G_0reNr7Pz8`Jo$=@~^DHF9!Pu zwqcoJ8syR!JgYCm__jc9OYN-hckcqOQo8#WPKk-4@~eq2mS^M@HO{9R9May8A9FjH zK7@*zKk2E;M3i0{T3N>(#O7lQ-~kx*x_=;CT&g0@KX^zG8o4}bFZF<>Z4}{#1(kDN zt=~cUMN9ha7umpRu9P>=wYcdBw^d8vN&N?$B#gd6%+1t?!*Ru(&sFu4Yp+tE3rBd< zf_{HPXN@F>n zET`KSnJavo?f*Ey2QQrdD)(|1i1 zlGW4+@SxuDcU%o95-JLp#B&c&KBS3&>Ue!7AtYhNv8l@V9|;Th~^hQb*Sm)7e#d>U3_rNJGq_+4Ys{;XYzGm3CN%Jg9k}$P`T~l_epD@ zuG>rVRQtxp(6uV~cRwu*lkify&bfe*lgpAbF~2C7L+X}ev%sSG)gwSG z$CL_D&SN}g3^J#Ev~KV={Q|s>ran+>0u`Z%iMpCl)nL_$J5<2=01-d>$S3q>i%(Mo zw^QmZ=Azi){z$FW`xOkhALClep<=$R>9no5-i~^&dq7*>mCSf5K)xHhE;6rSS51v|Gwtm&yR=3KdHoaG#ibKLHX|k*Zgf=0eAZmwH=O-fZ#Ydat- zt-_|`%Y0ECJCMawC5MJy5@1qgl}=}sLxPrnfZ5!R2erk!3*rPV4B3@;<`+2k-tTF# zP0~CoV_%44H2wZrg%!;N{mJ=IFs8IA=#PD0Ssi-u{b(KlD`(0b1ooKgDtJxJ~;k^a+r8Y zzq~7G>_=Xh6T@z+y228&vJ`|#zWd`CMfgRx!#z!9CBx(3s{`ljTf_l{_rVR>&0WQG zuaDPLpO4q`Km?;7PBfu!>Q+L@R3|);)IrCsYht2?ldzN~_J52US{1T&l7vxmz(!JL z7}Pj6g02}+QpaE+C2aKcsqa_7?x>;#ib788E@-blt}@KF%Mgc?E^e6= zg#q?AS81uC6=!?R8219B)>l@cZiS(Qr9_(D#R(_37G1+J8xdYGKI|+~pwMQ2j?43R z)`BrtMw>87tS~8>YVOKanjZ4U_-Z%Q7dBEp4#3t>@!a474U&{%G5^rtXfTa{({aVd zO^`*>kpvime-Dhc&dN-o;$AWD+mAYpovKT=Q?LqJXuBV7MKa_BjB<1`g$k9FuSy~1 zbG7bZso+9wMetZ=Sxxdc1uu(#Q!lt|z;gb;n|A@OGvub(=coSs_S4oao! z4r4Rao=M*Zk`MZ-q=GV&HR-=u5jgD#@ky$=BL@iw_`B(ps${GTx1pSdFxWowi;a<1 z<2pv-7m|JtWseOZ4TDLxwcrsdZ^NwbY0`Wb&%P|rz!X6*nx-V$ovavp#tG1s5I1&R zr$)rHmKcuM-;=Q6e|V%eFFKqtS?I+z*EX!EKpM}cxZ`byTKks;DZnNuU6ksJ26xsO zl05p!t4&AQRP-9TC!L#l(XR`O)9YLWuZL}ELKnA!)58}oMQznnL}TFKsD;_mtilMF z!wKzHUHtyx4*f<*IWvmsDtz{I4O|nJ;|u9}wSusY<=Q`*z}Q=793!;e#24n9c5zv) z+XJs&!_a?gtPsy4;Tr=)_lBHKS87c2jWj`ESAG?{liY9G%M9wqQN|_` z=dErHjS!BG6tizkPU#v#I8;kLWZN~a!$AlvV_qzCui-1q}TZqlNO+F zp|*{1NZhLCH01~9xDg9d61mZ4rhVawo0dHd+xQ>sj%a4qezn##emk+6ponxAmy_bz zZn>A{{73K`zbXk(Ti0n{Hql1mEuf2 zx-D+XIrIdG8u&HUu5v5y@(N;l!Jmn8{f_(k79T0F*^J#!{$-6okAq=CcY|xtJ8ypP z8vorWeJ$LVk zdNCs<-8tZB=Od!r2_w-uW_P;z&dx=~8R1=o9_8kH^sa6mC=(4JQL)~YzE0johr3e0 z=T;FM`yG%`+`^8Jn$<+vaO(KnZ(#7b?N@Z1tc7%4>KFIZO-PTj<3^+zC>Ql&XsC!Z ze^bfX(=p(kRr?2uxvbLW>Q-PwZy(A#H*PD@C3{!p2mznv55CT#(WN7^b=@}4GOwpL z#=ZoF?iSff6~l>xeA;UKdQ&T1+EWCv`;;hl*CDi9VK-52+`+cr?aLy=jOWxOn8G#( zo!{5jrLF4;S%0oiRJKGHq9CyJ!9MVX1D~2~cY?x>8PwL(3eTxe^YvF?t+651=GV;Z zFrDlB3y>8#F?xq>`Nd?q^8jf$j{C#Q`oFxx~S)=&#?rjXzuGVTzwZJzFX)_2Hxw)+6)5qn~KOifp%SHWZ3)+>VG zvBv@wX54-zd~qK}?p3L=h&j8L9S$L$U#G_t%&Bdw9xKf@gj;|uq}k)9MK#~3#PS=| z*z>?YB{u=&Qngdq$e%4aSL293HY0uBQ41sgq5(j8!Cz!CDyJhI|-wkfVTI&PVNCpj-5 z^1HAKwZ2|!!sTOYW-mn7UESs6iL9c83ik93e?XgvM?*IGCXF*VQ(yo!?%UIAPusiF(=JiWI8_xRW~_5K6H=sO%kAz-FP4wGE#!mIrpiCoxbpfa&u(R- zu||}U_{|@5;4q2gNf<^%LgM)7%S0;cHp&Z%vxw<_6=@o89f~!#o)4Z0=Qg{anc8^% z;*ZeO%O8ktRa-Kh$4E+mhR6F-{JH+hB?(8^9B;MtXp|sdKj8E)CY`sj>~e8Iz}ikyBQPl-?Dq<9F>f0P4C~*d7qTo1tIzD446G)sw{@dNd?GA)44`k3Sfbj z*P>;7N0va`!kF_HaA=D={(0$$3@0V`s4|S&6lYz&Fv}a0JG(1wve+f8Ph~ZT7dCH( z6+^svA<7)R_=s`dY_;GDqj8BZYqnU{Wu-71xj9_>SKYPO^8DwIi@f!_na$=lkGGXNW2%rK>Y|h(YT6$r?#R;V z=Dv(n_fcl`>tQwpuC9xVlmJFQMo3l<5oBGqvA;4`GaONwM9ex7Mg=8Xm()2ds~4Vn zZCtCrCnph7WhoyzboKTBEH5^czo3U_mzLC!V>YU2%}o zM=yp45dTFU&@wWN5}Y@Jvdy~TY9BR6B)Klbq2wyVH3fSaGCC>o2wxVz{cWAx(gcm; z^b0Lx_28^)ZEPXnP49Z-$><1#W_4&*u`-yJ3}w7uMkw%~Y1rA9rWkAV6pp8J#5TX< zM43rGcQW;WyV`EcwIA86V^YuI(P+0& zV@jzDg0g3f3lK@9HQ8`}Ny$}+mh{Slq1NF`3sJ_LV#9G^VMTvDUReC)nR%w}e(&h{ zRQG)=0gP_H?qT&jV5Ov_Y`LD!?ezyo9N*j(iM6&lBTVVLZ*G?VOyP_-={jjmQ~6?t0Xi6Grb3Y1Mc3f?4cudQr5oLk-s3 zKWT<{&{gz$6Vsqg1l&z3I;MCx0|`?2y3>0=Dt!@Uhi)Y(`0}HUqWPg`4y-gK8{c>S z|B}}9e0g#^?pSFrQ5qGwL=Pb?kEOiqfF*-=2PF|XubLfJouJqtWO#wxB-2b&VSbWf z1FF@co5-N&76hoGAx~M^bg);w1!0hoWFPT2VIR68UIGPPJ^>k0QUx6*9@y*lKsx_#4t?v!S73+@di)xfM-7)f3 z08@QNm;)fKqnE?0z7tBOg5%_guAp?2b}JNO0MGsR%nvqW(moaz7Ex~}XnwR^YY`3} z4mhXPXxr#RhS#q&baTG@MJsiK7Ng9v>*&xJ-YbUdEZv5JhC(N&i^1|fQv5N@^kpn+;{ z9OE*qXIJ|8DPKQoGy$Lga9-7$i-zgHHGrL#X01w_iZ=G}!%|k*U$G=b@-CTi6!_&y zP%g7OH=(0v#h1PHkXUGO{wS%41eW#@?Ih&iCy(;9zd6m1L&QvFeQ%e&GFPncMYy+#U^HTpeJ z5h>IC!9(-8*SxsNR^s-zV>q5jhfK*<%Mv#qGJY^D>tLC@pRx*#Ezc%y1bW`L6z-P? zQW~RKJ8G8@HNAiTa{mg|ju*E6$v`0X<)5?m1@#1KFlBoO=dBV*1y! z-8&}HHab1BFiSm#sohfVr|atKK-(I6tcHE;UuGQsRk-muYWm1N`$bl2ToO*HDjP?< zquJ-e7#z{AJ~)~)3JDiow7%0jmsj`vX&{$v;dc0awv|8t-qtvhOGY5&S4F!0a)A0z z(FX{p#7O6`8j?HOG+JUNjK=?XIj5Ga{e%R8~jRwu?oERR8+9A6sbS>C3bQ96@(!lYqK=i3C@ZttIHsigotG0>Lp?-^b zzv>`*y6Pe#^m%~wR5;9Q+W?)?Jp;BpJdocSDe!v5x79qbS>etQ+*pg)6bJ8Sp*y} zEGX||K}Or%pL95JQ`|YGO89Q5e8aC!<_6EzKDFl0KF&b9TZ!F`w&k=+G^`<-jz&p+ zIt|FP>be(A3HhHB9V)zNBm+s6N|c%sdiZY4sg)g?kJu2JIKq{BHFZ`Jl$Wp-p^j-4 z#QlVPVKe{X>2ZS3Y?TF53UuUxx|}Oh(#%jw`<;PYu+%K_nT&MvkCN-FQ7?12uqmqS zb2Q6!yNY+6AwShDP1Szoo305YAYRJ;iVu97V%Je3u;X*qfBW42vhq7q@L9K7uF(f* zf8rTaSzULGk;ZMe+~335AB;F~zRftyZ`D-N4K!J)?B_ z!>zZV-FDPa?WdJS)$17XiU6isV*Xmcis!tu=`7J4r+BfB2RY!#ZQ?10jv2J_{(}}GNG6ua)nKR=eaplIz3*b5JbWP2w{q$e?%%^N@WsK_oNeT zQ&}d2Yg?^n{mcCnd->ql(s7|vw-7*~d5cNkSk*+Y0X4pSH<=pFN3xO>+_CO)%XG^A z|EC=z_#Etz?vL|dnK#Bj> zcZ8|Tn#ZDX@x!gGkVTI`WInPB{1bD?T;P4R8SrvI<@-S7?SZi*g4C~~z$dr14YaA$e~E0i3icZsi2vEFa&l?ck}x9d=RYf zKBQ&X8*I~kv$HI_1KpgA zCAKN!VYph}0J@#d)zTv9`Pufh4dhqui^PVF_gSnnVOR+0XJ8bkv%VnI%gB#~@=US} zY8|pOLk*m_H%wHa2_dnbuNfTp8+*9_kg!zJe(g^zx_;qbM0KB;t&o!FZdE52 z2Va&%rU`dt5OqwTp+83xoZ}MKyl0KUtO>%U7oBE^O5^rqtV3dmL$|Zom+N(tJZIVW zfl$TH!TXL1Fa_Y^z~X1l&f>yQks5&C%k3*<4vlcE9m+u+y|sXsh#?FFmI{DQ)Ql?T z>9#~MlId|2n3@4`kE0t7i1@LjxSy2`h>6iyJBtkjbTuR&b3h@lX_D(@#P1G-NMZny z2tQT%fT%QklvHR`G`^qh{aUxJ8+23rsh3a)4-bdXTC{w23SVW6ETzi zD&N~=E(e-PUH#|oi%1N{xD*|1K4>mP|KOB&T|{*Us#B=53|WVoS5bVV5_XEHRF;42 zaL5?*bhJ-x?v_zQh&P`R7V+ykX)?77SND|7#eXv)th030*!KxN`O+pzsJj*`VFIBQ z>n0za=a^P^Wz;;|bLk%ot-E=^DFtxu834xr@jkeK(lPpm-ms{(;sf z4%6!TE8~lkQ8&9cjh5_X!cH$p|D`BpcO}s2rdO{i9WPB+&vk?87>{J{^*oEmZJ_zp z!)bklNYl&bZQ=aWg9SVU2|r=zyM|&!aG&61WI_Ic!S_J+4q{PEC|%>qfbIq_eKy&& zaN|Ex(x_HNkKWKxeCnG`3?u$*GkNtb=WET*1r3E{0n(;A{r}V%RDeG6?Tw=%L4BS- zl?pn8jSEwy)n(AWjh@NyC}{?UGJl^&jo4r-5M`egJSO~!7?Nx2ki-uYsHa&86&oZN zgWJ$HZ>xO8)KnL|hn!J)|0l{VmmpHX_bwq~`<`$6e)jeC9nc4y&w94crBq(Vs9?&` zC;|@{LAvXpk>SYpz9YB^o(4c`bh`WN{6Kz2K9#F=iA}ES^iF_&d3%2U>_9$hne46k z7@w~-=I^`spo{c!eD~S@M9$=HLG1a`R)6K&VolO(i#?IWJvK-2y_4uhbiF=X4&K*{ zmmB=*Y;XHk+n&AC(BlH-yT7f=s_@`FRaIH7n8Iu2M@E5m=Ol2`%bzN%b;>P)o7(BV z%ZtAPK%SVUmu!{IVie_T+O5L9T*A+3Ma&>vV z#chiACV;6gl`3lm`(@N2zE!Hwi9p<7)ivrY3ng+N@ozg4keR56>R+s_Sv5PS29NwT z3FLlEw)yPZ@DQQK{j0-(cYqAO*;k|iOIvIj(Uxknuy!KNEZjc#vzz{x1!`>WdjI36 zh&>*UMBg;vV|x2U;Pa6PaO>ypVCwNWyjCsth`q#6%5bC_VI3dz_4#>1W*4Zg?*q#~ zulHLfg%Kre%AYI{l!L@GjmZq@aKmHEZ5x~aYv4K{Dzvtp-T(0X-2U_o!gfO^B%!9J zPljr_PzBEZA`gwPZBt?G)S7Sj+KaLa4=o7rWu6`K7`5U@p6YC>p*T$e=RC^=?ueqv z;njKTju$t2x$XhOL}X5g+3D~J#p`?!=PSgN%%ywDT|!?%_VX!uh=9xhN4c^Fc4z?S z5>0XkK6vI}s0k6VV2nq4B>aLr>0V1;8^ExLFE-l(PCrMVr3%IR`YiIRsQQ2W4qUhe zbP+gSCOaW>SL#G;Bz>TugoV5^@Z7E>Zkn~f1Yw|Tbri) z!S3+R$1BUiX;xO6>Ga;^&nYyNjL}XuX&7VTPt$+U|#jUElSA-qx(wEC0z&$ zuD>zI-FAomudov*0B-BLB)p%WkiiDbwcuzLR6HyT8WMI?wAHfC#z~x|ot=69*@?Lp zSjKDdGe5cAwN=(y_f^{$%3UBDiq2@(tLLEbg5%IEhHY-q1a8s%Zo(8k-2BXjqY3;v zsQUeEnbYufG&Nz$Q43@=ip8eY{@3DeRUZc@qzN<^bXpJ`%3=b#>qF_V)H@TeuoWO9VboQ{JZ; ziGUsH97F;Rd)hIVtsg8IEO;-ofQy2g8RP2-hn*6@-|eqqz|h>>99H$Sd*Ja)U^eeF z(M^P>&v^`Bu-OLA&(zfP@$cK4xI*(Xz{l@h=FZhx@R=yw_m#-yh zgwdCEp)(Of7-k|e%CPXEj?aAIaMtf{y*um}ZJ>9AGU?D`xBMgD7x)G=3j zR?kg7_dhjGbXe9uu$CN>D^^!$&dTHkFGDon#p{amZBbNRl??{n*TWnCCiY)6K~Pa_ij%sW0dKgkvCy7OSS`sgCHa=c{zs?d#)p+3#%F z@5IgbngxJYNv9hup@1J$0(ju)51yaS0WJ{(vHkV7h3H{_H3Xy#pC?Opx!FIDLK7+* zHYBMurWdrBh2<%=UE^xwZJBQ6a+lE&-0L7YDB=9R-y=)OmAnsmWxHXIp9^^qxSUIx zDn+GE_)tli^LE_NY*W^nz>6WwrKNTLH%x>GDOhg)Q2nYdhHFA+x&*1yw?(JrNpI%x zAs4_HvTi|BQ%$b2y$@c@w_$w$6Pjf^FYOdb+JSdwI}~1@04|a2)f>SHP+S)(@{PpZZZDQk? z{PQ0szm=jnHQPhgQ{U>oE0X5r`wAK%2JrmPIB-x_T7*)4cJV|iUyubJN zKt0^b0;HLSnifO+G`5aEK3z(V+P5(b*0*_Zeh2fhOf0<@shisI!%yrjYx{LU3veq8 zxW)=nMa%X)o4)$!zJ6ax;6w77Hs`;$y6$v59n%3E^=$P37<4<`zjB`4R%hPj&7MAn zkhIyz^+x&*HLdEYM@GWL6(%)ibOV)!1k0Z(v@{BJz^o`+aJ zIXd*ymyp&B(A?r8W#UXUAc~=9DkFQ*}uRnJIw|Dwq_tyYMiM&^Rc6N4tsC4d!;lbyx$sB$F zIN(*{%PgGnbK%VFJ&>vBiY13xcbZ*-vOw|98seuUV-c}%z5iIy#$(qZH|qY(xh6CO znyRatVmBt(L`uTo?7CwLrM-r-risXH2|MW|b6gO`N-!$)I_zobFQwQX98$(LwEvf) zMf9_^qB+H{hzr&xT`=y0_ugsx(5S(=+vd@#UXofjZ!L<^)k^;$sA+2=0n!o+G!|#A zWRx>)Sqd6EM!AH@(ia1eEv@c_y z@?$=&r`8qGVoSquaLCR17M`9jli1O4uEgm#q&XA5OHL6<9X35Nq$l=Yn)SAoeM?D4&dB zpHWP)$|V5I-mXsjvRm2K$nT?Pv3nd*MImtf^`PcNV9(SLv987fIYJ|%nS*OGZ+2&- z(lyX7!I}Ina!f24pCla{RUI722~xBGKjK32X`!?oT6CT%%45d-gL>1>1;+vF9}O;* zVe4-Fv+j}-Sn4>7P+U|CAJPloZxxxP$hR$_d|FoQpc&`iA!WA&i!-J77b5L#qs@|) zs1j2w>t~V_i&pwZAIvOSpZYo{jfz{FPEHgAWHQkmxkBM4KURak*4cdqp+ve?^3I5@ ztPKS5QFZAEZ(g0&Pd5lp`7hq$17lUkt?z+rPEo{VeH((n9ZukCu);26YM}04aR&%a za=**-Dpo$ZI`%Zn{hOwY!`;Uds-mKzCYSa6VAHL0=)i@Pl-E{XVTDxI!%Y(*%1YP& zTtuG%ZJcA{n&qHH1YUbKstEs-2o`l51n5APjXXDwS883T${nBk+&^yufyN6NT_#!- z0%jfry<{Mi$9g7s+%b(5tG48wcYqCu+Ee0UTQrj-@dSCw#{n9eHR&yh*QAVN1dgZ^ zR!1H$If@mrYL+?0eVuoYG{eDWqauEwsK*?o!aw!&=wEyE+x}PWoN4RqNO&1|%^1>U zEv&gUkg^iKXocUxwOVA<4{8l-`m#HRK)E&JU(04lzv zP6qN#{zBYF4U_>AX{I|>&Zsn&`8?U%cMrZDm6mh-rwN~TvsV48ukO>#Y0?_k$b43Nr+ zf=*e&+9b;>N~R#3HRlQ&kyWnRkFCf;?g(^i9TusU{_Jvly zv;~1U{P&e6>6{ju1mH^rMgZ7{hnYy>3f~EK5b|c_i`Krn&0;U~2x`X_Nz%HL{5Hcv z{{*P?3(|AU`v;%I8B8BvIkpP8Qjf`RN*qS?Luo(>Sy`rFNUdkpz#iBXumS0jSJoj* zjT**Wsy<0fzGe6})}SA7&QYy=u9Z?r95cNfT4~yxH<-V^qy9~3LGL1Lc8BRSRsizJ z)9xjGHqyBmv^)@0TM#bhD(rR;Ur6I>h~4Atq@YjXyUqXeg1XpZv;19hVuB)BNs%Fu zwhGl>L`9yz>d0XwXbfT5-8JMU$&PK2nt>gciMd-hYGBz-v9db}lZ1B_PM&GXH zZ4&`^X_@4os+Spu{N>{eURsY$fi>S*A7J{jE9SG9({pxGCZ)=3r2hx0ADFTSq|omw z?(fr(B{prFY?YYo)Zmx}uOw;X=qc*R!+(GtU zieqJk_u5@U_HE(J2cam8cuwNgFlX4w>6~D26uO=jdbhfeu!R_oe^p94*WWkpbseq& z_fJKQiQzgtOR}@XiMr)crcn3E1@oxu9}pLhpzM3jO4bz?-U;1YX=FD3?-SAeKw;NZ z<9=p;#xbDn{LcJii7z01<<>3WlDqmmrKM!%1(}!!(w;O9V92h1+xSjVYcDiotCnx1 zts@we3GE6-qJN?q&JGY7fY~Y?0^&G$xueO~Oqtn-0qMd;R8*7W@6)1m^qaq5+aQyr zMu_bwTZH&6>{pJ+YS%D~#<^Wiew@q1g~U~gU>@O)p?g(ZH7A0<{#As|%Hb%N6{%)J z2WP-NFJ%yZHHY6}cl{@4L3nzGVpGPJD<;sq6ppW#x2Y^ZtZyYbc*UtnF1Q`Mrx7GM zXC^Qk;XsT%sj){kQgCZDrM!J;(TVi_A5m8w7IoLOk?!t}W$Escj-_Ll?vj>TN>IAH zySuwZx98Jqn|ctN4#bq{$tzEThH6 zGtsz50;j0v>QSnS=fw5!7%vm4b2tPx(Jnogr^UP^>=WiA{wEzJMDtY50kuYLK$LkK z=`j8V_Pf`3j<}9d5EyQXdQdv z6V{U#d{l%Adtl6?Hv&s_AfvW4$(ZH^08jhSPbXM67{uDBj5J()rnHuA{!i-_>Ga~{EMqvt4yfmSfX#HoU0?v$WRe4y$syx`d4_-+{GX6$!mL- zhb-vT)cCd;zxVdS#Qj^BgG@&s%Qo3x>2hRL=JA&r&45a@`er_35IYnP8y@3nLru@U zbk5LTHy%3;7s>YQY7vjviD~(vLR`^_vkdx>zs~BHIx3{6AhpdeS}#A*@Cg6QV*Nsr zTPwu|&$)o-0kT996m;o#T!^<0GoN!jx4B7egzv2w`AMcgo9i&*)OmQoYI@tCBT1)K zx~z~63!-SOgC_eGyLHG-NE3zpv$;dYx4eVq%sE@U;ygzPNmpquI9|;BK={lBU+UT! z88*w-ZdPJLD;|Gz3F>_9-5_I(F2W@nVo*TEz4pBrS~`HQ0%F?!e_ALfCuOE@4zNUu z@1**+h$COPN7s_UC01W^CCf{|eV6?n1qak&?8>-ANQL zj+QL9>rc^5z!AMYvEjmUFrX?@Gx?*8 zfM%(jndlOOU>5Y*&u2-akgxH*QLaSxN%Jn339i{8R7z_%u$c>?V&j&4WvYZCHU_1e z_41`9&a^X~J8X^xpu+x~%-EJg(2U@wrFpg0v+DF^R%`+?^<5xOT^;nl2wz*GCT2hW zEegX1H_r^pN>H_fGiTDTv~ z%F^-d$8(^!=-O2az5;l4?*w4&g=5>C{!T-5rqj*iL}p$lTgb~2B|iqH&_$z-t37KO zyc1B|F>nKT*Y;1?+vsEt?gsmZefiN9;vrX%a3pA=R=t`g@uErUT*Yvx_~h-ac(}gt z(a%=Le;w#uW0y$&!QFY_Sx>Y=ERX%LP-a=`rwThpUkqaV96=e-bsDN!R&#}!*NW6D z_&CNZF=sMhD)1)H6Br+xdOhc;Za&>&L=T?$gLyHW0LqQFRuP;jJ0=@Gq-{ulpp-Dv1u846> zeL(AzB)Cwhm)yu(A>nyd=+MLZ!B#8_%(=8T%0LCZ@=>(w0c`|gWjuGCJnyW91-}c+ zl7`NQ#FCaajNBMq&RjWNX=oB{NC4Gxwej#x122L7GE8Lpnedjw#4g!)m?MsjAa>~m zM_EbQ{kku`S@%@$cX3v=qsncLs@a(}v1h}bOW7$z3n8{dWX;Bnpm?tojlHqbtLb!p zvL*LEQ8!-2+LJL#)A*OLNp)CCi(clRn7xQNAUO zB3^2JvGRHKU-3D$?P!a$vp@uW$Ic!Bn8#v7U?WumhtgJivpUY0_I**(Wo=z~s!UtQ zl$m$7gFX@$sxK#K*N8qOCA>V9!-)H{J~tVvBnh-|8v_PS3H;z^LIy>68g0v~#@nom za*;y<=#Nn?ZS485gCg(<3cjDwIe%ndf%euA)z;LB=@!`^_$zJ(X~#?rjDRAj>ex7% z6OmN_BAD+h_`JRU%1dD_Pth}To~7EgdtGfO^SZ2h;_V4Tn%Zzh1Xz4Gg4Ns?<~cB;(!eXo#sE@^_AKt-&=e*$q{OIwHl$8& zN7pfsD~#T>oCm1Hmy#xK(S+ux4O(cUGfpKTC|vp4IgA?~E5yHD_hD1-bqhfIQ z9h2@=R;0WOdE>-M5jDM=N+cA?NLlk<{X_xwBut8~u{N~qj`;uLjXi+Xxc6trM^mNC zaOv#a3v=J;<1H;HwR?c~+f~3qIFy?yCAbIr~9>W{jVkIEIYS}o8Fr2jW zk!TOct0qMIU&%eSgxlq0FuWg~g=bdD){J*V&metUwNN^=l^4A%_ug;V%Y>EqP4{KY z^Z$Jn{Is;^#bwEnti)f)hJciOl@vKE!a)Weo5UiVhSznVxa~UqqGUL)XgQ}ssu`!3QYbj>CbTj_seYzXV5x~-0;!(i z#k%W4oh}wj6i3C+_11tYOKk>c_X4pG!l)L75_|KR;wEW_N4xp$m(^%L=_#ZsFoT1> zu;bkt*VLuN5mzSaVBwv^tBf7}-PjY2;&Ptk?Bvr_-`|D?{Xw3&RlB()Yi&y^N>E+J zIRe6b@)4_UVFfn(^h_6v_e&=6b+}*l;PBfoluqx<*jof_aA%lAL3Ytyh!bse?t959 z&-dRdnp7kxytCEwy^(>z(H>)njHquxHM1G{T~e?-=Nt?xaJCre1UX&0e~$ohig_Zk z#PY19>!n#UV4*=dHs^|DS42Gg47V9k=-^7Y-LYU0g`{-p8`C_dV@eXi?==mB!Dzs` z$5+x*O~v&9`hstz`BUt9n#Wj_2espSxY4-I*cujUo?EV>|9SJUqNwCwXh8{U@_(WrUy!lfpu~ zrpGRg!#isxnUnZU)wK_%v(stU5=nNuUC*rYO`{{0d^DZEs8UZ3H3Ot2X@7c5b6l9@ zhg8Xvn0VaWZYKgZ)k|D#>X)>iX6=qCqd$v<@kOos#Y#?3nO*D!Kz*qtbk2xF9`{84~X8wmf<54kKFyM{eUUP zB#b-fMxAeOqZUv=1#6hY!Q?)Jd1acd$=*d5U+igX~Sq=Hk-T(R&5%xRPPIT^W0sz^&)~sJo?SIt6djYc7Q0>>}wPL z^RG1C*;8E&Q@Uh3vXu*nvd#q-ycodVpaWvRr-fNPjl$bOVNir`WHW~CD8+q~Ow-7P zB_)7SIWrn4A@Yy;dgAU|cD(yj^v$U6RIHGhCYfkLDTt*>&e_WC{aodz`Z&mH6v}UR zJZA+4&g5*Ll}0v25-Uh$#HWw?_Vwq4Er5gxYtf3d!?$`AOzxeKSLnsCf&isAa^K^^ z#L-2ThiYOI=2h`z`{PHAfRg}jAu)_8HkGd%rx|Mv2EDm0t1Vb}kaLq|h}FGWyQ`j~ z7_Ow<`oyGQrY|a4uzekZqe0RyO&o#Vu9BJ>leS9El;%n`3qorMuwHp zX?NRln7?#dV)_k7(P=X0A}@RYN>%{dP#zE~Qb~0l$4iXwRCJebq=cw=RIZ zAGPC;!N^@8g|0e_x;H#RoH!9@JI zB5&|@S9NFJNMstIWPjw#e$S|5lCI?%h%WNO+MNxdA8sR#lNd^VJ(G8e$Vj3^{KftK zd>3Z2k2LqDPg;ZlVOQcE=YKeIab$1L(n&#Wtgl|drpjVyNJf}+X`aP9(FG60V(l6c zfhwSm+l8?0MI2Zhnu(0ztj~>wE{q+HIuI$S=oNw~%xiRY@B_xb3=#(uJbPvH4sx$; zEw!d@GuqQ+u^+#V`{48%OhfX-yaxJEuqTQ;ONq)Io(hfW=8hOWiSm&7h+y(YP-w>$ zdk`jF%Lv~_SDa?9;G7fZvPNHMXJs>anCdOY2s>HK&c7gC&1tip0}0bPn$ca4p+~?s zahXE96uu%sD+u2*Hw9I?jCjKYUHn2(R(Zj55~)4~?adW-nx&z4$)dSbWZgyaC#G?8 z0y|5CW-Hq-_FtsLD7_CqI&}=09I$fCT>yS2#E@_mhVEDyW?+3lD{vV`R>jQ>WtWH`9O0gr0RDkagD?l%jIMS33V4ttqX zSH_ydB8)`&n~!(@fC;=ac^eqtt@?2*UX+0y?c}*2Z)-*GUVW-D-t~lknQ~drv?}Mh z>>`ULacNm8ZkFb+2oq~W>~kV!Ga<4)$irInuVZx@ z4ppMWg$d|Zm7mQH1c8=byk0Vw&DgV_IyL6Xj`(!j zTd9!_R#qHY{STp4G1y?lmzI)5-y&-)WT+=jiqHKrN^$zGaIRo4ePru~>#NwvvA6ZZ z0ZQ9g9h2@Sc%q$F?~_{TMqp3hPkH&8E2<`LZ5pY$A~mcTcL`TP zb5o6Yh93tB1%#x=e1mZxLZV?`J8O}6)#wC>GDfuiB!i625IstcQlu(+V2+Rw<$ROO z{!I&2;-d;Jv;vCv`OhZD|HN5$j`n}vHMeNK5$@B<7F-G7B)7hISpL~G!%8AZzhYce zWUs)>t&jh)`ASP?&|x)!Ty^l0&UmdRUe~-%>2N~}85cqDH&)A&H&pm4Fkc@z4dUsP zGGMYNV0}E>*Jy(aetNR!p&uC3?i>b;KUvnwR-Fr}}dy=H%q?Zku&$bo7dr7JXY^K!u$(xelI28kBln=g`Gl z?lcf%{)@p+)olA;ug_e!@}(AUbPsi_#`$i{x&Ba?bF0x>>klczEy*+|+VdRpXvFI0 zWhmE&{7_uHmm^<0hXeMjq%ZW}l3KOO7-cj!o5Yq$VgGm& zJnsXJkICvvdJN=c53OCD-9F38dTvI_3#O|NG(~H<|_i3CJV;%CH_B`y>@uE^<((27j zG5nf|<57ErS3JX*`5FfYF}lN_bSt8Ptt$Q1i^x!f8JU#X*Kz0d^^{Z-{K0jIOFXD7 zt!3h`-rbh}nfV{DjkgGh?BK)MyPneo)+N6--z*o!A=Tl(v<5bpmn>m}|Ey_!3vw~? zHHHYMsGnC1py+BRX;(@c!_yNM^vY=sR_Um)iIlGm*a3Txr=Pj!PAqKd=`N6HYlN-h z#7g3{;Y_jmmJq#Ml2dA8DxDT_cWkZL)v)`5cwr5asHJ_-@z2)ZzMJF4!Z-xBApJ^b z&cjR?Y-=D|PV{&yh~?beCKW51wD$0CzDt9eVjRi4Ym+6%k5L^|Z%}Rj&EOCjlAJ2# zwW~DPNbs3C9a^_waZZinnF3)`eVrha-=-;4qOdUC32ufGSL75a3HdPTg_w;#-+q@4 z(|Ekw4bn!;<6_3AqAr_CM{8{f-aI3AruJbi5SKMR=jsc$)5t=<1BZNi#4cMo2QNis z^oz+^J=KvWgy z8lAQ3ta zN8jEjs}eu%7Y@>t5SlSQ8n=$^C&3_p{3fk;;ZKjSF)tmuCbVig=|$#}By;YLTw&o= zjx<6*kY@OA?KZ2@iSSxqXRRQLoh~APx`b>-5EuH`xIC!QTv6d>ynr748AM zZ@fJ5-2Y(`SQwyHb=%yn*$(rV#X_;Xw4`v#Z{bs=X*fzBS$h0h_XdMBlShhuTCx3K z%}5egM^6;E&&Tl)<&_P;&>2vbN5`K?V=#|p_|qdw*&+5>MKAZeC@Uo zU9mr8C*E^GZa}$Ynh#wQ8LKGYv2g+wO+I;~b-k~|#5*{5vpR}X%=onvB2}35xj?j6 zMe<3-$Wi?V-@SLxXJ7~~0iB+XWfJ{5wAppBOAf9MV!RmcRv|5ObwJj)SUkwY6EShx znWZbVC@>Zzz`jcgi^b3yHG&B{=TZ4^SSKPnKOTipmyQ0Z#~!0XZDqu%UTtQVn@Pn+ zNc9czv#6aYn81h2xOtCF8c)fP zHC9;k%KevgPSIRJQO-XVqVl+;Kj@Wj)%c(K(FvUxo96pg>XXk(mKWj=i4S=UDz?-` zS!@~c#V0F!)jw7Y0AM52!Sp6uHkS%$Q0C1xzsxQVqU>1#7z5)BL#A_yJ1jw`1qS=I zk5(@utO86CJ_}Wo^~O;Fy^i{=XGQtp^z|PCeU444QkRTO0hG3RNvb$;NA+5lE@?Gz zmAwor*_ZvLB9+iYud;ut0#+Me)oq>_&9m*c1PRReU%zTeuZbZqc3x)%2PauJs}Re83j zg>JHk8xO5DDWc?^zWr~EiXtZW?iH49D7agecr!=&HR*_ga_v6RZ==D#)4(7=b4W}nY+JV9^?mg!f@ZAlX}bftw1k>hQhPfa}E^Q zk$n0Kn%~jrBTu(!u!7e!`#=2gsK#9BECk|xFg-J4kLpo~yiTVZ%1kvMV;u;@aQgPz zWwTv%1Ow?ycQ@4JsmjEq*5Aze=q*NrLetO!#|dc)bleK{ud57k-aHDnFHnor0_bjh zBv(A4DNWgN`GMe1z3j`8DdNY7IRKQ=#xP%C2toD2DU)iEa_qXGK_~C#9Td) zale#i1SE0_Y+g1Vw}08IgtY;MCkX7753!uVF;-BmXZgd=?Va{^9Sz-W-8gQC(Iuj0 znOw1vBMvdjDj}wXRMr`WObo?s{1OYMv@9u!RzTAJL`g4I{AQ6eQ(S&Y;c+(9cilvG zNJ}3$A}4mnE_>!wIdC_o&p*>!h=lR7nqdH|lz=l(^+oI=m%(k@HC7R+3X$xabJi{5 zSp{Nqq|sb#>w8G-zq)KEiCm{hOxPfLhl%TG0N}h##U2^fQqVU#nTUPCOqD8C^oVA- zINTZJ3K$f~cLk)#tT0tX4~GXrGRPuiqx$jVdn-Bm7WU}47V!FJD-UGwv7vKorYK+) zc>VGudrnJ!YBURt3mT4t_dli=1%^zXz2b9`nkUOiJ>U0ArBwRhg+%<0;QOLsp9%*y zA;Yy7-qr3r`|$~cp8!LV8!p8Sd|#Yh)>qnq#4E%QB*LBK`wW)o=1?7+lr#1hPD(s9 zQ>vt5&o?K;#dhnYSl9?u?%)tq+=Wo)-y&f0r>U#9dDR%&VNp;PAe~K`<4>HXu3D>3h3;%n{@jD%`Sg2sb}urV#cE4 z#h&%)5mu+4bCaic4WMCx1)si_#iH7Q7(Q+xPuFytzogg1>0^n`LlwE|@Z`68&#Iyg zYV~G`X`~g)kg#EjL=+5|NY8(hR9$U8wo8}H7smkZ%=-{)+I3=$4;koj)STsubCdP%KMQvN-0mX zi7+|$U$XrJ8tKfe%S)dhnae=>aT9(sTP)6bY)G;?Ud0h|Q*^ZwPa}@gVk`%Lm`b+a zV0bq^wsGO|#-wp^(t9hA=tAfKqNLH~L~oJPZ;^Hjv6jh(9Z~$fWl9 zv7?oF5avqd8hqbnO#i`6%5T70FS6SsbYze>JlE57?PVQooupdS9y zr>C7G+rHAuFqr6bP&q>MZTQND?G~ok9vw<~Y~iJ7k4JK`hUoYSOkB6`Wk*gKg!M(5 z>JJ(;7q1`?_06{}9Gc%pUjPq8U_`PrY_DqK!DVBFI0nGsJZgz8AjY}2o^OEo%N+BEsfrI6(EDV%~c5ROy-Wla8O^5po9)kui<}-qA(NYM_-|<_wv(jo5lj}E4%KGLgomylTG_IZ)@E- z8E1MKz@-M=Z_3;o+Rv@mG`-vUgSD8sSr8faY_5t8O{R9}^S(FZYSP$UmfjkN`xy&8 zm&9QmF5%vVLBM?@?u1wOZ`6#gLWe9fC%D5ZB29ULDy&w`Fr5;Xq{h?R3YK8~vUHvo ztAB_=eAr5!GAsHEi0{%8Ny{=frNGyT-@=lH+$io2h@A0^r>eB;B;tXmYiCpSq3g+T zj(>bGZ#wyvc-7n&JYE@iwSyVznm#$yRFJ?^nbwmZ7)AB@tvcct;lHDjQ5Bcj{kM^t zX0ts`sOZL2fu#^^%mIg4hb1SkOzL=`FBP)^bnNPvTi+5db**L?E4{29DC#CKc``|U zv(Ab!6^iew>N7O|zDXEi&hgmU(({>U6`Mw)WQ_W}a+_PGrJsz_#$j9|Rvpy$i`0~T z-}OhwmE3ES(8beD%mvVC?o4xxW+~13Vpsc^j^tzML?j4JxZuwjWM-ANk7nHg9hjol z(c}U1Sg?kAMYFd+CzOhpAJg<|aBY{#c$3r_QR%+^Zt0a7#4td}D@EWKQp#KVWKY@Y za+;oPWJ8_4;d~mA&RxzDL8m_;H?I@D!65nR`6@YclP73?%nGa);1rYA^sTN@&mL!W zm{VruL)*iV!2FY1m~s{>h^F|*KTqF8;WqecxI4aQcLRiNGh=%3wNboF?xaw8eQ?c{?S-P_(d>+4`e!Jt(5PR3Z8K>aMP3fm}fV9^kE)x|6 zBKs93bIjS+I^(NcAeg0$eiuJRlH+cRGe~Z zf~p~oL%MXR)qlW`H?YXS9+{7`)MKV zeOAo(1zpR=YQ4vU;fy~@>DNKU0X_9sq*gq$hM~Y*7RUMblxgXu$5&}u*6-cZo#dj{XZ?=V zB@V(443EX4FmQ;IW6{_%Cx|zyLOZP0piEaUL2YwQEyz+&TSuKT&rlv#6A~2EU0sC` z7Y)7Zstk{AEhgMDpYJxFb`QeDV!~6nw?|@e(UxoDKF*aoqa9ngJfgDX|9s5*wPE8J zP{%PtcW~v&IjmLN=zd?zn2EPFI=kCR<;P3m5Ue_&2+76UsFlq!Xmn`=CZDZmCWlqp zWn0wZt9A_;zCv2gg$y)!_&B$bA0yt@96J% z)-zkTAnDpHZ>PJgC_MwY(p-`97I5@yzihZ@caQKMWH{k}Al$6YEAXcy2c0fxfDx5;HChz#W$=xs(MaPbY=b+`9s{1z>JIJe6EjYTwL>>y4J-PIZ0v;9 zwP&{Vxe_e&f~75GD`3_=u8^v#R9>CIg8(y+7q_)3C1gf)LCUedeeGisMg%6ovYdF@ zRm->XSPh)+xf{jiG2+cy1?2Q%1>7mO=&HbH#@UNRVmKT=vNXrYJBJ|sb`?O`Jg$bH zSJxEcsUGtw6SZXv_8?igfCExo@1{D@3|#ox8z2e`C&dT?d6B7M$PdliOohUdLwQLY z@fIopGjqc=&;L+gycJ@R{phe1g_F+?O7QwP5~Wuzq*|KFKFL)x3&T=Nae%eB3b|4E zYvDAR`5aWR&WeL<{tZ%Eu-u}F2c|3GLTuW-?z>#H-(O&an9D$}m0GojCV`TcI{2mD z;tt*;9$PW{(YZ|!rcv9Xx#+=*UE(n;Ox9!c;xP5S?4*mO)x4VKwblJyQa3D%qQJ7J z^Kvo}wMz5PG0sQaqJJ#&M{)C}9kR+X){nHtMQ##o^N<&Y=h>A+c~Ber|woc^PTG zUY~b#y%J5Tn%5F|6#mrwbJ$f3ac;>D&PYm3sB+OkBfpFJ)0G{_7_r-P7$sDLiOzOQ z#S_=~m8gn^Pm%KgYkLSLA?RJBe{|C$k*2a%QE4%(nMuHnxKSW>PAB) z3bw*pU%7ela--*2&vr3mIk2sj;#sE6oSp+xsL_rip5wrk6eBHKw50PpxxX8U%(A(*E@h4; zI^gh9+S_MoT_MVSwe8}V{lF;C?XKM#A#fh~SM1%w*DsO8+fC%Z;;Jo1Wx}DA^Qdn& zCd+^R@vfS-JD_S9p7K_cF14DbQ#tJwe5uy+m1kHSrv{PQcmPxMDS^yDJzn(b*I^ac4da~rl=bNTG{qUR_9 zJMl5*0Y%)YVu(RgmW7?35ahJ9d6A)+C0TR5Wxvt4_BK#vJf!nosu!<*hUntgT;^<& z^=?_B#kubK;S`5t`b;Cu)jv2CdGojwGrty*5^nyPLh~7+)|W>CsOOK_-MjW2Ve9qmVc2ZVd1$Qkn<^ojUOj zAIcIcuAUXb@tZGX**BFy+TyZ@XdGgqflfFmX?m?!+(nPQvhzYrbRDQ8F$UhXjpQ#^ z5ap7i5V>zY9i8KBOQxD|t-C23)uSl%;musdi*Bto8rR0O-=-!1{LfR0DeT9i+-3*8 zd0n@?%xV7a+9QmiqJYKI}W-G_iD@%fnlmV3pATWAB5sJ)m5#7_bc^mhhXZI zeWLWibf%In0{fe526oE@_dItYd;CCe!Q$Kkel(Y7K2~g+t`Wog`}#X_lRux)oc>iK zeLy1;Xf@6(?s7<7&}%n@2KI$=!5B)l!c)gIVnLt&56;3Cynm~%&9)y_@?cG~z! zN4hAdT~ZQTa(ooV$7+QZ_t;I81BOoYM%2vNL<9O#Ss#t4bwAvo!Pg5UJ@2tyZM(IzGW>k(T)` zL--`BtEjQhS06&{LS)*@C`1kzl`Ggj${{V8r){0b|7Av21(f(I1z+zW3Vrogj7)pM zH)!pFkUbySmjNrEqLzivDj!Jq`@cQwUfb)0MoraSSQe0kuac#Ot&5jj_%NoWvJ~kp zU^`W09Mi(WbZ>!r6t}iMJypXVID@pkPG&dI-i6>NlUxX{A@^|Pl<~Cl+`&oA z1d^4%vD3ux3(wCl+ASGizX~tH5^N7w6a4g*-e_%<7=NR7hOr6&srpu}_xj`X8-}AN zBROjWo7N@AcHwV}o4mI+hcl7F*JBSKMR0P@i3+>-%>U#&fm5t#oqh!D6!q-v5a3L) zfa&5XfJz*_xl(TXMHUp({BB_Ng0INJilIQ6dB`pGR;a=uGPc=#lJC4SQ@QxAcYQUj zK=n$gY_bO=pLP8L$;28yFA28L?!v|{E@U9zdh)A>!JBQ$&JT>d3&{m?&KMq8ST9TE z+l#{q>sp9n#M%n?IDh%Q;MiU)jVTj^m=dctt+O_sQEps@Y3AVmcD#24Y2N|OR%2st z)&1J-ePz!}2o#mD4_l?%@`gTZsMUppJs41bSt@lzMs;WAm^#w^y(_IG7-uDs1m8ZQ z^WjxD$CF0((@9dTxGt(Wk45{pD363m$#L6{lToSS-t8Y{)mm@cCy7pCVN1185AOXZ zE$^Epw9ftd%}z_F5?~UmSUz+f?7UL{s9AP266bu;n`o*MCo}6YQpIj!oOl|z2C}hF ze5rVoyRivMQ}HitbC8bS;|hmJsGozeI8_Uc46Px&^Zm zyr?#HTqY;$tP%Q_W-^N?$^csgCm0E`5oZFUq>@5He6IdAY4rYS%=Wm(N^BVOy?YB< zQDZHB4b>qijCc+eeUvyotek62(kENs!BToER)g9e+b-ma43X;WkhM#e_MaBzKD;;=Jw{+zp50~2_mLarVTwNkrRrwgyY=2lcFH{w4H{Tu-Wt<&c+dZq zwRdw}M!jK=^gsc$&$r^Z($!NuG^^xFHV(#9oIk#PczEcW(vyJw;{8E-0*-#>F9dIo zzmfdhO~TVRJsUl1-nCj${#EpTP5)ZPPBsv}-Z@p%HqH1=wN#2aJ|o3!L^ZK){Psik z-tWbL^OR6o6Yz+c;V(Ob1QXDK&?kDwLO$MElzkC4qp0fE>q#ySMt?sv9aeBUBVv{{ zQ6a>RjU`NZT5auV)VXQCl?Yo_CdMnx*usH1--YPxaY!(&-5$ApVLpk0RZ-twd!A6; zBhcoHUw%ubP0Bm*-!m5o&z9|0l*BeC5Kkj{_4qr#fU*ER6v9!%Kbf;I2`8g$LHEtG zHjn?HR+_qTR;7jZbN#Z@N(YO)!)~WL`%Rq38{`0)Y@G%JXQ!ob2CkTna*FB*c051B zxfUExn2BimIxb5yso_}%G^d1r9*ATh7;i#bEcZArO>@|%kxCY<#->pnuG?i5OtObV z1Gz_~h63~vfZ2YJq3@(9sO?!R{TurLdilyJ8frdoM}_>Q3VNaQh1?`S5a^nDD)E}bwgztKY7!6fkOK(N;ZLX zr;irDjB&$ir@61X=S7V=yfNO#=a0S~EMj0xJLB=UYRejPz93u*l|FqN$pH2=)-5&L z1t`_B`Mz`;sE^lHcU$C$3MEF@@)ZV2E}`7x=44qEuH#uR)=RF!Xx6x$muOqHVtRkx zxF;$rz!q?h4c_<*D+3W@9j$L$m$EhCRzL%b*#x~Ymo1iKTR)-bucRONJQ?x6cdvC( z#GoU5r^^27a@-~W#}bpgPeM^76|Cvt{)vt1#w@AlEgj7s@cjq?1*2I&O#yiHqTk5t zOMmGu&lQV!(OnGVv?7kp&&-lOCMx+Q$?5UFh2Bp8#=@=rA|-f!3N*s1bwZfwHl zVY?5QtiDrG0jdb|KCd8C7WB&+Pha}?7GHyiv0Cwdm+acPa1lAi??9bG2QWNcx8~%N zO)3C^BaCPf_ELlWi%~>8UU$qgL&fuJ7CZ1H_)Z8fas4p_pFcP&wq%m|-TzFSWc>94 zrk!?`+(;>T>`4-VB^G`r{z+Xzj+MlKyOWikb~fFZ4~cfy3UFU4xXj%-7*AtwabGP{ zC^Axqpa_fNUfJ5@hH`6M2{=avTUk;KbJ>Pm$~O8h)!bVhJKcwyV|{9?-LY`r*}9+2 zG0rB%hftTS+uaO_aj8iFqtGHWe=mF`yyY)r+iaXi>TfYd{9UFt*zb0&`{nepy$cqG z+^9(x8#mq*j@Ut4Kpd=)c#F26MDi!r?GfZXiorPAS&GNDr1E|9HwN!?Mbd#0x(jlo zLbLd2oMJ~oi5Y-Iq(u$;?g1>{-@VF7p`nu zwWS42=%z=9Y18;gVu|_gy#!Q;4RY*4dI$AgR0oF)FETaKWu6{sEJ*l{_Sj1^ z?QLj08BOQ#_UR@q9=osN6l5tSimybdUrSdeIF^)lva$64Sm8;mu4(8fXVr- zt*wpCt&16_QrK$x7R%}A`t3sss6Q&y(S_0?wWY|u!u)1+_<0__LhDobWp$%_ZB&>c z+ixgWcMIu)=KwcDo<6Bw5>FE$gV&m>y zmLelw#p?%iq;6)*5yJ&+s%4btt>xup=AB1Zp}$Kd9RteP{{pqnl=7t05}8OrUKWkD zRW-0ja42;IoN(VciIIdL@1x|h?e|+tPl+nh7zq6SZLPKPVXWsxhL8do*>O-&yg3DO zHojh+IECA!IlSQul-x))$~fOE$w++c?UM~!Ki%K_U3Z}aEFPgAZWXZ!919psw>V<= zl}NZM{I1p5InKWBo|5xUM)OiX6W>;z)&FMz2JqV*3%{u)z#{o?0t>U(d}(qbho>OK zR<6m^CqIOVbHeX3g)aX{>V2UUy&Bph2_e*f#eo5&n&0rKHr?n-c*nS<#=1VzmEA^B@Z;Go$yb}C+wq8`jzr~_1_Qd- zdt9xpbG>U<8J3Bg$yP>931qaFIGB=6aWgPcUC0#Z-wX6BF&eO5Yk#my+2WdIpq(fc z#sLo?r(~m_e_<@)`yw_Jjf~0EXTl>Y3yC(TSNRzB#ToKYyh*LLzLMAwotf|UW5sH@JaO!=h3ea=*JjDX zNs#t%_#LeIUkqj?y=0+Vc?qP=e!XQVi+>iHbF`zQ_Cg~~5PM-?i!oak?EY^MO_R2W z=?l^i+moM^ud{0G*sCU*lwhrTbcd{k*~|(A!TLiY2eTvzJr(=ml6?rt2Kq3cA-o>z7=(?!=kCWyzjkFzsY>^s zH2HHpj}ooOII8VN;DkG3UDJR&4d7&jzc~~J*Th{lflue$N}SKA%M4<)BUdS+#O7aqD^niD0#qp3R(0`B?kQ z(o8HMK{%4}cw59U^;8co9A2;8NE`x*Z@sw@$xn_Fwp%fDk>JPP}f$Wt}+m39YoUHDV!QW}grdS7Na6QAOwPpG-vaww_|~ z8pEK9K3-dW2>JqjA^*D!PY=$q(#NK8< z$q*EFKCvZfoxnBbtxvlcy>P)61-< zbjsv!L^AFJ%JJ$~_T(p?9DiPjkHIB3ze@!vO$>QA&tsVwJBtoHa}dRFG} z_;!FkLyM#OH>hvtd$E7ImO3R*dORX+>{eYZ=%cEIG+AB^Y4P76ke-OczKF_DeWSqE z7bb8$%xtgpb%2-GkSnC~W=?mRc_Kb4M76UC9}}?2I}kO-x8AOB6b`rsNA;GXSrUn0 zeg?o!e%g=sP>!qa>gB*#w>gK<#_Q;FjdYk7`NuK+T2Biwd{Eu{eqlmi6bLvBP0&&i zk7g9)*nX4=m6Zw+C=RNxoKWofIgqXSK7Ij<=1=+wjZOr1Z7|D2y)wx-)Dw<-w;jl& z3Ui+%@>)6uRrHP;G$5J<<)$dCk>776hh5*0uq^@OmctM3Cj5t(SK`iw1}^!=_o++{2#zmEPVe3ucJ+HLq~*W zubqYcMKZ&>oZ0UC$9`ayHKC_vp`Bo)ofutL_gwQ>O;pW6{{pGluM!s2pCG-ZR_iRT zoYY9Y!dduClgtJ?h0(NKf?!jjCxT9@Y%O|^9<{4t^9YN5}d zM2OIfD(5SB)*@NCA=c``%;#V}qHvLV&#gwCVuR9duw6`$I%n+;W#DvZL`~3O?%v)? zeOSM@Tsj#$Ksamg=i1t5QuuuF)U*n<&XjVw`|NrdQdMcQm}r-1WoF`|gCC2J0rms`PA;QJCRE7xwUP9%o24d9<=r93Gp@`I zWHX2#8^#TW^lm8--_o0H!c0Q(!)l8Xcqn{z3{i7?T(qqLT!jKicTdH3D9+1^BDcGV zPj{>DyLQW+vdbXg^txi+@7-P3>tp@_H{ruZ@jX+Slsejvv-Eq>)7ItpPK}|nTd1Y$ zaWjVE|1Mis<+q;|8U>*#ObK&-R%JYj84RXh@rAGxJ$amWYTkwC*ZU!uD8(q~h!>Zw zM`Xj5Y(xBhJ;ufOF6j$K2PZ@|MXO=7mNm#urL6MvxnC&F*u#K2zHzHfNx-@Q7mhR| zrK=;&7O84D${NSj5H?$cR`uu9YG=MzNuD-&IP$06hc+6w-kt?t#c9!&!k* z5(cZjpSJWkS(`zA^t@bS`76KuNB)-q@L=L3+^sfzR*fgC=2?-CCw{ps7E%sZ9#f(u z+M9ADP0~8Uye*{$D1F-ihp>F&VWBN)XfV!`hsnq&jl=SxqTuxVj}Ep4OItKWg;C!* zr}mk-uei?s1Z>_ezjS1re85T5gG{BQ#p;GAm3S}Of|k-`2NQ!U^3bfZ*p>xd^5qx8 z((E^!Wbb0Iu|kui`9#WRnlV0IU;D}^NtAA;;lIiJH_jF=JAAKyds<_@nZ6yATl}S2 zH}a%&MM15^P*H0x!-2pgTN~LLBHuSdG$qjcqgPu--vFB*9h;I4XU)}hwT}Z`nPkzH zeqWz{ue3%Iz+5ar+$M0OFc=%_aV_@YcDHS_-MMRbsv|&zuAkD6@N!4oX{#4cVN?Nr z0Pz=M<^-$DLnS}yaLh)JDxW9?)BN&8~qvM~y+DojcG z@!r4qN{W^0+Q}+|?JuNZ3#9C%V~#Es^*yVs)p%(~QFX)iD9iXE7jgWX=SASahq1Gy z6mFtA{Gz)Mok1U-GNg|!^;&2*UBd=7dh;Z-BIzSz?AA%ckZn+N5qrB*B}Mx`Zf+pY z`_t3pNLLvL1_p-sN^2fBn&x0o>qGGje|0>S1Y=y!*)-isk}!2xFMUzlC&1PG%f~_4 z;)L>_|j?X{?6@$2Okj$U*bw+QtX*s+=pk-D?}>04XERv=V7zYU_*tNU%&p=m&{5q z#kAK<#z+IU03u^9{fdx0W^GRyElB0|fQm4V!ZpcUQo>#|V*R9Wm(C^)A!+*OnCrgau6Bhyi3Z(3Yt0LL-|Q{X+&m78dYZ(S&FHd3l+b~lTR)66HAar z?%Uo3X?DZq_R00UX$^iZYl@!#F}&C-k9`hgvj4}^TQEfZK3~I1N|&@W0@4U9-QCh% z0Np}m#Qqs+m(%m54Al;oyFFfn__rITa@QJyuIdjgL8SYOg`WG9p0JUMHFQ>)# z9p=#^%WsNa*S9)w!neXJ6p3g($P#v^-nwYHmjaLxe6vF9_MU4H#bO!AVAH>m6pN6v>rulx&s!im@I5h1e_1u{Jy zq%+u`jZ71)o#mytC>iaRHL0I!K7{h)h4~N5hps-Xo+Pv%ZeDWiyHAl0T%tfNOcz9m zfTRe}yCMksOQI~7A3DoZ&V%^>S9#7Q-W{}ru_05n?I{|`(^9i#yP0VCR6nd4K53OA zy;LpPigmKt=%|^XKFZeAMxpc1RtJ%*LxJT#7)GyEalz!%_af-Q!wUeK?L(&-C7!X_ zSHFe$=b=uoi95eLjP>9Cy=BMVt7Ho-YQD^eR12tiPJ^tNtHSw(33@ za-k11-6Lyh;%)Wh?`UWE;f0ekqLbcEV&}zdXZd{43F{WPIhe*Npcc<&Dn1kFj;9}p zT>0s#lYCtPOW;F8I&XIv3p=pqT`>aoX!KBJoH+bfmPNm$3o^Y;eOib%KOE^ws?01_ z+f66np|IUc*r4+YX2;$p_07%qV1BnrmsP-ps|wDGm+92=DJmmO>-m>g26(z1o(BR1 zUB=v=M4qS1!Ot}lzArRs6hhDU7KEodPswbpdr>P!*UQIy>-S;jH>d95D#^gwdV^K& z)POy|>3cM)1KN-hA`HdEe9qg*oOvbkGKu` z4CXFeR;04acc+TA4BOY2SNCgZd~E2UpG6P$8pUr9Yrnxz$R+x}U$eR4Eh_B4s~rIG z%eXyVxr@>)r(1*VteE+oC$<+=n<@VAQ;-PIh7=SoC}7w3&D41^(Oli_jEV?9bH2n7_BXt?QG zZa4OmNMf_N-bgoQUxdfrXb`#0C&K6-l35fnzh7=?l~6(hH}@LVB{BE^KJpNP_wFS7 z7&$ly5JFROUYB&l^**p%Qnkjm|JyjS3`P~4DY6LQu~1KHua{#vEq{p8sUaD-M%ht8 zsC$`@nb;jxdHtipCiFvRs-Nh;`+346h^uJQ5${4Z*#KA@#cL}`A9sLArkwoaWJFGr zXwP$G*DRRoB|bCY;H>uJe3KLQbj5Y}Gmq@3uOcOSYWfegBhLR~8TMp|s$3=dLnYsJ zxF(ko9b%W4#3E)OdiY62zxDh^qYp~nZuR9u{TQ$1c?M8oFI2`%NAYTLsC-N9*11J)!82ZkBK=!by+r2@RGI2P<_w?;e)kS& zdZ3NMper##n^h9sCL(%!WBp(3WYY)UE;>>sp{#CLqn0QPRALy7TbV>n^;S4ezqe%% zHQAQd+b6*@@R)WY_sj8uw-f&v#UD7iEgO$G+~teNfid+j&i`WtMofXgCc@PnL65(| z8u3SnapipeT|sfFlB&KYZY9PkY8LJW!vvqtn0|w&Z`hxmH2H~!R+LFmx3M049^z5b znK0!m1Q#acu0Oo_%CBom3Q+<5V;nAhiR(F-=c~6)ZSlYs#O(lD%n?hxUIZ%Hs@d9U zWImmb^T}F5c~W)##l{Ik9iohXKda1ccN(Ww6k}pU;Ufyw2*u-^dp}71!>j-3f9YQt zmHxE-sbzmksCFpd$6aVzh2r?|8#OQLRnb*`NyQJP2D&63Q8%=hH%OZQJn@bI$>$KQ zcu@?yJo0MTF*g0t9AZ4hmBCWtW0L)~Jg?0k{fthzw9@zCewnBx)2&q>_> zkE)_2DViM+M6~&p>?$gUtFDAdUg)jFR#0-5L>io#hB*GEQCPb+9|K>zuGg8Q?9bXD zom9?!7r(A!EPqHs7>IjLIpajaEI*l!Hs|99*dc~*Hv*Hpr<_7sK1*lCh%L!x5H%># zivVtUJtJ^g={EAbs&Hkv0{o9&?0>(2z=KBH`ZwxMEZe;HunpmVQn^lu_`;1 z5lVLHV)(wFQ%`*mRi1AqA+704Gyx|b3?}Rc?(R0+-VdAYp&36)LLqtg4TCj%KZ=k_ z!&+Q`I!UO^zPxsyOVn?fH+y2a9(hR1ui_cG;E(@`V+_VwhHX@itO?;cIcg#H-9!Mv$o1LX3g`3#QVdRt01 zxAk=0&_;3N975dJiwm+cqN94y1(8oNsL!p6$?oK89sXUfo<=&2RhD#v+OQGD6Kt6& zGZbrrgLcdg^_uhe1v&!~5%UCh&@2iO2BUoSqEk5K84UjM{fp!(IRm?A4F)Btt*{y!7`Ev+wCk>qZ%q zF=nw!*7t99AN|KUKEIb^&!#04d3Ybkqa)IuUfx-|8B5JJCoeIn;3NNu1t|WD4}NiP z8p%b0LU1csUB#I)ETFZ^OY&yi6E}3YfKE=b?@3ehcg^TOZ~{wC9I$;@@s~*450b|V zU%0oVeGKN47`e25q1Kcq+xzS^7FcPFxwdg=XYA_JHkGK-Ze{%aoV&g0sl(R*z!U>{ zhLIfP$px%8Hv#z}AjJQjJKXK^f%WBMcPqiu6(6aR5BeOYcaZ?%kGQeY@cdb(MC9c7 zGMMjbF|ej;lQRA4sqN;bdc$iJJFeFPfBJ_se;;Uv1jh-IoD{fde55xWW{D6?mXJyL zkBJ*VrL_5lC^P=y*!1K#9zCX6Ugp>D7!rTZcja-}ex&;T8lC*Y>nIY7aL4#iy|sbU zo(Mv{|?#^u!+{b@!2@S*G!X>VKIfdM~5g4A6*e*aO3h`h5+uc zI3W?ZJ-hD&RStY&{+kqAc>9TWj<$H3$$d>%4;1ddl-ABY@m}jCZKQ!0ppof+(3^Z( zn1aW4Vg)1^Gl@m+9$o6?tHiB!`aN}oyDC_1g^e~ofcz<)O(6|z{eKDVPJFT7`Sv8H z^R>Ix9H&5&aU|KadW5tNUemEVg@T5o?b`LTmvJ6#hlyr`SkUOr#LIA}nGqi^RXs`czyt$@=H^Cwvd0GJ<7vUW6LgKcNGb zwX;7Ydq*r`l*#|Ha6~e_idI%G)xz;z9vc%n0Ani8ic%vcNSle>X<%Ese6aQC?eT19 zNkALb3}YvIdRr$NEQo;J#e=S9htJO-N(Or(xI)IM3^O zk*H$3*z`bPjUIN8D)A8HP5p7ZZ9zY*bnX~-v(Pnt6FsV;i47Nn+cH>;^GUMP5X2zG z1MGC4jniKTn&DQ$HtKw0{q4R57gELo;*q7JE)8vtWdB!G;~k{*O;5x6Z=cBTPQefR z!#(>FGYKs~otl~%EO`WYVShImOvxi=9{zMwv-mqI7;kn^w-*PgGxgp2uh3hL4(*fD z8_Az#<}D0Q2gob70B1Z?=>ZqX*0~S#EH&5g*MWTWyoeV1gDT|2j$Ho6g4b+tOKoeNT$ETp41}pQrgRnCFOB_Ug8wr` zVMa$s?`~ZM<>cfj4OM73dB!G7FZKJhKZc!KEo3Uy<1bzwmB2*@l&!x&VOtOE9 z8*gdETL`1)z>Auydg(Z^@8rc~uS?Xh>Gf>%*E`bx5jzuaUyqETv$vJ{js6t1`d8k? zftI-C!@R#?YZxOA;^M1NGmaNG2s`(YM6%QwCyTm>=I#10lbKdnsm3=N!r_7%vaItj zC7Cb`QR>M1MZ7v02>|%L|vOFPzt+aUy3GwAXtcGC~Eg^Lx z_XEdl0}gRYIP!*NBn=C%@vlT$oxf6VK}BDe=;OH)ee-K8tdk66gL5&cSRWCX`!g)e z%?0&82zi^|ZTa$j-q>LFHebuDUCk^Vd^tEks5k@%KZFwh%+v{vEK0wBq*D$OORa-n??#GGv+098Tvcq@es->TV?ZnQWPaBln!&* z4@vQYG5Pbj+rE@>A`93~sYUZ2xABb(d1C4`+K+ZOsLxnR^b{v7n2;h%CAf2uApRL2 z>$;fK0lwRj{`xzIQ#gvhS}!KU3NMq7*H_N3$gqS<#si})C^#IrKx3|VR-E!}pK1B$ zjGvHz^Dm7GWT70Gs`0-=h#J4N5H?(j68JHWkVE&TpoKIU!7yft)$kLouAe{?za)ti ztKGF7#&N1p*Dt!%zxT?Z_<_ij_wD?XU`uzr3jGq_cx3eVU=Pg*-vv&NYswRw0DPo1M=; z8iL2>e9J3?ie$9ijdtmWbXdvIyHM{jm|ylUn*VwHl0+8JjQf>tj7T7gv($8(h{}ZO zy|oy0;19)Q!vM+8b|xm95M0P{KMklY4?;CF2XH+e1YRzh47qEUO<_7?>&Dp8{41pd z31QQ4D%Bz7gvk1`W)j!Nl*OOdMnJq1nL@oun0SNhT~3L-E*qbc;sTgRogG}gO;oI^ zcr$+06e-oQ?06k$t$Z1woZvK~Ze@zQ9oUnw={1-;hPc4a^8Y@o!mq4g|4C|6!zJ@g z^mPez+F2y32{gJSD|t@ICDShf5jzr$F#+C@4^fcxz6qg8iE89SbtN~&{Q(wkidP5AeWMw26D^kmnHp4_%lXtT@S zJJ1;gf~DH=u$$PO`V;s_ZKe~Tc*?Q1TXvYjS;?AL{Iz^QhRDG!*MZ5 z)q8#{ljt_bX!d;QRSWt?Ts}LysNN@QoM=mQX+9U4*q%{%I3a!m>L28YytB3K-e=@2 z#H#&~KeaKKo1;sb7g$3Q8ts#>`p*)3`C%x$VQc~M6GB9V{0_<5!$w#z1=NUezG}7W zS{%0t*FsZx=<_`-YEVeD`AE}4|52?RU@tVWlg1^GmWZTG{Md7W&Rp=+8tHRYz&eRC zqZ{kWB9unDb>`6aqGPeaVl?iMySxaXUAV%{>GIX5{exXO_;vZQ{j;7{`&TO~95mh+ z#I&>5>qEDUHR#gBnlp2!?>|6m+>|mSK~YEqdX%vz(S)sF^_UArsUpo(B+3ZPL``oe zj@bN&jFHBLkxMW=&?lCAF84{VGa`Ls;L(wS<@2O?8S-ctMPz+~PCDGeA8jt0?IqKd z-wN|{l4d;iVM}rn10|N?M`n3|m616!M|*oDP%J^c9@&!4Xk>~vKbn=+0{VwR0bZ5KPWT6c;T3I@EzjJ>YC7g4J1ysRDD_mbp_ImVAUu}7*a9m!-k%>G%8Z|!2 zq!~C5Go5$7z8LvO!epGl4$6z)2PEoY_eSMbU-iOqSHJQ)YpyAzj#jAm9VOyg7$7JZ zELM9fy1QfxT$6q2#nwy~gpIu1e>W@S?Rv3g)4T918oVzLxIPEgg`@ej{--NgMzdrz zb__I+WD2{W($UfNdhU#{YWuOsUbBDn|7|^8`(||w7aap5{N0(@9p)S_k7&ksrkX65 zHAFCwO)fvwvx9V!11ndTU7l~&Qjhk7=EqKj6SmUPnvD44*O&aILs!6pLeK4CsT(0U z%c#?@gtOkp)YM63_fh`{P0*G!RM+5VIDNL@m*n041oI~Y$D8|PwszO^6fi>5E8aul ze_zr6qm(y?)y6HkNp1e$t0mg_w_*YKBJLHXlAfyp0j?ZD@olinskI0 zEtmS0mx!1=cq%cn8#yT!5SkScB@WH)rCWqZ^j0r_OM0&`T!-_-4-b!v@l2kPkWN>Z zkNhOApN=fZ6-9URB&2h&$8g?hw!sQ4p&L?HB5DCTpO&rSnU#BBVqw@-6(2w#dp4tg z|1PmWo`6ld$vd?jRpD47NNC);9SKLI$$dQ@t)u;ib(U+o0qOth3A#x_>oS)@tjiVj zsvEt?gkaw9h=ucy6;gGntbt*C|knAXD1m-rnAf!9nd)5@OKbxwCqY*6GtS@b!Sd zZdK{RcdgEobUga_E@zJ#x>|*GMSCYPr?d6+oE)#+4nH=d>y2Pzp%ga5f1hF^Anh!g z_41%^Ml&N!R8VU-wI)werkD~Rc-Dy3Z?U_(oS>6zN!N6+aulSL^1fNzG9czAwv$JE zr1>!>e(IMsCl5ODff=N=dM7J9ezoVb2duo}9C&OHsIqz=J3PZlFPj>Q;MTl?Ps&Hw zqY{IVKFQ$?wP>Bo#i+F@Yiva$HQZe-)1`~%vwHq0f12;WInEbalV^O}Ej9DNOYfM^ zf!)0SRQlu3T*kqks4U*Np#`RzuIgXMUJQw>@v_$ko4dbvRoo_A^67puu!C_4t_WmBG0GU-Hip2^?S-n(bHfj&t%m-e+-(4!q#rCwz-*I60JBMt+C?t>UZXl4v#CIqt_IR6sAe0dV{}i zgYD~XdneD})%!Y;#>-szy99+%k@qH$R=WFj?SO~D1iMoh-Hrz{C-c*I&nzH_$8KV1 z(&NQja8F9gRo*d{m&mc;>J-O{Fke!7pwruv1GyKfP2J2N!bsa_NrJG2NxfJF=e%HJ zseetM`GYUFsXL2iIg|gfew=+T(5H;ws%^J7hh}0VfxYK>N-M*?WGLZywPh%wylWX_ z0L4lpD@CDy)v!d_y~Mz7g*PNGpj8Dsi^m=Jb-msMEkqX<3OV?Dz{ytPu?)%cKS z5s`IOdkcI2O--`O+lUE)xbg;d(v2~P=eM5EmxJOZN%p=@AW;^ZeBk7;%8k8yx3%&x z=gS{!yxJ4HhD}0T5wF^!YXG(zylRqZJu`+uGu>4smKgqN5X;TvX)i*+gF#@&_omAM zV~X~Z=~0mu-j&vqp(V~Qx4zC~ub5H7N2r=$g{B8Mv#%yqyRnoJq1K>~Xq&0OCx@kB zD_(xke5_rjjDM!d>!5O9wiN3S>!c%8_+|hV-=x!fof6qg1PeJm9LA*|<^y_Gr(tv$ z^;(5gdWQXPxM(83Img&E=M}VAwRKuoD(QJSCq)45{+Y7`CF=FEwB3A09e>kFfnLKA zT>br1E%1>j?b!Fcx)<(jB)}aMTBR$exo_KTur+yCH#|{qtliQ207~toYamw)3+B_R5Q`*Lj3FLhTnpb(}6YAaIr**0#CF zPrY}-0g~&Esn1TfZ6B{jFR?q?6kBtLfwAJvT|;)NTf{_h%} z$Ps-iqo8LdrS{T1w=F;~7z-&aN{n~N7Y1eW4CzG$OoS}R;;)SKjHrVyr;e9G8C^&U zu($ovKS-4LCX>pVewtDw=2l4p{D(G)6;1z)s$}tvW$48&6I_)Q%P==w;ePKiI+Sk%)AR2bJ!{NkJ-<3R_j4iq~0JOEjXfzJlkp{`7*NLYH0JHg|m^HB5l)on> z9q^I=B_Ut} zS^icpcUTAhKG=Z^_6Q4?F>!T89~c-gHFy01Qq_l?XN(nTWNep)bEv_PojG-;25n>t z$pt!^oAd`hwQ{!b?-%@qju-rg5m=Gtvx9oG5tq$1IWU;d$)@!E{nF{;sHR4& z0Y{iTW52NLe7Q%()ceoW)4l?r`^-OPa&3*{o(5J?h$WOXC>kr#Yg0%fy7m2P#@1Dy z3(56%J7ZJpDnCK!Ja?z9&X2XDx2GgzS%3LN0&dSbpGPNz=8qdr>>B+(`01{OVUUJ_ zoA>ZvC$QR}S?ey3f6~iVPGe`!F`mMB+D=_o&#s;vT2Iv}9_|N4gfooC_v0gP7aKKG zY;uHMs5P!4yi!v%Vhty`k8$GR-_a5vlQ}acInHil?|$$Wpq<~T-}D8d?+i-9xT3^c zd>>h!Q&FriU>98Am3Yqqt^D&Zxt^(WbqMjU8E>TqtDt+Tqk-t(r;W7E4x9Z#m02*< zo*$(GJolSLz|{K`iP!t&OOw5q>g`)y;4G7w~ccl%A-Z{pSws8-h1p4cq)vA zP&_ouZJbqO_NXK}*Zu9@kpYaFwzhYc1guAhm>NJ|F|2_#`5@JwAzAWditobj68+oL66qnVT;c9%5$W6XQ z=@n!ANeQ&IHM*5!=82F-Upr1E0=1lL0I`hV~x(wN_gfq{5MoTjK>Y{&_~q?H#?`Jf=z)a&AkshYg#v zV(XkpNaj?_;9egNss$6=Vq#>={c*~`m&<1(7`ch?*vy$7c98ohzZzldK|)xe5*-Te~uJ2)&Ht@Minj<50r(KzghI9XPJ?TbdXj zGj^YdHh!+`glq(3y*&7=U7Lkd`m_quoGiQTE`#QMkN-ZSSLih$(b3UIGJx0F$;=6L zI8N>sdT-Y-4_MeF8W$=%&lfsn+O5MoidHnDCxJvd`gmna&3q)I7M;inqY9E0>9P`z z_tkXE)5Ks56Djd*(YE!JJEByFAv>oR4rkomkY^^2yfNs>pxcm z#GEHWj(NJm+z7ijX^;=0llC5YHc{kUBq#^+Sq7rXOr5F+ik+Onef%1ERJcwbr${RB z=R@m#z6`f;SdWO|U)H)hZuO}j8{ckecOH!zLvQG>|L@?LdNu2>`K*&U4tFq_bJRvc zGP!^e^}SK_Ovrgax9>CEF-OHr?sKB;#C~?ua#JBlV%V+xS&G};hR7Ex}AN8v(?}T{;IAP^E+J$A~Uq#T6 zeIxSBjQYh@njySP9U6BjDZSy&!2yE?BxvFI_AqM_sB`-soUQ|HWjcyqUu?6Q`J2|^ zxlfNJ;&yN+{Jc5gx3`xO;PuIvg&iVYOav3@^c$>KZ|?6wrxFsUtB{||YwZ2_5Kp~T zV28l~Nf;$0cY$emrBOS1x7K)myHUm6%^g_cKZe#42Nm`axr42d$1~{uMzNp!$PcHh zdAlT5d?Q&=U9;%bQ2u^8*clDSz=xT5INqkxf+vl|*9{gQ-eq?`{Q5T3I~g`v@K)fM^uP9MlpB}ee#sN> zOHhUg6HJ%sTkM|~!(ieF9<-zqN?^(DmDG+Ld;h>a+9P`y*rnxqq**L8AfIU_Ms3Xp zbSkX>{OpJ0YD@XZSB#Hgi);0b0wzX0y>4KwLkG_9;{vXc11|g*8_&Ns9hDJw-<}GX z*v{?jd?}WYfj)s-aFw$KF^t=x)rX}!x0 zHb*v=3_HI%1S*V04Dk-BY9w5%o0*Nm*efFt^Vjcb^O;q&^mc9*N~(7fxh_rj69W4H3V;qE-(K?<@@ zc6vM6@vY8HRfxocP|8Ies#jGdb6@uOq-qm|Bw%qb`bCGlAH@8(0@E!DL{wKUm9Lts zg#7anGU)e-e2R^QMePrdb$m@THeOw#B#*vQ3&A2wASoR!eeW3N&&16~k~GJigJgE$ zmZ(gDAdTQKCo!KbB<{Gwnoc>jccCAMtF)fHX)H*z>X)`~zc$NA?7m%7N92dKWXHg^ z1-laNS-t{&ePM&5QObCj1scx--Hri0y~dsK0JZyt`Ey*F?Dv`=%cD>U{Gem~J$4#20 zdZ&Zr)$swhi{iK_yYD747+Swe-r|&@2>VjFx_AL0DySPX(HLgTO3F!Ul;p2AL<>e)*{qs_e@0F0qWiQ3!BMp|{#_IV?VCx1& zQD3j^T3fSAKR(-1o8?5m&&nyRWxrwB=zV|oqlb^)X>M%gw>m>S`Czjjg_wevy8ifC zXpX^V1!CCcW2f#^Dc|UmqP^P|*6)rv;^$WVML6+ z>xl$%fzxVj2VlIOxk`()Ac0oVpJY(zq9BpL2~{a>^%xlnXF&@(6+xz-bu$T>V978Y zm^$g3UEGzCT!nGxi=*ns#bIJ7C2sLVz^2PZVdvv#+tpeO*47iXrjsiLlQ|Gai;xx_ zkDZZra(x+{z7Vj!Ng?3uK=;k*+Mw#LuVuA>hgEdzMdwbkz?cN@NiC3vid?+9? zOF4t7w2~B_f`7|loM6>(#p;u zA&%fcOL`L8tS^&$L5v;Z3}3vbPTdbNHFc+S&fOFojqpU%J(D%fmF&s*7`P^RR-`Ru0CzbAQGNdN2EQ1ZxNnC{`YT7_9=nf z;m4hvwAVpsx9$w1)oO|Jk5pP6b^?!6+hG;#7{A++bJ<7^{_3>AHJvgw`g(7Ny&l@; zPi4NDDmee!jCIy_3^QuVEo)Et^dpcq|3FyzA{u#lEKJpGC9Cy^@B*8HsSH@;Tm@;u6Qv0=Chty1q@|Qqu z31lhz2%+*?Z`on4Hf=W9lIqb!g?*YYKz%0ZQ0 zh218@*NmYu9NxuuuXDWQ6}udhwpXh4-hl0<-ZH0;qzXqeCBs#6>IiSefjD?hCx#3U zHeR(m>lH0#qvr5n)D&3$TUE0cDm4mA*9&&`w3b0KQf848&t~O4@*xJ z0EcBQyi9;erUU5thxDQQa_^*Vy~OmdB19yXLWLj<+L2ag-?ngk8e8GKIOwBgrF8J= zkvZlZC4o}f*XXv{)S-|fDQvvw1Z5qo0yalIVu~jVj2qOgegCulfnY_M3gnu#Lq!9; zsmjeWpR*93^CwdNWxq`rbWkvUWMSuSmnUdg{G^gmfW&4UjV7e?^L+k%5XsfLHg+t? zbW=&V&U1c2(&mRbd4YwX0M@n3H7)58dVXKNR0gx6>zNy0d#zZC6{}HPd~Cb-UB63!YVavbKvh=Sy{#nyN8&6>^WiK}2U&!~18T8+(Ta zeQs5NP03rd36-9poP$I;e^uvxEkReOqG?xAK`L?mq5jbR$(>`qRa)%ek$(9KtySt^ zz^`v7k}bi8I;wc&Y}xIpM#i+;vN6M;@fv(Xa3ihAexH~Kr zE9;Nx*YA=UIpJ)tb7>~Mj~LZvgP4mQc7(e7R*raNtdV9i zRI%gAL(Mprm}lvZu(+T!u;|b+PWC8iczNU2g68Cp9C@R$#wF@5%}dLaen*aBvyjYv;l z(l&OT`i+!r025=ybaZ}3yX98Hn|Y~ddckN3_7Bi#iHqim03?9@UvzClr;i5y{e{)u zV+hAa{TiupCd0#j)DmRw{!nux13-xA@ve(Ktnc&P_;&hn%k#^%RVI^RN^8k$N)PbF#6d5i3`lnb^1SQ$va-ewIci!*W=vvF5a0k8213U<_y3kXE#HMB3)lUi@_t9FXe>s8(|(9b=Y zyp=oG^i|2<5oK&?!BLds;v)v){_0yLjjD8?G(1bvfa57}ZGnkJ_TWJ%Y6qn*Uc6KZ zN_nv#QnHH5-4wBRJx5lZ zX!iUl_V&I-;}u)lmjwLyA9EWZU~~<#$zHCv+K=yiX;={^HpVjY<%>*Ul3vt=&L$4R z(1}7%K`}lM8%}W!C{&d~j5f^1>bPnzQjm5TG&+rKM@QAeq6wF#LGN2F1ea=?pwSnJ zkr=zlDyb$K(T+TXe}FFq1rdg0ieP3XGo%v*)zrvMv*nX7K)hAzzBobNxz)y#`67@9 zJagRl6$_)ZdYpyXfZIuapD)9my3_A7$f%>()XjR8CpPs+&!3C?#9Yx;6uG#)FBQQ=$cNWCE!4${)g?&e}=o z=(T&N#j&Jiw7S2vN}S{WK-;iO)R@`JkWGBv{;Y*?_gu_IzIeY@>4AlTVc6Twgfw4i zh-Fh$w3#SFk>>%AbolE<_po3B z`;p#I6ebCskJHlM$|9N>*56Qd3iGAPP%B4+w!e8+5N$f~6Xfac#B$`WK1a#rsgBVb^oi2O7)fX08w0sM2d)nV<0DE)#33aj~ zUteF>e!?C8E{j~DAxcQNzqtlp#kgAyz*4Nt4lBPkMr3O``Kr@t$}$X?q{E1$GCFsh z{vv`TFGxVxGATaITM!$*4}c6F-3$$VfpVbR6l?dMoG@o*>6VX+!Zn<^3YKt8M#j) zS$_bsRK zz9^V27qy9Jm3r5mL0H~j@09B_K&qt;NuShl2fSTn=6%tJsOa+8^~c7=VP9+(FxsNJ zk6;UN+f^SU_lzM5%lO*5s(0t)y1?seYTfWceBY~K3lROG+I~G*A}$M~5cCy6$B6A| zDIJ3pSu@C5~Yie%szQhQKK_CH>+LypoWK(F15<5UxH@%0D7{i1(!M`w$6#GnIk|S|wBngEY=|uhyZwH0tzNNdd z^Ki704&DKHhbi+vcq1;9c9SqmkVm5^kX4g3dCVqJ%&o{TZ95BB?zE=7)%NkPXh0E( z_Fx#qRuyR{$;5)XV9WihLO}?rP+;WHlkA_vh(=(jY|EI=)Cv$&GK_SrCEw;5`do=fUVId+BarUnZ^a^>f zVI3wx8o?BG6lnM!`V~owYxat|Ti|}@E$_u5^r9O}yV_zj_0f!zJB)?JV{>*m`MVm9 zV2_O9$xVw@6jt_6qVUZ^9D7^Xn12kTXt_$wt0RUVh$zBI4|SH7ruO#aEKNrfF5D=_ zxIyQ=hsX*sF`51v1ydi}MY0no7ZBTD8=T8hYUH`QsjSHt!xU`H%DUg%2-A}vtPwj^ zI7xE()&9zN4F&CY(au>-kV;pKECd+yWDOzAZmIHc(c)MEa;L0S5lP}_=g2E?ndI## z5wye9;n?Wqn4=T+HB+h7(v`iEhRn&=uUrHM z5|BzADF+kHbPyHaCOfct*Z&k?zawx0zh?M-Fx&Ud?a3(RfDs2bw<>sl^k8P8ftVpN%&5ECgw9$kQ674G(LwcTUoF9{4vi&rR8*F9dp;N5|Kl zZ)ta@XdAs9jLZ6t0i$Rvg|A_>N?kXh*1EQ=`QRYE>CAu<3~aJ4w!5$?I_N0GRxip% zOrW8-V#yiE&c*n5`>J*Sw#FEpfRkhDlyPzg!W}~%yl#&Nd+t8t3fo?&hrfN!&M#cb z_&FSyPxu`Wl7fvG$Z!2VkH%hBomtc0qRpuqWxy1BZK4U2wrESyW~#lmIY1R_=|CBMv(VPkS z=1K@-z3rRs@{hTRrNX$zkagL}DrIZ}+u3FbV8%NsqB%+AS4@g%HsJ^OzmmWnxs*V$ zARz&ty_I8?*H8cBW?r=n0-%ss&2oC9=RQ0GKNren1$~6i^=)ktnlg`HD8>#VCse)?(Y~P(p=G<7Eg6vmGfdL|*~Rm+Fxz0_ykfij}?A4IV9DPayFfPsjo0UtyV2q4V|W z73xOuyg^~RUTvzbgn8GUE#zY}&4Y40uhg0E=5+kjd8)bK`>?)#Ptoysu|V-Ml(BXb z#?~crIZyzb(cpVLy>*g0RpazC+en)&RUOv09X5T)o|F+mt3_i&?mDFF_Lg~)yZ;ZfMM z=<`W3#vWh)DFXl@(Fk9S!(+j~{{fP5-n>6A@o)t*55Pf{IE00Txjyr^&CB+eV#7z* zM>?8&qHC!rtA5s{n%6VHiTEsGjgB5j$2yA@B`pzWHf7p9lvp2&&r0>CbS?q#^I(c! zS7URlEEh*sydrYmW21mCv|RK0x-J$Ax{2(b#qS5VcAXu7=CS4_@O*aOF)?dyYdw)2 zy%~sn)_Fif0af>$iZ=4@hh<07jofhZph0qhH;rqL#ESv_(I)3rLX$`JlZ9`MV{DGX z+xJ4#3@`ESR_`uO2eZA87KE>ACj54^{dbGf1M(b*g9+TC>Eoswq??iaeb4pRQJ%ow ze1bO@5*K}V@x5DH;!5K!u72b`H>%Ws%C#zUrH+OYi^bJHbcnFe**ky59iXRsIDT~B zHp`#Ql&y`~DF}+B)wT&fXS1sYP3w%zX-^-?7ZR-FeWcq>R7VUc%5!dxIrO0Oo^}>Z zh>fmO716t7y=%$6?p}q<0)DZHZA*P2*IGUfV8S&=73^NY54(-ESi(SSdrL9o|5x~P zKbQ4-2`OB}vUUF8dSv@|t!xP2v7Jt_ZG`N0;z5cEZ$hG zF}uj$aNwya`&(Caj%W zTQ9~XEG;gReHywsG}}!M;plW;ynW}+|NcYo-gM}O8{Y6+$BrHS(>K5Q^Zg zaI#pU_IY7pp2AG#=g-1bSH2Klw0}Q5{PnNHUHAPZSkx%jB(2rz(8XM{dNl=QOw?o< ztIAl(E_6c$+T0_JM)az>pzkeo6NObtXvo5Ai5OQD=iN)*L?9YV4caha8P`o7orZ{X z$+D3+JwEA_9lL30vYEj!mPRYSEsY7XkfkM72w)60OF=B@kNN)6jB7-GWYjaDejkGi z6*5>O;=VNKZuT6Cb#*R7W-G!q9WN8d~ul;~F^K`E%( zkCGJp-uLBrJIJeeNOE&w6<$w}$}rknLW8}cTP+i;`?QLVn+cTHc(I)04Z4?qGlV$; zl4dY&SoGm*d>*(V!RLtY1tim`iN?x5%`cdETHkl6-VEUL#HWX38k-P%+_X4mi{fo& z2;R19{|ip+xayKWudm&ob!X1p{@E{o_9@7k>1T~EfBB;a_HNyMuqMzKd(q-=+p>#n zPoF$=kgX$8=2Kq}laS*yZvYbV49N-;E6?9Zo`dFDB^V~HZJTr4IL;-{CTTPFVRNQ# z9H&m7cxxum85x;CKO;VL=*h!htrwgtGy;`Rv5QcF#>r*XIgk61zXT|d`6TD`z zN=H)65Y_6#f@@V1Eyw7_#N@D`f5ZRN!Wz=Qi3DMlPpfo%6wD7#RmO^|97V%&m92j6 zM~^*KKj&4jX3Z4r*s&9?z3w__w}xPBd=xfs+6?>l?XF4O7&W2I%*@pUaDl3!WOLSO zk{ubwMbFRGi~j5~bcS2?V%(&^G1O^q?sTSqVZ-|AoBrmG`@VGasbl~710Vi>KlT3i zzklJMKml3`yR5Or%3`N}T@D|863%?~6s(z=g3B(w48|rqaKjDXNA4|cai~C2!#ZCG zB#JAIPEs%nN(^*zw67-$u-x)~K*LY}j*1;A$`bXwi{c{D6ej|1&O;fKhMG|L zj5gIub(?5z#UASVy#}m!dEdK02$XE{Saj;zp&MHHJ-bp2QW8i!)$umi6x#3e#sN0~ zD2c$=Ts7X@Y$Z}H94FA`$mYsPM0lUbIL;ZRxM@^LQt7~Hk{U4JW?GWwRKCIgt}19% zV}FIGQ>Z|%Jcyo~H!rA}?zA}~9uca7sDgt7t?0fSvqOjxpObv z`?Wi16WGU?_s&qP0tX^(zCpgB=1b17|9P;t8#Iju4N!?=aj^0{Fk{IZPB)I{HY-v9 z7j4oC8uznvXI{K*+rDiF4?cJ>U*U|5OrXCh3TsR485{74j!1USG3z}$9L}BwC<^=p4yFz%$hZ8>xFVPeV`VZqyR!-mwJo!ho=TY zB3z;42cU%sd)Az@z=4EzRM4-<6Iz;)u3p|7rEI_u__vv8*CejZvC_Ce)7gX(zhZ3! zlqzu{B)Vu7!N)ut7dx(~_o#X;t`rh}qRnzjLRGdwH*q#plbQIje82<;8yko|$fggU z@9 z*V~G<7)EMS;$VGk&{c(E!plC%Cph)65*bCb$D@r%*Z}iuX+m0{{5@sDAw97Y*^Fw= zEetp-NXb${QbI!*MYY$&9yb80gGKV+9`4WyM4yromE?En{ewga8xYYZ5#ML^`)8zn zd%R|3Wb`$=cU`uyZQI^2bi2I|)nxh;U-`;cj%PCc&GF=uhd;XS;)#D9$ZY+wYGM^^ z*s!Jk-6Ql~>A;X|_FQN}4;#3Fh(X>c25FMWe4>1Mu(}){=Nl`~N&WepEEYd7_vn3b zgIHAt&YU@6_wBy?tu=wp&4d{lnLz(7C1~$^Mvj{`0g9UlmxE_5YFgXvPO$pYBX%S` zMU#UfN|JC?p=!*{h*orPQZcT|$i728$%u!vSl5Y3r%zl5tl>_74;r>&15wgwRwrp_ z`132SyqqeO3v*o<9XC`3MgLzft^y&k3}U5@o70BqezUW4u+%MyoFHMw0FPd`q)?c- znMF#m!$lYq?&<~H3=IwM-nMo4mw)(&e&D9>e(RfVK6(1|2jBCae|6ja_ut?9hd`1y zY}hdLt>5}>o40P=vTtJb+U@OTYh$A@Yy18FMK$@{TEG6&^$Rw-ckiWzdUTtlc}HJM zeC?ZU3ADiXhaAx>|D)4~K5wSfCJmApcXU&URYqP+tu(5to)QUIUrA{FyLP7|3t%A| zH+Ik9W>YKgNl(Z4>h_YRpDBkmBLC55J0i=XEw&ty$Qw2xf?o8+*2X4C=AB-2*_H^s zHrWx$ld79;IIvpW?e~MDj7dTtbmO6(0UD>~#TT9BPoh;8k6dcpt6bE68rD-$W1m!n zktpD6rT++QBxI?FrSVDH;<6&G_R?a>ZN-jH8_Yst6q0b~IB8jvK5-FkP ztbkYRxkRrAx~bAHO;}QNeH!q9_UB4Oe2|G5apX}vdhnsQ)Sv$Ee7!R=GJ*c)utlE| z($ru=rVNho=z93!ubW~Po+M!e=)Js2^AoXBemt)i; z_j~Lk@X$SIbq|802#RG|jUPTK! zN;~G~`8a-fs8f^XCN1tuOFhy_FE1Gh^=Q&_tVzcB>NRVAu>N@0hd*@7eNP=Z`rh}w z?*qSo^Ud%5yYBusn>TOnyy{i2+fjesfrP)=Y;Uix$?p2!wx`qSY$%FGyM8@2<%3@5 zR;v&<1(6t#cDNwo5vw?{nuH5wcX>JJ3Vq@vp~Tw;PhqW84mS4~^$C_Jd6jwK-_*^I zPpYuEK=&|#uaKB|)C>1YD8+-BD$!cS4qEGIpJ)<+gAE<~Q7IYT-{J~EQVoCsHyUdr zQFi)TIUhnysM=dONz~*>ZX8=J3JPh_zioNBOM2eH+8IioDmvu}uQNbM5!C1GG&)@@ z^>ECQ%^Q-6CRUaEk`7oA;lxHzB*~Rjhn>i`P^QBD3gXCtB$m9_o#>-0B1kAp!Ho-6 z|GV8~I&#;_v7wDm)S9cl+>0HbO-Pd!sTlrL+7iPFLEP*{Nm$zJkor-}Qw2yH)#%^3 z9Nr`3;4(DCDU7&5sDK=T^u2@y0^C5Olndj=U1=traj$DO8?U?QqOJewyTAKgcXzvs zzc({8^U2SB?h_AZa>YOy$6Ma;?mrzJo%ok{-CcblE~*Li+No)JU*kp#B|iANnxsf# zAT@4|ry^9rd}r7bk@12Dh%v{>k^MzE55d>Fg0PKD-7SCj^=T3c5$MtWF^I54J8QpHQsM&p-Yv^64G#ZV@3^dWi zNKhnYlTs{O6lIAeO1316N;$EmMCB@{oF7SkBvq+$*~yPYabmm5a;aq5q$qPR2@aSD zkeJ5?8Z#O_py%#4zkBc5J7xbRcu)l-(@u$-TmHu=bmBjZ++`q-}g^`{nvl~ z&Ht1jdH?<+Q%8>6vUkUhod;%SrmpREyH_=!??40WuWbOrmgae|>jnSokxs6Py-7;10z01%+wdPUipaDgn~G83**XrgMa%9?R(8pO=n%}iIJyFWh7O6%F2|}&aL76Y2PH{U z_1JaI{^VFVRM8AeMSzdnXXJ1auR4GW-gn%;?=6TXKwI`JJ6dYD$ZwBEPxL%PZ_Y zg5ZB_a+DZHPNCyuL@X-smnNN}ejm>*k_&_WO4Y48xA!KeZ=af+?tlLCzxspb`~L9E znd4u1G^cNw;C-vwKnJ>%r*_c(Ycjg|t|{K1PIsHs;rG`7!rE)? zwFaR7{irL)eimP59`fNGOIyCkfUTR^WQ&vfFqiV4b&FjI$W*6L=R!8(BIGvoL1Pz)f-tp)eEL7S?1H0XE1IgW z^Y=&RJz7{*JWK@5yY_6OKhIua*9l~vaky}F0>L^C9S&e&z7JusPw$DthzOFpo$jWs z+cy2ZEn7GK&dV9HLnBNJDR zkN2+a^~SDgj{Ta^(XoBaac*b;)fCQLf@3LlPf-^K{6HGuQB~sqT{BS8sd)rC8tB2y z>k5qYy6o9YUb~`Mjj1SdB=9Cy?9`x%2c}tUzP?jM3&_ag?@jj^{T!BHpqqxdIEd2* zcvYiDzKhg{l}C}BV}cAHt|-9IY-@&}7vC4-trc_gahCYtU`_y8+%uA-2a21A%_b%( zG=qy72LtICU61!t@oZ+N8a&t8SW|5=*U~yp3_ zWP0c%!^D+19pLrKjtLBM%+>+0dM5Mv(GU%lf#~xtjJ`_C@H&$VO2u+5bVEt9whc+I zJ%q*PoGmRc@I63!`ih4=dn3e#(=~{ZyvxAvN`@7xV{a0Oe=zrV0 z_u$c$m4&a(&(Hng#Kg#RKL)`|I2SRpfB&7EHgBHXJ2SQZU{!SwHP3Dexai{j+5B(+ zRR`hu7oKVWw779J=N=j9(m^U|fLek3u$0#Q={3$Saxmo5QSt_L;MNMi_qejnEHJ_K zn()5q!-`10mVfKN`pv(8{FxUXdiIGYo>*E#3Tv;m*BXHSFaZsDC^WEX&=`DXbG?|G zzYH_e8=3_$vvYu;CX4Q7!`b2-;6Ms)N+bag#!W52EHK3e2%$u~+WQuZJ8idS$4(+6 z*pUTTZS@eypE-3AHg8?0X|cv&pk6bMR0N(;Z+q#&JV{C>r^gzQJi;I)t@06d3)ry)WnfP>#qNUfAkOc zo%jd;;8%Y4=+W2y`QQ3mzjRXT0^FDm9z3{lVq)En$;oxsbi1AX-R{WMolb1P^60MS z%QiItbiDbTF*}w<&z%-M433$hmpX+amYE>pm}VT@>-V#9+7kB<^SCo42f%nLlpu7N4MW3f*w9RNi%v&NS7^TSpfo|_@rg79o6E*2+;Xa!!f z`v9`q8J4a{a9d@+U#!o@#>Yk9E1)y*5MKF#LBdIrFwNR>&X&~4KFGEGyLpz=`5&4c z7KqN8@n)3I=9$?by3mTA6Llp~fWhZBHRqE5jqa)Dv#93TX6{tP4cP)m_4@1FIAYu7GuBd|STT@>mJHYYD}OySpE(B^1Z}Rb0Nsi439-r>lFnM? zSt*yHQocrb&xm7(z?=xtLS?M0Aw_dV1Hh4FWhV8OVPocL(XLN56*3k& zlgPw}!k(o2fp&iCPpwvhHL>f9bWX8I=r&-R5*q6|qoe0`ZW0~M*S%^*F3u~=IWz=rdsNtHyJHFp=*oXi5fB9eGj@u8z z9fxm$eOK>-5n-9leh*n#YOD8X6`#AZ)cjh6v58RvhiaE*yu~WtQhcwesR@{#o+RH{ z{9Xh$BhAJ-J~0N+yblf?BH)>yU846J9m6z7ZQG|^qa&mL)BbC&`t9HSzyA5RE?u}h zY=FTvW20j`nm6Cl0IN~lEzG?ncv~{D?UP|J9hxJXF%9L&4EPkRY81M<8*stl3I$>v z*<+a?ji%jcK_eXj-RE?8l$;FYJ^GX&SBnIpxHGVC@d`^K3@F#usZgA$pj~~D)s2O% z$p&)YNm^!rcITlbA1NDZbOUR6JPY#+bk3+XAJ|f{zcMiC1GjjSZTb-;o?E<_8Mr62 z*`u#d=BHJ3{GhHB(FO|fXR;2u+{+q3L|~PY(6|#|OmRjjhUzmTo$nDDjKq6O0Rc;z zB6W-CI-0aJnaA;XcK#DQqQP|;izEunjf0EF^B2#-2OpdYd-v?y)9ZG> zxNc_M7q@NSb^gfVPd>b|viP+#r%wLhU;M%Ua}0jW(`naUYXJJk`qco7zMobOHsxP5 zsOXhDGBRFT=dj9(Ok5Js2ejBv1#XikudytO=A1njCqE0xz&hE0AG3oD>{M5cI@q27 zX0^*R_kzTFU2H2q{`h0?#19^aJ-hb8{rBGsH{Eg&CMHMA(iw@|B+u*7F?JH^FArg1 z?sD^4J1{jp&H&Mce6&8ZwCs_wBG#&TVN5j+gW-@8ZshX|b8uz0`E_Zw`R{qsVe(*; zEY`8w(46aEn3$Y2rd*lY$di`DKq~90!!#Nk(eJBFgIy7V+i;Q%R>@XWskFuq*+jEE zO9Gzs(jwra0ED1k#Ha&iwiS;LSw#YW#FBPtbHo-pw!pE7Q7}(&*|7wLBnRA$l?_33 zkrspNURYZAgJ++8{0ApaocObr1cW0;j!fNq?@wL3XXlO^d%ckZ z%?Y}`IroQpBO`meoz6(}*#e#iygo%H#Z`#%X z=<{R`s?WPgI2>3mSU7y>;LUH{LV?Plx&|*P0py38{acA|iwQOq_?tLPz82>qn#)RS z*wI&CguQ#O;`@-TEjNvgO?-A@V)C==H*C%S{r>CTou8ZiqlNj!fBS={zy0KkFTS|2 zhA7rvYXJJk=ryR*UIn(<*>>ez^s5}3JLI-0lp&^+iq#x}Sr$|XvnIaMkWJG}OqDQy zEtv%Fb#-nr3wP@9BYC)%uZD#0|GP=jN5#XkLMnX76d;Ou7Yj{H8Xmad;!6LuSz=j z*fs600D8|3aROdptbDAmn6%m8ms-mylbMC-;(Mwv)1JLnFpZ8FI>bkR7r=$SRCrPd zh;_Ro%v>r%PlHDc2nQmu2%%hiopWP1it_n$Djk_Dp)o4|FkQ8HRR_+*7O=uV7k!z@ zYrQ${ky+6`Cf&%Qkq2gsmFtU|E*RySq*hOzhbDz-l;Q@Q{#v^n zS;}JkZ%Q9UHd)SnE!PLx-Fm=*HP{6}3%!2I28fdQazrzIkHs}bx?2`wQ>IuIz;e;8 zg_?PZN7H!+=Qaf3TK*YYoeU~!nvconJF{N8DY}CAgOd#)#+Ns1$>P!ir)FXTCtB$B zdekXMgZ`G0vC%J%jE(%p$3On*kc(AltI=eFB! zyW`;cnGJ`kPWNE1+r74`s+-5hMmHi`pzcc9f^Jma0~So8*U!R-^!&*E%*9u*wS#&s zc(0kO5wA=bs)AneSb*Tqzyh@=!AknZ$q$suL)>z!)1RTTvfyMLx_0ZD5M1%N3X0qC zYA6#Gx=+}=j!3bTuz35eV-#~wE>vdOsY#!8Kq1f*6qLa!B2i->6>$l zvtNDj#mB$<#1l_kTtgRYuQdSu7oLG0+=)vAf`%ZLQz58b9EjakS4GCAQH?gZ$5Zws zqfk~rTGR+U*i9g~aEBzIAhel0V^5>8W9En;QQp|*#uW~kZ33pWx$^KIGfe6~n_C+q zE}rMkpM^jA@|WRT-~4xQ{h=G+{`>ENeb?+_jj0313=DCj2Wmr~Joy1EEY9)3)bbJm zWZdvq#8GFw1w-q55GDmPHu zH3G$zdL}a#3gmO!G5xSQIq;^*5|eDv*>0GpBw@I~oLpEulKG_8Io5)Q{Fw)QE^wHV zoDQfpKC~7*F?JB$7N?zy+KLO6Kxj)995Wi#{X!i*pm;WyxNfn*vk(#<4AewS;>?mt zfNDTNM1}V-YT_p*2$&+s#OH#G#fr|^inuuhXSHU7vQ}icE{ojf$?4N`9@_Z=P2USu z@iZ5A6MYjuh@0he2hlSlC_#3cBF<4N(i@|5$zVF!0Ak8TH=a|GkPtJU#7>Zk;A|T1 za_)jLky)5PJinC`eF!RTsFDih0sTBJqVQhUIPqG5yB2jJumcAT05$ltd@Q*BHT37AnA`H6RU(Uh){|gExM>U$NNaE{RV?H-8QcJ*PjCaT9cXU*rvF0=l_r}=yt!>+O|JJYk@)s{P=jyxtVgFyf@WNBy zICkvV+<#!Xj=%P6zrF67T|2i-uivnLbbRb!^Ro{&>*IC3UT06paZ~f>vF19F{L2UO zphn%!mkpVMvCOSBSQ+wEhBlQ6Uh6^@FbOsQ3b85129>Od3C2e!VB3}*Fg>#oE?zuK z=Z63^lnW7CvWn8`Q`Zd-T-)|^!O7~RW0^}#cUyMntm|xe5lr6ZJ8`^LcSOc<22Pzm z0ekoElLCze>k_oW(T6?Vl=s(SQ7z_u8kkvhN?j+33U4c!Twi_FoMB~WmU$NC<%MMU;i+O1F zcOl4v>L#4Co1P{>lzotiH^c{H!(y&zqa%GUwbwd^wS)NDGJ_B(1(CFxp)j*t0O$tH zOvcjEGQ9ZG3vlf9*Wv1`u7;0&{BD?>9EG`sx#siF!~FaLG05nCpw1P+Igj`#YWxhH zirHgjmJu+MeV7iphz(lpynB;|MhL)4sYF{V3#7wr_#Y_!AYbh+C#WIYiN{BOSLqNM znD=m1Wz$aM*J*HxkG^LAVAhWsgD)UX*-MoiunR?U9=oaN5!I{JG1vsQYCMJ&8~j2L z!2qN$=cfdFaQ6bW*Hr;W7J!kAfwGQ;a$Ff~@H0zvCHWddZN9|nIh{oIqu#<%Y!Edu zPvlIjm0nz=dlb(%`CelzG-{NG#dXA_FRAS%-D0yyW+a;FI+=Byb~8eZc8!yy@s;8< z`$W}y5-w0>FUOAS1$E2)qMjv6l{Vr0>Bx-MLKTNaEIa( zZDY>nJ*`^$TI|TcNjgFqG{(EWj%K|XwYw!+bd>`|=QYesd}S^o<`RRfKNc^|^NCUv zbn78YNE)6T$l6dzH;kVHwjHcF*kxF+hi>@nc(?c2yYBk<#XIh}_rc}mg+DlZ_QXT? z-F9DR^HqEIPESuB2)TP;WMt%qPVDTDow&2x>8x+=fsS@5Y!K86a&KM{%FIewEp;f* zw+_)6sbN|>{`^trB0^zvlMhw0j$UF}P|VbY+`a26*tnhnv<4lqw5)XDAbTlCv9SZ^ zl;Qur_{bMvoKm^DGlX__u08Y zl84uw-ss5atz#o&w@y#3|DEkycAWUhPc3|XZhqm9jvagbhmSq>wM%QzW9_vDpnt?) z4;*=5TLbu}Kzvv)UOLYJ+5sv2e;ke@>oeKNf~NUJVGjc@+`XQFI7yvT@Tp0IF_bCl zpv;DBisW?*68r1gZQd_7iY*w2DFnAYXrG@KTJ#@9wzy6M7@ru2(dPJjqdjWT>N6K+8pVx=gk2cCmv}&u zI{~&aJ4U)_=3TsYDqz~MiON-6YD7(_HJ3KE?exi{Grmwt*pIY0o26(yciGAJJaN;OIorPENpF4Bk~(=rCWGF5`xt!eW1lLq;ov%) zS$(Nfs~AW@)lk$02uiWtWa1Iyzz8 zr2R{cR%z|2HCoo;C1uTq!&Vt@EMWFbLsU%b}aP?$_S*--e*j zueLe=$WB#a&BvRfv`5j^LVyeD(Feu;4}TvW9U*oXhbys_NMJn%X=iFwa@AtM%~v>; z&su9xN75m%+WZlM#5`wVXB<*yz(&ps!8E$%#{{RBPo#&X6uyMXf<2g^;mbf^k0O7? z3XvF0WT~a#N~-gYY*5F5DN_0)C+tb6Mu^t7#!f?w3ZB3ibdx2hK3|^%q zoT=M{wVeYvnF|kX+Pp!njwpP5Q&UrP4e_&JYGg7dy(Xr*pV%yd1{Omw7YZ&I80s+l)68dz)AOySomc=w~Gr4avxP} znHafqhUW>NCGwCKaEG#vB=;*8`2?uNr6sVlP*~~rH=HI$hAEZv&qdl2MCZa%nqla6dYii4 z@VT+kvCmCU&ZOV@Z~n()OG^viot>Zk!zZ42@CScR-CEXOYp*o`{UHE7GJQL3$h{t{ zEX+3x{RD*BD-K+;MH(_FXko`-N|uh0-B1`0q6BI6+lCc6A{=$4XkC{mf8ykOFthF^4o<;f3qi^FeIp}1oA#faoFJe*H#Y|- zPo5%nZnRn42lY?}C+pHqkHOe+)p8f+suTm!94FjogdpCvUDKHR-~jwt35U=Gd=c2} zRHiFcaFktgqMl=n9mXGopR3dSLLf8f*V0C3(8)zXY=vyZRP4;?xE*U%OCgem;&+@1 zqv&n*vJLjcl455YNlE{s)W1riy9H?0^#B$Y`lb`t7+nqy0h3oSuu$VzHzbC@duiG9 z`mBX6{a9uGDGoc;#^Q&NjE!?4-sX9&EqrF=vvpX46ma-+md(YZd4@*E=8U zpG0yah(ld{5DhAM9E($iGUY++@;Fw#cuMQ@Ky$xPf-FjaPB3Q6I@P9E zk4|O-F`DEcO0WwSDmsjbL#p_Bh67Fy1haV5u1QV)+O_y~TPG}KwcW5{kP6hg7RQ+Y zV`CFsWQA;n49z4o=M4)E`W{fmJDanI%0~2g#WgD@E(WleV@t}7kh26XN!nUp3Z6J^D%Ph`2I;1T3NRaNH zO6BDKG0*;7Bt;hP8I&Z+uCM^>cI1}4!lz0C4N8L!nu?@+$BsQPF)>LUPAu%yNd-b^ zNjI_;T%p*PW+$`Ao}DhXk*f3dDVGY63-j(`;$hXGvJPeEGRuJL5*BLc#_{?aufaWA z?k^URZn!bKVbidx(_*%HV&7BTOjMSJTW|0Brl7cf-OPr+z3s33^0}4%@;B!e=KuBc z&p-G0bI(0`ZVjcZz19HqpVL>Y;z!S4I0JijUk%>pGX%4?pmaA3ML_>nYKI01o&c97 zCd`*IaoMKly#kNf5du%cx;?xm!*JPRk%Ku(5F?p`wTY8RM55?GQEMjy`?A4T@X!9) z|JiIZ`{1_Q4#ORH+zDf&<03QR#JBGFD6Ctzz5xzP@c!}ln@xBit^6S@E-}#VG#fOw zPH`AWwV?Vrz)4G3n@QtG6ywdu#kh-rkjP!AeU8>|&YBCLFv$kB1C-e3$Wj;ssnX^S zj-_O|1`lgdune);?9tp`(clg7AI8nIZtEknX&{sHiDq{U2*D=X4IIe8-s)tyT4Vw0 zF_vYLQEk4Xw)5p{H3iW$&CRioqO^u|$593xfj&bPb{Smyq!CZT&>E8l#l=N8e;wcq z<}BdbxBeb1*O-bo0(`0H^nq;@xg)|GCKi|YI}ROU@r7@V$2=4e+L8*$<{h2Sc7nFY zcoMK*;KkLJ zgtt4;gTD+kHv$1UJ2jY5DwC#bBINdhHjB8?{UJci_uf>}l z8Q&;2nJ6#Q&H_1Jh?bm>n}>|q^o8#^9(V+@yCj*JfIXDx;5EVGqBuZg)A;JOOJbdv zOx6$#lxc^IWiSJhU-7`%kiKpxc95aZfgQ+@qvQjR4LdVb=s={kcA18Vfrb>hTg5}f zCr+J!_fNi0$Gc&}CfKs20o1#8!(;svW^rl$i3=Cce*M{JzyI_aJH7T= z1JHj?UiO|$NE%N>1LF@-CXeZ>|wV*zoa4+0Em zBNY~=<^?+0&`vCEesB}@$!kf=U*dIb4{$;u-Rnw*ay^}kGZgM z)^q)8^`mLs^8fky_F zZT5QXW}q$K7;MuLjiFh=MHgZcL)$M_nK~Y_EK-XgQ}w0b6J4}wUjvj0e;Xc^4ooeK z9wcJU2Z4R0dt!B_-qM6+LM%+F_Mlb%1N^+u^JgB%feWe3Y?#6n-J~h{TO-S%gj)<) z<5OfxQg9)#t|f(%d+wr{M@D^VNrre4nDae@#U8S*$@HSh`9n)`r83MxU0T$^rVMx0 znnEY{Sjs~KKS9np1I=WP702*tBs|1ElxBuARFn+(ju) zZ7r1!fHiZ#yH~IQNm&cQCr4WFkIp=pGQylYz=K%}YGN}&WS@8L*bOhe+$+hTosQFJ znAwXSQd=UST0)<~qR%ztRr+qHF7ql7m96;X!;nAZ7Y&Z+u0+aq`po-q?(A9Eym<>) zuoi&xlunSGqX{onp(Q5)6W1hjY%1N_G7Ot!KWPf&>E^FLK0Udv`8D(RcWmGD*2>b# zL-TW2{`i>}9{t|Yqeti0VBFek4M6{AdR=|>^*cMUv;E@b3!*K}n_}! z)Hy&|KXV|UY5dyQDIJ#51;W}|S$srO?KVbmgIMO4XDmXHb~tWkLjj}7EuK*{v6Pr5 zgH2nvY^Sy-z9-5vzWJ@M!6T1;4~{e-`pBL4z^2Wc2xKlUaa(w#CqsEd2EZMOR-PCi zqn|xLw@Bb@Y+@XiSJ>6S552Vp=nzP#9x+BY@Z^~1;8N=XwA-MdZCGf<-zJv|2xiq* zw7kl=n5+Uo+&cOMU^O6t{FCC|1D;e=R%2^1JY$`%U3A{++$en^KmLuS>wRkZdj zwa10MuO$Sew)SyJGc!=EZT8F&+-T2+AZUWZH`uc|iSFJ}$mYn9ZNgqZM>Hd74C|;w zgR8pVD06pgTa`p73^It8%wIN?U0tq^$XlxDJh{bvp!pi?Y;fXXr@61j=tN<0P!DRm z=~F7fLXigjI##f#yaPcXTh%Smxvc9f4WQr#B!hGEaE>KrRb~&EbTJ|g*CsdcXx4w0 z@W&x3c;)2x3VO{KrSd??6m?7K0cQkD4;m$wW|dv`FlEL)BJ;3 zTk?wma)zvh>#%J)%DM8Y*QLfdD26z;lAmKiVz9wKh^%QVo3!B}xps`pvZ&$TdSfHcIdCzQE6j zHl61$oNK`J^RRKlM%cM)H-TxC7^%#sbZfx0yo~Qs>$-Ydis**G{WKm+q}2HateD1Y zS#_IZU6w~Cu|#Qdat5|--2?9(f0I5JEOe>*2n8AAoE2UrWcayo4?mE2JaFmg%0|yQ#&E!1KzLIbw4WT%#Tlj~v}R zxK+O*7Hp!wbct-RiUGAymC^$(gOf41B)43KgF<24)Pt8#zGqFL7_5~BNRy2pYRDU)J~F}~E!3{h$@#>Fl5FS#5<*o{?8<;3pUW)lEP{LOygAPM~Wr zwYro*OeK7I<{3CH!~>>t_9$Sdu-OF%hn5Re0nBZCx)8D(B9!ao@&#J&Nq-gHT9jIj zIR)evZh@py9iGiNdh|s&a^ybVXOgay(auXUr=slq-Mu@9cE+L%MS~Sj7Lo3Is~UFW zhbwFT3QVw_9H08D_-pItZTW^nx4h9`S^C=Lixf{bxeg8cd3(5Gn2#;p4#q|gmJI|()1ZkCS6Yn0CBi9-ZMrZWUWvsiL4lJp zhc)<^=cF=Vmp-N5v_;1|tay5zalkZTA^ZEm~!I8rsgI8XA4jz8=K^h3b z&Fa{(m*I^!UWIMjcEBe;`Iq6^{ntUa0ndGEiw~QBdy_Q8oK&}L)=&yeap)?`;2ug1 z7>L%^ngb042|;w<6tvi0OcfLu;`_q*DU z;R|I36JpE8+R-E|a+ijjs#qANC>sT9GY7)@>abW`W#1N!HA=bxWC!-a$r!zkQKQ7Q z>&)A60W%=1wD{}xXc)8-SA#^yLNbM6ZS89UJmw&vpuP-Csapgx=%g_g{W?c*C%J~u zYJV&9rnL~WjjV~rWUUa}+3GO~JE<1J>&wXvt<*tA4 zTIbH~MF!lmOaIevLAepGHD%s_bVX)J4pbA|{StW*lm`Gq<9M~)Jo zp!dal34swc)TFS8rr{PqWCLw@En~5WQ?M-Ou#)0TI}v)nk{@|f&_|cT$z2^VhYTK} z2t^u_dCs9Da*}1~lHv1+EICKT^#?F5wdT{=UMTZ51m(gGz| z3|w+%h{5^ShcMC|InZlyQ zIcL+cf*YvN0g#&P)asUvowm40!-4D;@GpPwpTefiTj7QqZYHht)btd`&Mxw>7`Yjsr4}))HE+1c8iXVo z%pnaV^+r3iks!FHMOOk2$blp&BLkM0r+}#vJ1lEgD`^o5gH}LAG?1#!9OM#Ebqp*K z5KQXWp~EqvwZ>2ol^sZk2Qn-;@sHpFKMQI@DLF8!cS$ma%H9vaZMdqhtVPZeTa2f& z@wJ=_-K5PQJ3C2-Y%tNHq(vJDs{M^(s7H?>h?QIl#bZ0Q zw4prQR0*h#q1Y*^)S!xdZy|^QQ2=P+NU`h9aUtMoxdMRAav?IJV`AIBM4DDC)Vj_4 zA=8fE&-0_%W(;(=R);c6dS_vIs}OC7(??T#MpnI|eYj7~#hxrVFfNGQ+yV+1=1`x! z#Nd=9I~`6T#QUCtRLt=pNT-C^P7FFyEw=Ktc)cpIio^fzFD|%Flhe66?P{e1tDhL0oe#sS%2HaHho0A5g+fXJ+iZlrpecw^05>@t6i(AMz6&<)fVj)BKluuv9>w_9@ zbRO!m9{j6Iss^wnQ7d-W14f(#V47eu))gECJWRb-b)#S+3i8g zdQU%VcK+4oT;*cVGo=Rib~c5{FHVk6{^C!5>Sq@|`SJA3(#pc4&9(pf^ALbye=};}G zLh*;TLA6}kX2nTCEV@el?KbjIHoq)-I2|lWI$h1I2kDljwW}MLkF3UHLVe-F{5&x@ zKl?L(0~VJq!?(Wk$7FYhoAJ4`AHesTUr#*oDBOC>9dPfx50LLCrP3`dT0+{y#00T% z2&UEImx}>p$+)%5-o}}<(mW0Cd`I2zjqVn;0I=)=x4hwhmP9>coO3B46woHM4HF=! zE)Dwc>Z7gaE0MSKvP(hKz?>dw!SOS$h+IVhq)KXnmxqKRBj6Tv-E!^lT4e=1`p>n- zg6C{QiOK@{lsu)Il=WlK+p*a1z6>7XJF`|g(ch6KKNg8YVfRxjear(#9uUPiYzE2d zW3JahJ(XAbi{>e;aoA-r6P&w1vSUk0Jh~v5!v@L^@N=US2z9U65y0<7=?5Oavh;y{ z{n(=z%HXL!UjvCKXBHHSm0l>)25zU9=fnqOpg#OV!8!mI;hdzM><3}%#DOvj!tvP} z?@rJ?FpxAvb`N0(ia~R~;j^;5GH4aU0~(l%b`PsnaT#2b^DApY62E0*;xt~|0V6Gf z@V<|luGbnkOB{cW_JgrcMGQXM_}<8jQdgj*R}E$}Xz~s5#-?WrpfxZSOjaeslUXGo ziSB~}+=2~yBG{!wQ|zvEdqt)tEIgjO#l?B>-o^T?qenI}>nv?rVHr?eTVcT+Dj@k2 zNCA3f_7cp_U54ZDze}HCVtf+z?70ed@7zoN>LqQlR8S@4soWz5-U_YG>ux8u!dURa z?Ag7az`NdO*!}8?j3WmRowG073Q*3WHGJ+RA1!G|G&BsWg8;xlKfj|q6Wy}73+>RA zB2g-X>F>Pz1|0s#N6ke?weY&Ao84q8`<=1KIsmR~nK=jLRy=(&vMCh?JAnm}C3Sw$ zbQmM)9Av>*-C7Owgx0~C8T z)z4AuH-dO5cbv{x9IC~CmK`l>Ckq(bAeltVm6);5g>By-W@lnCjRi@&sd24jOEo6JIiyKUcY)38CN=KmKK7wBtnxNLlK zgoe1tCm4!5g8B-h9xnXpPjmDuj^7R(S5??My1wImj#F}rB zXT@NJHpy(HK(ImDGX2G@wu?lMo^iC6k1+66Y!#<^J+UC}uW(=sx?xN-=N~UB7Qy5i z;_Tl@DikW`jSezE3NAP&7+`X;TI+;#h_#Pquh^+7Ti;N6LEyf8U}IeI{G+|57BNZI zODKX#ABq+TJt#rIhnA}|LM~w;h~2gq~qPc{{Y-|os=K#4+564O$?4zR zzHQsNrNw(5Sz4U?x39nT;^I?nZphEs}`3QVDqL;!caAf zGq9dn^|aWA8twF8W^x^*@oAYdE)Q=|FW`tQNnZw;vTY``sR@wNjgN=^YVjuq2cDcQ znGVy{*^W(@3XWao6^j78#7@(X%C+fF&9^obCyW5mEW=K`|2{2@pZU};!q5G+5qRpE z@56T<`WlB9G(h@=7oLWfUV0X`ZQTiX-F-jYa`UZFbyb}3-%u#`)CJrP^9 zM2i{@zKxFe#GYzU60wLXD~w0+gBE!VaNAQuMmP+mFmpH%MVoE&dnKV4%CPz&rx2sH z>-F!mFk_l-XpFcp!nmm}%rDT_i;6b~vy~Y#n(t zOOj?T!6tPmde!U_Hm%iLCrOG+E_fvst4QrC2-9oBo#GFzx?ueGuHaUbabSRtN`|5& zM_NZk7-fpN#`}kc5825>T~@%c<1Lwh)362s&&sSR@W8>)Dw`>X{Y-7at7{AuqM_pR zgQ=ln>*h(z7(64%-2k-pmZM$Iox{WmCh->25c(I5yiH5TW3?Z~M#2%)%2TD9x)=pMi58VRO zWe^2EBpeBCCb~nUO`kfkZ@&2&+VgAdH zKJnmFXU?2iSc8dcuYcdG`f>j7H{bA)U%hnY!jTgv-ld_r{ny+87cQKk);LbKBPhcN z)7`tSqQx8+y7`4GFg>-NHbHdmxOC|(Y}mM&w0QWiZrrpUc5K^6Opb0|_@qAn;?r=$ zq1%{UA{J$Z7Tl|^-QChgn--6`)PD&?pb!K4RS|23Hg!9%-_U{3IAkk+21T6FdJ+~K+~J~l!37CVj<4{2NjaWIsET}DRf zd!x=-SdcR}xTWa=4V$mpU}pb^XZb*pbPpsb9JJs_TC3=9@lp^EFpp z+gVt;a{9`ZD{HPEYp*p1+CF@@bM2*z=jp%Se&;Rt6aj$JDm3+<=t9YIs}h#ZZDhql z2wEWvmKc=_)28WdHMMew)&kTG-TOiNU%DETr|Y1015t%NNOdyiDd@nJX{NKeT@<(h zZV_X~eSUs{KI=_~J_`5W{V90w{Wsz9C%+4Cz5NC)au{0h^{;;g9)0AyaNF&7!c8~b z3fs4DZ;p#STye8N&(*5O`b$b3M0Tgcn;A06nqW0EJ3_$O@9 zYllJ84)uMbuxL8Gr6C-}ry86jq9nbk=G_kvveuA&x>duBGMOx{1VM%em;1}2`3wRW zMM#^A)gcx!SQOy~j+-`u96Vl>tSFOeR)UVf(y*26E%{=J46da8&W;=H=y28fnw?j0 z5#urpr|hqFPE?W-TzC-KNGdB`!RYuHF}`HM*xWmuRvC>U*R(tZGBoHX#S9i?Jz+yN zcm>Y^F_K;al#?qIoUYqhblG_``#o=8mR$EIiG#}$4I^V`K%>9${@3%R0FXg-Rltsq zh}W)4oupeP5XAB-7!+bL3ahlJ^v{VI#w6B;>Wmi5$30mwr3C@rFS!1oix0l#x&}ZJ z_-;M}>XMO}R9np=xd`oI%WTWC%N#KskBNzE^<(aT4#r9I{>awPmy159F#zAdG zv))I1?xkSI&Y4(_Hsvv38-ok+0$4E>baQtr%rDHd{au!KU z*WcWL$(v|BQz=U+H2M5h9h4%~)-KqzaXZYcTW2y3Bm+iAD)V4(4GS7PboPweSqmD| zEmA>Q%XM8hKl@dTvY)jm1#E5=#U8Lnx!-wE8)Y2tLIWsa{kruQ7L{Aqxwsao_C8pG zC5WsMS{~BSl3WEh(uWB)o0ZKgY~-g+y+>c{s_)>i`Tx;6oK1% zz5L5#qocq4mp=8gbHhRZv0C9__C|$Ta}{WWHFo1GT_Ata=DdcW*ZpOJ4L6K+ih5~N^2JNbLTF>#P}xo!Y}+Cm|M62-}u&- zDb5wY4;kr)AO1Fc|FMT)|Fze_J@-5S`}SQ$KM&i~_%qQGZ+d!$K-#8_>t)E2eNW$b z<1P6*-lWh)0*?b(J_S*wRabPaDge~52pt$RU0vlF5lzR+CVyyYH1)cek1>N0)xeTX zlQAH{4U_Ttq7=909}!58;ox4XN#cRvsJ1pFPwR8CV;1pDVOWX<8#9Qwq4E%4VSUV= zEhS@sbfNFt1|c#L(L~1J3OX0?kY#hizvtuUdz=OjiD~2*Xf5nehQW>r!9ZOi7l=rO zTogSwxr+pr4yZmjxS?DH$yQuQYu>_7axJbk-tG}v!=0%vP9ON+c&^nNa9jo_*@>oj zjq80+&n0#)2BmFp)_!gXl$=7)@g^14pQSZil<;*JmarF*X(R#fLG|Dnb=g>afq`dm z(a53!=*t48x zatcA2M5osP=E^!b_}rrW0d?lY{D(}Q@*qqec8{i~*TYIv$SC7XvW-=K#-?sH@RnV& zp-ACW3e*Bar8omAqSa@eu8z9ID3dO39U*AaBp1=vEy6Ax0)CN(;H(7>fU-<%$i>3w zD81+6aFOlwQUy~DNUmk30E-6n*MI8iCx{@}fAw{6`0z*Jh8u2$si|oPe$jWn+nk#L zcU^#qlnv{*GyrrHoI8Jt3M=g10kk9S0i4v`MSVwER|<%3%f(d26Xo2eRm0gCTzJZ# zq_cKl*z>#Cp}|68X?c;{I1V2^Vug$MAh#k=gQ=tdXM4%oe6ejt2ttc-_PS*)#B$1x zEw4<%WkdZIs??H_8@sJ;A8LoH629alIL27Zeyz`5^PEieM#erp62hm)C$7uew(L83 z%PseOYvIcLAHMnSyH6fH`oyI*?erRe{;_%8cH2GMnpJGy+}x}Hjk*j)X_YEIld8)^ zsl>v<9BmMts#n4`6sY3jFigU-mJkXv?1v-|ZACzOC@pjY&dNNex`1aFTA@}^ynxC8 zROA2xTwD~y*d($W9=3138jc=&2F{#2 z!Li*9m^gOq6?o(I*I@VVy>S2iKLOVsI7k~3vZTmTfG~vk*7Ni8E_i`AInv>#C2DU^ zPEL?agTS@0Cc*1M<$Bb^W^?F-;HpDv6jU=RIz!!9n-}^s<2CCv*I=|WN+6DhLyhb+hMYi0 zNEY=BBG=HOf$!;ZhiON_&Sxr-#HQ_}_bf?)nqH@VvYd<an@b6FVh<>TcX$tx zR()}ifF1|@sGKOdVYc#YtG-(kB0Ygc!85h$s)NlJ6uFIrIuMhbO6xoqYr;CEw%$~( z8DF=W?gh4eWHuM?A^bNCF`^<_PGseV^HeupY3d+$w{VbFyuf2D!&IvIx48p(?nugj zouOEnY>A4rVJ%E~vO-2dZAlyDbE4^$SPZah2hIy{3_1-aVpl|G3|iqV%Jh~l1p9jz zb~QOUfw8ICO9EK3gU27#@-u)125D=)mBcA2t~w{74h~p&4F`O`V0Q)qaHm=-iJc;$ zStj`j7tZU~ZJ?ixdjc}suf6^<{X+T5)mI;YI}hItH{W!7Q(TWVe)pAQpJ|y&;u^N;eBon0K8c$<{5= zlcfId;2b=x!2#a4yltDO-uvbdrLz*wEu_^|ZvL{e?XU8i4)_{@Sr+$8AfCOWo!EQp+1tHwpc3o3w5gtj)*O@izh_leC4QZ6{~LM9zydv~_hTUD&c|SF`Z%fy-Ae!CUXX0&l+aGHoc$ z5y89fy$$dE-aDj^zU}sp!0opmCcQSk!IdkQ>0Dvk8V9NnFtFP|v4cY(ic$#N)W^m~ z3DEJ-l_aFe#b7|k=O~J5HpY@*NKA=~6<5#gXu9Y~Al0V?Dgdn1?Le&Dw6HRNYDO#U zqbvZc*yp7pV;LE1HpemgIjG;&!c0Aa6Y9pB`(Tg;B`#SQq^Nd#p-kb|If?5*cJhd5 zVA_1Ajh&bG5^XNuOYP(J!-{x%k!7qK(6o}5Nh6A^bO!FKa7d0(*#bVYDOSDIfted1 zXAf+-7EB;)dK#JqR!OWZJXaEz8~hv-V-u~x9|X9lC(fjcULvqZjvyLAEyJ``#b6Y> z8#Ot{EHG0}!0Me-9bb)b3HA`4QvKuTrs));Sq*1F4I&h9fBz=E9(Wu52e=bGnxo(ePE3s`!= zAiLLq=5D7agSm_F>Z>nNY9DsrcJJB;x7>0Vc5S<+0o@uvl3-i2mrPAfaiSzy?+tja z#3Hqe3q~1?(^SOl3fp3%*K$|M?P0?JK7h&<;w{NWZlz?xDq#dZ@{xj?hH&ci`y^>W zClepPomDyJ&jhs-u3M4+?A)77ni>D)qnS|AIFC7 z8q{0^(0{Q$c&~TIh4bfxlnrH5OC<$OJzqH>fQMPmUpNCZ)9cEEoqel_ZP|3QQG@&> zj0Xeb+T0RSF06_!Yz%^eq=*T40%ek1Wei|3(y9|nkV?xtxWU0tVw-j7rmVISW)M{X z8H+YL6s>d+z%$t__}HeMncfH=x%C0K^`?8^wb!44*WY@n*^FoDT%5mf4jz2)>+t=@ z9)=rlyahh?u}{Dh+BU^NKy0PiD6n0L!&GFIw!Fm6a7lv1;$R?*+&HpvsE6*a&|s$N znzcQfN{ic^ltXZKS%Kn?$;;R_h}>e|*)A@bO3L~=l3%iZo zg=TX-f9?WwdmUo>5I8TdtQ4jQiiv?bYh=;(7Vp`z8C0_Q({W00h7}Ak6o!;+SR|xH zqROMNqnb#k#XvAtI2R3J4pLwY%m-M#nGx9HXHamZgM(V&Bp2Ds%xj6F*7mB|;90w! zB`^pg=$;PjB7}R^lHh-6b*s|Sn4hWiNmt>vL&>PjmQ>cj?AQl3u zS4SPVw#Qj&6v?-o?BMX)p(9PjtTJA&#lb@Hy$*%a)WR`q(x9y`QJA+NAeRf5GINmK z9Ah#`nu7Nj*rg{8l7N3Mp2sIAgau}6KVDvg6u~N&sTh5^6xbqhgW{QV zx^V3r>O6rCm_m%D(@_`jJW2!C`m8QB>r+RR+fOqZK3pZYWJ6wP8R@k_4Gi=(pwJEeWlIsUvZ;C9p z6iYYQ39G_RVkm{B1A7UI<~ixmsW*JjWl+?!)TNseTG+Ax*diZc3)KOAw&N#`!?o8Q zD6F;LO7eEy5)`h%4Rmll`)&Cz48 zKlQnQ{jKrnCP?AYw2ZB3G#jL|O&s%Tla zMQ8aFo$f6-?O`xu``|pW(V?KK#_4k*816t9Zn@zexarVc@b3Gs!7Hym1s5-$rSpdx zL!4ZH_PHnF(4m{)BOm!Fg%qg$9JYN??lRec8wAHgaVQBQXFwe(`A27teMa|-KCwQ1 zIX9*CXh4m#9>k|uc$Ww=Ut)qChs_0aaiB%utO56Z+s0!b6D8pyLZFc57 zp{#m;KmZMyckVpYbnY~0A_iT6L2TrBO57wwP{K*9Ban+%w8jW?f?#Fd+6rv58{+dD zrllMLSejT;?{Q}P?OF>=Ebtn!Ox)x*zE?u$M7$%Wtf$QKHBndi<3TEG@0ZSHClI7ly3c6FV>{7eN z!0t5bad9q|l-_JGY(K3JVIY0c>sUqkKv=-zd|t zNOT;o?GH)Ui_dDE1|sK3blwrrVdspTcyRq`exI70fjABHnQ+ZtT$pdZFUa={EYT4O z0P3359CUT^^t*84)VuJ_?|z8_RgjDs8y)8-Fl9@!%|7VFho-nrj*tE}7aNu0Ks%Zn zR)J>EY=I*TElp7TBU>`aVgX29 zxNdiIr`!Ad_{7xbKRUB+?vC4T`{Cm9+#fD451xGIotIyI^UXI`)?nxwfd0|L&#}67 zVScW(y9Ka@oXtDZGmuGu>yT`imNTSShv#?6d$yU}@=YUHRb=!Tqfl0*_R%LcaI+;?MnpI=pD^Q`vP`R54yB09;Nh_rMMOw7Wf46!`f9h^|;jc8xXl z%>rh$_|)(e=ggw}8uKP;Db8KV0Rk>{ud|>GOtG z8YKv0R+nIkC|^&7U=%HN$9&K6*`Pr@>cI3#K7r3Nu0N{FB}TM)U(|lr%fnJoCXb1@ z5YYiH^{MyL3zd)*AX3(#D#n&PDz`wEI3+-_gjDH7i28S$n91uDGUV6=V3|o|>$|`K zPc%R&?jYov97A!ofXXCQMySfrDu+=e3uZxpOrFuy*Ne4#-vh~ED6C1=NxTLKoXHow({0w-jdV`&SwJ@u9mHK)UN$h+YYGP>U&uqe z`TO^dzghMKc_Ba_m0+1x0a1n?oI=o9&iQz386MQ(XvTA)WrF9WeJzIBxvsQ;A=Anh zUczhl0N#4*SW`qSk~Qh7B$p2jr`t24dFR36Hl59$IQ=AdJSkfNo#mPZzt-ALDWPHB zPd${RR1LBLXuH{X;v>Y8f*55^MI}FNdqF0bG|;Q)#)ESeDT%p+0Xm(j<~=_-Iy&}A zJh+V;HoSN9O?Q5KX?f+3pMCbR@2+`HuL0;EiPv3s-L+QsrTQFZ#nZgb1g&SfS z=19`=8P5#tRmceB#9M=GXi1@I&8*yY9ZP0n&#FjN$uG zyS`a~P%gkWc1^KT_l@-fVI0v?3XfuZe2k8XEWp&CRP>ZM+*nasnJjy_nPQ|d>6xpd zzY{$yg2Sc7WygN3*32noQW^88gL>H{4cc6+9c#>Il-Xbgrzj)9UoF)*Bher+TiDf`iZMZm^SboQA652Y)WSZOJBh0CcJOF6ceYrTC7^oF(Dz;%23`aSS zBjj1j$$zMGUca6lR_5pCsO2qYR{sH<*(^nkp8OWK?!|0Nt6#i7EK+YSX*%p?J2 z(Y%$dfYWp~`J4psWT2Fb@kC5JN6hoQfwJfp)Z~1$wMZiQlf2*b)QmCf^gg)+1O?~S ztyjC;ALV=nXfuW?v8WBE@F1*quXIo{Noptus016@BX(czQwAzp3|4Y|k(r*OX8~mo znEZ)vf$K;;sCjlFmRS=KmN2lV=eZIOWv~K^3Sa!aDU6nuigjevB0DqiwoZxj>;_AH zmFRIyZLBrLG>RKXBAG^LfOrhT{;v$_9H2C9baW$~f0Q_2p^#(_rZ1lQ_`X;)pr5w- zisRrkh&%_2JRFcEU-GJQdSGaUsrU*mSO*D7VBZzUejc%9(H9gHf2cF%lLOTk z`STA^3qA{{PQ6b~OxV2vo5>DVXvP3-FY8?FHPu>GpEZ28q66`H6~SZ@B=KAfxty5Q zY<-jgSnyI2mG)>CX_W&>k=%z?q`4k4xYSo#pT#z_{OoMQ$&gAw6VIU}+ZV8Z*4*#= zntS)xC&s6L{p0t4=Hkj=<)P)pg|D1CbM`wgyzs;+SQ|uK1JHjSUo$g%ZfiFBIKMDw zEOUt;g_ehGACcA)B3w74UXR{bBcI=T=WP^#PQM4jAUow~*?yULOTecMqZs4ekI z?W;uptSw$$P|=?iB#}&4KngFxjRrSrWJ=a=lxXB7TBv!GX8&tlD~nb&+Q5#HKE?*Y zs`hiB!L1aLeOqpR4Pe8Dt?-wB;uqn*kA4PTfBQvv`niW20Dqaz+l7ng;j3T$5FZ9@3o_~(>* z?i@>`H?_P`3)weT!fX6|OB!6XH^8bz7)k`U%6Nu#Elgc$yB9<5Kj|(E9LPaoFp1cy ziIEW=I_&qYRaiW)on}?tKyoPHj@aXh?nS+yqGQ)cn&i?ksW8hW%tVVw@?Wjkqu38I zu?{(r%qG>$gqqYzIu!&SBry;fwv^f|u5JDn9)rg)6zeeAl| zaLH@3S&4o!r{Z~>oQz84rOCy2Q}jGBpK>pakDFB)CkqO5C7Rh*$c4-nWYHoAWt{?B ze)W)1mLf;Jnb}Dv2|yg0S8vX3_N)LViBYGurdZTzCxraTo6j&iH*0>)Xp6@VF&GXq zD0+J5SQFY_UuNZ4{I>NZj_NFFldt~z;uHsjg$G={b-O)5kM%P07`rp^K0&qFPW1IwZ+ejf2h zRw$AQXwY+nNdygQgH_LGQ`zy0PUmCnqh`4q9f}NLsBx$u_u~TzQzmGtQ}1*!yHoSS85_ z+EGcZ3?u74`}1vXO*(UAo|r|$UG71C|4z5Np;<3}c6@yDXVy9oD`cGWE z_`x4P^2m2_5OFQUWeq_8`FQm@ox_(dT`YRvpu+=0xxs@i{@RWvui3FlxP0XTd3W-I z8ztSV=wh)Ai3>& z7nZ|!941hD^p#g(c6N@L9Mtk6Na#$`=UHktA7tXkM<>Jvt+3nb+yTOG_-u|c8Sm|* z1n3clK~3Qm7*q`~9G`|eZ~FGlvJ+jUC{+LFHj3Ks75qKe!gC4Y3W@p)wORgh%>`I{#t6(~28W4%W zu`j7??tTwe8G$grYQtvk5pE!lE#yK=no#_Ti^D2qAQ*{KEbn9j}$&m)&CataDtLPsof8H=0R-(*_i=Bv%WLxYcWx8NCRz4 zMMEqgs20Z)$Yn54-3!3{cjZ3UHPH$Y=X?;ONZMivK9T~33pU5zg}SAk)@y_JK6Rs@ zl9+o2X&t9;robBtTuQBivN(eTw-&Ys&`P^Ll1{rwzLEjEk_K4-8d*;!4sjwWo}?Id zI^|jqhZP;mFxI3?$7cx(WWI-MB3v*y1;1utah@eZA`|M%*Qv|{?>i3NVds^;{K97i zXEJ({kXZtce3IbmBI3izp)Lg5S#&}>5!?ZB4@ym@5P}uH@1J~^G~ie~2N%==x>Yz$ zeekI(8LT^IGYkM~axGH3=!S5eEX#FQZ2xgt4l1Y0X3Y{TB}g5vw1`mUOInqP*(zXV zKr(xV8QR0>g%uC3n^z7pw_HEU{%-$f(ynTx~`R6aMLDw|^{h#esh0YxagaecoQW=&>4cNRwY?^KYoJ1F3cJ3lgY9o6) z(i@kDy=cv{IWdG5sKh4|S%g|xP;jkNtwz-cnA?5IfO-i?vau!I08$>9c2!?2eHhXj zbm78zxcjcVVgLTC;jOpcfn&$sfQuI{T4XGK?UXo*AUi?{bOwa;|Iy;mdOifJ^=-at-2Qjs1wRZXPWzt9|@%%+b2Z8mFz;aD2 zVrhQ^yLg0E%&5~GlN`r_JzTp!Xc!9y)S?;7XKK-T z0s&_ri3$TBd?9EkQ{*l<08%T}Ph+6D#T`w)Qc-acoIMz_U_21Dl!n&g_k%zB9t`Bl z{b(`S&R#J>8LSC0!JHIqcr7L-CW*1e5EBOFX_dsn1*mx2tK<^s)QT_`z?75Ih$kLY zQ=M%IX2F7k2P;u3p+jNx$mgQ|uN9EGG`1zNc*E~ow|)Z^Wq5Cp1)>eyHeW|6nv2$T zQbsH5P^^GbEtbp;MLGdm#N&Ob_KPjedjcyQve&%ICSF2wO8Z%NYaHaId4{UPvjfuE zpybA+p1kF_Rf3iUEb7`q;UCm#5j)6G3Qn4*P;cE(fQAjCB^gG>MA9z%o|D$w#l}-8 zP;+f~9-^?E$@HtyoH9`6fu9Qx8};kfMNz+Fabodv9fa@eB+uK>3eRHkmQ9Z30aOe+ zbj*XjDMxceBIykk>3A>H){VhJ6W8EQM>>*`WlHRcoyloqbln6UdrdZ%%Oa)9#KI%+ zPMNp^xYogw5BET%IJskrJCUud6@=#n#?4PYw~GH6#Y8=0hCoD%R7{zSV$2*n04Lg}p0 zAbY2~z1!hI#Oay!^Luw+|46e>e062G^21kOede{(r%x}gLD@9`{b%ypwQJW{Q#s!< zJ9~-aU)6_I{AY3Dd*P)Y!c8~cA(mcc$D%>K28@l2kIDj(WW%dlk_=vKHRXsOEDWAN zTP;ndGb^9O4jb%WtE@+1MAEQ?QzQX&b*{l^H~@QKEdpHr_w2Jz!^Ml2;ij8zhTCqt z6|Ot5A3iv94qklzB{==T2cqTVL7V9YNMq|B7wN_21!8#7*Hnirp|yY&5Rh97Zt)Z@ zt#)1r6Aa+W`~|2MyW|XV@W5?wjvTp%ljeq*f?1IDn4O&^ji64&>jK;nkfaPWe%}~wLT)nN2d-#(VG^rCYON2m zIU+c}PXVLBR&CYBs})j^Ad^UX`JsX77z(3JtZN9iVAe7yrgnC^z@oeYnJNtjVQpxZ zK}4_(k|*MUTD%A{Ds}FV_h37^Az5yL03>L6e3#hmpaXeX9a*wVGAtTGTI4Axr*0Kb zJQDzJ7!63%xw66q8v+7kt+-7+Y~8n-8p+bg_B4F!-ga^grH$y?>F^q9vj^;QqYirP z(?|oru@xGUU6ei8z#cMuwF`a0|DKzh*t>?-!ReJBNB^4GegJagzxIIXUpGzK0jwKW6119IG<{N=1UPF{~Ew3!uHD;HJ zEUfC#+&Yxe)d57Z#Z;h7)4pJuVwyE*zE7jmtq>3fUj35`Fv`VV(-H>3JlBn-CdZaV zDpv4(jWnNOYarEv_*l@fyzTi@4O@LuJ1(ku!WO58AF>=l%^jwDA(lUEbb}M#6 zEK(MIzMKtSHW_$!$I?Eo)x+QFCC%R$OUFySt6gwe3Vv2Wi`LRL$s)i`EF+y99qW9i zd44~GtHMW*eEhw^O8>zt^OwK!^2={OcIndFSJq(dpCK9hWAs_W7ryX?i5)wxyDiuG zZ@>BWYk|Q_#Z$$x12^7qD_ppAj*_7!C#Gp(y3hc;^)nk`a&ktd-xIO4sEfn)?EL&J z{dpb9I!FKrx83p)n49I6uf`w0`Svl`x_Or+)uC<+Wfl7m>@@}kT!Neqk|8Ulf4+S2 z3Y<8O$2Mbap!tQ%^gUA(>j*d^yP^}==PsV6K#vnAPr-{XzC;W3zI}V(;PnS!$M)^8 zytoXr^K+7n#{)9RK4S_O`VQm9s_kts#xz(W9J86RkkTz`ta#-b9sqVS=?|8hjc}gy zu4CiVaMSg7zzx?Orp@Z?xsxoj03IZI_uaSQsi&R*OpM&Jd26$2jtI-nR&cn{puL?A zX(h-`FCHz(1c5asg5l=C{<_HqMU(T9)^>Dux;JCVoPH&PXQpHMkh$$~Y>b9!m`lue z%DJWC4bHn;nIRp*Laj9Z+w}A_vGTa75@7DAn+gXp@POig^xzb{k#Z{#sOq!_zbFzn zmEqCo`?)UYz{lcx%R{w%tLq|bX){K}5{k5)%PRz;akEEDM2jYO+q_Coa#D7vMEd5W z_oLGg3Sd$ot02!LQ`zaECAJxX1`cZBaUfvsisqXDUcV+#MyYdTT_*A7HJ>4rto0~^ecfy^kbD4~jNeYCSxY;{#a@k6)Y z#d?vRE%C!9H=PEEs>gJ(_u}`cVpTd$&ix`v7i*-)*AWXilwV-Sfs2=#?m;|PBt;l< zq08)jqIFHLTN#9dB0Xw(|1txu>lBDX2T8Rg@e{8DGVGPGqIyp!P_Ux1pu7s82i8K|u2~^op!C7ANBq<0SWp63NaXHZ`p;D235N$aqcxjxmH)+VtFZ`|twa z)^qGMAue7(p9{RUH{5U=&tLcx0!2SvJU$$&jOQq|rQIPo(!w#-EtcFB|Emo9te7V| zb3afSTq2>av#a#Z=8^Bx#e8@YcPmQ)T+6+H*M+_Lp`{u3>X=f@$RINfX(zisENa~C zoUPOEI*>X&*<9y!&9isM^wiAfckkNq#r^va9^SKS?^t(a>fD73AIz^o+%*RJPX&@c z_sP#qfAVvG<(j>F_Z-}~e#2GWPG@`bplxpM&Hde~+VR%g@2&sc|Kpzo-aH~r(PDqE zlIYjbk#YE$pZ*1S>+Lrv4wzbgBA-AOfF|^vS8{ZkKhXAk6-6^Bo23L{sK+l2z9EB` zhRka9Ivf{lt`IsvSOy+I!ahJ!_(W(dEyUU-F@e}C`TQx?qWaJe8|ctjN=_AuU0G)C{noje%vgJRhz<88Q=(^wJBKy zON(6)rVRMA%r@X3<}WuJ?*vSaPr)bd|7&p9;ZMLzN1ue}Uw)z~UOu3&$7}V&AATR6 zfBqTRzyCU7rT6bYz?x`e(3W{>9V3MCI#RkCouX{OeTCZWOVAa^1>C%_MIZb^?gm#X ziK%8&h3p1~%E$>@YDsLnGP994dfi-kMAHrUKyo0NneQNM3T|%A{Yo1w1iBHeK?L9u|~ z2E}B{n3Gu>R`O>s9V(cAwT5BfAYqV#9-nV@mLaB=7=AxM7D}XiF0v|{4={HQF4Q!# zo@ZfjP&ybJkFGp;?)F^07p}SH8hGy6|ChZt4X!K6&csgM_pmPn0fGd$FCf9KxD=~M z*4B%9s@&DBmZ#O-QqOM9j2!ymk!6o!eklCI{%?moV~0onVQV66$BesY)KaV0>ZPiy zN?l!Kbro4$z@1n~5ClMg*td6YI=_?WWab6Sj+maAaM(e%AQrJaymw#T%fcD(?jq>1@}8>Sef?<{SbMTf)~|Z8dRkWjUx*RdF}Ugg&z3h3A&m zCGRHUy%I^n2kL0?MRvUqkpeXc=g;)xNg99nfOhQI6~cXLnjouM8l__hbtnLF5$C1C zKNIbt%ES|+?@bY{?4(g1d_oGZ1&DeGlTb?5b->dY$6y%X{|VQviiWjF3mp$JJ@bg~ z8@^9gm#A}N7u~sYgLdxR=Yzk3&vd!?NNIk)NVK7eW92!A!osR2JS8n54arF@32oRK zt95l7t98|{wluYTwXMB#v2Wl0_uUtMKKpp`NAJ9M^#h`(HhE70v|CrNz4mvSzx?G_ z_w3)hyRUsi$3Zgr&T6IZklR2GxGKKe-Sl;Sv})4yVgB=Ia*C6sw1bAzslubEXwE)1 z{*X5?0IW=TuL4ZL6|Ta@uA)_CmZ*kf2PZYS*PA1D=WsY=u{&o&P;JS&N`(lbV1t2IzmQ3pXUzeGNP_Y zm!uE@WlUXEkJOaE=;;SVusrn7vk*E$k#y}#M^Xa7m6nvtb+CaW>n*GFIoEhX&?tos z+Z5WE3hA$_Eq7)45cXX*&=IPc_@DxRgby$hY_ppCNK1rZA=>$Z-3-|Nm*(rMHih{P*cBT^|g}A3@J3XGB z;%ka&X{-AhueZ#*$V|-7xx%R@XiYQ_EuBblBTQ*zsS{M%1y2)>g+9bhiG=?31V3CI zh731=nwzRkpLL)4Y*XX*Kl+U?c8}GH+S`w&X8!fHYaje%W@cvkDg6EaFMu`<+|_^m z>wj?<%W4w}JJ$#ns=^+|=W4!um8taQ( z?A}eM&z_>=Cl1qrgZt>t?I8!I?}<&6KOk{1a6?q&032*b3dk`3ngd?3KoG__(QVj0# z-D1lpJb2;wJO|NK8adTZUxxzlLO^`{w~BqDFS1f6^#1V^lS<(G={m3FiH%p{p(_S! zag%2dT;oo%2ZC7;2I{)cOu;|9W`%NsZYMwwIH0SZ%Wg#Rk0eBRu;Xw8;I463Ip=HX z-%FcxtEt3GRuP{`68TD&QzoHKNy4X&|8wgrK za&pC*%{N*71j7hTh(&G!P6}&7C)Or~c9w8fL(ooULWfaBiYZ7jTEt4{zph#*vBivP zIM|7cN%sLyZ=D>WKxuE^z|8|VKY6MIjYMoL6p2_mrg0WUv<=1U-?3wd zP{7vc!Gj0%m9P9J-Mo2=-hA^-zBZRHU#2ZvdKe^s`OClQz}Ez|I^cD%|F8qqw_RaU zrNN;=y7ciy2I82q1Ra2T&Jz=3!YfYs{~jpT*rIbm_Th~og%XyZI2Qo2A=dR>=v98c z=uTt*J8<9--#Z^&_$7;!@&2K(oOk;;iV8pFDR-7jqVaY7=Wxc#-LK7o!J%7Bd%~nL zXa$ubXT@_lyiX=h{8A^Uz=4jIidh;|6{vDzg=whdW1d<<#`CvGC}}w-8OD5c>&~4O znstQ?zK#jt*w`pFyCN7xN3R3SC>}@d4Z3q>jtvGjclYp*Zrr%ZUFVHFbwL-pB(4wk zmT8weCd-;Ex+YPPR=Hw(CtY=6n+N()mOAh#?af3QipdgtzM>YY9d{P>R&CvHZ|!aR z?aiA$zr41({8P7Yert02{+n*y-hK*&|Gx#G&EEiuKy|FP~Pj&Y1DD$r0lQ&bzr4wxUE8KGW;PIc1RQW29bczBOm zL#0kwE`lA;h4#;jLjppVCb|?9MePY2qdMu5MzNF!*bgU$Szy<^yOoAVM%;lgPFG<)Zbo|&McRl*K8-4fou-i1|xdT&?WG`$Mc+Rk(LpMXkSJtL1T1%;iuz%~aAk;Br zpYUi^4k1RwGjkLC{h-bCY}rZw@#p^&dOSNxmj=$!!1Z6U3LoG9=+Ojy?|XkiKl;&k z>6xP^T_Nz2`~F_uh&^ywVY*Da12Z)STPwjf$csQd*Bcu@-WRxhU_|P{ zR4RgD$&D9!l!P)^D%rY)Ecf!xS)ddKC~` z;qw-GP2QtCu)zzB`_2+pq)jb=wNvMXqj+RXf z$}m}_WRVDPs09G@5lrJ?j`(VzYOvo(xVIxHP1k*}@T??4sn7&aI+PbBmZv(_cdpA4 zzzD9z4lFH>{A9(31|$c|zz^PfyGE=l6mggy@SYHGS;64*<(FS(cc0Z2AAa)b&wQHx z@;l$9fvW=yP&+qv((v#Iojmz0?bx}~f#OSiO|WLMKL5x6;h)je^fWCj%u5nyt#rSE zN~W)|ut;ZKUBU_6c@z?2c;jRA`}Btg;~d{{0c! zyJvsW%hf?e+KCp@TJjAhc)Xj0({ECuLh@YHvtB8BQEaI9U=R_?Pp+;m`34qWgDTy; zb(I@JxKCytPxIe6*Rd`(ZQ4u^#~(0F21QA|yXM=r?&R2Y;Zr7iaGK7k*Q6*3t8LOr zkG$&=b0pde%3f*H^TK#M;e%@II`6)OUT1CC$2~2^tfQ&;zpK@(u~KdQf?ES$=-Ak4 zckk%Gx3aqW!|9pXKN}yv`-|b>;m7ne#O42W0Bv4>{q_2U5@;nbz3GL`;sDrUF%6pB2POOYM z#ZNZRV>c}Gt_Mjs9eJ} zz$<<9Xo}u?>s`8d@rnb|N2qWAZrZbF2aVo;NY}32ruo?gQR@5ajtU(ID!M$(K@31T z^2tnwu*;p7WMbeqy0uMlHY49rEMt)MC)au8pfX<xgjlk9{xv8UjakL(7o>{^0UzF<1y@wz z`WKQYsk}XXg6a#Djcx_Hp2@!$J}T4~iQt@KXncEa}8$f%BRLXP3Zr zrsxlBlhi~l`ZAfIkbwK(pip>za$dw1UL`Z7qAk!y_!`!H7>;`^Own2$IQqgDUUxuq z6H|%un&%lqpoetL_s_jgw{8v7=;(bqckUbm<+Dm1%3s+=<7%RT3R0M0~Y9^b0{X9PvzKUbr|P z;Wgg9d()kz`K@HgBUQw}-5{ug%O(@%I80_w;PzDGNICC_FklH@gC90VnTCqGt!S0Mnrka465 zoI)R#L9}Q0K|TyQ<%`8?CUnB5r>E)dpZ%P!T)9sB_wS{BeY@#%f9)k28=IuTJHs?F zF(sW5f4HG)N2LxRsUtxs&c)A;IavXi6p@cz1dv&j-p$~l9L9YGt*p9Dadpuh2K5ZS zo;~&oop|O&x_e&*v4_K9T*rRWH?DGs%(Ks)ro)Gha_44^J5GMY+{zs&&kY8+ z!KPBj(Yd}8ir)A@e_lT2UlLJQACo) zEQ?Elv^O)|At`d)L&qp_6k*%D`9=O+7^^nbHF4J%2e9wJ+Qi${gz;?TJyQ?@YFAiY zAY$-=cXr5<;sB40L%X@PjSp8&n9F0DTrOIIlpCyqqbEe?a$QjD8R_OipMdwsueBne zWlyPy(%D?@K_x!;ms|*qCQrmgWd{&;#s5W=1>3EtF(37R{ojWw{JUec!&ATA!Sw;>-5w#Hz<_SQ>kR3DWYQI zs;QHoOQP)E>%i|(+66kKo;U78iSSXAbXB!iDL^hX!v_Z|@EU&r?&AJT=DpnVp~Eh6^S` zums$-Yd>cb6hfy0m`)vklIO^z+@zwc7D>ZY}+6 zX=(25U;N_Tw;>~X3Y&jL0R4?`e0%4GY%%##1 z+>?Np%Jww`(2T7khX4p&H?OMci`Nmk)a1++zJ2%@k(=33oSd~xiB}&BTWwQu+ch5)zQ)B z)*qZD8q6oCTQnSDc@03?Fs~NQ2M6{Zr$c?GX!PM-`ryLbbbs`=Y$64X3=g{Ze2{+h zqwmp~voFz!4)dPUMn2UvrvNkcP-aTG<=9AKh> zF24!^LmFRDs7EefA>(_s4h!xiBHE*5l#A=n>UW3-9RO`;ta_o_(h{jPSm?}zYp#!9 zB;3lfJ60~9$DzY4P7!KZrProN3MWdY3;v#~$h}k(`!}MH;*q3}DQH|?TIA2MePm;! z4=O4Ax=1b30M=2Q`p9Y%eWX*T9UD!;v|FpCIKQU}KYV?}b-GScrN1T|sx@Hrm^Q&> z2#)~2a@~tTE5MWo&q19rg0qQ9?dxrDFiPE2Op=Tj>0T7Ty?W3`t&69?p!j|H<(FvN z)?OdrEK7ZO|hhJ$gi&Hg(6TqEak^jbq#!<(&>)=O^_Z+-}lM1 zZk<8gcjd}Q+(F*HZ8sOzQ&SVv-QDZ04eJ{@%b;`PCI^^1#j@7202}uiz_X!L)F=Qr zi6mENmQc_pPA;Vmv37>TeUYX;MsIwRQrgmc5QS-GW8hYZO-rZmnlg}Bu9_IJZW5pr znvSLPrId~x^&x8eX-(AO0IRsa8;z}gs;R!=Q%!a4^y!zsFfw{?@HcJ_UcK-XI{#Y& z=s*AFk6$@*tpEG<4b_$a_QK6pgl>^tcYBpNxn|w{n?|fA7HEc^OzZiC?sNIyN%|kH z`@DSb{d=Rnb0WNC7205v>gm}+m$U0Jz09r?m5_E#6Y{>0`a_x+*+9w2SOm2e7e2cV zyO z{v8;L<6aJZp`nrM%%#TTB4+l@pZt*CfA3xQ{ExfC^A+Yf;_<*o9eX&=BAdmWA<#&6NT{FmQkQ6GvJ6ugHIALec| z)^Eqg4yMmw9pAWdgMR<_|BxmhO@z>%H{N)|J#MeJw={k&d2n7w?QM;`pL;vFn&5N#!waDE5V)nq zyV9?!)y!uVR4Si1efN8*5q^GEoLCay;UpA`(xS?gwL#iU@@aYMzn#;qTi2Kt6G2@p zG_x#8QuQZN^!!de@e?$mPYhG7mZnzTi|^eVk_JtkTW75_{dmfq0lnOL?%BLOVvB^r zX~k&;P9^0|IK}RIn0_RY-Ihw!5u2odDz+`swtPyN2)Y6j3qDK9Rna2F2I1;@T~#?~ zp$M45q@qfbe2*p{MsxBcIXHz|M(AF75GwmU5~cyo9tH??4fm7#dq->ghX2xi zo&PNX^u^0pe*5y3>n&%`JV!fs_fkVsy@+`d1+6vf+$U1bzb>FMIyRJ6N$D8FP#Wj? zBz5D-t)XP;xUSH~^SO8L9?i@?Vvv9Yx0(?=g&qDvnS(6(*8 z^t=Pnr_UazXBPYE&Yck&ygT9!ie(uS8t%Asc6Lc;VpfEDREi{ywRIut=p>m=6CM*+ z3~S3?)40Bi`7F`0aR*luwYGH7XI}o2+hkv*+jlS1g-btohq?#E5FVa8_j5Xb?mhRO z@1hr8_!RBicYr&9=-{x>#$8tgu6TR9wUG412OiT8EQ^c0J3#}3w^awiF@E(_9uuQj zC6+xDHJP3!at0D*e0>$gIkHU zi~RdHZtV1a;WbYuFcm+-&q2Q^3g3BO%mYv?!q{Jn$XY1|T(h$>wV0CY!ChPl4^R%Z zMtW0LI`hio$Ph3j-Q|SR1tApPC%kqJ^k{8jE;WBnC`_ezXQekBZp{iet~};Q=|X<5B`Aq`u4cJ zeU8`T@BXL1OF#L^Pq=&h{`=?X-23OFTL-NZm=~$rhoRBYQMr&(Oyv+B*LdRLfknLo z;jR3$-ecN^jw<$9SjRy)n0orFbs8)VQ4lj&MRSAHb3XR~S=KRlxIS%gRVIpXeCVQQ zjvk{UhmX+o)FOTF2Y)82gmTgzB~uP#OhRpZviBUh%~7bV&P|clM5S}Zl+pzv$5&ls zu)kfud5KP+elfgOfwJSCduF1+1bs)NW8~=`}(CoSofX=aH|xw zB9SGgylI=bc8SQ}B!ERVSP5@5Qb{bOzRc+?CkV9l_bE71i$-;);=S4gSDD~{oh4J( zV7Eu*ZgpbrZcI`b+q6w-#9gTf6AdK!rY=J6#P{w-4hNX3;d80p;RVo5Gx4|gnG!i; zCQSTBMhEMk!scHAKsVG^Yd5alq6cn+Ie73eoji4fwr$_+$BucPj2I#r-cS@nmHifI z9Z)XY;-rsd66cLioI;iOk|oAZGO92<%EQO}!mNxq3m>8B0MWiZySZBcJFxVD)n>*9 z>!mnK)KsiYlCd<%ppZZmn|Oj}Sz<3GmUF?%sZbAR;bjM>4!35i z;E-4N+M|o6*Bf1Td|$O%l}Pt!A*TgQ*}s^=*fY1$LdvFvj-}vUl6G0V0J9c~$U^*= zG@@6FiL{=!i9MCxADJB30ThTm7X(tcHvvHLI{-e5H5JotUYSLhrKuM9kBrjs}peZ}C#PM?(^5`Cx#%4d^ z9w1aUycQJD0M&5SX=`ocJsE{6`rh&z*XX zwz@(dbgUn}@dl0DyGOG#v-Hy+|HOCG<-O&CApweUv>gGFu5U6?D2KfeQvx&`JRjKj zWK*}dL1?&r`*sd=0tX!4&hNbYc5wO7^;#IU9P^f9MdtQZM0UG9hI!75OFZ3M5zptw zrWQ_I-M4!`ede>D=EonoJL&eQ6Ljq4etw?+<{LktAHMPJkYH!ly=Ucg(^#l$g=N-t zR@aj!Q+{l8dZA?OL8Z2=PN4y~@ctvocXD!qX&j+2ENpapQA??rG*()DKK9MW@)LL-q%BK$O<%$9;v*57X?7$9&8tFi>Frkr{^Np>HT{0KDA zjD*NRSe{E*kDuJS=g7GVe!7X*fxH3tkBd)X^RED)-6638wfD;E5`B2#1CAa&apD9W zJ$8UPyEe!hUC@)1<|oH9<(6^Ey?atjWsLp5?=-KYN)demjY=L40z%ItT$D-?or9b= zyaWCH(xo%vdrKu_`NHObpDCo@;Acvj7#NJvb#xjJQDeN=(8_pD4=sO_R6-|A3yNG_ zI4n`>ck0s;bI-T4mB7s^@}vt{*pg@oVyis!z?@@~#U-SYG?M%wCqW(vt7;D1{*qK-4!`4qHqF*puCO7Y{fFXu=-Abee8fVV~n#DRs~T5#fO+ zKIPHBS&A|#x>U>=sTJ9ieG3!Y9z|l2X(`fsjEFT=(8qRSTHruH=MH2P2C?WdVO)&Y zHNP@n>J(>{tfaF!|G@`j&lga@>b>hMJW`l+YrFc zfEi&tGD%d|B{;!gk^nzwbeuH^$@i80Bxga~AX3le)zuZTyKAC7yZdO{fo-&CH>Q_iCQBzCI zw80iAO^I7eNz`DpQ*2^NVO0DE-gh~$N^L>2b+)6is~g1A>n7qF0uy@b*h@4x%1~J_ zuI@LX8=WVWh)K@;a=?mCz`Q`%>zeYlT6DHiha}K=vU;(stMD1<>1jmub&bBGY<(JQ zZrA)imq*;?C(%@zLXoL*p_di*DS-Y}0CatQ!>W$b@TSbo&(NE1{ggiZ=tDYt<}4jL zypK9MTRpfc%Ahxm4t=tF{K+F2oA|Jb9Cmo7JIOSWS@%_Sv z=$`A9fsd)JWkVc?WmXR4DqkD?{-L2^8X6vEf7IhAkI?@9J?>*SJ$yJxS1#S4si_%n zyO)tvvm5vWs%V5Z6cT|Rf)>Ow$#YMOFb*tITO~?_tG3MH!S^9%6(5zXj>VF@cO0NS zJNs$s@dRDIdXDZ44TKRX)Y?CMq;h8cTrSB0<@A?XPMLl?sw)b_fq& zX5=zQOGDK`sJo6%B_M#(AQOl|F(u(?fm>(Vfx>lTA)Wp%>nBnkTvqt{YEf>o)FzaI zrIt@#ta!~uvT0}BV93k7eGT47-ZP~aDa)Gg8}J)}<-B@5FuhTF*KTSJX_k4y?g6jPWOr1T;0X}uD-?{;OS6oBD7ff);BHPi*~ z^Zfh*KPdKx`T1Ga0su76&dvs!4qg)kZqFV+L%VkEW{|wUub;cjcpj7_RqC$<(Ei3Z zzfB8Evu^(!q3P*)+Od5*ZQinpMcwb8`vq09R0ou{k_DJahcgOXlZkH0x-gk;rNvd~ z0!JZX>}baQIJI$1-8gREyh_iXdNKIAn0eRrVoTv=S}r&Wo`fh~eQDy62DjTPcVK7HTxu}GLz zr63q-h=Hf5Ub_G`-lld(OksYcQn>`s?F z-4V^k1&8r)-S_S}C^-Xjc6M>@>QmVKD*)(9#jN^iL>4L`gsh>me&a_!q^nnV(5X|; zQvcz-)YMcL4#Xz`u=#&tFPCUO6mE7ypJdjNIyqQ9WRlo!1-|$m#8*#0o)pz`JP;Zi zo2h4O4?jkIT{TpReCWx6V8xy&2oJ1^DzZQ`FwzOu!qp3&1h8cOK=EL?D4EuWq%rBB zMc-P>eB01b_KKvCFsQ|W=eou;zYxbP&k5>uJQuE3bBtp082@dv#LoOBSH8(SQ>ZRUtt9`njr-G)Rn3f(XjaHR)^O|4mM>hKbyit}QX<`-9~vRrk5 zvxz#|yXfV!ud@x_<$?2bdvJh__I)(&DqXmEo-SSbi1zRAr!!|?q2AtY{5mm?udRs< zUTcf+Al(MFRs=w$e9;9Nza!8D6c2PiF{TY!jUr-Gw+($uGg(KW!y$n!b@f#SAXWef zo&>s(h%2{2ux2DIB1UqXq&pSFtCcL=ZtM?iC`93E`W$n1MN!TG6iy_~%`Dc#ro6ng zQWk+FV|%Qln$QBWN}P;%QDPpf7PAnsE?rl?e`H#Lp?5C!inS!!PRDGT(y=exM=$U5PBz*s2^JQxM&$33oMGYyo{=McEyMHHH=a~DQB|R4vu~wdR;;>;7m3tvG+(1N?pb_^=5ScEqWx9)KJ$3fb;YZn)7I>FQcEv5Mw6AS80 z_R#l!{ysf=G)*6U{2mQlyU3rrc&Uj+lOc7oV%G7A?YjO{%8QOu6yJp}r}c%7tWA2Y z#;j{hfASfgJ_q*U7M}m3M-Sb5P)Duqy@V}lUKFMCJVENw##L!vNm8E{_mRmUl*uR( z3eBicEMz8}p|R_pQbEg9!RTmZgAJ*rII#$ONQpj?@W+LMmQfl@UcN3*bhvxS!IS=suhzo`aDHrTaP%o`{#7U(S>1|? zDD03)9B|q}P0bDbMp~OFsn-GJ^_}Rz{VCm~pZuIMQ+C-{ z-=XI2f?FsTetDJCmc}Q>lC8$y4B+AY?Z5SP+Oeb0Rr$NcT1=aHviXXabGXUH`GQI! zEgLIOD;+j`-&!8PjZL`KHjD#3FjTOtR!uzC7smkYKvy&ZSvuPKy?J3vyvm5TD=Z=e z7_Q~3-X5zETO^4ku7va=8@i#vo`-)AVr)AE?9^Zs8O;5QRODv;==ajq4`{~Sl%IL& zi}ceUzfI@Qw^3i;UXBU>^k>h|qseI&8x9TLk5SO>|Ii`EMu1pVPMyma6JQ)WNZS31 zW4@>?E{Ru7?6#;#u~s+$yy!sZY8{Iu8XH^b^r>H?<40eld!x7M%JmQ2WnfTZkd#ob5M0gloP~yQD!z+rU zgJanK4zveYZY?_S!I9e4j9Ogrv&dcP80ez*Yk?D;dxbZ5qlFS-6Te;+Xj&UbvfBC7 z4h-qk$A~{R-;)%^$m;kJ)~?3@+4b~*fgg{=}+qn1=kLkcE7O+$l(VD7A+!uUz zYL#m9Lh(REcb$)r=fDk3{7b+)cLj@5)T)+RiAzW9ylEmPhc|Ke*gHI64KV$y@Xr~0 z($eA_E!z?uyv(r`k!&VbeIaZ_rVx03bF(x2bB#@ne7|7?4f|1^e#mqW--q`M{@4H) zN<&i-H@e$1vomESDn%b^X4@x+Mkf0y{FAZH7Z&EYpa(!kagS?>2~(4Bl%F|#oCU}z zt~YP$pFB!AOYXb4t zzyFW^3!aX^=?ICp z8OFl4EXEX^lk{eaWMZ4{yEaif7izMOe}3*AUNYi_51gn>=2I56>41G!v4Kv~VVB8NBur!7*T*LxP`6vNH*Z~`9ou%( zjhk2K`BR^wYd0>^k%K4b;^p(y-qy)U!$@ny&j7H`%uL;)r#{fXB7m;1TUAwWFzyBy zC-XkOuqeg?y?y%z4G!L=!-tO0bI%>8Z96toT|-r(NPNv*Py~LpBU#Ay~?=)ptFf3p3H>9L0yO-Nt5+B zY8f}7bf6&;z!*HYxpeyQb@iw$d@3DtqvHXM&N;d-NPts;NN#cgSQ5KjL@(mp6x<2B zH1G>|vwxnS_w39JefZ%;x_s#h9X!-eCmfK5d&hzPy>xxxjw@{LG4L}&PrwFIx1o*& zU>J*fPHxgYO(-WNEwpgwlslTbk_1Vsa>k3C3n%ax>nio^U3*~PGj#0eDef-)#rOU< zcW6zAM@Ovd_rL!a^jGh`MaPamM<<_sj{UA7EX*Y`99CBl90EW?MehZdo=yR7AUe|c z8;4+bcQ?Ntbh|mErRLpWmIZ*@7!nVTpklM~9P{kM zf|3blq$|bVkPX7uOz%f`Eoa>8L5e8;8{nm@a|;7#2)k^do%gcalufb+O46UyR;@_R zQ%!xe37A}0Y^QSmfO114tQ^W1ktytrwg0bDHf_g0oD1Tks!!ah&W;4_~=_L>x^XoR`q zqekL0ZzSr$uWy`Zcy0@ev;15~9}Lsx&Al{m{UV)s<_rxufPD7(Pt!*i-=hP4N9gg) zBRX;H49#8mIfuyLzHVx2V;TphH%PaHe>ToJ*lxPlG5i!V|B3+GEuv+uK#hqOYBuQ- z0t9(cOimXseMEO1kUnzwFr9kt7;WnA@STGomP_s8p7eB1IT|Ggmvua9OXWCkfRgK1 z1|4u)ayRK+nwy=cp?f#!!;gQFGOkP9FYXjBVI()>7E-4?a0D`INw7pb*aCtM;8l5h zA-2_0NE6g3;o#AjsAiS3TPq|!*yv#`*ELW^{212?Fv~*lfaiAxrwVz#a9O}X!=k6c zJ0CF6t>luzCu2o`{j7*xNbOkW;uBg_lEb{l-5UUHBfM%~{dz}`1N)A+!>*AJA?})2 z{JL0ODd^(GOLXnp4LWdOA3byI5Iuk97#%#kj|Q&ZqOq|FT3T2NoeT&7J2rIj!GXhV z#ogRR5gkgRAtyzSToO_dI4Ox`72B#Qe@;f$t2GBM<{Xf&HqhGSDm|KdNY5O80dW{~ z=k67^$&ZHj9pl?~-uW?|KmS*B!L{ftB0|fh#bp%O?7IsJfp;ts{;NilQ@rnkiwC}5 z_(>0$vhv^4ONx@^7&`PQ2*D{gbrN&zz65Vv6e6p|Dhp$5=paRLvVv!w(&%f5LQCQf zrwZIq7~sS6iAGR0JVlC1?Rcr%nI`t}p0L9%RJ51=nvy3bg$P_B&A7?LcfZ zuf2h*S7>tbkrzlNVpUJQsPNtg=O4VUNV8U3n$9rxAM}p4Zl%-Sl8=B!F`4sr6ZX(mWPGoKfjMO}n2V(=j$i*J(yvh&fNJ$slsaPR&o>t`N4 zn&Qqsnbc~{hVHXkvV}u5>5iwF6rrd#WerxOaV0J_;&`N;+Nd$K!QrNeyGf}4D>-9` z>lV%`&@T$nk#NsP06jX%Xlhj}4NU3L=^L(xEH{HBBKtF!-I~?Q5LYP1oFd_!=BX(Atx))OC7K^u{G9pxwVgUz0EwxpX4z$on zvxLvJKB_decw#Tun(#ewxCju&A*JA3W08Hwsfb)TYXj&20L%lw+H;SiP|H2G%~<%S zzUmmgFm;1FZ^EO@VQG^G>n3ljCLP?&iYQSyx_MTLTldrz9|FLGP@9RxUWI=jY}~p! zc6i=+2)D@u;1eH&mo8o5k6k-=(8*KB>GYWs?(=JO=guHqb6|RLc{zjw;1JxfVI%)e za8sFE3`;0$qjN~&eXYq#{@N*!iq|eSU6Ocs@NH|W?61A4yC)oc+j@6%vexxm7iq*5 zVKs3fK{xNiU%pQlE}WK@v_{bCfZ}F9b0ND??^1K$xMksjAt<_kHdEYyO4(xk(*5LGR9Tq;yf0IYVtLNJpt zfmaRi92x||>&KdfFLis{2CDC>XFfkVTTDH2z;tllp7m1(h8D} z93@`%IxX`xga^u?U+}0}EVA%3Ye+DiUkDx2pu0*q;nxNR+{0asd}Xl{#W(ukrdj@Y z{CJuhB1;k(kHc%yeQpoh&4ror%+=RiyN#516Jx6jlcA&=n?_GF zSk^!q?C)+bn4Fw;d)qAshVL_t0d&IYsYe_Q9|KD)?cIHVcJJy79nIF3HrD9CvwwDW znn9`Zpo712h`**%v!HyMu2bEo&PHm_Myb<-NhT#}SK05UrX*0K z974@L$)h9EQS^A$U?3B8Ly3p8iMp90&%ke@{J{-~#yC&8u#W^wYaPe}i5+`zpP6 z?#J}S*MFOC-yNVs{l^*Ww6%5cT4`x+XO2Gp4Y71{a~r#8FkoIHb|Ed7`!iArG>!nvd^WR+?xbdHjKOAo`Vex7To{ZRelg#A8 z`$dV3>}PMkNw;p@qGz9dmiiCwq4tjE7*!lL;xc$P3F&^lgGbtR)_Z$$Vur2`T&2;` zVY+tXk{6;;CYDnbwkHBu$%LcmJr8}d6c#lONK|PvGn3r?)Xgw-FpDAyDoG}TL`g@Q z!hu+%)>M_)sSZFdwIyQ^nA^h!kv^jD@OLDJB&$Uk?gp9eu?LyyPsA`%sgy@ezLQ+qdow9L?Z&nquU_YFtqP&=+FM%NnS%(B2|sTD-slA#`RIi$K0%|J z_$C)AwIg+cse}L!6o%-KfIoZUnHQ*k-!pXo;Sk+%n-xZ6$|oHjzC$A;ciFMyx#!Nh z!{88QRXY%NvB5+x7-#b5gdL798P>4 zobL_o?F?+tVb`&}j=uq-aKLaXsH6;%xDd>(%mm<~bc@iH7crJ@9adZ>xEqxhA(cz1 z7a{N=*)j?(2BWqq5n@GPg7;;4W|`?w;N$|-pnIu+)7mgKE(xOwNw?FzK)a$bh$ix) zgBPw+RMZ2$NN60P=qU47Q!7X9j^jW?+M2EhB-42dxm9}fXd+w_+)L;kVBBnr7?qrb&as{;71B*sf0tfI zj)`~o779=lxHB`;EU3&yd<(F!Z_j>u<)zQD^F{yuLk=kKr41czrTg8My011QgocDU zBkmPe{IOGkc4kU?9b6kchmm{t>F%A|G&(j)LxV$f&z(gpZmnd}#GoV!I@tZm$^!t} zy?cM~EymZ{9RNai5TM9A2H6A>m%SpWoG}%CkK}l)OBO7pWUq7bplJ73YFfo2BTXix zgjSb^xZp9TrYES@Qqa5uWYg1+=-&N7YP+?8IyZLHmhN8a>FuS>-J580PZvjSZ+m4M z?`fl>V|3Hug@+FxN_wys$>IPa_IKgmN$`$#j?=ERKX1#f82+l|iO8=gUkj#pIc%`B z#`^#oX{$Bww_nfs3f}n$r)_gfJFgx57Pw!av4Ay>uC(!8E?QdQG{4}>t~3!(<07W& z0N`G~eTDY#Jw!i!`@8go*SXHKZ-3=?>B`k#3Q&H)_b#Tg%}ol7TUZOh_m_C5 z;~D`BM}SwnG#HHE4B{QL~lS7!je-E(+6GsXOS?`vLVeaKo~Ja`J3 ze?m9uB=3U6R>iKLatNdvnd4viD$2JIl=S72nwBid=6^h#`@-D#Ac<7s>}+% zXAFMo{=CK}xdI)O( z4-}LIvLTlucsHvPOz0|SX@E%~0JtcDlvIpnQ^cH%Fclzpt2j$(K#Tt#Z`qV3Apsot zf{vSyeC6Kgsr3<<6;a;c@M&5Gwi=|zp31was z>V6IfEa*h|SsePHJA@=nVR87)6N|`se98F2Fjb=K9ULL$fnK- z>pWCBEJcu{P80oW0?4sSVvgKx>}&2`1Z4ytpkNG-47wtEh(;egZ~$>K@~>^QkjqR; z(aC~6X*zwy^PF{i8M=cwi*VghoNnK?&;5=&!55uJ>+DngWU8VuY86)mh?uVXpn>>= zaI$hbqY+JtNt`mG^_>Zs)=6rfEjxB#Ey1m4^3fP|c5LB-XEB@SVjuTBiiM$}Th!9p z%AM)W4oq*^yxF~Xo4GTMJbjGMJBa#>PuNsfs+HB67dx_p zQhiC#iFp#d-Mn*^4(vZdZ@%>%`qayxr|-YXW#p2x3 zKfQ7N)=3r*Ws&2@8?a$6*aU+(RV-0~j2=f^bt`w!CTGp8I_>Sg2jf{N0OoqAQK zyr?H`Wbs>dfZm50xUa!_4Is{nr=wLezjlE|k&D9viqwPs&(OBsU37Qw2LBFJ%u`e2 zd_bZyJJ5GD;WC@Rc}#)6Zq$V>0#NaXR-_q}Vs?%1aK-pr8`Q!v-aB@y6fAK^Qo={l zPD9`(l8@!aMqAh5DrJCVatEtWH$1R%H$^Rz>N1y&qK-EK@S*vpO*p99eaCf1M+-lb zB?@rselCZbhTC8i+~6k02Ebh%DI~%u4VT3|*1ZRV{QXA`o}>q(4>(Hqy`P_>GiRTp zzWsY>+x8v@q$lX=)f@D1Y=ZJ+Eh6Bgeq%RpUbyiAs57M(ktt0tY{I)$R|O**YGTiy zbYPPJASo`u6~ktX$< zTO1JR=-9wlZed}OJ1)W2O28AqC%DDvdP3a~hYxI?Su(b-2nUzexj=-N>B7^kQX!j; zC{3UVWbyj2muV6GN9EeYnDH3C5XE)A6Qqi9_7>$-D=V6W72d?XMWJP0F-DsJRjWLv zjn9`tI15FWmz1`UcA>5A7D)oBRcKIzLe&cDt3Sl*+=0}|{|5LegjVDWW+{vc8=|zsB#Zg5v11rHwUHC7UfT7{iOoDsN?w;2 zLguuL13#IjFjy5zPf2JfK+wN7>vI!?KCsHxcm8oOalyEqh1m1+0yKm!Bmq5DR{B>1 zmmGi_`{d$c5}HAp>X--!O_nrBEU!t35dlh%|;X2l^()CuscP zgadrzY%K>M=tuCCFcGNMHL`;cfD9K@HJ?_hyx_cudw-zYB%R=3jq3gZ5Z>6cBLGq~ zZ#o>9Y<$qf`y19Cz-h@2(X)l)0;PMp{>2Ww5fX|b#`^q zi)Xj;ZykLw#xxIrX>i#M#i@tdDN-^e342RnVzWo?UoSG&)IJgB$#e>um`1m!vGYu& zA~eW?0llACdz(*h8z+gwR@`}nm|k05;d2qiLaPJJw*Z*?j?m?+=jqhRmpIU?Z|^}) z`Gp3{ca@izrwpoNhjfO~A!eSk`#PwGz#}M#TUy%LwQ57#M#d`;!{htf`RA7y5QD!A zpbR=KCNm6>9WX{AiVicp?Lq5$%(Rad&i80@j|&P1zRnar7Q8RhNKiqH$8Ot&~bY1)LGsD2M2G4n@@oi7T=x0Yb@$$X>JZ9p@Nd} zRbfkl0>9~4w$UR_sjHK2lOKy}6%6o^3#}v1^MtNuc@(3f5EafD@uRGoiuk5hdDHVs z?u^yr5C`C+TJM20%Hd4Fw@=q{fT{*y>v_-!SK;D<6A|6_Wy;HTVA|A4npj1;)Y2iZ z%BWeolK#M`3)f5mY%WEMAF+Fzqg*)Fc705^jOJiJ^}`?jn9iNs=m6+(I()RBdV0GZ zxPC}iuiSJ8+IUolOQ#Ftzcub?KIR|~w2l7fnr%)5RH!9!6!^G}4Gk>QhfO+blgYqQHEO#9uGEH06SQNpiRs# zE`-jMQdQJfS=jf!E6!7@oJCOFEO3vD&N#Z#GqaDyM|pt(Jbn)jZrH*dIdXyy9ym;W zefw$m&b`#x*~#M3w2+ECe@|;tZhfkqiLMv%JW(o{k2B6hz`IIgQ&TiP{*b$!larI) z!j8q388?136_U@CYPHlbL8orRh7NcC9&r1^G(8v{c4y#}CxazHbn2j!+O(!l7+io) zO;B&o_V9WNnT`TPKYVzfL20wlbJnM7$Hd?Abt-JIPmaQ56FuK4aSka$qF!Q!nS{p2 zPQFRBBox+bs)f@1V|r$inj1EhBE0#Yb^vw(wt*XS}C5uJQYbX;nrs>D9kBVk=YZ$q@FT;Nxkx1HX$7z%DM$@c9Fp z=!^rh_&HEaC?ix zY34bD_ut?OZBQEl)^Yx~y8CIKxy4{3JW{-|5fq{oWsLzJ2@ZsM~}p=-@WDG}6|s+i7XB zM$?a`A|XFX7)trG>^|WZ9u~*R6DR4!$)nW0r6ckKOPsZ`T}(o4<;MdD`p^IDyY$8z z-{Hy-3lBC#+qdncvGMyfG<=61j@@To7P<)7h<5GVM~4p|qf@7z=T6FB{KdEE<14>l zP=?J6BMvNlEOy*9c+BlvcQb_mfE=QLo42pHit+^p8Mq<-@gMvVJsh18lD;1|-MfF6 zZr&N77f*lATg=r}-1E6f2M+I}9ou{PX19_?m~$9L?*F^ULpmJBOh5Skk9hOPjWfUC zs`u%K{CaveZ>PzrhkS!-)b+1_{lsWVW*Y#*B!X2{@oN_i zZWmS((9q$H_koqTIz?U$Z$nBRiV<87j3MFEY=}bOhdy_mu7qw`@;NUGiViHw0auDl zaHvQ;T&<0VIoas(?CT8(Y}P{RV~Cdzk>mcc4)#pZ@Kg)UFIPhZan%)W4V5*wW(BdR zNRm7Gu7Fs@NVdXjMw1RRaf?`7m@g%~g)x8Pu27WXgKcnV(Md_Tfea-v$3-bvD1w}f zsVMrIIB)?`;Fub~dBlBd&z3Fp{OL2k&~e~*Vq%;wU%nhU!ekQag$J|{lcJl9ZWlUY zu%2UatQ5{|?HzQW?;s2M_Uze52m24vzP$(Bo?4#(G#dq%VVY2mt`63gS>(m1Zcdrl zf$6mZP#zt9K-X_vqg!{b)9t&r*ykOt5HG#>*L;k75{l(hF^dp3rQPD7g`q4YVR8dS zix_z>5DJcukGeBqg7?)_m|ij&4qaTsQ^3>De~Q770@Mk2rd+>y(S2Oz*8~7mRS+Kl zZVJj%@uw=>6F=f)nqo^QEPbLwR@whK*$0d0W>fZZ_P>V#rRYd@Z9nKIos{G$=v0dg zMO$(Rck3Cn;iI9^H!Gk?LX!jqR!>ilJC7Zh-n`L)#}=kqVfy@w_Yr{gvD=4pF66mW zuelEHyaOK}AX4|9I!UBl(LGcPWlPC~&cvcQ^Ev{&hA~&nU^4RY<@0pt;BmTi`2%|X zxtHnv^KaAX=U$<6AH3t%_I|qK*4d%{V-6z>aJPB%!3gc#xyPOTgS30s9#;h1^Z5$K zgLzOs3K8;o2d^URrMM@tFS9_sWdqYqG5PS+%$)Bv<~0}ILBl&}`JxXv2LBC!51q~Q zlmqaaw=(A$!p@O;9K2Z2I`-r+bd%3d1^8vsM zBRS){eIcq>)cTon#Tghzjx&#hid+Iya#r>Nl*2z6;>(Fg$2X9YLZxFaKjiAc^r zD?WUeW`iGTpmVsJjyH)le;AN-jeJMBU~V&m_1p@O&Lv5zV2THWZE$Jx3X35!wr2C) zP8N6NB96ueQ1$OGTst^AoFdOGjIO0qUnJwq!J(Vf)Y!%fVD8w+Ia8R}0mKIJ(MKQA zz|{fT-`~fA!?R~k(XnTa(8rgq($L^AcehA5!Q95;0s7=(Fxn zhz=786(IFJ4P8+WX5n@+zxbFVcbgoL#t7}$(HH3Op;O$A{_x^EB_KUDJw-qK;a}3b z@4iLPJ0RWPf0(;V*qAX=#0MxvP+a3Vq6?MZQr=yJ{H{`XQ;vLuH$nJ?6*F%R7cYb8MQWm zE`S1J+3iEnIADQi%x?vaV69ff4!Af4k)bEj>QfPQ=$xlspGg`e{y|L{L3%9`c8K@Unv$?p{V9)cEo{A(` z*65G^$$vw?{>9%&c)JwdvvPn|6oh#y^7?zzCf1rUSVkRq9zB}jOoAIX2k6?3tM0#V zI>3C>J-5}+iAM2@>w=IL04|=cC`B)e9okB8iLv7HQwc#xkx?v^5WHuy{=w1S*tv=N z++&YVK6J&$7#9@^rj1M}^mX&?U0Zec_ml&OJz;;sC?01_quXCrAxv}M!b>a zEa*4V!AoL}QcCvCOqqgM78IJWPnMM>seNDMAE(n|b=tunfH#~&emZ3WXtr`M7B;4< zYAyljP$;Og`FWaem|+1T%mIdmZ&61_CwHfNwrq7^dJ9h{yEe7a-8)0B`11{(ww8@l z-`L2yC#FHw*D+9L8&2{R9d1&A3RkU!n@Sy+Sk&x3Klbn*H>b{j_zsF}`iH;skLm94HHURRPj9|6#%?Jyvr~*GFbVBwQwqjL&oy>mhq*y}+eWtz zKB5h6&(grmC5Kmb(a8Nl+PQr%cbd@&o^AE!f-A0#UF~$BveyCTZFKtd zX}Wyn5`FN&IU2YIVPHFlg1}sy&BEP=gz-mnOH1Hxv#p)*1xvCM@i5hDe*Dn`njgBx z2L?>XVM)Y-0WzV>OO|3Xn{sJ6k*#nbd5PxSVjdd4>#EX0u4o@Udc-#l#(&r_04y^0 zq-_bQg$!iHy&*CU6N{me<&bn>>Kw=?|MM9{our~8_iuCss$!=nX>l0`sAS=}B0NPc zwJJI_&=fh0??cxN9iv)EI%BY*DRYHX)5(E{O<;U-l-gT2GL?ooz4G|H!3wr1ur~683*x@&Yzh+NW*? zo)QsVDo8lyRxHRu00os(3_KWfW%YAAE3!TIrM)Pw3bBjD` zYiaS(;tSmAD*`_guM{G_MtLt)+~vC|Yuxz{zPuqgrHFwLr6f1;hOUS>FJE`iDmNJ} zJlfS1T8`2OytPD(;|-+>f-RPP;0In~YfEdGPJ!}~nJg3pWMX$cK3}0%NTHw{_adap zP}13rqCOR4`q*%pK2Qwlp=8`mrJpx6HD9G28)w|-n`nFI0v*^g&%hblg2k1L9xv93 zkcgZ;<8T<`(8!m;mZJX&;aA=2QJ)Sk>=zg4ymob_JJ4hVo7jeoB(Afi~f zx^>~H77ZoqG<9v+y=yPM`s(M!vB?I(o?XXXPAM8DDH42|YXsACbMy4T0eslPJ#>GM zjE*>>A&bEKRCRO_NK0 z(-i3+M5W2Z((;_Uly&kw-Z976O6+c1lYsm@JTO2myWY5uC0F180OI=HZycuEcdjug zJmL1wfg2yw-rap@XK`ZyO$8+MX+gET>?v$qM1oRjsseZ@u$f zdhN4+o!&eDCVl-Y|A0NM>)pPI_0K|G_q>pvi>4O@t!NUqHn%ZwhEorwpBo*>2SoxH z1Jo#Rn{no~wQS(C9UXDJ9sq98L_6GT!K8ZkuKg?=1y^}+@H%bTyv;jpwCtkMu@QFO zn4B7?ty{KpM;o1FoQ++bJv6~Ux}ACDEe`A8dBctl-0G&rtt`xKYHntLjOWil*#T(K zTG=Veoi!{%I|LXn(a|Hv+;ez`1_rM1=8q0v=f-9RIvoyR!5KkCAv%gxP9K%5ZxSDO zijD+Igb z{Mnl~uhHoJ`&G|iMqa#P*-qA;QZV%GH)oa`pV+w)@08yRe z8e=ntu{;11E2yoCO~g5YY_LO96@NPV_Zz)Yx2+Ug^5dYgUtV3{D!!?ym3D3Kquo39 zvmg~w;Wuwz=FJ!DAHeYPrH|;!l?$|E$1XZ`>MU*BzSDPvYXwtP@V+3G5z`oS3w_{< zm9UF~yO+!pSfb2sH-(+;dHI$6BSo#L=UD7Ew5F@ z=iP(lG<}UUD8=1VNG|hfWD$7bFa!lgJNv6E(W^f2+cS! zl@6;q0D(4$NfoA{SU(fonSRI+cV#;3kyq<%D4l5bS)FlCXd{{+UU-FtVL*NR@NM7Ud#C2(Ch)d8f@k2 zei7C+ekW+1SjP)ui3JWvXCq=J8|t=YR6YwEw_C`t7g& zU7DX;W}yaYf|HDUqve?izN6P~USZn8(Id~$bEi*G@78X@zLDoeiC?S6^57QN>*%eT z@uq+q?8Nbt%%K{%=F{b{k#}tDrtM~{|-^mbX1_mzf8Pu|1Gsq(?;hnO-bdJpjn?Z%U z)VbK%`EFg#KZ6aV#&j3INt$Yf(+SnD)R_A4`*3*h<5yzB9Q)O}&BS;9YLG03XyQ}^ zKKyBN)oz9*)?LhQC2da0t>p$#@j$00d&ImB}YZ6s= zL-$tR1ZQRtW{@)&F%knENTwRpzz33YWo6CTlH^dr2(s7}WhA?H*18azKei0yo6ke>p;X`>bk4-1Nh zD_UBY>E2W`zxnekRhnCdRivf*N{yQ8J%4x2-ADL5o@UM6BlGURGY9gT8aME@#e1hI zj7o38q@cp%=f+?~NMgB#`*npq>~r2LHQ7wNt(tC@Qp>a$1jl*N9k?h+(Bx2{j4qiM z1XqH{x}pJ7#;oJHM&}4TKcoY0-@eO%q&^3h_cON{mSmVDl(^Tz(@xXx6xid>%*-5( zJ{aXr@~zv~>Du+Hy#G&5O|YYbUFSE9_o}JI>k!as!w0}rodig!3lIdn01B8kVh{f8 zXMfEVX6^KsfB8cOBVYU4m-)HE!#r3IYT~JhMVfbXC}h2q`M-QmA*?93VcNz8ids!p zObFA%)x-pJ$M)Sk!iQ!9oo8^&u`gf>+10g~IF8DJ@(mrEeBgy_GHhQaZXBgvy-B_8 zi{MU^HdX?qIrPzmu9U8oQsUrx;ZzJP`M=nE5Ae9M>rC*xSB1<3A`>J5=A4?LgF<&J zxRqMTY6Xwd&RFt{Eo&`X_Vt9w!hugjsqc~L4rWlt5@&c`=4|E5O=97;#<^~lEXPL zMOv7RXh*4MU?+Y$lxSBv6tS@wJy3X3waYB&bZU;SUmvD}`wv^7JHg$0c9gR3F(@-| zKsx^PBXsQWE9v1!{*qpE&;9hscfLk%eEmD=;&)HcZHMlp-oA6RYsWsi)OUg3j}iNO z&Gy`njbEp=Yg_I6GQz&<;0v#@;2NUZ#x*VccXX9m*tZHoz8m}=F~tV2JCnT+_(Ciu zi+s%3%h~k?MQeFUn_?1jf+>%9&ChWM822RhNPGoA#<^q{BLH-}R$(o~Yew-~XRrIk z1+m!#AZAJie$QUlxaVu_eac}xplDb?&GFo5a@pT6tE&iyuqova%`bN?Ds-cL46W=U#U2s4mtjfHTX)6vl5*7%`zBMj zo+4+1U^he+VjkQO8#i?GNFAWLq%I+jLw33El5+P9r-ykf{fczP$_@aj1rggkc^XPC z_EWiZDhlfLo2$(h+nlN35Q&7Tz7GbLMCF2-s@oeY6Fa&xs4l693At;k!ooz;^3p^f zSG(1Cyt29z6sbxV#zHhiNW9}hCC}X`og-nP19)X3NYMqA15IF!*l!oKm2~Xb?X-2< zX4C`8&?*0T)|y8+k*9^ky7iHc(57RLN85}T<;6eV;m z6E?XEK6Rom?r=>K%_hu~2Jilk!>^{p`(I9%uU@2+XP)BtaQ6W!&(PPd(IXZt@7;TV z_U=2#s%kthI?Y(Du@K{NR!b^jsfk&4WvOX1Qse-cRII}K25BIQpe`L)_yodWu z^-#t{2I+iwe5_L@@?>U^UQ@$VwC~H)V^C7X4iT`D+qiKfhm~yKzLSN9!h1JSv_}Ay zK4=HWUzD$Nv-2$G>$7WHPY<}t5cQpx*I$rpN^}h`{ed*Ww)Rf%ra_5whDkgZI@r=B zY=aj(k&SoDx$V$CTHUyYrl;f_IbmQD5rjcGFlp}X`Eo}iQHqjKmb6pLYpl=|9Jibj z&h7?uas7lIj&`z7){a>$als z36wu?#hQjGOQqnODx5yPf2v_6tj^S`G>@I7^aIWkRcURQ^tmp*=S(HRLB>!NCmv4# z^9mObXgF~FHq@`Qfc7Szn}@&kC3^jR@1(Cj_-FKE|MKVPg;U4rzSq8;sgi5gHnWBa zymGjMz?Kxvt+gx&e8!&NHoK2JMf-N&Mi+X{*ga%BUAfZ7JZ8`)0H`q`SliUh9qBdf zlyQT7t5Ng-{DOasdkNGq?eXGXa;{fa&tb*rPKo5!$<1KEK9Zo`eu9X`Df_F$>-^kuaiyV)LnB|ZM+!))CoT;xJU=ObHI zkO`#rdXt6WtZk@lmsUMDmgkjY=tM??W`=G z(hlr^8j@s*Movee7|L@kr~=)jV!4+BbW;#TI%U1L1guN}pbhIb`OX9Xlyd4_XJ~5b z20ir9H|TrcTTS~99Hia5cTr30%Q^Vq)alcQ1g^124aV6f)DRJF3?;zpxwJpe+rTOt0s;zF|j>fjl`)G6bE(`uI(g_Qsua8~x zogz#tzW4MK^umefXvdCSw13}WYHDs$JEjs%PEObbd&(}l(!pm32j#4$iMR>Kh;W{* z@F1drpEN)KlH1tfK;N_2^}%)Oy;Y-jcykqodJkQt{&-=Z2biRVULL||lGyE0JlRw2 z8aoR#@`5lC+_L7tCyW_S`@+x6!6SQNfxDxKNe93L_(4}%tQ0YA$?5&CtD(R8&LVAH zN3^O|)a8`&2wE~@062-&S#h&=_Jpt>jPH@>GGA!_WnD;9p!TuP76ml%ObI<6afG@ zZ+OES`1O40OJArIkS7Uu(^^~G+2O!eN{}fBvGqx3=+h z_?h4RQ%RQNQCG@<8PhZg`I0p?b>P~C(O|-pXBDnCNul5c61 z1HG&nn!Y)~fE1J@#9E_k3}A`91E3QW4D6}Uj$i@-fgkR}l?`inzsKVO2!mocGxI!k zH*ceBgZ(@yUSN;rMlRj~#8LF&_ir+v8Pty(%s+-JQv)BvjMqtVD2e?(z^c<3xq?#! z{L-wD1j7QmbD=qcVz{ohj{m*3x=!ekh)lQt&YkT{yvb!vsj@(Mk=J~@R;)1sm}MFO zO-#m`k0MWgi)t%uB1_jy#nQYF%5{6I`}~6f(A;1xB_D2SY5P}GHzwb@u(-J0E)FZW z{;ka6#y2eTF+=tSdiKj-{QPkX8vo|5qxZaZaA@#fU%4`{AsEg}cQVt>NUBg-lp(bH zo3DS3Ik3lWKV~ zaH9*ExP>5)#RY!2Xj1%ps>y}|tO1-e5YvUyf%hVZuXN~qkpj3>lMZv=5y^NT6IYR7 zU4}&i!7C8dtgxGmi#IRFfmB?(`Lr%pXjXV0FZ&6~H$*fZ`lGd0C7 zuFjTec4jt+A{F>Au^;Lr9}hTmMyUYuJds<5c7;=&NW{VPF%ece_H7q;7*^7gs2R?o~yiUr0r?(2*^|ura{e4-|{>=>=+9oznP}q0fF} zi8`8zdamVET{P5LXXr$4fwr$(qSO5e9oV#F0T4Q!0v_wDGrRFX{3q|*{1Q=B3NW2> zJp0XgL7+*%e&2aX*Ed{Gv;N)%KmWq{bN2mS zj9fPojn__iw8X6w7&)H+I{k3%D$YI)L@0Cjz2kDDn{v10HbhdAz=U#Y$CcXwf_OXxA@BGexvDf_;TDNYaUE^1HTe?cIG*y6XPxDaChXkp156Pmn-dj%8*?5ntn(IE!q0>V3VartNFCA0)U9}_&#tH6oA*mIg1S2t7N zjf?iNTj~192=k@!m=F-+e&oN~Vt%FbYzD8{{v921<}KUj7RL**t1D;$1&kv0qXnH% zw!0Atn=VJ`>uB6YyK$N-tYW|;@hMGf3ai$w*_&cizO>$wvbJLeg% z>q%3mlSppCe@=LDQ;?o5`|Z6!^_>BBx*kvp*AI<9y}L8 zHWvwQw4Zoqjs<%j(3PJxH`!uGf+bAoQkHY=?iBcaz}J!MLv|A%qZ2Q@V8Q1$+P!-Z z9XPO`wr<@@Jv}{i?bsPAU}tVG|WWRYyx|fn-Xs_eKc8!je!cGLv}M1)=#QeylDOA7YSE&dU|g zD-;h2a*?nRExOdR{O0sc=Kb{!5N%msMPoPYb+VYyz$nq0hJ;qs<}@;4>@g+OcirCi z7EnLeTg{V{QdvO5*o+0K_H>u>s=$$^By{H;*w;WH(4(;NIWZqzw@WDlm(d9x7u90W zjmq&liUsl;Wun&$Izs5C3pHiNyIr8bpS6F+28`oC@z~M6j`r<7NZWSopzT|Cu){@L zTbl&}b>7Z0?g%Ey3TkRz%g6eyZ#_!SJpBT1$hh|!>efs#g&MnMvr;$ana|;%f+@PV6VO#WHr=h`NTda=L%*|N_bQovjo&oS^T+_tGuDd6_ zk9S1`b;9HEP2Jn+H~-UrWbpj><4@7SgZt6hVXg?RwW zj*2J#|K=qD@^Vk^zt0DL4s^EK>Xm_h7j?{2rOkNFzAJcif*Rtk0)+`{Gwj^}>T!*L zj zuxB~#@A8#PEc%|99J9cA9Sz%i1w3XHxtu0w*LK_o^9wV)zN3h(<`mX>-oNmCOqa0d zy1Gi}89Y&NIwf6ui>gY+w$DK@>SYZIMy``aXIj8TylRpPO2KrT<}`933gU6niB{H@b?%%r*gBUxl|bd&6#>$8|_%S7mQ7W z%rbR21Mf0-1X)Rs2;6ew9gd7nB(V4ul-`qNrlRBI1!3&)A;;O?%z*)_v~RV=av3`8n}9uO1L=Hx(Z*wJ;r%OY7=;KSg6o3PK&`O*G)$# zah)ZSO_vfMf$L=Zu488?^?Xcmh{$+>Po}3hRu!DLV~6jdgZu8}j`Zns&scyv?Z@P> zzNj><}r384!ZZwkGm#%?xiMX+ao zHkkJZksd`MM$XGMzW5VPsw}H8NyBwafdOj zsicXTn%wC|h=qc4hLP?Uj@gA(1OP9`GdV-lxFU4CQHj^p815|h4$Jihz`Rs0SYT++ zim6&g8;S~I?atu&AxvYZ9;I*L-avO5AZETi7kT9d3WwY`CbD`XZ;8lOg!X#FV}Noo z6AAhNl!e<^OU+Hqw9^8}ty{L!HhbM}+qRQBI@&qj*eFmA{>h|Pg;X(-iMyLP?iZdv z=>=%~-WH5M9)OA6I}h@`I5IkDfyiZ^M1AU0|Jfc-9ecmSrxuf$nE#L8!)O@PB-n1j z*#M0Jyl)Ui~a*7^(>C z!QlZ0*wa%tXtf2kGw2pGPkEZbFv7@c5I$1QR2w6Z2wmJ#Ccf2}Y+=HOV@L3i2>XQk z0l+-ZKG!15TWg;S#jZGREHHqcou6j`IDQ@ppXiq3t59%?LdU2oGB29D$!^l-3aUau z_kQ8sgSsYD3N;b%;Z9M}!Iq~*uWyMdIVOlzWdF%>PoKpn`pm)Ff{uds2;DI;ZfB(B)GdVu}3+K*WxMOx^Hc8c@$caBf@|B2Nu;F~~nJ4J% znNxJ=w!?Jj&|Ye5Z=!`N+2nA6LVQ%8)oXxBrX%`lsf=&VFpm;qJyfo^!Qu3Pjta(o z;;R})8nFdebUo5Clhv?*QEb;0z_05-iSpM{3|JxBbUZc|`f138s-WFyM;2KD&RpRFEc-vJ{au1ZIAJlC z<8`KK;?oGxxfT})qhq&n02E63keilsk~y>>$wm0c$CihvVZ0tx?hcrw5m@m-Tw=~@ zUx$Q+p!?8w^{lFmi)?wP7;3_YG0rZIV6h?*f zZ1H8Ug_%X}NK|p`Yv6w-5%<&E@p-;<%ANi|gEt}ULN^1$KziJdyjNS`ad7Wlw0p;4 z8XoDV=T1IOBi9GKJtFK5pLp_7dgj^V)YY}gUh~JOxw%Et7|ZNHf^&re5e^m*q+pto zL>|C63~Uep-c=gcj8Q$#fum_KohZ+B1I{&p(D*K&*a&A)hdQVE#R7FS+rJE0z>4c= zA)&*&tEjc9NT+%h=)#o}PbaGEwO3o4vf#Adf^2)JJSoDvhkJTq(O7^9+pf%;H5f{K z6!r3(125_7NSW3(*#covxXwf4IaSxf(kauFNA1|SuBc0vv>O$8$hgih=}486=(=(X z>Qdn>BEx8&yiNd*SuidXB4Z6kxs-E<6LbsqBL_&3?(x6pxohwQbu(-y&7 z+13y)5tufhuy=GT_nKV*jL>e<$h+7TZBb0L32B!2nVU1SIxUG+$O`ln5aPA3>)1f+ z)^*X$&1n|8_V%6TX&8VsTnD-~ZsVwBm%tY|-^N~VtGNKhdpI+DlYw}9>joMexvY*p z0Z4*ca{9~(F6bK9uAvY8==+&c^6{Vj85YYrj;n7VsQ#c5@J1I?XElnc3rbDu7|Je=(R&ku37H@v1pTv;y3)r0~R{>iw%0GxX+o#i-qq!7ctc8-B_BL~{x8iu|A++uKv zQT(BShV?g5U`bqXm+YEUEuCq2J}-#19Ihoew?MCgwWC}TM-9-*(Cx-CfNPBjUoAUl zEHGGSDu+5^aL1V`5(S@8kZbYdMY)E&D^8#}mi>82wD59Mdf!+ud1!zTc}}^BX?RW? zu5=>L!&WM%^PW#rPCB~(<@$`q#bHzTN?P_SvWD@ZlqR~4bBhSr1AA|0dPvy_c*n8gi7sF1rT+dtj%h!z{~)d3 zu%4~Au3x`yzkh|fYg|;QfE0o%bQaKwK(fq5JO(Fi*shd@>RRwHn8!2_r@I-xcMy}cKhD|-0w zF=}gV=S8v1NtY$*epqn4c1Gr+K5I-M7>Rt5LX<$`NIVi6a^< zO|+^ZrIt0qnS>2vfjPKDmj=szyvx4Y&SAhF^O-9Yf?84mD07QbylJ8PgkpM;t?>%p zVl7n{9RO?}*B*7-^C(S;rC9uqoWK zbvy0av70t->|#2N@wA`3V(jk1m`ud+T~1(#Il+?c6S|L%tG_V6XxD@n*mIUe(NQ{G ztexjv^La>kS*W(8MF7 z+$GGlz-2D41s31__Jj1>zx{vGhd=Zo3qDrUum0+<($~KF6*_wKWkN%$aK536f+<=R zBU?49(463Udj0EOXN%-vI&tDeWmhiJsu7v!y3V*baBHPsGrecIQnivG6i*V0PJo6o zxiFI`;KcdK`+yh|d0F`55-)NzG2Huv&Oi1arYBe+&4CzjPcc$(I{F2`Pwas4Kl;P1 zRiHj__t`syXeudb=#umFPE~gj$`0+&2R=FjKD$Sw;Kyr52N-*Jy}ifbQh|G&gG&%# zVv9KDE#JIOD=f&B@2_I&8wx!Z8`d`PS6s7hkI6U`O>FV-+&KRbE7z!n96MXsVjE37 zG$E?h`2rKPg;}9+a7c+g#wE6ptLE1ax=H2)d~nez1Q#9VLbFw&+K;Be70i3;YjNZY zHV2NQXvZnyc{+0JFzw#G zg;uXwK?D86b`zMQa_ZuuHXHz5IBTGj04pN!meFzLE|GHx z&;Y_fJ-;)yv2!~wn0S5%-o=hg=oCXEgEaEcAOq=b+hB9p#NCUrvFkKAbd9YRlc?JW zZajbx7MO{tF?PT}XMqJiv6D>9=X3nS)HPl5U@;YO3_0dJE&A@q;=&w%!gdezj`p?< z_H#XrP7KrOGskIQ@Up!oZ+a>aJaY#IuCT+*-n|Dcu<7ElBNo90wndv|Iudj8?1qEu zo-F}2&Cl`d(SgQ-if&!w+9v5<&(C{7Uq~)9o`>hu{RNH#U!v+_5;nkG3e!Fde0#5z zn9|YFRIp%Lj_vrFMW$5X1HmK!%jkW;&$*D0cUXXb@{O6?Pmx>_WTI3j-ZWT*SoE7x zZB<ff<0PiK3r#o#=p$aVG|4Bk{U){oV-S*u#g85A__|nN;NXfMv8$8y_Y?pA7wDIN=@Y)&wtM#h`~Iwp z;^3E0`yyKy7a^SoeMx9ABn;S(9y`Jyzo+Mt7D|yzjBkbn%a|bj*84MciywK17!x~G z#L2Lc&^z&NHc|-6?->sb^9Vc}%A?MD%0;9pX)>Q(f6=$Vy*sxa<8AzX!07sSd7(Rd$`mI`94GjR_!+mg(;)M1ea|r3P*L7PcvST+8=$(oZ-_6rh*m=4b z?<#p6i8czWs;UYtEiE;pqobu;u=yVefOa1r`N&7c?U$eV>%V^Rw}%GCf8p$z3qLYG zK33!Wnnh=kdV4J1#8VDQrT(jZbj5zY@ceeV&Ye3$ zBNm_$J0;ZnkdftUPOwR#{bbdJKuAXUiHd1(5qkd8X6oNrsGdP&h|oG zU0v)G>{7MZa?f55W8*`1lP79z?of23@7R2Y$zFv4RUmqRjuJYzhTWDQJCxb_b zxsU=mIW-}bJ{E59R4n>H47FO7Wg^{_GpQZO~xj+P+H()DCcq? zF6p#Kx_I)M7E38z9a*wq)NXjSDK)JkYFa5=zeP|j77fkJ=N1eKNXaANq8G(#XBCBu z3(RmMN<5bf2byP>iZoCk65@gi8{E~aSJ~CVhr#4w1delibAFn+$*?#Cl?wt)*HOkM z3b44TYcu`OtKYy~%bN6=I z(!GQ2zWN6)*<-oJ;Zf+u;l4m5F(yFXcFzaqB%Z@8iJWtuyWH5=NPG4iV9?_PvTi*b z8ymIP;OfYUA`ZlhEG1o6ISCX2Jnbib>6dNs*}<*}#)Nx}Qy4K-g3xT$S`T;~C)rd~ z!HEwEk+m$30C3b0p~Tb6Oymz1^XwB7MU!*4JJ37a`%v&<77D8D=eqW8x;AtrXh`z> zZw0c;LG9o6bKegbzZ7_mzwaE2;672u%>?m5#&k@YPK%uQxN1cs(*WK1Vmd-54WwLy ze^O7M$b&#T))R>4kwKo(31?a~oEO27@~QBO;k?EC<+=t<0&L)G4QuppX^@*FlGInn zAeXJ})F}hOBL(fsIt>y}LR9q5z*#+*x#OG`)G|(-E-A;~~78DIzAU&XTft0JvDvs=}5>bp@ z!0T#P2v10O3|>JEkcAr;)DPSsWwn#px@8xO0sg~(_%+(LeKY;!PkhX7Dt{F?TqcZJ zf-2u7wwX$va}s%XMq@vss0*lz7rJ7n&%VG54~_>nHUKB=r4aGlkkoRO%#-Idwp7xE zxu6?DA|fy07|S3?IG#q*A>lvD7G5slN`g>|Rf*DK$~?x$zZHxHAuilOJ8leAxSL(z z?ly-WK$MpiLU4dCm@F*hZk3!jjOGsRyMqNIk3IGsKJL1j71YtXfv#NX=f%{mL7B$g zW}KFovD*a)r9cpYPPzK~@^}kJk_MsDwZSV~AoccMLzC@m_(`3m#wUsT+aPgasdt7WEb!XLFf-pTzm1 zs!Di^IggwRG&7ge=wxO$Kj%h4YA=}jBtWK{qSI8AZWCKR<+VRoYg;zPF9EetkFX*uH~y?%YFLwrph! z%(ZLRif?d~`N#S&xT@n=lVns=j_|M($uCwguVN#qgvHcthMp(lQ4WcLS~A&K5*XNYADM4QDBqN`1she`_b1+)PL;~JA#NCPYCaD07?LzS+-8AQ-_MHO%#zH z({Ly*ko7Tg55v`)o5U}glHgP$6d`dKa=;bq7y>=u{s6J&-xoYD2g2VE5LZ|MzNFiR z*uP;NfX6cI(s2B+e*?#VaA<%Fetgta*V}X2M9qyI-Y?%>U$#bulatWh>++uu!toTfq_!?Q{)Wd29$P&&{;-(MISxv3Pd)L=C@OuHRMN3<& zE&eysfdhxQd3fmHQCp-h@nP9wB5CRFY`Q#pdH5D={znR+-5T)bx8L{82OfCf*gM|# z{txu@^nU!>)uCOpb91hxpaG>Cmu)gxsuEGnKl}XmEST=0z5Djjv7?9R$dSF&*Ee86 z#|^%?aZ}6Vg*Rtz$R?xw#)ORDcyiD277BvvKH~4laZGbf zEo0GQ>iNjxP*I{&XO2@xM;C3{u!ByWex5G%_0alt8>ywGmB;eUO)YjK9%T_9lrl_VT#7w zRPKdD(wA3jMU5@bbYsMEuz&U9k_SoX9)m}i&CjcVI7(2AtS&3=F?6Jq8;^Sgz!;*n z8BXY%;jTS+kl0}H`>o9#v}@NMdw#Z3dwT~9>EP7T+|uHYiA*Rwb4S03L~%Yn)A8~v zM*IO7BxwK*_z%wW$S}lumpL$Fbaa%h;wC00y*GDE?@HCvd&}mX{Mrz(ajEY*-yN(f5w4dg)Bh=WP^9yOY-s>bFf*eNMEm!v`mqyrBR z5MQ96mQJamZiOw{n;Ag=eLBj2R|k4|=Q*ZrxKB{r(5b|lEFEUU)2WFYSGa*BfD*~N z^>$5aVW5g>oGaGi0xpjQ_RbgFYld>q^R1vcIvJuC7g&234Dzwev(|&buwCmMHIS40 zILU88yT&B}kIY}T;Bs<_>TDr^bq1Yh6ygQ#COgk@f8QmEzgDnbl{vMqsMfLtZXh}F z9^0JygkPs=3iJ!oZZT^|w0jJpV&?hQnXZZC1=HS0L8oy{i{dVMCR1}3{}q|OQqA1# zd7cWu;fL+{EKb3MrJwd*5u2qlWhHJI3JIU7VPn zuUKJG_N|Y9^Z?rNqci*Y`@i*DzxDZ7Y`N>h=gwUG_?0XDZ5(KTv5vDx(=o3bS%R8? zq@eG7=TSO)=Bx$LM`{0oUG%meejPpb=y49-z{STM;>_JQG8QVcidhu-B~Crd*^|-T zTyQZMwVT-V^dx=qH-Am6Yv$)8aI8W&7ZFXFPgwJ?Nzto|fZo{UB?Vg3YiKK zG7WK&h)@-4X-I&K+r{A{@C8!_+`Oo0cQhf2#;3u4$-kGby%>QhXY1v{J&JZQ2s8uP z0gXLYbfFuFTbXAvYYQW!r}bUFNNsJMoLJe?)9}H;b z=5BJlIX1V|s~c%^_fFc>wUZq~o_^sGx?%w}7Ed?sMQ6RYw}&I`!IMT@t=p!+k;YVo zqoH%*O<(E15;@LmrbOBd)DsVa+0M zaMk=g0JGEZbw)>rH<8S{3dA8nj*cTU-~g zEp4!cgn;Jlyt%~P;t=RyA}4@Iu;(frvkbIF;Ev&vzn=};FW#7(wxIGH4PG1M0Fr^L z1NNF5^Y&cqGhLKm1dLwsc$g}oV8>Lz19BR8xRi>4-TF?p+AHb~_ z*5O`DqHD>m2fE28YFn8kX%s*1-u65IY@=?%UY`-%QC6*7X+QUJR~lU1tJnH0xIa@N z)RucLsia86c5+c?{_^EMdit5;c4I%tO#s5uu8kY% z+Ta$t>yDRkg8+j0jT^Rc5q9{{op#O6XkGgT0fbel7jY&o#kgn-wiUHhfH&~1kAE5f z+I@WVqaU5NUq1QS&wlpv-J3T4;`#Fz-#s)qT(5d9%H!^ojzD-&Y%dC=6Mf^MzhSQM z9e3PLci(*n?cTMG9(?GV9I_!CU*oH~A_He3){9ZOP(Ga44Zv&lnzj7zcN}{qchbK8 z;FmbTD0d#gNr(f-4PJB|Wli^zuQIacl)qxZZz|%En|Pn%coBDE4NmE^6*VeP&b&vr z9LJ4uPFc87Y+I)RA8v2p^{S9YTvO>d=iU(@;Sdh#_DF|3@zr_8okK|}OFT^>p2Nip zPvTlRppxWa6PAUe?D?8mc`1s`O_@_BE0t4g2e2$+HdA4DbU6>x})4t_nlkS{LfY{xY+e2vqtP_?gFwVFkF=w#$ zX8edRcHJXX^j>mgObAk-Ai5$wS0>R8v;!0-iNsGh7b!2&rSbw@x4<7fHwY_XwfCx* zzlEk}Ztx~|{?bVX+YTI}i~h(X57N_5KVgCNAr>4${DwsnT~*ln;rt=)79ZjkPgC-W`LbN5@W$3=D2kiwv-U3r=E8pSXw zXk~{G5kZ2#IDKQ1JIfGMA)OH$5x^!W7O<2$c;GNw#DS;0bH{FKX=w^Rx!zVXk2+kD zb3&55NW50@XD48$Abw(w@~l0sn=>>qKEYh;!NEbg)Z0tfuaC1>Y3k;L>%|PD)&;vaP8^8F7=N`mk14rsvL-$Jl{n623yOy2dV!pY#mH#ak zEGH)Q{9%{lnNyhHNIh?YtA`0(-lT#PtkWx56}0}7&UBN#PgbvNq$>mGebS!$2-~fJQ881mBM*|NRqV#$CmL#xRyhI ziW+O3>wCcw*P75L7Hv!7z0A5DDR9_%A}jkzmH^!>0{B!>aO9qjsfC}xezn=MF~gDv``T!q>4v*Pwq?JW%Pnm|3mTTO=w0^SYo(61jdb6u-^xvf?OXTQ^>&e`)UNsEJ-2Z^vX;p(r40o*+=RL}c42Zk z{le+*Jbw!^{}Thy?&Cf0dCz6=qd)uEFaFBLjT=67=~D0OMz4<*9Nocr9g1iqsSxK3 z3|^(ref|n{cWt3N@4TJf``&la)&6VtdtacDks%*!vc!N6os%W03pLy!T}nL<8}tGQ z55WUObq=u--`rYx`c5*(^A zR?o4b*f3F{CmMOmrukW}zn_Y`V@hF^8T%5OJOcbl7&U6QE#(N&Jld$#dWXNC`Izgp zAg%$@kTjl~>P+Di&kuG~jdH}HEmLSPyD_m*a6!JS>GHgSooKB5PyIsdg_wz^-^Cur zMC$dM!$O2zOFCM+cu{kq9}Y~JRD^&-!vhuw4Y3(NMw=^Ftl$nIKn?)m!s4O_zj%_` z>N*zx;5vZV5P~HHNMIpz!3^$*j4Lv{ph)@s%1f8QLlkwJ$Vf3~YKq|vWa7qkzSb~} zKsVyp;n&cSL-%kO@cEOE%fBlE#PL4$)MNC_Gf&dS4c&C`;1L#2GLW|C1w49E&vdw* zU~$G+Fdpw4J-_9WD7@D+Hu2BF@nUULqrHzt_<1CqEhW~CIndxY{>*!#`xGo(pY~cq zXB&xpH*Sp6qy@`UH*Tnyugt|`qkTS5Q*O7L#?GC)*($EH({ApoSMi2l5qcESD-6Y( zV?@7*94IKdQet4|09(mkH;4{KC%Lb;k9zwqQU8^G8o549pq5EOX%ewt1zYfVTgUQw z?mF7JyQ6#;REiejX^InPVV&Xebd3m|Sw&BYPKh%=(Lx8hy}gqb?D>P388jULX;3_{ z)^G*uohkyw$h-E$P}Rhy7fD6La-d%5lqU}zYgQQ;@vTjGtusFL&ZrYomN`&VwJiCr zva9@3^bX%uca9>STJqw~vri~Aq5GS7N1}|cDW?4tQeV)7gw2RnU?S0?QSP!ye1M4` zCi!bC@f=rf95|{*X#B^xKKNd1VF%zOG(v3(*=qpymYce^(aF=_dr`;PIho)ZTWO0I ztTU-jmCy_-+4TuMh@8W!>@`+Gz{y%_UfaRf5{hr^Be+%?Z4n9!I25C37NlD6;D4BI zwl=qEm`7RJIj)GzDs2~4;O2m^cb747r4tjfB07m7FUEC`$@`|=BeCyDVOAE7FL#j( zYT*_V8k02f;@?u)@s%^C)8M=?kJ{PSsn2qt@kDEGq$x=JL?QS0P?|c++oD?9*{^W> zu*Hs8+JQnc&&N?_hp#H(DOXD*xhqf$N+IE&fqMtMs%smlwziu0lC4{}(7ruK*s2z^ z!JRwy(7Lv6`#AM<=k52{b$gcgrn$KVNhGF-Cd7bWUN5HPSX(FTzJ!EEfMz~^dp_*7 zV0wDb4ULZve{^*8mVoe|EPxI``fUKxZ~l`%`r>^zZcKghx#v#oE-jUU`+_s8*Kt1o z9is~Sz03W*78niE?p=H7=+Q&;(?9c3dgAe?=x_e!8>}?fpZ25htj19=3Vwq@_YD=| zH4DmpKt)vzZ&o3xDplJr5y}-+xQH7KAPhGSrzaMxz3-_2Z?Wa#E(y9NS*;%(;-=+P zrUv1q)*S=dQqOd(t*bkaCr!!6MaMqa?swey zKhIrgfpV2|mq?f^znr|lf*gN6*8qTsmnmT$@$=+fnCVB`xrsJP<1MA|Z-|z5<2G?7 z2s9Qfbc2JJEl_M`8V0%)lB_6|hG7w8CNxL;cX<7x>$z%mBX^|HS;l)=T|F-yTZ}}t zU~u#mfET=Wh=2gZVd#%;4^@bFQXNY>tRP(-qg`2F6vn*4sB4;N7YAJNo3m5YP`8o= zU0XKqv4!GJdwupCmMm01=cs&^#pu= ze8P7az#I1x?iGl45o3Mywqvw?+iu#veFvv+Hd(-5rSDbjZ|tsxR0TPKE2~AJIw3e} zhP#%WO;i$f?m)dj;L_00FpJuHdoNS(rAr(K4;wp4S4$$xLv?y_HdF3;wa+zqbHcv= zBlf*-=Asv!BnBN3Q^L4T9E+oI?C|-OYZcd7Eg3%FD8{&ehWmkiZ&G#taNhKW6IbhO zakNF;EXGIZ!o|}}`N6rYZ&(qgCQ8ksJnAxgnt&?=miKh_vhJiDW0{;Ft zzMGC8e~c$Gt1L(Z5R>4ToJDc?y_xA5)=FS9)z-Y4?bhU;p5^-w9cF}aK}-f`nP&U7 zVMPN!ud{T-`T)SZxFCT{pm*Jvx#n%vZaK&Hg2_R!4gyA#Jk!}UqhGKiLC*U#~oO{ zIqkuJu~;znco!{rzG{K|vkNn`&reQGKRr5n`MH}nZ;s!B%l`}jv}-oL_XBVH+5-=K z?Az~n`@J9P>FNKezDs?Za51}u%p}G;YPeB`@QW7d`4i7DPjuhD{dDNI{j_)QZu<7O zAG3?pQw)}P(Zje!JGLw~@SHALAfcSch0LOhXb~u=yMQdpDf>w!`hFi zO$a1#Kss{*ItM(AxL~;PtV<^gfYZGG)$JiwU*v1o`Wf)S<`Cc#if;TnzG4a?YVn+Xo)L47W5)BsH38QYc+wp7 zfzhmTqkRgR6O9!pir7}Zx}MuKaUds&IzZaZguvB;=;@hB;W9R?qOJ`{U)*9BO&A%~Zp@yNs{vmd+0DNZpv4rta=8KCZsLKI*%C zg*(r9oYB$i^zcIu`*ElghC8UAxUvLiaJro@Hd5n$W8uE&}?xoK4oz&La zN?W(=pw_lF3&!hwiRU=9zWB;x;gRcLrct67Riw6s1TWd3T?c%AZqXJKeRTHRDZ0|% zM?-_xm zN~%>bNfgzst|TbT7VL%$CkAZ7_(b;&U3y$=*nHW0w@}SL?|IxRa%*mC=W7q$=;7-_ zOeaAHs}T|1;I>A*UNWgV^N?RRmyv7(C`uv_?JXFM?>q)jX(|Z+?7MA0J3G4~pqo_K z7E&ZQbEq|RqbmV-WeOujqQy%0jhJIiO6NilPNrd77@=cL1!orPGrRaGZN>?>6AI7e zz*(ilkSYq>peJ-9Gvyh2R}^(X(!vQsQ1J4ZUu?nbqmMpJSt<8CUvTM>j<;#kb{ZZY z=Et%Sh}|(7SFdIlDNGq~ouNAmnjt7z^>wv;4L8~M9G>XV{Q%%O>qP*7( zot0|~fD6|RC~Na9Jhtb{EDBvgx!;La39ea`CMMA4n3ClHbLOc+hT@p>)KjWtUnux> zDNT|JEkq$rDqMmjY1c$v=dN2EhZDIXEBbq)?mxPhdC|8^-1RBQj{h%_+Uystz!!Qb zv9hb;^Tr;_7Ofq~V|R>rN%X&TJ!9k7I2A40>Er%ut)BS-1guXz={;uUw%m%jMd^xX4L zODa^AQ7|m_Zn5x!Z^EhqcY!nZf6i1iQ{Y7k;JJX#bJ2C63&Ih_xLLd0sq?1QXjzj> zHC>%a=bJ6-6mW9a(^kAZ;;|bj^V*8Vkkp6Y1>h~(*AAPyG*===G~&!nWz4ufN9Z8y zpL6X(M|MQ6a?c%*bs-T7YBC3^^8l1XDx>>->0$t2@$Y2dX@ON5xj#%6+%(&N_ZMTnLCru zJpTx-@7zS2yLR!W0)8R5w*Vv(@D68@7H({S2M+f`WMgIIxYHfRJxeILZhx zfJLB7*TZ?*VuA5JuQ*~sdKc~6dw{lV-byX4%|41aiMoxR6RrQvV&Rxe=ZxtWNpO{L zKsHqyM{t;yN@cc(gAU@H1=zyolBbL?9}`rq2xPJ2h}~3Ce5CUQzW!>}-`e;|kMP4m2YTW36+Dbuv;MY9;x~bglk0s3)C+gri5~QOtK`7cz<;Pm;)GB#Ah^0VA7A)&|Asx`I{`O(2%J z>qmU(7<{|1lZ;am(M4p@7s(n7U|GYQ;5rtbVbTYBoKOftGOpWGe6bcCh;fq<<9{M} zfG4pIBKN!w6yqHo9qfjK!WH32XV0ACLKTe}wp+8;(sR#0L-V$vLR9+ZEj#7;rTa%YXRX5G!V=w>pJv`Z=vlBwMC3dJWxHNLXMnG`wj4ip zVR4p&b@uMtZ;PJ|+|h(hAjHeT<2d&YBSITUD$*PSrGUIf#Whacwc?XTjTi(tQvjhj zr0SJTA=Q!c3YtyqbQL#ioD&E;+$56PDpL`0gv!)U+2u=Qx@NhASM1lh`w9=`YV9oJ z>%ttZT(yd(hQ~Sh%K1>^=b9Ru`MurHwSf-oJ!;p~ZS>B!|4%%n`|!W~X_~n?Pj7nt zJM6hG+ke|_i#qYB=Kaa1WU9}*uKU=(;M~LOt1a-SZcZ|$!2V-Fwpm!1U7TB(KWVS+ zC+FvGK6l~LiSOD%yzdrJz6GHF&X3>y-QS(Fpa1srpa1$Fb#-n0^;4%#zjb0_A`vUI z(8Y^aXtsRgD((h7{LKgH{P}YXq~G_x_s}a|`7-+a=l{YkWIb}@K^3lcRt`KQY8_?5 z9n3%$z}8!+0W??Fh|;;Lpe`C!!jD$VrPR|lG9O!<7X+MUX_=$8)5K9hiv0UkH9{FF zXa|}Uc<0)QPE@@2q8QmE@$?M007@#MaD-i4sC!+~0Vf|T$^aQr)LHJkPmZ(9olDmV zcYqqN%l)2l)_`Rl`Icp|Er-X>Bi^scW1yZ__{N$D@H-DpEPSvps;OIAhnAkY`eNPZf7dX9Ow?ibL_tf!+uBMsZ%hG z$ZQ6O#&z{FUQ{6%gV1kue3&o98s?-q|9LETSqC;}SK%r#$HWf>ju?;Ba(& zkP9!2eOIn%q}z|YiuUihoz9+rj?SEWn#Ydrx&W|y-WDF`&Yh&LuC3JFy@~nI5G>-c zAqWJI4pfGzsR?$!0R2LQaH&pKq}ar{t*@`8-}%(<)1dkn=8=%f2vDvh z7KQ(sNPuN39SCAz22S9`o(tSnK6maMoxgCF|BSJ!qs>$lcI3wAMfS(WX7uy_?icCf zAO9&nhe-N+`&-{bS1$LfRi=6dd&-qP?xZZVhcrx)m~WXDqmh5)d7KC*cz(Xjn=m@k zxNgN|M=bxkH+0ie&lxVbIGjmErMVG1P4Vxp)@X7Ig4n^MhIz2gUBxBgv5}xX1VlqO zu4&?pe&qTPUB1#o%@%mIG_?ya+4(9&f=bthU@uNpiC3GmN?8YZaM+!_Kr>#0uK)l(V>Hf*(GSz$`wMt@cWy+=NHS;QASeb43b3`SojRf zK>%gYSK#2V=mD}&&=!}(<`I*MrIP)73EG1tTWHyWcmDx?pV7f)Zhcc5{|uDTeTdnQ( zzS>S(H*cd?-}`#Ier}=nzWc|hs!&UBx&KFKa$=hH?LETuFs#Qu30MPV(j>%ra~kX1 z44>ce@$2?In`YN9rghcT;rESw?nV3BPR}jPeQ$hh=xv`1)%>Q zf4t)z_nos}-u~x*{*{B{*C+nB)2GkAW_s#oA{)G^v}`h=Vn%HBwQEo}nL%+m_rWF1CoV5>=!uAg1T4GFloR0;1Uf*@T(iJBKPO>hK&8X8?H*M-8OyKT!}4l)rD zWyWGd@RiZ6fp`lb4E$Ym5^zk_9Ca+Oy_}U4C<><%3-J2-70h1*Uls53npL2MG-x4~ zh2RBsA4$_NI(NL@IGDk8ECMgprL5(2V`|KPjtjlRg817GyxaoYm)Yz6GCh0ZF$<`! z`VbOyNiSSDZ41g%%6~3s*M^j5n0mlmrSznV59Pjo;un6MjvP7sA~5Cv7cB$A6{G)( z42{GKlsGtMc8)_vF7;lbo{Jah%$bvPsqdl%7lWc>Smud~<3v$|u_`7H4J%e~r}5nR zGt9k4w-FPa=B8G9)xEEwkA3VX8H7CX#BsX!-dE78Uvn@0-lu=x(-Fjmi#$+p8U~XG zKj^^Y3Q(G(3>^YS_A?eN z&)QFbErjoYiZOF@ii`Yt7CbL7b&W;8cFjhY8IkKKvdh_$G*5J0WL~)4TWYFS+Q*oq zvu94zrp;UUo^dI_*n`^II@nebj|FEB6x8!<=^7V{A>7D$At#dUsFtF-59L%L5|?{Q zrkMqGuX2lMBSXQoZvUG}{w(fajm)KJ?*d-v|Al`EQPL+2)@eB5#L)!gmxXy3pE zOjV)E=Kv%+Ipk|KEsDF4eZRP~Z0}ukma#|TeYg9Lv9EE_0{21t9-Ww9n16b3sQ2mq zYeT2!=O;#Pb(U`d=pWd}JKy<6*s0|V>Kl{_nkAC>!hqz)-lOUvtLkAqUQf%a8G+0m(8+VuNpV>7- zNAFlbok$^5v0YveFKS!w3oy)NBL-I*KQD`VErU9?xGJQ|2o4I7x6wSphY^Usf)(Q{ua^8oyp$ zAl>E)PhbYv>ho>9ltxb;N9v!E%31qRJ=0$bc!^aZ8;Ids@N*R7}f?t4AG=}m8}aK>=% z4T*xGASO+MQ-*dsagTvM0s-g1)oa|1J9F-g1-+-KzrT-NI-q5!#O>nn0MG-gy_G9b zEUXZULv^+HBzBJ@>p^BGL7}@EtRy1Egx7 z=sDQVbHmXagm}rkc(F7~eKcJj*%Uh7^n4~R5jY0;@j5}KScPQ@LLKiD_hsTux? zKGIJ;6psPrlu+I zkqGr9fafS?JE^dtqabLkNJxy+3oBC!DYC4KeVh$dg5*ljZC-5VL8M;)7DShp`2F`* zXzGLnSEPk1i9)WanbXADD!z``quX(&6-@Kwg_P!z=i#MMP>Uuhd7XfBLc$~wYdKG( zaE1$^kD*gQki_(lxB#!F4w_I?A5%vVUnorUet$ zG!&>P;KnTw#Cb}*!H}u&QFhjFg*1)w1%iVHxz-pZ9LsJ(3i?b*AF=`M$F zJ4zcnx6<0?MlxBd_ijNa4!H`YLj%Lv=eZ^q-eZJ2;T(ap4BvXVe&N`wtE=o*m6!6o zJXl&U&-l;mQ07VMk~nmmMry8iwvb`je{$BrGL+iyQg4}Rledf~(gRwz4OqysTw z@lTkWlxTFc6QvZnlUK!^q*TXIx$+O03(cL%+zXYADR{x5bOJ??=x8ZvK^{}Y6(%@` zun4Rm5$7lh3W*y38?UxzkeufgNq^FXfB}U7WBC~)2~<9v(a|-^0Zi+^l{r>B_hKU9 z8%tLj3z>89@ZI%t$^YGX19NvGkyzWfBW|LFRm4XWiBPn=xTC3xy4IjN-^mf-7y6#3fx*ib(2seZYaB9y^Pi>?VAH&|)m~mz^zv8SP49l! z1GKhjEqBLEWKS3p7bBIOj{g~m+C#fOGRAbNfooS;@ejb&U#1zC$CJEFAp=#OdJWqpADMolE(M}k#>&Do`Fs*@u2b?!*YSbHEbOU0h z;hb7h6-ed2I1sPyGL^CtUrP|np@S&vMbVG^F?jX;&OX3h5iiF7(VnC`$T6A6Pz`qV)+5!FGNu5O8_hk{?FXfADDw7q-2_3P< zW$IC_Vp$ezTQJSQ&b~)WX$V~s(PuRmASk5pXV5#qPX>Rz+FoxAu$4}i=(=t^r6dn& zl&)JJaewju?(WTe&LOZx@l+}cKN~#dC!YK+J$3xM?CQfQv}ut}pMHTSWT5}RV;x`- z6s1L-WN=s6t~Z!^<$7I$dV+>aO;sHOOT=$iahJK4Un4-YGoT{|l$>XpQU109Vjqv3h&2)xa0i&PERQ*bj2H}bb|z}pd0Mohg3mM${ylQwBHYa-Vf zyfIahpb`}=VzcpKGJ^RD*w{)ReEGko#f36`{tKU_@yTHeu3Kp5u3fZu-%i@Q zcOTuDn5X~cfBh9&wQ?=BwXElRnHP^PIQjCy1Qw|j_vfq3op=>E0>qu*$H<^!OPscXTSQwlIQ$} zj%Pq(aYsDnSvwlS@#Ej4uYL9F^u{;6p271^{P_QD0eyd{2pwzGq7O3BEG!AAl7AAawVNj<1{>?E>e%IFNfI)h>25 zNA`k_fctG`W}1&5=M1s%;*p#4#hdB1k82nLC^$Dj3_Ct~oi6wHFn_wObsdLT1Z%Jm zQ*KP=ZO$UI?F!pQmrO|&HgK_bcX&rCeW8q)UnI>%K?w*h}05zP#yi&g66QP6!Mtyq`b1P<4O ztbsX4$ip>beqoWlzh}9te3NMxZap0xyYBBtndVA!~V=!7RF?OUjR)xRKGoK+dlnwtBGh1V0+r1v==?Dzvxv z44pproLw7MGv`_+k>m^JK(&zugqtS1B8pT);F>AiY|sJ(UtE$Ru3@G+R2O-VUE=T( z@zKUQi}e~s=iI_9)9P?8*EFuR_d*qQcC4pOwrJVDbsN3v?)z!`wr%vG5B>}n7ax4@ zPtfSd4LWx0<+gaAV&@u6RFfpw+c`RhbMOF29yd})%=vS4*By7#+kg1YboA(9`o=fDMI+Zo{Nh;Dj&YKN zt~66P?1Gl49S>VNsqGps)D*Z^1q-4J%1LHd54BQD6g+b`J1J-fu;@EF%vmnV1nLwB@Nq0^MrUDKs$WfkQ z%=b5HU+5fZ9DQMOYK&9xu3qcqV+NH3v=umx^jz$v(a}-*;upTc-14rCI~XY7dC-l6 zUo9ohZc3hGWO$T%dM?q>;4obq9HFZgID>PGdjSRBV^4ggqGKtXYWdyTnw9iZKlRh} z^Z)MW`1r0`zJX^C0H7pG-cqpvunpe8Xg*;;gLc1BgXN2uV^269;Q=) z#uH5}lEm8$x+VaCGi>BQ84+LRA{Wj}_VH27fX1@2VHMvmjTYp$x3}59ueEDN7j<=R zraY4W4|N6r(0G>c$ zzaAT#nEWqiPoFzDH$RtnL7@)}&{4n1d`AKi&tLk|Ur@)o^>pX$chHA_?ETb#Wsn|x z@Y^&tKIWYWc*>)G(Co=rln7~;c<9DdiK>T1oFzgZ;;KFM|HhnZO1wQD`$y}-fyd;H z07+JA6IZskaKX5At3m(~d8%I4&0K=mG)6P=pIXTKnu(HdQGH1f;@nXSJMHDqBXpt=N zam+Ef%}r?@1+^4&)?2bslvOxWs~kDw5*9Hdc<}t#@0j})2j*T4ii`NbR z(f{-tzr)wS=;#=CpKuP4#x)JgEBpNQ%tfx%4Z9R|5KRPv61$mgqdV_>1^wHf|2h8m zlPAv5zWuxD10VPxefra%=1B55NicM}X&C?uMMgZ~U%o-c3>ZBB-n|FeX#`+o-MRu7 z4@?g-A(=2IT;cDR^7Q5gAEjx)|&hUXoKECsKIfImHLP+fgBcf|MZ-D`iROs{?IYiVR?!oH4rv6{KEJ zpz(SDlZPnwl!f7oTr@&!0XGaZ5l}Sg)XSa)YZYs=jY~bKHuMe z@fHQ+7J&Ze@$oM{__pH@Jn+ELA9?qWe(>z+^S^xYVs9t7QK<*da$k!rlz>4eA{xAQ zmA?F!!?f+}PP+Zr5xcp+i%yoqIyIBmg*L!C=Y%*$D-?Lu*uYm`fml@e6U;dDKPG;z`7tE^AOru)gzSz^J?D zJJl{;)q!pkEbgS!kt)9qf6n}<*ZU+SF3?5ZD~V%wNtX5)lGOVYyTXXA21z`>Gj+@0 z!ec(8k{af-$FzMqbZzSGW(Wm60u!8d(R?<`qevbD*NMPzferc#zT@fWL2lfPpY812 zL=eM{Ph98YK)f}4mYvUb8u2ZuqPr)6B=_0E!A>eyFr8G`;Kcw(++;R%Zl?D3jWjkk zM1w>9)OYzj4Gi{Cd+T~yzpk6R#E!Gh?g1ojBiP_D3P#6f&H`&BX*!;NWj|O7%RPGz z(GUI5Yx!Egbg7RX`sSmwci%1%H&s=IVu2igHV)1(m5v|g#r)V{EVqo4Z9#*Xr z0N9lBC4b+LhCt+$Mcq28zU>{a{^Za8>?hi9J8Y> zW_s1#_fdJt(Axi-z4w5!?7Hf__qnff$LgGORBWl$%9fRES+)UNAdidV+HsXP^K6{nO8>7Ry59k4Uy`Vg;W9mFl(h+EgaK^62O=kuVTJS}0&; zxx;PRW@EV7j8E03CJ$9B#Ut1H1`by$y}fy5`G2ZT!vk5+IO=uymazV@76bJ5>2a&If7j6@|s8dAsL@d~`I!(eminO{LMMj(Lgab|K zjod{~;*}%18;yomeH%?zF~o)vxzOVG@Zv-bf{BYCci!lR;-V7n(#G#e!w$YKUKkU8 zyfpOTO}#+^JW;HkguGAyOYCuX^gVDDbm2s6Mb(-B)DPfU!&xFkCNx&6gIbt08T*Fo zMRLpJCuZ;3v4Sg%O^<6*^5(Rt~HA08Pb zF^xAIe7`8Hup+r&VYhAzPgHPX7mo$3NFzbx%=yFV--{WpET0@@u~euYUC_ z;N;2Ebkp3rbtBw=|BF)5HVNCe@1FJkXEmIK9^6@e@$3D2T0~Hx03pxT9ak|NJ#vhE zvKBz87?IBg4on%4c_UJ>&S2a^jyE?pnrug$56_VNHab*?pE;PBtVJc=W^+)I8jZQ$kW-?PL0Uu zQ^turie(h@EiE0|_)7gO6yFZIsv?tW2(3{8`&)3Wk?_XxB1{$N1TI`U1J6GHg}0~2 z(4T}S_50rUr@L1!U;l>mNPE%vXlZXxUte2)e;*~GI?-Bkm2JJpy3c_8`g`tv81B96 zKI*f<`|X)?$KdXL_rchBiMDl^fEcbY*~FXL9_bo*%;4kEikEKN zbTiIeGzD{da&q#8QfchiSgH3=e}8{Z`b4!{Ddhq>AOFDk>_@)3u4i!IcV2km(i;W_ z`U{!JE4{&G+l$5OfQ=J-_Uwgy`}WYy;@NK=0$jc#CS}3hxLng2)t0nzLkz91sl;{a zi&ep4w|wFpUXW23Q-e#3OU=Wt6zN@v*cWXa^q++{-Ds@<{;e*53(iiO13?@7ViFN3 zaxL33u(^vW)hLizR5uxkM8cUm*&Fm6O=<>fs*l@QHewdkv7(gF|7@8#EzL3#rXqF_ zsR$+PPZXc1SVw@Fs)_odjjuq@;==-arhU9CCj~+wlhvS=L*x6urII1t`Gy<%WOYDD zDe}A`bnr%v%e(Ws7BB$;T!onhI|&i~yW3|4^7rAu8@-ztxm5>YwJLX~Ux zr3;8jvSLa^XSF&G&mZ_Ikpto+)?I=X>KEPrV)*M1|D~I7rvLrcZ@wGe``$lD1=z!> zKwqSvAnecwYXc!>GJe?b@1Y$4-`~ZH=ZIgsbLWkLIP;dKqlb@>fc7lppb;t%y4tX2 zjAG&d#Pce3Ym@cuvIjJ?>LsR-$SD8ZFlIAE(1pBjFFf5e2dj=4@r;q~gd#Lq0*O(( z8aFSBwJdUYwV1+2>U2({uyEe}PS5ELUQ_5GxIIS32H@nG0~(qnt8i{xw~&CIKYw2E z`Lh!dqoEtw36Q`1+KiYE$AAtOTQ`M5v%%sy70s!5#&~s1 z=|dK>o2)mfY0RA)N#L)COarb=esvNgWXzM^xjg}jZW_N#_m?kR- zhII)ioxu*W8i>ayt`L-p<0Sf~>XXz!h(!+k{RQ*q!{SBDh?;`-E)<@w_ol%2r=}}- z7(dxd_&(rPSew#~<5pUuf{J+`Qo@4N$_fCp&yCmF=PsOpZ}0!oe@x%kpMNJk@_WDc zKXz~5e&cIx!#q_kRkvQge8u$kJDUei#L%DLWD8+uM+ZFe@Q=d2z55*Y5u8m#n*F7j zwh+)=fD?03B%`fzXk>sI{g8@*pACsKxWdwC%rtA0)vKv6|5keKJTlOK^}x0Mi$`*y zoR8eX@y{GD|M7=#S>`Pt`P{{CuZ!h1@^->S=u?!w`S9aZ?|x4s5v z&!2%i@7M?TKd=vOD(!@W`;Vow>@i(Zq#|O$UBs}0EIwns0NWNqR57fRE(p>HBI$|b zgEm1WlN%Hj3}B5m*Lj$~Uvd*6E$M|6gup`D**Kc6E1QIItc`@08~n6^BuTUZ5nsH? zUH#7I>ePou7}ScckXx95fr30?58~+faQayqux8apXitSP zHugk(Got+!bA=IY0>~AP((RoJQu0H#wbSEpg`i<(oR2 zfw9p+I8{DO_JH+kH^GV(YdL8#l!ulog(&nSp-d<&c=P=1XFmmd)0^g$?J8l$W zClT}96zFzU#F#q~F}|5BnH4G$Ae7xDz^$1B!(LSUdXKQtl>|IDarqsO8$6H5tD7E6 zXaO*q_=dk9DfW?sDO{e&jFTk1zM8k6pQHCERhxZBVV0(sQ6UK<#-HqnpHM+4Zin z4jSa-y8%3k&q6ps0ncJj_?%A)6kg@3#%OJu<{lL+ZlvOPs>NBm(myo{!fNHTLzj4n zo^-N!FzXn%$26hiN~vfbBW^J61AKXm?_RxTZFtf!=R8(=Rmi2$&7Hi-2u6LeJzy9Xq zk3at3o_gvnFS`AXTV8+D%nh#?8XR4A?dnzN>r2ISdOnVg4HDm)f~b;4dJlAgO;Nbq z#Q#QL^ziVIYwoL-p21 z@(T3#VSMOAAL@u_x?VO}tG)ZwiPL)!4J8*NX^0c?l!QDnz6oqtzd02FchK^4u~>p* zN6*0c__z}_Xh$#}E)P1h2lW%v627(CC`J|zteC76Ju`bt4dt z5=x?M-SlTzamEX<3qLVjDRyERxuayYU}5WiW>rw4=%E|7Wh)0;I*74Ks5>TjaD`i{ zdt~>BeNth<6>9(%@rhr;6fu)963=m^fwx)WCpgkH7lx^rfB19=8|`RGRiqh;65f_l z6_l!(57iK;e#ABawg${hk?6qBymaw$sy-1#g?-Wmwsg2?UpntHJs_1A1zyvR>N>j)J{|@5wzV!8v@rr@XEZ@p;iObHIc(!cWa`JnJ z7Am661at$Nsd9(5EAO|3&^w*}^~%+YRDoQ!Y#B{D!su{mR6Ts?5bQa zL9j_gw+ZZI;-N=t5H*u7Tc`FGB*&n=14S8mevv$oia*!*XsHo$yf_3W&m8hwT`p~j zqY~Y4<1Mgx^A-v1^FC|#b0Y=}v4nbD>0x1m%WKwtBzqZ;`CYqqQxmI8#7jIH6H%14 z8LB{23LjUY1rg}3V-BN;*Cg5hpx2uudu&+~n7|2*O61KJqTCSY~ zej+Y1G}WFVm`_|mShR2nMXoPg(9JfGHjnbO#`l#-v^x0S1{2uOY+x~W6EM%ACkvqk zUwIDhV}4&)CT8$NBWSXgpPfB>6b>Bx#uMpP{$u}?d+n=U^~S}od);gAZ`5agbb7k^ z>f+e=(koZ5nyWpR;ilcUQEK42wd?s9DZ}u{5Lq!0PluIe+;*Ia&`jU!$n;G8e7c|a zr`OXnS1+Hvc;WJyW9iFO<}6#}BOked{{D`4yyG36_ulo$&z(E-!f#%9;nE`EDr?hP z&@$sZhm1kv>d%(V+u*+Y?t``KR>GA_y>RBtdBCbRU3d$|S4{a9N)^>00#!pNq5|K{ zB5q1_4UR2s+)#-1fEJEDjSMfnaZpTfLBxSgfhe?Nt_(LNiIA)ralnC&`GTG(zgZFw zMM%d=<8VTkzSoS^QzZ6lHr*3`y1eQvdzG_-o{M0Tte4!Y0>=sBzL z$u=VdMKp+LR2aTiDTP@ZkOQpstcoZ|p#r`cL14+?hOn6NPWUsdG@<`dZ?t^;;4*Ft zF;snH89wIx#gmj8xNq-+>VL&bl_45{t1PxsoO_Gn|7KTL@p&dD%c&R|rknQC?iDoA z((oXV?d64ANKO!}7zC>=4xw$mw^{@(gvo-S=LI$kq0f<0K-2ewfe@QE?jSBU@}s{@ z0@_zGvqIX!i(d2)ab~UDwE47KxNu=At`|ekwQHK_7ZjgC62U@ItM4)h;K1XrTCGwg zTK01y=L&PnYqc7jIDVWaz22=6>09+aUtwN{!5Jc?Syb!f%X_2M-ZBeF;g7>8V}a4i zyD=F;pJDW(>mp}!uj7`NPTH+%jaj~<^7E4CR@zq5sM zI9a=%h}Li-9*6&@i^O@ z>t`@z9ZM4NS|=I%g`5jIL7ScGn%SmCR|k}F&DW6Qr}o34Bj0>1ec%`Vx%b<*zx_9s z-*(HMM>{&^{q$6Q`jN@%RO^9*&yx*9uI1cE5~mZ6F%rvDwF9Mz@{vkq?8wE7XD+i1 zBNxm0$OZHdPDT3fR<#w{{@dY0N8d0!G~8l!nKI7AD08Yt;L(Z+yL00Wx4_+Z?}d5u z=fTAbSK-{*OWv1eU1OFFI;&mKh-J1k`)-Zlw5SN$m;+7UC*QNHc!=T@JA@Ui+2}0aKuG&ZD@S6-03U=9u!6;t zF5b~FS$GwL#E@^TZa%N9nU;QxR5$Ll3d<6$+Y$k^qCJH&ySE zmRX69nzq_(<&7FH{SvJ#eFIlvVxmOfU$$f=EM2w|4jleU=3XC)E`0wFKKK$6|6yeq zANPt^JPt2?=}Xgd=mPw&_rL$URGzK3binmU9gum?09M0!WDz*Yu3T1pZ;68apykhz%)z~raHQ7PHVvlZN!q{IgZCAM#A^@y#OIjPA3Z_pbPNG zBThh@fUk>7?qlO)Fg7|2x8HuJzUSHeYz;dMSkWG9>1Q5z{w-Rx2!7>P-T^yyY==*M z>T~e_y#IgG^$Q6LNFBjzFIo;7?17fay7ZukZ7sBl=-(~OvfNnRCpL2&`Qr-vRoXkc zVB!2luoRDfv|ub*PAPb}+T?<593IqgPfQd=8X^_WuVTVLdQmPmAr-g0k7FiBWpmQq zhRubXylyZJSr{NyKJmmV`Kr>CbcPfykNmusU(#>PeuUb=Ml3fnMpv7C=wK>u49 zfB*MS?;0H%`R!9D&pc5qj<;I5ktIIv*BWmfFkI=w3lLV*Zn^1JxP9-Q^g=ox&Yrsr zmtMH+sZDp7F)bnz4|PCga9mHLK1D*#B?(u58*05E z0nF8BstU&rG3PkZ+&IV;X=x{S5cuYhjaz)0_vMV<-8LL8Cwx4*_!$v6Qr?#0U zGcVjCT?Y3Ya2D%9v!W0bT;f~@T)uV=)~?#>_H*Q{I@zxO0);1_h#_)^DR4!xg(hRN zU$x?HELm}irBSk0pnnp5u8{^<_~q%@DRMeN)TTqDl`FLh0c7~;(%BCIX#yG81K4># zj-B^K3WgwJ3^!J0D|;pt&@XjWb8E9ri0OWK-RqITeg&R+=9!E*mfyV|-Yjgko5P2m zRo%4KGt7@4Jx0ldZZih^*@U1kNfZoLG^7bIGK$#)6J@HHQl++`C1aMTo>j;VCU@Bj zeWFM)&})RmOJ|Fc2Ev>f{E7k&sRo2j>zW5+r6HKtvB>*pSv)I-j|De++3^`LeCON? zN9RloG}1jiAW*D7{P4>Z>*=}e=_KXEG1$6w8+qr$*|3FBEC-lMn*@^|nMg|rRRX{N z`|qK!D-6Wx?p_SP^2@&g&wlG!qJ`i&BNh=R5N8OO>!PIwX(CY^>8!@0+e6Q8(U zkd2KjWjx20P-S@~S%f6DFXEL(LUacE!13859~KoEUmP%=kmE*@Y3d}321FdM9?gLX zYU7=;8UMTn;8?$U7jY<%G)q&pyx{B_)oR5S%Ohj8TJ1!+GJdeH_sWrCW%Rl9Vb{R1 zLi3T2TtMgJAKtDX{pgoo(R2CQ9~?h%@&>#ZhxoL_`Y??!RaUGD-HVsPz4zP)H{P_9 zK>24+UxdNIA*#IM1s1;|5>K1ctZO)wr8){oVQ;h$Hypp%gzl0|UsZ^PYBD~~29SJb z&EUqtrf)NMC`iCvA1)eU4d>2C^~{lwfOr;Sd+CQVe&?kZy?q;8#WtS8ILuD z#j*$5v#K%Xz*-@ffDcqrek(UAf)GfefLoePMAL{_g>yuK2=VONuqy2ZipBwIK!U_c z%l38Tjsi_+!j%Mv4&!&EBG*-pg#6?zVhrC!ik-_8Hq-0Mu9Oy}3Rd zDHN$TIM0(HSSbn8OEK;9GoSec6pLl}@|V8>uYT1l;J1J0_uwmE`m!SI@EU@iT8H6u z4bL%?fdqX=SDHjT`ttomudBFyP%L8=85zXOmal;2%g}=1n9X=z5<8lopDM-1C~ZV> zhSn2;5}O3ahs~~%*f0xI$U~7fUW(<4l5VZ#FdtwVj#c}XiCo+}o`>bqIN5LRyXQf; z)^kk}heXPmD3c8fdoqSc`>9EJYI^D~(rxoIxmeD}zlV`iIKDr_KJmn(pMLVmC%^C$ zuYTjJu3qc;y>n;IZ^h1Os%V-5S0sXtXBH5+>^oi>h0lKe6L9e08o2B3yWysrcfih_ zo8i={7hq&`)Zysx!pj}#(p=Wk>P3hb%&tMOrI1B<`35zko%Wbg7;)7)Nqhw?(Znsh ziTG4D{2Yzg1uMC(d!siutse2s%XyG3$72JF>!x2e=FdX54DgjD31E{CU==A;B}uT*I;&Czpaha6V3~@biFw<|k~S`FN+Xa2tT>^<=s{W*HGE@qB9o9) zaS{mbrmhU=4L5SZHU)5kKQZn-M2vcin2Ld(%)#LvLf>HnAciIsz`y5+tI<*kpRu?c z?eJqLobknK^{PhSwzae?4_KT3(%(ftGOhyDCaW+o)JxTGtdbS90W}byW|rMRtIIa1 zLc5<4cRa9kNb@0pG$C3=IwB=q8dVea*2{#jU|MFemgR5mb1ms!I&0n5UbkFeHE|9y zGzD`#q3yGUgA@+mP^etz01IIQQR-hKeQe^+b+;VlpWia~*jTGp1QX!*Km%c{_fIFl zmM+ihpa}}N;~IjAl6PoWM&u=wYzhIrgeLbUflxIY>j@;I;{#M#UO2y-ytu@gR}pV1 z%AWSCNz}$99^LFpfjb74Enf*E!-K)OX|)k9Ynx$vMiNe9Y^Isd9WTzp<*K*|6MkZ~ zoGooxo(jYn=QN+j1} z&wz2qg?QT==|#U>DH{~O!-#a7DA6huGT3qAylw05RNP~9cLAh|M}?BmZyZ zt#Id^`(WF)%`iSzPKES2n4G9-WU7xHW#Lrt;+YyMxEdtkDO&mht6WT}WJnl^<$w;s zJ4sjyH5E2or5FhX)L4l2ju-<~rkTXS&45XhE6MJrfz=%$e9+Ias$)6HkUhFuv5uQ+ z%TVG5SDIrEP>~C`R+p@g6_=(VC7?)COOj}$v-ly!8>sXQ8#H+FQl&hnweI}sEX=sFzJIOI$|2{1{*#YoJa4gq6_2sbjs+y7@ujKhu&tAu3XQHo2n%^|_!*C(}`VR~!S z0w4I(zo5dz*w`5S*`NJyc>3utk^pWrrqb(FgW~CNyI>XCGX7F{^w=ZNHE%vO-Y!|P zjLySFNWtiwN7Y*Ac`mqBI8HBB`-N7{K~b6E@g{{8+;4cj!|S(9u#&)HmYD%^rJ8;& z=uVR%0Mcux*J4|%PsEdx)sggkK3}dBkB^NG9eCiO2jBJd)1TUfVJzANA6%pK`Vn07 zsPF>W2IKVk>*=4}=|8XLcl~_i73h3?PsSVG@Wfd9<##^%x1af&Et@y~!KqVcer#xD z$T&}2frKQATUqLs#zPn5oxlqh&q8nCHMsevJ+SYN+u`2(?|`1G{ctt?gQ8R~V-Y9| z8p2L|Qggn-r#?Cs>%^$FRsr~4S6Ib};qxZVgl^bL&`5`r3=4w6in!@8$wauii+{p? zUtmwN+~eiOpXgGpc!^z=%=+{-M$(Bm7LrK9eqQmF+c?p{5=cBhS}g|}-#yF6OOypK zxG{aq@m#YFhi=qNq4_XY3j9X2x;#ZgIdZJ6% zC@Pv96w}`7s0Oa8mx_(4IyF8a!V1MPZe$gv2?w#H?{Q>k2xgj7uyOr1+P=69PqDn% z0B5G4EfvKr+?1DT&q`ktLs)Prda_o9{=puqI%1=fOGE@-S@AVH-+iCe)wB zdK0ljCx?l%fuN|PsAw?3`4f?67{#WW(79-8;8mwc(@w8P$w;U|yLr<#_)kCgbMV+> zFQNGQcfIRf@aa!~3ij;TN9TFWRGx%!meOw_O~r9DW`WHA=EsZBc8_V$q#u9h-S2)E zy!NTrrvkkdHmuu{zWz=a9_~wDs|C8d7o_5NIjmd19#*ef3k&CU!{}%c5SxZ8Fi44U zZ00ud6=OoGzjFb+lX_IbWHqoG2H^pBo+JFd_3{gE6%51Uj27}_wk*> z1Lgm9=JeTzipB9rLOq;k(k-9jMP4ctL{(@^!@)z}h7%`_q~hT=xbx22;rHQgc9UB{t z(hiqA!=j^?Mlq)cI$@Y_BOdsQjB)QP4$=yxfn$Fj4Ur*kO~e8y zvd?mbF5yXnEN#1#u_Ty81dV619VCu8inyEI#dM>0QYaiGO{}caCoCFqTQzxGrr)I- zBe*4AaLm>AhbP@ypjrCtn?WsjzmnoK!z=n15jL}pA^M4?N?e>cY@>0 zxg)TodnKW;#JYh#O=9iN)ag0UyXlslc|RME>B1yK3}L|=^zi5aiTq_tS5WmaY@YKJ zX{#b3;-C&+&4-|-3bQ6}*Z+oa%`u)loBkGBGBRPHLHL7T)>hllEKjjw^T5oiWJf+` z+hoPI*U>@Pgoe}D4CzMBMH?&xiJx4f;l(1tI^D8Ozy@Mn(2VlA>9~=`)^JjtUc*D zfmPl4rQ_g+0UG&-<F^N|bae0<-=YhLrJa}PfF;LG0n)?fay-mCrZIez^3Zt?zVI7*?Q zO(Rx3xakc6132~{{5D*=cph%uvlni^{T5iaZWUa5;VKLaj=JT;D8Nby+m)-5N`(** zzLh4p#0g@{H|q3;Ss;&{U&>3^PKnQf$hAfyjZ*kcx7;X#++>yjJyV#vwHvWkaW%dT zUyGXDoXCpVZz>qSBtY$js5!k^f%j%7jIk42jNIrg`>3gUOw}KL55Y3N$}4G%Bk_;~ z;TMpx0FY19_+&?E98+($b=Hj7a`O&1?x=+$aW`GUW3gBk>!*5N6)VQ!Es-N9#LQ+D z8wx!gPQGRu)JWGtzGsYgZ=v_Jbm?;1_mh(q;`2&JJyoEo!rQ4f5sDed-|y(;K!jN9 z()fE=VO+C%1K|fp$4AqBHw4|O2#!oOZoKiP^tEn)ndzou$U20eFIld4Gs@}dupnBBCIO^Q^vf`_LJS+OXe`ey^SNA+-ZaF z+aSt3Nz60(-8~<JFeSGa}Uu&j+KJxB&zwe8Wz3kDSy?p8FFI_nQ!Wtq|u+U8$ zD3zAswd#ZoRO#38@)&&e>tBSkXHUWHx9x>pyLZ6qwX2}NcM!&kB^GAc1TlYIOtL;p zVLwY(H~MG6Sxe|SV)q;|MW&){!!o+aP}-F)MN9AqHhS3tB#nfczVII8NDxhT!@wn7 z<7gi)-O5#f@%wQzQ8D5ooDCxYJ?6_w!=eaURX&mDZd;??NsUYvwygDOT+;92it9T-6Ype#pc>Tf3SM-vSp_$)$1m}QgD5G7-S-aQr`0Uui?7-DHL86ust zKUlTmC%%#`uO}-ZbSNg-X3B8YBt!QI5pYI*)XL>9w9sk-u13)653ji3WC@$hrlw+@ zp(M0c!jlUl{TqR>;%iKOYLX`YQOE%g2qZ_3?1!Ff{jhp9UcUxl%eF0W?C5bQmrHbx zpe3Y1c)13>CtLx+ro9#>v$S$*A7bFple~P{a#)Y{i`8pj<%(6Xc+p}PdQ+c*a;X9* zkDrHPsYJeY*T@%hkB8tv3rg7lqExhKbz3G8x=nezx^teb7`mz!Lr7n7`!n&rWnDe+ z$%bylFP(5V8n!Y~nVFud52rskRj!O*yxMc|>cCL{bE#N9`H!hA|6|A5vqw*^UAsOx zbm;j=mOVn`riA~5V%nH&zd`!`>*=-h+xeY6AOD_4-bDBVGT#37cQ3sA&b_~V^zgBt z?d|RD@*VX;ckrsk*$WIW_q&_r`gNP(p1bdct=l)jRBZ-QK@Qc4NhgvDVZ%^parPBO zNpq9vYq4<%PnnQ%*hoXod`${R5&t1R4GOhb8+)3xyy+VHT-3KV269y=Z0v~{aVNnk z#Efpvc%+`?Mj(mq=7vIQ?1^VcI5$&q?-;F4j7#%l5~OblHZ4vB(-&6cJZU$(#0^T^ za8claUzMs-p2=;4W*}p-;maD~YoZ{PP8tb~HVuZB0oOkm1)gGGwT(2`qQDg@=6{>W z2fE13E;!B6Uy33Leb^3*XQ*-(k~@HLc!)!E*u-fP8@P%=jZ!Em;y6?2)Ybm*7Hx#)d##PfP(&^haQ__3CL7iRm+Ax_wa^) z9im-W^bR7TXE#bZ+JiK^#&AU9yu*}6m}QS(@#^*`(>ZjPW*ZOban@+1**_+l^FC!B zOcPN&J_{zJ#$^?Q&bjnFYa?Ptq@HX8eg&hea{;{Kv8U*{zW&Y6K;PgMYA$up?c$@+ zV~>+1iE4JA(R1a6;^C{O7N#0Cn3yaw5-tgRv)09cr|Zn`VdE@{=asA0!Q%9|!U*@ZYu3TG?b~7VrcJP7#R@vEs}nUC8y!#o zl%P0Xg4&czMx+2Hwo=%{2EDTWd=wUbh`SV<4GuaV8V$Bnh%LjT`|x^0D@}43@-@c> zymQNGk0PWS&1qY$R%Rw9E5oJI*r`&bcyzope0X%U|LFAeGHQr~mrtZM$;ao61R*gBkU-#Z~EaO5Kw(E0e+8h`)c&)qUOGW?zs zCrp6SFmhN<~=uKC%R{NiIoxun$3- zENC1nnmgTNWV==(i|iLGvOF;Jgg>x&DugO-R6d&kCw*<8)JAr+Ug3S^?wQyjiIZ`6o4c+7lTZ@NVHIF=XW#j8q zl4reO#?}xv8P07+46EhJ73L72LkAB+W2O;svi)%&?@X;75P4>{^)cP*=MKfXnQJl0 z3jC0BVlrVfBHrDkuRy|bvR>9>7*`n#r_9BC4xmV$KW{OKW)#}(Z7r~P@iJN!x_J3a zdR(-_&%O1X@FySmLq7rJV^RncLhcZh8WMCG%_(eXOaDHjWFPrRVlV1UkCFfI<3A0z z?710g^$9qz{{VdH%bz13_3BmYVa@8buxZm4*tugDY}v9ImM&dN$7!Wpg<IDVxFYagwe$+X-qb+7qLyt>iLPkV>n??W+~y6&-2S&5kn{5eDKU>%1bIL zt>QIfTbU>|YPITcu~(*cH@4xah^?H3r`WYfW zQIB}_z%oGXbIMFbcn1frIg0@TeagC4t?sSi2>2++Re0K_W;;Cy6ahfz*`^qt#%nMwcrkdY_1& zqiFF!kos^ICzeZl@uFqvW46*hX(H1-{oO|%d>qD7F}iZq3K$w1OeZs6g}#AH zM5tKMwFs)UvI=wqMuRnGPi7nn(7cO*`OquYEJTHC?2RjXD~l=$T26qJh<7#%A?wNfSFJcU6gjfPg1fvFQtAA?xqvl30W{KE&pm$5L!A==yH@diaZ+#=H~3g!e)c*9A1pedzIyM z!xcg&`eRT1VD_r;wSD7Yl0l4xj8&spJMdUMZhUmTjb=_G;%t8{y253q0|!i6RDlsQ4JfaN$zCR6kKLv@rsYNG;ZK6Dx3( zb_A!+9EJ_+w?OxzlN=(oBy4{8$}c-w<(j&-&Z6sWCjt+0CKI=K0kn_>I*t*|J4zM1Km8v8oCIw*+` zzjk)D(=pK1)dijD*TvlnVQi$F3j7He85)OCv|toVsd%2GNwcGHG*~1AUjJ|(EO zKwQwhg4wN7F~%F*^5v`Hw%hi?O*ij`*7T-0I4}a^#Uk4_0s$Q+^s#W&DmMqKkWabk zNJUtEbKdAgMKxBWMc_KmbHWyn!1J6qagAbH#C{e@6=%>?jb_6~c_%@vw}@waZ~UHI z)jQ$DuY?oIe8o9QtTru*fVL`3Y_?1Yi8fp5a=N7O1zu;NS$Ge05aF!8RhxB02NB4| znpxgyF93}R>>b7gLORmN3RX(29HD3>%pPxBJT|cEi~_X4KIn`fCq$eGY4%ieIs3xJ zlQ1=1gF9|}K$8|-16Lbu`CJx6VSar2_th&l!pk4~37VLG;xm5>L!-Sgf8HYKXzNPF zTm`0PY8;AT;nth(h4!|2@X!N~Kvz1EK62y`960n1C|AeQ?|1R!v!QPt$rau|p7?+r zjc!j=ydq9;*^(8odD9lyvSkbG+O->QxbX&9xoSx|p=zOX9m7x%88=a_Yx*SqZlNXe z6Zv%8c67GG=RW;)IC=7nZuW#&?2)Ic=yq{b8)uCuaM($rt1fz;ve1ti3o3M-kaX@Q zxrrh$WkTy4=zMi~dV0#1tHt_sy*`ls&gs$dp$k{8T(~kcGWdL>Q9qSFcrw3ZGc*!aK){&IC|)c)HiPn>>pZ*NbF+^Dq)F1Xp+Amz<67j5n84RF_;cc(YGZFFNp zAzefv&G;$_QlJJsVIZ^Mbio8pT*S?onXgUtgNpEVRc7a9MsFpi7RJ&5m_EmJW7-Qk zu0+f4N=2Fkvs9U5=dX@A6hUtED8x~$J0ag-aqQlwB!@Y%4eaxbHF;1b1QKy8KJ(0M zgqLS|u~|t709kCBkFxd4#k1>(QnjQTJ-<%D6f(>7Uih*ApCzcI;;jDJjDU``Qmv_S zA$i4u+ADBBBc6_$52XpwgyO^rX(V@acC=H2p|e#Cry}|k+;^vI-a~;*UhBwV`dY~n z07P8CV}`1Y9rHNFF$t`_-qVcxd%QSGRqREJmZV~A5xwtHX#}1<@I_sg_ZcRZaeM9X zzymK)5`a{h!^S4BLT54E#1awo6oe}WVVTlq5*fpoY0HzvCLB6+kU~Uc0;Wlpk;#^l zg$q2((lNIxoqZqOi&wypzWgZ|9v*^kKKC?b#cvB*FVb@gn`rU8L1Fs9 zJuipn4t&{7DARLb`I0qIoh<3ZrZF=`L>;jNSs^cg>ya=)lNe2$v7aFQJcvYGxS$)> zt=j}!Hf@JpJ9fk7Et_H4vL(>f)d^_9pPp{OWOWis~X7x)p_ zqMTdE=)|PGy%nDM+97!M+2`4N3-nnFg-Fj7;vp;HhR>@Yy)(N%`Kyh6LnbFLO8Amg zm9<9#{DdssPN`Tf)vMKV|HNeZRH-;}U~qKkXsI-GI^E~}>4T>8yHY;#kqhX2{2Lm7 z{KtQ`w=tc(@7&q*_oM>Y_$6syJ=Pj3-qZ;n=6uY!^tf~Tjc~`lJ7B|xHRL($?;C>2 zdd)T3i+3BOjQQj*iRTq-hX`{N0Z8bOW=HW^OP9S9(y<0dh(FqcZG$GaIg%%9 z1@HxFADQe#y>onA?e_)Rrm-70wrwYkZQGuxNgAiI)ikz^iIc{*ZCevNcl!Rm_ul#Y z%$d(T+S)c=fGU_DO{onzqmiYbYs#6W&klJ;3k?{ zAY{{k_GYIbOu6sn^OQ!Qox>81L&V1NL!aH3LHOG*Oupg8RAU33=CF92H*d>t z+S(8jA#}gt7~?xfX}>6pFw^gKy&t+RO8h1~Vj2Bbv3|yF?_pr~zTR$&LN7&yT0DvG zZ(@$9_r(EG|Ck)|Y31(rwPIejR0`lWTS|sMCg5ulZcz!&?KV!ys8D6+07mi%azcQXc%5*eqV1>)b|ezo zn-vhTnvW5oI5)z8$EfK^CifEg4^6=r`xl!SiTc!5m~gu_x{pQD(mpu$!QY{l)&lX> zZyzWxZW<&2dza$5XJW+fOUz}A&Rl>BooUT-Yrhj}js>n77Wu%(_BxehQ77{+Uvtc$ zuV~^{cr75=EI6o1A`Tdt_!P^HuE?dyE25-X4JvvjmcsH=&|N8TiYme=`UEVgv%XWI zOl1D{-RT3_vNR}_6~XO}GxPFi$vl8VSWi7UVa-MUyS@Yz92x>Ccj0%pv!Et292~Uq zM+ZC33N=~s4c?ON8d32ySo#7%qcr20c6>_8ky7T$_{CPWZ|eS#-36cJIH9JX-!k2h zH5JTo%@`_4^vsfWl_mId?rA~Ze}WWYB3Z0H&<6XHL-fkWnYttMaFP ztQvv3x@)Wg9Q7OtYI057C>+5xQZ*8u`H?*25UI}B#)3_Xtg+q4jFDSqLh+fFbb&Ov!iuz^GS156 zvSNVO5~rQgs-kuSy&O~SgI`dBJV&Uj;?b)A8^Z4>04nFqUXN4>K_8}@ppqxOkTkwW zu7j4`=#B7MQXPj)8b7A672o!41i-|(6}o>0m0qs~qZONptUl$j5~)9)O%%5uNdZlT zMX+m$k=?J%lnRktgZv_vinNG^-s^(TLdftuuYt#xT4dSW9psKI4Hb|RK#HGSd%Ivea|nSmWF|JeV^*T zQ2s@KOU9whA~6m{C%sb)YuTfLCdj&#Q{0&bZ^p+ds8u;%Ry?u~vaHtg+I9i*KfjKR zjRoH>T3qu<{|oy4E`}KJg~)eL4L3XA*HR-pJ+Ajksi2=^Z#NPUaS zB%6^4G#LHLRn$G8fd{GoD?)c7w&nYjHaGnkd$E)eTyQTa+cIbPG7uJaZRjW|7TpKX zv&&%$5JaTYyO7wNIwuLED=)Rz=%utviQ%F%M?RQijvkPcr2MooUgq{}v$od8f9osL zlgsj%OiS~NH(PFB`imo$lHp(M^v~;}$^Gl_0cz#_fdnk4ygMn5QD#*NG3YJE+W{0o z?Y-g1%Y5*aj1U{#OfG#(e}^#U1|v4}i-5N%&^lx6MaLk5O#P{ih1@}TtA6T4u!-`U zVma}RF?ChzTh|v9HvQdaf9mC&Bp$m+o^9$n7(zZgPJ6k@KwlgJ!VvMuzZ{N3S5NFb zEO4R7gjbkLw>P=_;2$K$$FPns)}marCuj2*Q}uWZjebovJ3FgXsnF#Pgq**IRR0jL-7xdMS2<6_MB>>eXMCqB5;HDJg9ew`E%9gm^i< zbBZ5&Qh__n5&J*>@4AfF%(-z|2kl^QE+_bUoX%#0a~mcD0?*4*)#7Y$37hj`;JjR@ z2baDRN>#f%smqG*lg^6O4Z<+W@sEUL?X;o_ z_*mfqB|pr<21)y1(w#E)_MZtQ`nmZ4LXKP>F(Y0Q8>MF)b*1UFUs4=BDZoT%O-S;I z*Vlg2Qb#?6byMVQuu-m}$0tJFHQU6xwCp{N$`|_i*)vy< zz+b2R3-7FSPnVIRr|(@sLLcwhk{d#X-!?hiUQ$4Miq9QhHe!#aFy1e1lI!`RLPP4a19Knh&CmKGOb%mMHpe-ZfgIC@n zNQe=1t&HJ$MMlxIL@X9G!B&5oLqTriT7VdymYj&Zq2S_ei*9}u&$_cb=~)sob_o+( z8OM)aIEZYYt^?>%m>ZdwDO}T~jU^&tKo&5>|0bwY8lA03^{H1ltNLHdzNaBNFo0lr zwixTZH;dBY*m2liteDy1nR=kxO&_{y3dH=TA$Fi_I;KG_4YFp5L3E!Hd>aJ`A$@{oqXrsS0m&Rq0T^EEBL+~QD!Kz-fpYS0% z10_JNIxNZOfxh=ioMm>c&^-{365^IWg|S=^z6#2PTsb|hcu*%xZda`m-Q(1$&5r{lyEJdcOsPvueF~J@Qi0XHb31Q^nxLE$ zDH*$y<>P?dYywtv+|ngkb#2`7F3(pI`(Ecl#A3zlAu;z^F>qDOZljsN;3bW#yL6Un z`*B#*@#%yoB`wQw+@o{|S(DdHyt|7YFFelJW#{nsSxs5geVlr!mO-7x7rXV^OjKta z({`(P+qv{qdtsnjfJ_Sn`n(P;_h}VS(@s)ZDflp4pM=&O(qhW)SfdvHB22dD%5_pQ z*@(0>Mf6u}-|)Gu!3!C)pKtPS<2i2ox^k9E0K--Aq|g_tm~2Wu9Kpdkm-V8AXf^ue zXWIE0AP5xyyBJl&|_8i~M>%)}(IHJ*c1X|(BJUB{+sQ3>^2#dKZ ztw;yftjkE;yOG)^qmtyvDm!3Q1jrQd3(4wzarC1g&0Y`Q!dZ5!IJ=MeTeTQUN=3AN$x`K&if=;N0f*7bZ^p^uo)&?&e_p z$Dt#>WdhF=PLC;qvOCes5mgA2eusPBa=m28fF~33-CZ`5B69ZR{~KK&?izY~Uj-8B zO+iHZzK<>6eBAW}BiyV-Gv7lfLZ}6dnD>y-Q)eAa>V5*ZG6`ID_=^dqcZ)2Q*=oKR zq0xnY69SgAb2&+KIT2c8h?P|0MyEW@Fyiz(<(f_g6is1jw#Ot;!W5DVszDKn?syLr zVh;e}T|hFb9QbrgF8K=e&a|Y4W$SPVPE;uj9>7e;q!HedP4%T(v?oAAE562+$e$#z zJ+^HX9^?)Oa5yY_YBNJXmMl1HSP)$qhtWxvV@W+z{?{+`?-i@ru5&Azpf1@5QP(_( z7Zkt5DZmOUR)mhDdwVFMr}Qt9TRhzGZ$fXg4ng4NZsl==m)+zNLM4OK%gi;90V6f) zE?MYPSZ?QQP=2?Pe!_IDS`6);`?$-QHVwm3llbX6n2|$+F&b9UANVos#wE1vM%|=Z z9d-@*Ms^#}c+&wu8xDHC=1;u5D@PnG9k@>}eD;*sj!!9Df5Iea$Z4Uq4C{QkfzD5I~ zg121hHi@YZ8T_s%4Wfaf!ExAfJ<4elzad3jN$}?>WHrG`&kY2w&3e3p@yno&tnWue zIL>mG7&U7iv8}no6&4s7bJQu#TbSNZ7+=BxHr$al+4Jx{PTMTI$4X&aDnc~^qG?#t z!gbN666I@xzk+FJsh2D*j(!l^D<UHWbQdv_X<HUT`5UHP+CTsb!E@HOy1>x)CJJq5W{|n5`NI508%9sb6n9s6QQ+1B3TSIox?JdSjITGiEu?dNiIgsKlwggx24Pf2xmw)Aq zX-p-o8(>4@*ab6Xs-)HAB$5|dBw?g6t4TR~XeH_&rEaOfBrBIdyZoy<0iN6YT*ONZ zwCiju$tQwS5nu*K)l(VtQe>j+zM?^wa8~Kqv+`^v5T?a!9Va2>eMPGHR+-oGhXYZY@)49-_ z&}vkp(k&|ZOv#bhGW$SNQ`5l7SS*;BV)O~wLX}d)&3N-&3(y5Ee1T2rqbHEg5;AAg_B8DJ!CT1bqIl*GhLSpo2!i^?_Nomjv;PR{2 zH=5P$8=}Lw2zN5Dq;HR(uqm2cg$}{}3Jf1bmBdY*QloGn<$&yO(RCgiVe`~dUi;)x z!1F0MWuCqtVxew@MQ+PdJ^svRf|%dBQB~<~_E&9zzNp2HDx|r%flnDFI>kl%s6PRT z|JH*KS`_>Tb68N)u6*2YY~?#byn%W*EBB9KR>%lh$RAWtgW*M{WIMzD#cHr4$N*M0 zHn#dnmeiW|h6H*6YDeAG6)TmHGl%E3cv&g>U+GrbHFagJA!uKL-)ppRiw~XL@D*R; zhI{Se&nTtexg$&k%h1Zl?RQkM@J+3ra^ZAoPf!TBq4|CSLKoXFq@S1hd_l?j_4Vw_ zAd4U2k#OwiFSG}<_FSLne$2`uTZ5obUoLR)P)%&VFcX?W7#8gOPv~cQv zwtuqOck*`5r;}iiYl@cmdaHIg~9`;c?(?5DwTVY6Z}xXJslaFMhQ ze2=-d=ath4TmpNb-?_aWeY5AZi!+K`w#=kn&mSI-8IQurlcC~r=TUG;D9@IU-8PX8 zS9?6-KrdGrevvfAjL)fu0P7kTprKKvks#%9ZpY1P*X)-B$E~A`%^Dz=#3)gNmzNws zTznDi+}#d|lLOMh-+Jj4t>C|Py5ZcLt%OqHSX(rvU0PUe4R^1`;;Xrs8g)6Mi=?(hu1`kymDz7GtB?#eW{)A+n@59{oUeQXtu z_U7kX;zh6QJGbbK{9nBGA2nyw+#75GtHq1*GN*^(Jaj9OF*9%3e}y`vI57jD1}K(!&A8lUZ=ea2SyF#^FpH=7D55sl!~9d7x1 z=C%#ld_V))fE0ULu9+>a#CR7Su_fZHF`pdGGk)-7n5$b_oQGSyp@e{V)lP}L@q0%7 z&IyEg;iL8b+jFz6DXDs?GV$6vo#aOUm+uL=5tl>Oth--S3s@Aq@2c|f&=d2c%O)7U z#YY?J>geR?4--I9V})+rKK0V}?6U?pe(76W_qu$$dVlDQ%|aQhoAkvqcp6FWMdDh6 zN5E#x+sri$dPsa&c_~u&L*(>sNKMxQQ4B_qkw;NP|2Y1=e>ITpN!NCMxFK^18;))G zKErl(*3IzN}+`YUY3~;tmv34#*6-57|zJcBKHv^52d>>>?6mnmo^Knm~80e_Mzg+V9xe7le zg_=MnJ0}fc|Gz~3u^8O&EFJ|HY-1=ClBv`Q()7DaMR8be-1oy5az3Ll&Cd@>N+v^( zBVChUh2BFJ`tJ%*_qK)aD3PbmDsQOa+YK^2100 zoU4KQyO3|)d0E2>3q2!vB)((u$ViZHSfM$|JDPD2X_$0_BBrOJvn*|3<@`Duws7G< zJj#g1iJ0Qt8mv(5k|t0>hLJa^xV8RT=F_~Ljp(#cXfz7Wnlh7qbQx_jsRQg4gJ<84rKybaZx9@Rn9XY#&mPTvQQI zqjYd9qpu$hPrgF|a^4QGKRU@!#N6|`@MPh?-ICp2*(V{Lii(L*K^-gf?`)XNQH%B5nL#WFmYWNETi8 zSP^4~rp!D(bY!Gg8f8eWsRCT{+rJv>Y6vV0N1KqM{ompIpFsbG+2G?@GefGA|9%_A zZzt(}qgzPe$I00G?yji>?QfHBVNsGm>m@PTpux!At6(NyT(A>h3jFcktpi>AUoeEt z2vz#0p|Z(UD(c8kWs#jfOn{&0DRq>ZO}=5LL#R3t@VM0(`=iQ|b9E*!u^+z`)P@ET zs`m}U5X37Lm2tw`D=_yxgzc2{*T*%ZVX<827p5r)xL|zRk*Q{h6h&j!Q|@0Rm06Y>}ME~V_Cc}GkTM`X38cY`rmhOg#tl*(5zoXH6XMkssO zpz1>vJjJEiE5wI4t+<~(Z3{!rpa4liP_owjluSO6S#z&o-gF^ut9ER##15q#J4uA8 zeGL0v^1$0}UbVo1JSB|P2hI_ZoH&5$JoIgnNRCSrq3z5(Hcq%`2oz2`IPe!UI7QUe z8=fN4X-~VDv`xT=2nspm`-R8DPGODln}k-KCjs>Ux#u*Q4dTQm>j5Hc+z}!L&jx0a$%7wOIGD86BVdDqU*-{IpMz!|m z!%4%C@8oWBe{syB+}tz}V}2cKNfRRML#tj!k8wY$Ld`?kzSM4-pE3&Cqt5_E$K+v?tqbJpGQG#Se*!}fE z|D6MMYo?@+t^*#A_*jct;_OFaiN&SMeWEp8bSUYd_}q@=WKbziu%g#k7WQ!8l{`Nd z!_4GBKCW-ZQy*e8O`I?C&6ml^UjW0IXK#0JOqdV{jNATVRl6{kfdHe9MWD zj^~nSY;0;qMv!P|R^W6z>D&9xMPZHYA}6=c33~?L&jk*Vfj;0odi6-AX+aXHkI1bdNpSuIj9+5PO;^PU-TxFwAI(@>V1Lwh#g74;%7yc82KMBCT2`_)KU8)|V^9L0= zj!zQHN0s<-=t$;!#5v18?|U&$GyBKHATI#{TxWkxiR{+uW0dp{C-j4+w^^vNoJ!MF zVKO!6`)#-=PWX`Xd(s(O;>4nMxlPkZIQ*f!Ev0FrT27?>4iCD;@UTtgCBY_CXKp73 zV3jeN{x;P0;-lBCMdJjlN#v5BE>s5Zk7^c~xD(dr>Qnj5JGW%O&ske>ns|ac`x>i~ zdGSlH?ZE~3*e=`B>x$1Xf|mZF9i6Y~56Zg*QFpdYUFilNvSQrvvbT2iRQ>(BgyOKi! zo_p%MC=skzT}T+@JLwhWO`6SOMcP?3Q$dR;Kyds-bvzlZ1{K*)8 z`%b|=o0XgIt8!mev!tFY-<3wF()L-$&eVZJ{?*UK8H(=e;D#yxj-^ewPYL#5tEbq4&+6!7E zCIu(RI=Jop8K$b+(EBmA^qE1|c=!4IO11j!N$pQlv&CpY?+m7_shgRLW06657A_&) zh7h;o-O!fQ_hrXKb>6S1>GDn6@neuf^DSaudIXRB}ORlAI@uB z34a!2px8kCIBFxuA{ieJ(o2ka;?dV@L7&qKE}-PGr~eUc354J0zIWQh&=*m+KD3Qq zwmfeX7m*LEdZq_Xah8llhAyMZ_aRskHJm}YmY7#QPZaK?hv!gIx%@%uhn;XFdLb~s zt&hFC?^$y%%!G4dF=>GkCUx3UnOAV%B)$g}Y3Em?)snI7 zAYjploUhvdYHGhbcf5S_0+Zo$2aPK39<{SGw4TTfLWa zbSlO57(MOF)4PR$Ai5fSdl-`6Cda=q9bW)Hy8un=h&Km6aRDkp~tH>W0Yvr*d2i@zz(zT3_S+N&fS zw^c#aIQQc&)jDCHt+;|Yoh^YKu?E)U?s96U^&fFv(+dj|CBnU9hqoy426iE~1i{B6|oy-NQ+aP;uhQo>xHorfx8^%FSSqHFAe#t7nUP_hjgzeS7-3 zMKtjk@#V8^tufVgMn^55B*IIXlhHD&OBVS}OK~)-swIL(DPHd51UVHYC)+7jJg%o` zLHLwrYrg|&Hk-;OH?!xI4sa^RwdlJcP$!B#ildyXX9B?0JI)1e<<_`?XbYyGP24M_ zEwNiTlA0c&g&=tV7-Hb$ld_j;Ibeo16@YVd88EmK36Lphcy?S(CS91%#Bo8Cq5}^B zBbQnLEZ1yXlUjI5MZwq|qIjoEsgGA3UJx(148wu=r#a!jBGuEQF^&fmFVSWKs8rF% zmW#s(*fJ=E#_Fq!qY4SfJxBT)F)o`BpAT|Ohk^^l*3#x< z5j_8sQ`Qe9iJxOQqFZ9ZO)_Z2&o0h8zM8XNcEy^q*`v$e6*`^ndz@aTWBrb9*v3;0 z6+2z|J6ZojhyTT+@v)b@?4fuRn!@QQ_6}LI$m_ zUM||P7pe`B5)xD$Umt1U$HRCY`<}8YJ@XTmj60`na-#!*HRt*UWz+ia1Y53lcgC=PNsYN%b}+V$l#h5(5zti`0G zU}OPAD1;QcpC%Lz^}wJ~zq<46+t#|A`9G(|-%kT#chaXC2H>>JxhKY#4?|M0^-mE8EAWq)l{qxHaTo zS>3!z3=ap*J|zAi78Hl~rD&_gAQ(-?~6=%nF_M&;R;+L}Jm)h`Ue$|GKJw-&tFhNVu|$ zhTqU3ql1Wf{{5(gvlIJwKwM8+IHdk@6unAql#e3Y6XPir&!LnXJs1hse%F92+LaF*K-HNj$z1&!Q2>ELWl+Qmt*P_I*R(Wh+V7AporN$nErlRmkQ=*e#7KqQ|s{ ztRHj4GN#u+sJG$n&VUq)UWx<&kj?m@Bb$Th=GD46lgh^Ajb#!t$t>QPX1SLZruRnJ z;)P+y2gZ)bHFTt{ko<*>s78Kqb{xmSPf1G<&lc5&XLbCprOM-6H5zIF0J+9?9EMJx z-r_2`MNtp(KC|4mtXU5F1hX99w1T+sg3C{R zvF~$C_(E>4i;5o~=b5&4W)Io}n?LNT1v)m*0T;_P){K9b&n&o(v2shUa`PbI{2|3{ z$|b17*eipizUJl$qso&7Gg;$xh}bPCgkW1^yfgcq|ctwY#F`s6D%Vssi*9r+3nlrl@X^`M@18U$PnnNRFV2-9d(S>EKu||&$N-+w_>{CcT0B-4_ao5Yyg@o`H|r2 z{<@e>RS{l;3R3a946+}mVlHbX>SB1KlBn`euIp}Nq72s=^GE9RYudGCx{to|5Com{ z*|ZP0x6@Nyu+hn<9x3Bj%S60@};%X(3;C4aw zVi=JzoU(3hNl#Pj4>P5zu`}DfKf`Yr_0x*?BxLAeughOXMo6lv`fJffW(Kwq$^)VX zZsyJBU34C6(pl0&F&f+4#o>P}6H=X#jm+XxPqKBkH|NA8p_unTCI@;4jJMbGX7eiL zspw6Lm6f`{Q!tM|6$IB`$LspbB*9W2oLMoLv5W>LX}g)SCP* z_4QmWLPE?@pZt7u7snk@c3xHm0Uw{aX-ZLVenUd0$lL3zLa`19+Okv+eC-NvWl95P zHsdB;S&Nh`j8RK}#wKGf-oNvg1J#y;NqA4YOGSOx_CB$R<-roAdqt!BJ8i0CS(BEt zv&$mBMQS6$^j|)G`t=K1XtND8fO4sCpylV}WPOYtlfdTc{+#b20Sc}jDkFya!=$r! zA@E9^xf4zhdXdvUKsY|hFuk(UdM%JJY`maq#M&}tFvpBDgn?4$UXl*=Cj692HX7RK zA*EP{-9S;+X5(up(C}*rM-`4FNh*EH4fX9u@a6JvSzEmf+wBq1T~98x?KIB{(7HBF z1_r3(z)*8%Zhz)sPoo=-*=qFyF{yBIaa`!%VZ5#0vA;#YE-3h2G_aSQo1450Xl|CH zw`IpEa5pTR-keRTs@;Cd(n2WHr*a0G`(b|kCAMtv4x+#}FejOIA5fC={jOPO-@!G+~y#io^#%$8g{C9Fh|81}y;~)bLp@BbmIT7b{!`!z#Jpc5& z3NH-aub$A)^7_R!v`iYQ{c~45;gDKhhk}urXaD^CxOf*OyI^-Pc6P5@nUm2=o5_kG?3J+IBD{MVEkjMvq)uW^oeKE>c*l>y)OD zBqQ=Oc!t#ZMTF6lZB9WFVPPSthjbbo77qM6- zEp?HeXac#+goW|jaKJe(7D4HJGW1-q&QeS>IV~%}#^g4NdeJS`9X}Iw!WUIns-CPo z7&DWq_$J9a$`p|J44S(?Ir41P;a}(|x&C`6iKRD&trxm~eY~FOdFRZT%#$#o*QrI1 z0BplCC<{;i1|At$tC~yq!_1%078VOxQdI!{_SRbGNd+I>##LZWAq9EZGGD=qu(t)% zd$%fK3?YvMl>)zggNRXm8qU3#nmm&&FIS7dJv*O&+aoJfiv zB^byo-!&p52GA=juvNHa@j~kZ-GT6q)-)i~EE{bY!uo-=QfY4^-=b?rHpPB`6cE3U ze}?ixVVR@(ZAVy=%GHgsq|@P7NT`Ik8h$n-3NqrX@CWhT?QPf@Kp&5hwZ4HVH7|wV zxT2;4OPNuOAA3*iq@&;N+lhRP)aVu#%KDP!%_he|d*eP@u6bHVA=R1&LQ(5&h+^WC z$icl^v^s77xu@x2>*f_Umr6OEu5P((u-<`QV~T!&7BqNtJ|o%l8u&i#lWZ!!Za2`; z`FWqOG$;U|rmRhM3at48uyhLgaIy8!O<|6~v1D#Oihyu?JDiTb>`Wm7o7(2OhU@5z zt{r538e!zk*2K!EEV0Y9Ci5X8_>rqh?`DQ!n~g`~G2#qR49}q11@snf ztMs9^M$T3IY@5m+nZlkJU0OY+#7vLkI6hq(9=0cwgW6s0wrLbjMDSRkPJOcKxU0M* zWc+(~$YjuVg{QCq+_6UJ+YvNO{5+PI!ofJQa_-i8IOXGVvPaW;c%|RN%FI_MrCDvj z7U}CRGd$(HZ}ohZDuP*5fg@jSES7sKGJ0HJukAiVX(IhM@RFunGAA9yyo3G5XLob{ z9-Saq@vS#td|J_E0Ly7yJ0T{ZJ^cR-$Wi zqF;SklaWxWSypIPs+TgkH>(QvG*m0y!zNDp{OOah@RuvqtCR8%=aJ$4cTWq?XH%#} z%<-wlDn$)nBLXLjbtB>}h$KaGlywiL%=aVf)|U&uAnvTx)Z)ZM4jXnnWxm`IyT(LC zO<3#dQpf^|zS>43D_Q89{p*}7Ho9q?5;qZs+I;ga>TyxI=6>=uE)o4En&(y|MJ+x% z<=pX`gcr{jYe&bRfk71b>RQy1cAvS#BUV}O4x6*xa3Z-Tv=ce2JFlx%2UVnyX|z0Z zmwG_as@ZR57f}*z4UBATgKBv#lf1@0_mxnEl_`%6e8!`nZjHkXSR%j-#zmXN$kerk zCo`M<9t9x#xmu>J&II^I`8V6Ii2U!5yXV<{CyIhRe0&dysj17l>CqCWY#Q|0!)qon zUwvfcevm9?9u?-J5Eds;DNZpo$*HvH<Gukwl2 zisht3<=a^@L;~#(6y<#+zD0dG&Queadjn6?)08 zyR{8dtO&sx=@?tDjgOa!lf~MM*`;<44u*1;Du*iRi;N2=`__X_RU-epK({_punpXE z9juP-Hw`m%AM@uM=B48g>HBib^Df5N)ztaYGfaQ`u5NdK<-MOG16z83O-sSam7|pW z@gtcgVSL2<=vS1Fh*yp)L~u+?B)g@+L z^Kao-bg_~B9oySqflG_?%Y`~fEnP8UUTuv!hvEoC&00l&9=^+kXqU$&^>9VN&L!NH z6e=>npPWWGu`_AJMEc`BT zEUN52c>Z%XpGq;(#xaYUMLBh6SDPM9oyjr{U+|iQdz59S z$g|zVu;Sl~1LsN&y8kzz+X@VQL-G3<7)+|F5d3LweGD`iZfFkM^XQ?>6`e2)#_VY% z(+#w1x)IOo*Z=trk?H;jNzm~Shx#WHLAJiln*(Feb(g1Vv8l9Czfh-v7GBf6RZKBY zQ!cSZ>L9?wO38xmW0iB^?UuJGZN}$M_woj+*S)IF>I0$E{lcw#9L9qx9l>v~)Ok3ybn)k8;mzWrbBj!?&N}^n zy9#`W7!iS~HGUg!@shFLp4Om|x|`%f`@>md*+QYCXS;PAf^4bugAOGlH#gVWzz3rI z&=^7l@w?9}GM1&d5&Pqnt~zb3is4r;-g&RNflc8Nr`_G3PZY?5;*u~o%X0c3)L(M3 zx;B_&5-AZfI44H8b2G;^cvCyy}DJc~Xc~^n`!oEU< zS{q=)Cj#zZJHgkt2?{PvCi}wQhbQCL^{1`6s3YJt^$C)_Is9>e%OLfvhOZO62X0EE zqoY4>tPP%jwb`(RtS{v69$@(@2F38#>+jC(9%%L!Mp58$degm{Ff^9+zzF4IXK0`+XW)RcM{OMmcddydqQY9Do zmhu?glySav)#cZPLYsMcjb0&Y`;33VQrDy$AM)oVMemCr+2cV}**;H&4xP14s(uYy zSQmdt7qLcN%(Pj$%MNDsqI9s1KOQ^rqKj%|9f|4+u`firY5VB0N5{}W&ZNK|QVzHU zbaPfXEYCE0tOvDPLQ`6vUaUkKPYFiW;=-wgMWFg^W_`ig+^Jf*x_8r2Yp{r0KSRsx z^4fyO;Cl03>jiWl>%Uq2jMVjkaX*JG_;yd__cDAa^7&bQ8b1&Ff|~Zj=zyP<2BQG$ zPAXE1R5_I3Db_WC2p!CEFqudIpSiIKv`dy_c3+^QQW+#H7)Rv<>(&Q?n;DA6UO8zK zY0Yn}tBWN z_2?!xT+!5Hek&9A%B{pgF(-+j;GYAy;c>J>^Lf2fmH)kao_oHtO=fG^`?fefzF@-v z^Z)%(pZ!t8_g6jl>-5ftRHh6Zy!6+Vg@pstzkm6#RD&t}8PSz@xUR|A68?1073EAg z9Q0^W*@ubu97SBW7Ig)w$w;EA8-+IAI5@l+?MGkwU9ym}=>NB>U=Z;_Kdm9Yt~VL9 zUM=|fUV>g?@!!TCm-dRJLv~ZAYX?{4^2GHUiH5w*6Z5ujTJ4oxNIRJzITGak8_U*` zTvwFk4AN_Cq;d^bOQ#3!kT_l62ZMi3z8_D-eNlYOBcD*f@$jZaIWx<+90IFdxTGD!^Rto}!>Lc-FP$?Y&!^a8H?=a%kps?D)uBSX z=mVEZjgFKRxhia#<9(Y3_d<>GeUKIS7yj*4ZzK2jC!zh>&Cb{7#m=WUJ6=CGYwMPF z9hy=%Vam1j#`zL0Ex0P%XxITcnvLZ7h;hf0H zHmpQntx~Fj>TBgBU@$m-PV||tHzm98>%T$1r?Mi2&K9CjiK5uaF<4>NPc_R`O zIX};IS*;8`nj0Q0X%9TAZ1NQ=x78GN$}9rk_~^!#r4Sf!k#JTWdR79v9vhomM-bq* zy`anGbj!;tI&7*bDqaqri^MQ8O~9@WoV|K@-WVDtQ&1)S9tAd~CF$U*MXyK*N2XXy z(DSzkks*M;d}bKe^V!}88akv%VsId3!sg(L#+jIM{7hg++fai2M|t%EinG@GO&b)x zHu!OHrRbLrSbSqSI7np+001t(4(m`4PGU>re?)_%&+)5540--ha56nUT+L zY)rGt`(B!9n~UpCZ|W9L*M?K@XHt?o{Cg*OzRonUunZg!k&qM#xTi`@&gyYu6e!L@ zhJV=Za;h#*Hv&E&B{9K|f;YL5A$r82-{tu^=8f5EOyo|pRO26UvNS>6X;d8q8$pkd zU;hm;4}cqT%YrKYsQG~7jjT`wRCD>F!S2zRM^kT3=d@0n(=dRnXq&tBPB;1g>~q|4 zK~|vQ-^@=mvN`M(>yxScF@5{CApdu7-~RJjywQ9`y!^0ZY&F(4Jb7pUPc=TG6 pf<^f1tDj01D@uVh4JKf3`k(b!@9k8{mF&1u%888yA1s7 z?~#pwk2M~kJ26eAIHz>q)2XZ}WAjJpSVH-6Y3aeLZ9>ngik3s;Y`~aR9WK*vH<;&{ zuhyeH-#+D~O6mT?Dvk+*-ZhSs=c9@JQP==2;FLw{ig!>}%YnINzhbtel&ehf-1ALN zpm$;2qH1lsiPjNzb_>HW+Subk!y^~-!Y<{dw!KHYF2@t|?Y5PvbI)oE_(1KuwbvNP zz<|wWB2sHofin_a;T5t>t}!MGkQU5fL%Cjn865fL1#iVG1DbW9F zCl?s@6mBHMfu+H6bPR^Bv`vWxD<}H=_I-h)P1aV=ZX!G5_vKd=V3nuaox_E?oh+xo zlt^c8`z7+5&E?413L`-K?-QO+ypY^?v*JeYXnU=&A@G$ie}($qrlFcLLikzj^2UOs z-KB<3?);_)`a0<_WUu{B zJt-zMx^O29d6~foKm|0%elz=yYRUycVt_J2%eq4hKVht!-`syHw|U}1a?aF#p_T%v z)Dw3?<`H+517p$3paMdh-#LpA|7v{!Zo1#+!mz>EhLp1m!}DyXoGjFK+bV>(J1Xs8o;Q}&w)UQ+3|QHAalG6J|2ng5+DoG2eonl zGE*#8M}f}V5XYPQ?4zgW`S}2fakxCdc-(~|W-dfuN@fPs%5>IF)g4zlC(e{t{1}rC zlnxIFQ9QiY0od~g|H8CR5v{2<@$|g$J!f$2J1f=!>L$Jok4lClLmY`ck4;8Wt#NBg zWrKX-buNN2*ra(DuPYex6o5u==Vhzvq~hO#^wDYgQiU8AD*>x#9Hj@DkCC6VmtNY6 z0h%SknD2HTb(^zx4~sL%Ah~$3E6}={g(K(ZuDK0|$k^NL7O}U5$1-q`=<-E-^38iv z`)uU;mw9kAf2-M_R~)6wzgF{Q;=Kuo?Mx1{F8&^su+sx6bzR^uRa5(N84suZdMWLb zt)GsoNEylSVH?>yGXR_z1!;sy6K6aOJ;d}wIA00B6B_K@t}+|_9Uy8I#e)I4ZMuYl zk5cidAKJWKQDp69BV>`?n|E%FDhL1b# z@UQ;CMCPup&9LW+{$(R5DWe_nKfQz_whVs}>lCJ$pgj`fBfbk_|E0-O?@v{q-iv0kCHC=4j#IP)g?IAv z!`c83x4v$Hf?vPkOTJAHUpTiwcnabdJTcxd?=yP?#8Ag z@s6{J?ZNTbUJmeZ{KCzfhWd}hG&hQSvsXYOchG+hDx5xnbXC=~;ocOxug*O`a&%i4 z&94g)U(u__c)O|qZ=6&Z{MwJzn38+PLu zay?zC6ZtU6>jwrClJ^6cHe#9dv8L#nB9EBR6U3snqx%@1NUrP(4;qch7^Nd}F+HvmH=*1Jg9k zMZ(zi%Qm%r>ocksRX47iA309O-FFwqVuA?vYt5?M6%*%?&;rUZOm&-zAq8h7I7}Ct=Un9rx%cpKQ>^^;|QPXBM3xtKWM?Z~cvkFne&Z z9EAYnKt1NnwV%W(gLYO3k+uRb=bmD(`%)8gudHMzKYs2{Fq+1 zC!QjF_|Y2&cvIKO0(Ch1v=;Vnqhjnjw~D)z(vwrP*;fRoj7lMVIPivy4UD>p~7ydu=#FrviK`JX*D!c?ii!d7PP>3K^e2=;wLQtlJ9<% zQNlKk2gRA=TBJFoJEUt%E%{0G6PF6A*mu^8uV58tW10B?E;A!v_{}XDMQ6%~WZwfU zkSJJuT;;fj2}NLz>&X~FlkX>wRiDad{(7^%pk;uPhiqktJ~7_#-d3eT8at}I%P@h$INhl1 z1QA;&=|r%1VlS93S{;EEd>+!_G59bJK}*hNy~5~y7AdRw#w<4If&}-iVWb3jTv2}1 zMK*;Ix^SH$AK8B+?hq_5K*1L8;6gItb#r^7rNxWf&12F2Oh44^{b3Ew)c-uq0}cf~ zuqdPRXR^=$y+5vdMe+5+Q}K{5zvSg&aa8Pxtkx)F*=UF_d4wWrgEXksJa_1073#Qs z;6c0Y&s+@@0sB*Z#)s4wgb8wJrk3eVf?%)#$gY9VVk9N&jk@|dGQA8moHN4SIR|KJ zLf_c@GIO}!bA_l`<4o5Ekxy$yhCQ~VZV%;2CkNO^oxjt6_CMUqw}H~ReS++}ouVw> z%+^DM`sy4GbhqC9D|WyYCO}LR(NcDHHm<-tsf*6|SLYiXLfFH|$;e^g*SKCDvZmUl zSFp=Nkgi44{fn`jH_c1u`VoY5+8^Bezq2=TikNx0$X(<&6J247;ViD+0#2=lK2v17 z99yW5Jr1(G)RyJlp1O6w+}(2sZKyF!s^$VC z7P4B5{|^QqGV#Ot{u7?xLmzPoV3z?@Akzw$<@bP3_=1sH&1mcO1*mRu3p2_^^EItP z0IsG3;w6Ar{T0PB#Ufev$~!nT&5KN(dx`Q!8W3nxv+gtKw^u3$rY5;Xzmd+FPJ*CT zGrbxI3Q7HkLN?^hl5VDsEVeXv9kY<{jtT(`5F->2Moc#us>4mx5ZgFEK?_Ph@|K`# zc{cmxIDNAhiBDaHd^&&^B9J)7MD`tLgv1rDYlTOJFHg!APo&=6xP&l*)n|&WSm5-} zLt!n7KnRl?+9EcPuksc<8h!Uu+qar~Qn%00|4`Vh3C6rj5o+&Bg<4}pJ4ckLNzWm>_`A3tF7QBiV@S)#4xnMoR77XE{q(QoMnzcETNg%LM{@&gVd;B=+qkM;rfm@%-5&PNB|j< z5q05{_Z7w6$>c}qq}7Yl{2J3ko77EA)8P1C%V~EUJoz=j#r7tjUTV9Rz|idu;;2xu z#C*W+Xc3L|qI(z_+3ytmVBeG5jlfUw<(@M=QV|Z3#{wQ*!-cu*Q_$F$wJQMz8IHYTw zIBO@$t`s!Gf8H;}f5vawaT_3)1|BGF&OsN02_#$QeXF;)9FT)02X*+T zf*Df6Zf_uHkp+ze6=Ht}MZ1dv-E!q1RnHPjasoMn;~--Z@g*y!?Tua8>~L25Yp|qt z7^G-jAYdou9txovmtoYYJnr%9*5jR;utJ6VNq~I3Y;Kg3doR4BfaPXU9te7I!c+^y z=^gpqjn15=Q7~d+xU~tihG#xPZUo*+CNwmD0y=1>vs4fXjCa(i1fy)YF~ILA{$K4F zkPU5qLXQnQFj$qB=;ro?^^XOlN9irl;&HdE!9ePtHw@6giF5E%?v9zC;n%^Mn-A!X z^Y~h?(eei7Nxpr%=*30SP5!g-psh%s+Q2#R^fn13netf@Kw@bE{{)B{efe=5RyXFB z%RJ94H2e}KwF2t#%(oe)pHxK_n8QoHg6~MIV59vTsD=)WJ#^J9loygvHX7nA)P8HX zJRW)jjE${qP(#eElp2k!y<}weufW_TQs6``z=1OE#|w~8{;Q?sEmp~EqAKgRZ6wc2 zGVkyKP2_W@bGbRiat^ldvlR{b>LGKZ#Aw*-B}s0N=40OH*yF9dOOX&^6JM=?Z+h$wrD;hypgk5f zb91y%49FZd@HFJj2ei9izaeu|8q{~Mu}62Fg|>Ul2*X@5?fp(hZ^c#@Dv9-ig&bs#Qi58U#?Bnl(M$npP(uKf(Ntc#TWt*DFP%c+Oy(HM|kowsM zW?pT7vip>WKRLAYccd`;G{1-bE9#%S_nHsqXK;^Jc|LFM(fjdG`uMLGEnC)QexJi{ zJCaFIczCwj93##rP)scszj5st5TN(@qhz56s?BgwLfG%aAdQ}4FAh+uQ~t-(q6Qy3 zV$b}vDY*EXmq^0CMwgPo^&1mUuBHp#FbsA7=E+$IB_SKMnASu~|FiK4PU~+($o<|A zoXiN-0}a~+VVk~s>uJ|{6H2g_KWR13S`s zY0|;N(eGXprr3TrC%1=C%@6&@C77N>sMi|6tV1xzwXn+eMGMXU_7slaU*@G+f;ON$ zyTP4k6EGEM3b{W?6o1~n6<->X9bW7^>YbR~4r&zpHK8pwzKOQv^Gh7|)F@8)<(QAezK8$WYQ3-xz|DaDBgsX1xNb-7 ziUKjB#Jq03J&mtTjPN#$(Fr7k1uI+eNsCmb{1?7cxxb=i6HA2ZpK_Ka0aRxco+ZVh z$95@~wf18dfqCU&%o3{)ewLucvA7&!?UR{n06IfgICe&%#YW7$AAOD!k<*FMCw_wj{sB@? z5MHLWDmgH&oVkU@Cn|jYgP4QYheBdW^x|X7%^p*jtLz5VU*v~*NkCU0hii1^EjJ!2 zTCrpI#}&dcI=SmnylOSnLl7m@!~^|>gYT&Db~VmRn0)P};hN9D5aoZ}`U`;4=*x+3 z^MD}SyKa&JEs+eaW&P86Vm&Iy8}rk&c4^54Sw}grlZ7BN5N6~ouEHC0QMvSMtrZif z49Gkt?NZE7H~sq|l&3icRDwKy5d+xv?X-55>m!4E74eKyl6^dRdAMq&g}E4+CoPD> z+)`4nz1pa}bH(Lq{0aRd#evpSI})-xU)YWF>;dUBTFa^q2ei0QaCJj4G5ud#s)}io zPuBlUglc^pNq7}Ko(F{vF5*UU|BfpYg}OKAn&LuLuc3a=Ql2XHJJ#+go<{!d`q;)% z*Y68(I}IHnh7G2Us$TDvpYHo0Ujlz}aQ-scku}CBt4A##1O2kyNi2^oy zX@WTK#uG7GwJ!)leF$IPxVbL7=_JuWZB;i}YX$_damL5yBVO$RfDQ}_WQEA=gfJZg z?6d+VL?LkmgTtKU$>rUXC9v0BZ+1!mp*$iXxbHDZ`V~d*F%aEwIJQPX>o^5jJS42u zOcAh*Zc4I*Ho(|(Z53tW=Xjuz9=5ET2EkcFN$smnDv+12Jv!;X(*VSvo|f;_U8IWZ zrb8P0w%$-k+E*s6Jqfq_^Kw@H^hbjHqLGJ87t#B;%s?*&2hU)5vbIEsbS*Ma*+5EajM#DY zb%i-$cQ`|Ef9d|u+a+62xs=Mei@|$0u!JU%c)t0&5E5`~pS? zLVRW5^6p-!2yr)^5HXwc$=XSoC&gMZe^J!|>#%$~Z`M3mc1C;p5E&IX<%`}4raQug4busTcS!|$+ zjPOkq*>;QK0cEm4lI;``^VtewhQqip;Ol=XDxDSgxnV@~K93sUrPZJ;pi`b@7-5BE0RSM~^<{o){Ijs-FU=s#tMpQ()}&QW%c_spRgHA<&8sLM(*ws89L2u_Z@7 zi{Q7nE6<;Td9||+QH*X&0IGU5@hezA)}F&zdcC-JgvWJloo}Ym(8;!9RHa?td;`q$ zBc3Q^>W}_*F_U~}D;L6tJoe*{&G=33dwUT}y~m?n?2F*9gO04LQSoF}YK#QEe&B%_ zJ)AsUxJoE~sPAOP_$eq_JwW%Yu+(D?(ZPN^-yA&I!AY%5eTg_`#!ZCndjEMF7dUi4 z6O8@}Mn*{+{4#^wXqiptH5=kk3Ng;3Bkueoc*F&9T!i)Sg4nH`|GWHu7W^M9`A>#B zrbe;K;}86iulmt}RTHoNyZb-!|G$6SaV+|kmK~RyF-)?BUH0Vbo_oJ ziQKt`=V)?Cv%UGU=bR2-jEek7xG>e4?taJ{BvJ&#>MUyEEbeoui<1Qd&tNX)bOGhx z1%sCXlBe(y^Mvkap3U)%ku)!EEg<3*5|LTdT7E@Nd~gfzEUr2w;*Kef#UE{lM-h2l zj{X*^Qe?y}bW4Y}#sCGp={J`BQk+vHV%a zfI2zHD`^NJ99sH9WbQ|WMgl*UPO8!F;XbB=gF|jxljjCzeRN>K7sOM|R^NxW$U`&B zW@fuSl}ob0SrKaAE{0xT$G~8)mkFB}w}=+F^RhFigblI0lC)6Ww$9^N-g4PssFl0n zDlwrtQ~c%uOCB!Hjdao>`TS<5D{ly~@;8UYNKt{=?CgzVK=b4jOA&|i=Vnj}5Xq+<91>7IA zdGkRT08lrN@)lm`DKCF+chz>oOw$&6db6d zvP9?3IIHcmg_1WlFF9B_TAW^O@~=Wa12F?_NM==4l_Zx%v3OW!6AqwTAu1|r*)}Rr zTjZqvDo{aMfiy+;Xqmr1Rm_enAHm#C^MCnmB*b6Mc&eQ zvwV|sIp3Kc;|wKbw}1d$pYOMVM-Q+0REnp0R2AN6^xx>)Qkn>JgaI1baFe>Xsj}+aUsXII zFQx?k!Zcn0xG4B#<KwJ%>O`r#%@&$&xyziPC z+jk)iHB%!KGC%k00|>1}+D5qzLMcPBZTV?$lu49ZmLCrJyslMj85ZfNn$=4{9O+^U zv5vD(sDgGy30d`-W+zwbL}qNBjaVJ}df@f3WkUqd3%D07+Q5bV%lZZgla^VTO&OkR zD`)>Ug4Z@(DM6koGE7~QL+$KCtfun55>xZIv{di#Daa6`<3*p2ReVTcFl*kU)!*m! zj-Z>bds7>OuOZBrJ{@0G0vASOL0N6k1rlhsDUa85&xZGOh>);60J3IBk+VPm&6Y9W z1M`VI_F?2w<-}$(0lG~Dai*SziU3yy{0k{N+#_-<1m`}G)jtA2KtP$xgMjh{`Vwe5 zVbltjbNk!cd5R)lgiJdHG%%#c>`g5);M6D@PL%XTAZMlDY{|9}TQ|-JlVaue+WV%$P?86CWf**v9zn? z5iq_cI{?RE<<{9c)_*Uw>h9^+d5QWp@gFW#)LMEL1`u^8C~;=BxTAvQQI|)4&qg)J zrmHJ_J5t>L>DSDh3g@usPg@YcPY=$+dGA|1wJ^{K5VXOzSj8B0>~A?f9+{qĖn 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 diff --git a/resources/profiles/Snapmaker/Snapmaker A350 Dual_cover.png b/resources/profiles/Snapmaker/Snapmaker A350 Dual_cover.png index 9400dd45fbaa86a3936d526700fc21a001910d63..eaf572c05286d621dfa238a57f4c73c7e5013c38 100644 GIT binary patch literal 240339 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

!%|H9o|0~UF z>vZdW7r#!}&Mxj=97BYB!D)tukXqkhn2@s8{B}PHvshi^dBGk&_C^WUw-j-Klw+W8JQgY z`AZis|HSC%SSQ11qKl%b{1`*CQe+Q6P+u;)9Ee47p(K1h3Z?V~MQH_@IwJL$y( zFVTU6hj=g~ve3dz2BOwWs#WnG613;v1) zgc1gnHw+(boOwS}VT`%K1|aOgrY>kaP=d(OVn))uvRYuNL))5}Z~+w@OWG8RI|k1z z8!bb(RtAj9;8fv(cAHzwTCu@9a5OYH$Q#M>r8fmVA=x-IQx>Q)N`BRF|G)-Xss$6Q zr?8p9eLxZ%)elseNeS4I2yf5uVc~trowK9I4$}s=fv#S?hLa9&x#czn#~1p~^CZ4V zeez&+hW8A~L%#j6oK?OvI*T$tzV*O?Uc(3TjHDKo&hD6x5@w_*%F^AGhO<0Ih%AJ z)JwbY@z4I;`YwScrsBRt_!HKLtAm$V9^lzefT9z<$GD)zvD>+QH*MOyg`Ro#NxrrZ zyl}`BHN7m-y+YGY3(6k!jb< zCo7u7<$^-Ot@l{xJ;6JE=uApY_2q0EN9uy1U>WNz1{HCP#AekBn661wHDoCMwE-~0 z8DmMCcuNC>*W5aUV~ZhfF6_~bb;ku-am)hLYUinYVK)Z~?cTMMMqSacdCNxHym32y z>?8lm9m6*Ik$1gMJH6HwVYl(HDEnOFoD?=(%W?3P0-=TX0{`ye;cHxIVT~Uh9p!V3 zp+uZ7S7=#xE@s{RcVT*F@`c&anZs9yE+6SV_2T~7+1Wn#pwl-{)(rstivRe9`#%Kh zyN~|Pzx~YbjgF81Ul%W3eB;>Icq@mbWG3xkCM{>GWZvS&yL$C9J@lP#(h cJ16l z+jnlGz5902^UoimLx+w?oO4E+z9uPwJ{3@=^xOuZDQ)aoss5BXTL%@Kv{ZA8FEvr_ zH`(%rSxs%rmcFIV?5ni3ecE8AK!<^OmS}A=ji=5uTp~!no5A4Tx9X^=!7l0~z}j%4 z7!;97crY*cri`q!v7w4DgNL)3t z^>yaqdAPtZadXdf_`@?I$K3{cy6+UNS#uMuTf3fPq_=L~N^5Ug$JTfVW#Q@cM30Nt z4R+7FB%qMO698DtK&i4a3ZQI^^Q#cGwk*ToW{`D|#HR-vM55?n?tzSr%rCbR-TTMy zh;zd{nwpXJG1|=S>@Xs+?!gj_Y$&=s*lm^q_;7;po+S7ur;Qu7(0o^1^zUagzFD7fy^>cl>5+u{hHgcsgRBOJ zIh4#GGD}&Ai-$;VL@tzh&2i!dZlV^3zcAR~mUcTAbO`Byi~!Q3nQJrr+EE0F#a1my zI=HBG&*|A;GCq_eqtpch=egAAWjja59%HM^msw@gWW%V5O`Su$uPSKcpMuYrYD|ygdTt5 zVYMsEsrTeje&4X!#8(uY4V7OAXrATs=8H~07a=Z7qH(X~0+=DYf!qLKu!Vthoja6V zC}nW~Pu7l-uMHn?gU-TCV~Woc06bogcgz4Yy}*Hg$WjnXzW;^CX>wvJ@y@r^yUxZS zsE~e3rlO@Ttqn4Tye30`rOplU+MsN6(;bscZSZRB1x;)lCqBvJV(-VDQ?ZRhw~=Q# z^t?#Q-wew&us`5&;55{5#}Z~x?PeEN=NS^n`7+v*y z_HG=^>g0J$AVjqfAL2|Wooj~E%Xq-Tx4x||2t2ef%ZqhWV@cT>FC!f+D*}@s!+1r| zc|%jpNmNE`HhlXnn%#SbDOwlhDlMUeRVy?J3VQ9*`|<{GlGv?TM6Nb@!wRiencl3% zGFTfxicg6$f`WzN(6mQkI||-_kiN!gkZP!p&5Agy~a09&^1NUZ0o5ODwgr`&NlPrLWr$^}Q&2RaUZg`~PUZT^&{#yh+7 z&e!wnMIn;F%*e)DkwWd*xq}YAa6liU;DV~E#Z^|Vv>NxFhYo_FsAD#s=}&ANMKc{o zv8+l$yoF%3^i{M6? zO&@-Q`~J}Jr)lk)EgTguAOKy69$p9FDLpze%%3Qz(6sC@O_dEZ~Hp>+e6$ z#o6}lJLkBs$om1vd+N!Dxrlq!ZFh-uN-vu@h@3LhnsDktuO@B+INg2MJq)-2JiVuL zsd5{ziHo|I(ah8|cfWkcFh+T&T@QH=c&whK%iL@0a3E7UN6;+;ER8xa4Sg;C4#3vt z%JRE&aOUg@nr=)mpo71&FsJH(K_+x=z^>x_f#kqzM&cj?XS|0z24`_dR;F15svmFS z@tQWgPcYc*13xpt>lwNXnI_j_aB|u5RkYBZU&KMf?hFO8mmpye0EoUic!;H0nTeWk zJZBN4S6;3tYkHPNi#jGI;J^WSMZ*=xc}twLQM(2fg$7DpMd!YD*KI~VfnUD&;VHm=)F|1W!Q0$y2mm4~i#uB6gXsw&N6 zRjKB=s@;R#Z9`)>ws8Y?AW7R`Fy>)!csP*6c)}s+&%qdDn|=wy_Xs8rNPrAHAmBI- z#(>*H5AJSvb}Kp27D?LDMLU#(P0g15$nf&hOvBYW~HW}4CQVx_nO z*~NLXI>psH6C18*<(9G%G8xs;xo4|ZtBmLJi_bQ;Hoj1%~-pk&YBV z|0(1BKmJ2lRlf4$AOGcVDXy%%C%2UQx>~IkO60M1*HDIe60>+?Vdntg%&aFzy%GY&tEtR*RM@zkTydPl#rzyqKy<%o8qw9PZ;=)Mdku!5(qvsyG&ACMrAxL zsnJQt+^{H(gfdo+u~a__6b}P1GDN>IW<`u44zspsTAJ4vig#(c%4&Th77U{46nh z;?XUWDIQ~FfshfeR?D!yS|lJ!6Wn&)r>FnLLdMh?anjROm_SH&(hIB;|7B^?1U7av zY~iM{acV*aryYP3osz7zofk)Wl7;jxCoE7>W%?Cx`Va zP4p)Gr&Y>V%W%K^p8MgN2GF^cdDyeN%f?p=c*Xt#{F1c8mHd*?(CXI^SUPR9Q_Tck z^BImR1;s!@W+UluFI;?Sw|Grn!v(F*3_o^qA#*^Ex#;6BrFGNn*9#l-w7SyM}yjlY$q~sspmN zw)wlInUYdRdiRry1o{x;$^l*Tc-~2?+prCMDB}ox62iO4WNyOa8u9(qps*B?XEa$y zCI^CnR`l@m;kiU@JpKZ@j9?)`QU)R@6cG@}7^8Fqdsyfi(Z>#T&XrQx7UC$$z|Vk% z3O-M9wB0y-!ZfatpFwI zF!q{L&9P>;8Ft4&$xSY|M67b9QYO7J>eNkax^b(~=dRI+YO}f^xUTQ5E5&mD(&YHn zE2Xv4Exp#1<-%K5x@7n-~XvszxvgmdHZ+&@SAVmxb>mM#l<6A^{pW0C0XD` z43bD>!1g)G1dfw7F7HjTu>)hjnO$eyLU9)jNr}X43I{Rdngul;-Sj1zc?{fR!d}MgrN%fWq=nGrJ})Q zpc9CLc;JbH<)0jB8(8|*UqTPPrp1_-UJcl!2ByXqeP;Bq#mO200ygB_x_!xp0fnym zOMpKg_6J@w9S)paWpsDgOutn(Ay><=9>k>&ly97pwtAkxVP{cT56WF_c=-qJQCzzbPLu@zsYwv2K!otWRGVGe<3IZ(hTY^?A%|MWf;Crj1gBo$WyEo~$A%I5h z>*C_H@xZ5mE5jy}Ub$r#6{T2&BG_!A#L~b5I>j;sVv$+e5i|I&H{`Vjy^gFj`njV% zd*8k;3cl&qz!BXwaNj~sHO1qAzlR?M9V;x$&S{bvW{+v51tY2J4d*p4-?Q=d@_crU z*0}PCI`LYyVlCrPUV$JJSFm<*)U;{hYt_%RRW9HHdX`{Omdh;?ae>>#AQ+UD;ITj# z4780KJA4ohjU9urLkHl%!7=!*xBL?giU;BUc>530e1?U=s~>zFtSlE{-`;%&*VMwgbBps3Fu9KGgI zfHSg!Ex2~$GE7X~g2M-o!i5WW!G)KdfzxM>!Oa_!u&|hAA5QncG|ev@ia=F&!2ZF) zXqd=UTu!6tRPsMn`sAW^W0!TiB?*Ia;U4(#jYAV=lHpEjqj%Q8njTt)b)-g>tqsF$ zdXqf>xj;t0@j8c)nP`R>*e zq?NDmq-&f!6f@C=)u-kt5Iwj{3sm6ry#g$4Gn_5%0_)@!a~Kb5#PKK5ondZ%f|jQx z;Y)zHIL6rKKmOzF6P!e2XlO(ih3DzKjg1}N26THv%#McKtSXAs@5VM7va^dT~Em*+UYZ!Q1ZzsG? zX!<=3y)?{;XRed?C{JpnC{~fsY8Pn^h`vvvHgsU)59(eY}*@jfA6bzL$?Nf$N(dIi9H(xl0#srLle0C zMzhZ*#LBn46j@O%5x&4N&jur|qM!^d6Kga7dHbeUckg6dU`_K-t1i zqzMw_WaJq94E6obeUM6$-0CSC`YLkHdy8%+8%V4@Zw3g?GN=U%+7h5WMMIAEBMu z+T0?rytKGX3_b-7Ld+&JVWQF4#B7^+3Zu@kxip*2LZP@!PAPp>z$pX(@U2*KF@sdTh0UIf9>Pc>PVFnHzJOUTapMx`JPr%`$V=#X6wtgs- zC?yLm;+!X~0XAr_)QH%+2%BtT^8lx%cmlo|%lb$I9!|0*;yWhIFRxLItxEZ z_Vif~Ut+BzV7AIwmt-;l*;ie?c9~KR4``5pO!S`4PB?Y)G%XQgFbhTm`*Fqo@;Np| zp)L@a65M&Ro72Zw1x=P63c)o7+J-#X9_|raKxtDoJsFP=R+NdWIZt6USE53-IQKb54CeSjK>j3b6*T49oZ_HFDGsBPS|^9Cl%MwJAf z(wAV4PiS|+6||x4VSw%6IRH*)3oHW~`ALZ$IFwj+AC!Pw;CBg?RDihUbj6l^ncdg4)hPg zmCIM*KmX_dM3?{3qbI4bZNuhav}J5I4PPccyN%d+YQk(WfZ8})g!URXatr-gGBGt| zXBtgLZWS3>1InE!)h=>@E(DTMf`RTebz?_|+Gup%z}N9v8IpZqyM8tdL)YGJ(j%k0 zM~5z&Ny-%~D>*Rw=7?NDoQ)iKg==UWEyB=-n240n$cRE~yXG#g&^RK2T{JZQ{N8;- z`%X=x5#OHyHT&V}lxUk#dr$i0%?)Cf@pW8H!-5NsPj^oj^mGltz4zS%voniuS{F3K z!$XwRH!?g1?Yp|@URbNv;N01}pj@u<=KvS&9eA-uidQ@NX+iPU8t+Qoc6dmRaLNd1-5kpk$K&iJ{X`%p#y z^-~}D$j|>$Pfzc^TF&LZzfjC~1U7Zhg+;_(K!j<83$1<&m&LAJeO?2xNjRYa$SM8s zx%=L8P%2emV*HMt7|I0p1ehD^w%EpVE4JA40}k+2@`etDRgR6V5I?X&cEJcl`-x#H znPzfc5W_UmGDqAH7@F>M0Fw|!x@--Q>#ELnd;xce2h4PHKugBNhZFV-W4m1FTTF!( zP$;*&9)hR81?$q`QIeMBR?NtoAQ@?VVb=ozTHwXrQM#4*cq^M&h7%HMOBWWWDU}MB zXTv~QJ2Y!y##U)^tdWViaqAjPP2Glr2M-f7*15YAI*;yw(UJWm?LhV_@U`DyKt8c$ z)ZDkG&vS`B7P4K&yW4AI1DBNNSbp&<_Tp~2z;Iv}EWk38sOJI!vF8qJCeF}{F~>qI z=E6p#G2~tD!CH6`k%f_Fh(20vW1Hhd=!#N48~q}QgOCK`o*E*-R@(@2m5h7#nQQTh zHa3dP7F!Zj*(R{n!;1uCnHYn44GMuxIt7j%`SFX#mN%E+!uih z7YW>X6|sYb(YDvoFy>bB#m#KkC|WG9!0t9(thIL}|4)lR#rtRtggXkn^cCrq!JQJ4L6u=F3d@#Tn|Bquimxt@u zuMi;Z?HSTw`ZA@vZLyOB0xG zwP{ptXmE`CNIeC03_w|@WG$h`rrI&*_Dq!N@R!CxHK6KJ%ja~~BY=!}D*JNMszKTO}5g_9@G=;s}VkbDqEhQ^?`YnaYmt+omG-Scv& zR@O*s9&sajV6P>!%3_;7l{w#)as`T|JXyw-N+kl#5jQ99HU*i|+pFn)%x-M1-_DnE zS7zrYpP!hR_%gu83@?nPBONJ#{@XA<_`!dQX0`wPvB&=JkB`(w-ZL{Z`-6pizSS(x z3Yg;tAZ45uV(Xh~Cee^sjw*ch`KRIfjjM2mQVmb&ivFAibsI2#YYG;#IkWs2ng_9I z_GqTR>)7BGWIUiAf=OohKXj@PXH{K zhD$N-7j2(oZlteIIS*&mFf6RfaATbD*F^>hWesR)g$&ld?p}&iC)r9M%ggK;ERCL= zCW-sIt|xEwkDZ#nO&$JY8cgFvj=s{^P`A9i3=7$Lif48a+lE;;7I?dfxxxk}+y`W- zQEzBiCJ_HRW4~tm)0}iAWE;Z-@bjUkioNT>v-S$uUEBlgj%j@$Bq=1t z8o}$Azw`w-fBtUxp0~Y|0M;LT_VZa&H*q1XED)BWoE<(v8ZMhCOskR5 ze_M7p4p?&1ASntt7@nnq@)`Nz*2X3*=a)$Wg3Z`e0M(5jG=k+_ zt!P1-QLU}5jZ(RIOBXLs>i*=(;pONvp$3w~j5+9+0@{*oOhOsa>Oti(M+bcSHOJB=eogV+sP2Bam+I9~#n+Jbr{Zgf&OBi@Ould3-giHK)4c}Sz*E;qYng3vZtQq!9* z65Dne@aV2TpjD$A6VF3+t-Ry-^Y zFDK9{jylQ%k}*GH$Z?`!Tqj~;mLryE7{7bNsK#dHjaSo*$9tWab!3?jA3jcn=cWc? zc;DgcCJ-Y-g#vHg-?v zUi}OnfUbSr)Cfn;4ZC((Nf13R8I1ZjgLTni_ZN4~`h_m+WSqGnkczF0k^YHosNWSU z5Y5kJn0qM7kKp$#sEL>q140Odn`5Hb)so_)an=V+? zTCGy7M~y3Sqkbu0&flD!ow~HRICUA)i0gEu0Q&FOc>H|U)j*ca zKsokHQl8{77zCc&gC9uy_V&Qp)92yD$rI4m*8`YM%QWpU__cb`2Oi5x9C%p)c0SHX25Yt?cC3pob@J zUwKQlapdV$W2bclTUdmN1}o)(9P5+K;8}T65xYF^$s7dGT0JYT00f>S!anT7!0Id& z7XZXop@f6oOALq!S<@O=o4AC;LVs_3;tEX9-Gpy?=n=!-Gr&Pt3bejM-Lo90VzCH| z*?DTBu`$FD+T~5f8eeQUELTbzxU`eJ!%u{>)_K7;nS*Eh=76KJ$Jl~kjt{*s;sOHsI{*pp){9o&N?a;YiqLK$4O6wX!0+z$P+r z0tvSLuKPfNo$wtyE;WY_P$41Ru|?UoLSbjjI=l!d4-&x0$}xiEYyPnji3J4P3dF$w zx9_nXc%RZ-I}uyHWk`C{YyrLbdAAR!yEhVtHewI4K)pHsJk-`#cTN_1KZ(87Ao?Re z^)a~r759^r1HtH(t5@OszyG`8;DN(1FgR?V5oT$=PX8yJa9u3d8XOQ3^EDZJc7^7{ z;Hnpe5?KJBp_Q3eJ@62@IF$5#foX8#6W3vK@+K9f!rF&o*@@bITx|=0f%q1=bztFu z_a54?Q8TRu$_OTVy8B2P(nW3nrZca};Ro3O2iJ4J3?A8+x+L58w z8ksg^)H?P5r2)*JqyuYx7}~2Tk<6z!*e39j>jIT%3KT|6njQo2qqhCTI3F;pMDw4w zsIVhAB}g5#Z~@9S@J} z_4L(ZB`3*|V2>4Dmn^f9)q;Qp6M@fH$0||ahSF38+akz4I}&BrtDJlT1VGui_t&{74%zBVSY>;~_8mbd{y?^NbaV_(pF9IA%LRD<`+t-i7GC$dZ>C0A zbVEQH63QSDP}u@niqy!gddcdGOFT49v&bAHD8?i^^kPPTW(4`WIJFPuQ3!08mJK*V zHXLODD8Itb0bY=e$d805KmdnQDGZuIyUL!fe(32LAk8wlcC@q@9W?nMZ;_upvfk2T z5?J60EFEju!pj2YIG|!dG{{D3m+>Poty7CwIr=0AHCL;MgLT+-$@7sWH4uYu`dlL9 zXQF_7^jWj5xUb~vzwSYOZuY{=^fY9b<~5LBBW~iAl}nChx$= zPI4$qTbv^gcnpk+BC{_>K4UzV_2;TrS1U7>a{h_6TJ2(~RJ^jfUK*dCzKIfy^^{po zM+%_R@uK6me(Sd){q@C%AO7KoUi+F0Z^~w~AIN5x?%qPPd$z+e$w^H{=@vVOf-rE+ zKKP8mpo2eo{Bv*(xh!9Dk$gZzpH(&JN<{Dlv&Aj6X_v&sUjDfJ52%M6-m zA~VUR3YuF2(&nN~oJa)-4-->@x@Tv(6;o0guzVxX|JD!F0A(M>o{l~jPF}1HRTQ%u zK~vB|)_Brbh})8`af%KHXZ>fB#Mu5$MkI}tB1f>yNXX5K$})1~MuJ*!{r={C;%xx~ zfn8!%mc@@*lEIECHu~Fn^U?%H43_~e11%N5WRpMC!+@x*J1wZ3B6pI=FW9L=w zr&B6+OfhP^*oG}x@dR%lWpV*G4dNg-9sPs4FjwVrKB}&kKQnT0@HdW)9sh@?P91yg z%5t%L;`StDvkL^K(Jvg?_*`xU1_lQ7F$k!@HvOsQ`on7iEeZ2QjJPh43kKTA;WG^- z7-*fSkEhard~I`c<9fBWdU35*xv{i7cX?r9>as4Xaw)T%j#R>tj=#`&|>8XV1ZrBZpz%zCExozXanNNN?y# zEZQcGP~s^YgOxN8wJj@0|m;g{1HFt`(g6VZJQn`g-0fAvNnXW@_>yp2M-(~ zX9Kj-i#dK90|3w`TF##@Lx?$c8<(E3Qyqa1hP&XZ0oWA`vpPVNtF?{;dreqBS!S!p zCojW|@#m8bdny_Cas1dRIDF)ow+i5~%8)Qe*(qIsoy~y0Ld)~sNjU1Z*-Dnw18)_F1qHs$C+B&7`ne@`pkuhSo zTbf&~w>$y)Am-#l^9{c zf!7*cKYruhz1{DsR@d*EnVxT&oSdY@)NFQ1-{VJN@18wS)BriB zpF#5r^CTa`y=ZM~m2;=`+@Np0IJdb~n_S7~uCA;sJw7#a?di?U&1pzoFw&6%=yd#5 zj*oog=X;vM%$rwo`47*`%yt{bBjQQg>(T~ef@N*D#I}lAMr4(ThxWr=cijUA502_d zqyy&WvM@C{O#up&)E5{JQPLUmLW9^^v+!EZ< zC$st#p5m^2m)sY5z&o^f$Hc2=Y#51QlmZ(#AkAvxrh$P8WS508w%b4s{Z8oY;vA^a zlT&L4`AClpk1%s=tfMed3nOS3wte^?hwB7AHM^B`}clB-)~#)H~73;D?nR( zn)`8cYYl1}Rl3*3uNk&k1LAQ%bNX)hrf>RI0=eVk*Wt;hzCe0?W3Sn4?BrV7NHdKq zC42YmGfX%2OBneBJ}dA#$D$vBJEkfka5j4B$Tmmg?}_IxN~89%r!pq>p;j5gJ0vV6 zVE=AhVZ&#t5EH_(Tfq-E8i!sZue-it+rXUo{M?{x!$|^2%F4j3q`9CRDMSMsN+hch zAxnia?23feZMo$IU1%K8&+?-%KQ~LCS?)$Wrbt?>tYjglzg7x4C=`~k@$nC~8qo*V z)*AB~D;MF<6b|xe_}F8^XO0~@`j5g)(>n|K%Ft6!JOky`60FzONG67|J$(OqqaKw? zEA#p}|CRdI#`F0?;o?ehaeQuWazSsXmP#XjBAc9|P7>pz9%pndO#*QkY$y?C0v1b0hmYC>POd!L)>p z2qVb=mww(;3&fuMz%IKBtL&%NS!WC7>2L$b9&r=qivt_y(jg5u@_WLb5g_M%#U*5n zKgOTkKXQbd5JS5U0eEf-9M!(Pu@Md=m|V=;*1BNeFk->N3&p# zV27u(&s?hnTb+pR4w5=xe?`Jsqp1X#e)5SgQWy}}v^M2wutR`ET(pCzlH?}#j}Ab4 zz}EjAFD4v3xe>s2=2;~ggM%R1r07{8FeA?Uf(R&Tc&i{Dz;l9f`c-s>_@;0C2hiU? z1Xr(Jg2%u787hdyvm39^O?^GcHSVGuh2`kX0Ol zW3-AxW*I|B+FN(SE`5Dx_7q^BWZtvsF&Y>XrTT+C6k9sYgt_&Mn58KlqizW4nYeCE@i zg_*fYa>K|Mmo;!+q<$FjbvDmfdfxu1e&Mk{?;P}|H+^5{8^8G*ANrF&dHl_r>x~Da zsGir`yu4PcUA;3md1+x`{MyFG#%#(grz0IHfPP7iM<0Exdw1LJkBr|Me`~2!>{K@J zK_<5t{D27wB>-9WW2+|wZAT8B&_MbOjE(K5|Ig1Y!tKdvqg{++3nXI(&f=qN?70*< zaNvj-@Jcg~><=~6pz*$*2&Fq4lrij&nO!#0jmT;sMXDm~wP`4FlU^(gt1_|QF*o*6 zvzrR+QoXRF63(ImNH&jwX|M??Sa%`{$un_;C5<86R@ zOyHngDH>qYGe9gfe&0m?2DXvWPT(2Si0LNX&_jen zEU|QUiPvj(lw(oS6EvoGq312K($cKylI{X4>%s5coVY~J3!Z|(dC@W+IeGFlj2${^ z1AUT@5N~xL*r|oy{&U-qvWK`;!llM0lzEz80a~UpHMTOOC%^n9Q@mNMq%4@WAT_a$ zp&%K%;(rDo1c%AyMi1coJ(DhKJSoHQs|t~lfJ%lndI9Hjoz*pf-PB)XyGG0AO%}kL z<$WX1>Dt!^{XHX4U07O-U0;;wx%JPZ zR12>&WUL$PsN)O7n=(z@M0glpao^WNXXhS@Q^v->?BX1Z-@Zb=sDj&!5|`ftnlxljDc$>mb%pXQbpzc0U1Xak!>mSpSf8On=vcC0eKE=#+0)<}ykkOBi@ zlh)UeC0No_MF zmS<$FwHqbJ2>|vS5E8zuU;+OWt^qg!i`;|a(F13% zC1^Hez=nFviHYk_sTJV9yB;*()9;5Cc!L8&8m#Q*$vUPc9&GAaBTFi85)O^N6F~w3 z7L0SQRx51(WqhseF|$q?0oF<4t4~me65iP z7V*T)0zAZ~%@j>BJo&_zXz5>&j@6X%t^^`;^(^U}>_;W6;Ujf^g_hcg^`0TXE zEL76rw{na&;J1?r*0CHd+f*=xN`kj@NE|z^Dm93W`!wY5KXH|v2*7M zxFNT#bvGP5cnJ3IKSK9bsZ^lGR&0Ppc>%ds#F4e6BVdR?c~={0l~KyEZ(lF;b`L^t zZy)U0(*^Am$K1+ACeTWPTw}54NTHlzrEk&Ax^HLaX-;{ZXb=r0kcpC7O%P6^iIc&q zSCuPFfAU#!-jPJcAR()9#g_xlVdC16>ld$oeUDf5{_F?ilbnupq$35;={foE zqd$9Jb#3i~x!lsXRIAk{(dAj~Uf{HP0In%W!ZQTycJAH-M~)na(orMdRznmAp;@Y2kN2+XXz!@fk6-^e0bdi<-C1;P;I^+ zf^RWseRbK>)qsYW0#r-mHN zVLNkd0Q6zY04HqgwlQhSqgZ$7n{Bh_HlXTZ@$HR-zT-w5C-u*`UDSzRzjhU1yH43h zxi8|)EMC}rWddid zE$wjO-2LSBjWN`>ZeNAv!UAlpS4rA~pB2F{x=Vb+18>mh>?&;wf$4pBKLF1>_XIJ* zg~AF{^toOsWa-`^DF+r*Q6sspp3911XALkE@Qi@Azi$}E#ty^o_Pu0%wy-e6jyC4= zqikuDtbp@?zH~xF1>l*?de##z~jdnumXN*&mhpG3W<`~o=Q^KO0woq{5<7UX9mxrXRtiQuR#-)`)?&{*w%=P8vg-iN)+|a+i_99Cy@W2BPw4FKqvX$TY-T&5(_IyzkZ!0nb zPby~qHqRi~QTPae*6;UKeLU_-r_6MuBL&duNRIHQKm3b#S8CONH$O9T|JqtLjBVfp zyIgFuv+_N9Wf>k{N8R9Q3}ZQQoPabrFWj1f`T2PcPjRuw1a7?uXAp@8H~uxakx&3P zC5kD-XcK#lP90z(yeTF&$Pg=K)5eqwOu%Jmv1k%@*~IsPW5ATtM@xsgVjpIavRGZL zKOrKN4#Na{ZN0J~;Mm^S16mCJV&nH}r5sBBFOzO;yYwaXk>o0PeAuM`*=BMYU>&Of z2E#ymc2mF++>9o7wYI?TefrnnzLz}&1O21SM7c>6|BX!YfdgZ-#7&HItjK+0Zgv`K z>oqS8jb#JY7h2(xGU+ez9OLgJGl=hTWBj59WEZW@6JVzX8B;M2p@f5(zU=`bFUs6{ zAt^5kroYB(+Yz-7pq<*sTuYmqTk!N#PuOA-wry8-F6l6$ykf!AJ8yRiQ7)Xw?vd3~ zd#v?#c?w@ED4{xh=mZ=+d>o#?_$*{|b8u+v6x@5^0a~T_+@E|3CTFi%DFEt!d%6Z; zWcVNq4Gn4_ik5JwVGiJr9{(M9^S8Yd{>LBuCLG*<9HypkSo<=xj+3HK5oI3$^Hy#h=iouhr2FgdYUIl?@Oo3 zbfn{NW~4sQFWnKp|Hpsu*+(9EqBP$l5@X4oLc+3MtUQ zOaKi%d24_dh5Gv@C`C1!uz`j*BO)6MP`AM@v1O1lr0=aaHbJp&xrz1JEHbu@K?1xH zWT028xGbReb8I?+tQ$ed5xZ79%?)U=q&^0ywf4Mwj5IE*%j$we2;=UyXh1VCFhY^n#Dc|jXm8tXncZY) zhgb?KuhB7f`exY967K}kJ|GT)7xQq2Z2()A-~(F#2HULKf^9aB_*sN?w6rQOx!Y|d zKsh9Wdi>Ri!1G~tR%Qu|%^Gmv2z6co(!dK@R}*h9ATQGAXbS zdkV&Hzd+h%e9z`gGZ&>>Ff@7qjvqM(E;NUa zw_@2u#QxM0Mq`6Q^!o=HBde(EYc=CJK+LPz9-aZ!drq|M42O&EUk$=0jBNTf` zbJNx|P_EW0wd!hRxw=-Ks8mar3;C66g_Xst8_~uclwi;U>@PUtmjN3vZWw`3UGDg`D%4}TVe2cG@vQ{+>8`s7(Se&RSBJAOz{e1kA`XI6u+yaB0X z6VXV3nov*->S*f?T22kXr1pi>u-B}?VML%<>4}fxgX4&0h;@=Jh=*+$J8d`lvFe|- z;7U)D8cs0t8JjM62u-?I6SI#IFUSWn2P)4eTP0wUI96DHSEX#Ah>Zd#c}T{|WI!>C z4OTirY@hAM=gc?T#1}x)z|B|=253SUm{hzlY_`EMB#mV^4RJKVU!Px`qa}Q7{-e*! z%g`aYrUaDgNNl18-Pj~JK7NCi#L>BeXiWogFT#=SW)>Nda(2?wz4LjaX^2T@L2E^Y?pa*9QB^*Kf`luKBm&~V^Yzd-ya~>qeHnc2 zkNzh-d-03VEB29h;cU0s94g(axfHi%iq&)L(r7lwxW^m*v8D+^AhzF6ORe=cljdOU29edJQEQe`VHegM&lY_n@7hzRw$t zq|g2K#o)k`cDQ@bFE|xukY7$`$aJLRZ*HU#j=yE&J@5H=$HAfgZ=af;{OS3Hh2eU` zn_yTEs3b02c{Wv+{R5u<6?v$hIfc@W6VTt^O_pi5Z{LB%#U(Sju|IRf%c4%+VQlHh zK8nLqAT}NCB=2CR4*%U~YYnUcM8_puuc%<_NVxh6w5QAJOAc7k~mzS5x zPuhk^@G-L~hs@M3EzQC+7r&s-%@#YPD6f%9!RgcI;J|@HmbLZm=)mfT0e0BhZ9^ln zEFY-gMK#YpQ2okRzND|kc^Er*1kRm*nHTB-)=L}#_Qi|O+jFE|bU(K5Q?SFX&v}Tm zN3SiV01l2Gf!DwGTVZx~0iJ&L^H3-)*=rS7L=dFnDvih_$cC+TH)M0O#Ny&-d-!#4 zfj|2E@7a3~f4`-Xw-sY2M8?NbjpPmjT!$pr(defvm0 zmTm2=aQNs5eDU+oz!OhAYdzGH@|VC%_6x0)L#*z06lV4%SK!$G2EKQc*AtRqXAL}; zC~>H+mXyAyR+kI8>2kUBOm1oJnL@d6aecjVO>bru{+d0EAAR)W=O2Ikb5B0~^cUNO z0CB4?+qKUjdq>09&_8co)W_j&NPU>ok&cvsPRE~ZeBu-D#U_eCm_pZ|gR z`T2L{a?1y7laTnuvd-7U8ao+;00n#`qj~?ApZq+G-@XMWPn?G1$B)6ulgISLI}B5k zvyji{xnaDKju&CjmS*fmsot-wl(V*T_nus{+2(-qxXC z?=U)Q1R_%OM4ps^r311Ij@Awoo#`sUHn!RULjeqHYZZzc#!=_c z9xAL%b>_fW%u)c)lG-<^6Prhu0=KQbj{|f1dq-eE7a-ZC1+ozHt;`UN-MDcB<`$=6 zb*)Ur97-_u?CvJ5@WkXb+WOfu_rhym^DsQ~%va#b&FAR&qMtYJ`{%#(X(vhH9YE=l zH2nq~9UgGHj`g_)S1=;LZqWr6HWQ*J^3cG3z0bq2fAjzqPyGXE1J^|%82Fwj%UaW5 zIhS35a-{;b+B)gwsp-{5h6f(w8CXj`yl24I;CnvmzU3bkld-wSfbM7ZgU3`+qf8SMa$4HUd4uAQrV&tFBe64ry$8LJ86{5 z&GDIM>w%7Qz^|p?IUVUp0dzY49OI)O{V_Bh{@A0B{`9Z+_Vs;meqrG)(a#37MpkfPLJ}CbiLF%N0D_I*CB34rla+Kjw%lVNY?=o7 z^N5a7!c74T zLG&&-d+J`8nY&GZ|KjDRXp@~ zIjXH!<~KGsuB@yqU7DGnyjiQ2E^44W0mcR6B|AR#so(n5d+xdCe`Fx@9fflKo9p%Z z-MZ-LcefiCDG7&2y62vplzLtJYAG`ma&VuPk$KUKoB^-Z8#?Sx!uOFP5n*L|y za_NVcmzSIT#w^8=TYf{H13^YZ3}L`ts3A2LojZ3I96fSagRVVLSzU#jH*Q0zT((i% z;?yCNW-Jno$mlQ|Mq6Q{z9qrXgh6o3ZbKv*5jXr9ZF1C*Fc;_UK}LxH zT(EEgp!rVo_gkUaOTwAFfx4D zE(!13+XbVe2gqeXfDST}OSuKoQscHTMe&PIekMULJAyu@ZQOm&D=3;-sht*Wh=FEj zXJBDrmK1r5#2 z--di~kTNp9IWP5ZcV`z=oBW2A=(+V{rD&IXHZ13_A5BzOs^ssmWlz#-uc|AJ~rq^5+cv?krWiV`=Z3_yW z>_LJT1W;KCh7=$iK7rqBX>Kub%uUT!N+KZ>@_Y1s@wo=kP6B~obcA@|<*#>=25zF- zx3`;?`uFVFYm*mOH2_=5FT?H0>+tv!|05CXAl-igOcB_fJ$u2in%>i+P{_lRPkw>U z1A0cI?Vb7>Nh!*cRQT+$@48{*+yN4Wn(-+&E)BV*EZn$p&B;r|*3sJ5h18JuriZ^9 zUh(o*!t>966&9D~VQp=d&i~B(1Qi`?wK4(UhhO&yeEPHh6@7j!--`NXinrI>F_Fw6 zNsN3wwx5(p1&?Q~2rMI_Fdh9pY$)7AVIo~5!8ovgjCAWm!$Y)6u&1+=*j9{m#zwyC zYL#@#$S`kiY{KT|W+E&kfWYbYiM4l9CIPy5t;DKf!etUoe1T_m=L&7$_-gz|a}xsS z2jK9LQJ9>VhYh_Cz6?d)WA~nR0??oRUtiM4`7$RG@-@qrY@yxHkb47AW>QD@7*(y7 zYpZMJh4r=St(D^Pl~Sc}ZD}cYEsodjtgfzNP)H+vx~C%@>3AuPRKoFhZ2aht{@@Fb zJo3o*z2UWQ{*4s2AN(Pod9WSh(f!pNyujB;o!j|aOU(` z4WtjieXqD1vI{wwoV){7J+V`Y9xkso43IOECizbgV@#HDF-kr%q+dmCG67vA{+dkM zA3@?cBuNJTmB}~_cf<{bxMxjG8ps3^*PUVOt_Ubt5G5jU#`xb75Xi7Z!i2aG^UGj6 zwoA%JV+{;+BvRX^pos;V1TuI_tS+n--x<&ZO4}Taw^O;X4LQE1sT_3-vpZg+=-@XASkDq`y zKk{ZMm)7+4J4M>+Ten{zi46K<|IY9K8mw=wxnwv%fVXLF?T~49si1K}vLgGcxEFy^ z``SC8bN60~rXCqNs0&j3+E20?{2c8aZ3K96Wu~Hw(n`4k3-ehG@Yhk-OZyji(cb|V zYEFC4Ucpp|W$dv68!%+Rs%!K#D={di0+y9zLUW%)k+R@Bbb2lQ|G=GtIJSj>@6aL* zyD_g$iHgw7?=>`2fxdSh82}U~7 zk&bkv4D{cV^ZV$d|Mpc;ee2`5$0uH~v9Vzn%n85=@oGU6SY{GDK#hR3xuqEnjU9(` zXV1gf*nYCV%H{HK^%umgu>o;it- z7;NJ9;Ft3UGa4bZo&m^*cZQ#ZGnkGlE z{?k@Y!8%-Ft^+S+%)jlz(50pMfg&My;+rsqfOVwiJqYlCD=>(8&X|~GWG?Tza1VU- z`KOZ&n_du$KTsRp-!};PQWk#a_kP9p_8A})S%zMgDTaqe;oSMVJ@(bPHIz$5c;=Ze z!`{8!aPPhMbHVcB518$aFaq3@fhoRcwDrD)4}9SL`uaNvpZe6N;5Dy#2&Sg)z;|gt zZ8XMyE{@IaX6876uC9LQXxjtj)uJx`iU}s!oVyHrBnB2F+RnAa{)3H{#&d;%DQLCV z+dTjW_8-oW_bChU&b)O^fib08*_qG1`jc8{2AZ+qP{@Y`@d{(ZBG{=kuGr_Bv}X?dx0%kB3bLnGHxz z@U0nlAygy;Jz<#^r33Pi?FmtVHQNLpK z2Ayzw^*?Tr+zZYVeHu|Sj03=#WN75f+8^GR;}AZ z+u*Qt%Y{cwOx9ilWrCWM&Sf6INHjn#%h#?P&UB$zwdN6CY>Rj?zbj-V^IxJ3*P7&m&?~h9n!nf^5 z3P-GVN$&EQOJoSM;XCjPDiP6^Y>-TV@tN=fyCz(OVC)7EzJF%I_bI|+vB=P0hO`;` zvP0n}hiuoX#AGMN_HDr--V)coCbw4T7L)D{k7NVwuskFE13mWfmKMYBeDu?A$;kP8 zSm7e9``u=*NmIA>#ztK4>s|rK#mdd!7oMjA{yz7U8%SttA5yNTnwv5?#QcljWU8;+ z5t2V!*VtVmuCZr?90mR6LJEO_p8Rw&v#P=K9gUx}iB#NC$Zuoh<>4Z@qk~_Y7ZiAZ z59E%btye2Ai>L0jc@*YH#vQXooTwU@!**({6<5f%=4OpwV59eSh?Bc`K|L$ry?z*ZuIW>F=F98MBlLk zC%7OR+$;cpZ1AoVf!2TFLHfElTO{{!F7Wh@=6TWgSnktY#pwc(_J~QglGbMYhr8*s=a53z!XJC zF$%gg7DwAAV7Ivc{;PYg!w5{!w|^x*k4yeCL+iU5@cJXF&t8V_lQcd>En9WjQ2{aZbc!c*Sz>FQbY z*XTW5)*G~eFmvG5!MNSq1&SQcS&xILMJcCWlo4C?4O%15;U_QnS?P`uVvp=1Q-}eu zFCcqD2e&aH#P3vXY;YYx)6nhL*T75I0ZEPU?sMuyWKoXZ~NHl5=z#M0;Q zEE`GaF|Tg&w6HU~3S1lMsqHs-r?1ywLXiLaO1Gs7BwYzC$EN+4T71U`W81We!IOME zxT8pk-_8pP5`0(%IA$5AS9UPBsLiV|T8Gh%^nlFN#Al&~McZ@3N=z)=GQN7&){xfg zEkC4Z_Zl#`!kLX?e!z=crhW_!E>?BTkcD)@^-!=%Tlz?(Tqs4@k4c&&N&@ZCW65GV zG{h`f;S#TKsN>&VD~PJ?M|YTCbfrTAnrz_n{0^LqqSt06|%0W$)Cbchkd$YSj&bWo^DRaP|qn*dfl@efbjU zm)W5K;lP0U4P|#`rdZO+xRue%6m5F(>|u~ zAAPt8a80aNWuu1cFR?YXO}SUTwz&wcy{`TIGT;WjdJNCU9iq*vrv%>5Hxk67hxCW} zY=*37{=Rr5TM`cmFkLn=W;j@(vaxQsf(DF?)sw`Tq^T%+qOc4-#rG&Lzjd8LJXn;g zC`; zNt8}BGTM?44^6i=Jai;WLXJ$mUhcm&dGFS|Bad&4_^0FVR$2+tCor3MJhyYN@N9p6 z@Pa1dvL{0QmCeh2PY=qh3hyE6PP@&}kn!g0GwD7!i6hnKrRvHb2O!Kd?D$y^;Q z;K21^1Bw%b9dZv*IbF;)P<9p`;plX_uoeRGLQ>HffpIi0Sy zb_O6pwPGKMK1q6hpKuwp_QOj6;9o5w9l-gYWbGejpj51tT|zQp1|0e(JD^P5Vy_cg#a+rhiS)Gv5|3W zv(*Mx+c8y<5u~dJcDMLhb+O7={{r>GcU2qui=^C}LPdAqrzk?I%PJ97MLPzumv{Y$ zJjinOBtYqX%!||xf5)sm?s~o=NC}LDMvDMEu9P3@xgR9Hl#v8PWI3sh0$eY3TiV0iD)ytAisIb{0QWqtWoK=8Ez)WJonH5S6*YIJ*nhtGKI+6O%K zsjN_eXQOnL2!(y;g-s&jb0?4`5kTT=f17IdAk}KO#{lR&Bl@}1bxpO%s!(4d;j48r zS9aP!ywAf4AmReFvUe&pv;*wjKL0INt;jB4PmOE;tuLH(hF%?OxWznLb;03dgihZs zShm-MK5kn;p1o+gU+^n5p*A)CC#>!{MOaSE+b{>Pimo~zu^_>KKdU`aQ|Ix-UVlGO zs^HbAJ~eAvKwH|+{=d?02ySAZz}@PsXSCqa(}V{Zx%H_xWEQxWFm*7i2QD9 z!U1H(mR9$zxnT#}ojyA}q7xdl)ngt9CRQE^2D)Q@^+F*%c16&F{%!vfHeT%-MGdH? zY65vcc`QQD2>%@RMLzAIZwPuAxtOnTrK8dG<8$bwBQ_Of!cWV)0;qFnGOD%lBBrOqvIY9Ke0 zEa{>(KT@p&7EiJQ)NZQ=`!7C(3-1Sy?Vpt`q#f4@m0ep~=(l%wy_y@>Xyi$nGuh9d zfqQ*bc_^o1mP>ERbv?9|IiCZAAe&WkF$N8ig*rQ1G=e5v%D8Yjm{{)2AAykt6)pzxk23&(m?3)!Y3hQB2lrL0z>4WT_z5 zXQ|ObB)i25cpTsynclxUuXEAFP*ts1kOx3=-fTmEZ4{R0HlhUHdpO&*cX8MM@Y*BhwN6s{aIDqVID~C)OZvP3!IyrqId*5mi zK6o{J*a9Fj?k0rSI*Cc>%w)0^?)zs+;GOrn8EUG8wt{?T2z9hld}A90X~6v$K~bU zti>Z;AWYVD8OWIGVARdyf9@sXj!6Y?;3B?G`#LJwKtDilE)EQtrlt?@IkI5)$DRQM z2iT$zr~0vQrI@ie8K$5NM3vyuQAR zDZ64DeVtYqO$*C*H!{ZJH!R)|HsITMZzQ2%yn)N@5k}Lgv1v|=JA8#!Gvt$SW*Pz| z60D?Z9Zw7imD)pV>7T;DsNH5mba(q$L3fgCcr*D)ZD;1`GLHybZ)Q%B-MhK2pLXDf^&^f=PGUV)RFo5VRl)keTUwm{yhpXEAB0d}kKlKM zx1=+RUAl_U784}oM#0fXiG#emzx=2+PSEv)SF>K&B0SsY=DzRBwUi9 z*Ffn09Ig9aKX~h{A`_cCb|`@x7IfDN48$0bwB0Ozza)4~XQRm$?kW%=IN(I?I@yJm zn=tUVl_3v2ToKoxuWganlt2(C2Vf`NJb9kmJDZ&wl+;~YHfy*xC>|%nsc8lOBg_S( zJis7#*}=`stD`)D>!$b9pWxXjjP2GY_RnwhPp<)`r3n$X8PrF;ffX_RX?GC^i!4F< znJH=hPyP5!&Q{2>L;{}%qlg1l*L={x&9$D#M{Fb9+J(|(wneeNg%o((H-Hn0P%8S- zmW5L<_5xuaKuU?i2zd*YKr<+RUQpgp0%{V2UEjE@fzZzw%g^*`H*yGbatIaqB_vyi z;35R!&=NJ`ag>Sm$Axq!ZY-`k8K@4bAzNu-S5=fLNHD6sz{7Yq^OG$-)S;ghD9;Pk zU@(Lg+Pr>Hr=j83tYlCR!3pjCYt)q&mkcZ<{qb-7If7v^qi~EloJ0F?+pDM1J(t(Y z_k9Vy55IuRlFbin89BL`Nv(GG(0jt}x*@NXRqn0JoVYKL%){Y9DdKus47ed;I=UR^ zBzFUaxFzp9g7^}wHS+|tjg4nP?H=s%=lH%PD1Tnus}ZWQ@U9jTwH<$iynKS%n>SA} zm@em~Lbfcc7cGO+ihzfXJnRfzmm*+5%k7E!LT0IS#PQ?n;gB#rJpRJpfGg6(6_p>(u~VFNX&+IaF%zOslI&^=3>EFnFD{^}7ET-T|yT7rn*Q^}J%^NRJcP!pQm zFE8-ho%&YRg64I@ZK|d_39@w781oVinl5Q~@El<0{cd)hy6L+7D64C$klt+Ly8M5c z2|8*lb%A-VDMQSZl~!l2p=4Rv{Ainq4I~WvtH)8}3GSPa=|4q81C;ckGFinb?JH=D z2T^xlMJ4lYs34Gr>ypPTX@IWN?UdO*|XpW=o&X`z;jDjN#!;zFr zPA8v2v)=4z&9x{k;jR3gfX>h+T;Pu(I1Ifjz`p%&!u zE9KtQ+2sK?;QGO`UL*5wg-Ru$l0i#{4xr7Lpi<~K?W^a;>h%|V(EfD3;#rJmGR%jn zW}amoq%#!cEMy6bT3Lc$DF2;PqE4Fh%~N1kc;+{b3qBTq0Ela)<;PkFiigWZpkeTY zpoKII@6{eD7Q6%yuK>+LJW3G6!tUVzyeY+WDd!-KRM+U#v%$AMwa5zZ)h@!s#w(1> zS~JqR%0o75lnPs_htr_oWjCO1Q(umVK&NrhT+j~7KzAWPQJhB%*SBN z=Xm#+Jqn<2s+yV%=NuW@rx_tjL5e#&g|)^FST5!*Ao>>xl^}nhO_?4QkU&H-!jv8G zL1=rX_%?RPflOVst`^j*Zd7%jn%6EO?zGUZ_9^{09=I`fM`-c{Z&sX8+p^mrLiqFC z@^Xyv?{|N>c*!7T@g4)mQ4F{mcw6LU=SdLh2o+P$%l-o&yw%wm6Avo_m?I@wH+lNd zBv6s&Ca^%@F11>)dHFjNlV?$DsV?-M_t6F6v~RN<^uG1c@iF`J(Uhcam6~vAvtGE< z>cR|46EjP1#b-ahiY?t>3SrCr zOdaWr0NvEg7IvM#IE-S`2lG+|iocah|I<(<_OTKFy8V4n_m}7EZWgby8sK&4+Wy`n zsb<;BuL<)J#l{bb?CQ<`+Z3cBT`-DXFdA`SZP5>2R}T+*8M(=xxjp3g5o74=@=hDe zdv{jwE)im0+xz2s&=bw-tbhWY7t+G8pf23a&f=N@?ib@);Iu6_lj>8?a$ zK>ZZcMHtL125s!1ln8-u0y2#L05zLNhjKp5SSn%+Rira@-6mzsp__#Ct{yC;hu*z7 z5r5e#nMCcZ-Aq5s2py0OqQa`oEJlO!n|)t@Ah|Az??!8-1oRMMS>@so#ft3vL0${R3LJ;3m4G)5D)H(EGSn=A=dShkYAC1lo=1;#!!9qb%LE(CC)FNU!f0PHa;AZoW;eMSteTRQ-O0U-v ziHoD9`~CA$W}e1W9`*7g+L{xLy5%b2E(;3_=nOUmE zAOV|k(EEly9tlAp7}RvMRtx7`Ul;QVV+@3smxLQ1{0%11>~bUZ&}R@o7_T9N9dJZ0 zE66pFz~0!D(Zgcc&kd85?)*e50ijJdRhlgN7$9&7iAO@@CshFDfHZrzujO1JKgQRt zLFdDzI;O*rq)Kg34;~9w{@>;6e;N^`B&2T~0vWkVAa)Bzf5{c@FnWXA?S6bYdz1_p!Pph8!L z>3n+U9Fp8m0}mArn7L*wY{-uJ$aoytwcBEHgDRaeD8D0zp!g+Y!m0Wd6tTX&SifdR z%GDY~)`ef*+x!p_4=%Gq)y|YUVr!#Lr`*7SCgJokc$eflkM9Y&M)8V>Nm>7E^NXxq zmJBPJlzFra7egK4o#>qq3t@GI8_a7BkV*$#kdl`+y>|$O^;p|%f;q72mndK$+e16S zOxvW7{z)tFe%e3b_qZW1F(H<@L~rlM9)p2L1AN0(QwYnjQ%xpE4yEBRy@I&MdTbnx zyk53@M_6|Q3wQg%=YbmKEET$pBLBE||JO`?;uh!SK5jdG?q)pi2Wys}Y|4~XL=2H| zX#kvr7!?tFWG0OWmx^bXo!TBA+j}Lf*x*}*C5g>euNPFmb}q zH3aBDKU#=ErZgY-Dine=6La$jazzAk!h~;9n6>Vj8B}X0FT%D^*5tp%W1-&mU^-@MYe3kwR z1y?=j(K8M@{1BVM?wT{dxl$;KCdcXkyCf3ALb4AAFcEY0{@D3OR;D8T^Q|21xH2o? zA0y2FYKn0hga3Z%FpuCrsPOe$a))p{(TU%Vf=W)Ob zdHn9D1NDoeA}?)_VXm=(fsE#*en`xHkl~o=Y9rlxh)kO|x}>^7--w*q@1SK~NNJ8W zxsNmN?Q?0{5^U3VWG-85w=o1q>J~0XPzi)O>>B3Pw^bHd%n?740?uVXU4v!CD?Hbz zm^vI{8s;&v?p3&WIdjcDp(eZeyU13A!0gNn6!BTBzOE`Gm+tLxWloO5A7jwQI%IjP z#+e(Ln>4m&iqx0bL(m`0nv1$eE$Q8?~?OQkN~6@rx~M<3%^CpiN*^TGuL~)37_ch4!eCjTxP)mcbB?yG#|4D3pJ%YCxxj|{D5!~RpzqVMaBP1RLxrB|o%OK*X#MxTa4 zojIFFPmqMQidAEsQ+7ZODZDh<={^m$d!Q)53cGIRleH9E6b-}GrPkLFvyJDE6`mXP z;fk9upNpR^a*VStENS8|5xklB-#Do`eW+s4g}Z=IvGB%9@1c<~RYo9MRN;^>iVXO4 zYD4HUm_$@hy~4DRh7vg6nZpdnzf+FOxJ)`mv$ZekRG!Sw)H}96SZ}mHv_AYCMeXjB zJ@nd+8)&19;%{?=Y%tsE5n;JSA@9TG@E%$;03ufZc` zJY305+UVkr3!h2nq&Rpgfca_-s2^ zoLcA(89NNNtVdx=HF(LDev?An5LL8Tr=+FC`2lwjHFX@&MIC@jZ0EWSEX%y;CZ%Xr^M)l{Adf z2a!5y9Y(0EjWQ9EWpgq08ElchBYlK}j09ln+A+y2W&extND&jkT9b(yDt_;O2-)tX+ z9C!O$M@DpRm>e0^a( z@bSGCtsk={5ACxijaVH9OBqFH1gR&xXoN>{Q66gENIH0UZ}~vTVZQ!eF-^nvge&umM4|69 zgK((jPvH2tkCf4k=z>hnIE!9o*Fy79%cE%6$hJP$Pm-dNQ1#S|3?*SVb9)VhU!QRo z4{LDKiV2;$$VFEvL=9*ghd=wb_YFwJ!kotPUAS{G8wg1+nCIHymT(Y>rX z2!VA$mfbCp2uI?o=Weo7Sfr|=dJae$1w*7Wa$G{?lR-yJHJ$AZDyz)nesnF{&zeVb zC9{sZksLF(w=kctsWjBuWcm$ak<{vnks}AWSUP?=q==Q(xWIrv(h~!Wu;gI!EdA}K z(BwyR&;^!LhH+|Y*b+No1{6`Q{vNN#A+joxk_md4eSCx&A16}&<`oym%J!}Q`VsH0 zWDe15^O_|86Xnh-^_7jr0Kufw%-kT$GRA_Er6QZm@sBXV_gg~j^@Sput!I=-cVb?0 z=dm5b{Gt)}6=DUsYm)GXp#$zw!@VaPpl0rL*{Awc-M<{K3H5gg1&$_f2Fr|@CG#UU zSCOfYNMOGL0g2M((>*Kqv0nYU@SKFy-}6RQnf%9KSytLAG+5mp$*RKE<|;%~Hs%2Z zd3rjJWA?1*JUh+0#ZP?jK2En}#^XXeU$F$tE8tJl_IH8@+43YX<$LKD)U+lH+x+!l z>M>z~On0qJ6N~Dvpx+vDHcqL(+sem&E+|=h@qn#hT_A^g*Z~f826UUQaiXNO@71!R zu@Nnkz$ERZv01z1tjLGruaSJB_&IjY*P&GR3+FL~LG?y$wkgG(R+{12(%5-?o37JG z55P2)zzUP7esDEwCE)BtY~(S`%ZpnfPwR>{OAc;d%B-|nn@_3q88@t;=SiykS_lt# zbCp)a-R=KR3s3~US(&Dpucx|W2M)SpMl)F@D)i8yk%DSzzLNFwvr4hb+=OYq*UJOB ziYEA*_BVFicB_)y?r%!1h z=4CP%Rp2K@dW<-f5x(zX{rR~T5YYSelcBr02K(Lk1W`!f%@-6@l&_UF)#^hC&JyA` z)lO6f(N!rUt6z|eJ?!GE<{OZ#iLpcVfD7n^ex?k>Cw}gKJH+gHSm|8cX37IwdLIs{ z&qDSfu*qwu0GNMvV zMoUWT^kigYrqi)UYT?XG#0UFP&`|Bu3FW#(o?K&pTvl!9Wg^lvPaWJH(Q;8!Xd-|fof>$o6w060?F&Hj zr}L$y7OFUn4Jrp|kt?e@PYXxKT6A?`A@$B*0H9|6W+S_Gb*>^5d=y!^7P6HY(}STX6ot>s&vYV z>ji)2FY7JD_J#I>)$+<>U+kBEAnK=N@iOy^fyv9F#A?QVX69U}(MBVqD13DJ>aZaT z|75Ian@-=@u8~xet99B-yG3oKlW2#%5f@AfYQlDGH4iIqpVSyiEfguSoiE+vfUFo+ zK6sI9TQu5qq|IR{XUeBpRlH4W`$f5DoW3de;fwivmnxUCCN6*9Uav7Opb1Er_$>W2 zO4V7%%bPx8T)T|(fA)=Lgg;s&;I(;SS!V5>qc)ax?%Wy`%Fp_Vs<4F%lP^wdQQwcQ zzW82tRHR^w&-+xe)jX(>wguw3iw0^Hy0H3BEn`M}e{DB1W}MS{_^ zCE~E+*nmKB=xR0UiK4`ZDGQ-`>?GFYV|5%g_wbbQKil2H zMkR)fsCYn)IDBpd&eWAf2Q@>Y2TZkIV&OJ?1!y~!FF(a=C)%xnjbim0W{W4EE4A(` zDk^lfwRC+x3@nQ76E9w*ul$H#7yh{<^eH{G%dLRu=sjqd?^|d-;o^hAN3T4p#XCQpuEp|Co3$&# zs7)I!=l3ZGBzlxgS)`q%7VNn~qNZ7YE+~Rh_xY!9B@_qP->6&>%vCe8?hj$Xe9rZln>a&^zBfz0OxO3ZHW6V+Ish`hUrRzXVCM4b}T?f2Gge z>16rj7{3Yw_5~yM^_vt!nizMKu|t7f?_=RI>h=;cN6ltZB632+^gIF)pqgFyXt)}) zlY-4_M`{k%{3+^>GLjVaTH%~1XXy7RsETRe@|d~JlxUB_pLNSAINLt05tZ;pjUNj4 z(iv(@hqK3#rG&=`H=ipXZM@svDwY}c5p@1}um1$8J`tbSm@=35wIq`FTGi{PHJ9OJ z2BL}YCi?VAdwX@Nh3d&W=oX=Rl~ou${Tiq5FH@kMmb9hDnc3LG?fIxgCED;FoR!>YsV$F(WeMyJmI@aEXUQQ(|wBLr@PgB=yf2-pEw*aQ1u8&>ahpXlHwLd#q z^iB(@7?Q`~;zsn_2l%ROc*9k8ROeN0pmME6_xg}ihKa&0=|Td5S`TYQ?t&e-icb?! zcKVJ^l9K3-#q;LFO-(8tF_Sjd6<$@b>RydH4?augKQ{q5;coE%^8!AcI-Ws>o35{N zS$s-XkGg=pYZnh4I^&yY$}^6JBjCsbZ)Ub8V$(YTK2hxi&uA*omUx+jEvvjy*NNx3`z8=5)vKH-HlES!oLjQy9N^dQt6M{7yW2cTB|!>)COyVRDH@z) zz+$ApS=7f~78BcUX@KYlFp2{#rT$2}>FVPdDAFt&eyB9j_a!WUtBGBN4Dn4ta zLsbQbW_n&vt8Ti#ymZ3DK0Z1W<6XIMGMx%+_w_`%WhuRawT+o-)fW4@o+NwflgZEPx{YpY_0qe z*p_b6d0Z+8KYZ>oJdxscM&&ez}*tI2FO9x0!O4 zIK)7P{cC(F(*-m7TA?R{RP*_;i1|m$)^*o#`9Ku#|AMn8+wz+=!b*m>0~DGDAIJN< zw?UgXPGUay2*9_jMO8$D(VzyC;^Y>x{4m`dPliN}MinzBs}%dIee?OejEaqy+U3cW zdxfyvqu{I0kQ2cF7M6XoAW3KCslDjkykol9=R~*jgVFJF3xnH!&)q(QKc!RVaH3tJ zyG;KJ^f}r6Ue?CSoEtHCer9BrU^<5m&p90u1zNinOoqb{Pv#` zyEdTch_)z)y97_hOG?b7h80+=Ke%wl&YaVnow-4N2L(Nk0i`<^TKo&ucdI7H@&;@U z41GSntjPbRsj8x*3sSYrjI>j5sh~}f90FRD{E{&mXL`bw*eQ#dFBx4RMi1{#&)NG= z2{3FB9$~enNk~dctj%iQYw#%3%kHol@O8W@o+!0EBmceWYYe<91@KWIqDOW-4Gr->MD zs#;_Pl0A&EZ^hS*PmILfUFF4w>3*W}eqv|G9rO|;Kz9l&C zyG#?{ESw_Dpn44(^`}x)El$w30YfTdgGM<+juZO7mH$8bJ(AvJ0fEA3MA)eT|HP6M LlNGHH*7N^=fgqmT literal 57264 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 + + + + + + + + + + \ No newline at end of file diff --git a/resources/profiles/Snapmaker/Snapmaker A250 QS+B Kit_cover.png b/resources/profiles/Snapmaker/Snapmaker A250 QS+B Kit_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..4c186581c0256b652627ce853bc55ff0b292e3f1 GIT binary patch literal 217344 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